From 4f7ca3a337df69137099a1172a7ed5f4160e5f30 Mon Sep 17 00:00:00 2001 From: illfixit <66363651+illfixit@users.noreply.github.com> Date: Wed, 25 Sep 2024 15:15:21 +0200 Subject: [PATCH 01/25] feat: i18n dashboard, create data offer, assets --- .../asset-create-dialog.component.html | 191 +++++++++++------ .../dashboard-page.component.html | 2 +- .../asset-detail-dialog.component.html | 27 ++- .../edit-asset-form.component.html | 200 +++++++++++------- src/assets/i18n/de.json | 6 +- src/assets/i18n/en.json | 95 ++++++++- 6 files changed, 363 insertions(+), 158 deletions(-) diff --git a/src/app/routes/connector-ui/asset-list-page/asset-create-dialog/asset-create-dialog.component.html b/src/app/routes/connector-ui/asset-list-page/asset-create-dialog/asset-create-dialog.component.html index 6ae63e73..675a7027 100644 --- a/src/app/routes/connector-ui/asset-list-page/asset-create-dialog/asset-create-dialog.component.html +++ b/src/app/routes/connector-ui/asset-list-page/asset-create-dialog/asset-create-dialog.component.html @@ -13,7 +13,7 @@

- Title + {{ 'general.title' | translate }} class="!scale-[0.9]" mat-icon-button matSuffix - matTooltip="The main title of your asset. It will also be the title of the data offering displayed in the catalog."> + matTooltip="{{ 'create_asset.title_tooltip' | translate }}"> info_outline @@ -39,7 +39,7 @@

class="!scale-[0.9]" mat-icon-button matSuffix - matTooltip="The version of your asset. Especially useful if you have iterations of the same asset."> + matTooltip="{{ 'create_asset.version_tooltip' | translate }}"> info_outline @@ -59,7 +59,7 @@

class="!scale-[0.9]" mat-icon-button matSuffix - matTooltip="Asset ID, used internally, is an auto-generated string in a URL-compatible format, combining the asset name and version with a urn:artifact: prefix. You can customize it if needed."> + matTooltip="{{ 'create_asset.asset_id_tooltip' | translate }}"> info_outline @@ -117,7 +117,7 @@

[formControl]="form.metadata.controls.contentType" [placeholder]="'text/plain'" /> - Describes the content type of the data as a MIME type, see + {{ 'create_asset.content_type_hint' | translate }} class="!scale-[0.9]" mat-icon-button matSuffix - matTooltip="URL to the technical documentation about the data to be received."> + matTooltip="{{ + 'create_asset.endpoint_documentation_tooltip' | translate + }}"> info_outline @@ -177,7 +179,9 @@

class="!scale-[0.9]" mat-icon-button matSuffix - matTooltip="URL of the license under which the data is offered"> + matTooltip="{{ + 'create_asset.standard_license_tooltip' | translate + }}"> info_outline @@ -216,7 +220,7 @@

- Data Model + {{ 'general.data_model' | translate }} class="!scale-[0.9]" mat-icon-button matSuffix - matTooltip="Model for data exchange, e.g. DATEX II, TPEG for traffic and travel information, etc."> + matTooltip="{{ 'create_asset.data_model_tooltip' | translate }}"> info_outline @@ -234,14 +238,16 @@

- Geo reference method + {{ + 'general.geo_reference_method' | translate + }} class="!scale-[0.9]" mat-icon-button matSuffix - matTooltip="The method used for representing of geographical data, e.g GeoJSON, OpenLR, etc."> + matTooltip="{{ + 'general.geo_reference_method_tooltip' | translate + }}"> info_outline @@ -258,16 +266,20 @@

- Sovereign + {{ 'general.sovereign' | translate }} @@ -275,23 +287,32 @@

- Data update frequency + {{ + 'create_data_offer.data_update_frequency_label' | translate + }} - Geo location + {{ + 'create_data_offer.geo_location_label' | translate + }} class="!scale-[0.9]" mat-icon-button matSuffix - matTooltip="Simple description of the relevant geolocation, e.g. Hamburg and vicinity."> + matTooltip="{{ + 'create_data_offer.geo_location_tooltip' | translate + }}"> info_outline @@ -308,13 +331,17 @@

-
NUTS locations
+
+ {{ 'create_data_offer.nuts_locations_label' | translate }} +
@@ -325,7 +352,9 @@

" class="flex flex-row space-x-[10px]"> - NUTS location + {{ + 'create_data_offer.nuts_location' | translate + }} @@ -334,7 +363,7 @@

color="warn" style="height: 54px; margin-top: 4px; margin-left: 8px" (click)="form.onNutsLocationsRemoveClick(i)"> - Remove + {{ 'general.remove' | translate }}

@@ -343,19 +372,23 @@

mat-button color="accent" (click)="form.onNutsLocationsAddClick()"> - Add location + {{ 'create_data_offer.add_location' | translate }}

-
Data samples
+
+ {{ 'create_data_offer.data_samples' | translate }} +
@@ -378,7 +411,7 @@

color="warn" style="height: 54px; margin-top: 4px; margin-left: 8px" (click)="form.onDataSampleUrlsRemoveClick(i)"> - Remove + {{ 'general.remove' | translate }} @@ -387,20 +420,24 @@

mat-button color="accent" (click)="form.onDataSampleUrlsAddClick()"> - Add data sample + {{ 'asset_list_page.add_sample' | translate }}
-
Reference files
+
+ {{ 'create_data_offer.reference_files' | translate }} +
@@ -423,7 +460,7 @@

color="warn" style="height: 54px; margin-top: 4px; margin-left: 8px" (click)="form.onReferenceFileUrlsRemoveClick(i)"> - Remove + {{ 'general.remove' | translate }} @@ -432,14 +469,14 @@

mat-button color="accent" (click)="form.onReferenceFileUrlsAddClick()"> - Add reference file + {{ 'asset_list_page.add_file' | translate }} - Reference files description + {{ 'asset_list_page.file_des' | translate }} Additional information regarding the reference files. + >{{ 'asset_list_page.file_des_hint1' | translate }} Supports + >{{ 'asset_list_page.file_des_hint2' | translate }} *ngIf="form.advanced.controls.temporalCoverage; let ctrl" class="mt-[20px]" color="accent"> - Temporal coverage + {{ + 'create_data_offer.temporal_coverage' | translate + }} + placeholder="{{ + 'create_data_offer.start_date' | translate + }}" /> + placeholder="{{ + 'create_data_offer.end-date-inclusive' | translate + }}" /> Start and/or end date when the dataset is available for - consumption. DD/MM/YYYY (optional) – DD/MM/YYYY (optional) + >{{ 'create_data_offer.temporal_coverage_hint' | translate }} - Conditions for use + {{ + 'create_data_offer.conditions_for_use_label' | translate + }} Additional not legally relevant usage instructions (e.g. how to - cite the dataset).
- Supports -
Markdown syntax - + >{{ + 'create_data_offer.conditions_for_use_description_hint' + | translate + }} + Markdown syntax @@ -557,12 +602,16 @@

-
Contact E-Mail
+
+ {{ 'create_data_offer.contact_email' | translate }} +
- Contact E-Mail + {{ + 'create_data_offer.contact_email' | translate + }} class="!scale-[0.9]" mat-icon-button matSuffix - matTooltip="This email address will be offered to potential consumers for - contacting you. This is done in place of having an actual data - source connected."> + matTooltip="{{ 'create_asset.email_tooltip' | translate }}"> info_outline @@ -582,7 +629,9 @@

-
Preferred E-Mail Subject
+
+ {{ 'create_asset.prefered_email_subject' | translate }} +
- Preferred E-Mail Subject + {{ + 'create_asset.prefered_email_subject' | translate + }} class="!scale-[0.9]" mat-icon-button matSuffix - matTooltip="When potential customers reach out to you via email, you’ll - receive messages with this subject line."> + matTooltip="{{ + 'create_asset.prefered_email_subject_tooltip' | translate + }}"> info_outline @@ -772,7 +824,7 @@

: ('general.enable' | translate) }} {{ 'asset_list_page.query_para_single' | translate }} - Parameterization + {{ 'general.parametrization' | translate }} @@ -829,7 +881,7 @@

form.datasource.controls.httpAuthHeaderType.value !== 'None' " class="grow"> - Type + {{ 'general.type' | translate }} @@ -850,7 +902,10 @@

{{ 'general.auth_header' | translate }} @@ -864,7 +919,9 @@

{{ 'general.auth_value' | translate }} diff --git a/src/app/routes/connector-ui/dashboard-page/dashboard-page/dashboard-page.component.html b/src/app/routes/connector-ui/dashboard-page/dashboard-page/dashboard-page.component.html index 6b6e77be..dad9dc4d 100644 --- a/src/app/routes/connector-ui/dashboard-page/dashboard-page/dashboard-page.component.html +++ b/src/app/routes/connector-ui/dashboard-page/dashboard-page/dashboard-page.component.html @@ -127,7 +127,7 @@ "> Provided by + >{{ 'dashboard_page.provided' | translate }} - · terminated by + · {{ 'general.terminated_by' | translate }} {{ data.contractAgreement!.terminationInformation?.terminatedBy === 'SELF' @@ -140,15 +140,21 @@
-
On Request Data Offer
+
+ {{ 'asset_detail_dialog.on_request_data_offer_title' | translate }} +
- This data offer is not available for immediate consumption. However, the - creator left an email address to contact them if interested. + {{ 'asset_detail_dialog.on_request_data_offer_description1' | translate }}
- Click Contact to email the data offer - provider. Alternatively, you can also copy the contact email address from - the Contact Information
section above. + {{ 'asset_detail_dialog.on_request_data_offer_description2' | translate + }}{{ + 'asset_detail_dialog.on_request_data_offer_description3' | translate + }}{{ 'asset_detail_dialog.on_request_data_offer_description4' | translate + }}
{{ + 'asset_detail_dialog.on_request_data_offer_description5' | translate + }}.
@@ -165,7 +171,7 @@ color="warn" [disabled]="data.contractAgreement?.isTerminated ?? false" (click)="onTerminateClick()"> - Terminate + {{ 'general.terminate' | translate }} @@ -190,7 +196,8 @@ color="primary" [matTooltip]=" limitsExceeded - ? 'You have reached the maximum number of consuming contracts. Please terminate one of the existing contracts to negotiate a new one.' + ? ('You have reached the maximum number of consuming contracts. Please terminate one of the existing contracts to negotiate a new one.' + | translate) : '' " [disabled]=" @@ -222,7 +229,7 @@ mat-raised-button color="primary" (click)="onContactClick()"> - Contact + {{ 'general.contact' | translate }} diff --git a/src/app/shared/business/edit-asset-form/edit-asset-form.component.html b/src/app/shared/business/edit-asset-form/edit-asset-form.component.html index 8b6ab9cc..013d9ef3 100644 --- a/src/app/shared/business/edit-asset-form/edit-asset-form.component.html +++ b/src/app/shared/business/edit-asset-form/edit-asset-form.component.html @@ -17,15 +17,15 @@ aria-label="Select an option" [formControl]="form.datasource.controls.dataSourceAvailability"> - Keep the datasource unchanged. + {{ 'create_data_offer.unchanged' | translate }} - Readily available with a new data source + {{ 'create_data_offer.readily_available' | translate }} - On Request + {{ 'create_data_offer.on_request' | translate }} @@ -39,7 +39,7 @@ placeholder="{{ 'create_data_offer.contact_email_placeholder' | translate }}" - tooltip="'contact_form.contact_email_tooltip' | translate" + [tooltip]="'create_data_offer.contact_email_tooltip' | translate" [label]="'create_data_offer.contact_email' | translate" [ctrl]=" form.datasource.controls.contactEmail @@ -50,8 +50,10 @@ class="mt-5" fieldId="create-asset-form-contact-subject" label="Preferred E-Mail Subject" - placeholder="Data Offer 'xyz'" - tooltip="'contact_form.contact_subject_tooltip' | translate" + placeholder="{{ + 'create_data_offer.data_offer_email_subject_placeholder' | translate + }}" + [tooltip]="'create_data_offer.contact_subject_tooltip' | translate" [ctrl]="form.datasource.controls.contactPreferredEmailSubject"> @@ -76,7 +78,9 @@ form.datasource.controls.dataDestination; let ctrl " - label="Custom Datasource Config (JSON)" + label="{{ + 'create_data_offer.custom_datasource_config_json_label' | translate + }}" fieldId="create-asset-form-custom-datasource-json" placeholder='{"https://w3id.org/edc/v0.0.1/ns/type": "HttpData", ...}' [ctrl]="ctrl"> @@ -209,9 +213,7 @@ - With query param parameterization enabled, the default query - params and the query params provided by the consumer will be - merged. + {{ 'create_data_offer.query_param_enabled_hint' | translate }}
@@ -311,7 +313,10 @@ @@ -323,7 +328,9 @@ class="grow"> @@ -378,7 +385,9 @@ @@ -420,7 +429,7 @@ @@ -429,7 +438,7 @@ @@ -471,7 +480,7 @@ class="mt-4" fieldId="create-asset-form-version" placeholder="1.0.0" - tooltip="The version of your asset. Especially useful if you have iterations of the same asset." + tooltip="{{ 'create_data_offer.version_tooltip' | translate }}" [label]="'asset_list_page.version' | translate" [ctrl]="form.general.controls.version"> @@ -484,20 +493,24 @@ + myTitle="{{ + 'create_data_offer.mobility_information_myTitle' | translate + }}" + description="{{ + 'create_data_offer.mobility_information_description' | translate + }}"> @@ -515,30 +528,36 @@
- +
@@ -575,7 +599,7 @@ color="warn" style="height: 42px; margin-top: 4px; margin-left: 8px" (click)="form.onDataSampleUrlsRemoveClick($event, i)"> - Remove + {{ 'general.remove' | translate }}
@@ -583,20 +607,24 @@ mat-button color="accent" (click)="form.onDataSampleUrlsAddClick($event)"> - Add data sample + {{ 'asset_list_page.add_sample' | translate }}
+ label="{{ + 'create_data_offer.reference_files' | translate + }}">
@@ -618,7 +646,7 @@ color="warn" style="height: 42px; margin-top: 4px; margin-left: 8px" (click)="form.onReferenceFileUrlsRemoveClick($event, i)"> - Remove + {{ 'general.remove' | translate }}
@@ -626,7 +654,7 @@ mat-button color="accent" (click)="form.onReferenceFileUrlsAddClick($event)"> - Add reference file + {{ 'asset_list_page.add_file' | translate }}
@@ -634,14 +662,14 @@
- Additional information regarding the reference files. Supports + {{ 'create_data_offer.reference_files_description' | translate }} + myTitle="{{ 'create_data_offer.location_time_title' | translate }}" + description="{{ + 'create_data_offer.location_time_description' | translate + }}">
+ label="{{ + 'create_data_offer.temporal_coverage' | translate + }}"> + placeholder="{{ 'create_data_offer.start_date' | translate }}" /> + placeholder="{{ + 'create_data_offer.end-date-inclusive' | translate + }}" /> Start and/or end date when the dataset is available for - consumption. DD/MM/YYYY (optional) – DD/MM/YYYY (optional) + >{{ 'create_data_offer.temporal_coverage_hint' | translate }} @@ -702,9 +741,11 @@ @@ -712,20 +753,25 @@
- +
@@ -736,7 +782,9 @@ " class="flex flex-row space-x-2 -mt-2"> - NUTS location + {{ + 'create_data_offer.nuts_location' | translate + }}
@@ -752,7 +800,7 @@ mat-button color="accent" (click)="form.onNutsLocationsAddClick($event)"> - Add location + {{ 'asset_list_page.add_loc' | translate }}
@@ -760,15 +808,19 @@ + myTitle="{{ 'create_data_offer.legal_information_title' | translate }}" + description="{{ + 'create_data_offer.legal_information_description' | translate + }}"> @@ -776,33 +828,34 @@
- Additional not legally relevant usage instructions (e.g. how to cite - the dataset). The field supports + {{ + 'create_data_offer.conditions_for_use_description_hint' | translate + }} {{ 'general.pub_unrestr' | translate }} @@ -834,7 +886,7 @@ mat-icon-button matSuffix matTooltipPosition="right" - matTooltip="Your data offer is published and can be accessed by everyone."> + matTooltip="{{ 'general.pub_unrestr_tooltip' | translate }}"> info_outline @@ -845,7 +897,7 @@ mat-icon-button matSuffix matTooltipPosition="right" - matTooltip="Your data offer is published with restrictions of your choice."> + matTooltip="{{ 'general.pub_restr_tooltip' | translate }}"> info_outline @@ -856,7 +908,7 @@ mat-icon-button matSuffix matTooltipPosition="right" - matTooltip="Create the asset but do not publish your data offer. You can do it later."> + matTooltip="{{ 'general.pub_asset_only_tooltip' | translate }}"> info_outline diff --git a/src/assets/i18n/de.json b/src/assets/i18n/de.json index c13c543a..b3017f92 100644 --- a/src/assets/i18n/de.json +++ b/src/assets/i18n/de.json @@ -264,7 +264,8 @@ "your_assets": "Deine Datenbestände", "your_pol": "Deine Richtlinien", "pre_cat": "Vorkonfigurierte Kataloge", - "con_agree": "Vertragliche Vereinbarungen" + "con_agree": "Vertragliche Vereinbarungen", + "provided": "Provided by" }, "policy_definition_page": { "create_pol": "Erstelle eine neue Richtlinie", @@ -290,5 +291,6 @@ "policies": "Richtlinien", "contract": "Vertragsdefinition", "logout": "Ausloggen" - } + }, + "dashboard_page.marketing_about_ui": "" } diff --git a/src/assets/i18n/en.json b/src/assets/i18n/en.json index 78006e8d..de6d9578 100644 --- a/src/assets/i18n/en.json +++ b/src/assets/i18n/en.json @@ -92,7 +92,20 @@ "pub_restr": "Publish restricted", "pub_asset_only": "Create asset only (without data offer)", "pub_mode": "Publishing Mode", - "doc": "Documentation" + "doc": "Documentation", + "select_an_option": "Select an option", + "pub_unrestr_tooltip": "Your data offer is published and can be accessed by everyone.", + "pub_restr_tooltip": "Your data offer is published with restrictions of your choice.", + "pub_asset_only_tooltip": "Create the asset but do not publish your data offer. You can do it later.", + "publish": "Publish", + "terminated_by": "terminated by", + "tags": "Tags", + "terminate": "Terminate", + "limit_reached": "You have reached the maximum number of consuming contracts. Please terminate one of the existing contracts to negotiate a new one.", + "contact": "Contact", + "ad_inf": "Advanced Information", + "geo_reference_method_tooltip": "The method used for representing of geographical data, e.g GeoJSON, OpenLR, etc.", + "parametrization": "Parameterization" }, "tooltip": { "negotiate": "Cannot negotiate contracts with your own connector.", @@ -186,7 +199,9 @@ "add_loc": "Add location", "add_sample": "Add data sample", "name": "Title", - "version": "Version" + "version": "Version", + "file_des_hint1": "Additional information regarding the reference files.", + "file_des_hint2": "Supports" }, "catalog_browser_page": { "title": "Catalog Browser", @@ -242,7 +257,58 @@ "contact_email_placeholder": "contact@my-org.com", "contact_email": "Contact E-Mail", "contact_email_tooltip": "This email address will be offered to potential consumers for contacting you. This is done in place of having an actual data source connected.", - "contact_subject_tooltip": "When potential customers reach out to you via email, you’ll receive messages with this subject line." + "contact_subject_tooltip": "When potential customers reach out to you via email, you’ll receive messages with this subject line.", + "unchanged": "Keep the datasource unchanged.", + "readily_available": "Readily available with a new data source", + "on_request": "On Request", + "query_param_enabled_hint": "With query param parameterization enabled, the default query params and the query params provided by the consumer will be merged.", + "data_offer_email_subject_placeholder": "Data Offer 'xyz", + "custom_datasource_config_json_label": "Custom Datasource Config (JSON)", + "authorization_header_placeholder": "Authorization", + "bearer_placeholder": "Bearer ...", + "accept_placeholder": "Accept", + "asset_id_tooltip": "Asset ID, used internally, is an auto-generated string in a URL-compatible format, combining the asset name and version with a urn:artifact: prefix. You can customize it if needed.", + "title_tooltip": "The main title of your asset. It will also be the title of the data offering displayed in the catalog.", + "ref_files_description_placeholder": "# My Asset\\n\\nAt vero eos et accusam et justo duo dolores et ea rebum.\\n\\n## Details\\n\\nAt vero eos et accusam et justo duo dolores et ea **rebum**.", + "data_model_tooltip": "Model for data exchange, e.g. DATEX II, TPEG for traffic and travel information, etc.", + "data_model_placeholder": "proprietary", + "mobility_information_myTitle": "Mobility Information", + "mobility_information_description": "Fill out the asset's mobility information", + "version_tooltip": "The version of your asset. Especially useful if you have iterations of the same asset.", + "context_information_description": "Provide context information about the datasource", + "endpoint_documentation_tooltip": "URL to the technical documentation about the data to be received.", + "data_samples": "Data samples", + "data_samples_tooltip": "URLs of Dataset samples if available", + "reference_files": "Reference files", + "reference_files_tooltip": "URLs of Dataset schemas or other references", + "reference_files_description": "Additional information regarding the reference files. Supports", + "location_time_title": "Location / Time", + "location_time_description": "Fill out location and time information about the asset", + "temporal_coverage": "Temporal coverage", + "start_date": "Start date", + "end-date-inclusive": "End date (inclusive)", + "temporal_coverage_hint": "Start and/or end date when the dataset is available for consumption. DD/MM/YYYY (optional) – DD/MM/YYYY (optional)", + "data_update_frequency_label": "Data update frequency", + "data_update_frequency_placeholder": "every month", + "data_update_frequency_tooltip": "How often is the dataset updated, e.g\t'Every 5 min.", + "geo_reference_placeholder": "Lat/Lon", + "geo_reference_tooltip": "The method used for representing of geographical data, e.g GeoJSON, OpenLR, etc.", + "geo_location_label": "Geo location", + "geo_location_description": "Simple description of the relevant geolocation, e.g. Hamburg and vicinity.", + "nuts_locations_label": "NUTS locations", + "nuts_locations_tooltip": "NUTS codes are regional identifiers in Germany used for statistical and administrative purposes, covering states, districts, and municipalities. (e.g DE60)", + "nuts_location": "NUTS location", + "legal_information_title": "Legal Information", + "legal_information_description": "Provide legal information and define the conditions for use", + "sovereign_placeholder": "Data Owning Company GMBH", + "sovereign_tooltip": "Legal name of the data owner", + "publisher_tooltip": "URL of the original publisher of the data", + "standard-license-tooltip": "URL of the license under which the data is offered.", + "conditions_for_use_label": "Conditions for use", + "conditions_for_use_description_hint": "Additional not legally relevant usage instructions (e.g. how to cite the dataset). The field supports", + "geo_location_tooltip": "Simple description of the relevant geolocation, e.g. Hamburg and vicinity.", + "add_location": "Add location", + "conditions_for_use_placeholder": "Please cite the dataset as..." }, "create_data_offer_page": { "title": "Create Data Offer" @@ -305,7 +371,8 @@ "your_assets": "Your Assets", "your_pol": "Your Policies", "pre_cat": "Preconfigured Catalogs", - "con_agree": "Contract Agreements" + "con_agree": "Contract Agreements", + "provided": "Provided by" }, "policy_definition_page": { "title": "Policies", @@ -342,5 +409,25 @@ "policies": "Policies", "contract": "Contract Definitions", "logout": "Logout" + }, + "asset_detail_dialog": { + "on_request_data_offer_title": "On Request Data Offer", + "on_request_data_offer_description1": "This data offer is not available for immediate consumption. However, the creator left an email address to contact them if interested.", + "on_request_data_offer_description2": "Click", + "on_request_data_offer_description3": "Contact", + "on_request_data_offer_description4": "to email the data offer provider. Alternatively, you can also copy the contact email address from the Contact Information", + "on_request_data_offer_description5": "section above" + }, + "create_asset": { + "title_tooltip": "The main title of your asset. It will also be the title of the data offering displayed in the catalog.", + "version_tooltip": "The version of your asset. Especially useful if you have iterations of the same asset.", + "asset_id_tooltip": "Asset ID, used internally, is an auto-generated string in a URL-compatible format, combining the asset name and version with a urn:artifact: prefix. You can customize it if needed.", + "content_type_hint": "Describes the content type of the data as a MIME type, see", + "endpoint_documentation_tooltip": "URL to the technical documentation about the data to be received.", + "standard_license_tooltip": "URL of the license under which the data is offered", + "data_model_tooltip": "Model for data exchange, e.g. DATEX II, TPEG for traffic and travel information, etc.", + "email_tooltip": "This email address will be offered to potential consumers for contacting you. This is done in place of having an actual data source connected.", + "prefered_email_subject": "Preferred E-Mail Subject", + "prefered_email_subject_tooltip": "When potential customers reach out to you via email, you’ll receive messages with this subject line." } } From d5e3b1838961a903f02322b6c5fac67f27dcfee7 Mon Sep 17 00:00:00 2001 From: illfixit <66363651+illfixit@users.noreply.github.com> Date: Wed, 25 Sep 2024 15:38:14 +0200 Subject: [PATCH 02/25] . --- ...timespan-restriction-dialog.component.html | 24 ++++++++++++++----- 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/src/app/shared/business/policy-editor/editor/recipes/timespan-restriction-dialog/timespan-restriction-dialog.component.html b/src/app/shared/business/policy-editor/editor/recipes/timespan-restriction-dialog/timespan-restriction-dialog.component.html index 2eaebea6..f00cfbae 100644 --- a/src/app/shared/business/policy-editor/editor/recipes/timespan-restriction-dialog/timespan-restriction-dialog.component.html +++ b/src/app/shared/business/policy-editor/editor/recipes/timespan-restriction-dialog/timespan-restriction-dialog.component.html @@ -1,4 +1,6 @@ -

