diff --git a/.tx/config b/.tx/config index da5197060..c2beb22ba 100644 --- a/.tx/config +++ b/.tx/config @@ -2,350 +2,596 @@ host = https://www.transifex.com [o:open-contracting-partnership-1:p:open-contracting-standard-1-1:r:404] -file_filter = docs/locale//LC_MESSAGES/404.po -source_file = build/locale/404.pot -source_lang = en -type = PO +file_filter = docs/locale//LC_MESSAGES/404.po +source_file = build/locale/404.pot +type = PO +minimum_perc = 0 +resource_name = 404 +replace_edited_strings = false +keep_translations = false [o:open-contracting-partnership-1:p:open-contracting-standard-1-1:r:codelists] -file_filter = docs/locale//LC_MESSAGES/codelists.po -source_file = build/locale/codelists.pot -source_lang = en -type = PO +file_filter = docs/locale//LC_MESSAGES/codelists.po +source_file = build/locale/codelists.pot +type = PO +minimum_perc = 0 +resource_name = codelists +replace_edited_strings = false +keep_translations = false [o:open-contracting-partnership-1:p:open-contracting-standard-1-1:r:governance--deprecation] -file_filter = docs/locale//LC_MESSAGES/governance/deprecation.po -source_file = build/locale/governance/deprecation.pot -source_lang = en -type = PO +file_filter = docs/locale//LC_MESSAGES/governance/deprecation.po +source_file = build/locale/governance/deprecation.pot +type = PO +minimum_perc = 0 +resource_name = governance--deprecation +replace_edited_strings = false +keep_translations = false [o:open-contracting-partnership-1:p:open-contracting-standard-1-1:r:governance--index] -file_filter = docs/locale//LC_MESSAGES/governance/index.po -source_file = build/locale/governance/index.pot -source_lang = en -type = PO +file_filter = docs/locale//LC_MESSAGES/governance/index.po +source_file = build/locale/governance/index.pot +type = PO +minimum_perc = 0 +resource_name = governance--index +replace_edited_strings = false +keep_translations = false + +[o:open-contracting-partnership-1:p:open-contracting-standard-1-1:r:governance--normative] +file_filter = docs/locale//LC_MESSAGES/governance/normative.po +source_file = build/locale/governance/normative.pot +type = PO +minimum_perc = 0 +resource_name = governance--normative +replace_edited_strings = false +keep_translations = false + +[o:open-contracting-partnership-1:p:open-contracting-standard-1-1:r:governance--translation] +file_filter = docs/locale//LC_MESSAGES/governance/translation.po +source_file = build/locale/governance/translation.pot +type = PO +minimum_perc = 0 +resource_name = governance--translation +replace_edited_strings = false +keep_translations = false [o:open-contracting-partnership-1:p:open-contracting-standard-1-1:r:guidance--build] -file_filter = docs/locale//LC_MESSAGES/guidance/build.po -source_file = build/locale/guidance/build.pot -source_lang = en -type = PO +file_filter = docs/locale//LC_MESSAGES/guidance/build.po +source_file = build/locale/guidance/build.pot +type = PO +minimum_perc = 0 +resource_name = guidance--build +replace_edited_strings = false +keep_translations = false [o:open-contracting-partnership-1:p:open-contracting-standard-1-1:r:guidance--build--change_history] -file_filter = docs/locale//LC_MESSAGES/guidance/build/change_history.po -source_file = build/locale/guidance/build/change_history.pot -source_lang = en -type = PO +file_filter = docs/locale//LC_MESSAGES/guidance/build/change_history.po +source_file = build/locale/guidance/build/change_history.pot +type = PO +minimum_perc = 0 +resource_name = guidance--build--change_history +replace_edited_strings = false +keep_translations = false [o:open-contracting-partnership-1:p:open-contracting-standard-1-1:r:guidance--build--data_collection_tools] -file_filter = docs/locale//LC_MESSAGES/guidance/build/data_collection_tools.po -source_file = build/locale/guidance/build/data_collection_tools.pot -source_lang = en -type = PO +file_filter = docs/locale//LC_MESSAGES/guidance/build/data_collection_tools.po +source_file = build/locale/guidance/build/data_collection_tools.pot +type = PO +minimum_perc = 0 +resource_name = guidance--build--data_collection_tools +replace_edited_strings = false +keep_translations = false [o:open-contracting-partnership-1:p:open-contracting-standard-1-1:r:guidance--build--easy_releases] -file_filter = docs/locale//LC_MESSAGES/guidance/build/easy_releases.po -source_file = build/locale/guidance/build/easy_releases.pot -source_lang = en -type = PO +file_filter = docs/locale//LC_MESSAGES/guidance/build/easy_releases.po +source_file = build/locale/guidance/build/easy_releases.pot +type = PO +minimum_perc = 0 +resource_name = guidance--build--easy_releases +replace_edited_strings = false +keep_translations = false [o:open-contracting-partnership-1:p:open-contracting-standard-1-1:r:guidance--build--hosting] -file_filter = docs/locale//LC_MESSAGES/guidance/build/hosting.po -source_file = build/locale/guidance/build/hosting.pot -source_lang = en -type = PO +file_filter = docs/locale//LC_MESSAGES/guidance/build/hosting.po +source_file = build/locale/guidance/build/hosting.pot +type = PO +minimum_perc = 0 +resource_name = guidance--build--hosting +replace_edited_strings = false +keep_translations = false [o:open-contracting-partnership-1:p:open-contracting-standard-1-1:r:guidance--build--merging] -file_filter = docs/locale//LC_MESSAGES/guidance/build/merging.po -source_file = build/locale/guidance/build/merging.pot -source_lang = en -type = PO +file_filter = docs/locale//LC_MESSAGES/guidance/build/merging.po +source_file = build/locale/guidance/build/merging.pot +type = PO +minimum_perc = 0 +resource_name = guidance--build--merging +replace_edited_strings = false +keep_translations = false [o:open-contracting-partnership-1:p:open-contracting-standard-1-1:r:guidance--build--serialization] -file_filter = docs/locale//LC_MESSAGES/guidance/build/serialization.po -source_file = build/locale/guidance/build/serialization.pot -source_lang = en -type = PO +file_filter = docs/locale//LC_MESSAGES/guidance/build/serialization.po +source_file = build/locale/guidance/build/serialization.pot +type = PO +minimum_perc = 0 +resource_name = guidance--build--serialization +replace_edited_strings = false +keep_translations = false [o:open-contracting-partnership-1:p:open-contracting-standard-1-1:r:guidance--build--system_architectures] -file_filter = docs/locale//LC_MESSAGES/guidance/build/system_architectures.po -source_file = build/locale/guidance/build/system_architectures.pot -source_lang = en -type = PO +file_filter = docs/locale//LC_MESSAGES/guidance/build/system_architectures.po +source_file = build/locale/guidance/build/system_architectures.pot +type = PO +minimum_perc = 0 +resource_name = guidance--build--system_architectures +replace_edited_strings = false +keep_translations = false [o:open-contracting-partnership-1:p:open-contracting-standard-1-1:r:guidance--design] -file_filter = docs/locale//LC_MESSAGES/guidance/design.po -source_file = build/locale/guidance/design.pot -source_lang = en -type = PO +file_filter = docs/locale//LC_MESSAGES/guidance/design.po +source_file = build/locale/guidance/design.pot +type = PO +minimum_perc = 0 +resource_name = guidance--design +replace_edited_strings = false +keep_translations = false [o:open-contracting-partnership-1:p:open-contracting-standard-1-1:r:guidance--design--user_needs] -file_filter = docs/locale//LC_MESSAGES/guidance/design/user_needs.po -source_file = build/locale/guidance/design/user_needs.pot -source_lang = en -type = PO +file_filter = docs/locale//LC_MESSAGES/guidance/design/user_needs.po +source_file = build/locale/guidance/design/user_needs.pot +type = PO +minimum_perc = 0 +resource_name = guidance--design--user_needs +replace_edited_strings = false +keep_translations = false [o:open-contracting-partnership-1:p:open-contracting-standard-1-1:r:guidance--index] -file_filter = docs/locale//LC_MESSAGES/guidance/index.po -source_file = build/locale/guidance/index.pot -source_lang = en -type = PO +file_filter = docs/locale//LC_MESSAGES/guidance/index.po +source_file = build/locale/guidance/index.pot +type = PO +minimum_perc = 0 +resource_name = guidance--index +replace_edited_strings = false +keep_translations = false [o:open-contracting-partnership-1:p:open-contracting-standard-1-1:r:guidance--map] -file_filter = docs/locale//LC_MESSAGES/guidance/map.po -source_file = build/locale/guidance/map.pot -source_lang = en -type = PO +file_filter = docs/locale//LC_MESSAGES/guidance/map.po +source_file = build/locale/guidance/map.pot +type = PO +minimum_perc = 0 +resource_name = guidance--map +replace_edited_strings = false +keep_translations = false [o:open-contracting-partnership-1:p:open-contracting-standard-1-1:r:guidance--map--amendments] -file_filter = docs/locale//LC_MESSAGES/guidance/map/amendments.po -source_file = build/locale/guidance/map/amendments.pot -source_lang = en -type = PO +file_filter = docs/locale//LC_MESSAGES/guidance/map/amendments.po +source_file = build/locale/guidance/map/amendments.pot +type = PO +minimum_perc = 0 +resource_name = guidance--map--amendments +replace_edited_strings = false +keep_translations = false [o:open-contracting-partnership-1:p:open-contracting-standard-1-1:r:guidance--map--awards_contracts] -file_filter = docs/locale//LC_MESSAGES/guidance/map/awards_contracts.po -source_file = build/locale/guidance/map/awards_contracts.pot -source_lang = en -type = PO +file_filter = docs/locale//LC_MESSAGES/guidance/map/awards_contracts.po +source_file = build/locale/guidance/map/awards_contracts.pot +type = PO +minimum_perc = 0 +resource_name = guidance--map--awards_contracts +replace_edited_strings = false +keep_translations = false [o:open-contracting-partnership-1:p:open-contracting-standard-1-1:r:guidance--map--beneficial_ownership] -file_filter = docs/locale//LC_MESSAGES/guidance/map/beneficial_ownership.po -source_file = build/locale/guidance/map/beneficial_ownership.pot -source_lang = en -type = PO +file_filter = docs/locale//LC_MESSAGES/guidance/map/beneficial_ownership.po +source_file = build/locale/guidance/map/beneficial_ownership.pot +type = PO +minimum_perc = 0 +resource_name = guidance--map--beneficial_ownership +replace_edited_strings = false +keep_translations = false [o:open-contracting-partnership-1:p:open-contracting-standard-1-1:r:guidance--map--buyers_suppliers] -file_filter = docs/locale//LC_MESSAGES/guidance/map/buyers_suppliers.po -source_file = build/locale/guidance/map/buyers_suppliers.pot -source_lang = en -type = PO +file_filter = docs/locale//LC_MESSAGES/guidance/map/buyers_suppliers.po +source_file = build/locale/guidance/map/buyers_suppliers.pot +type = PO +minimum_perc = 0 +resource_name = guidance--map--buyers_suppliers +replace_edited_strings = false +keep_translations = false + +[o:open-contracting-partnership-1:p:open-contracting-standard-1-1:r:guidance--map--connecting_publications] +file_filter = docs/locale//LC_MESSAGES/guidance/map/connecting_publications.po +source_file = build/locale/guidance/map/connecting_publications.pot +type = PO +minimum_perc = 0 +resource_name = guidance--map--connecting_publications +replace_edited_strings = false +keep_translations = false + +[o:open-contracting-partnership-1:p:open-contracting-standard-1-1:r:guidance--map--contracting_planning_processes] +file_filter = docs/locale//LC_MESSAGES/guidance/map/contracting_planning_processes.po +source_file = build/locale/guidance/map/contracting_planning_processes.pot +type = PO +minimum_perc = 0 +resource_name = guidance--map--contracting_planning_processes +replace_edited_strings = false +keep_translations = false [o:open-contracting-partnership-1:p:open-contracting-standard-1-1:r:guidance--map--electronic_catalogues] -file_filter = docs/locale//LC_MESSAGES/guidance/map/electronic_catalogues.po -source_file = build/locale/guidance/map/electronic_catalogues.pot -source_lang = en -type = PO +file_filter = docs/locale//LC_MESSAGES/guidance/map/electronic_catalogues.po +source_file = build/locale/guidance/map/electronic_catalogues.pot +type = PO +minimum_perc = 0 +resource_name = guidance--map--electronic_catalogues +replace_edited_strings = false +keep_translations = false [o:open-contracting-partnership-1:p:open-contracting-standard-1-1:r:guidance--map--extensions] -file_filter = docs/locale//LC_MESSAGES/guidance/map/extensions.po -source_file = build/locale/guidance/map/extensions.pot -source_lang = en -type = PO +file_filter = docs/locale//LC_MESSAGES/guidance/map/extensions.po +source_file = build/locale/guidance/map/extensions.pot +type = PO +minimum_perc = 0 +resource_name = guidance--map--extensions +replace_edited_strings = false +keep_translations = false [o:open-contracting-partnership-1:p:open-contracting-standard-1-1:r:guidance--map--framework_agreements] -file_filter = docs/locale//LC_MESSAGES/guidance/map/framework_agreements.po -source_file = build/locale/guidance/map/framework_agreements.pot -source_lang = en -type = PO +file_filter = docs/locale//LC_MESSAGES/guidance/map/framework_agreements.po +source_file = build/locale/guidance/map/framework_agreements.pot +type = PO +minimum_perc = 0 +resource_name = guidance--map--framework_agreements +replace_edited_strings = false +keep_translations = false [o:open-contracting-partnership-1:p:open-contracting-standard-1-1:r:guidance--map--linked_standards] -file_filter = docs/locale//LC_MESSAGES/guidance/map/linked_standards.po -source_file = build/locale/guidance/map/linked_standards.pot -source_lang = en -type = PO +file_filter = docs/locale//LC_MESSAGES/guidance/map/linked_standards.po +source_file = build/locale/guidance/map/linked_standards.pot +type = PO +minimum_perc = 0 +resource_name = guidance--map--linked_standards +replace_edited_strings = false +keep_translations = false [o:open-contracting-partnership-1:p:open-contracting-standard-1-1:r:guidance--map--localization] -file_filter = docs/locale//LC_MESSAGES/guidance/map/localization.po -source_file = build/locale/guidance/map/localization.pot -source_lang = en -type = PO +file_filter = docs/locale//LC_MESSAGES/guidance/map/localization.po +source_file = build/locale/guidance/map/localization.pot +type = PO +minimum_perc = 0 +resource_name = guidance--map--localization +replace_edited_strings = false +keep_translations = false [o:open-contracting-partnership-1:p:open-contracting-standard-1-1:r:guidance--map--milestones] -file_filter = docs/locale//LC_MESSAGES/guidance/map/milestones.po -source_file = build/locale/guidance/map/milestones.pot -source_lang = en -type = PO +file_filter = docs/locale//LC_MESSAGES/guidance/map/milestones.po +source_file = build/locale/guidance/map/milestones.pot +type = PO +minimum_perc = 0 +resource_name = guidance--map--milestones +replace_edited_strings = false +keep_translations = false [o:open-contracting-partnership-1:p:open-contracting-standard-1-1:r:guidance--map--organization_classifications] -file_filter = docs/locale//LC_MESSAGES/guidance/map/organization_classifications.po -source_file = build/locale/guidance/map/organization_classifications.pot -source_lang = en -type = PO +file_filter = docs/locale//LC_MESSAGES/guidance/map/organization_classifications.po +source_file = build/locale/guidance/map/organization_classifications.pot +type = PO +minimum_perc = 0 +resource_name = guidance--map--organization_classifications +replace_edited_strings = false +keep_translations = false [o:open-contracting-partnership-1:p:open-contracting-standard-1-1:r:guidance--map--organization_identifiers] -file_filter = docs/locale//LC_MESSAGES/guidance/map/organization_identifiers.po -source_file = build/locale/guidance/map/organization_identifiers.pot -source_lang = en -type = PO +file_filter = docs/locale//LC_MESSAGES/guidance/map/organization_identifiers.po +source_file = build/locale/guidance/map/organization_identifiers.pot +type = PO +minimum_perc = 0 +resource_name = guidance--map--organization_identifiers +replace_edited_strings = false +keep_translations = false [o:open-contracting-partnership-1:p:open-contracting-standard-1-1:r:guidance--map--organization_personal_identifiers] -file_filter = docs/locale//LC_MESSAGES/guidance/map/organization_personal_identifiers.po -source_file = build/locale/guidance/map/organization_personal_identifiers.pot -source_lang = en -type = PO +file_filter = docs/locale//LC_MESSAGES/guidance/map/organization_personal_identifiers.po +source_file = build/locale/guidance/map/organization_personal_identifiers.pot +type = PO +minimum_perc = 0 +resource_name = guidance--map--organization_personal_identifiers +replace_edited_strings = false +keep_translations = false [o:open-contracting-partnership-1:p:open-contracting-standard-1-1:r:guidance--map--organization_reference] -file_filter = docs/locale//LC_MESSAGES/guidance/map/organization_reference.po -source_file = build/locale/guidance/map/organization_reference.pot -source_lang = en -type = PO +file_filter = docs/locale//LC_MESSAGES/guidance/map/organization_reference.po +source_file = build/locale/guidance/map/organization_reference.pot +type = PO +minimum_perc = 0 +resource_name = guidance--map--organization_reference +replace_edited_strings = false +keep_translations = false [o:open-contracting-partnership-1:p:open-contracting-standard-1-1:r:guidance--map--organizational_units] -file_filter = docs/locale//LC_MESSAGES/guidance/map/organizational_units.po -source_file = build/locale/guidance/map/organizational_units.pot -source_lang = en -type = PO +file_filter = docs/locale//LC_MESSAGES/guidance/map/organizational_units.po +source_file = build/locale/guidance/map/organizational_units.pot +type = PO +minimum_perc = 0 +resource_name = guidance--map--organizational_units +replace_edited_strings = false +keep_translations = false [o:open-contracting-partnership-1:p:open-contracting-standard-1-1:r:guidance--map--pre-qualification] -file_filter = docs/locale//LC_MESSAGES/guidance/map/pre-qualification.po -source_file = build/locale/guidance/map/pre-qualification.pot -source_lang = en -type = PO +file_filter = docs/locale//LC_MESSAGES/guidance/map/pre-qualification.po +source_file = build/locale/guidance/map/pre-qualification.pot +type = PO +minimum_perc = 0 +resource_name = guidance--map--pre-qualification +replace_edited_strings = false +keep_translations = false + +[o:open-contracting-partnership-1:p:open-contracting-standard-1-1:r:guidance--map--translations] +file_filter = docs/locale//LC_MESSAGES/guidance/map/translations.po +source_file = build/locale/guidance/map/translations.pot +type = PO +minimum_perc = 0 +resource_name = guidance--map--translations +replace_edited_strings = false +keep_translations = false [o:open-contracting-partnership-1:p:open-contracting-standard-1-1:r:guidance--map--unsuccessful_processes] -file_filter = docs/locale//LC_MESSAGES/guidance/map/unsuccessful_processes.po -source_file = build/locale/guidance/map/unsuccessful_processes.pot -source_lang = en -type = PO +file_filter = docs/locale//LC_MESSAGES/guidance/map/unsuccessful_processes.po +source_file = build/locale/guidance/map/unsuccessful_processes.pot +type = PO +minimum_perc = 0 +resource_name = guidance--map--unsuccessful_processes +replace_edited_strings = false +keep_translations = false [o:open-contracting-partnership-1:p:open-contracting-standard-1-1:r:guidance--publish] -file_filter = docs/locale//LC_MESSAGES/guidance/publish.po -source_file = build/locale/guidance/publish.pot -source_lang = en -type = PO +file_filter = docs/locale//LC_MESSAGES/guidance/publish.po +source_file = build/locale/guidance/publish.pot +type = PO +minimum_perc = 0 +resource_name = guidance--publish +replace_edited_strings = false +keep_translations = false [o:open-contracting-partnership-1:p:open-contracting-standard-1-1:r:guidance--publish--quality] -file_filter = docs/locale//LC_MESSAGES/guidance/publish/quality.po -source_file = build/locale/guidance/publish/quality.pot -source_lang = en -type = PO +file_filter = docs/locale//LC_MESSAGES/guidance/publish/quality.po +source_file = build/locale/guidance/publish/quality.pot +type = PO +minimum_perc = 0 +resource_name = guidance--publish--quality +replace_edited_strings = false +keep_translations = false [o:open-contracting-partnership-1:p:open-contracting-standard-1-1:r:history--changelog] -file_filter = docs/locale//LC_MESSAGES/history/changelog.po -source_file = build/locale/history/changelog.pot -source_lang = en -type = PO +file_filter = docs/locale//LC_MESSAGES/history/changelog.po +source_file = build/locale/history/changelog.pot +type = PO +minimum_perc = 0 +resource_name = history--changelog +replace_edited_strings = false +keep_translations = false [o:open-contracting-partnership-1:p:open-contracting-standard-1-1:r:history--history_and_development] -file_filter = docs/locale//LC_MESSAGES/history/history_and_development.po -source_file = build/locale/history/history_and_development.pot -source_lang = en -type = PO +file_filter = docs/locale//LC_MESSAGES/history/history_and_development.po +source_file = build/locale/history/history_and_development.pot +type = PO +minimum_perc = 0 +resource_name = history--history_and_development +replace_edited_strings = false +keep_translations = false [o:open-contracting-partnership-1:p:open-contracting-standard-1-1:r:history--index] -file_filter = docs/locale//LC_MESSAGES/history/index.po -source_file = build/locale/history/index.pot -source_lang = en -type = PO +file_filter = docs/locale//LC_MESSAGES/history/index.po +source_file = build/locale/history/index.pot +type = PO +minimum_perc = 0 +resource_name = history--index +replace_edited_strings = false +keep_translations = false [o:open-contracting-partnership-1:p:open-contracting-standard-1-1:r:index] -file_filter = docs/locale//LC_MESSAGES/index.po -source_file = build/locale/index.pot -source_lang = en -type = PO +file_filter = docs/locale//LC_MESSAGES/index.po +source_file = build/locale/index.pot +type = PO +minimum_perc = 0 +resource_name = index +replace_edited_strings = false +keep_translations = false + +[o:open-contracting-partnership-1:p:open-contracting-standard-1-1:r:metaschema] +file_filter = docs/locale//LC_MESSAGES/metaschema.po +source_file = build/locale/metaschema.pot +type = PO +minimum_perc = 0 +resource_name = metaschema +replace_edited_strings = false +keep_translations = false [o:open-contracting-partnership-1:p:open-contracting-standard-1-1:r:primer--how] -file_filter = docs/locale//LC_MESSAGES/primer/how.po -source_file = build/locale/primer/how.pot -source_lang = en -type = PO +file_filter = docs/locale//LC_MESSAGES/primer/how.po +source_file = build/locale/primer/how.pot +type = PO +minimum_perc = 0 +resource_name = primer--how +replace_edited_strings = false +keep_translations = false [o:open-contracting-partnership-1:p:open-contracting-standard-1-1:r:primer--index] -file_filter = docs/locale//LC_MESSAGES/primer/index.po -source_file = build/locale/primer/index.pot -source_lang = en -type = PO +file_filter = docs/locale//LC_MESSAGES/primer/index.po +source_file = build/locale/primer/index.pot +type = PO +minimum_perc = 0 +resource_name = primer--index +replace_edited_strings = false +keep_translations = false [o:open-contracting-partnership-1:p:open-contracting-standard-1-1:r:primer--next] -file_filter = docs/locale//LC_MESSAGES/primer/next.po -source_file = build/locale/primer/next.pot -source_lang = en -type = PO +file_filter = docs/locale//LC_MESSAGES/primer/next.po +source_file = build/locale/primer/next.pot +type = PO +minimum_perc = 0 +resource_name = primer--next +replace_edited_strings = false +keep_translations = false [o:open-contracting-partnership-1:p:open-contracting-standard-1-1:r:primer--releases_and_records] -file_filter = docs/locale//LC_MESSAGES/primer/releases_and_records.po -source_file = build/locale/primer/releases_and_records.pot -source_lang = en -type = PO +file_filter = docs/locale//LC_MESSAGES/primer/releases_and_records.po +source_file = build/locale/primer/releases_and_records.pot +type = PO +minimum_perc = 0 +resource_name = primer--releases_and_records +replace_edited_strings = false +keep_translations = false [o:open-contracting-partnership-1:p:open-contracting-standard-1-1:r:primer--what] -file_filter = docs/locale//LC_MESSAGES/primer/what.po -source_file = build/locale/primer/what.pot -source_lang = en -type = PO +file_filter = docs/locale//LC_MESSAGES/primer/what.po +source_file = build/locale/primer/what.pot +type = PO +minimum_perc = 0 +resource_name = primer--what +replace_edited_strings = false +keep_translations = false [o:open-contracting-partnership-1:p:open-contracting-standard-1-1:r:schema] -file_filter = docs/locale//LC_MESSAGES/schema.po -source_file = build/locale/schema.pot -source_lang = en -type = PO +file_filter = docs/locale//LC_MESSAGES/schema.po +source_file = build/locale/schema.pot +type = PO +minimum_perc = 0 +resource_name = schema +replace_edited_strings = false +keep_translations = false [o:open-contracting-partnership-1:p:open-contracting-standard-1-1:r:schema--codelists] -file_filter = docs/locale//LC_MESSAGES/schema/codelists.po -source_file = build/locale/schema/codelists.pot -source_lang = en -type = PO +file_filter = docs/locale//LC_MESSAGES/schema/codelists.po +source_file = build/locale/schema/codelists.pot +type = PO +minimum_perc = 0 +resource_name = schema--codelists +replace_edited_strings = false +keep_translations = false [o:open-contracting-partnership-1:p:open-contracting-standard-1-1:r:schema--conformance_and_extensions] -file_filter = docs/locale//LC_MESSAGES/schema/conformance_and_extensions.po -source_file = build/locale/schema/conformance_and_extensions.pot -source_lang = en -type = PO +file_filter = docs/locale//LC_MESSAGES/schema/conformance_and_extensions.po +source_file = build/locale/schema/conformance_and_extensions.pot +type = PO +minimum_perc = 0 +resource_name = schema--conformance_and_extensions +replace_edited_strings = false +keep_translations = false [o:open-contracting-partnership-1:p:open-contracting-standard-1-1:r:schema--identifiers] -file_filter = docs/locale//LC_MESSAGES/schema/identifiers.po -source_file = build/locale/schema/identifiers.pot -source_lang = en -type = PO +file_filter = docs/locale//LC_MESSAGES/schema/identifiers.po +source_file = build/locale/schema/identifiers.pot +type = PO +minimum_perc = 0 +resource_name = schema--identifiers +replace_edited_strings = false +keep_translations = false [o:open-contracting-partnership-1:p:open-contracting-standard-1-1:r:schema--index] -file_filter = docs/locale//LC_MESSAGES/schema/index.po -source_file = build/locale/schema/index.pot -source_lang = en -type = PO +file_filter = docs/locale//LC_MESSAGES/schema/index.po +source_file = build/locale/schema/index.pot +type = PO +minimum_perc = 0 +resource_name = schema--index +replace_edited_strings = false +keep_translations = false [o:open-contracting-partnership-1:p:open-contracting-standard-1-1:r:schema--merging] -file_filter = docs/locale//LC_MESSAGES/schema/merging.po -source_file = build/locale/schema/merging.pot -source_lang = en -type = PO - -[o:open-contracting-partnership-1:p:open-contracting-standard-1-1:r:schema--record_package] -file_filter = docs/locale//LC_MESSAGES/schema/record_package.po -source_file = build/locale/schema/record_package.pot -source_lang = en -type = PO +file_filter = docs/locale//LC_MESSAGES/schema/merging.po +source_file = build/locale/schema/merging.pot +type = PO +minimum_perc = 0 +resource_name = schema--merging +replace_edited_strings = false +keep_translations = false + +[o:open-contracting-partnership-1:p:open-contracting-standard-1-1:r:schema--packaging--index] +file_filter = docs/locale//LC_MESSAGES/schema/packaging/index.po +source_file = build/locale/schema/packaging/index.pot +type = PO +minimum_perc = 0 +resource_name = schema--packaging--index +replace_edited_strings = false +keep_translations = false + +[o:open-contracting-partnership-1:p:open-contracting-standard-1-1:r:schema--packaging--record_package] +file_filter = docs/locale//LC_MESSAGES/schema/packaging/record_package.po +source_file = build/locale/schema/packaging/record_package.pot +type = PO +minimum_perc = 0 +resource_name = schema--packaging--record_package +replace_edited_strings = false +keep_translations = false + +[o:open-contracting-partnership-1:p:open-contracting-standard-1-1:r:schema--packaging--release_package] +file_filter = docs/locale//LC_MESSAGES/schema/packaging/release_package.po +source_file = build/locale/schema/packaging/release_package.pot +type = PO +minimum_perc = 0 +resource_name = schema--packaging--release_package +replace_edited_strings = false +keep_translations = false + +[o:open-contracting-partnership-1:p:open-contracting-standard-1-1:r:schema--record] +file_filter = docs/locale//LC_MESSAGES/schema/record.po +source_file = build/locale/schema/record.pot +type = PO +minimum_perc = 0 +resource_name = schema--record +replace_edited_strings = false +keep_translations = false [o:open-contracting-partnership-1:p:open-contracting-standard-1-1:r:schema--records_reference] -file_filter = docs/locale//LC_MESSAGES/schema/records_reference.po -source_file = build/locale/schema/records_reference.pot -source_lang = en -type = PO +file_filter = docs/locale//LC_MESSAGES/schema/records_reference.po +source_file = build/locale/schema/records_reference.pot +type = PO +minimum_perc = 0 +resource_name = schema--records_reference +replace_edited_strings = false +keep_translations = false [o:open-contracting-partnership-1:p:open-contracting-standard-1-1:r:schema--reference] -file_filter = docs/locale//LC_MESSAGES/schema/reference.po -source_file = build/locale/schema/reference.pot -source_lang = en -type = PO +file_filter = docs/locale//LC_MESSAGES/schema/reference.po +source_file = build/locale/schema/reference.pot +type = PO +minimum_perc = 0 +resource_name = schema--reference +replace_edited_strings = false +keep_translations = false [o:open-contracting-partnership-1:p:open-contracting-standard-1-1:r:schema--release] -file_filter = docs/locale//LC_MESSAGES/schema/release.po -source_file = build/locale/schema/release.pot -source_lang = en -type = PO - -[o:open-contracting-partnership-1:p:open-contracting-standard-1-1:r:schema--release_package] -file_filter = docs/locale//LC_MESSAGES/schema/release_package.po -source_file = build/locale/schema/release_package.pot -source_lang = en -type = PO +file_filter = docs/locale//LC_MESSAGES/schema/release.po +source_file = build/locale/schema/release.pot +type = PO +minimum_perc = 0 +resource_name = schema--release +replace_edited_strings = false +keep_translations = false [o:open-contracting-partnership-1:p:open-contracting-standard-1-1:r:sphinx] -file_filter = docs/locale//LC_MESSAGES/sphinx.po -source_file = build/locale/sphinx.pot -source_lang = en -type = PO +file_filter = docs/locale//LC_MESSAGES/sphinx.po +source_file = build/locale/sphinx.pot +type = PO +minimum_perc = 0 +resource_name = sphinx +replace_edited_strings = false +keep_translations = false [o:open-contracting-partnership-1:p:open-contracting-standard-1-1:r:support--index] -file_filter = docs/locale//LC_MESSAGES/support/index.po -source_file = build/locale/support/index.pot -source_lang = en -type = PO +file_filter = docs/locale//LC_MESSAGES/support/index.po +source_file = build/locale/support/index.pot +type = PO +minimum_perc = 0 +resource_name = support--index +replace_edited_strings = false +keep_translations = false [o:open-contracting-partnership-1:p:open-contracting-standard-1-1:r:theme] -file_filter = docs/locale//LC_MESSAGES/theme.po -source_file = build/locale/theme.pot -source_lang = en -type = PO +file_filter = docs/locale//LC_MESSAGES/theme.po +source_file = build/locale/theme.pot +type = PO +minimum_perc = 0 +resource_name = theme +replace_edited_strings = false +keep_translations = false diff --git a/babel_ocds_metaschema.cfg b/babel_ocds_metaschema.cfg new file mode 100644 index 000000000..eb72ae3cb --- /dev/null +++ b/babel_ocds_metaschema.cfg @@ -0,0 +1 @@ +[ocds_schema: schema/metaschema/meta-schema-patch.json] diff --git a/docs/conf.py b/docs/conf.py index c4daa25d7..e8c0748fa 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -146,6 +146,8 @@ def setup(app): headers = ["Title", "Description", "Extension"] # The gettext domain for schema translations. Should match the domain in the `pybabel compile` command. schema_domain = f"{gettext_domain_prefix}schema" + # The gettext domain for metaschema translations. Should match the domain in the `pybabel compile` command. + metaschema_domain = f"{gettext_domain_prefix}metaschema" # The gettext domain for codelist translations. Should match the domain in the `pybabel compile` command. codelists_domain = f"{gettext_domain_prefix}codelists" @@ -158,6 +160,8 @@ def setup(app): [ # The glob patterns in `babel_ocds_schema.cfg` should match these filenames. (glob(str(standard_dir / "*-schema.json")), standard_build_dir, schema_domain), + # The glob patterns in `babel_ocds_metaschema.cfg` should match these filenames. + (glob(str(standard_dir / "metaschema" / "meta-schema-patch.json")), standard_build_dir, metaschema_domain), # The glob patterns in `babel_ocds_codelist.cfg` should match these. (glob(str(standard_dir / "codelists" / "*.csv")), standard_build_dir / "codelists", codelists_domain), ], diff --git a/docs/locale/es/LC_MESSAGES/metaschema.po b/docs/locale/es/LC_MESSAGES/metaschema.po new file mode 100644 index 000000000..76ab7dd49 --- /dev/null +++ b/docs/locale/es/LC_MESSAGES/metaschema.po @@ -0,0 +1,107 @@ +# Spanish translations for PROJECT. +# Copyright (C) 2024 ORGANIZATION +# This file is distributed under the same license as the PROJECT project. +# FIRST AUTHOR , 2024. +# +msgid "" +msgstr "" +"Project-Id-Version: PROJECT VERSION\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2024-12-05 17:36-0500\n" +"PO-Revision-Date: 2024-12-05 17:42-0500\n" +"Last-Translator: FULL NAME \n" +"Language: es\n" +"Language-Team: es \n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#. /properties/$ref/title +#: schema/metaschema/meta-schema-patch.json:1 +msgid "URI Reference" +msgstr "" + +#. /properties/$ref/description +#: schema/metaschema/meta-schema-patch.json:1 +msgid "" +"A reference to a statically identified schema. This keyword must be set " +"to an absolute URI or a relative reference as defined by [RFC " +"3986](https://www.rfc-editor.org/info/rfc3986), where its fragment (if " +"any) can consist of a JSON Pointer as defined by [RFC " +"6901](https://datatracker.ietf.org/doc/html/rfc6901)." +msgstr "" + +#. /properties/omitWhenMerged/title +#: schema/metaschema/meta-schema-patch.json:1 +msgid "Omit when merged" +msgstr "" + +#. /properties/omitWhenMerged/description +#: schema/metaschema/meta-schema-patch.json:1 +msgid "Whether the field must be discarded during merging." +msgstr "" + +#. /properties/deprecated/title +#: schema/metaschema/meta-schema-patch.json:1 +msgid "Deprecated" +msgstr "" + +#. /properties/deprecated/description +#: schema/metaschema/meta-schema-patch.json:1 +msgid "Information about the deprecation of this field." +msgstr "" + +#. /properties/deprecated/properties/deprecatedVersion/title +#: schema/metaschema/meta-schema-patch.json:1 +msgid "Deprecated version" +msgstr "" + +#. /properties/deprecated/properties/deprecatedVersion/description +#: schema/metaschema/meta-schema-patch.json:1 +msgid "The OCDS version in which this field was first deprecated." +msgstr "" + +#. /properties/deprecated/properties/description/title +#: schema/metaschema/meta-schema-patch.json:1 +msgid "Description" +msgstr "" + +#. /properties/deprecated/properties/description/description +#: schema/metaschema/meta-schema-patch.json:1 +msgid "A description of the reason for this field's deprecation." +msgstr "" + +#. /properties/codelist/title +#: schema/metaschema/meta-schema-patch.json:1 +msgid "Codelist" +msgstr "" + +#. /properties/codelist/description +#: schema/metaschema/meta-schema-patch.json:1 +msgid "" +"The CSV file that defines the codes in the codelist that this field " +"refers to." +msgstr "" + +#. /properties/openCodelist/title +#: schema/metaschema/meta-schema-patch.json:1 +msgid "Open codelist" +msgstr "" + +#. /properties/openCodelist/description +#: schema/metaschema/meta-schema-patch.json:1 +msgid "Whether the codelist that this field refers to is an open codelist." +msgstr "" + +#. /properties/wholeListMerge/title +#: schema/metaschema/meta-schema-patch.json:1 +msgid "Whole list merge" +msgstr "" + +#. /properties/wholeListMerge/description +#: schema/metaschema/meta-schema-patch.json:1 +msgid "Whether the field's value must be treated as a literal when merging." +msgstr "" + diff --git a/docs/locale/fr/LC_MESSAGES/metaschema.po b/docs/locale/fr/LC_MESSAGES/metaschema.po new file mode 100644 index 000000000..9827ec415 --- /dev/null +++ b/docs/locale/fr/LC_MESSAGES/metaschema.po @@ -0,0 +1,107 @@ +# French translations for PROJECT. +# Copyright (C) 2024 ORGANIZATION +# This file is distributed under the same license as the PROJECT project. +# FIRST AUTHOR , 2024. +# +msgid "" +msgstr "" +"Project-Id-Version: PROJECT VERSION\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2024-12-05 17:36-0500\n" +"PO-Revision-Date: 2024-12-05 17:43-0500\n" +"Last-Translator: FULL NAME \n" +"Language: fr\n" +"Language-Team: fr \n" +"Plural-Forms: nplurals=2; plural=(n > 1)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#. /properties/$ref/title +#: schema/metaschema/meta-schema-patch.json:1 +msgid "URI Reference" +msgstr "" + +#. /properties/$ref/description +#: schema/metaschema/meta-schema-patch.json:1 +msgid "" +"A reference to a statically identified schema. This keyword must be set " +"to an absolute URI or a relative reference as defined by [RFC " +"3986](https://www.rfc-editor.org/info/rfc3986), where its fragment (if " +"any) can consist of a JSON Pointer as defined by [RFC " +"6901](https://datatracker.ietf.org/doc/html/rfc6901)." +msgstr "" + +#. /properties/omitWhenMerged/title +#: schema/metaschema/meta-schema-patch.json:1 +msgid "Omit when merged" +msgstr "" + +#. /properties/omitWhenMerged/description +#: schema/metaschema/meta-schema-patch.json:1 +msgid "Whether the field must be discarded during merging." +msgstr "" + +#. /properties/deprecated/title +#: schema/metaschema/meta-schema-patch.json:1 +msgid "Deprecated" +msgstr "" + +#. /properties/deprecated/description +#: schema/metaschema/meta-schema-patch.json:1 +msgid "Information about the deprecation of this field." +msgstr "" + +#. /properties/deprecated/properties/deprecatedVersion/title +#: schema/metaschema/meta-schema-patch.json:1 +msgid "Deprecated version" +msgstr "" + +#. /properties/deprecated/properties/deprecatedVersion/description +#: schema/metaschema/meta-schema-patch.json:1 +msgid "The OCDS version in which this field was first deprecated." +msgstr "" + +#. /properties/deprecated/properties/description/title +#: schema/metaschema/meta-schema-patch.json:1 +msgid "Description" +msgstr "" + +#. /properties/deprecated/properties/description/description +#: schema/metaschema/meta-schema-patch.json:1 +msgid "A description of the reason for this field's deprecation." +msgstr "" + +#. /properties/codelist/title +#: schema/metaschema/meta-schema-patch.json:1 +msgid "Codelist" +msgstr "" + +#. /properties/codelist/description +#: schema/metaschema/meta-schema-patch.json:1 +msgid "" +"The CSV file that defines the codes in the codelist that this field " +"refers to." +msgstr "" + +#. /properties/openCodelist/title +#: schema/metaschema/meta-schema-patch.json:1 +msgid "Open codelist" +msgstr "" + +#. /properties/openCodelist/description +#: schema/metaschema/meta-schema-patch.json:1 +msgid "Whether the codelist that this field refers to is an open codelist." +msgstr "" + +#. /properties/wholeListMerge/title +#: schema/metaschema/meta-schema-patch.json:1 +msgid "Whole list merge" +msgstr "" + +#. /properties/wholeListMerge/description +#: schema/metaschema/meta-schema-patch.json:1 +msgid "Whether the field's value must be treated as a literal when merging." +msgstr "" + diff --git a/docs/schema/index.md b/docs/schema/index.md index bee616bb8..41e93d5cf 100644 --- a/docs/schema/index.md +++ b/docs/schema/index.md @@ -21,3 +21,16 @@ identifiers codelists conformance_and_extensions ``` + +## Metaschema + +The schemas are described by the metaschema, which is an extended version of [JSON Schema Draft 4](https://json-schema.org/specification-links#draft-4). The metaschema adds keywords related to [codelists](codelists), [deprecation](../governance/deprecation) and [merging](merging). You can [download the metaschema in JSON format](../../build/current_lang/meta-schema.json). + +````{dropdown} View the metaschema + +The metaschema adds the following keywords: + +```{jsonschema} ../../build/current_lang/meta-schema-patch.json +``` + +```` diff --git a/include/common.mk b/include/common.mk index 424e82269..90b4c4d63 100644 --- a/include/common.mk +++ b/include/common.mk @@ -43,6 +43,10 @@ extract_codelists: $(POT_DIR) extract_schema: $(POT_DIR) pybabel extract -F babel_ocds_schema.cfg . -o $(POT_DIR)/$(DOMAIN_PREFIX)schema.pot +.PHONY: extract_metaschema +extract_metaschema: $(POT_DIR) + pybabel extract -F babel_ocds_metaschema.cfg . -o $(POT_DIR)/$(DOMAIN_PREFIX)metaschema.pot + # The codelist CSV files and JSON Schema files must be present for the `csv-table-no-translate` and `jsonschema` # directives to succeed, but the contents of the files have no effect on the generated .pot files. # See https://www.sphinx-doc.org/en/master/usage/builders/index.html#sphinx.builders.gettext.MessageCatalogBuilder @@ -51,7 +55,7 @@ extract_markdown: current_lang.en sphinx-build -nW --keep-going -q -b gettext $(DOCS_DIR) $(POT_DIR) .PHONY: extract -extract: extract_theme extract_codelists extract_schema $(EXTRACT_TARGETS) extract_markdown clean_current_lang +extract: extract_theme extract_codelists extract_schema extract_metaschema $(EXTRACT_TARGETS) extract_markdown clean_current_lang $(TRANSLATIONS:.%=docs/locale/%): docs/locale/%: FORCE sphinx-intl update -p $(POT_DIR) -d $(LOCALE_DIR) -l "$*" diff --git a/include/config.mk b/include/config.mk index 8be5c3709..bbe225a2e 100644 --- a/include/config.mk +++ b/include/config.mk @@ -40,6 +40,7 @@ PDF_DELAY=20000 .PHONY: compile compile: pybabel compile --use-fuzzy -d $(LOCALE_DIR) -D $(DOMAIN_PREFIX)schema + pybabel compile --use-fuzzy -d $(LOCALE_DIR) -D $(DOMAIN_PREFIX)metaschema pybabel compile --use-fuzzy -d $(LOCALE_DIR) -D $(DOMAIN_PREFIX)codelists # Put local targets below. diff --git a/schema/dereferenced-release-schema.json b/schema/dereferenced-release-schema.json index f71c5592f..645f36439 100644 --- a/schema/dereferenced-release-schema.json +++ b/schema/dereferenced-release-schema.json @@ -1,6 +1,6 @@ { "id": "https://standard.open-contracting.org/schema/1__1__5/release-schema.json", - "$schema": "http://json-schema.org/draft-04/schema#", + "$schema": "https://standard.open-contracting.org/schema/1__2__0/meta-schema.json", "title": "Schema for an Open Contracting Release", "description": "OCDS is used for contracts in public procurement (including design contests), concessions, public-private partnerships, government asset sales and other contexts. A \"release\" describes a single contracting or planning process at a particular point in time. One process may be described by many releases. A release may repeat or update the information provided in previous releases about the process.\\n\\nA \"compiled release\" follows the same structure as a release, but combines information about a contracting or planning process from multiple points in time into a single summary.\\n\\nOCDS defines a \"contracting process\" as: \"All the actions aimed at implementing one or more contracts. This covers tendering, awarding, contracting and implementation. It does not include actions linked to planning, as these are often less structured and may be linked to multiple contracting processes. In multi-stage procedures (e.g. framework agreements with reopening of competition), each round of competition is treated as a separate contracting process.\\n\\nProcedures that failed and were restarted are considered new processes.\\n\\nBoundaries between processes (e.g. whether two contracts result from a single process or from two processes) are set by buyers depending on their needs (e.g. efficient division of labor, clear communication with the market) and legislation (e.g. rules on using procedures and lots).\"\\n\\nOCDS defines a \"planning process\" as: \"All the actions aimed at planning one or more contracting processes. This covers, for example, need identification, budget planning, and market research.\\n\\nPlanning processes are often less structured than contracting processes, so one or more planning processes may lead to one or more contracting processes.\"", "type": "object", diff --git a/schema/meta-schema.json b/schema/meta-schema.json index 9045cc754..40b3754dd 100644 --- a/schema/meta-schema.json +++ b/schema/meta-schema.json @@ -1,5 +1,5 @@ { - "id": "http://json-schema.org/draft-04/schema#", + "id": "https://standard.open-contracting.org/schema/1__2__0/meta-schema.json", "$schema": "http://json-schema.org/draft-04/schema#", "description": "Core schema meta-schema", "definitions": { @@ -210,13 +210,19 @@ "$ref": "#" }, "$ref": { + "title": "URI Reference", + "description": "A reference to a statically identified schema. This keyword must be set to an absolute URI or a relative reference as defined by [RFC 3986](https://www.rfc-editor.org/info/rfc3986), where its fragment (if any) can consist of a JSON Pointer as defined by [RFC 6901](https://datatracker.ietf.org/doc/html/rfc6901).", "type": "string" }, "omitWhenMerged": { + "title": "Omit when merged", + "description": "Whether the field must be discarded during merging.", "type": "boolean", "default": false }, "deprecated": { + "title": "Deprecated", + "description": "Information about the deprecation of the field.", "type": "object", "additionalProperties": false, "required": [ @@ -225,21 +231,31 @@ ], "properties": { "deprecatedVersion": { + "title": "Deprecated version", + "description": "The OCDS version in which the field was first deprecated.", "type": "string" }, "description": { + "title": "Description", + "description": "A description of the reason for the field's deprecation.", "type": "string" } } }, "codelist": { + "title": "Codelist", + "description": "The CSV file that defines the codes in the codelist that the field refers to.", "type": "string" }, "openCodelist": { + "title": "Open codelist", + "description": "Whether the codelist that the field refers to is an open codelist.", "type": "boolean", "default": false }, "wholeListMerge": { + "title": "Whole list merge", + "description": "Whether the field's value must be treated as a literal when merging.", "type": "boolean", "default": false } diff --git a/schema/metaschema/meta-schema-patch.json b/schema/metaschema/meta-schema-patch.json index 8f6a8d70f..e642345e0 100644 --- a/schema/metaschema/meta-schema-patch.json +++ b/schema/metaschema/meta-schema-patch.json @@ -1,13 +1,20 @@ { + "id": "https://standard.open-contracting.org/schema/1__2__0/meta-schema.json", "properties": { "$ref": { + "title": "URI Reference", + "description": "A reference to a statically identified schema. This keyword must be set to an absolute URI or a relative reference as defined by [RFC 3986](https://www.rfc-editor.org/info/rfc3986), where its fragment (if any) can consist of a JSON Pointer as defined by [RFC 6901](https://datatracker.ietf.org/doc/html/rfc6901).", "type": "string" }, "omitWhenMerged": { + "title": "Omit when merged", + "description": "Whether the field must be discarded during merging.", "type": "boolean", "default": false }, "deprecated": { + "title": "Deprecated", + "description": "Information about the deprecation of the field.", "type": "object", "additionalProperties": false, "required": [ @@ -16,21 +23,31 @@ ], "properties": { "deprecatedVersion": { + "title": "Deprecated version", + "description": "The OCDS version in which the field was first deprecated.", "type": "string" }, "description": { + "title": "Description", + "description": "A description of the reason for the field's deprecation.", "type": "string" } } }, "codelist": { + "title": "Codelist", + "description": "The CSV file that defines the codes in the codelist that the field refers to.", "type": "string" }, "openCodelist": { + "title": "Open codelist", + "description": "Whether the codelist that the field refers to is an open codelist.", "type": "boolean", "default": false }, "wholeListMerge": { + "title": "Whole list merge", + "description": "Whether the field's value must be treated as a literal when merging.", "type": "boolean", "default": false } diff --git a/schema/record-package-schema.json b/schema/record-package-schema.json index a674737b0..fc2b023c9 100644 --- a/schema/record-package-schema.json +++ b/schema/record-package-schema.json @@ -1,6 +1,6 @@ { "id": "https://standard.open-contracting.org/schema/1__1__5/record-package-schema.json", - "$schema": "http://json-schema.org/draft-04/schema#", + "$schema": "https://standard.open-contracting.org/schema/1__2__0/meta-schema.json", "title": "Schema for an Open Contracting Record package", "description": "The record package contains a list of records along with some publishing metadata.", "type": "object", diff --git a/schema/record-schema.json b/schema/record-schema.json index 7ab011891..c324c1743 100644 --- a/schema/record-schema.json +++ b/schema/record-schema.json @@ -1,6 +1,6 @@ { "id": "https://standard.open-contracting.org/schema/1__2__0/record-schema.json", - "$schema": "http://json-schema.org/draft-04/schema#", + "$schema": "https://standard.open-contracting.org/schema/1__2__0/meta-schema.json", "title": "Record", "description": "A record aggregates releases with the same open contracting process identifier (ocid). There should be a single record per ocid per [distribution](https://www.w3.org/TR/vocab-dcat-2/#Class:Distribution), where a distribution might be a specific API endpoint or a specific bulk download file.", "type": "object", diff --git a/schema/release-package-schema.json b/schema/release-package-schema.json index 9700ebb37..d5ac36367 100644 --- a/schema/release-package-schema.json +++ b/schema/release-package-schema.json @@ -1,6 +1,6 @@ { "id": "https://standard.open-contracting.org/schema/1__1__5/release-package-schema.json", - "$schema": "http://json-schema.org/draft-04/schema#", + "$schema": "https://standard.open-contracting.org/schema/1__2__0/meta-schema.json", "title": "Schema for an Open Contracting Release Package", "description": "The release package contains a list of releases along with some publishing metadata.", "type": "object", diff --git a/schema/release-schema.json b/schema/release-schema.json index 46f3ea6d8..4880cbc81 100644 --- a/schema/release-schema.json +++ b/schema/release-schema.json @@ -1,6 +1,6 @@ { "id": "https://standard.open-contracting.org/schema/1__1__5/release-schema.json", - "$schema": "http://json-schema.org/draft-04/schema#", + "$schema": "https://standard.open-contracting.org/schema/1__2__0/meta-schema.json", "title": "Schema for an Open Contracting Release", "description": "OCDS is used for contracts in public procurement (including design contests), concessions, public-private partnerships, government asset sales and other contexts. A \"release\" describes a single contracting or planning process at a particular point in time. One process may be described by many releases. A release may repeat or update the information provided in previous releases about the process.\\n\\nA \"compiled release\" follows the same structure as a release, but combines information about a contracting or planning process from multiple points in time into a single summary.\\n\\nOCDS defines a \"contracting process\" as: \"All the actions aimed at implementing one or more contracts. This covers tendering, awarding, contracting and implementation. It does not include actions linked to planning, as these are often less structured and may be linked to multiple contracting processes. In multi-stage procedures (e.g. framework agreements with reopening of competition), each round of competition is treated as a separate contracting process.\\n\\nProcedures that failed and were restarted are considered new processes.\\n\\nBoundaries between processes (e.g. whether two contracts result from a single process or from two processes) are set by buyers depending on their needs (e.g. efficient division of labor, clear communication with the market) and legislation (e.g. rules on using procedures and lots).\"\\n\\nOCDS defines a \"planning process\" as: \"All the actions aimed at planning one or more contracting processes. This covers, for example, need identification, budget planning, and market research.\\n\\nPlanning processes are often less structured than contracting processes, so one or more planning processes may lead to one or more contracting processes.\"", "type": "object", diff --git a/schema/versioned-release-validation-schema.json b/schema/versioned-release-validation-schema.json index 55b8de369..fcc994bb7 100644 --- a/schema/versioned-release-validation-schema.json +++ b/schema/versioned-release-validation-schema.json @@ -1,6 +1,6 @@ { "id": "https://standard.open-contracting.org/schema/1__1__5/versioned-release-validation-schema.json", - "$schema": "http://json-schema.org/draft-04/schema#", + "$schema": "https://standard.open-contracting.org/schema/1__2__0/meta-schema.json", "title": "Schema for a compiled, versioned Open Contracting Release.", "description": "OCDS is used for contracts in public procurement (including design contests), concessions, public-private partnerships, government asset sales and other contexts. A \"release\" describes a single contracting or planning process at a particular point in time. One process may be described by many releases. A release may repeat or update the information provided in previous releases about the process.\\n\\nA \"compiled release\" follows the same structure as a release, but combines information about a contracting or planning process from multiple points in time into a single summary.\\n\\nOCDS defines a \"contracting process\" as: \"All the actions aimed at implementing one or more contracts. This covers tendering, awarding, contracting and implementation. It does not include actions linked to planning, as these are often less structured and may be linked to multiple contracting processes. In multi-stage procedures (e.g. framework agreements with reopening of competition), each round of competition is treated as a separate contracting process.\\n\\nProcedures that failed and were restarted are considered new processes.\\n\\nBoundaries between processes (e.g. whether two contracts result from a single process or from two processes) are set by buyers depending on their needs (e.g. efficient division of labor, clear communication with the market) and legislation (e.g. rules on using procedures and lots).\"\\n\\nOCDS defines a \"planning process\" as: \"All the actions aimed at planning one or more contracting processes. This covers, for example, need identification, budget planning, and market research.\\n\\nPlanning processes are often less structured than contracting processes, so one or more planning processes may lead to one or more contracting processes.\"", "type": "object", diff --git a/tests/test_schema_integrity.py b/tests/test_schema_integrity.py index c6fdb0f86..6a1356352 100644 --- a/tests/test_schema_integrity.py +++ b/tests/test_schema_integrity.py @@ -3,7 +3,7 @@ """ import json -import os.path +import os import sys import jsonref @@ -38,3 +38,16 @@ def test_meta_schema_is_in_sync(): actual = json.load(f) assert actual == get_metaschema(), "Run: python manage.py pre-commit" + + +def test_meta_schema_references(): + with open("schema/meta-schema.json") as f: + metaschema = json.load(f) + + for file_name in os.listdir("schema"): + if file_name.endswith("-schema.json") and "meta-schema" not in file_name: + file_path = os.path.join("schema", file_name) + with open(file_path) as f: + schema = json.load(f) + + assert schema["$schema"] == metaschema["id"], f"Incorrect $schema in {file_name}: {schema['$schema']}"