From 2462128bc922ecebd1eaa18bdcf687620ef39689 Mon Sep 17 00:00:00 2001 From: James McKinney <26463+jpmckinney@users.noreply.github.com> Date: Wed, 6 Nov 2024 15:26:43 -0500 Subject: [PATCH 01/10] fix: Don't run built-in license() function --- data_registry/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data_registry/views.py b/data_registry/views.py index 52a3b97..ca0fe96 100644 --- a/data_registry/views.py +++ b/data_registry/views.py @@ -223,7 +223,7 @@ def detail(request, pk): if license_custom and license_custom.url: dataset["license"] = license_custom.url elif job and job.license: - dataset["license"] = license + dataset["license"] = job.license language_code = get_language_from_request(request, check_path=True) if language_code != "en": From 1f551d8241fead898257dc6bff79e3a0f52add4a Mon Sep 17 00:00:00 2001 From: James McKinney <26463+jpmckinney@users.noreply.github.com> Date: Wed, 6 Nov 2024 15:33:32 -0500 Subject: [PATCH 02/10] chore: Add favicon.ico and robots.txt --- data_registry/static/favicon.ico | Bin 0 -> 15406 bytes data_registry/static/robots.txt | 2 ++ 2 files changed, 2 insertions(+) create mode 100644 data_registry/static/favicon.ico create mode 100644 data_registry/static/robots.txt diff --git a/data_registry/static/favicon.ico b/data_registry/static/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..6151a71b01b04f7677c377cb74b0b2991227b02a GIT binary patch literal 15406 zcmeHOXO|RZ7VbT}KfwL4-}$u1WkUC)p4i>faX?{UNRoq~lCxwHR6tR(ih>|X5CIVc zBuJ7xy5_k4n7hw&tKORG>Z>I&}-@6Gp4DD-oYpM!n%)>@87_GeJ+8=uXx6z*gHPY zDt^8%)!kPm^65tsxpG>nA6$`&pYD}j=a+7YTsSuf28#GAT=gpSrf!z{4^tL1x&zIcb!OnC3uK3}uvj+J?8V#Jpf;m$4 z<#p$I0W$SJ5i-%Z?+wWgAJ(&mM~ zEs*8=`QI8mAoq12y@$P@C8RMoc#z~E3;eEq)>Bgd!GW^$pyK;G61jE;?;n%~d_z5| z{PtEM&IYdE*{!$kYtOsBMxhrsX=euDXvabO6!d50=)dYrzWE&<9`-9u&R%s(1?|+2 z_taLXz2G%u%#mH^-QL^iAe^~A?M?XBCsGI9YdHFjMEAcT(S5H=!;!s0I}pBkUaG#j zVe5fMkNV0R*!8L}Z>YXEZ{H;C3+GCD@&w6@9x0g-!zBaV&Wsu<>51c^Uo)lkl^3M` z!y{7t`Bm8S0DUY67x1tG_9t@vV`vU?$Bx&2UPVFys z*4dYG;PM^9{^1U2eqRzR7K6?%tZn<7Y&Osib(m-HO|&!Z3+G4!d|z*E1nI8*7_h-> z`r3Rt{e7t4JG8OMXJ$yl@pq+?cE23@vEPwvXC(o@RundAbsrv^toYzLacG}AOMP?c zSfg92{&`(mwr*6p@}o)b(f`wiV{Q5$w+}D)1~|~p$JVWu>U)=iWr2GR|511LsHC2p zQV?I5b?F1s&jdG#g5 z*ZJ1P*Bt0bESRftMEKSPjYX)N;X9YqhsBpKfuDr0g^%@qPd+hztA6ll01vv=e$Yo! zj~rRH;gjyf!gj1l9jmqBiZ7QzP)Qq!hL?I$N}Tj{cmxJ&W8WNOpVVfjUH7)poi0Px{G!*cP?N9{$rd zG5*Yq9g`0q`^Q`(HEl9v>zEZMy1#Yv0C7PLV#4H{nUFuk^x1qpWE|WGe_i>#NB+15 z>~77cXC(RbbW8tSazlPtHf)uIKf7T0RpMX{`}^wqSES{&4TU_k*Gf+suW^FLDg`va z_Cj{sV9!)`J@BcM)E~zD%=gG=#y&h4m(XXlY}qL3u}}EhALKX*?q*}yVXa;o?lrgKQ4aI z_h=5x*az~;z2Ut)xplu!+X?%@SSBz}HavhFQqD-D=7k;^a$vY+o3OmU4Sd-0)YQq! z*9yv=4X4}$MS>BkArY9FoMp2oq;{4U8A20+V?_SAd8T%M%ZKOgReXW!L<26 zf0dd#39z?G6=Ts7cDn!vyid7iKAl*(MC$-tGmrm-We(z_x$R*1kS<9qnyWE7 zUI5$KBjg&;3C8@)ffLIXNqW)*&8KsS3+dCdJWz{aeoPGaC2ql-A8JY3#%JhxV3yt~+%IxL&aAYfwGNp{)qKz;~E?ArAsB+?%Q| zZ>n6;pYfiR{}=bq1+)di3c$~8bKTzt-FLt9JG>663;e&_XPpEk+R#)S|8sSc-=Vxc zwEp!6O-5Hso%;h;f3M-f`5%a*cvv>xy4K&WcYas=2Cfyz(P+D?Kfk8=RQTpOjf+@! z4&OK@;oF~RoL`AtNAooL5kpUZ^Rk@v;QN>xD9-mUYmQqBAIMz3aqli^eq)O??|4O; zx8vCLsx-d6Lt`h#4Ux;Il|~aQ_c{hC2fv_q$TRS+^4r_WQ{uzCFt%=$*6>nKJt^ra z6E)UmJwp$~59vu0wbsTyNqo&RY1#g=G`zoGY7o0J|J2+eAb#%`StH(*6XX@)+ZUxC zF-0?S=GdyG8VfQ%W2~dGSV5h@$`NvdA45#usWDq>`V>h#yAXAi4H8AolrgyGe@3o? z_}7>FhUbuP)F^%q$Q$0FUNJYP zjjcgHp1!dxo*Vtv9QBs&VI20+-Rm`cDmdG@JZrp!&)Nn1D%oMIV{~e+t@U5hZ@*ix zhT#opAir2Mj=sAadG_`t-nrx`GkTP?y|fl~^<-gf*6`YU2LANx)E~|OkdJ|UGWD^ z^7-bSuSjYJbk^8+gRA>YzO&|qo?l|oJZXA;i_~5?p>Z1L3Am4XutxC3b**EvH_4i9 z27XKZhkHHuwXG|xU9h&ux<$!8k;)GG4bU0RBRDe}etKuiOlG8oJLf*wC)GI!Ki|W9 zq~qQd?Cl|mty!+V*E?_G?1v3AJG>L}H%I-C*4Kk#B>E~Gm5?3AWIB^jLUw3R>5H4- z`@@_sG5rg!<&{hR=6%q?UQhHe=3G#BC4R;9fx4G^aw>WtyCqDYM*RKOx9@Rn*5}mT z+w&_9Pt5*;_p~MK6}M8qE}qJpKk>!g&;vM>DcWY*N7k-2=JVTQ8y;h%=AD}*aszeN zqWGiN1wOJ)#=dnRUox<7;5}^$Ysbu4dgUi+pTE1MbwJkTGVICFR~Y`d&!9`~(8l!^ zpYUxU|M84-D9ziz7uMU|>$tB0i}pFOc%H`aRxdn2W(?mwXU;ls-he$V^)EsECoI%G zW6!UWI{0IqkqD5V3gBOZ+=#tS#vy^VYp#j-p0H*HxmFy$mGOE>yKL|_XT|@4&att7N%=0m*Ig1X#Vhh3x*b8S zpn2D8YMUK=-LlVX@&vtT&ZV)pt9?iC(~%E@XOT1WQ0AZs%+4`?>3~h}g$KRJVh$z- zAI3PoA}GHkPk=vtFa32Ivnm~Cw#17+)}&pgU2EC8Ng}X?w28iU!Ak?-&|s)GeBmhmh<)JaSracQwuUF}vkfzcy-Ch`TIw;YqwBlZGkkHM0iQlh zb6w_(Tr&WF?MpFlMZKqW!&<~O2d&v(%s5%SDe43c>^bF&@M*(2ca@~v&~LeMc3&$@ z_^vS{)pl~`m9tX=kr(>PkBf$C$U-A#aoZQnE-TK>4uvnq9&@Ib{U+KZ!V9CO6Nb-c zJV@J3y=p^^!NNUwZq(4k7=?Sp*nxUkR=*DW!=6(udg0_LZ5wk^v!?Hv{XxKDpE`*= zne({ZKf-10kUom>W^(2XD~Ab+tK9sje$hswN69>*V79`=?*h9A`#^n+zWXNfhnZFm z6C^`!n4|&nM0?2CJ3SutL)fS^d^u<3boK)If-eu;>i`yGTh3OHe%5}~$58f*;q7|H z_iHYnvStq;8zpl{1D|x7!`$Q9+~e7O-|rf{XZ*q$YRa88V@F*o6Mv->y>7d1#n?mr zagaao!=bPDC^yVSk+U!d)tEoX<`<)fG{6>Vu7NpJ&4m#M7PZxV#o2rZ+&RmWMBRb2 zM(mHPUo3`aiD%kphu>&~F0jw8xi|H>962y}l{#}Ro9~J{@;TOtIkQ!^%oL%6@iBEs z|F>bqV$E$-7mYj_*)D~r`?;Z?JV(8V^4^aBgCO6DJL9AN>}%*gApfK-V;v;L`48j( zPEE>n{@DCYzAFpY(^btPFwf!ahE7s+pPz$c~5n+bo}^GGTv9*&3>4(cO7%zefGZd$M1gecmK)#$9T{me}8bG H&m8zS#&z~F literal 0 HcmV?d00001 diff --git a/data_registry/static/robots.txt b/data_registry/static/robots.txt new file mode 100644 index 0000000..eb05362 --- /dev/null +++ b/data_registry/static/robots.txt @@ -0,0 +1,2 @@ +User-agent: * +Disallow: From 353273a28a6e145f82c8805396efddc2340662d4 Mon Sep 17 00:00:00 2001 From: James McKinney <26463+jpmckinney@users.noreply.github.com> Date: Wed, 6 Nov 2024 22:30:27 -0500 Subject: [PATCH 03/10] fix: Enable Ctrl/Cmd/Shift-Click for search results, closes #275 --- data_registry/templates/search.html | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/data_registry/templates/search.html b/data_registry/templates/search.html index ee011fd..c6a8193 100644 --- a/data_registry/templates/search.html +++ b/data_registry/templates/search.html @@ -14,7 +14,9 @@ {% endblock %} @@ -354,7 +360,7 @@

CSV