Timespan Restriction

+

+ {{ 'policy_expression.timespan_restriction_title' | translate }} +

@@ -6,10 +8,18 @@

Timespan Restriction

*ngIf="group.controls.range; let ctrl" class="mt-[20px]" color="accent"> - Date Range + {{ + 'policy_definition_page.date_range' | translate + }} - - + + DD/MM/YYYY – DD/MM/YYYY @@ -22,13 +32,15 @@

Timespan Restriction

- + From 627cd5fb38392a4aff88301bb8c7e7334b8d0537 Mon Sep 17 00:00:00 2001 From: illfixit <66363651+illfixit@users.noreply.github.com> Date: Wed, 25 Sep 2024 15:47:40 +0200 Subject: [PATCH 03/25] feat: contr agreements --- .vscode/settings.json | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 .vscode/settings.json diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 00000000..15cec4df --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,4 @@ +{ + "i18n-ally.localesPaths": ["src/assets/i18n"], + "i18n-ally.keystyle": "nested" +} From 54d087efd5378b367567b78951bf52ebec0a2fdb Mon Sep 17 00:00:00 2001 From: illfixit <66363651+illfixit@users.noreply.github.com> Date: Wed, 25 Sep 2024 18:30:23 +0200 Subject: [PATCH 04/25] refactor: dashboard page --- .../dashboard-page.component.html | 4 +-- src/assets/i18n/en.json | 30 ++++++++++++++++--- 2 files changed, 28 insertions(+), 6 deletions(-) diff --git a/src/app/routes/connector-ui/dashboard-page/dashboard-page/dashboard-page.component.html b/src/app/routes/connector-ui/dashboard-page/dashboard-page/dashboard-page.component.html index dad9dc4d..ab630576 100644 --- a/src/app/routes/connector-ui/dashboard-page/dashboard-page/dashboard-page.component.html +++ b/src/app/routes/connector-ui/dashboard-page/dashboard-page/dashboard-page.component.html @@ -96,7 +96,7 @@ @@ -114,7 +114,7 @@ diff --git a/src/assets/i18n/en.json b/src/assets/i18n/en.json index de6d9578..0e5cdc68 100644 --- a/src/assets/i18n/en.json +++ b/src/assets/i18n/en.json @@ -105,7 +105,12 @@ "contact": "Contact", "ad_inf": "Advanced Information", "geo_reference_method_tooltip": "The method used for representing of geographical data, e.g GeoJSON, OpenLR, etc.", - "parametrization": "Parameterization" + "parametrization": "Parameterization", + "combine": "Combine", + "start_date": "Start date", + "end_date": "End date", + "date": "Date", + "copy_to_clipboard_tooltip": "Copy to clipboard" }, "tooltip": { "negotiate": "Cannot negotiate contracts with your own connector.", @@ -245,7 +250,10 @@ "new_def": "Publish New Data Offer", "search_def": "Search data offer", "create_def": "Publish Data Offer", - "con_def": "No data offer found with given filter." + "con_def": "No data offer found with given filter.", + "active_contracts": "Active Contracts", + "terminated_contracts": "Terminated Contracts", + "all_contracts": "All Contracts" }, "contract_definition_page": { "title": "Data Offers", @@ -372,7 +380,8 @@ "your_pol": "Your Policies", "pre_cat": "Preconfigured Catalogs", "con_agree": "Contract Agreements", - "provided": "Provided by" + "provided": "Provided by", + "catalog_browser": "Catalog Browser" }, "policy_definition_page": { "title": "Policies", @@ -384,7 +393,8 @@ "search_pol": "Search policies", "create_policy": "Create Policy", "no_pol": "No policy found with given filter.", - "expression": "Policy Expression" + "expression": "Policy Expression", + "metadata": "Policy Metadata" }, "create_policy_page": { "title": "Create Policy" @@ -429,5 +439,17 @@ "email_tooltip": "This email address will be offered to potential consumers for contacting you. This is done in place of having an actual data source connected.", "prefered_email_subject": "Preferred E-Mail Subject", "prefered_email_subject_tooltip": "When potential customers reach out to you via email, you’ll receive messages with this subject line." + }, + "policy_expression": { + "timespan_restriction_title": "Timespan Restriction", + "timespan_restriction_tooltip": "Timespan at which the policy is evaluated. This can be used to restrict the data offer to certain time periods", + "participant_id_title": "Consumer's Participant ID", + "participant_id_description": "Consumer's Participant ID, also called Connector ID, of the counter-party connector.", + "participant_id_hint": "Multiple values can be joined by comma", + "time_restriction_title": "Time Restriction", + "time_restriction_description": "Time at which the policy is evaluated. This can be used to restrict the data offer to certain time periods", + "add_tooltip": "Conjunction of several expressions. Evaluates to true if and only if all child expressions are true", + "or_tooltip": "Disjunction of several expressions. Evaluates to true if and only if at least one child expression is true", + "xone_tooltip": "XONE operation. Evaluates to true if and only if exactly one child expression is true" } } From 5ed26b4cec2a717e61e0926c01d79c91625bf8c0 Mon Sep 17 00:00:00 2001 From: illfixit <66363651+illfixit@users.noreply.github.com> Date: Wed, 25 Sep 2024 20:08:15 +0200 Subject: [PATCH 05/25] refactor: unified create data offer + create asset dialog --- .../asset-create-dialog.component.html | 219 ++++++++------ .../edit-asset-form.component.html | 275 +++++++++++------- src/assets/i18n/en.json | 266 ++++++++++------- 3 files changed, 463 insertions(+), 297 deletions(-) diff --git a/src/app/routes/connector-ui/asset-list-page/asset-create-dialog/asset-create-dialog.component.html b/src/app/routes/connector-ui/asset-list-page/asset-create-dialog/asset-create-dialog.component.html index 675a7027..e77512ac 100644 --- a/src/app/routes/connector-ui/asset-list-page/asset-create-dialog/asset-create-dialog.component.html +++ b/src/app/routes/connector-ui/asset-list-page/asset-create-dialog/asset-create-dialog.component.html @@ -7,7 +7,7 @@

{{ - 'asset_list_page.information' | translate + 'create_data_offer_page.general_information' | translate }}
@@ -22,14 +22,18 @@

class="!scale-[0.9]" mat-icon-button matSuffix - matTooltip="{{ 'create_asset.title_tooltip' | translate }}"> + matTooltip="{{ + 'create_data_offer_page.title_tooltip' | translate + }}"> info_outline - {{ 'asset_list_page.version' | translate }} + {{ + 'create_data_offer_page.version' | translate + }} class="!scale-[0.9]" mat-icon-button matSuffix - matTooltip="{{ 'create_asset.version_tooltip' | translate }}"> + matTooltip="{{ + 'create_data_offer_page.version_tooltip' | translate + }}"> info_outline @@ -49,7 +55,9 @@

- {{ 'asset_list_page.asset_id' | translate }} + {{ + 'create_data_offer_page.asset_id' | translate + }} class="!scale-[0.9]" mat-icon-button matSuffix - matTooltip="{{ 'create_asset.asset_id_tooltip' | translate }}"> + matTooltip="{{ + 'create_data_offer_page.asset_id_tooltip' | translate + }}"> info_outline @@ -76,7 +86,10 @@

- {{ 'asset_list_page.file_des' | translate }} + {{ + 'create_data_offer_page.reference_files_description_title' + | translate + }} - {{ 'asset_list_page.descrip' | translate }} + {{ 'create_data_offer_page.description_uses' | translate }} @@ -111,7 +124,9 @@

- {{ 'general.content_type' | translate }} + {{ + 'create_data_offer_page.content_type' | translate + }} - {{ 'general.endpoint_doc' | translate }} + {{ + 'create_data_offer_page.endpoint_documentation' | translate + }} @@ -153,13 +171,17 @@

- {{ 'general.publisher' | translate }} + {{ + 'create_data_offer_page.publisher' | translate + }} @@ -172,7 +194,7 @@

*ngIf="form.metadata.controls.standardLicense; let ctrl" class="grow"> {{ - 'general.standard_license' | translate + 'create_data_offer_page.standard_license_label' | translate }} @@ -220,7 +242,9 @@

- {{ 'general.data_model' | translate }} + {{ + 'create_data_offer_page.data_model' | translate + }} class="!scale-[0.9]" mat-icon-button matSuffix - matTooltip="{{ 'create_asset.data_model_tooltip' | translate }}"> + matTooltip="{{ + 'create_data_offer_page.data_model_tooltip' | translate + }}"> info_outline @@ -238,7 +264,7 @@

@@ -246,7 +272,7 @@

{{ - 'general.geo_reference_method' | translate + 'create_data_offer_page.geo_reference_method' | translate }} mat-icon-button matSuffix matTooltip="{{ - 'general.geo_reference_method_tooltip' | translate + 'create_data_offer_page.geo_reference_tooltip' | translate }}"> info_outline @@ -266,11 +292,13 @@

- {{ 'general.sovereign' | translate }} + {{ + 'create_data_offer_page.sovereign_label' | translate + }} @@ -288,12 +316,12 @@

{{ - 'create_data_offer.data_update_frequency_label' | translate + 'create_data_offer_page.data_update_frequency_label' | translate }} @@ -302,7 +330,8 @@

mat-icon-button matSuffix matTooltip="{{ - 'create_data_offer.data_update_frequency_tooltip' | translate + 'create_data_offer_page.data_update_frequency_tooltip' + | translate }}"> info_outline @@ -311,7 +340,7 @@

{{ - 'create_data_offer.geo_location_label' | translate + 'create_data_offer_page.geo_location_label' | translate }} mat-icon-button matSuffix matTooltip="{{ - 'create_data_offer.geo_location_tooltip' | translate + 'create_data_offer_page.geo_location_tooltip' | translate }}"> info_outline @@ -332,7 +361,7 @@

- {{ 'create_data_offer.nuts_locations_label' | translate }} + {{ 'create_data_offer_page.nuts_locations_label' | translate }}
@@ -353,7 +382,7 @@

class="flex flex-row space-x-[10px]"> {{ - 'create_data_offer.nuts_location' | translate + 'create_data_offer_page.nuts_location' | translate }} @@ -372,14 +401,14 @@

mat-button color="accent" (click)="form.onNutsLocationsAddClick()"> - {{ 'create_data_offer.add_location' | translate }} + {{ 'create_data_offer_page.add_location' | translate }}

- {{ 'create_data_offer.data_samples' | translate }} + {{ 'create_data_offer_page.data_samples' | translate }}
@@ -420,14 +449,14 @@

mat-button color="accent" (click)="form.onDataSampleUrlsAddClick()"> - {{ 'asset_list_page.add_sample' | translate }} + {{ 'create_data_offer_page.add_data_sample' | translate }}

- {{ 'create_data_offer.reference_files' | translate }} + {{ 'create_data_offer_page.reference_files' | translate }}
@@ -469,14 +498,16 @@

mat-button color="accent" (click)="form.onReferenceFileUrlsAddClick()"> - {{ 'asset_list_page.add_file' | translate }} + {{ 'create_data_offer_page.add_reference_file' | translate }}

- {{ 'asset_list_page.file_des' | translate }} + {{ + 'create_data_offer_page.reference_files_description' | translate + }} {{ 'asset_list_page.file_des_hint1' | translate }} - {{ 'asset_list_page.file_des_hint2' | translate }} - Markdown syntax - + >{{ + 'create_data_offer_page.reference_files_description' | translate + }} + +
Markdown syntax @@ -504,24 +535,24 @@

class="mt-[20px]" color="accent"> {{ - 'create_data_offer.temporal_coverage' | translate + 'create_data_offer_page.temporal_coverage' | translate }} {{ 'create_data_offer.temporal_coverage_hint' | translate }} + >{{ 'create_data_offer_page.temporal_coverage_hint' | translate }} {{ - 'create_data_offer.conditions_for_use_label' | translate + 'create_data_offer_page.conditions_for_use_label' | translate }} {{ - 'create_data_offer.conditions_for_use_description_hint' + 'create_data_offer_page.conditions_for_use_description_hint' | translate }} {{ - 'asset_list_page.datasource_info' | translate + 'create_data_offer_page.datasource_information' | translate }}
- {{ 'asset_list_page.datasource' | translate }} + {{ 'create_data_offer_page.datasource' | translate }}
@@ -588,7 +620,8 @@

let ctrl "> {{ - 'asset_list_page.datasource_config' | translate + 'create_data_offer_page.custom_datasource_config_json_label' + | translate }} - {{ 'create_data_offer_page.description_uses' | translate }} + {{ 'create_data_offer_page.description_supports' | translate }} Date: Thu, 26 Sep 2024 13:12:32 +0200 Subject: [PATCH 17/25] . --- src/assets/i18n/en.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/assets/i18n/en.json b/src/assets/i18n/en.json index 3c62fe25..e29d76ab 100644 --- a/src/assets/i18n/en.json +++ b/src/assets/i18n/en.json @@ -305,7 +305,7 @@ "description_uses": "The description uses", "description_supports": "The description supports", "documentation": "Documentation", - "email_subject_placeholder": "Data Offer 'xyz", + "email_subject_placeholder": "Data Offer 'xyz'", "email_subject_tooltip": "When potential customers reach out to you via email, you’ll receive messages with this subject line.", "email_subject": "Preferred E-Mail Subject", "end-date-inclusive": "End date (inclusive)", From c9f0ec2cff85eaf277830ab2383b7509b14f102f Mon Sep 17 00:00:00 2001 From: illfixit <66363651+illfixit@users.noreply.github.com> Date: Thu, 26 Sep 2024 13:17:25 +0200 Subject: [PATCH 18/25] docs: fix CL --- CHANGELOG.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index dc554078..2703c3f1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -32,7 +32,9 @@ the detailed section referring to by linking pull requests or issues. - Fixed config not being applied properly after a version upgrade - Fixed Date to DateTime conversion issues when using operators `LT` and `GT` ([#846](https://github.com/sovity/edc-ui/issues/846)) -- Added initial support for UI internationalization ([#680](https://github.com/sovity/edc-ui/issues/680)) +- Added initial support for UI internationalization + ([#680](https://github.com/sovity/edc-ui/issues/680)) +- Implemented Data Offer wizard wording change request by MDS ### Deployment Migration Notes From 5a38d14f1c7356246eacd22147fc587b30c71425 Mon Sep 17 00:00:00 2001 From: illfixit <66363651+illfixit@users.noreply.github.com> Date: Thu, 26 Sep 2024 14:34:59 +0200 Subject: [PATCH 19/25] chore: refactor string interpolation to binding --- .../asset-create-dialog.component.html | 102 ++++----- ...t-agreement-transfer-dialog.component.html | 4 +- .../dashboard-page.component.html | 14 +- .../edit-asset-form.component.html | 204 ++++++++---------- ...timespan-restriction-dialog.component.html | 4 +- .../translate-with-slot.component.html | 6 +- .../translate-with-slot.component.ts | 4 + src/assets/i18n/en.json | 6 +- 8 files changed, 169 insertions(+), 175 deletions(-) diff --git a/src/app/routes/connector-ui/asset-list-page/asset-create-dialog/asset-create-dialog.component.html b/src/app/routes/connector-ui/asset-list-page/asset-create-dialog/asset-create-dialog.component.html index 665dd691..fbd3ec86 100644 --- a/src/app/routes/connector-ui/asset-list-page/asset-create-dialog/asset-create-dialog.component.html +++ b/src/app/routes/connector-ui/asset-list-page/asset-create-dialog/asset-create-dialog.component.html @@ -17,17 +17,17 @@

@@ -46,9 +46,9 @@

class="!scale-[0.9]" mat-icon-button matSuffix - matTooltip="{{ + [matTooltip]=" 'create_data_offer_page.version_tooltip' | translate - }}"> + "> info_outline @@ -70,9 +70,9 @@

class="!scale-[0.9]" mat-icon-button matSuffix - matTooltip="{{ + [matTooltip]=" 'create_data_offer_page.asset_id_tooltip' | translate - }}"> + "> info_outline @@ -157,10 +157,10 @@

class="!scale-[0.9]" mat-icon-button matSuffix - matTooltip="{{ + [matTooltip]=" 'create_data_offer_page.endpoint_documentation_tooltip' | translate - }}"> + "> info_outline @@ -181,9 +181,9 @@

class="!scale-[0.9]" mat-icon-button matSuffix - matTooltip="{{ + [matTooltip]=" 'create_data_offer_page.publisher_tooltip' | translate - }}"> + "> info_outline @@ -203,9 +203,9 @@

class="!scale-[0.9]" mat-icon-button matSuffix - matTooltip="{{ + [matTooltip]=" 'create_data_offer_page.standard_license_tooltip' | translate - }}"> + "> info_outline @@ -255,9 +255,9 @@

class="!scale-[0.9]" mat-icon-button matSuffix - matTooltip="{{ + [matTooltip]=" 'create_data_offer_page.data_model_tooltip' | translate - }}"> + "> info_outline @@ -266,7 +266,7 @@

@@ -284,9 +284,9 @@

class="!scale-[0.9]" mat-icon-button matSuffix - matTooltip="{{ + [matTooltip]=" 'create_data_offer_page.geo_reference_tooltip' | translate - }}"> + "> info_outline @@ -299,17 +299,17 @@

}} @@ -322,19 +322,19 @@

}} @@ -352,9 +352,9 @@

class="!scale-[0.9]" mat-icon-button matSuffix - matTooltip="{{ + [matTooltip]=" 'create_data_offer_page.geo_location_tooltip' | translate - }}"> + "> info_outline @@ -370,9 +370,9 @@

mat-icon-button matSuffix matTooltipPosition="right" - matTooltip="{{ + [matTooltip]=" 'create_data_offer_page.nuts_locations_tooltip' | translate - }}"> + "> info_outline

@@ -417,9 +417,9 @@

mat-icon-button matSuffix matTooltipPosition="right" - matTooltip="{{ + [matTooltip]=" 'create_data_offer_page.data_samples_tooltip' | translate - }}"> + "> info_outline

@@ -466,9 +466,9 @@

mat-icon-button matSuffix matTooltipPosition="right" - matTooltip="{{ + [matTooltip]=" 'create_data_offer_page.reference_files_tooltip' | translate - }}"> + "> info_outline

@@ -544,15 +544,15 @@

+ " /> + [placeholder]=" + 'create_data_offer_page.end_date_inclusive' | translate + " /> {{ 'create_data_offer_page.temporal_coverage_hint' | translate }} @@ -574,10 +574,10 @@

@@ -656,9 +656,9 @@

class="!scale-[0.9]" mat-icon-button matSuffix - matTooltip="{{ + [matTooltip]=" 'create_data_offer_page.contact_email_tooltip' | translate - }}"> + "> info_outline @@ -688,9 +688,9 @@

class="!scale-[0.9]" mat-icon-button matSuffix - matTooltip="{{ + [matTooltip]=" 'create_data_offer_page.email_subject_tooltip' | translate - }}"> + "> info_outline @@ -952,11 +952,11 @@

}} @@ -969,9 +969,9 @@

{{ 'general.auth_value' | translate }} diff --git a/src/app/routes/connector-ui/contract-agreement-page/contract-agreement-transfer-dialog/contract-agreement-transfer-dialog.component.html b/src/app/routes/connector-ui/contract-agreement-page/contract-agreement-transfer-dialog/contract-agreement-transfer-dialog.component.html index b36628db..6b44e8f5 100644 --- a/src/app/routes/connector-ui/contract-agreement-page/contract-agreement-transfer-dialog/contract-agreement-transfer-dialog.component.html +++ b/src/app/routes/connector-ui/contract-agreement-page/contract-agreement-transfer-dialog/contract-agreement-transfer-dialog.component.html @@ -244,9 +244,7 @@

'contract_agreement_page.cus_meth' | translate }}

- {{ 'dashboard_page.marketing_ce_intro' | translate }} - sovity
- {{ 'dashboard_page.marketing_ce_intro2' | translate }} + + sovity + +
+

@@ -78,12 +78,12 @@ form.datasource.controls.dataDestination; let ctrl " - label="{{ - 'create_data_offer_page.custom_datasource_config_json_label' - | translate - }}" fieldId="create-asset-form-custom-datasource-json" placeholder='{"https://w3id.org/edc/v0.0.1/ns/type": "HttpData", ...}' + [label]=" + 'create_data_offer_page.custom_datasource_config_json_label' + | translate + " [ctrl]="ctrl"> @@ -259,9 +259,9 @@
+ "> {{ 'asset_list_page.info_body' | translate }} @@ -338,11 +338,11 @@ }} @@ -356,9 +356,9 @@ }} @@ -401,9 +401,9 @@
+ ">
@@ -467,7 +465,7 @@ @@ -476,7 +474,7 @@ @@ -520,7 +518,7 @@ class="mt-4" fieldId="create-asset-form-version" placeholder="1.0.0" - tooltip="{{ 'create_data_offer_page.version_tooltip' | translate }}" + [tooltip]="'create_data_offer_page.version_tooltip' | translate" [label]="'create_data_offer_page.version' | translate" [ctrl]="form.general.controls.version"> @@ -533,24 +531,24 @@ + "> @@ -568,42 +566,38 @@ @@ -611,17 +605,17 @@
+ ">
@@ -658,17 +652,17 @@
+ ">
@@ -706,11 +700,11 @@ + " + [myTitle]="'create_data_offer_page.location_time_title' | translate">
+ "> + [placeholder]="'create_data_offer_page.start_date' | translate" /> + [placeholder]=" + 'create_data_offer_page.end_date_inclusive' | translate + " /> {{ 'create_data_offer_page.temporal_coverage_hint' | translate }} @@ -776,15 +768,15 @@ @@ -792,13 +784,11 @@ @@ -806,27 +796,27 @@
+ ">
@@ -863,21 +853,19 @@ + "> @@ -885,32 +873,28 @@ + "> info_outline @@ -966,9 +950,9 @@ mat-icon-button matSuffix matTooltipPosition="right" - matTooltip="{{ + [matTooltip]=" 'create_data_offer_page.publish_restricted_tooltip' | translate - }}"> + "> info_outline @@ -979,9 +963,9 @@ mat-icon-button matSuffix matTooltipPosition="right" - matTooltip="{{ + [matTooltip]=" 'create_data_offer_page.publish_asset_only_tooltip' | translate - }}"> + "> info_outline diff --git a/src/app/shared/business/policy-editor/editor/recipes/timespan-restriction-dialog/timespan-restriction-dialog.component.html b/src/app/shared/business/policy-editor/editor/recipes/timespan-restriction-dialog/timespan-restriction-dialog.component.html index f00cfbae..a14abb38 100644 --- a/src/app/shared/business/policy-editor/editor/recipes/timespan-restriction-dialog/timespan-restriction-dialog.component.html +++ b/src/app/shared/business/policy-editor/editor/recipes/timespan-restriction-dialog/timespan-restriction-dialog.component.html @@ -15,11 +15,11 @@

+ [placeholder]="'general.start_date' | translate" /> + [placeholder]="'general.end_date' | translate" /> DD/MM/YYYY – DD/MM/YYYY diff --git a/src/app/shared/common/translate-with-slot/translate-with-slot.component.html b/src/app/shared/common/translate-with-slot/translate-with-slot.component.html index 50702d8a..e016fac1 100644 --- a/src/app/shared/common/translate-with-slot/translate-with-slot.component.html +++ b/src/app/shared/common/translate-with-slot/translate-with-slot.component.html @@ -1,5 +1,7 @@ -{{ textBefore }} +{{ textBefore }} + -{{ textAfter }} +{{ textAfter }} + diff --git a/src/app/shared/common/translate-with-slot/translate-with-slot.component.ts b/src/app/shared/common/translate-with-slot/translate-with-slot.component.ts index ccc323a3..fbba3630 100644 --- a/src/app/shared/common/translate-with-slot/translate-with-slot.component.ts +++ b/src/app/shared/common/translate-with-slot/translate-with-slot.component.ts @@ -11,6 +11,10 @@ import {SimpleChangesTyped} from '../../../core/utils/angular-utils'; export class TranslateWithSlotComponent implements OnChanges, OnDestroy { @Input() key!: string; + + @Input() + html = false; + key$ = new Subject(); textBefore = ''; diff --git a/src/assets/i18n/en.json b/src/assets/i18n/en.json index e29d76ab..0cc649d9 100644 --- a/src/assets/i18n/en.json +++ b/src/assets/i18n/en.json @@ -308,7 +308,7 @@ "email_subject_placeholder": "Data Offer 'xyz'", "email_subject_tooltip": "When potential customers reach out to you via email, you’ll receive messages with this subject line.", "email_subject": "Preferred E-Mail Subject", - "end-date-inclusive": "End date (inclusive)", + "end_date_inclusive": "End date (inclusive)", "endpoint_documentation_tooltip": "URL to the technical documentation about the data to be received.", "endpoint_documentation": "Endpoint Documentation", "general_information_description": "Fill out general information about the asset.", @@ -431,8 +431,8 @@ "marketing_about": "The Eclipse Dataspace Components framework facilitates sovereign, inter-organizational data exchange.", "marketing_about2": "It implements the International Data Spaces standard (IDS) as well as relevant protocols associated with GAIA-X.", "marketing_about3": "The framework is designed as extensible as possible to encourage integrations into various data ecosystems.", - "marketing_ce_intro": "To join data spaces like Mobility Data Space or Catena-X within minutes, consider the managed solution by", - "marketing_ce_intro2": "- the Connector-as-a-Service (CaaS) based on open-source software enriched with key enterprise features.", + "marketing_ce_intro": "To join data spaces like Mobility Data Space or Catena-X within minutes, consider the managed solution by {}.", + "marketing_ce_intro2": "- the Connector-as-a-Service (CaaS) based on open-source software enriched with key enterprise features.", "marketing_mds_basic_intro": "This EDC Connector on the subscription level Basic is provided by sovity to enable your first steps in the Mobility Data Space (MDS).", "marketing_mds_basic_intro2": "For additional features and advanced capacities, please feel free to contact us.", "no_transfer": "NO PROVIDING TRANSFER PROCESSES", From fa170ce9283bff5a6599bf6fa4ed91a206a4162b Mon Sep 17 00:00:00 2001 From: illfixit <66363651+illfixit@users.noreply.github.com> Date: Thu, 26 Sep 2024 14:34:59 +0200 Subject: [PATCH 20/25] chore: gitignore --- .gitignore | 4 - .../asset-create-dialog.component.html | 102 ++++----- ...t-agreement-transfer-dialog.component.html | 4 +- .../dashboard-page.component.html | 14 +- .../edit-asset-form.component.html | 204 ++++++++---------- ...timespan-restriction-dialog.component.html | 4 +- .../translate-with-slot.component.html | 6 +- .../translate-with-slot.component.ts | 4 + src/assets/i18n/en.json | 6 +- 9 files changed, 169 insertions(+), 179 deletions(-) diff --git a/.gitignore b/.gitignore index b8cc2dff..a165f8f2 100644 --- a/.gitignore +++ b/.gitignore @@ -24,10 +24,6 @@ chrome-profiler-events*.json # IDE - VSCode .vscode/* -!.vscode/settings.json -!.vscode/tasks.json -!.vscode/launch.json -!.vscode/extensions.json .history/* # misc diff --git a/src/app/routes/connector-ui/asset-list-page/asset-create-dialog/asset-create-dialog.component.html b/src/app/routes/connector-ui/asset-list-page/asset-create-dialog/asset-create-dialog.component.html index 665dd691..fbd3ec86 100644 --- a/src/app/routes/connector-ui/asset-list-page/asset-create-dialog/asset-create-dialog.component.html +++ b/src/app/routes/connector-ui/asset-list-page/asset-create-dialog/asset-create-dialog.component.html @@ -17,17 +17,17 @@

@@ -46,9 +46,9 @@

class="!scale-[0.9]" mat-icon-button matSuffix - matTooltip="{{ + [matTooltip]=" 'create_data_offer_page.version_tooltip' | translate - }}"> + "> info_outline @@ -70,9 +70,9 @@

class="!scale-[0.9]" mat-icon-button matSuffix - matTooltip="{{ + [matTooltip]=" 'create_data_offer_page.asset_id_tooltip' | translate - }}"> + "> info_outline @@ -157,10 +157,10 @@

class="!scale-[0.9]" mat-icon-button matSuffix - matTooltip="{{ + [matTooltip]=" 'create_data_offer_page.endpoint_documentation_tooltip' | translate - }}"> + "> info_outline @@ -181,9 +181,9 @@

class="!scale-[0.9]" mat-icon-button matSuffix - matTooltip="{{ + [matTooltip]=" 'create_data_offer_page.publisher_tooltip' | translate - }}"> + "> info_outline @@ -203,9 +203,9 @@

class="!scale-[0.9]" mat-icon-button matSuffix - matTooltip="{{ + [matTooltip]=" 'create_data_offer_page.standard_license_tooltip' | translate - }}"> + "> info_outline @@ -255,9 +255,9 @@

class="!scale-[0.9]" mat-icon-button matSuffix - matTooltip="{{ + [matTooltip]=" 'create_data_offer_page.data_model_tooltip' | translate - }}"> + "> info_outline @@ -266,7 +266,7 @@

@@ -284,9 +284,9 @@

class="!scale-[0.9]" mat-icon-button matSuffix - matTooltip="{{ + [matTooltip]=" 'create_data_offer_page.geo_reference_tooltip' | translate - }}"> + "> info_outline @@ -299,17 +299,17 @@

}} @@ -322,19 +322,19 @@

}} @@ -352,9 +352,9 @@

class="!scale-[0.9]" mat-icon-button matSuffix - matTooltip="{{ + [matTooltip]=" 'create_data_offer_page.geo_location_tooltip' | translate - }}"> + "> info_outline @@ -370,9 +370,9 @@

mat-icon-button matSuffix matTooltipPosition="right" - matTooltip="{{ + [matTooltip]=" 'create_data_offer_page.nuts_locations_tooltip' | translate - }}"> + "> info_outline

@@ -417,9 +417,9 @@

mat-icon-button matSuffix matTooltipPosition="right" - matTooltip="{{ + [matTooltip]=" 'create_data_offer_page.data_samples_tooltip' | translate - }}"> + "> info_outline

@@ -466,9 +466,9 @@

mat-icon-button matSuffix matTooltipPosition="right" - matTooltip="{{ + [matTooltip]=" 'create_data_offer_page.reference_files_tooltip' | translate - }}"> + "> info_outline

@@ -544,15 +544,15 @@

+ " /> + [placeholder]=" + 'create_data_offer_page.end_date_inclusive' | translate + " /> {{ 'create_data_offer_page.temporal_coverage_hint' | translate }} @@ -574,10 +574,10 @@

@@ -656,9 +656,9 @@

class="!scale-[0.9]" mat-icon-button matSuffix - matTooltip="{{ + [matTooltip]=" 'create_data_offer_page.contact_email_tooltip' | translate - }}"> + "> info_outline @@ -688,9 +688,9 @@

class="!scale-[0.9]" mat-icon-button matSuffix - matTooltip="{{ + [matTooltip]=" 'create_data_offer_page.email_subject_tooltip' | translate - }}"> + "> info_outline @@ -952,11 +952,11 @@

}} @@ -969,9 +969,9 @@