diff --git a/data_registry/templates/includes/files.html b/data_registry/templates/includes/files.html index dbd2643..8250f29 100644 --- a/data_registry/templates/includes/files.html +++ b/data_registry/templates/includes/files.html @@ -4,13 +4,13 @@
    {% if files.full %}
  • - {% translate "All time" %} + {% translate "All time" %} {{ files.full|humanfilesize }}
  • {% endif %} {% for file in files.by_year|dictsortreversed:"year" %}
  • - {{ file.year }} + {{ file.year }} {{ file.size|humanfilesize }}
  • {% empty %} From 3d8455a83676c9ffd6684dfc4d19614714f988ef Mon Sep 17 00:00:00 2001 From: James McKinney <26463+jpmckinney@users.noreply.github.com> Date: Wed, 6 Nov 2024 22:51:36 -0500 Subject: [PATCH 05/10] chore: Lint JS and update fixture --- data_registry/templates/detail.html | 6 +++--- data_registry/templates/search.html | 2 +- tests/data_registry/test_views.py | 4 +++- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/data_registry/templates/detail.html b/data_registry/templates/detail.html index 51b5e77..911fe43 100644 --- a/data_registry/templates/detail.html +++ b/data_registry/templates/detail.html @@ -60,9 +60,9 @@ }) document.querySelectorAll('a[download]').forEach(trackable => { - trackable.addEventListener('click', event => { - fathom.trackEvent(`download ${trackable.dataset.event}`) - }) + trackable.addEventListener('click', event => { + fathom.trackEvent(`download ${trackable.dataset.event}`) // eslint-disable-line no-undef + }) }) {% endblock %} diff --git a/data_registry/templates/search.html b/data_registry/templates/search.html index c6a8193..17b0fd3 100644 --- a/data_registry/templates/search.html +++ b/data_registry/templates/search.html @@ -16,7 +16,7 @@ div.addEventListener('click', event => { // Stop "See details" from triggering a second event. event.preventDefault() - open(div.querySelector('.click').href, event.ctrlKey || event.metaKey || event.shiftKey ? '_blank' : '_self') + window.open(div.querySelector('.click').href, event.ctrlKey || event.metaKey || event.shiftKey ? '_blank' : '_self') }) }) diff --git a/tests/data_registry/test_views.py b/tests/data_registry/test_views.py index a1b4c68..541d9af 100644 --- a/tests/data_registry/test_views.py +++ b/tests/data_registry/test_views.py @@ -95,7 +95,9 @@ def test_detail(self, get_files): response = Client().get(f"/en/publication/{self.collection1.id}") self.assertTemplateUsed("detail.html") - self.assertContains(response, f"""2022""", html=True) + self.assertContains( + response, f"""2022""", html=True + ) def test_collection_not_found(self): with self.assertNumQueries(1): From 4aa56104b61666e3db167ebf82909a2792bc57f7 Mon Sep 17 00:00:00 2001 From: James McKinney <26463+jpmckinney@users.noreply.github.com> Date: Wed, 6 Nov 2024 23:04:15 -0500 Subject: [PATCH 06/10] chore: Use "-" for unknown update frequency, like for other unknown values --- data_registry/models.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data_registry/models.py b/data_registry/models.py index 823ea06..84e9038 100644 --- a/data_registry/models.py +++ b/data_registry/models.py @@ -158,7 +158,7 @@ class RetrievalFrequency(models.TextChoices): class UpdateFrequency(models.TextChoices): #: Unknown - UNKNOWN = "UNKNOWN", _("Unknown") + UNKNOWN = "UNKNOWN", "-" #: Real time REAL_TIME = "REAL_TIME", _("Real time") #: Hourly From 32d006b137c24acfbc9548443d96b32f9a0a6252 Mon Sep 17 00:00:00 2001 From: James McKinney <26463+jpmckinney@users.noreply.github.com> Date: Wed, 6 Nov 2024 23:05:07 -0500 Subject: [PATCH 07/10] fix: URLize the license from the OCDS data --- data_registry/templates/detail.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data_registry/templates/detail.html b/data_registry/templates/detail.html index 911fe43..6ccc224 100644 --- a/data_registry/templates/detail.html +++ b/data_registry/templates/detail.html @@ -154,7 +154,7 @@

    {% translate "Overview" %}

    {{ collection.license_custom.description|markdownify }} {% else %} - {{ job.license|default:"-" }} + {{ job.license|urlize|default:"-" }} {% endif %}
    {% translate "Main language:" %}
    From ece7f215ff66c7f4422ee429bcf565a1d92b93ee Mon Sep 17 00:00:00 2001 From: James McKinney <26463+jpmckinney@users.noreply.github.com> Date: Wed, 6 Nov 2024 23:11:30 -0500 Subject: [PATCH 08/10] feat: Collect the publication_policy from Kingfisher Process. Fix data_license (Pelican key) to license (Process key). Re-order metadata (put Last retrieved next to Retrieved from, move Main language above OCID prefix). --- data_registry/admin.py | 2 ++ .../migrations/0056_job_publication_policy.py | 17 ++++++++++++++++ data_registry/models.py | 1 + data_registry/process_manager/task/process.py | 15 ++++++++++++-- data_registry/templates/detail.html | 20 ++++++++++--------- 5 files changed, 44 insertions(+), 11 deletions(-) create mode 100644 data_registry/migrations/0056_job_publication_policy.py diff --git a/data_registry/admin.py b/data_registry/admin.py index 154c60c..df2e2ef 100644 --- a/data_registry/admin.py +++ b/data_registry/admin.py @@ -273,6 +273,7 @@ class Media: "date_to", "ocid_prefix", "license", + "publication_policy", ), }, ), @@ -311,6 +312,7 @@ class Media: "date_to", "ocid_prefix", "license", + "publication_policy", # Data availability "parties_count", "plannings_count", diff --git a/data_registry/migrations/0056_job_publication_policy.py b/data_registry/migrations/0056_job_publication_policy.py new file mode 100644 index 0000000..00bb6d3 --- /dev/null +++ b/data_registry/migrations/0056_job_publication_policy.py @@ -0,0 +1,17 @@ +# Generated by Django 4.2.16 on 2024-11-07 04:00 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + dependencies = [ + ("data_registry", "0055_alter_collection_active_job"), + ] + + operations = [ + migrations.AddField( + model_name="job", + name="publication_policy", + field=models.TextField(blank=True), + ), + ] diff --git a/data_registry/models.py b/data_registry/models.py index 84e9038..08ad73c 100644 --- a/data_registry/models.py +++ b/data_registry/models.py @@ -97,6 +97,7 @@ class Status(models.TextChoices): date_to = models.DateField(blank=True, null=True, verbose_name="maximum release date") ocid_prefix = models.TextField(blank=True, verbose_name="OCID prefix") license = models.TextField(blank=True) + publication_policy = models.TextField(blank=True) # Timestamps created = models.DateTimeField(auto_now_add=True) diff --git a/data_registry/process_manager/task/process.py b/data_registry/process_manager/task/process.py index 037e8f4..df96d05 100644 --- a/data_registry/process_manager/task/process.py +++ b/data_registry/process_manager/task/process.py @@ -71,11 +71,22 @@ def get_status(self): if meta: self.job.date_from = parse_date(meta.get("published_from")) self.job.date_to = parse_date(meta.get("published_to")) - self.job.license = meta.get("data_license") or "" + self.job.license = meta.get("license") or "" + self.job.publication_policy = meta.get("publication_policy") or "" self.job.ocid_prefix = meta.get("ocid_prefix") or "" self.job.context["process_id_pelican"] = compiled_collection["id"] - self.job.save(update_fields=["modified", "context", "date_from", "date_to", "license", "ocid_prefix"]) + self.job.save( + update_fields=[ + "modified", + "context", + "date_from", + "date_to", + "license", + "publication_policy", + "ocid_prefix", + ] + ) if original_collection["expected_files_count"] == 0: raise IrrecoverableError("Collection is empty") diff --git a/data_registry/templates/detail.html b/data_registry/templates/detail.html index 6ccc224..faed972 100644 --- a/data_registry/templates/detail.html +++ b/data_registry/templates/detail.html @@ -137,13 +137,8 @@

    {% translate "Overview" %}

    {% translate "Update frequency:" %}
    {{ collection.get_update_frequency_display }}
    -
    {% translate "Last retrieved:" %}
    -
    - {{ collection.last_retrieved|date:"M Y" }} - {% if collection.retrieval_frequency != never %} - ({% blocktranslate with retrieval_frequency=collection.get_retrieval_frequency_display.lower %}retrieved {{ retrieval_frequency }}{% endblocktranslate %}) - {% endif %} -
    +
    {% translate "Main language:" %}
    +
    {{ collection.language }}
    {% translate "OCID prefix:" %}
    {{ job.ocid_prefix|default:"-" }}
    {% translate "License:" %}
    @@ -157,8 +152,15 @@

    {% translate "Overview" %}

    {{ job.license|urlize|default:"-" }} {% endif %} -
    {% translate "Main language:" %}
    -
    {{ collection.language }}
    +
    {% translate "Publication policy:" %}
    +
    {{ job.publication_policy|urlize|default:"-" }}
    +
    {% translate "Last retrieved:" %}
    +
    + {{ collection.last_retrieved|date:"M Y" }} + {% if collection.retrieval_frequency != never %} + ({% blocktranslate with retrieval_frequency=collection.get_retrieval_frequency_display.lower %}retrieved {{ retrieval_frequency }}{% endblocktranslate %}) + {% endif %} +
    {% translate "Retrieved from:" %}
    {{ collection.source_url }}
    From 7ab76f360c643965abc8a1d3be321545e3cb8c37 Mon Sep 17 00:00:00 2001 From: James McKinney <26463+jpmckinney@users.noreply.github.com> Date: Wed, 6 Nov 2024 23:17:18 -0500 Subject: [PATCH 09/10] feat: Allow Collection to override publication policy, #192 --- data_registry/admin.py | 1 + data_registry/forms.py | 1 + data_registry/locale/en/LC_MESSAGES/django.po | 234 +++++++++--------- .../locale/en_US/LC_MESSAGES/django.po | 230 ++++++++--------- data_registry/locale/es/LC_MESSAGES/django.po | 234 +++++++++--------- data_registry/locale/ru/LC_MESSAGES/django.po | 234 +++++++++--------- ..._collection_publication_policy_and_more.py | 37 +++ data_registry/models.py | 1 + data_registry/process_manager/__init__.py | 2 + data_registry/templates/detail.html | 3 +- 10 files changed, 510 insertions(+), 467 deletions(-) create mode 100644 data_registry/migrations/0057_collection_publication_policy_and_more.py diff --git a/data_registry/admin.py b/data_registry/admin.py index df2e2ef..0c2e02c 100644 --- a/data_registry/admin.py +++ b/data_registry/admin.py @@ -169,6 +169,7 @@ class CollectionAdmin(CascadeTaskMixin, TabbedDjangoJqueryTranslationAdmin): "language_ru", "update_frequency", "license_custom", + "publication_policy", "source_url", ), }, diff --git a/data_registry/forms.py b/data_registry/forms.py index 9b8f8c6..5098700 100644 --- a/data_registry/forms.py +++ b/data_registry/forms.py @@ -27,6 +27,7 @@ class Meta: "title": widgets.AdminTextInputWidget(attrs={"style": "width: 60em"}), # default 20em "country": widgets.AdminTextInputWidget(), "language": widgets.AdminTextInputWidget(), + "publication_policy": widgets.AdminTextInputWidget(attrs={"style": "width: 60em"}), "source_url": widgets.AdminTextInputWidget(attrs={"style": "width: 60em"}), "description": MarkdownWidget(attrs={"rows": 1}), "description_long": MarkdownWidget(attrs={"rows": 1}), diff --git a/data_registry/locale/en/LC_MESSAGES/django.po b/data_registry/locale/en/LC_MESSAGES/django.po index 4f535e0..2a2d5e7 100644 --- a/data_registry/locale/en/LC_MESSAGES/django.po +++ b/data_registry/locale/en/LC_MESSAGES/django.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-06 17:09+0000\n" +"POT-Creation-Date: 2024-11-07 04:18+0000\n" "PO-Revision-Date: 2021-08-04 17:44+0000\n" "Last-Translator: Yohanna Lisnichuk , 2023\n" "Language-Team: English (https://app.transifex.com/open-contracting-" @@ -62,7 +62,7 @@ msgid "Basics" msgstr "Basics" #: data_registry/admin.py:163 data_registry/admin.py:269 -#: data_registry/templates/detail.html:122 +#: data_registry/templates/detail.html:128 msgid "Overview" msgstr "Overview" @@ -74,80 +74,76 @@ msgstr "Details" msgid "failed" msgstr "failed" -#: data_registry/admin.py:280 +#: data_registry/admin.py:281 msgid "Data availability" msgstr "Data availability" -#: data_registry/models.py:135 +#: data_registry/models.py:136 msgid "Africa and Middle East" msgstr "Africa and Middle East" -#: data_registry/models.py:137 +#: data_registry/models.py:138 msgid "Asia" msgstr "Asia" -#: data_registry/models.py:139 +#: data_registry/models.py:140 msgid "Eastern Europe & Central Asia" msgstr "Eastern Europe & Central Asia" -#: data_registry/models.py:141 +#: data_registry/models.py:142 msgid "Europe" msgstr "Europe" -#: data_registry/models.py:143 +#: data_registry/models.py:144 msgid "Latin America & Caribbean" msgstr "Latin America & Caribbean" -#: data_registry/models.py:145 +#: data_registry/models.py:146 msgid "North America" msgstr "North America" -#: data_registry/models.py:147 +#: data_registry/models.py:148 msgid "Oceania" msgstr "Oceania" -#: data_registry/models.py:151 data_registry/models.py:171 +#: data_registry/models.py:152 data_registry/models.py:172 msgid "Monthly" msgstr "Monthly" -#: data_registry/models.py:153 data_registry/models.py:175 +#: data_registry/models.py:154 data_registry/models.py:176 msgid "Every 6 months" msgstr "Every 6 months" -#: data_registry/models.py:155 data_registry/models.py:177 +#: data_registry/models.py:156 data_registry/models.py:178 msgid "Annually" msgstr "Annually" -#: data_registry/models.py:157 +#: data_registry/models.py:158 msgid "This dataset is no longer updated by the publisher" msgstr "This dataset is no longer updated by the publisher" -#: data_registry/models.py:161 -msgid "Unknown" -msgstr "Unknown" - -#: data_registry/models.py:163 +#: data_registry/models.py:164 msgid "Real time" msgstr "Real time" -#: data_registry/models.py:165 +#: data_registry/models.py:166 msgid "Hourly" msgstr "Hourly" -#: data_registry/models.py:167 +#: data_registry/models.py:168 msgid "Daily" msgstr "Daily" -#: data_registry/models.py:169 +#: data_registry/models.py:170 msgid "Weekly" msgstr "Weekly" -#: data_registry/models.py:173 +#: data_registry/models.py:174 msgid "Every 3 months" msgstr "Every 3 months" #: data_registry/templates/detail.html:8 data_registry/templates/index.html:21 -#: data_registry/templates/search.html:6 data_registry/views.py:204 +#: data_registry/templates/search.html:6 data_registry/views.py:209 msgid "OCP Data Registry" msgstr "OCP Data Registry" @@ -160,61 +156,65 @@ msgstr "" "Download the OCDS data for %(country)s: %(title)s. Learn about the data " "source's coverage, features and quality issues." -#: data_registry/templates/detail.html:68 +#: data_registry/templates/detail.html:74 msgid "BACK TO DATASETS SEARCH" msgstr "Back to Datasets Search" -#: data_registry/templates/detail.html:96 -#: data_registry/templates/search.html:168 +#: data_registry/templates/detail.html:102 +#: data_registry/templates/search.html:170 msgid "Available formats:" msgstr "Available formats:" -#: data_registry/templates/detail.html:111 +#: data_registry/templates/detail.html:117 msgid "ACCESS" msgstr "Access" -#: data_registry/templates/detail.html:126 -#: data_registry/templates/search.html:148 +#: data_registry/templates/detail.html:132 +#: data_registry/templates/search.html:150 msgid "Data date range:" msgstr "Data date range:" -#: data_registry/templates/detail.html:132 -#: data_registry/templates/search.html:155 +#: data_registry/templates/detail.html:138 +#: data_registry/templates/search.html:157 msgid "Update frequency:" msgstr "Update frequency:" -#: data_registry/templates/detail.html:134 -#: data_registry/templates/search.html:157 -msgid "Last retrieved:" -msgstr "Last retrieved:" - -#: data_registry/templates/detail.html:138 -#: data_registry/templates/search.html:161 -#, python-format -msgid "retrieved %(retrieval_frequency)s" -msgstr "retrieved %(retrieval_frequency)s" +#: data_registry/templates/detail.html:140 +msgid "Main language:" +msgstr "Main language:" -#: data_registry/templates/detail.html:141 +#: data_registry/templates/detail.html:142 msgid "OCID prefix:" msgstr "OCID prefix:" -#: data_registry/templates/detail.html:143 +#: data_registry/templates/detail.html:144 msgid "License:" msgstr "License:" -#: data_registry/templates/detail.html:154 -msgid "Main language:" -msgstr "Main language:" +#: data_registry/templates/detail.html:155 +msgid "Publication policy:" +msgstr "Publication policy:" + +#: data_registry/templates/detail.html:163 +#: data_registry/templates/search.html:159 +msgid "Last retrieved:" +msgstr "Last retrieved:" -#: data_registry/templates/detail.html:156 +#: data_registry/templates/detail.html:167 +#: data_registry/templates/search.html:163 +#, python-format +msgid "retrieved %(retrieval_frequency)s" +msgstr "retrieved %(retrieval_frequency)s" + +#: data_registry/templates/detail.html:170 msgid "Retrieved from:" msgstr "Retrieved from:" -#: data_registry/templates/detail.html:163 +#: data_registry/templates/detail.html:177 msgid "Data available" msgstr "Data available" -#: data_registry/templates/detail.html:167 +#: data_registry/templates/detail.html:181 msgid "" "An individual contracting process has several different stages: tendering, " "awarding, contracting and implementation. You can dive into the details of " @@ -226,119 +226,119 @@ msgstr "" "href=\"https://standard.open-contracting.org/latest/en/primer/how/\" " "target=\"_blank\">this tutorial." -#: data_registry/templates/detail.html:174 +#: data_registry/templates/detail.html:188 msgid "Parties" msgstr "Parties" -#: data_registry/templates/detail.html:176 +#: data_registry/templates/detail.html:190 msgid "Count of parties:" msgstr "Count of parties:" -#: data_registry/templates/detail.html:181 +#: data_registry/templates/detail.html:195 msgid "Plannings" msgstr "Planning" -#: data_registry/templates/detail.html:183 +#: data_registry/templates/detail.html:197 msgid "Count of planning activities:" msgstr "Count of planning activities:" -#: data_registry/templates/detail.html:188 +#: data_registry/templates/detail.html:202 msgid "Tenders" msgstr "Tenders" -#: data_registry/templates/detail.html:190 +#: data_registry/templates/detail.html:204 msgid "Count of tenders:" msgstr "Count of tenders:" -#: data_registry/templates/detail.html:192 +#: data_registry/templates/detail.html:206 msgid "Count of tenderers:" msgstr "Count of tenderers:" -#: data_registry/templates/detail.html:194 +#: data_registry/templates/detail.html:208 msgid "Count of tender items:" msgstr "Count of tender items:" -#: data_registry/templates/detail.html:199 +#: data_registry/templates/detail.html:213 msgid "Awards" msgstr "Awards" -#: data_registry/templates/detail.html:201 +#: data_registry/templates/detail.html:215 msgid "Count of awards:" msgstr "Count of awards:" -#: data_registry/templates/detail.html:203 +#: data_registry/templates/detail.html:217 msgid "Count of award suppliers:" msgstr "Count of suppliers:" -#: data_registry/templates/detail.html:205 +#: data_registry/templates/detail.html:219 msgid "Count of award items:" msgstr "Count of award items:" -#: data_registry/templates/detail.html:210 +#: data_registry/templates/detail.html:224 msgid "Contracts" msgstr "Contracts" -#: data_registry/templates/detail.html:212 +#: data_registry/templates/detail.html:226 msgid "Count of contracts:" msgstr "Count of contracts:" -#: data_registry/templates/detail.html:214 +#: data_registry/templates/detail.html:228 msgid "Count of contract items:" msgstr "Count of contract items:" -#: data_registry/templates/detail.html:216 +#: data_registry/templates/detail.html:230 msgid "Count of contract transactions:" msgstr "Count of transactions:" -#: data_registry/templates/detail.html:221 +#: data_registry/templates/detail.html:235 msgid "Documents" msgstr "Documents" -#: data_registry/templates/detail.html:223 +#: data_registry/templates/detail.html:237 msgid "Count of documents:" msgstr "Count of documents:" -#: data_registry/templates/detail.html:228 +#: data_registry/templates/detail.html:242 msgid "Milestones" msgstr "Milestones" -#: data_registry/templates/detail.html:230 +#: data_registry/templates/detail.html:244 msgid "Count of milestones:" msgstr "Count of milestones:" -#: data_registry/templates/detail.html:235 +#: data_registry/templates/detail.html:249 msgid "Amendments" msgstr "Amendments" -#: data_registry/templates/detail.html:237 +#: data_registry/templates/detail.html:251 msgid "Count of amendments:" msgstr "Count of amendments:" -#: data_registry/templates/detail.html:244 +#: data_registry/templates/detail.html:258 msgid "This dataset has not yet been retrieved." msgstr "This dataset has not yet been retrieved." -#: data_registry/templates/detail.html:264 +#: data_registry/templates/detail.html:278 msgid "Data quality" msgstr "Data quality" -#: data_registry/templates/detail.html:267 +#: data_registry/templates/detail.html:281 msgid "Summary" msgstr "Summary" -#: data_registry/templates/detail.html:279 +#: data_registry/templates/detail.html:293 msgid "We have not yet prepared a data quality summary for this dataset." msgstr "We have not yet prepared a data quality summary for this dataset." -#: data_registry/templates/detail.html:285 +#: data_registry/templates/detail.html:299 msgid "Last reviewed:" msgstr "Last reviewed:" -#: data_registry/templates/detail.html:294 +#: data_registry/templates/detail.html:308 msgid "Access data" msgstr "Access data" -#: data_registry/templates/detail.html:296 +#: data_registry/templates/detail.html:310 msgid "" "This OCDS dataset is available for download in JSON, Excel or CSV format. " "You can download the data for contracting processes in a specific year or " @@ -348,7 +348,7 @@ msgstr "" "You can download the data for contracting processes in a specific year or " "for all time." -#: data_registry/templates/detail.html:301 +#: data_registry/templates/detail.html:315 msgid "" "Each contracting process is represented as one line of JSON text in the " ".jsonl file." @@ -356,7 +356,7 @@ msgstr "" "Each contracting process is represented as one line of JSON text in the " ".jsonl file." -#: data_registry/templates/detail.html:306 +#: data_registry/templates/detail.html:320 msgid "" "The .jsonl file is compressed using Gzip. Windows users need 7-Zip, WinZip to decompress " "the .gz file." -#: data_registry/templates/detail.html:315 +#: data_registry/templates/detail.html:329 msgid "" "Each contracting process is represented as one row in the main " "sheet. Other sheets link to it via the _link_main column." @@ -378,7 +378,7 @@ msgstr "" "Each contracting process is represented as one row in the main " "sheet. Other sheets link to it via the _link_main column." -#: data_registry/templates/detail.html:320 +#: data_registry/templates/detail.html:334 msgid "" "Excel files can have at most . If a year is missing, it had too many rows. Download the CSV " "files, instead." -#: data_registry/templates/detail.html:329 +#: data_registry/templates/detail.html:343 msgid "" "Each contracting process is represented as one row in the main.csv file. Other files link to it via the _link_main column." @@ -400,7 +400,7 @@ msgstr "" "Each contracting process is represented as one row in the main.csv file. Other files link to it via the _link_main column." -#: data_registry/templates/detail.html:334 +#: data_registry/templates/detail.html:348 msgid "" "The .csv files are archived using tar and compressed using " "Gzip. Windows users need WinRAR or WinZip to decompress the .tar.gz file." -#: data_registry/templates/detail.html:353 +#: data_registry/templates/detail.html:367 msgid "Have questions, feedback on this dataset or content on this page?" msgstr "" "Do you have any questions or feedback on this dataset or any other content " "on this page?" -#: data_registry/templates/detail.html:358 +#: data_registry/templates/detail.html:372 msgid "Contact Data Support Team" msgstr "Contact Data Support Team" @@ -478,7 +478,7 @@ msgstr "" #: data_registry/templates/includes/footer.html:129 #: data_registry/templates/includes/header.html:11 -#: data_registry/templates/index.html:6 data_registry/views.py:194 +#: data_registry/templates/index.html:6 data_registry/views.py:199 msgid "Open Contracting Partnership" msgstr "Open Contracting Partnership" @@ -495,7 +495,7 @@ msgid "Data Registry" msgstr "Data Registry" #: data_registry/templates/index.html:7 data_registry/templates/index.html:22 -#: data_registry/views.py:205 +#: data_registry/views.py:210 msgid "Search for and access datasets by country" msgstr "Search for and access datasets of public contracts" @@ -569,62 +569,62 @@ msgstr "Search for and download OCDS data" msgid "Find and filter OCDS datasets to download as JSON, Excel or CSV." msgstr "Find and filter OCDS datasets to download as JSON, Excel or CSV." -#: data_registry/templates/search.html:61 +#: data_registry/templates/search.html:63 msgid "BACK TO REGISTRY HOME" msgstr "Back to Registry Home" -#: data_registry/templates/search.html:69 +#: data_registry/templates/search.html:71 msgid "Filters" msgstr "Filters" -#: data_registry/templates/search.html:87 +#: data_registry/templates/search.html:89 msgid "Clear all filters" msgstr "Clear all filters" -#: data_registry/templates/search.html:90 +#: data_registry/templates/search.html:92 msgid "Country starting with" msgstr "Country starts with" -#: data_registry/templates/search.html:95 +#: data_registry/templates/search.html:97 #, python-format msgid "1 dataset" msgid_plural "%(counter)s datasets" msgstr[0] "1 dataset" msgstr[1] "%(counter)s datasets" -#: data_registry/templates/search.html:107 +#: data_registry/templates/search.html:109 msgid "Region" msgstr "Region" -#: data_registry/templates/search.html:108 +#: data_registry/templates/search.html:110 msgid "Data date range" msgstr "Data date range" -#: data_registry/templates/search.html:109 +#: data_registry/templates/search.html:111 msgid "Update frequency" msgstr "Update frequency" -#: data_registry/templates/search.html:110 +#: data_registry/templates/search.html:112 msgid "Data contains" msgstr "Data contains" -#: data_registry/templates/search.html:117 +#: data_registry/templates/search.html:119 #, python-format msgid "%(counter)s dataset matches the selected filters" msgid_plural "%(counter)s datasets match the selected filters" msgstr[0] "%(counter)s dataset matches the selected filters" msgstr[1] "%(counter)s datasets match the selected filters" -#: data_registry/templates/search.html:123 +#: data_registry/templates/search.html:125 #, python-format msgid "Showing all %(counter)s datasets" msgstr "Showing all %(counter)s datasets" -#: data_registry/templates/search.html:181 +#: data_registry/templates/search.html:183 msgid "See details" msgstr "See details" -#: data_registry/templates/search.html:194 +#: data_registry/templates/search.html:196 msgid "Back to Top" msgstr "Back to Top" @@ -633,63 +633,63 @@ msgstr "Back to Top" msgid "[data-registry] Re: %(collection)s" msgstr "[data-registry] Re: %(collection)s" -#: data_registry/views.py:69 data_registry/views.py:318 +#: data_registry/views.py:75 data_registry/views.py:325 msgid "All" msgstr "All" -#: data_registry/views.py:70 +#: data_registry/views.py:76 msgid "Past month" msgstr "Past month" -#: data_registry/views.py:71 +#: data_registry/views.py:77 msgid "Past 6 months" msgstr "Past 6 months" -#: data_registry/views.py:72 +#: data_registry/views.py:78 msgid "Past year" msgstr "Past year" -#: data_registry/views.py:73 +#: data_registry/views.py:79 msgid "Past 5 years" msgstr "Past 5 years" -#: data_registry/views.py:83 +#: data_registry/views.py:89 msgid "Parties data" msgstr "Parties data" -#: data_registry/views.py:84 +#: data_registry/views.py:90 msgid "Plannings data" msgstr "Planning data" -#: data_registry/views.py:85 +#: data_registry/views.py:91 msgid "Tenders data" msgstr "Tender data" -#: data_registry/views.py:86 +#: data_registry/views.py:92 msgid "Awards data" msgstr "Awards data" -#: data_registry/views.py:87 +#: data_registry/views.py:93 msgid "Contracts data" msgstr "Contracts data" -#: data_registry/views.py:88 +#: data_registry/views.py:94 msgid "Documents data" msgstr "Documents data" -#: data_registry/views.py:89 +#: data_registry/views.py:95 msgid "Milestones data" msgstr "Milestones data" -#: data_registry/views.py:90 +#: data_registry/views.py:96 msgid "Amendments data" msgstr "Amendments data" -#: data_registry/views.py:179 +#: data_registry/views.py:184 #, python-format msgid "OCDS data for %(country)s: %(title)s" msgstr "OCDS data for %(country)s: %(title)s" -#: data_registry/views.py:358 +#: data_registry/views.py:365 msgid "OCP Kingfisher Database" msgstr "OCP Kingfisher Database" diff --git a/data_registry/locale/en_US/LC_MESSAGES/django.po b/data_registry/locale/en_US/LC_MESSAGES/django.po index 9fe13b0..7f78ec7 100644 --- a/data_registry/locale/en_US/LC_MESSAGES/django.po +++ b/data_registry/locale/en_US/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-06 17:09+0000\n" +"POT-Creation-Date: 2024-11-07 04:18+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -53,7 +53,7 @@ msgid "Basics" msgstr "" #: data_registry/admin.py:163 data_registry/admin.py:269 -#: data_registry/templates/detail.html:122 +#: data_registry/templates/detail.html:128 msgid "Overview" msgstr "" @@ -65,80 +65,76 @@ msgstr "" msgid "failed" msgstr "" -#: data_registry/admin.py:280 +#: data_registry/admin.py:281 msgid "Data availability" msgstr "" -#: data_registry/models.py:135 +#: data_registry/models.py:136 msgid "Africa and Middle East" msgstr "" -#: data_registry/models.py:137 +#: data_registry/models.py:138 msgid "Asia" msgstr "" -#: data_registry/models.py:139 +#: data_registry/models.py:140 msgid "Eastern Europe & Central Asia" msgstr "" -#: data_registry/models.py:141 +#: data_registry/models.py:142 msgid "Europe" msgstr "" -#: data_registry/models.py:143 +#: data_registry/models.py:144 msgid "Latin America & Caribbean" msgstr "" -#: data_registry/models.py:145 +#: data_registry/models.py:146 msgid "North America" msgstr "" -#: data_registry/models.py:147 +#: data_registry/models.py:148 msgid "Oceania" msgstr "" -#: data_registry/models.py:151 data_registry/models.py:171 +#: data_registry/models.py:152 data_registry/models.py:172 msgid "Monthly" msgstr "" -#: data_registry/models.py:153 data_registry/models.py:175 +#: data_registry/models.py:154 data_registry/models.py:176 msgid "Every 6 months" msgstr "" -#: data_registry/models.py:155 data_registry/models.py:177 +#: data_registry/models.py:156 data_registry/models.py:178 msgid "Annually" msgstr "" -#: data_registry/models.py:157 +#: data_registry/models.py:158 msgid "This dataset is no longer updated by the publisher" msgstr "" -#: data_registry/models.py:161 -msgid "Unknown" -msgstr "" - -#: data_registry/models.py:163 +#: data_registry/models.py:164 msgid "Real time" msgstr "" -#: data_registry/models.py:165 +#: data_registry/models.py:166 msgid "Hourly" msgstr "" -#: data_registry/models.py:167 +#: data_registry/models.py:168 msgid "Daily" msgstr "" -#: data_registry/models.py:169 +#: data_registry/models.py:170 msgid "Weekly" msgstr "" -#: data_registry/models.py:173 +#: data_registry/models.py:174 msgid "Every 3 months" msgstr "" #: data_registry/templates/detail.html:8 data_registry/templates/index.html:21 -#: data_registry/templates/search.html:6 data_registry/views.py:204 +#: data_registry/templates/search.html:6 data_registry/views.py:209 msgid "OCP Data Registry" msgstr "" @@ -149,61 +145,65 @@ msgid "" "source's coverage, features and quality issues." msgstr "" -#: data_registry/templates/detail.html:68 +#: data_registry/templates/detail.html:74 msgid "BACK TO DATASETS SEARCH" msgstr "" -#: data_registry/templates/detail.html:96 -#: data_registry/templates/search.html:168 +#: data_registry/templates/detail.html:102 +#: data_registry/templates/search.html:170 msgid "Available formats:" msgstr "" -#: data_registry/templates/detail.html:111 +#: data_registry/templates/detail.html:117 msgid "ACCESS" msgstr "" -#: data_registry/templates/detail.html:126 -#: data_registry/templates/search.html:148 -msgid "Data date range:" -msgstr "" - #: data_registry/templates/detail.html:132 -#: data_registry/templates/search.html:155 -msgid "Update frequency:" +#: data_registry/templates/search.html:150 +msgid "Data date range:" msgstr "" -#: data_registry/templates/detail.html:134 +#: data_registry/templates/detail.html:138 #: data_registry/templates/search.html:157 -msgid "Last retrieved:" +msgid "Update frequency:" msgstr "" -#: data_registry/templates/detail.html:138 -#: data_registry/templates/search.html:161 -#, python-format -msgid "retrieved %(retrieval_frequency)s" +#: data_registry/templates/detail.html:140 +msgid "Main language:" msgstr "" -#: data_registry/templates/detail.html:141 +#: data_registry/templates/detail.html:142 msgid "OCID prefix:" msgstr "" -#: data_registry/templates/detail.html:143 +#: data_registry/templates/detail.html:144 msgid "License:" msgstr "" -#: data_registry/templates/detail.html:154 -msgid "Main language:" +#: data_registry/templates/detail.html:155 +msgid "Publication policy:" msgstr "" -#: data_registry/templates/detail.html:156 +#: data_registry/templates/detail.html:163 +#: data_registry/templates/search.html:159 +msgid "Last retrieved:" +msgstr "" + +#: data_registry/templates/detail.html:167 +#: data_registry/templates/search.html:163 +#, python-format +msgid "retrieved %(retrieval_frequency)s" +msgstr "" + +#: data_registry/templates/detail.html:170 msgid "Retrieved from:" msgstr "" -#: data_registry/templates/detail.html:163 +#: data_registry/templates/detail.html:177 msgid "Data available" msgstr "" -#: data_registry/templates/detail.html:167 +#: data_registry/templates/detail.html:181 msgid "" "An individual contracting process has several different stages: tendering, " "awarding, contracting and implementation. You can dive into the details of " @@ -211,132 +211,132 @@ msgid "" "org/latest/en/primer/how/\" target=\"_blank\">tutorial." msgstr "" -#: data_registry/templates/detail.html:174 +#: data_registry/templates/detail.html:188 msgid "Parties" msgstr "" -#: data_registry/templates/detail.html:176 +#: data_registry/templates/detail.html:190 msgid "Count of parties:" msgstr "" -#: data_registry/templates/detail.html:181 +#: data_registry/templates/detail.html:195 msgid "Plannings" msgstr "" -#: data_registry/templates/detail.html:183 +#: data_registry/templates/detail.html:197 msgid "Count of planning activities:" msgstr "" -#: data_registry/templates/detail.html:188 +#: data_registry/templates/detail.html:202 msgid "Tenders" msgstr "" -#: data_registry/templates/detail.html:190 +#: data_registry/templates/detail.html:204 msgid "Count of tenders:" msgstr "" -#: data_registry/templates/detail.html:192 +#: data_registry/templates/detail.html:206 msgid "Count of tenderers:" msgstr "" -#: data_registry/templates/detail.html:194 +#: data_registry/templates/detail.html:208 msgid "Count of tender items:" msgstr "" -#: data_registry/templates/detail.html:199 +#: data_registry/templates/detail.html:213 msgid "Awards" msgstr "" -#: data_registry/templates/detail.html:201 +#: data_registry/templates/detail.html:215 msgid "Count of awards:" msgstr "" -#: data_registry/templates/detail.html:203 +#: data_registry/templates/detail.html:217 msgid "Count of award suppliers:" msgstr "" -#: data_registry/templates/detail.html:205 +#: data_registry/templates/detail.html:219 msgid "Count of award items:" msgstr "" -#: data_registry/templates/detail.html:210 +#: data_registry/templates/detail.html:224 msgid "Contracts" msgstr "" -#: data_registry/templates/detail.html:212 +#: data_registry/templates/detail.html:226 msgid "Count of contracts:" msgstr "" -#: data_registry/templates/detail.html:214 +#: data_registry/templates/detail.html:228 msgid "Count of contract items:" msgstr "" -#: data_registry/templates/detail.html:216 +#: data_registry/templates/detail.html:230 msgid "Count of contract transactions:" msgstr "" -#: data_registry/templates/detail.html:221 +#: data_registry/templates/detail.html:235 msgid "Documents" msgstr "" -#: data_registry/templates/detail.html:223 +#: data_registry/templates/detail.html:237 msgid "Count of documents:" msgstr "" -#: data_registry/templates/detail.html:228 +#: data_registry/templates/detail.html:242 msgid "Milestones" msgstr "" -#: data_registry/templates/detail.html:230 +#: data_registry/templates/detail.html:244 msgid "Count of milestones:" msgstr "" -#: data_registry/templates/detail.html:235 +#: data_registry/templates/detail.html:249 msgid "Amendments" msgstr "" -#: data_registry/templates/detail.html:237 +#: data_registry/templates/detail.html:251 msgid "Count of amendments:" msgstr "" -#: data_registry/templates/detail.html:244 +#: data_registry/templates/detail.html:258 msgid "This dataset has not yet been retrieved." msgstr "" -#: data_registry/templates/detail.html:264 +#: data_registry/templates/detail.html:278 msgid "Data quality" msgstr "" -#: data_registry/templates/detail.html:267 +#: data_registry/templates/detail.html:281 msgid "Summary" msgstr "" -#: data_registry/templates/detail.html:279 +#: data_registry/templates/detail.html:293 msgid "We have not yet prepared a data quality summary for this dataset." msgstr "" -#: data_registry/templates/detail.html:285 +#: data_registry/templates/detail.html:299 msgid "Last reviewed:" msgstr "" -#: data_registry/templates/detail.html:294 +#: data_registry/templates/detail.html:308 msgid "Access data" msgstr "" -#: data_registry/templates/detail.html:296 +#: data_registry/templates/detail.html:310 msgid "" "This OCDS dataset is available for download in JSON, Excel or CSV format. " "You can download the data for contracting processes in a specific year or " "for all time." msgstr "" -#: data_registry/templates/detail.html:301 +#: data_registry/templates/detail.html:315 msgid "" "Each contracting process is represented as one line of JSON text in the " ".jsonl file." msgstr "" -#: data_registry/templates/detail.html:306 +#: data_registry/templates/detail.html:320 msgid "" "The .jsonl file is compressed using Gzip. Windows users need 7-Zip, .gz file." msgstr "" -#: data_registry/templates/detail.html:315 +#: data_registry/templates/detail.html:329 msgid "" "Each contracting process is represented as one row in the main " "sheet. Other sheets link to it via the _link_main column." msgstr "" -#: data_registry/templates/detail.html:320 +#: data_registry/templates/detail.html:334 msgid "" "Excel files can have at most main.csv file. Other files link to it via the _link_main column." msgstr "" -#: data_registry/templates/detail.html:334 +#: data_registry/templates/detail.html:348 msgid "" "The .csv files are archived using tar and compressed using " "Gzip. Windows users need WinZip to decompress the .tar.gz file." msgstr "" -#: data_registry/templates/detail.html:353 +#: data_registry/templates/detail.html:367 msgid "Have questions, feedback on this dataset or content on this page?" msgstr "" -#: data_registry/templates/detail.html:358 +#: data_registry/templates/detail.html:372 msgid "Contact Data Support Team" msgstr "" @@ -435,7 +435,7 @@ msgstr "" #: data_registry/templates/includes/footer.html:129 #: data_registry/templates/includes/header.html:11 -#: data_registry/templates/index.html:6 data_registry/views.py:194 +#: data_registry/templates/index.html:6 data_registry/views.py:199 msgid "Open Contracting Partnership" msgstr "" @@ -452,7 +452,7 @@ msgid "Data Registry" msgstr "" #: data_registry/templates/index.html:7 data_registry/templates/index.html:22 -#: data_registry/views.py:205 +#: data_registry/views.py:210 msgid "Search for and access datasets by country" msgstr "" @@ -513,62 +513,62 @@ msgstr "" msgid "Find and filter OCDS datasets to download as JSON, Excel or CSV." msgstr "" -#: data_registry/templates/search.html:61 +#: data_registry/templates/search.html:63 msgid "BACK TO REGISTRY HOME" msgstr "" -#: data_registry/templates/search.html:69 +#: data_registry/templates/search.html:71 msgid "Filters" msgstr "" -#: data_registry/templates/search.html:87 +#: data_registry/templates/search.html:89 msgid "Clear all filters" msgstr "" -#: data_registry/templates/search.html:90 +#: data_registry/templates/search.html:92 msgid "Country starting with" msgstr "" -#: data_registry/templates/search.html:95 +#: data_registry/templates/search.html:97 #, python-format msgid "1 dataset" msgid_plural "%(counter)s datasets" msgstr[0] "" msgstr[1] "" -#: data_registry/templates/search.html:107 +#: data_registry/templates/search.html:109 msgid "Region" msgstr "" -#: data_registry/templates/search.html:108 +#: data_registry/templates/search.html:110 msgid "Data date range" msgstr "" -#: data_registry/templates/search.html:109 +#: data_registry/templates/search.html:111 msgid "Update frequency" msgstr "" -#: data_registry/templates/search.html:110 +#: data_registry/templates/search.html:112 msgid "Data contains" msgstr "" -#: data_registry/templates/search.html:117 +#: data_registry/templates/search.html:119 #, python-format msgid "%(counter)s dataset matches the selected filters" msgid_plural "%(counter)s datasets match the selected filters" msgstr[0] "" msgstr[1] "" -#: data_registry/templates/search.html:123 +#: data_registry/templates/search.html:125 #, python-format msgid "Showing all %(counter)s datasets" msgstr "" -#: data_registry/templates/search.html:181 +#: data_registry/templates/search.html:183 msgid "See details" msgstr "" -#: data_registry/templates/search.html:194 +#: data_registry/templates/search.html:196 msgid "Back to Top" msgstr "" @@ -577,63 +577,63 @@ msgstr "" msgid "[data-registry] Re: %(collection)s" msgstr "" -#: data_registry/views.py:69 data_registry/views.py:318 +#: data_registry/views.py:75 data_registry/views.py:325 msgid "All" msgstr "" -#: data_registry/views.py:70 +#: data_registry/views.py:76 msgid "Past month" msgstr "" -#: data_registry/views.py:71 +#: data_registry/views.py:77 msgid "Past 6 months" msgstr "" -#: data_registry/views.py:72 +#: data_registry/views.py:78 msgid "Past year" msgstr "" -#: data_registry/views.py:73 +#: data_registry/views.py:79 msgid "Past 5 years" msgstr "" -#: data_registry/views.py:83 +#: data_registry/views.py:89 msgid "Parties data" msgstr "" -#: data_registry/views.py:84 +#: data_registry/views.py:90 msgid "Plannings data" msgstr "" -#: data_registry/views.py:85 +#: data_registry/views.py:91 msgid "Tenders data" msgstr "" -#: data_registry/views.py:86 +#: data_registry/views.py:92 msgid "Awards data" msgstr "" -#: data_registry/views.py:87 +#: data_registry/views.py:93 msgid "Contracts data" msgstr "" -#: data_registry/views.py:88 +#: data_registry/views.py:94 msgid "Documents data" msgstr "" -#: data_registry/views.py:89 +#: data_registry/views.py:95 msgid "Milestones data" msgstr "" -#: data_registry/views.py:90 +#: data_registry/views.py:96 msgid "Amendments data" msgstr "" -#: data_registry/views.py:179 +#: data_registry/views.py:184 #, python-format msgid "OCDS data for %(country)s: %(title)s" msgstr "" -#: data_registry/views.py:358 +#: data_registry/views.py:365 msgid "OCP Kingfisher Database" msgstr "" diff --git a/data_registry/locale/es/LC_MESSAGES/django.po b/data_registry/locale/es/LC_MESSAGES/django.po index 2aa2e80..6e7a900 100644 --- a/data_registry/locale/es/LC_MESSAGES/django.po +++ b/data_registry/locale/es/LC_MESSAGES/django.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-06 17:09+0000\n" +"POT-Creation-Date: 2024-11-07 04:18+0000\n" "PO-Revision-Date: 2021-08-04 17:44+0000\n" "Last-Translator: Yohanna Lisnichuk , 2023\n" "Language-Team: Spanish (https://app.transifex.com/open-contracting-" @@ -63,7 +63,7 @@ msgid "Basics" msgstr "Básicos" #: data_registry/admin.py:163 data_registry/admin.py:269 -#: data_registry/templates/detail.html:122 +#: data_registry/templates/detail.html:128 msgid "Overview" msgstr "Resumen" @@ -75,80 +75,76 @@ msgstr "Detalles" msgid "failed" msgstr "fallido" -#: data_registry/admin.py:280 +#: data_registry/admin.py:281 msgid "Data availability" msgstr "Disponibilidad de datos" -#: data_registry/models.py:135 +#: data_registry/models.py:136 msgid "Africa and Middle East" msgstr "África y Medio Oriente" -#: data_registry/models.py:137 +#: data_registry/models.py:138 msgid "Asia" msgstr "Asia" -#: data_registry/models.py:139 +#: data_registry/models.py:140 msgid "Eastern Europe & Central Asia" msgstr "Europa del Este & Asia Central" -#: data_registry/models.py:141 +#: data_registry/models.py:142 msgid "Europe" msgstr "Europa" -#: data_registry/models.py:143 +#: data_registry/models.py:144 msgid "Latin America & Caribbean" msgstr "América Latina y el Caribe" -#: data_registry/models.py:145 +#: data_registry/models.py:146 msgid "North America" msgstr "Norteamérica" -#: data_registry/models.py:147 +#: data_registry/models.py:148 msgid "Oceania" msgstr "Oceanía" -#: data_registry/models.py:151 data_registry/models.py:171 +#: data_registry/models.py:152 data_registry/models.py:172 msgid "Monthly" msgstr "Mensual" -#: data_registry/models.py:153 data_registry/models.py:175 +#: data_registry/models.py:154 data_registry/models.py:176 msgid "Every 6 months" msgstr "Cada 6 meses" -#: data_registry/models.py:155 data_registry/models.py:177 +#: data_registry/models.py:156 data_registry/models.py:178 msgid "Annually" msgstr "Anual" -#: data_registry/models.py:157 +#: data_registry/models.py:158 msgid "This dataset is no longer updated by the publisher" msgstr "Los datos ya no son actualizados por el publicador" -#: data_registry/models.py:161 -msgid "Unknown" -msgstr "Desconocido" - -#: data_registry/models.py:163 +#: data_registry/models.py:164 msgid "Real time" msgstr "En tiempo real" -#: data_registry/models.py:165 +#: data_registry/models.py:166 msgid "Hourly" msgstr "Cada hora" -#: data_registry/models.py:167 +#: data_registry/models.py:168 msgid "Daily" msgstr "Diaria" -#: data_registry/models.py:169 +#: data_registry/models.py:170 msgid "Weekly" msgstr "Semanal" -#: data_registry/models.py:173 +#: data_registry/models.py:174 msgid "Every 3 months" msgstr "Cada 3 meses" #: data_registry/templates/detail.html:8 data_registry/templates/index.html:21 -#: data_registry/templates/search.html:6 data_registry/views.py:204 +#: data_registry/templates/search.html:6 data_registry/views.py:209 msgid "OCP Data Registry" msgstr "Registro de Datos OCP" @@ -161,61 +157,65 @@ msgstr "" "Descarga los datos OCDS para %(country)s: %(title)s. Conoce la cobertura, " "características y problemas de calidad de la fuente de datos." -#: data_registry/templates/detail.html:68 +#: data_registry/templates/detail.html:74 msgid "BACK TO DATASETS SEARCH" msgstr "VOLVER AL BUSCADOR DE CONJUNTO DE DATOS" -#: data_registry/templates/detail.html:96 -#: data_registry/templates/search.html:168 +#: data_registry/templates/detail.html:102 +#: data_registry/templates/search.html:170 msgid "Available formats:" msgstr "Formatos disponibles:" -#: data_registry/templates/detail.html:111 +#: data_registry/templates/detail.html:117 msgid "ACCESS" msgstr "ACCESO " -#: data_registry/templates/detail.html:126 -#: data_registry/templates/search.html:148 +#: data_registry/templates/detail.html:132 +#: data_registry/templates/search.html:150 msgid "Data date range:" msgstr "Rango de fechas de los datos:" -#: data_registry/templates/detail.html:132 -#: data_registry/templates/search.html:155 +#: data_registry/templates/detail.html:138 +#: data_registry/templates/search.html:157 msgid "Update frequency:" msgstr "Frecuencia de actualización:" -#: data_registry/templates/detail.html:134 -#: data_registry/templates/search.html:157 -msgid "Last retrieved:" -msgstr "Obtenido por última vez:" - -#: data_registry/templates/detail.html:138 -#: data_registry/templates/search.html:161 -#, python-format -msgid "retrieved %(retrieval_frequency)s" -msgstr "descarga %(retrieval_frequency)s" +#: data_registry/templates/detail.html:140 +msgid "Main language:" +msgstr "Idioma principal:" -#: data_registry/templates/detail.html:141 +#: data_registry/templates/detail.html:142 msgid "OCID prefix:" msgstr "Prefijo OCID:" -#: data_registry/templates/detail.html:143 +#: data_registry/templates/detail.html:144 msgid "License:" msgstr "Licencia:" -#: data_registry/templates/detail.html:154 -msgid "Main language:" -msgstr "Idioma principal:" +#: data_registry/templates/detail.html:155 +msgid "Publication policy:" +msgstr "Política de publicación:" + +#: data_registry/templates/detail.html:163 +#: data_registry/templates/search.html:159 +msgid "Last retrieved:" +msgstr "Obtenido por última vez:" -#: data_registry/templates/detail.html:156 +#: data_registry/templates/detail.html:167 +#: data_registry/templates/search.html:163 +#, python-format +msgid "retrieved %(retrieval_frequency)s" +msgstr "descarga %(retrieval_frequency)s" + +#: data_registry/templates/detail.html:170 msgid "Retrieved from:" msgstr "Obtenido de:" -#: data_registry/templates/detail.html:163 +#: data_registry/templates/detail.html:177 msgid "Data available" msgstr "Datos disponibles" -#: data_registry/templates/detail.html:167 +#: data_registry/templates/detail.html:181 msgid "" "An individual contracting process has several different stages: tendering, " "awarding, contracting and implementation. You can dive into the details of " @@ -227,121 +227,121 @@ msgstr "" "detalles de las etapas de contratación en este tutorial." -#: data_registry/templates/detail.html:174 +#: data_registry/templates/detail.html:188 msgid "Parties" msgstr "Partes involucradas" -#: data_registry/templates/detail.html:176 +#: data_registry/templates/detail.html:190 msgid "Count of parties:" msgstr "Cantidad de partes involucradas:" -#: data_registry/templates/detail.html:181 +#: data_registry/templates/detail.html:195 msgid "Plannings" msgstr "Planeación" -#: data_registry/templates/detail.html:183 +#: data_registry/templates/detail.html:197 msgid "Count of planning activities:" msgstr "Número de actividades de planeación:" -#: data_registry/templates/detail.html:188 +#: data_registry/templates/detail.html:202 msgid "Tenders" msgstr "Licitaciones" -#: data_registry/templates/detail.html:190 +#: data_registry/templates/detail.html:204 msgid "Count of tenders:" msgstr "Cantidad de licitaciones:" -#: data_registry/templates/detail.html:192 +#: data_registry/templates/detail.html:206 msgid "Count of tenderers:" msgstr "Cantidad de oferentes:" -#: data_registry/templates/detail.html:194 +#: data_registry/templates/detail.html:208 msgid "Count of tender items:" msgstr "Cantidad de artículos de licitaciones:" -#: data_registry/templates/detail.html:199 +#: data_registry/templates/detail.html:213 msgid "Awards" msgstr "Adjudicaciones" -#: data_registry/templates/detail.html:201 +#: data_registry/templates/detail.html:215 msgid "Count of awards:" msgstr "Cantidad de adjudicaciones:" -#: data_registry/templates/detail.html:203 +#: data_registry/templates/detail.html:217 msgid "Count of award suppliers:" msgstr "Cantidad de proveedores de adjudicaciones:" -#: data_registry/templates/detail.html:205 +#: data_registry/templates/detail.html:219 msgid "Count of award items:" msgstr "Cantidad de artículos adjudicados:" -#: data_registry/templates/detail.html:210 +#: data_registry/templates/detail.html:224 msgid "Contracts" msgstr "Contratos" -#: data_registry/templates/detail.html:212 +#: data_registry/templates/detail.html:226 msgid "Count of contracts:" msgstr "Cantidad de contratos:" -#: data_registry/templates/detail.html:214 +#: data_registry/templates/detail.html:228 msgid "Count of contract items:" msgstr "Cantidad de artículos contratados:" -#: data_registry/templates/detail.html:216 +#: data_registry/templates/detail.html:230 msgid "Count of contract transactions:" msgstr "Cantidad de transacciones en contratos:" -#: data_registry/templates/detail.html:221 +#: data_registry/templates/detail.html:235 msgid "Documents" msgstr "Documentos" -#: data_registry/templates/detail.html:223 +#: data_registry/templates/detail.html:237 msgid "Count of documents:" msgstr "Cantidad de documentos:" -#: data_registry/templates/detail.html:228 +#: data_registry/templates/detail.html:242 msgid "Milestones" msgstr "Hitos" -#: data_registry/templates/detail.html:230 +#: data_registry/templates/detail.html:244 msgid "Count of milestones:" msgstr "Cantidad de hitos:" -#: data_registry/templates/detail.html:235 +#: data_registry/templates/detail.html:249 msgid "Amendments" msgstr "Enmiendas:" -#: data_registry/templates/detail.html:237 +#: data_registry/templates/detail.html:251 msgid "Count of amendments:" msgstr "Cantidad de enmiendas:" -#: data_registry/templates/detail.html:244 +#: data_registry/templates/detail.html:258 msgid "This dataset has not yet been retrieved." msgstr "Este conjunto de datos aún no se ha descargado." -#: data_registry/templates/detail.html:264 +#: data_registry/templates/detail.html:278 msgid "Data quality" msgstr "Calidad de los datos" -#: data_registry/templates/detail.html:267 +#: data_registry/templates/detail.html:281 msgid "Summary" msgstr "Resumen" -#: data_registry/templates/detail.html:279 +#: data_registry/templates/detail.html:293 msgid "We have not yet prepared a data quality summary for this dataset." msgstr "" "Aún no hemos preparado un resumen de calidad de datos para este conjunto de " "datos." -#: data_registry/templates/detail.html:285 +#: data_registry/templates/detail.html:299 msgid "Last reviewed:" msgstr "Revisado por última vez:" -#: data_registry/templates/detail.html:294 +#: data_registry/templates/detail.html:308 msgid "Access data" msgstr "Acceso a los datos" -#: data_registry/templates/detail.html:296 +#: data_registry/templates/detail.html:310 msgid "" "This OCDS dataset is available for download in JSON, Excel or CSV format. " "You can download the data for contracting processes in a specific year or " @@ -351,7 +351,7 @@ msgstr "" "JSON, Excel o CSV. Puedes descargar los datos de los procesos de " "contratación de un año específico o de todos los años." -#: data_registry/templates/detail.html:301 +#: data_registry/templates/detail.html:315 msgid "" "Each contracting process is represented as one line of JSON text in the " ".jsonl file." @@ -359,7 +359,7 @@ msgstr "" "Cada proceso de contratación está representado como una línea de texto JSON " "en el archivo .jsonl." -#: data_registry/templates/detail.html:306 +#: data_registry/templates/detail.html:320 msgid "" "The .jsonl file is compressed using Gzip. Windows users need 7-Zip, WinZip para " "descomprimir el archivo .gz." -#: data_registry/templates/detail.html:315 +#: data_registry/templates/detail.html:329 msgid "" "Each contracting process is represented as one row in the main " "sheet. Other sheets link to it via the _link_main column." @@ -382,7 +382,7 @@ msgstr "" "main. Otras hojas pueden enlazarse a esta a través de la " "columna _link_main." -#: data_registry/templates/detail.html:320 +#: data_registry/templates/detail.html:334 msgid "" "Excel files can have at most . Si un año no está, es que tiene demasiadas filas. Descargue los " "archivos CSV en su lugar." -#: data_registry/templates/detail.html:329 +#: data_registry/templates/detail.html:343 msgid "" "Each contracting process is represented as one row in the main.csv file. Other files link to it via the _link_main column." @@ -405,7 +405,7 @@ msgstr "" "main.csv. Otros archivos pueden enlazarse a este a través de la " "columna _link_main." -#: data_registry/templates/detail.html:334 +#: data_registry/templates/detail.html:348 msgid "" "The .csv files are archived using tar and compressed using " "Gzip. Windows users need WinZip para descomprimir el archivo .tar.gz file." -#: data_registry/templates/detail.html:353 +#: data_registry/templates/detail.html:367 msgid "Have questions, feedback on this dataset or content on this page?" msgstr "" "Tiene alguna pregunta o retroalimentación sobre este conjunto de datos u " "otro contenido en esta página? " -#: data_registry/templates/detail.html:358 +#: data_registry/templates/detail.html:372 msgid "Contact Data Support Team" msgstr "Contacta al Equipo de Datos" @@ -485,7 +485,7 @@ msgstr "" #: data_registry/templates/includes/footer.html:129 #: data_registry/templates/includes/header.html:11 -#: data_registry/templates/index.html:6 data_registry/views.py:194 +#: data_registry/templates/index.html:6 data_registry/views.py:199 msgid "Open Contracting Partnership" msgstr "Open Contracting Partnership" @@ -502,7 +502,7 @@ msgid "Data Registry" msgstr "Registro de Datos" #: data_registry/templates/index.html:7 data_registry/templates/index.html:22 -#: data_registry/views.py:205 +#: data_registry/views.py:210 msgid "Search for and access datasets by country" msgstr "Búsqueda y acceso a conjuntos de datos por país" @@ -579,23 +579,23 @@ msgstr "Busca y descarga datos OCDS" msgid "Find and filter OCDS datasets to download as JSON, Excel or CSV." msgstr "Encuentra y filtra conjuntos de datos OCDS como JSON, Excel o CSV." -#: data_registry/templates/search.html:61 +#: data_registry/templates/search.html:63 msgid "BACK TO REGISTRY HOME" msgstr "VOLVER AL INICIO DEL REGISTRO " -#: data_registry/templates/search.html:69 +#: data_registry/templates/search.html:71 msgid "Filters" msgstr "Filtros" -#: data_registry/templates/search.html:87 +#: data_registry/templates/search.html:89 msgid "Clear all filters" msgstr "Borrar todos los filtros" -#: data_registry/templates/search.html:90 +#: data_registry/templates/search.html:92 msgid "Country starting with" msgstr "El nombre del país empieza con" -#: data_registry/templates/search.html:95 +#: data_registry/templates/search.html:97 #, python-format msgid "1 dataset" msgid_plural "%(counter)s datasets" @@ -603,23 +603,23 @@ msgstr[0] "1 conjunto de datos" msgstr[1] "%(counter)s conjuntos de datos" msgstr[2] "%(counter)s conjuntos de datos" -#: data_registry/templates/search.html:107 +#: data_registry/templates/search.html:109 msgid "Region" msgstr "Región" -#: data_registry/templates/search.html:108 +#: data_registry/templates/search.html:110 msgid "Data date range" msgstr "Rango de fechas de los datos:" -#: data_registry/templates/search.html:109 +#: data_registry/templates/search.html:111 msgid "Update frequency" msgstr "Frecuencia de actualización" -#: data_registry/templates/search.html:110 +#: data_registry/templates/search.html:112 msgid "Data contains" msgstr "Los datos contienen" -#: data_registry/templates/search.html:117 +#: data_registry/templates/search.html:119 #, python-format msgid "%(counter)s dataset matches the selected filters" msgid_plural "%(counter)s datasets match the selected filters" @@ -630,16 +630,16 @@ msgstr[1] "" msgstr[2] "" "%(counter)s conjuntos de datos coinciden con los filtros seleccionados" -#: data_registry/templates/search.html:123 +#: data_registry/templates/search.html:125 #, python-format msgid "Showing all %(counter)s datasets" msgstr "Mostrando todos los %(counter)s conjuntos de datos" -#: data_registry/templates/search.html:181 +#: data_registry/templates/search.html:183 msgid "See details" msgstr "Ver detalles" -#: data_registry/templates/search.html:194 +#: data_registry/templates/search.html:196 msgid "Back to Top" msgstr "Volver arriba" @@ -648,63 +648,63 @@ msgstr "Volver arriba" msgid "[data-registry] Re: %(collection)s" msgstr "[data-registry] Re: %(collection)s" -#: data_registry/views.py:69 data_registry/views.py:318 +#: data_registry/views.py:75 data_registry/views.py:325 msgid "All" msgstr "Todos" -#: data_registry/views.py:70 +#: data_registry/views.py:76 msgid "Past month" msgstr "Mes pasado" -#: data_registry/views.py:71 +#: data_registry/views.py:77 msgid "Past 6 months" msgstr "Últimos 6 meses" -#: data_registry/views.py:72 +#: data_registry/views.py:78 msgid "Past year" msgstr "Año pasado" -#: data_registry/views.py:73 +#: data_registry/views.py:79 msgid "Past 5 years" msgstr "Últimos 5 años" -#: data_registry/views.py:83 +#: data_registry/views.py:89 msgid "Parties data" msgstr "Datos de las partes involucradas" -#: data_registry/views.py:84 +#: data_registry/views.py:90 msgid "Plannings data" msgstr "Datos de planeación" -#: data_registry/views.py:85 +#: data_registry/views.py:91 msgid "Tenders data" msgstr "Datos de licitación" -#: data_registry/views.py:86 +#: data_registry/views.py:92 msgid "Awards data" msgstr "Datos de adjudicación" -#: data_registry/views.py:87 +#: data_registry/views.py:93 msgid "Contracts data" msgstr "Datos de contratos" -#: data_registry/views.py:88 +#: data_registry/views.py:94 msgid "Documents data" msgstr "Datos de documentos" -#: data_registry/views.py:89 +#: data_registry/views.py:95 msgid "Milestones data" msgstr "Datos de hitos" -#: data_registry/views.py:90 +#: data_registry/views.py:96 msgid "Amendments data" msgstr "Datos de enmiendas" -#: data_registry/views.py:179 +#: data_registry/views.py:184 #, python-format msgid "OCDS data for %(country)s: %(title)s" msgstr "Datos OCDS de %(country)s: %(title)s" -#: data_registry/views.py:358 +#: data_registry/views.py:365 msgid "OCP Kingfisher Database" msgstr "Base de datos Kingfisher de OCP" diff --git a/data_registry/locale/ru/LC_MESSAGES/django.po b/data_registry/locale/ru/LC_MESSAGES/django.po index 1262e03..dc644d9 100644 --- a/data_registry/locale/ru/LC_MESSAGES/django.po +++ b/data_registry/locale/ru/LC_MESSAGES/django.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-06 17:09+0000\n" +"POT-Creation-Date: 2024-11-07 04:18+0000\n" "PO-Revision-Date: 2021-08-04 17:44+0000\n" "Last-Translator: Yohanna Lisnichuk , 2023\n" "Language-Team: Russian (https://app.transifex.com/open-contracting-" @@ -64,7 +64,7 @@ msgid "Basics" msgstr "Основы" #: data_registry/admin.py:163 data_registry/admin.py:269 -#: data_registry/templates/detail.html:122 +#: data_registry/templates/detail.html:128 msgid "Overview" msgstr "Обзор" @@ -76,80 +76,76 @@ msgstr "Подробности" msgid "failed" msgstr "Провалена" -#: data_registry/admin.py:280 +#: data_registry/admin.py:281 msgid "Data availability" msgstr "Доступность данных" -#: data_registry/models.py:135 +#: data_registry/models.py:136 msgid "Africa and Middle East" msgstr "Африка и Средний Восток" -#: data_registry/models.py:137 +#: data_registry/models.py:138 msgid "Asia" msgstr "Азия" -#: data_registry/models.py:139 +#: data_registry/models.py:140 msgid "Eastern Europe & Central Asia" msgstr "Восточная Европа и Центральная Азия" -#: data_registry/models.py:141 +#: data_registry/models.py:142 msgid "Europe" msgstr "Европа" -#: data_registry/models.py:143 +#: data_registry/models.py:144 msgid "Latin America & Caribbean" msgstr "Латинская Америка и Карибский бассейн" -#: data_registry/models.py:145 +#: data_registry/models.py:146 msgid "North America" msgstr "Северная Америка" -#: data_registry/models.py:147 +#: data_registry/models.py:148 msgid "Oceania" msgstr "Океания" -#: data_registry/models.py:151 data_registry/models.py:171 +#: data_registry/models.py:152 data_registry/models.py:172 msgid "Monthly" msgstr "Ежемесячно" -#: data_registry/models.py:153 data_registry/models.py:175 +#: data_registry/models.py:154 data_registry/models.py:176 msgid "Every 6 months" msgstr "Каждые 6 месяцев" -#: data_registry/models.py:155 data_registry/models.py:177 +#: data_registry/models.py:156 data_registry/models.py:178 msgid "Annually" msgstr "Раз в год" -#: data_registry/models.py:157 +#: data_registry/models.py:158 msgid "This dataset is no longer updated by the publisher" msgstr "Этот набор данных больше не обновляется издателем." -#: data_registry/models.py:161 -msgid "Unknown" -msgstr "Неизвестный" - -#: data_registry/models.py:163 +#: data_registry/models.py:164 msgid "Real time" msgstr "Реальное время" -#: data_registry/models.py:165 +#: data_registry/models.py:166 msgid "Hourly" msgstr "Ежечасно" -#: data_registry/models.py:167 +#: data_registry/models.py:168 msgid "Daily" msgstr "Ежедневно" -#: data_registry/models.py:169 +#: data_registry/models.py:170 msgid "Weekly" msgstr "Еженедельно" -#: data_registry/models.py:173 +#: data_registry/models.py:174 msgid "Every 3 months" msgstr "каждые 3 месяца" #: data_registry/templates/detail.html:8 data_registry/templates/index.html:21 -#: data_registry/templates/search.html:6 data_registry/views.py:204 +#: data_registry/templates/search.html:6 data_registry/views.py:209 msgid "OCP Data Registry" msgstr "Реестр данных OCP" @@ -163,61 +159,65 @@ msgstr "" "том, какие этапы контрактного процесса описаны в данных, особенностях этого " "набора данных, а также о проблемах с качеством данных." -#: data_registry/templates/detail.html:68 +#: data_registry/templates/detail.html:74 msgid "BACK TO DATASETS SEARCH" msgstr "Назад к поиску датасетов" -#: data_registry/templates/detail.html:96 -#: data_registry/templates/search.html:168 +#: data_registry/templates/detail.html:102 +#: data_registry/templates/search.html:170 msgid "Available formats:" msgstr "Доступные форматы" -#: data_registry/templates/detail.html:111 +#: data_registry/templates/detail.html:117 msgid "ACCESS" msgstr "Доступ" -#: data_registry/templates/detail.html:126 -#: data_registry/templates/search.html:148 +#: data_registry/templates/detail.html:132 +#: data_registry/templates/search.html:150 msgid "Data date range:" msgstr "Диапазон дат" -#: data_registry/templates/detail.html:132 -#: data_registry/templates/search.html:155 +#: data_registry/templates/detail.html:138 +#: data_registry/templates/search.html:157 msgid "Update frequency:" msgstr "Периодичность обновлений" -#: data_registry/templates/detail.html:134 -#: data_registry/templates/search.html:157 -msgid "Last retrieved:" -msgstr "Последнее получено:" - -#: data_registry/templates/detail.html:138 -#: data_registry/templates/search.html:161 -#, python-format -msgid "retrieved %(retrieval_frequency)s" -msgstr "загружен %(retrieval_frequency)s" +#: data_registry/templates/detail.html:140 +msgid "Main language:" +msgstr "Основной язык:" -#: data_registry/templates/detail.html:141 +#: data_registry/templates/detail.html:142 msgid "OCID prefix:" msgstr "OCID префикс" -#: data_registry/templates/detail.html:143 +#: data_registry/templates/detail.html:144 msgid "License:" msgstr "Лицензия" -#: data_registry/templates/detail.html:154 -msgid "Main language:" -msgstr "Основной язык:" +#: data_registry/templates/detail.html:155 +msgid "Publication policy:" +msgstr "Политика публикации:" + +#: data_registry/templates/detail.html:163 +#: data_registry/templates/search.html:159 +msgid "Last retrieved:" +msgstr "Последнее получено:" -#: data_registry/templates/detail.html:156 +#: data_registry/templates/detail.html:167 +#: data_registry/templates/search.html:163 +#, python-format +msgid "retrieved %(retrieval_frequency)s" +msgstr "загружен %(retrieval_frequency)s" + +#: data_registry/templates/detail.html:170 msgid "Retrieved from:" msgstr "Извлекаются из:" -#: data_registry/templates/detail.html:163 +#: data_registry/templates/detail.html:177 msgid "Data available" msgstr "Доступные данные" -#: data_registry/templates/detail.html:167 +#: data_registry/templates/detail.html:181 msgid "" "An individual contracting process has several different stages: tendering, " "awarding, contracting and implementation. You can dive into the details of " @@ -230,120 +230,120 @@ msgstr "" "contracting.org/latest/en/primer/how/\" target=\"_blank\">этом руководстве." -#: data_registry/templates/detail.html:174 +#: data_registry/templates/detail.html:188 msgid "Parties" msgstr "Стороны" -#: data_registry/templates/detail.html:176 +#: data_registry/templates/detail.html:190 msgid "Count of parties:" msgstr "Количество сторон" -#: data_registry/templates/detail.html:181 +#: data_registry/templates/detail.html:195 msgid "Plannings" msgstr "Планы" -#: data_registry/templates/detail.html:183 +#: data_registry/templates/detail.html:197 msgid "Count of planning activities:" msgstr "Количество запланированых мероприятий" -#: data_registry/templates/detail.html:188 +#: data_registry/templates/detail.html:202 msgid "Tenders" msgstr "Тендеры" -#: data_registry/templates/detail.html:190 +#: data_registry/templates/detail.html:204 msgid "Count of tenders:" msgstr "Количество тендеров:" -#: data_registry/templates/detail.html:192 +#: data_registry/templates/detail.html:206 msgid "Count of tenderers:" msgstr "Количество участников тендера:" -#: data_registry/templates/detail.html:194 +#: data_registry/templates/detail.html:208 msgid "Count of tender items:" msgstr "Количество айтемов в тендере:" -#: data_registry/templates/detail.html:199 +#: data_registry/templates/detail.html:213 msgid "Awards" msgstr "Присуждение" -#: data_registry/templates/detail.html:201 +#: data_registry/templates/detail.html:215 msgid "Count of awards:" msgstr "Количество присуждений:" -#: data_registry/templates/detail.html:203 +#: data_registry/templates/detail.html:217 msgid "Count of award suppliers:" msgstr "Количество присужденных поставщиков:" -#: data_registry/templates/detail.html:205 +#: data_registry/templates/detail.html:219 msgid "Count of award items:" msgstr "Колиечство айтемов с присуждениями:" -#: data_registry/templates/detail.html:210 +#: data_registry/templates/detail.html:224 msgid "Contracts" msgstr "Контракты" -#: data_registry/templates/detail.html:212 +#: data_registry/templates/detail.html:226 msgid "Count of contracts:" msgstr "Количество контрактов:" -#: data_registry/templates/detail.html:214 +#: data_registry/templates/detail.html:228 msgid "Count of contract items:" msgstr "Количество законтрактированных айтемов:" -#: data_registry/templates/detail.html:216 +#: data_registry/templates/detail.html:230 msgid "Count of contract transactions:" msgstr "Количество транзакций по контракту:" -#: data_registry/templates/detail.html:221 +#: data_registry/templates/detail.html:235 msgid "Documents" msgstr "Документы" -#: data_registry/templates/detail.html:223 +#: data_registry/templates/detail.html:237 msgid "Count of documents:" msgstr "Количество документов:" -#: data_registry/templates/detail.html:228 +#: data_registry/templates/detail.html:242 msgid "Milestones" msgstr "Этапы" -#: data_registry/templates/detail.html:230 +#: data_registry/templates/detail.html:244 msgid "Count of milestones:" msgstr "Количество этапов:" -#: data_registry/templates/detail.html:235 +#: data_registry/templates/detail.html:249 msgid "Amendments" msgstr "Изменения" -#: data_registry/templates/detail.html:237 +#: data_registry/templates/detail.html:251 msgid "Count of amendments:" msgstr "Количество изменений:" -#: data_registry/templates/detail.html:244 +#: data_registry/templates/detail.html:258 msgid "This dataset has not yet been retrieved." msgstr "Этот набор данных еще не загружен." -#: data_registry/templates/detail.html:264 +#: data_registry/templates/detail.html:278 msgid "Data quality" msgstr "Качество данных" -#: data_registry/templates/detail.html:267 +#: data_registry/templates/detail.html:281 msgid "Summary" msgstr "Резюме" -#: data_registry/templates/detail.html:279 +#: data_registry/templates/detail.html:293 msgid "We have not yet prepared a data quality summary for this dataset." msgstr "" "Мы еще не подготовили сводку по качеству данных для этого набора данных." -#: data_registry/templates/detail.html:285 +#: data_registry/templates/detail.html:299 msgid "Last reviewed:" msgstr "Последний отзыв:" -#: data_registry/templates/detail.html:294 +#: data_registry/templates/detail.html:308 msgid "Access data" msgstr "Доступ к данным" -#: data_registry/templates/detail.html:296 +#: data_registry/templates/detail.html:310 msgid "" "This OCDS dataset is available for download in JSON, Excel or CSV format. " "You can download the data for contracting processes in a specific year or " @@ -353,7 +353,7 @@ msgstr "" "Вы можете загрузить данные о процессах заключения договоров за определенный " "год или за все время." -#: data_registry/templates/detail.html:301 +#: data_registry/templates/detail.html:315 msgid "" "Each contracting process is represented as one line of JSON text in the " ".jsonl file." @@ -361,7 +361,7 @@ msgstr "" "Каждый процесс заключения контракта представлен в виде одной строки текста " "JSON в .jsonl файле." -#: data_registry/templates/detail.html:306 +#: data_registry/templates/detail.html:320 msgid "" "The .jsonl file is compressed using Gzip. Windows users need 7-Zip, WinZip для распаковки " "файла .gz file." -#: data_registry/templates/detail.html:315 +#: data_registry/templates/detail.html:329 msgid "" "Each contracting process is represented as one row in the main " "sheet. Other sheets link to it via the _link_main column." @@ -384,7 +384,7 @@ msgstr "" "основном листе. Другие листы ссылаются на него через столбец " "_link_main." -#: data_registry/templates/detail.html:320 +#: data_registry/templates/detail.html:334 msgid "" "Excel files can have at most . Если год отсутствует, в нем было слишком много строк. В таком " "случае загрузите файлы в формате CSV." -#: data_registry/templates/detail.html:329 +#: data_registry/templates/detail.html:343 msgid "" "Each contracting process is represented as one row in the main.csv file. Other files link to it via the _link_main column." @@ -407,7 +407,7 @@ msgstr "" "main.csv. Другие файлы ссылаются на него через столбец " "_link_main." -#: data_registry/templates/detail.html:334 +#: data_registry/templates/detail.html:348 msgid "" "The .csv files are archived using tar and compressed using " "Gzip. Windows users need WinRAR или WinZip для распаковки файла .tar.gz." -#: data_registry/templates/detail.html:353 +#: data_registry/templates/detail.html:367 msgid "Have questions, feedback on this dataset or content on this page?" msgstr "" "Есть ли у вас вопросы, отзывы об этом наборе данных или содержимом этой " "страницы?" -#: data_registry/templates/detail.html:358 +#: data_registry/templates/detail.html:372 msgid "Contact Data Support Team" msgstr "Связаться со службой поддержки данных" @@ -485,7 +485,7 @@ msgstr "" #: data_registry/templates/includes/footer.html:129 #: data_registry/templates/includes/header.html:11 -#: data_registry/templates/index.html:6 data_registry/views.py:194 +#: data_registry/templates/index.html:6 data_registry/views.py:199 msgid "Open Contracting Partnership" msgstr "Партнерство за открытое контрактирование" @@ -502,7 +502,7 @@ msgid "Data Registry" msgstr "Реестр данных" #: data_registry/templates/index.html:7 data_registry/templates/index.html:22 -#: data_registry/views.py:205 +#: data_registry/views.py:210 msgid "Search for and access datasets by country" msgstr "Поиск и доступ к наборам данных по странам" @@ -579,23 +579,23 @@ msgstr "" "Найдите и отфильтруйте наборы данных OCDS для загрузки в формате JSON, Excel " "или CSV." -#: data_registry/templates/search.html:61 +#: data_registry/templates/search.html:63 msgid "BACK TO REGISTRY HOME" msgstr "Назад на главную" -#: data_registry/templates/search.html:69 +#: data_registry/templates/search.html:71 msgid "Filters" msgstr "Фильтры" -#: data_registry/templates/search.html:87 +#: data_registry/templates/search.html:89 msgid "Clear all filters" msgstr "Очистить все фильтры" -#: data_registry/templates/search.html:90 +#: data_registry/templates/search.html:92 msgid "Country starting with" msgstr "Страна, начиная с" -#: data_registry/templates/search.html:95 +#: data_registry/templates/search.html:97 #, python-format msgid "1 dataset" msgid_plural "%(counter)s datasets" @@ -604,23 +604,23 @@ msgstr[1] "%(counter)sнаборов данных" msgstr[2] "%(counter)sнаборов данных" msgstr[3] "%(counter)sнаборов данных " -#: data_registry/templates/search.html:107 +#: data_registry/templates/search.html:109 msgid "Region" msgstr "Регион" -#: data_registry/templates/search.html:108 +#: data_registry/templates/search.html:110 msgid "Data date range" msgstr "Диапазон дат данных" -#: data_registry/templates/search.html:109 +#: data_registry/templates/search.html:111 msgid "Update frequency" msgstr "Частота обновления" -#: data_registry/templates/search.html:110 +#: data_registry/templates/search.html:112 msgid "Data contains" msgstr "Данные содержат" -#: data_registry/templates/search.html:117 +#: data_registry/templates/search.html:119 #, python-format msgid "%(counter)s dataset matches the selected filters" msgid_plural "%(counter)s datasets match the selected filters" @@ -629,16 +629,16 @@ msgstr[1] "%(counter)sнаборов данных соответствуют в msgstr[2] "%(counter)sнаборов данных соответствуют выбранным фильтрам" msgstr[3] "%(counter)sнаборов данных соответствуют выбранным фильтрам" -#: data_registry/templates/search.html:123 +#: data_registry/templates/search.html:125 #, python-format msgid "Showing all %(counter)s datasets" msgstr "Показаны все %(counter)sнаборов данных" -#: data_registry/templates/search.html:181 +#: data_registry/templates/search.html:183 msgid "See details" msgstr "Смотреть детали" -#: data_registry/templates/search.html:194 +#: data_registry/templates/search.html:196 msgid "Back to Top" msgstr "вернуться наверх" @@ -647,63 +647,63 @@ msgstr "вернуться наверх" msgid "[data-registry] Re: %(collection)s" msgstr "[Реестр данных]: %(collection)s" -#: data_registry/views.py:69 data_registry/views.py:318 +#: data_registry/views.py:75 data_registry/views.py:325 msgid "All" msgstr "Все" -#: data_registry/views.py:70 +#: data_registry/views.py:76 msgid "Past month" msgstr "Прошлый месяц" -#: data_registry/views.py:71 +#: data_registry/views.py:77 msgid "Past 6 months" msgstr "Прошедшие 6 месяцев" -#: data_registry/views.py:72 +#: data_registry/views.py:78 msgid "Past year" msgstr "Прошлый год" -#: data_registry/views.py:73 +#: data_registry/views.py:79 msgid "Past 5 years" msgstr "Прошедшие 5 лет" -#: data_registry/views.py:83 +#: data_registry/views.py:89 msgid "Parties data" msgstr "Данные о сторонах" -#: data_registry/views.py:84 +#: data_registry/views.py:90 msgid "Plannings data" msgstr "Данные о планировании" -#: data_registry/views.py:85 +#: data_registry/views.py:91 msgid "Tenders data" msgstr "Данные о тендерах" -#: data_registry/views.py:86 +#: data_registry/views.py:92 msgid "Awards data" msgstr "Данные о присуждениях" -#: data_registry/views.py:87 +#: data_registry/views.py:93 msgid "Contracts data" msgstr "Данные о контрактах" -#: data_registry/views.py:88 +#: data_registry/views.py:94 msgid "Documents data" msgstr "Данные документов" -#: data_registry/views.py:89 +#: data_registry/views.py:95 msgid "Milestones data" msgstr "Данные о этапах" -#: data_registry/views.py:90 +#: data_registry/views.py:96 msgid "Amendments data" msgstr "Данные о изменениях" -#: data_registry/views.py:179 +#: data_registry/views.py:184 #, python-format msgid "OCDS data for %(country)s: %(title)s" msgstr "Данные OCDS %(country)s: %(title)s" -#: data_registry/views.py:358 +#: data_registry/views.py:365 msgid "OCP Kingfisher Database" msgstr "База данных OCP Kingfisher" diff --git a/data_registry/migrations/0057_collection_publication_policy_and_more.py b/data_registry/migrations/0057_collection_publication_policy_and_more.py new file mode 100644 index 0000000..5b20f48 --- /dev/null +++ b/data_registry/migrations/0057_collection_publication_policy_and_more.py @@ -0,0 +1,37 @@ +# Generated by Django 4.2.16 on 2024-11-07 04:17 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + dependencies = [ + ("data_registry", "0056_job_publication_policy"), + ] + + operations = [ + migrations.AddField( + model_name="collection", + name="publication_policy", + field=models.TextField(blank=True, verbose_name="publication policy"), + ), + migrations.AlterField( + model_name="collection", + name="update_frequency", + field=models.TextField( + blank=True, + choices=[ + ("UNKNOWN", "-"), + ("REAL_TIME", "Real time"), + ("HOURLY", "Hourly"), + ("DAILY", "Daily"), + ("WEEKLY", "Weekly"), + ("MONTHLY", "Monthly"), + ("QUARTERLY", "Every 3 months"), + ("HALF_YEARLY", "Every 6 months"), + ("ANNUALLY", "Annually"), + ], + default="UNKNOWN", + help_text="The frequency at which the source updates the publication.", + ), + ), + ] diff --git a/data_registry/models.py b/data_registry/models.py index 08ad73c..283d06b 100644 --- a/data_registry/models.py +++ b/data_registry/models.py @@ -249,6 +249,7 @@ class UpdateFrequency(models.TextChoices): verbose_name="data license", help_text="If not set, the Overview section will display the license URL within the OCDS package.", ) + publication_policy = models.TextField(blank=True, verbose_name="publication policy") # Provenance source_url = models.TextField(blank=True, verbose_name="source URL", help_text="The URL of the publication.") diff --git a/data_registry/process_manager/__init__.py b/data_registry/process_manager/__init__.py index 999d662..45bf9ce 100644 --- a/data_registry/process_manager/__init__.py +++ b/data_registry/process_manager/__init__.py @@ -116,6 +116,8 @@ def process(collection: models.Collection) -> None: collection.last_retrieved = job.task_set.get(type=settings.JOB_TASKS_PLAN[0]).end collection.active_job = job + if not collection.publication_policy: + collection.publication_policy = job.publication_policy collection.save() logger.debug("Job %s has succeeded (%s: %s)", job, country, collection) diff --git a/data_registry/templates/detail.html b/data_registry/templates/detail.html index faed972..d5ee908 100644 --- a/data_registry/templates/detail.html +++ b/data_registry/templates/detail.html @@ -153,7 +153,8 @@

    {% translate "Overview" %}

    {% endif %}
    {% translate "Publication policy:" %}
    -
    {{ job.publication_policy|urlize|default:"-" }}
    +
    {% firstof collection.publication_policy|urlize job.publication_policy|urlize "-" %} +
    {% translate "Last retrieved:" %}
    {{ collection.last_retrieved|date:"M Y" }} From a47385477b73f599d7e81121edaf36d323d150b2 Mon Sep 17 00:00:00 2001 From: James McKinney <26463+jpmckinney@users.noreply.github.com> Date: Wed, 6 Nov 2024 23:46:55 -0500 Subject: [PATCH 10/10] fix: Avoid JavaScript error if a content blocker prevents Fathom from loading --- data_registry/templates/detail.html | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/data_registry/templates/detail.html b/data_registry/templates/detail.html index d5ee908..e0aec7d 100644 --- a/data_registry/templates/detail.html +++ b/data_registry/templates/detail.html @@ -60,9 +60,11 @@ }) document.querySelectorAll('a[download]').forEach(trackable => { - trackable.addEventListener('click', event => { - fathom.trackEvent(`download ${trackable.dataset.event}`) // eslint-disable-line no-undef - }) + if (typeof fathom !== 'undefined') { + trackable.addEventListener('click', event => { + fathom.trackEvent(`download ${trackable.dataset.event}`) // eslint-disable-line no-undef + }) + } }) {% endblock %} @@ -363,7 +365,7 @@

    CSV