{{ 'general.auth_value' | translate }} diff --git a/src/app/routes/connector-ui/contract-agreement-page/contract-agreement-transfer-dialog/contract-agreement-transfer-dialog.component.html b/src/app/routes/connector-ui/contract-agreement-page/contract-agreement-transfer-dialog/contract-agreement-transfer-dialog.component.html index b36628db..6b44e8f5 100644 --- a/src/app/routes/connector-ui/contract-agreement-page/contract-agreement-transfer-dialog/contract-agreement-transfer-dialog.component.html +++ b/src/app/routes/connector-ui/contract-agreement-page/contract-agreement-transfer-dialog/contract-agreement-transfer-dialog.component.html @@ -244,9 +244,7 @@

'contract_agreement_page.cus_meth' | translate }}

- {{ 'dashboard_page.marketing_ce_intro' | translate }} - sovity
- {{ 'dashboard_page.marketing_ce_intro2' | translate }} + +
sovity + +
+

@@ -78,12 +78,12 @@ form.datasource.controls.dataDestination; let ctrl " - label="{{ - 'create_data_offer_page.custom_datasource_config_json_label' - | translate - }}" fieldId="create-asset-form-custom-datasource-json" placeholder='{"https://w3id.org/edc/v0.0.1/ns/type": "HttpData", ...}' + [label]=" + 'create_data_offer_page.custom_datasource_config_json_label' + | translate + " [ctrl]="ctrl"> @@ -259,9 +259,9 @@
+ "> {{ 'asset_list_page.info_body' | translate }} @@ -338,11 +338,11 @@ }} @@ -356,9 +356,9 @@ }} @@ -401,9 +401,9 @@
+ ">
@@ -467,7 +465,7 @@ @@ -476,7 +474,7 @@ @@ -520,7 +518,7 @@ class="mt-4" fieldId="create-asset-form-version" placeholder="1.0.0" - tooltip="{{ 'create_data_offer_page.version_tooltip' | translate }}" + [tooltip]="'create_data_offer_page.version_tooltip' | translate" [label]="'create_data_offer_page.version' | translate" [ctrl]="form.general.controls.version"> @@ -533,24 +531,24 @@ + "> @@ -568,42 +566,38 @@ @@ -611,17 +605,17 @@
+ ">
@@ -658,17 +652,17 @@
+ ">
@@ -706,11 +700,11 @@ + " + [myTitle]="'create_data_offer_page.location_time_title' | translate">
+ "> + [placeholder]="'create_data_offer_page.start_date' | translate" /> + [placeholder]=" + 'create_data_offer_page.end_date_inclusive' | translate + " /> {{ 'create_data_offer_page.temporal_coverage_hint' | translate }} @@ -776,15 +768,15 @@ @@ -792,13 +784,11 @@ @@ -806,27 +796,27 @@
+ ">
@@ -863,21 +853,19 @@ + "> @@ -885,32 +873,28 @@ + "> info_outline @@ -966,9 +950,9 @@ mat-icon-button matSuffix matTooltipPosition="right" - matTooltip="{{ + [matTooltip]=" 'create_data_offer_page.publish_restricted_tooltip' | translate - }}"> + "> info_outline @@ -979,9 +963,9 @@ mat-icon-button matSuffix matTooltipPosition="right" - matTooltip="{{ + [matTooltip]=" 'create_data_offer_page.publish_asset_only_tooltip' | translate - }}"> + "> info_outline diff --git a/src/app/shared/business/policy-editor/editor/recipes/timespan-restriction-dialog/timespan-restriction-dialog.component.html b/src/app/shared/business/policy-editor/editor/recipes/timespan-restriction-dialog/timespan-restriction-dialog.component.html index f00cfbae..a14abb38 100644 --- a/src/app/shared/business/policy-editor/editor/recipes/timespan-restriction-dialog/timespan-restriction-dialog.component.html +++ b/src/app/shared/business/policy-editor/editor/recipes/timespan-restriction-dialog/timespan-restriction-dialog.component.html @@ -15,11 +15,11 @@

+ [placeholder]="'general.start_date' | translate" /> + [placeholder]="'general.end_date' | translate" /> DD/MM/YYYY – DD/MM/YYYY diff --git a/src/app/shared/common/translate-with-slot/translate-with-slot.component.html b/src/app/shared/common/translate-with-slot/translate-with-slot.component.html index 50702d8a..e016fac1 100644 --- a/src/app/shared/common/translate-with-slot/translate-with-slot.component.html +++ b/src/app/shared/common/translate-with-slot/translate-with-slot.component.html @@ -1,5 +1,7 @@ -{{ textBefore }} +{{ textBefore }} + -{{ textAfter }} +{{ textAfter }} + diff --git a/src/app/shared/common/translate-with-slot/translate-with-slot.component.ts b/src/app/shared/common/translate-with-slot/translate-with-slot.component.ts index ccc323a3..fbba3630 100644 --- a/src/app/shared/common/translate-with-slot/translate-with-slot.component.ts +++ b/src/app/shared/common/translate-with-slot/translate-with-slot.component.ts @@ -11,6 +11,10 @@ import {SimpleChangesTyped} from '../../../core/utils/angular-utils'; export class TranslateWithSlotComponent implements OnChanges, OnDestroy { @Input() key!: string; + + @Input() + html = false; + key$ = new Subject(); textBefore = ''; diff --git a/src/assets/i18n/en.json b/src/assets/i18n/en.json index e29d76ab..0cc649d9 100644 --- a/src/assets/i18n/en.json +++ b/src/assets/i18n/en.json @@ -308,7 +308,7 @@ "email_subject_placeholder": "Data Offer 'xyz'", "email_subject_tooltip": "When potential customers reach out to you via email, you’ll receive messages with this subject line.", "email_subject": "Preferred E-Mail Subject", - "end-date-inclusive": "End date (inclusive)", + "end_date_inclusive": "End date (inclusive)", "endpoint_documentation_tooltip": "URL to the technical documentation about the data to be received.", "endpoint_documentation": "Endpoint Documentation", "general_information_description": "Fill out general information about the asset.", @@ -431,8 +431,8 @@ "marketing_about": "The Eclipse Dataspace Components framework facilitates sovereign, inter-organizational data exchange.", "marketing_about2": "It implements the International Data Spaces standard (IDS) as well as relevant protocols associated with GAIA-X.", "marketing_about3": "The framework is designed as extensible as possible to encourage integrations into various data ecosystems.", - "marketing_ce_intro": "To join data spaces like Mobility Data Space or Catena-X within minutes, consider the managed solution by", - "marketing_ce_intro2": "- the Connector-as-a-Service (CaaS) based on open-source software enriched with key enterprise features.", + "marketing_ce_intro": "To join data spaces like Mobility Data Space or Catena-X within minutes, consider the managed solution by {}.", + "marketing_ce_intro2": "- the Connector-as-a-Service (CaaS) based on open-source software enriched with key enterprise features.", "marketing_mds_basic_intro": "This EDC Connector on the subscription level Basic is provided by sovity to enable your first steps in the Mobility Data Space (MDS).", "marketing_mds_basic_intro2": "For additional features and advanced capacities, please feel free to contact us.", "no_transfer": "NO PROVIDING TRANSFER PROCESSES", From fe4c3424b8892abb668aa34a439e4ff6b38ad616 Mon Sep 17 00:00:00 2001 From: illfixit <66363651+illfixit@users.noreply.github.com> Date: Thu, 26 Sep 2024 14:59:11 +0200 Subject: [PATCH 21/25] . --- src/assets/i18n/en.json | 1018 +++++++++++++++++++-------------------- 1 file changed, 498 insertions(+), 520 deletions(-) diff --git a/src/assets/i18n/en.json b/src/assets/i18n/en.json index 0cc649d9..d64adaa2 100644 --- a/src/assets/i18n/en.json +++ b/src/assets/i18n/en.json @@ -1,522 +1,500 @@ { - "general": { - "accept": "Accept", - "access_pol": "Access Policy", - "ad_inf": "Advanced Information", - "ad_info": "Advanced Information", - "add_add_header": "Add Additional Header", - "add_auth": "Add Authentication", - "add_header": "Additional Headers", - "add": "Add", - "additional_properties": "Additional Properties", - "asset": "Asset", - "assets": "Assets", - "auth_header": "Auth Header Name", - "auth_value": "Auth Header Value", - "auth": "Authentication", - "body": "Body", - "cancel": "Cancel", - "close": "Close", - "combine": "Combine", - "con_def": "Data Offer", - "conditions": "Conditions For Use", - "confirm": "Confirm", - "cons": "Constraints", - "consuming": "Consuming", - "contact": "Contact", - "content_type": "Content Type", - "contract_offer": "Contract Offer", - "contract_policy": "Contract Policy", - "contract": "Contract Agreement", - "copy_to_clipboard_tooltip": "Copy to clipboard", - "coverage": "Temporal Coverage", - "create": "Create", - "data_category": "Data Category", - "data_model": "Data Model", - "data_subcategory": "Data Subcategory", - "data": "Data Samples", - "date": "Date", - "delete": "Delete", - "description": "Description", - "details": "Show Details", - "direction": "Direction", - "disable": "Disable", - "doc": "Documentation", - "edit": "Edit", - "enable": "Enable", - "end_date": "End date", - "endpoint_doc": "Endpoint Documentation", - "endpoint": "Connector Endpoint", - "error": "Error", - "files": "Reference Files", - "frequency": "Data Update Frequency", - "geo_location": "Geo Location", - "geo_reference_method_tooltip": "The method used for representing of geographical data, e.g GeoJSON, OpenLR, etc.", - "geo_reference_method": "Geo reference method", - "header_name": "Header Name", - "header_sec": "Header with Vault Secret", - "header_val": "Header with Value", - "header_value": "Header Value", - "hide": "Hide", - "id": "Contract Offer ID", - "irr_pol": "Irregular Policy", - "language": "Language", - "limit_reached": "You have reached the maximum number of consuming contracts. Please terminate one of the existing contracts to negotiate a new one.", - "loading": "Loading...", - "loading1": "Loading", - "method_para": "Method Parameterization", - "method": "Method", - "name": "Name", - "nuts": "NUTS Locations", - "operator": "Operator", - "oth_connector": "Other Connector", - "page": "Page", - "parametrization": "Parameterization", - "params": "Query Params", - "path": "Path", - "policies": "Policies", - "policy": "Policy", - "providing": "Providing", - "pub_asset_only_tooltip": "Create the asset but do not publish your data offer. You can do it later.", - "pub_asset_only": "Create asset only (without data offer)", - "pub_desc": "Publish data offer to other data space participants", - "pub_mode": "Publishing Mode", - "pub_restr_tooltip": "Your data offer is published with restrictions of your choice.", - "pub_restr": "Publish restricted", - "pub_unrestr_tooltip": "Your data offer is published and can be accessed by everyone.", - "pub_unrestr": "Publish unrestricted", - "publish": "Publish", - "publisher": "Publisher", - "publishing": "Publishing", - "refresh": "Refresh", - "rem_auth": "Remove Authentication", - "remove": "Remove", - "select_an_option": "Select an option", - "show_adv_fields": "Show Advanced Fields", - "show_data": "Show Data Samples", - "show_files": "Show Reference Files", - "show": "Show", - "signed": "Signed", - "sovereign": "Sovereign", - "standard_license": "Standard License", - "start_date": "Start date", - "state": "State", - "still_loading": "Still Loading...", - "tags": "Tags", - "terminate": "Terminate", - "terminated_by": "terminated by", - "title": "Title", - "total": "Total", - "transport_mode": "Transport Mode", - "type": "Type", - "update": "Update", - "updated": "Last updated", - "value": "Value", - "vault_secret": "Vault Secret Name", - "warn": "Warn" - }, - "tooltip": { - "clipboard": "Copy to clipboard", - "details": "Click for details", - "failed_details": "Click for failed catalog details", - "negotiate": "Cannot negotiate contracts with your own connector." - }, - "notification": { - "asset": "Successfully saved asset.", - "compl_negotiation": "Contract Negotiation complete!", - "failed_asset": "Failed saving asset!", - "failed_create_policy": "Failed creating Policy!", - "failed_refresh": "Failed refreshing asset list!", - "failed_transfer_detail_fetch": "Failed to fetch asset details!", - "negotiation": "Failed negotiating contract.", - "starting_neg": "Failure starting negotiation.", - "succ_pol": "Successfully created policy." - }, - "component_library": { - "accept_licence": "Hereby I agree that by pressing the 'Confirm' button, I accept the license\n terms, policies, and additional conditions for use, including any copyright\n notices, associated with the provider's offer.", - "agree": "I agree to the Data Offer Terms & Conditions", - "at": "Created At", - "connector_id_plural": "Connector IDs", - "connector_id": "Connector ID", - "content_type": "Content Type", - "data_offer": "Data Offer Terms & Conditions", - "delete_one": "Please confirm you want to delete", - "delete_title": "Deletion confirmation", - "delete_two": "This action cannot be undone.", - "http_param": "HTTP Data Source Parameterization", - "json_ld": "Show JSON-LD", - "json": "Cleaned JSON", - "negotiate": "Negotiate", - "negotiating": "Negotiating...", - "no_description": "No Description", - "no_transfer": "No transfer processes started yet.", - "organization": "Organization", - "oth_connector": "Other Connector", - "participant_id_plural": "Participant IDs", - "participant_id": "Participant ID", - "policy_details": "Show Policy Details", - "show_less": "Show less", - "show_more": "Show more", - "succ_negotiating": "Successfully Negotiated", - "t_history": "Transfer History", - "transfer": "Transfer", - "up_at": "Updated At" - }, - "services": { - "curator_org": "Curator Organization Name", - "curator_url": "Curator URL", - "env_version": "Environment Version", - "failed_loading": "Failed loading connector information", - "main_url": "Maintainer URL", - "maintainer": "Maintainer Organization Name" - }, - "asset_list_page": { - "add_file": "Add reference file", - "add_keyword": "Add keyword...", - "add_loc": "Add location", - "add_sample": "Add data sample", - "asset_id": "Asset ID", - "create_asset": " Create New Asset", - "datasource_config": "Custom Datasource Config (JSON)", - "datasource_info": "Datasource Information", - "datasource": "Datasource", - "default_query": "With query param parameterization enabled, the default query params and the query params provided by the consumer will be merged.", - "descrip": "The description uses", - "edit_asset": "Edit Asset", - "file_des_hint1": "Additional information regarding the reference files.", - "file_des_hint2": "Supports", - "file_des": "Reference files description", - "general_information_description": "Fill out general information about the asset.", - "general_information": "General Information", - "http_subpath": "The consuming side must provide a Custom HTTP Subpath with method parameterization is enabled. The Custom HTTP Subpath will be appended to the base path.", - "info_body": "The request body can only be set from the consumer side, if parameterization is enabled.", - "info_file": "Additional information regarding the reference files", - "instructions": "Additional not legally relevant usage instructions (e.g. how to cite the dataset)", - "keywords": "Keywords", - "legal_name": "Legal name of the data owner", - "method_para": "Method Parameterization", - "my_asset": "My Asset", - "name": "Title", - "no_assets": "No assets found with given filter.", - "page": "Asset Page", - "path_para": "Path Parameterization", - "provide": "The consuming side must provide a Custom HTTP Method with method parameterization enabled.", - "query_name": "Query Param Name", - "query_para_single": "Query Param", - "query_para": "Query Params", - "query_parameter": " Query Param Parameterization", - "request_body": "Request Body", - "request_para": "Request Body Parameterization", - "search_assets": "Search assets", - "title": "Assets", - "version": "Version" - }, - "catalog_browser_page": { - "con_endpoints": "Connector Endpoints", - "contract": "Contract Offer", - "endpoint_catalogs": "Other Connector Endpoint Catalogs", - "enter_endpoints": "Please enter other connector endpoints to fetch catalogs.", - "fetch": "Fetch Status", - "no_contract_offers": "No contract offers found with this filter", - "page": "Catalog Browser", - "search": "Search catalog", - "title": "Catalog Browser", - "usage": "Already using" - }, - "contract_agreement_page": { - "active_contracts": "Active Contracts", - "add_cus_query": "Add Custom Query Param", - "all_contracts": "All Contracts", - "con_agree": "Consuming Contract Agreements", - "con_def": "No data offer found with given filter.", - "create_def": "Publish Data Offer", - "cus_datasink": "Custom Datasink Config (JSON)", - "cus_meth": "Custom Method", - "cus_query": "Custom Query Param Name", - "cus_sub": "Custom Subpath", - "cus_transfer": "Custom Transfer Process Request (JSON)", - "datasink": "Datasink", - "http_fields": "Http Datasource Parameterization Fields", - "http_message": "When the data offer on the provider side is of the type HttpData and certain data source fields are set, certain parts of the request to the data source can be customized from the consumer side and will be passed to the other connector when initiating the transfer. This allows an asset to contain more than just one kind of data, allowing additional filtering or even sharing of entire APIs with multiple data sets via a single asset and a single contract.", - "http_para": "Http Datasource Parameterization", - "ini_transfer": "Initiate Transfer", - "json_hint": "JSON-LD values for edc:connectorId, edc:contractId, edc:connectorId and edc:connectorAddress will be overridden.", - "new_def": "Publish New Data Offer", - "no_agree_found": "No contract agreements found with given filter.", - "no_agree": "No contract agreements yet.", - "page": "Contract Page", - "prov_agree": "Providing Contract Agreements", - "proxy_body": "Requires proxyBody to be true.", - "proxy_method": "Requires proxyMethod to be true. ", - "proxy_path": "Requires proxyPath to be true. ", - "proxy_query": "Requires proxyQueryParams to be true", - "req_body": "Custom Request Body", - "req_cont": "Custom Request Body Content Type", - "res_url": "The resulting URL will look like", - "search_agree": "Search contract agreements...", - "search_def": "Search data offer", - "terminated_contracts": "Terminated Contracts", - "title": "Contracts" - }, - "contract_definition_page": { - "title": "Data Offers", - "page": "Data Offer Page" - }, - "create_data_offer_page": { - "accept_placeholder": "Accept", - "add_data_sample": "Add data sample", - "add_location": "Add location", - "add_reference_file": "Add reference file", - "additional_headers": "Additional Headers", - "asset_id_label": "Asset ID", - "asset_id_tooltip": "Asset ID, used internally, is an auto-generated string in a URL-compatible format, combining the asset name and version with a urn:artifact: prefix. You can customize it if needed.", - "asset_id": "Asset ID", - "auth_header_name": "Auth Header Name", - "auth_header_value": "Auth Header Value", - "authorization_header_placeholder": "Authorization", - "bearer_placeholder": "Bearer ...", - "conditions_for_use_description_hint": "Additional not legally relevant usage instructions (e.g. how to cite the dataset). The field supports", - "conditions_for_use_label": "Conditions for use", - "conditions_for_use_placeholder": "Please cite the dataset as...", - "contact_email_placeholder": "contact@my-org.com", - "contact_email_tooltip": "This email address will be offered to potential consumers for contacting you. This is done in place of having an actual data source connected.", - "contact_email": "Contact E-Mail", - "content_type": "Content Type", - "context_information_description": "Provide context information about the datasource", - "custom_datasource_config_json_label": "Custom Datasource Config (JSON)", - "custom_http_method_hint": "The consuming side must provide a Custom HTTP Method with method parameterization enabled.", - "custom_http_subpath_hint": "The consuming side must provide a Custom HTTP Subpath with method parameterization is enabled. The Custom HTTP Subpath will be appended to the base path.", - "data_category": "Data Category", - "data_model_placeholder": "proprietary", - "data_model_tooltip": "Model for data exchange, e.g. DATEX II, TPEG for traffic and travel information, etc.", - "data_model": "Data Model", - "data_samples_tooltip": "URLs of Dataset samples if available", - "data_samples": "Data samples", - "define_data_offer": "Define the type of your offer", - "data_subcategory": "Data Subcategory", - "data_offer_type": "Data offer type", - "offer_type": "Offer Type", - "data_update_frequency_label": "Data update frequency", - "data_update_frequency_placeholder": "every month", - "data_update_frequency_tooltip": "How often is the dataset updated, e.g\t'Every 5 min.", - "datasource_information": "Datasource Information", - "datasource": "Datasource", - "description": "Description", - "description_uses": "The description uses", - "description_supports": "The description supports", - "documentation": "Documentation", - "email_subject_placeholder": "Data Offer 'xyz'", - "email_subject_tooltip": "When potential customers reach out to you via email, you’ll receive messages with this subject line.", - "email_subject": "Preferred E-Mail Subject", - "end_date_inclusive": "End date (inclusive)", - "endpoint_documentation_tooltip": "URL to the technical documentation about the data to be received.", - "endpoint_documentation": "Endpoint Documentation", - "general_information_description": "Fill out general information about the asset.", - "general_information": "General Information", - "geo_location_description": "Simple description of the relevant geolocation, e.g. Hamburg and vicinity.", - "geo_location_label": "Geo location", - "geo_location_tooltip": "Simple description of the relevant geolocation, e.g. Hamburg and vicinity.", - "geo_reference_method": "Geo reference method", - "geo_reference_placeholder": "Lat/Lon", - "geo_reference_tooltip": "The method used for representing of geographical data, e.g GeoJSON, OpenLR, etc.", - "header": "Header", - "header_name": "Header Name", - "header_value": "Header Value", - "header_with_value": "Header with Value", - "header_with_vault_secret": "Header with Vault Secret", - "keywords": "Keywords", - "language": "Language", - "legal_information_description": "Provide legal information and define the conditions for use", - "legal_information_title": "Legal Information", - "location_time_description": "Fill out location and time information about the asset", - "location_time_title": "Location / Time", - "method_parameterization": "Method Parameterization", - "method": "Method", - "mobility_information_description": "Fill out the asset's mobility information", - "mobility_information_my_title": "Mobility Information", - "nuts_location": "NUTS location", - "nuts_locations_label": "NUTS locations", - "nuts_locations_tooltip": "NUTS codes are regional identifiers in Germany used for statistical and administrative purposes, covering states, districts, and municipalities. (e.g DE60)", - "on_request": "On Request (without data source)", - "parameterization": "Parameterization", - "path_parameterization": "Path Parameterization", - "publish_asset_only_tooltip": "Create the asset but do not publish your data offer. You can do it later.", - "publish_asset_only": "Create asset only (without data offer)", - "publish_restricted_tooltip": "Your data offer is published with restrictions of your choice.", - "publish_restricted": "Publish restricted", - "publish_unrestricted_tooltip": "Your data offer is published and can be accessed by everyone.", - "publish_unrestricted": "Publish unrestricted", - "publisher_label": "Publisher", - "publisher_tooltip": "URL of the original publisher of the data", - "publisher": "Publisher", - "publishing_description": "Publish data offer to other data space participants", - "publishing_mode_label": "Publishing Mode", - "publishing": "Publishing", - "query_param_enabled_hint": "With query param parameterization enabled, the default query params and the query params provided by the consumer will be merged.", - "query_param_name": "Query Param Name", - "query_param_parametrization": "Query Param Parameterization", - "query_param": "Query Param", - "query_params": "Query Params", - "readily_available": "Available (with data source)", - "ref_files_description_placeholder": "# My Asset\\n\\nAt vero eos et accusam et justo duo dolores et ea rebum.\\n\\n## Details\\n\\nAt vero eos et accusam et justo duo dolores et ea **rebum**.", - "reference_files_description_label": "Reference files description", - "reference_files_description_title": "Reference files description", - "reference_files_description": "Additional information regarding the reference files. Supports", - "reference_files_tooltip": "URLs of Dataset schemas or other references", - "reference_files": "Reference files", - "request_body_hint": "The request body can only be set from the consumer side, if parameterization is enabled.", - "request_body_parameterization": "Request Body Parameterization", - "request_body": "Request Body", - "show_advanced_fields": "Show Advanced Fields", - "sovereign_label": "Sovereign", - "sovereign_placeholder": "Data Owning Company GMBH", - "sovereign_tooltip": "Legal name of the data owner", - "standard_license_label": "Standard License", - "standard_license_tooltip": "URL of the license under which the data is offered.", - "start_date": "Start date", - "temporal_coverage_hint": "Start and/or end date when the dataset is available for consumption. DD/MM/YYYY (optional) – DD/MM/YYYY (optional)", - "temporal_coverage": "Temporal coverage", - "title_label": "Title", - "title_placeholder": "My Asset", - "title_tooltip": "The main title of your asset. It will also be the title of the data offering displayed in the catalog.", - "title": "Create Data Offer", - "transport_mode": "Transport Mode", - "type": "Type", - "unchanged": "Keep the datasource unchanged.", - "vault_secret_name": "Vault Secret Name", - "version_tooltip": "The version of your asset. Especially useful if you have iterations of the same asset.", - "version": "Version" - }, - "edit_asset_page": { - "title": "Edit Asset" - }, - "dashboard_page": { - "about_ui": "About EDC UI", - "about": "About EDC", - "add_prop": "Additional Properties", - "api_url": "Management API URL", - "catalog_browser": "Catalog Browser", - "catalog": "Catalog Browser", - "completed": "Completed", - "con_agree": "Contract Agreements", - "con_def": "Contract Definitions", - "conn_end": "Connector Endpoint", - "conn_prop": "Connector Properties", - "conn_service": "Connector-as-a-Service", - "contact": "Contact", - "contact_us": "Contact Us", - "contracts": "Contracts", - "data_dashboard": "Data Dashboard", - "descrip": "Share the following Connector Endpoint to let others access your EDC Connector's catalog. This is especially useful when using connector-restricted data offers which won't show up in brokers.", - "eclipse": "Eclipse Dataspace Components", - "edc_conn": "EDC Connector", - "edition_edc": "Basic Edition EDC", - "error": "Error", - "failed_dashboard": "Failed fetching Dashboard Page Data", - "failed_env": "Failed fetching Env and Jar Last Commit Data", - "failed_offers": "Failed fetching data offers.", - "failed_ui_build": "Failed fetching UI Last Build Date Data", - "failed_ui": "Failed fetching UI Last Commit Data", - "inc_data": "Incoming Data", - "managed_edc": "Get Managed EDC", - "marketing_about_ui_assets_view_and_create": "View and create assets using the {}", - "marketing_about_ui_catalog_negotiate": "Negotiate a contract for data sharing in your Dataspace using the {}", - "marketing_about_ui_catalog_view_offers": "View the asset catalog available to you in your Dataspace using the {}", - "marketing_about_ui_contract_definitions_view_and_create": "Publish an asset into your Dataspace using the {}", - "marketing_about_ui_contracts_transfer": "Transfer an asset in your Dataspace using the {}", - "marketing_about_ui_contracts_view_existing": "View your existing contracts in the {}", - "marketing_about_ui_policies_view_and_create": "View and create policies and apply these to assets in your Dataspace using the {}", - "marketing_about_ui_transfer_history_view": "View which assets have been transferred in your Dataspace in the {}", - "marketing_about_ui": "Example use cases, that you can try out with this application, are:", - "marketing_about": "The Eclipse Dataspace Components framework facilitates sovereign, inter-organizational data exchange.", - "marketing_about2": "It implements the International Data Spaces standard (IDS) as well as relevant protocols associated with GAIA-X.", - "marketing_about3": "The framework is designed as extensible as possible to encourage integrations into various data ecosystems.", - "marketing_ce_intro": "To join data spaces like Mobility Data Space or Catena-X within minutes, consider the managed solution by {}.", - "marketing_ce_intro2": "- the Connector-as-a-Service (CaaS) based on open-source software enriched with key enterprise features.", - "marketing_mds_basic_intro": "This EDC Connector on the subscription level Basic is provided by sovity to enable your first steps in the Mobility Data Space (MDS).", - "marketing_mds_basic_intro2": "For additional features and advanced capacities, please feel free to contact us.", - "no_transfer": "NO PROVIDING TRANSFER PROCESSES", - "no_transfer2": "NO CONSUMING TRANSFER PROCESSES", - "num_transfer": "Number of Transfer Processes", - "out_data": "Outgoing Data", - "page": "Dashboard Page", - "pre_cat": "Preconfigured Catalogs", - "progress": "In Progress", - "provided": "Provided by", - "title": "Dashboard", - "trans_pro": "Transfer Processes", - "transfer": "Transfer History", - "your_assets": "Your Assets", - "your_def": "Your Contract Definitions", - "your_pol": "Your Policies" - }, - "policy_definition_page": { - "conn_res": "Connector-Restricted-Usage", - "create_pol": "Create New Policy", - "create_policy": "Create Policy", - "date_range": "Date Range", - "expression": "Policy Expression", - "metadata": "Policy Metadata", - "no_pol": "No policy found with given filter.", - "page": "Policy Page", - "search_pol": "Search policies", - "time_res": "Time-Period-Restricted", - "title": "Policies" - }, - "create_policy_page": { - "title": "Create Policy" - }, - "transfer_history_page": { - "counter_endpoint": "Counterparty Connector Endpoint", - "counter_id": "Counterparty Participant ID", - "no_trans": "No transfer history found.", - "page": "Transfer History Page", - "subtitle": "Transfer History Details", - "title": "Transfer History" - }, - "logout_page": { - "title": "Logout" - }, - "connector_ui": { - "assets": "Assets", - "catalog": "Catalog Browser", - "contract": "Contract Definitions", - "contracts": "Contracts", - "dashboard": "Dashboard", - "logout": "Logout", - "policies": "Policies", - "transfer": "Transfer History" - }, - "asset_detail_dialog": { - "on_request_data_offer_description1": "This data offer is not available for immediate consumption. However, the creator left an email address to contact them if interested.", - "on_request_data_offer_description2": "Click", - "on_request_data_offer_description3": "Contact", - "on_request_data_offer_description4": "to email the data offer provider. Alternatively, you can also copy the contact email address from the Contact Information", - "on_request_data_offer_description5": "section above", - "on_request_data_offer_title": "On Request Data Offer" - }, - "create_asset": { - "asset_id_tooltip": "Asset ID, used internally, is an auto-generated string in a URL-compatible format, combining the asset name and version with a urn:artifact: prefix. You can customize it if needed.", - "content_type_hint": "Describes the content type of the data as a MIME type, see", - "data_model_tooltip": "Model for data exchange, e.g. DATEX II, TPEG for traffic and travel information, etc.", - "email_tooltip": "This email address will be offered to potential consumers for contacting you. This is done in place of having an actual data source connected.", - "endpoint_documentation_tooltip": "URL to the technical documentation about the data to be received.", - "prefered_email_subject_tooltip": "When potential customers reach out to you via email, you’ll receive messages with this subject line.", - "prefered_email_subject": "Preferred E-Mail Subject", - "standard_license_tooltip": "URL of the license under which the data is offered", - "title_tooltip": "The main title of your asset. It will also be the title of the data offering displayed in the catalog.", - "version_tooltip": "The version of your asset. Especially useful if you have iterations of the same asset." - }, - "policy_expression": { - "add_tooltip": "Conjunction of several expressions. Evaluates to true if and only if all child expressions are true", - "or_tooltip": "Disjunction of several expressions. Evaluates to true if and only if at least one child expression is true", - "participant_id_description": "Consumer's Participant ID, also called Connector ID, of the counter-party connector.", - "participant_id_hint": "Multiple values can be joined by comma", - "participant_id_title": "Consumer's Participant ID", - "time_restriction_description": "Time at which the policy is evaluated. This can be used to restrict the data offer to certain time periods", - "time_restriction_title": "Time Restriction", - "timespan_restriction_title": "Timespan Restriction", - "timespan_restriction_tooltip": "Timespan at which the policy is evaluated. This can be used to restrict the data offer to certain time periods", - "xone_tooltip": "XONE operation. Evaluates to true if and only if exactly one child expression is true" - } + "general.accept": "Accept", + "general.access_pol": "Access Policy", + "general.ad_inf": "Advanced Information", + "general.ad_info": "Advanced Information", + "general.add_add_header": "Add Additional Header", + "general.add_auth": "Add Authentication", + "general.add_header": "Additional Headers", + "general.add": "Add", + "general.additional_properties": "Additional Properties", + "general.asset": "Asset", + "general.assets": "Assets", + "general.auth_header": "Auth Header Name", + "general.auth_value": "Auth Header Value", + "general.auth": "Authentication", + "general.body": "Body", + "general.cancel": "Cancel", + "general.close": "Close", + "general.combine": "Combine", + "general.con_def": "Data Offer", + "general.conditions": "Conditions For Use", + "general.confirm": "Confirm", + "general.cons": "Constraints", + "general.consuming": "Consuming", + "general.contact": "Contact", + "general.content_type": "Content Type", + "general.contract_offer": "Contract Offer", + "general.contract_policy": "Contract Policy", + "general.contract": "Contract Agreement", + "general.copy_to_clipboard_tooltip": "Copy to clipboard", + "general.coverage": "Temporal Coverage", + "general.create": "Create", + "general.data_category": "Data Category", + "general.data_model": "Data Model", + "general.data_subcategory": "Data Subcategory", + "general.data": "Data Samples", + "general.date": "Date", + "general.delete": "Delete", + "general.description": "Description", + "general.details": "Show Details", + "general.direction": "Direction", + "general.disable": "Disable", + "general.doc": "Documentation", + "general.edit": "Edit", + "general.enable": "Enable", + "general.end_date": "End date", + "general.endpoint_doc": "Endpoint Documentation", + "general.endpoint": "Connector Endpoint", + "general.error": "Error", + "general.files": "Reference Files", + "general.frequency": "Data Update Frequency", + "general.geo_location": "Geo Location", + "general.geo_reference_method_tooltip": "The method used for representing of geographical data, e.g GeoJSON, OpenLR, etc.", + "general.geo_reference_method": "Geo reference method", + "general.header_name": "Header Name", + "general.header_sec": "Header with Vault Secret", + "general.header_val": "Header with Value", + "general.header_value": "Header Value", + "general.hide": "Hide", + "general.id": "Contract Offer ID", + "general.irr_pol": "Irregular Policy", + "general.language": "Language", + "general.limit_reached": "You have reached the maximum number of consuming contracts. Please terminate one of the existing contracts to negotiate a new one.", + "general.loading": "Loading...", + "general.loading1": "Loading", + "general.method_para": "Method Parameterization", + "general.method": "Method", + "general.name": "Name", + "general.nuts": "NUTS Locations", + "general.operator": "Operator", + "general.oth_connector": "Other Connector", + "general.page": "Page", + "general.parametrization": "Parameterization", + "general.params": "Query Params", + "general.path": "Path", + "general.policies": "Policies", + "general.policy": "Policy", + "general.providing": "Providing", + "general.pub_asset_only_tooltip": "Create the asset but do not publish your data offer. You can do it later.", + "general.pub_asset_only": "Create asset only (without data offer)", + "general.pub_desc": "Publish data offer to other data space participants", + "general.pub_mode": "Publishing Mode", + "general.pub_restr_tooltip": "Your data offer is published with restrictions of your choice.", + "general.pub_restr": "Publish restricted", + "general.pub_unrestr_tooltip": "Your data offer is published and can be accessed by everyone.", + "general.pub_unrestr": "Publish unrestricted", + "general.publish": "Publish", + "general.publisher": "Publisher", + "general.publishing": "Publishing", + "general.refresh": "Refresh", + "general.rem_auth": "Remove Authentication", + "general.remove": "Remove", + "general.select_an_option": "Select an option", + "general.show_adv_fields": "Show Advanced Fields", + "general.show_data": "Show Data Samples", + "general.show_files": "Show Reference Files", + "general.show": "Show", + "general.signed": "Signed", + "general.sovereign": "Sovereign", + "general.standard_license": "Standard License", + "general.start_date": "Start date", + "general.state": "State", + "general.still_loading": "Still Loading...", + "general.tags": "Tags", + "general.terminate": "Terminate", + "general.terminated_by": "terminated by", + "general.title": "Title", + "general.total": "Total", + "general.transport_mode": "Transport Mode", + "general.type": "Type", + "general.update": "Update", + "general.updated": "Last updated", + "general.value": "Value", + "general.vault_secret": "Vault Secret Name", + "general.warn": "Warn", + + "tooltip.clipboard": "Copy to clipboard", + "tooltip.details": "Click for details", + "tooltip.failed_details": "Click for failed catalog details", + "tooltip.negotiate": "Cannot negotiate contracts with your own connector.", + + "notification.accept_licence": "Hereby I agree that by pressing the 'Confirm' button, I accept the license\n terms, policies, and additional conditions for use, including any copyright\n notices, associated with the provider's offer.", + "notification.agree": "I agree to the Data Offer Terms & Conditions", + "notification.asset": "Successfully saved asset.", + "notification.at": "Created At", + "notification.compl_negotiation": "Contract Negotiation complete!", + "notification.connector_id_plural": "Connector IDs", + "notification.connector_id": "Connector ID", + "notification.content_type": "Content Type", + "notification.data_offer": "Data Offer Terms & Conditions", + "notification.delete_one": "Please confirm you want to delete", + "notification.delete_title": "Deletion confirmation", + "notification.delete_two": "This action cannot be undone.", + "notification.failed_asset": "Failed saving asset!", + "notification.failed_create_policy": "Failed creating Policy!", + "notification.failed_refresh": "Failed refreshing asset list!", + "notification.failed_transfer_detail_fetch": "Failed to fetch asset details!", + "notification.http_param": "HTTP Data Source Parameterization", + "notification.json_ld": "Show JSON-LD", + "notification.json": "Cleaned JSON", + "notification.negotiate": "Negotiate", + "notification.negotiating": "Negotiating...", + "notification.negotiation": "Failed negotiating contract.", + "notification.no_description": "No Description", + "notification.no_transfer": "No transfer processes started yet.", + "notification.organization": "Organization", + "notification.oth_connector": "Other Connector", + "notification.participant_id_plural": "Participant IDs", + "notification.participant_id": "Participant ID", + "notification.policy_details": "Show Policy Details", + "notification.show_less": "Show less", + "notification.show_more": "Show more", + "notification.starting_neg": "Failure starting negotiation.", + "notification.succ_negotiating": "Successfully Negotiated", + "notification.succ_pol": "Successfully created policy.", + "notification.t_history": "Transfer History", + "notification.transfer": "Transfer", + "notification.up_at": "Updated At", + + "services.curator_org": "Curator Organization Name", + "services.curator_url": "Curator URL", + "services.env_version": "Environment Version", + "services.failed_loading": "Failed loading connector information", + "services.main_url": "Maintainer URL", + "services.maintainer": "Maintainer Organization Name", + + "asset_list_page.add_file": "Add reference file", + "asset_list_page.add_keyword": "Add keyword...", + "asset_list_page.add_loc": "Add location", + "asset_list_page.add_sample": "Add data sample", + "asset_list_page.asset_id": "Asset ID", + "asset_list_page.create_asset": " Create New Asset", + "asset_list_page.datasource_config": "Custom Datasource Config (JSON)", + "asset_list_page.datasource_info": "Datasource Information", + "asset_list_page.datasource": "Datasource", + "asset_list_page.default_query": "With query param parameterization enabled, the default query params and the query params provided by the consumer will be merged.", + "asset_list_page.descrip": "The description uses", + "asset_list_page.edit_asset": "Edit Asset", + "asset_list_page.file_des_hint1": "Additional information regarding the reference files.", + "asset_list_page.file_des_hint2": "Supports", + "asset_list_page.file_des": "Reference files description", + "asset_list_page.general_information_description": "Fill out general information about the asset.", + "asset_list_page.general_information": "General Information", + "asset_list_page.http_subpath": "The consuming side must provide a Custom HTTP Subpath with method parameterization is enabled. The Custom HTTP Subpath will be appended to the base path.", + "asset_list_page.info_body": "The request body can only be set from the consumer side, if parameterization is enabled.", + "asset_list_page.info_file": "Additional information regarding the reference files", + "asset_list_page.instructions": "Additional not legally relevant usage instructions (e.g. how to cite the dataset)", + "asset_list_page.keywords": "Keywords", + "asset_list_page.legal_name": "Legal name of the data owner", + "asset_list_page.method_para": "Method Parameterization", + "asset_list_page.my_asset": "My Asset", + "asset_list_page.name": "Title", + "asset_list_page.no_assets": "No assets found with given filter.", + "asset_list_page.page": "Asset Page", + "asset_list_page.path_para": "Path Parameterization", + "asset_list_page.provide": "The consuming side must provide a Custom HTTP Method with method parameterization enabled.", + "asset_list_page.query_name": "Query Param Name", + "asset_list_page.query_para_single": "Query Param", + "asset_list_page.query_para": "Query Params", + "asset_list_page.query_parameter": " Query Param Parameterization", + "asset_list_page.request_body": "Request Body", + "asset_list_page.request_para": "Request Body Parameterization", + "asset_list_page.search_assets": "Search assets", + "asset_list_page.title": "Assets", + "asset_list_page.version": "Version", + + "catalog_browser_page.con_endpoints": "Connector Endpoints", + "catalog_browser_page.contract": "Contract Offer", + "catalog_browser_page.endpoint_catalogs": "Other Connector Endpoint Catalogs", + "catalog_browser_page.enter_endpoints": "Please enter other connector endpoints to fetch catalogs.", + "catalog_browser_page.fetch": "Fetch Status", + "catalog_browser_page.no_contract_offers": "No contract offers found with this filter", + "catalog_browser_page.page": "Catalog Browser", + "catalog_browser_page.search": "Search catalog", + "catalog_browser_page.title": "Catalog Browser", + "catalog_browser_page.usage": "Already using", + + "contract_agreement_page.active_contracts": "Active Contracts", + "contract_agreement_page.add_cus_query": "Add Custom Query Param", + "contract_agreement_page.all_contracts": "All Contracts", + "contract_agreement_page.con_agree": "Consuming Contract Agreements", + "contract_agreement_page.con_def": "No data offer found with given filter.", + "contract_agreement_page.create_def": "Publish Data Offer", + "contract_agreement_page.cus_datasink": "Custom Datasink Config (JSON)", + "contract_agreement_page.cus_meth": "Custom Method", + "contract_agreement_page.cus_query": "Custom Query Param Name", + "contract_agreement_page.cus_sub": "Custom Subpath", + "contract_agreement_page.cus_transfer": "Custom Transfer Process Request (JSON)", + "contract_agreement_page.datasink": "Datasink", + "contract_agreement_page.http_fields": "Http Datasource Parameterization Fields", + "contract_agreement_page.http_message": "When the data offer on the provider side is of the type HttpData and certain data source fields are set, certain parts of the request to the data source can be customized from the consumer side and will be passed to the other connector when initiating the transfer. This allows an asset to contain more than just one kind of data, allowing additional filtering or even sharing of entire APIs with multiple data sets via a single asset and a single contract.", + "contract_agreement_page.http_para": "Http Datasource Parameterization", + "contract_agreement_page.ini_transfer": "Initiate Transfer", + "contract_agreement_page.json_hint": "JSON-LD values for edc:connectorId, edc:contractId, edc:connectorId and edc:connectorAddress will be overridden.", + "contract_agreement_page.new_def": "Publish New Data Offer", + "contract_agreement_page.no_agree_found": "No contract agreements found with given filter.", + "contract_agreement_page.no_agree": "No contract agreements yet.", + "contract_agreement_page.page": "Contract Page", + "contract_agreement_page.prov_agree": "Providing Contract Agreements", + "contract_agreement_page.proxy_body": "Requires proxyBody to be true.", + "contract_agreement_page.proxy_method": "Requires proxyMethod to be true. ", + "contract_agreement_page.proxy_path": "Requires proxyPath to be true. ", + "contract_agreement_page.proxy_query": "Requires proxyQueryParams to be true", + "contract_agreement_page.req_body": "Custom Request Body", + "contract_agreement_page.req_cont": "Custom Request Body Content Type", + "contract_agreement_page.res_url": "The resulting URL will look like", + "contract_agreement_page.search_agree": "Search contract agreements...", + "contract_agreement_page.search_def": "Search data offer", + "contract_agreement_page.terminated_contracts": "Terminated Contracts", + "contract_agreement_page.title": "Contracts", + + "contract_definition_page.page": "Data Offer Page", + "contract_definition_page.title": "Data Offers", + + "create_data_offer_page.accept_placeholder": "Accept", + "create_data_offer_page.add_data_sample": "Add data sample", + "create_data_offer_page.add_location": "Add location", + "create_data_offer_page.add_reference_file": "Add reference file", + "create_data_offer_page.additional_headers": "Additional Headers", + "create_data_offer_page.asset_id_label": "Asset ID", + "create_data_offer_page.asset_id_tooltip": "Asset ID, used internally, is an auto-generated string in a URL-compatible format, combining the asset name and version with a urn:artifact: prefix. You can customize it if needed.", + "create_data_offer_page.asset_id": "Asset ID", + "create_data_offer_page.auth_header_name": "Auth Header Name", + "create_data_offer_page.auth_header_value": "Auth Header Value", + "create_data_offer_page.authorization_header_placeholder": "Authorization", + "create_data_offer_page.bearer_placeholder": "Bearer ...", + "create_data_offer_page.conditions_for_use_description_hint": "Additional not legally relevant usage instructions (e.g. how to cite the dataset). The field supports", + "create_data_offer_page.conditions_for_use_label": "Conditions for use", + "create_data_offer_page.conditions_for_use_placeholder": "Please cite the dataset as...", + "create_data_offer_page.contact_email_placeholder": "contact@my-org.com", + "create_data_offer_page.contact_email_tooltip": "This email address will be offered to potential consumers for contacting you. This is done in place of having an actual data source connected.", + "create_data_offer_page.contact_email": "Contact E-Mail", + "create_data_offer_page.content_type": "Content Type", + "create_data_offer_page.context_information_description": "Provide context information about the datasource", + "create_data_offer_page.custom_datasource_config_json_label": "Custom Datasource Config (JSON)", + "create_data_offer_page.custom_http_method_hint": "The consuming side must provide a Custom HTTP Method with method parameterization enabled.", + "create_data_offer_page.custom_http_subpath_hint": "The consuming side must provide a Custom HTTP Subpath with method parameterization is enabled. The Custom HTTP Subpath will be appended to the base path.", + "create_data_offer_page.data_category": "Data Category", + "create_data_offer_page.data_model_placeholder": "proprietary", + "create_data_offer_page.data_model_tooltip": "Model for data exchange, e.g. DATEX II, TPEG for traffic and travel information, etc.", + "create_data_offer_page.data_model": "Data Model", + "create_data_offer_page.data_offer_type": "Data offer type", + "create_data_offer_page.data_samples_tooltip": "URLs of Dataset samples if available", + "create_data_offer_page.data_samples": "Data samples", + "create_data_offer_page.data_subcategory": "Data Subcategory", + "create_data_offer_page.data_update_frequency_label": "Data update frequency", + "create_data_offer_page.data_update_frequency_placeholder": "every month", + "create_data_offer_page.data_update_frequency_tooltip": "How often is the dataset updated, e.g\t'Every 5 min.", + "create_data_offer_page.datasource_information": "Datasource Information", + "create_data_offer_page.datasource": "Datasource", + "create_data_offer_page.define_data_offer": "Define the type of your offer", + "create_data_offer_page.description_supports": "The description supports", + "create_data_offer_page.description_uses": "The description uses", + "create_data_offer_page.description": "Description", + "create_data_offer_page.documentation": "Documentation", + "create_data_offer_page.email_subject_placeholder": "Data Offer 'xyz'", + "create_data_offer_page.email_subject_tooltip": "When potential customers reach out to you via email, you’ll receive messages with this subject line.", + "create_data_offer_page.email_subject": "Preferred E-Mail Subject", + "create_data_offer_page.end_date_inclusive": "End date (inclusive)", + "create_data_offer_page.endpoint_documentation_tooltip": "URL to the technical documentation about the data to be received.", + "create_data_offer_page.endpoint_documentation": "Endpoint Documentation", + "create_data_offer_page.general_information_description": "Fill out general information about the asset.", + "create_data_offer_page.general_information": "General Information", + "create_data_offer_page.geo_location_description": "Simple description of the relevant geolocation, e.g. Hamburg and vicinity.", + "create_data_offer_page.geo_location_label": "Geo location", + "create_data_offer_page.geo_location_tooltip": "Simple description of the relevant geolocation, e.g. Hamburg and vicinity.", + "create_data_offer_page.geo_reference_method": "Geo reference method", + "create_data_offer_page.geo_reference_placeholder": "Lat/Lon", + "create_data_offer_page.geo_reference_tooltip": "The method used for representing of geographical data, e.g GeoJSON, OpenLR, etc.", + "create_data_offer_page.header_name": "Header Name", + "create_data_offer_page.header_value": "Header Value", + "create_data_offer_page.header_with_value": "Header with Value", + "create_data_offer_page.header_with_vault_secret": "Header with Vault Secret", + "create_data_offer_page.header": "Header", + "create_data_offer_page.keywords": "Keywords", + "create_data_offer_page.language": "Language", + "create_data_offer_page.legal_information_description": "Provide legal information and define the conditions for use", + "create_data_offer_page.legal_information_title": "Legal Information", + "create_data_offer_page.location_time_description": "Fill out location and time information about the asset", + "create_data_offer_page.location_time_title": "Location / Time", + "create_data_offer_page.method_parameterization": "Method Parameterization", + "create_data_offer_page.method": "Method", + "create_data_offer_page.mobility_information_description": "Fill out the asset's mobility information", + "create_data_offer_page.mobility_information_my_title": "Mobility Information", + "create_data_offer_page.nuts_location": "NUTS location", + "create_data_offer_page.nuts_locations_label": "NUTS locations", + "create_data_offer_page.nuts_locations_tooltip": "NUTS codes are regional identifiers in Germany used for statistical and administrative purposes, covering states, districts, and municipalities. (e.g DE60)", + "create_data_offer_page.offer_type": "Offer Type", + "create_data_offer_page.on_request": "On Request (without data source)", + "create_data_offer_page.parameterization": "Parameterization", + "create_data_offer_page.path_parameterization": "Path Parameterization", + "create_data_offer_page.publish_asset_only_tooltip": "Create the asset but do not publish your data offer. You can do it later.", + "create_data_offer_page.publish_asset_only": "Create asset only (without data offer)", + "create_data_offer_page.publish_restricted_tooltip": "Your data offer is published with restrictions of your choice.", + "create_data_offer_page.publish_restricted": "Publish restricted", + "create_data_offer_page.publish_unrestricted_tooltip": "Your data offer is published and can be accessed by everyone.", + "create_data_offer_page.publish_unrestricted": "Publish unrestricted", + "create_data_offer_page.publisher_label": "Publisher", + "create_data_offer_page.publisher_tooltip": "URL of the original publisher of the data", + "create_data_offer_page.publisher": "Publisher", + "create_data_offer_page.publishing_description": "Publish data offer to other data space participants", + "create_data_offer_page.publishing_mode_label": "Publishing Mode", + "create_data_offer_page.publishing": "Publishing", + "create_data_offer_page.query_param_enabled_hint": "With query param parameterization enabled, the default query params and the query params provided by the consumer will be merged.", + "create_data_offer_page.query_param_name": "Query Param Name", + "create_data_offer_page.query_param_parametrization": "Query Param Parameterization", + "create_data_offer_page.query_param": "Query Param", + "create_data_offer_page.query_params": "Query Params", + "create_data_offer_page.readily_available": "Available (with data source)", + "create_data_offer_page.ref_files_description_placeholder": "# My Asset\\n\\nAt vero eos et accusam et justo duo dolores et ea rebum.\\n\\n## Details\\n\\nAt vero eos et accusam et justo duo dolores et ea **rebum**.", + "create_data_offer_page.reference_files_description_label": "Reference files description", + "create_data_offer_page.reference_files_description_title": "Reference files description", + "create_data_offer_page.reference_files_description": "Additional information regarding the reference files. Supports", + "create_data_offer_page.reference_files_tooltip": "URLs of Dataset schemas or other references", + "create_data_offer_page.reference_files": "Reference files", + "create_data_offer_page.request_body_hint": "The request body can only be set from the consumer side, if parameterization is enabled.", + "create_data_offer_page.request_body_parameterization": "Request Body Parameterization", + "create_data_offer_page.request_body": "Request Body", + "create_data_offer_page.show_advanced_fields": "Show Advanced Fields", + "create_data_offer_page.sovereign_label": "Sovereign", + "create_data_offer_page.sovereign_placeholder": "Data Owning Company GMBH", + "create_data_offer_page.sovereign_tooltip": "Legal name of the data owner", + "create_data_offer_page.standard_license_label": "Standard License", + "create_data_offer_page.standard_license_tooltip": "URL of the license under which the data is offered.", + "create_data_offer_page.start_date": "Start date", + "create_data_offer_page.temporal_coverage_hint": "Start and/or end date when the dataset is available for consumption. DD/MM/YYYY (optional) – DD/MM/YYYY (optional)", + "create_data_offer_page.temporal_coverage": "Temporal coverage", + "create_data_offer_page.title_label": "Title", + "create_data_offer_page.title_placeholder": "My Asset", + "create_data_offer_page.title_tooltip": "The main title of your asset. It will also be the title of the data offering displayed in the catalog.", + "create_data_offer_page.title": "Create Data Offer", + "create_data_offer_page.transport_mode": "Transport Mode", + "create_data_offer_page.type": "Type", + "create_data_offer_page.unchanged": "Keep the datasource unchanged.", + "create_data_offer_page.vault_secret_name": "Vault Secret Name", + "create_data_offer_page.version_tooltip": "The version of your asset. Especially useful if you have iterations of the same asset.", + "create_data_offer_page.version": "Version", + + "edit_asset_page.title": "Edit Asset", + + "dashboard_page.about_ui": "About EDC UI", + "dashboard_page.about": "About EDC", + "dashboard_page.add_prop": "Additional Properties", + "dashboard_page.api_url": "Management API URL", + "dashboard_page.catalog_browser": "Catalog Browser", + "dashboard_page.catalog": "Catalog Browser", + "dashboard_page.completed": "Completed", + "dashboard_page.con_agree": "Contract Agreements", + "dashboard_page.con_def": "Contract Definitions", + "dashboard_page.conn_end": "Connector Endpoint", + "dashboard_page.conn_prop": "Connector Properties", + "dashboard_page.conn_service": "Connector-as-a-Service", + "dashboard_page.contact_us": "Contact Us", + "dashboard_page.contact": "Contact", + "dashboard_page.contracts": "Contracts", + "dashboard_page.data_dashboard": "Data Dashboard", + "dashboard_page.descrip": "Share the following Connector Endpoint to let others access your EDC Connector's catalog. This is especially useful when using connector-restricted data offers which won't show up in brokers.", + "dashboard_page.eclipse": "Eclipse Dataspace Components", + "dashboard_page.edc_conn": "EDC Connector", + "dashboard_page.edition_edc": "Basic Edition EDC", + "dashboard_page.error": "Error", + "dashboard_page.failed_dashboard": "Failed fetching Dashboard Page Data", + "dashboard_page.failed_env": "Failed fetching Env and Jar Last Commit Data", + "dashboard_page.failed_offers": "Failed fetching data offers.", + "dashboard_page.failed_ui_build": "Failed fetching UI Last Build Date Data", + "dashboard_page.failed_ui": "Failed fetching UI Last Commit Data", + "dashboard_page.inc_data": "Incoming Data", + "dashboard_page.managed_edc": "Get Managed EDC", + "dashboard_page.marketing_about_ui_assets_view_and_create": "View and create assets using the {}", + "dashboard_page.marketing_about_ui_catalog_negotiate": "Negotiate a contract for data sharing in your Dataspace using the {}", + "dashboard_page.marketing_about_ui_catalog_view_offers": "View the asset catalog available to you in your Dataspace using the {}", + "dashboard_page.marketing_about_ui_contract_definitions_view_and_create": "Publish an asset into your Dataspace using the {}", + "dashboard_page.marketing_about_ui_contracts_transfer": "Transfer an asset in your Dataspace using the {}", + "dashboard_page.marketing_about_ui_contracts_view_existing": "View your existing contracts in the {}", + "dashboard_page.marketing_about_ui_policies_view_and_create": "View and create policies and apply these to assets in your Dataspace using the {}", + "dashboard_page.marketing_about_ui_transfer_history_view": "View which assets have been transferred in your Dataspace in the {}", + "dashboard_page.marketing_about_ui": "Example use cases, that you can try out with this application, are:", + "dashboard_page.marketing_about": "The Eclipse Dataspace Components framework facilitates sovereign, inter-organizational data exchange.", + "dashboard_page.marketing_about2": "It implements the International Data Spaces standard (IDS) as well as relevant protocols associated with GAIA-X.", + "dashboard_page.marketing_about3": "The framework is designed as extensible as possible to encourage integrations into various data ecosystems.", + "dashboard_page.marketing_ce_intro": "To join data spaces like Mobility Data Space or Catena-X within minutes, consider the managed solution by {}.", + "dashboard_page.marketing_ce_intro2": "- the Connector-as-a-Service (CaaS) based on open-source software enriched with key enterprise features.", + "dashboard_page.marketing_mds_basic_intro": "This EDC Connector on the subscription level Basic is provided by sovity to enable your first steps in the Mobility Data Space (MDS).", + "dashboard_page.marketing_mds_basic_intro2": "For additional features and advanced capacities, please feel free to contact us.", + "dashboard_page.no_transfer": "NO PROVIDING TRANSFER PROCESSES", + "dashboard_page.no_transfer2": "NO CONSUMING TRANSFER PROCESSES", + "dashboard_page.num_transfer": "Number of Transfer Processes", + "dashboard_page.out_data": "Outgoing Data", + "dashboard_page.page": "Dashboard Page", + "dashboard_page.pre_cat": "Preconfigured Catalogs", + "dashboard_page.progress": "In Progress", + "dashboard_page.provided": "Provided by", + "dashboard_page.title": "Dashboard", + "dashboard_page.trans_pro": "Transfer Processes", + "dashboard_page.transfer": "Transfer History", + "dashboard_page.your_assets": "Your Assets", + "dashboard_page.your_def": "Your Contract Definitions", + "dashboard_page.your_pol": "Your Policies", + + "policy_definition_page.conn_res": "Connector-Restricted-Usage", + "policy_definition_page.create_pol": "Create New Policy", + "policy_definition_page.create_policy": "Create Policy", + "policy_definition_page.date_range": "Date Range", + "policy_definition_page.expression": "Policy Expression", + "policy_definition_page.metadata": "Policy Metadata", + "policy_definition_page.no_pol": "No policy found with given filter.", + "policy_definition_page.page": "Policy Page", + "policy_definition_page.search_pol": "Search policies", + "policy_definition_page.time_res": "Time-Period-Restricted", + "policy_definition_page.title": "Policies", + + "create_policy_page.title": "Create Policy", + + "transfer_history_page.counter_endpoint": "Counterparty Connector Endpoint", + "transfer_history_page.counter_id": "Counterparty Participant ID", + "transfer_history_page.no_trans": "No transfer history found.", + "transfer_history_page.page": "Transfer History Page", + "transfer_history_page.subtitle": "Transfer History Details", + "transfer_history_page.title": "Transfer History", + + "logout_page.title": "Logout", + + "connector_ui.assets": "Assets", + "connector_ui.catalog": "Catalog Browser", + "connector_ui.contract": "Contract Definitions", + "connector_ui.contracts": "Contracts", + "connector_ui.dashboard": "Dashboard", + "connector_ui.logout": "Logout", + "connector_ui.policies": "Policies", + "connector_ui.transfer": "Transfer History", + + "asset_detail_dialog.on_request_data_offer_description1": "This data offer is not available for immediate consumption. However, the creator left an email address to contact them if interested.", + "asset_detail_dialog.on_request_data_offer_description2": "Click", + "asset_detail_dialog.on_request_data_offer_description3": "Contact", + "asset_detail_dialog.on_request_data_offer_description4": "to email the data offer provider. Alternatively, you can also copy the contact email address from the Contact Information", + "asset_detail_dialog.on_request_data_offer_description5": "section above", + "asset_detail_dialog.on_request_data_offer_title": "On Request Data Offer", + + "create_asset.asset_id_tooltip": "Asset ID, used internally, is an auto-generated string in a URL-compatible format, combining the asset name and version with a urn:artifact: prefix. You can customize it if needed.", + "create_asset.content_type_hint": "Describes the content type of the data as a MIME type, see", + "create_asset.data_model_tooltip": "Model for data exchange, e.g. DATEX II, TPEG for traffic and travel information, etc.", + "create_asset.email_tooltip": "This email address will be offered to potential consumers for contacting you. This is done in place of having an actual data source connected.", + "create_asset.endpoint_documentation_tooltip": "URL to the technical documentation about the data to be received.", + "create_asset.prefered_email_subject_tooltip": "When potential customers reach out to you via email, you’ll receive messages with this subject line.", + "create_asset.prefered_email_subject": "Preferred E-Mail Subject", + "create_asset.standard_license_tooltip": "URL of the license under which the data is offered", + "create_asset.title_tooltip": "The main title of your asset. It will also be the title of the data offering displayed in the catalog.", + "create_asset.version_tooltip": "The version of your asset. Especially useful if you have iterations of the same asset.", + + "policy_expression.add_tooltip": "Conjunction of several expressions. Evaluates to true if and only if all child expressions are true", + "policy_expression.or_tooltip": "Disjunction of several expressions. Evaluates to true if and only if at least one child expression is true", + "policy_expression.participant_id_description": "Consumer's Participant ID, also called Connector ID, of the counter-party connector.", + "policy_expression.participant_id_hint": "Multiple values can be joined by comma", + "policy_expression.participant_id_title": "Consumer's Participant ID", + "policy_expression.time_restriction_description": "Time at which the policy is evaluated. This can be used to restrict the data offer to certain time periods", + "policy_expression.time_restriction_title": "Time Restriction", + "policy_expression.timespan_restriction_title": "Timespan Restriction", + "policy_expression.timespan_restriction_tooltip": "Timespan at which the policy is evaluated. This can be used to restrict the data offer to certain time periods", + "policy_expression.xone_tooltip": "XONE operation. Evaluates to true if and only if exactly one child expression is true" } From 4293f4c64b9e5629b9d0be4d4c1a0559b5f2b45f Mon Sep 17 00:00:00 2001 From: illfixit <66363651+illfixit@users.noreply.github.com> Date: Thu, 26 Sep 2024 15:32:37 +0200 Subject: [PATCH 22/25] chore: refactor with innerHTML --- .../asset-detail-dialog.component.html | 21 ++----- src/assets/i18n/en.json | 63 +++++++++---------- 2 files changed, 36 insertions(+), 48 deletions(-) diff --git a/src/app/shared/business/asset-detail-dialog/asset-detail-dialog.component.html b/src/app/shared/business/asset-detail-dialog/asset-detail-dialog.component.html index 1410ab41..74ae9b67 100644 --- a/src/app/shared/business/asset-detail-dialog/asset-detail-dialog.component.html +++ b/src/app/shared/business/asset-detail-dialog/asset-detail-dialog.component.html @@ -139,24 +139,15 @@ (negotiateClick)="onNegotiateClick($event)"> -
+
{{ 'asset_detail_dialog.on_request_data_offer_title' | translate }}
-
- {{ 'asset_detail_dialog.on_request_data_offer_description1' | translate }} -
-
- {{ 'asset_detail_dialog.on_request_data_offer_description2' | translate - }}{{ - 'asset_detail_dialog.on_request_data_offer_description3' | translate - }}{{ 'asset_detail_dialog.on_request_data_offer_description4' | translate - }}
{{ - 'asset_detail_dialog.on_request_data_offer_description5' | translate - }}. -
-
+
+

diff --git a/src/assets/i18n/en.json b/src/assets/i18n/en.json index d64adaa2..92424b9d 100644 --- a/src/assets/i18n/en.json +++ b/src/assets/i18n/en.json @@ -119,43 +119,44 @@ "tooltip.failed_details": "Click for failed catalog details", "tooltip.negotiate": "Cannot negotiate contracts with your own connector.", - "notification.accept_licence": "Hereby I agree that by pressing the 'Confirm' button, I accept the license\n terms, policies, and additional conditions for use, including any copyright\n notices, associated with the provider's offer.", - "notification.agree": "I agree to the Data Offer Terms & Conditions", "notification.asset": "Successfully saved asset.", - "notification.at": "Created At", "notification.compl_negotiation": "Contract Negotiation complete!", - "notification.connector_id_plural": "Connector IDs", - "notification.connector_id": "Connector ID", - "notification.content_type": "Content Type", - "notification.data_offer": "Data Offer Terms & Conditions", - "notification.delete_one": "Please confirm you want to delete", - "notification.delete_title": "Deletion confirmation", - "notification.delete_two": "This action cannot be undone.", "notification.failed_asset": "Failed saving asset!", "notification.failed_create_policy": "Failed creating Policy!", "notification.failed_refresh": "Failed refreshing asset list!", "notification.failed_transfer_detail_fetch": "Failed to fetch asset details!", - "notification.http_param": "HTTP Data Source Parameterization", - "notification.json_ld": "Show JSON-LD", - "notification.json": "Cleaned JSON", - "notification.negotiate": "Negotiate", - "notification.negotiating": "Negotiating...", "notification.negotiation": "Failed negotiating contract.", - "notification.no_description": "No Description", - "notification.no_transfer": "No transfer processes started yet.", - "notification.organization": "Organization", - "notification.oth_connector": "Other Connector", - "notification.participant_id_plural": "Participant IDs", - "notification.participant_id": "Participant ID", - "notification.policy_details": "Show Policy Details", - "notification.show_less": "Show less", - "notification.show_more": "Show more", "notification.starting_neg": "Failure starting negotiation.", - "notification.succ_negotiating": "Successfully Negotiated", "notification.succ_pol": "Successfully created policy.", - "notification.t_history": "Transfer History", - "notification.transfer": "Transfer", - "notification.up_at": "Updated At", + + "component_library.accept_licence": "Hereby I agree that by pressing the 'Confirm' button, I accept the license\n terms, policies, and additional conditions for use, including any copyright\n notices, associated with the provider's offer.", + "component_library.agree": "I agree to the Data Offer Terms & Conditions", + "component_library.at": "Created At", + "component_library.connector_id_plural": "Connector IDs", + "component_library.connector_id": "Connector ID", + "component_library.content_type": "Content Type", + "component_library.data_offer": "Data Offer Terms & Conditions", + "component_library.delete_one": "Please confirm you want to delete", + "component_library.delete_title": "Deletion confirmation", + "component_library.delete_two": "This action cannot be undone.", + "component_library.http_param": "HTTP Data Source Parameterization", + "component_library.json_ld": "Show JSON-LD", + "component_library.json": "Cleaned JSON", + "component_library.negotiate": "Negotiate", + "component_library.negotiating": "Negotiating...", + "component_library.no_description": "No Description", + "component_library.no_transfer": "No transfer processes started yet.", + "component_library.organization": "Organization", + "component_library.oth_connector": "Other Connector", + "component_library.participant_id_plural": "Participant IDs", + "component_library.participant_id": "Participant ID", + "component_library.policy_details": "Show Policy Details", + "component_library.show_less": "Show less", + "component_library.show_more": "Show more", + "component_library.succ_negotiating": "Successfully Negotiated", + "component_library.t_history": "Transfer History", + "component_library.transfer": "Transfer", + "component_library.up_at": "Updated At", "services.curator_org": "Curator Organization Name", "services.curator_url": "Curator URL", @@ -469,11 +470,7 @@ "connector_ui.policies": "Policies", "connector_ui.transfer": "Transfer History", - "asset_detail_dialog.on_request_data_offer_description1": "This data offer is not available for immediate consumption. However, the creator left an email address to contact them if interested.", - "asset_detail_dialog.on_request_data_offer_description2": "Click", - "asset_detail_dialog.on_request_data_offer_description3": "Contact", - "asset_detail_dialog.on_request_data_offer_description4": "to email the data offer provider. Alternatively, you can also copy the contact email address from the Contact Information", - "asset_detail_dialog.on_request_data_offer_description5": "section above", + "asset_detail_dialog.on_request_data_offer_description_html": "This data offer is not available for immediate consumption. However, the creator left an email address to contact them if interested.
Click Contact to email the data offer provider. Alternatively, you can also copy the contact email address from the Contact Information section above.", "asset_detail_dialog.on_request_data_offer_title": "On Request Data Offer", "create_asset.asset_id_tooltip": "Asset ID, used internally, is an auto-generated string in a URL-compatible format, combining the asset name and version with a urn:artifact: prefix. You can customize it if needed.", From 96e850658db881917b20f3e1b5b04a9aaf34da2b Mon Sep 17 00:00:00 2001 From: illfixit <66363651+illfixit@users.noreply.github.com> Date: Thu, 26 Sep 2024 15:40:51 +0200 Subject: [PATCH 23/25] chore: limits exceeded tooltip --- .../asset-detail-dialog.component.html | 3 +- src/assets/i18n/en.json | 402 +++++++++--------- 2 files changed, 193 insertions(+), 212 deletions(-) diff --git a/src/app/shared/business/asset-detail-dialog/asset-detail-dialog.component.html b/src/app/shared/business/asset-detail-dialog/asset-detail-dialog.component.html index 74ae9b67..c4b84e3e 100644 --- a/src/app/shared/business/asset-detail-dialog/asset-detail-dialog.component.html +++ b/src/app/shared/business/asset-detail-dialog/asset-detail-dialog.component.html @@ -187,8 +187,7 @@ color="primary" [matTooltip]=" limitsExceeded - ? ('You have reached the maximum number of consuming contracts. Please terminate one of the existing contracts to negotiate a new one.' - | translate) + ? ('asset_detail_dialog.limit_exceeded_tooltip' | translate) : '' " [disabled]=" diff --git a/src/assets/i18n/en.json b/src/assets/i18n/en.json index 92424b9d..f22ea9d3 100644 --- a/src/assets/i18n/en.json +++ b/src/assets/i18n/en.json @@ -1,170 +1,7 @@ { - "general.accept": "Accept", - "general.access_pol": "Access Policy", - "general.ad_inf": "Advanced Information", - "general.ad_info": "Advanced Information", - "general.add_add_header": "Add Additional Header", - "general.add_auth": "Add Authentication", - "general.add_header": "Additional Headers", - "general.add": "Add", - "general.additional_properties": "Additional Properties", - "general.asset": "Asset", - "general.assets": "Assets", - "general.auth_header": "Auth Header Name", - "general.auth_value": "Auth Header Value", - "general.auth": "Authentication", - "general.body": "Body", - "general.cancel": "Cancel", - "general.close": "Close", - "general.combine": "Combine", - "general.con_def": "Data Offer", - "general.conditions": "Conditions For Use", - "general.confirm": "Confirm", - "general.cons": "Constraints", - "general.consuming": "Consuming", - "general.contact": "Contact", - "general.content_type": "Content Type", - "general.contract_offer": "Contract Offer", - "general.contract_policy": "Contract Policy", - "general.contract": "Contract Agreement", - "general.copy_to_clipboard_tooltip": "Copy to clipboard", - "general.coverage": "Temporal Coverage", - "general.create": "Create", - "general.data_category": "Data Category", - "general.data_model": "Data Model", - "general.data_subcategory": "Data Subcategory", - "general.data": "Data Samples", - "general.date": "Date", - "general.delete": "Delete", - "general.description": "Description", - "general.details": "Show Details", - "general.direction": "Direction", - "general.disable": "Disable", - "general.doc": "Documentation", - "general.edit": "Edit", - "general.enable": "Enable", - "general.end_date": "End date", - "general.endpoint_doc": "Endpoint Documentation", - "general.endpoint": "Connector Endpoint", - "general.error": "Error", - "general.files": "Reference Files", - "general.frequency": "Data Update Frequency", - "general.geo_location": "Geo Location", - "general.geo_reference_method_tooltip": "The method used for representing of geographical data, e.g GeoJSON, OpenLR, etc.", - "general.geo_reference_method": "Geo reference method", - "general.header_name": "Header Name", - "general.header_sec": "Header with Vault Secret", - "general.header_val": "Header with Value", - "general.header_value": "Header Value", - "general.hide": "Hide", - "general.id": "Contract Offer ID", - "general.irr_pol": "Irregular Policy", - "general.language": "Language", - "general.limit_reached": "You have reached the maximum number of consuming contracts. Please terminate one of the existing contracts to negotiate a new one.", - "general.loading": "Loading...", - "general.loading1": "Loading", - "general.method_para": "Method Parameterization", - "general.method": "Method", - "general.name": "Name", - "general.nuts": "NUTS Locations", - "general.operator": "Operator", - "general.oth_connector": "Other Connector", - "general.page": "Page", - "general.parametrization": "Parameterization", - "general.params": "Query Params", - "general.path": "Path", - "general.policies": "Policies", - "general.policy": "Policy", - "general.providing": "Providing", - "general.pub_asset_only_tooltip": "Create the asset but do not publish your data offer. You can do it later.", - "general.pub_asset_only": "Create asset only (without data offer)", - "general.pub_desc": "Publish data offer to other data space participants", - "general.pub_mode": "Publishing Mode", - "general.pub_restr_tooltip": "Your data offer is published with restrictions of your choice.", - "general.pub_restr": "Publish restricted", - "general.pub_unrestr_tooltip": "Your data offer is published and can be accessed by everyone.", - "general.pub_unrestr": "Publish unrestricted", - "general.publish": "Publish", - "general.publisher": "Publisher", - "general.publishing": "Publishing", - "general.refresh": "Refresh", - "general.rem_auth": "Remove Authentication", - "general.remove": "Remove", - "general.select_an_option": "Select an option", - "general.show_adv_fields": "Show Advanced Fields", - "general.show_data": "Show Data Samples", - "general.show_files": "Show Reference Files", - "general.show": "Show", - "general.signed": "Signed", - "general.sovereign": "Sovereign", - "general.standard_license": "Standard License", - "general.start_date": "Start date", - "general.state": "State", - "general.still_loading": "Still Loading...", - "general.tags": "Tags", - "general.terminate": "Terminate", - "general.terminated_by": "terminated by", - "general.title": "Title", - "general.total": "Total", - "general.transport_mode": "Transport Mode", - "general.type": "Type", - "general.update": "Update", - "general.updated": "Last updated", - "general.value": "Value", - "general.vault_secret": "Vault Secret Name", - "general.warn": "Warn", - - "tooltip.clipboard": "Copy to clipboard", - "tooltip.details": "Click for details", - "tooltip.failed_details": "Click for failed catalog details", - "tooltip.negotiate": "Cannot negotiate contracts with your own connector.", - - "notification.asset": "Successfully saved asset.", - "notification.compl_negotiation": "Contract Negotiation complete!", - "notification.failed_asset": "Failed saving asset!", - "notification.failed_create_policy": "Failed creating Policy!", - "notification.failed_refresh": "Failed refreshing asset list!", - "notification.failed_transfer_detail_fetch": "Failed to fetch asset details!", - "notification.negotiation": "Failed negotiating contract.", - "notification.starting_neg": "Failure starting negotiation.", - "notification.succ_pol": "Successfully created policy.", - - "component_library.accept_licence": "Hereby I agree that by pressing the 'Confirm' button, I accept the license\n terms, policies, and additional conditions for use, including any copyright\n notices, associated with the provider's offer.", - "component_library.agree": "I agree to the Data Offer Terms & Conditions", - "component_library.at": "Created At", - "component_library.connector_id_plural": "Connector IDs", - "component_library.connector_id": "Connector ID", - "component_library.content_type": "Content Type", - "component_library.data_offer": "Data Offer Terms & Conditions", - "component_library.delete_one": "Please confirm you want to delete", - "component_library.delete_title": "Deletion confirmation", - "component_library.delete_two": "This action cannot be undone.", - "component_library.http_param": "HTTP Data Source Parameterization", - "component_library.json_ld": "Show JSON-LD", - "component_library.json": "Cleaned JSON", - "component_library.negotiate": "Negotiate", - "component_library.negotiating": "Negotiating...", - "component_library.no_description": "No Description", - "component_library.no_transfer": "No transfer processes started yet.", - "component_library.organization": "Organization", - "component_library.oth_connector": "Other Connector", - "component_library.participant_id_plural": "Participant IDs", - "component_library.participant_id": "Participant ID", - "component_library.policy_details": "Show Policy Details", - "component_library.show_less": "Show less", - "component_library.show_more": "Show more", - "component_library.succ_negotiating": "Successfully Negotiated", - "component_library.t_history": "Transfer History", - "component_library.transfer": "Transfer", - "component_library.up_at": "Updated At", - - "services.curator_org": "Curator Organization Name", - "services.curator_url": "Curator URL", - "services.env_version": "Environment Version", - "services.failed_loading": "Failed loading connector information", - "services.main_url": "Maintainer URL", - "services.maintainer": "Maintainer Organization Name", - + "asset_detail_dialog.limit_exceeded_tooltip": "You have reached the maximum number of consuming contracts. Please terminate one of the existing contracts to negotiate a new one.", + "asset_detail_dialog.on_request_data_offer_description_html": "This data offer is not available for immediate consumption. However, the creator left an email address to contact them if interested.
Click Contact to email the data offer provider. Alternatively, you can also copy the contact email address from the Contact Information section above.", + "asset_detail_dialog.on_request_data_offer_title": "On Request Data Offer", "asset_list_page.add_file": "Add reference file", "asset_list_page.add_keyword": "Add keyword...", "asset_list_page.add_loc": "Add location", @@ -204,7 +41,6 @@ "asset_list_page.search_assets": "Search assets", "asset_list_page.title": "Assets", "asset_list_page.version": "Version", - "catalog_browser_page.con_endpoints": "Connector Endpoints", "catalog_browser_page.contract": "Contract Offer", "catalog_browser_page.endpoint_catalogs": "Other Connector Endpoint Catalogs", @@ -215,7 +51,42 @@ "catalog_browser_page.search": "Search catalog", "catalog_browser_page.title": "Catalog Browser", "catalog_browser_page.usage": "Already using", - + "component_library.accept_licence": "Hereby I agree that by pressing the 'Confirm' button, I accept the license\n terms, policies, and additional conditions for use, including any copyright\n notices, associated with the provider's offer.", + "component_library.agree": "I agree to the Data Offer Terms & Conditions", + "component_library.at": "Created At", + "component_library.connector_id_plural": "Connector IDs", + "component_library.connector_id": "Connector ID", + "component_library.content_type": "Content Type", + "component_library.data_offer": "Data Offer Terms & Conditions", + "component_library.delete_one": "Please confirm you want to delete", + "component_library.delete_title": "Deletion confirmation", + "component_library.delete_two": "This action cannot be undone.", + "component_library.http_param": "HTTP Data Source Parameterization", + "component_library.json_ld": "Show JSON-LD", + "component_library.json": "Cleaned JSON", + "component_library.negotiate": "Negotiate", + "component_library.negotiating": "Negotiating...", + "component_library.no_description": "No Description", + "component_library.no_transfer": "No transfer processes started yet.", + "component_library.organization": "Organization", + "component_library.oth_connector": "Other Connector", + "component_library.participant_id_plural": "Participant IDs", + "component_library.participant_id": "Participant ID", + "component_library.policy_details": "Show Policy Details", + "component_library.show_less": "Show less", + "component_library.show_more": "Show more", + "component_library.succ_negotiating": "Successfully Negotiated", + "component_library.t_history": "Transfer History", + "component_library.transfer": "Transfer", + "component_library.up_at": "Updated At", + "connector_ui.assets": "Assets", + "connector_ui.catalog": "Catalog Browser", + "connector_ui.contract": "Contract Definitions", + "connector_ui.contracts": "Contracts", + "connector_ui.dashboard": "Dashboard", + "connector_ui.logout": "Logout", + "connector_ui.policies": "Policies", + "connector_ui.transfer": "Transfer History", "contract_agreement_page.active_contracts": "Active Contracts", "contract_agreement_page.add_cus_query": "Add Custom Query Param", "contract_agreement_page.all_contracts": "All Contracts", @@ -249,10 +120,18 @@ "contract_agreement_page.search_def": "Search data offer", "contract_agreement_page.terminated_contracts": "Terminated Contracts", "contract_agreement_page.title": "Contracts", - "contract_definition_page.page": "Data Offer Page", "contract_definition_page.title": "Data Offers", - + "create_asset.asset_id_tooltip": "Asset ID, used internally, is an auto-generated string in a URL-compatible format, combining the asset name and version with a urn:artifact: prefix. You can customize it if needed.", + "create_asset.content_type_hint": "Describes the content type of the data as a MIME type, see", + "create_asset.data_model_tooltip": "Model for data exchange, e.g. DATEX II, TPEG for traffic and travel information, etc.", + "create_asset.email_tooltip": "This email address will be offered to potential consumers for contacting you. This is done in place of having an actual data source connected.", + "create_asset.endpoint_documentation_tooltip": "URL to the technical documentation about the data to be received.", + "create_asset.prefered_email_subject_tooltip": "When potential customers reach out to you via email, you’ll receive messages with this subject line.", + "create_asset.prefered_email_subject": "Preferred E-Mail Subject", + "create_asset.standard_license_tooltip": "URL of the license under which the data is offered", + "create_asset.title_tooltip": "The main title of your asset. It will also be the title of the data offering displayed in the catalog.", + "create_asset.version_tooltip": "The version of your asset. Especially useful if you have iterations of the same asset.", "create_data_offer_page.accept_placeholder": "Accept", "create_data_offer_page.add_data_sample": "Add data sample", "create_data_offer_page.add_location": "Add location", @@ -376,9 +255,7 @@ "create_data_offer_page.vault_secret_name": "Vault Secret Name", "create_data_offer_page.version_tooltip": "The version of your asset. Especially useful if you have iterations of the same asset.", "create_data_offer_page.version": "Version", - - "edit_asset_page.title": "Edit Asset", - + "create_policy_page.title": "Create Policy", "dashboard_page.about_ui": "About EDC UI", "dashboard_page.about": "About EDC", "dashboard_page.add_prop": "Additional Properties", @@ -437,7 +314,131 @@ "dashboard_page.your_assets": "Your Assets", "dashboard_page.your_def": "Your Contract Definitions", "dashboard_page.your_pol": "Your Policies", - + "edit_asset_page.title": "Edit Asset", + "general.accept": "Accept", + "general.access_pol": "Access Policy", + "general.ad_inf": "Advanced Information", + "general.ad_info": "Advanced Information", + "general.add_add_header": "Add Additional Header", + "general.add_auth": "Add Authentication", + "general.add_header": "Additional Headers", + "general.add": "Add", + "general.additional_properties": "Additional Properties", + "general.asset": "Asset", + "general.assets": "Assets", + "general.auth_header": "Auth Header Name", + "general.auth_value": "Auth Header Value", + "general.auth": "Authentication", + "general.body": "Body", + "general.cancel": "Cancel", + "general.close": "Close", + "general.combine": "Combine", + "general.con_def": "Data Offer", + "general.conditions": "Conditions For Use", + "general.confirm": "Confirm", + "general.cons": "Constraints", + "general.consuming": "Consuming", + "general.contact": "Contact", + "general.content_type": "Content Type", + "general.contract_offer": "Contract Offer", + "general.contract_policy": "Contract Policy", + "general.contract": "Contract Agreement", + "general.copy_to_clipboard_tooltip": "Copy to clipboard", + "general.coverage": "Temporal Coverage", + "general.create": "Create", + "general.data_category": "Data Category", + "general.data_model": "Data Model", + "general.data_subcategory": "Data Subcategory", + "general.data": "Data Samples", + "general.date": "Date", + "general.delete": "Delete", + "general.description": "Description", + "general.details": "Show Details", + "general.direction": "Direction", + "general.disable": "Disable", + "general.doc": "Documentation", + "general.edit": "Edit", + "general.enable": "Enable", + "general.end_date": "End date", + "general.endpoint_doc": "Endpoint Documentation", + "general.endpoint": "Connector Endpoint", + "general.error": "Error", + "general.files": "Reference Files", + "general.frequency": "Data Update Frequency", + "general.geo_location": "Geo Location", + "general.geo_reference_method_tooltip": "The method used for representing of geographical data, e.g GeoJSON, OpenLR, etc.", + "general.geo_reference_method": "Geo reference method", + "general.header_name": "Header Name", + "general.header_sec": "Header with Vault Secret", + "general.header_val": "Header with Value", + "general.header_value": "Header Value", + "general.hide": "Hide", + "general.id": "Contract Offer ID", + "general.irr_pol": "Irregular Policy", + "general.language": "Language", + "general.limit_reached": "You have reached the maximum number of consuming contracts. Please terminate one of the existing contracts to negotiate a new one.", + "general.loading": "Loading...", + "general.loading1": "Loading", + "general.method_para": "Method Parameterization", + "general.method": "Method", + "general.name": "Name", + "general.nuts": "NUTS Locations", + "general.operator": "Operator", + "general.oth_connector": "Other Connector", + "general.page": "Page", + "general.parametrization": "Parameterization", + "general.params": "Query Params", + "general.path": "Path", + "general.policies": "Policies", + "general.policy": "Policy", + "general.providing": "Providing", + "general.pub_asset_only_tooltip": "Create the asset but do not publish your data offer. You can do it later.", + "general.pub_asset_only": "Create asset only (without data offer)", + "general.pub_desc": "Publish data offer to other data space participants", + "general.pub_mode": "Publishing Mode", + "general.pub_restr_tooltip": "Your data offer is published with restrictions of your choice.", + "general.pub_restr": "Publish restricted", + "general.pub_unrestr_tooltip": "Your data offer is published and can be accessed by everyone.", + "general.pub_unrestr": "Publish unrestricted", + "general.publish": "Publish", + "general.publisher": "Publisher", + "general.publishing": "Publishing", + "general.refresh": "Refresh", + "general.rem_auth": "Remove Authentication", + "general.remove": "Remove", + "general.select_an_option": "Select an option", + "general.show_adv_fields": "Show Advanced Fields", + "general.show_data": "Show Data Samples", + "general.show_files": "Show Reference Files", + "general.show": "Show", + "general.signed": "Signed", + "general.sovereign": "Sovereign", + "general.standard_license": "Standard License", + "general.start_date": "Start date", + "general.state": "State", + "general.still_loading": "Still Loading...", + "general.tags": "Tags", + "general.terminate": "Terminate", + "general.terminated_by": "terminated by", + "general.title": "Title", + "general.total": "Total", + "general.transport_mode": "Transport Mode", + "general.type": "Type", + "general.update": "Update", + "general.updated": "Last updated", + "general.value": "Value", + "general.vault_secret": "Vault Secret Name", + "general.warn": "Warn", + "logout_page.title": "Logout", + "notification.asset": "Successfully saved asset.", + "notification.compl_negotiation": "Contract Negotiation complete!", + "notification.failed_asset": "Failed saving asset!", + "notification.failed_create_policy": "Failed creating Policy!", + "notification.failed_refresh": "Failed refreshing asset list!", + "notification.failed_transfer_detail_fetch": "Failed to fetch asset details!", + "notification.negotiation": "Failed negotiating contract.", + "notification.starting_neg": "Failure starting negotiation.", + "notification.succ_pol": "Successfully created policy.", "policy_definition_page.conn_res": "Connector-Restricted-Usage", "policy_definition_page.create_pol": "Create New Policy", "policy_definition_page.create_policy": "Create Policy", @@ -449,41 +450,6 @@ "policy_definition_page.search_pol": "Search policies", "policy_definition_page.time_res": "Time-Period-Restricted", "policy_definition_page.title": "Policies", - - "create_policy_page.title": "Create Policy", - - "transfer_history_page.counter_endpoint": "Counterparty Connector Endpoint", - "transfer_history_page.counter_id": "Counterparty Participant ID", - "transfer_history_page.no_trans": "No transfer history found.", - "transfer_history_page.page": "Transfer History Page", - "transfer_history_page.subtitle": "Transfer History Details", - "transfer_history_page.title": "Transfer History", - - "logout_page.title": "Logout", - - "connector_ui.assets": "Assets", - "connector_ui.catalog": "Catalog Browser", - "connector_ui.contract": "Contract Definitions", - "connector_ui.contracts": "Contracts", - "connector_ui.dashboard": "Dashboard", - "connector_ui.logout": "Logout", - "connector_ui.policies": "Policies", - "connector_ui.transfer": "Transfer History", - - "asset_detail_dialog.on_request_data_offer_description_html": "This data offer is not available for immediate consumption. However, the creator left an email address to contact them if interested.
Click Contact to email the data offer provider. Alternatively, you can also copy the contact email address from the Contact Information section above.", - "asset_detail_dialog.on_request_data_offer_title": "On Request Data Offer", - - "create_asset.asset_id_tooltip": "Asset ID, used internally, is an auto-generated string in a URL-compatible format, combining the asset name and version with a urn:artifact: prefix. You can customize it if needed.", - "create_asset.content_type_hint": "Describes the content type of the data as a MIME type, see", - "create_asset.data_model_tooltip": "Model for data exchange, e.g. DATEX II, TPEG for traffic and travel information, etc.", - "create_asset.email_tooltip": "This email address will be offered to potential consumers for contacting you. This is done in place of having an actual data source connected.", - "create_asset.endpoint_documentation_tooltip": "URL to the technical documentation about the data to be received.", - "create_asset.prefered_email_subject_tooltip": "When potential customers reach out to you via email, you’ll receive messages with this subject line.", - "create_asset.prefered_email_subject": "Preferred E-Mail Subject", - "create_asset.standard_license_tooltip": "URL of the license under which the data is offered", - "create_asset.title_tooltip": "The main title of your asset. It will also be the title of the data offering displayed in the catalog.", - "create_asset.version_tooltip": "The version of your asset. Especially useful if you have iterations of the same asset.", - "policy_expression.add_tooltip": "Conjunction of several expressions. Evaluates to true if and only if all child expressions are true", "policy_expression.or_tooltip": "Disjunction of several expressions. Evaluates to true if and only if at least one child expression is true", "policy_expression.participant_id_description": "Consumer's Participant ID, also called Connector ID, of the counter-party connector.", @@ -493,5 +459,21 @@ "policy_expression.time_restriction_title": "Time Restriction", "policy_expression.timespan_restriction_title": "Timespan Restriction", "policy_expression.timespan_restriction_tooltip": "Timespan at which the policy is evaluated. This can be used to restrict the data offer to certain time periods", - "policy_expression.xone_tooltip": "XONE operation. Evaluates to true if and only if exactly one child expression is true" + "policy_expression.xone_tooltip": "XONE operation. Evaluates to true if and only if exactly one child expression is true", + "services.curator_org": "Curator Organization Name", + "services.curator_url": "Curator URL", + "services.env_version": "Environment Version", + "services.failed_loading": "Failed loading connector information", + "services.main_url": "Maintainer URL", + "services.maintainer": "Maintainer Organization Name", + "tooltip.clipboard": "Copy to clipboard", + "tooltip.details": "Click for details", + "tooltip.failed_details": "Click for failed catalog details", + "tooltip.negotiate": "Cannot negotiate contracts with your own connector.", + "transfer_history_page.counter_endpoint": "Counterparty Connector Endpoint", + "transfer_history_page.counter_id": "Counterparty Participant ID", + "transfer_history_page.no_trans": "No transfer history found.", + "transfer_history_page.page": "Transfer History Page", + "transfer_history_page.subtitle": "Transfer History Details", + "transfer_history_page.title": "Transfer History" } From be558b73d00ac87b00003e43111e66ef45cc528d Mon Sep 17 00:00:00 2001 From: illfixit <66363651+illfixit@users.noreply.github.com> Date: Thu, 26 Sep 2024 15:49:44 +0200 Subject: [PATCH 24/25] fix: already using --- .../catalog-browser-page.component.ts | 26 +++++++++++-------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/src/app/routes/connector-ui/catalog-browser-page/catalog-browser-page/catalog-browser-page.component.ts b/src/app/routes/connector-ui/catalog-browser-page/catalog-browser-page/catalog-browser-page.component.ts index 9a3e2687..cd1393c2 100644 --- a/src/app/routes/connector-ui/catalog-browser-page/catalog-browser-page/catalog-browser-page.component.ts +++ b/src/app/routes/connector-ui/catalog-browser-page/catalog-browser-page/catalog-browser-page.component.ts @@ -9,7 +9,7 @@ import { sampleTime, switchMap, } from 'rxjs'; -import {filter, map} from 'rxjs/operators'; +import {filter, map, takeUntil} from 'rxjs/operators'; import {TranslateService} from '@ngx-translate/core'; import {ConnectorLimitsService} from '../../../../core/services/connector-limits.service'; import {DataOffer} from '../../../../core/services/models/data-offer'; @@ -55,7 +55,7 @@ export class CatalogBrowserPageComponent implements OnInit, OnDestroy { this.data = data; this.data$.next(data); }); - this.presetProvidersMessage = this.buildPresetCatalogUrlsMessage(); + this.buildPresetCatalogUrlsMessage(); } onDataOfferClick(dataOffer: DataOffer) { @@ -87,15 +87,19 @@ export class CatalogBrowserPageComponent implements OnInit, OnDestroy { this.fetch$.next(null); } - private buildPresetCatalogUrlsMessage(): string { - const urls = this.catalogApiUrlService.getPresetProviders(); - const usage = this.translateService.instant('catalog_browser_page.usage'); - if (!urls.length) { - return ''; - } - return `${usage} ${urls.length > 1 ? ` (${urls.length})` : ''}: ${urls.join( - ', ', - )}`; + private buildPresetCatalogUrlsMessage() { + this.translateService + .get(['catalog_browser_page.usage']) + .pipe(takeUntil(this.ngOnDestroy$)) + .subscribe((strings) => { + const urls = this.catalogApiUrlService.getPresetProviders(); + const usage = strings['catalog_browser_page.usage']; + this.presetProvidersMessage = !urls.length + ? '' + : `${usage} ${ + urls.length > 1 ? ` (${urls.length})` : '' + }: ${urls.join(', ')}`; + }); } private searchText$(): Observable { From f8c7789ba1e8cb38ff6ca256a9853d4240265f92 Mon Sep 17 00:00:00 2001 From: illfixit <66363651+illfixit@users.noreply.github.com> Date: Thu, 26 Sep 2024 15:51:20 +0200 Subject: [PATCH 25/25] . --- .../catalog-browser-page/catalog-browser-page.component.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/app/routes/connector-ui/catalog-browser-page/catalog-browser-page/catalog-browser-page.component.ts b/src/app/routes/connector-ui/catalog-browser-page/catalog-browser-page/catalog-browser-page.component.ts index cd1393c2..8309766f 100644 --- a/src/app/routes/connector-ui/catalog-browser-page/catalog-browser-page/catalog-browser-page.component.ts +++ b/src/app/routes/connector-ui/catalog-browser-page/catalog-browser-page/catalog-browser-page.component.ts @@ -55,7 +55,7 @@ export class CatalogBrowserPageComponent implements OnInit, OnDestroy { this.data = data; this.data$.next(data); }); - this.buildPresetCatalogUrlsMessage(); + this.startBuildingPresetCatalogUrlsMessage(); } onDataOfferClick(dataOffer: DataOffer) { @@ -87,7 +87,7 @@ export class CatalogBrowserPageComponent implements OnInit, OnDestroy { this.fetch$.next(null); } - private buildPresetCatalogUrlsMessage() { + private startBuildingPresetCatalogUrlsMessage() { this.translateService .get(['catalog_browser_page.usage']) .pipe(takeUntil(this.ngOnDestroy$))