diff --git a/dpp-frontend/package-lock.json b/dpp-frontend/package-lock.json
index b7e65abc0..54242ef5b 100644
--- a/dpp-frontend/package-lock.json
+++ b/dpp-frontend/package-lock.json
@@ -12,6 +12,7 @@
"@popperjs/core": "^2.11.2",
"@vitejs/plugin-vue": "^4.0.0",
"axios": ">=1.6.7",
+ "chart.js": "^4.4.2",
"clipboard": "^2.0.11",
"core-js": "^3.8.3",
"crypto-js": "^4.2.0",
@@ -23,7 +24,7 @@
"vite": ">=4.5.2",
"vite-plugin-vuetify": "^1.0.2",
"vue": "^3.2.47",
- "vue-chartjs": "^5.3.0",
+ "vue-chartjs": "^5.3.1",
"vue-i18n": "9.2.2",
"vue-router": "^4.0.13",
"vue3-json-viewer": "^2.2.2",
@@ -2852,9 +2853,9 @@
}
},
"node_modules/vue-chartjs": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/vue-chartjs/-/vue-chartjs-5.3.0.tgz",
- "integrity": "sha512-8XqX0JU8vFZ+WA2/knz4z3ThClduni2Nm0BMe2u0mXgTfd9pXrmJ07QBI+WAij5P/aPmPMX54HCE1seWL37ZdQ==",
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/vue-chartjs/-/vue-chartjs-5.3.1.tgz",
+ "integrity": "sha512-rZjqcHBxKiHrBl0CIvcOlVEBwRhpWAVf6rDU3vUfa7HuSRmGtCslc0Oc8m16oAVuk0erzc1FCtH1VCriHsrz+A==",
"peerDependencies": {
"chart.js": "^4.1.1",
"vue": "^3.0.0-0 || ^2.7.0"
@@ -5111,9 +5112,9 @@
}
},
"vue-chartjs": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/vue-chartjs/-/vue-chartjs-5.3.0.tgz",
- "integrity": "sha512-8XqX0JU8vFZ+WA2/knz4z3ThClduni2Nm0BMe2u0mXgTfd9pXrmJ07QBI+WAij5P/aPmPMX54HCE1seWL37ZdQ==",
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/vue-chartjs/-/vue-chartjs-5.3.1.tgz",
+ "integrity": "sha512-rZjqcHBxKiHrBl0CIvcOlVEBwRhpWAVf6rDU3vUfa7HuSRmGtCslc0Oc8m16oAVuk0erzc1FCtH1VCriHsrz+A=="
"requires": {}
},
"vue-eslint-parser": {
diff --git a/dpp-frontend/package.json b/dpp-frontend/package.json
index 3446bdfe3..2c3aeee4a 100644
--- a/dpp-frontend/package.json
+++ b/dpp-frontend/package.json
@@ -16,6 +16,7 @@
"@popperjs/core": "^2.11.2",
"@vitejs/plugin-vue": "^4.0.0",
"axios": ">=1.6.7",
+ "chart.js": "^4.4.2",
"clipboard": "^2.0.11",
"core-js": "^3.8.3",
"crypto-js": "^4.2.0",
@@ -27,7 +28,7 @@
"vite": ">=4.5.2",
"vite-plugin-vuetify": "^1.0.2",
"vue": "^3.2.47",
- "vue-chartjs": "^5.3.0",
+ "vue-chartjs": "^5.3.1",
"vue-i18n": "9.2.2",
"vue-router": "^4.0.13",
"vue3-json-viewer": "^2.2.2",
diff --git a/dpp-frontend/src/assets/styles/components/passport/sections.scss b/dpp-frontend/src/assets/styles/components/passport/sections.scss
index 8855e45db..e5b8a323a 100644
--- a/dpp-frontend/src/assets/styles/components/passport/sections.scss
+++ b/dpp-frontend/src/assets/styles/components/passport/sections.scss
@@ -1,107 +1,107 @@
-/**
- * Tractus-X - Digital Product Passport Application
- *
- * Copyright (c) 2022, 2024 BASF SE, BMW AG, Henkel AG & Co. KGaA
- * Copyright (c) 2022, 2024 Contributors to the Eclipse Foundation
- *
- * See the NOTICE file(s) distributed with this work for additional
- * information regarding copyright ownership.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Apache License, Version 2.0 which is available at
- * https://www.apache.org/licenses/LICENSE-2.0.
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
- * either express or implied. See the
- * License for the specific language govern in permissions and limitations
- * under the License.
- *
- * SPDX-License-Identifier: Apache-2.0
- */
-
-.section {
- display: flex;
- .full-width {
- width: 100% !important;
- }
-
- .info-bar {
- padding: 10px;
- font-weight: 600;
- color: #fff;
- margin: -16px 36px 18px 36px;
- }
-
- .element-chart-label {
- font-size: 14px;
- font-weight: 500;
- margin: 0 0 6px 8px;
- min-height: 20px;
- }
-
- .sub-section-container {
- display: flex;
- flex-wrap: wrap;
- border-bottom: solid 1px #edefe5;
- }
-
- .two-third-width {
- width: 66% !important;
- }
-
- .section-content {
- width: 100%;
- border: solid 1px #b3cb2d;
- border-radius: 0 0 4px 4px;
- background-color: #fff;
- margin-bottom: 50px;
- }
-
- .list-container {
- width: 33%;
- padding: 0 0 22px 40px;
- }
-
- .list-label {
- padding: 22px 0 10px 0;
- font-size: 12px;
- color: #777777;
- }
-
- ul {
- display: flex;
- flex-direction: column;
- padding: 0;
- }
-
- li {
- margin-left: 20px;
- font-weight: bold;
- }
-
- .sub-title {
- font-weight: bold;
- font-size: 20px;
- color: #c6cca3;
- }
-
- .container-width-80 {
- width: 80%;
- }
- .container-width-50 {
- width: 50%;
- }
-}
-@media (max-width: 960px) {
- .section {
- flex-direction: column;
- .container-width-80 {
- width: 100%;
- }
- .container-width-50 {
- width: 100%;
- }
- }
-}
+/**
+ * Tractus-X - Digital Product Passport Application
+ *
+ * Copyright (c) 2022, 2024 BASF SE, BMW AG, Henkel AG & Co. KGaA
+ * Copyright (c) 2022, 2024 Contributors to the Eclipse Foundation
+ *
+ * See the NOTICE file(s) distributed with this work for additional
+ * information regarding copyright ownership.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Apache License, Version 2.0 which is available at
+ * https://www.apache.org/licenses/LICENSE-2.0.
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
+ * either express or implied. See the
+ * License for the specific language govern in permissions and limitations
+ * under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+.section {
+ display: flex;
+ .full-width {
+ width: 100% !important;
+ }
+
+ .info-bar {
+ padding: 10px;
+ font-weight: 600;
+ color: #fff;
+ margin: -16px 36px 18px 36px;
+ }
+
+ .element-chart-label {
+ font-size: 14px;
+ font-weight: 600;
+ margin: 0 0 6px 8px;
+ min-height: 20px;
+ }
+
+ .sub-section-container {
+ display: flex;
+ flex-wrap: wrap;
+ border-bottom: solid 1px #edefe5;
+ }
+
+ .two-third-width {
+ width: 66% !important;
+ }
+
+ .section-content {
+ width: 100%;
+ border: solid 1px #b3cb2d;
+ border-radius: 0 0 4px 4px;
+ background-color: #fff;
+ margin-bottom: 50px;
+ }
+
+ .list-container {
+ width: 33%;
+ padding: 0 0 22px 40px;
+ }
+
+ .list-label {
+ padding: 22px 0 10px 0;
+ font-size: 12px;
+ color: #777777;
+ }
+
+ ul {
+ display: flex;
+ flex-direction: column;
+ padding: 0;
+ }
+
+ li {
+ margin-left: 20px;
+ font-weight: bold;
+ }
+
+ .sub-title {
+ font-weight: bold;
+ font-size: 20px;
+ color: #c6cca3;
+ }
+
+ .container-width-80 {
+ width: 80%;
+ }
+ .container-width-50 {
+ width: 50%;
+ }
+}
+@media (max-width: 960px) {
+ .section {
+ flex-direction: column;
+ .container-width-80 {
+ width: 100%;
+ }
+ .container-width-50 {
+ width: 100%;
+ }
+ }
+}
diff --git a/dpp-frontend/src/components/general/TabsComponent.vue b/dpp-frontend/src/components/general/TabsComponent.vue
index f40c1ccf1..2264836ba 100644
--- a/dpp-frontend/src/components/general/TabsComponent.vue
+++ b/dpp-frontend/src/components/general/TabsComponent.vue
@@ -1,121 +1,129 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dpp-frontend/src/components/passport/BatteryCards.vue b/dpp-frontend/src/components/passport/BatteryCards.vue
index ae65a3376..c3512ca51 100644
--- a/dpp-frontend/src/components/passport/BatteryCards.vue
+++ b/dpp-frontend/src/components/passport/BatteryCards.vue
@@ -1,267 +1,249 @@
-
-
-
-
-
-
-
-
-
{{ $t(card.title) }}
-
-
-
-
-
-
-
-
-
-
- {{ card.secondValue ? card.secondValue : "-" }}
- {{ card.secondValueUnits }}
-
-
- {{ $t(card.secondLabel) }}
-
-
-
![Separate collection]()
-
-
-
-
-
-
- {{ $t(card.label) }}
-
-
- {{ card.value ? card.value : "-" }} {{ card.valueUnits }}
-
-
-
-
- {{ $t("batteryCards.chargingCycles") }}
-
-
-
-
-
- {{ $t(card.secondLabel) }}
-
-
- {{ card.secondValue ? card.secondValue : "-" }}
- {{ card.secondValueUnits }}
-
-
-
-
-
-
-
- {{ $t(card.description.title) }}
-
-
- {{ $t(card.description.value) }}
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
{{ $t(card.title) }}
+
+
+
+
+
+
+
+
+
+
+ {{ card.secondValue ? card.secondValue : "-" }}
+ {{ card.secondValueUnits }}
+
+
+ {{ $t(card.secondLabel) }}
+
+
+
+
![Separate collection]()
+
+
+
+
+
+
+
+ {{ $t(card.label) }}
+
+
+ {{ card.value ? card.value : "-" }} {{ card.valueUnits }}
+
+
+
+
+ {{ $t("batteryCards.chargingCycles") }}
+
+
+
+
+
+ {{ $t(card.secondLabel) }}
+
+
+ {{ card.secondValue ? card.secondValue : "-" }}
+ {{ card.secondValueUnits }}
+
+
+
+
+
+
+
+ {{ $t(card.description.title) }}
+
+
+ {{ $t(card.description.value) }}
+
+
+
+
+
+
+
+
+
+
diff --git a/dpp-frontend/src/components/passport/ElementChart.vue b/dpp-frontend/src/components/passport/ElementChart.vue
index f57003768..f520770dd 100644
--- a/dpp-frontend/src/components/passport/ElementChart.vue
+++ b/dpp-frontend/src/components/passport/ElementChart.vue
@@ -1,52 +1,74 @@
-
-
-
-
-
-
- {{ material.materialName }}
-
- {{ material.materialPercentageMassFraction }}%
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+ {{ key }}
+ {{ material.recycled }}%
+
+
+
+
+
+
+
diff --git a/dpp-frontend/src/components/passport/Field.vue b/dpp-frontend/src/components/passport/Field.vue
index fa9e9e8c0..745ba9d7d 100644
--- a/dpp-frontend/src/components/passport/Field.vue
+++ b/dpp-frontend/src/components/passport/Field.vue
@@ -1,135 +1,135 @@
-
-
-
-
-
-
-
-
-
{{ label }}
-
{{ value }} {{ callUnitRemover(unit) }}
- {{ subText }}
-
-
-
-
- {{ tempRangeMin }} {{ tempUnit }} to {{ tempRangeMax }}
- {{ tempUnit }}
-
- {{ tempRangeMin }} {{ tempUnit }}
- {{ tempRangeMax }} {{ tempUnit }}
-
-
-
-
-
-
{{ faxNumber ? faxNumber : "—" }}
-
-
—
-
-
{{ postal ? postal : "—" }}
-
{{ city ? city : "—" }}
-
{{ country ? country : "—" }}
-
-
{{ phone ? phone : "—" }}
-
{{ website ? website : "—" }}
-
-
{{ email ? email : "—" }}
-
-
-
- {{ $t("field.tempRange") }}
- {{ tempMin }} {{ tempUnit }} {{ $t("field.to") }} {{ tempMax }}
- {{ tempUnit }}
-
- {{ $t("field.referenceTest") }} {{ test }}
-
-
-
-
-
- L: {{ length }} {{ callUnitRemover(unit) }}
- H: {{ height }} {{ callUnitRemover(unit) }}
- W: {{ width }} {{ callUnitRemover(unit) }}
-
-
-
{{ day }}{{ month }}{{ year }}
-
-
-
-
-
+
+
+
+
+
+
+
+
+
{{ label }}
+
{{ value }} {{ callUnitRemover(unit) }}
+ {{ subText }}
+
+
+
+
+ {{ tempRangeMin }} {{ tempUnit }} to {{ tempRangeMax }}
+ {{ tempUnit }}
+
+ {{ tempRangeMin }} {{ tempUnit }}
+ {{ tempRangeMax }} {{ tempUnit }}
+
+
+
+
+
+
{{ faxNumber ? faxNumber : "—" }}
+
+
—
+
+
{{ postal ? postal : "—" }}
+
{{ city ? city : "—" }}
+
{{ country ? country : "—" }}
+
+
{{ phone ? phone : "—" }}
+
{{ website ? website : "—" }}
+
+
{{ email ? email : "—" }}
+
+
+
+ {{ $t("field.tempRange") }}
+ {{ tempMin }} {{ tempUnit }} {{ $t("field.to") }} {{ tempMax }}
+ {{ tempUnit }}
+
+ {{ $t("field.referenceTest") }} {{ test }}
+
+
+
+
+
+ L: {{ length }} {{ callUnitRemover(unit) }}
+ H: {{ height }} {{ callUnitRemover(unit) }}
+ W: {{ width }} {{ callUnitRemover(unit) }}
+
+
+
{{ day }}{{ month }}{{ year }}
+
+
+
+
+
diff --git a/dpp-frontend/src/components/passport/sections/CellChemistry.vue b/dpp-frontend/src/components/passport/sections/CellChemistry.vue
deleted file mode 100644
index 846dfa1a4..000000000
--- a/dpp-frontend/src/components/passport/sections/CellChemistry.vue
+++ /dev/null
@@ -1,244 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
- mdi-battery-outline
-
-
-
-
-
- {{ detail.title }}
-
-
-
-
-
- {{ component.label }}
-
-
-
-
-
-
{{ batteryData.title }}
-
-
-
-
- {{ $t("sections.cellChemistry.recyclateContent") }}
-
-
-
-
-
-
-
-
-
-
diff --git a/dpp-frontend/src/components/passport/sections/Characteristics.vue b/dpp-frontend/src/components/passport/sections/Characteristics.vue
index 934ce5cc6..d823932d2 100644
--- a/dpp-frontend/src/components/passport/sections/Characteristics.vue
+++ b/dpp-frontend/src/components/passport/sections/Characteristics.vue
@@ -1,142 +1,150 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dpp-frontend/src/components/passport/sections/Conformity.vue b/dpp-frontend/src/components/passport/sections/Conformity.vue
new file mode 100644
index 000000000..d84c77354
--- /dev/null
+++ b/dpp-frontend/src/components/passport/sections/Conformity.vue
@@ -0,0 +1,74 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dpp-frontend/src/components/passport/sections/Handling.vue b/dpp-frontend/src/components/passport/sections/Handling.vue
index 7ea5cdcc0..0aa16ace3 100644
--- a/dpp-frontend/src/components/passport/sections/Handling.vue
+++ b/dpp-frontend/src/components/passport/sections/Handling.vue
@@ -1,155 +1,184 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dpp-frontend/src/components/passport/sections/Identification.vue b/dpp-frontend/src/components/passport/sections/Identification.vue
index 641c0fa69..9f49ca5cc 100644
--- a/dpp-frontend/src/components/passport/sections/Identification.vue
+++ b/dpp-frontend/src/components/passport/sections/Identification.vue
@@ -1,117 +1,218 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t("sections.identification.description") }}
+
+
+ {{ attr.description }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dpp-frontend/src/components/passport/sections/Materials.vue b/dpp-frontend/src/components/passport/sections/Materials.vue
new file mode 100644
index 000000000..19d3ddc9b
--- /dev/null
+++ b/dpp-frontend/src/components/passport/sections/Materials.vue
@@ -0,0 +1,341 @@
+
+
+
+
+
+
+
+
+
+
+ {{ $t("sections.materials.otherMaterials") }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t("sections.materials.hazardous") }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ mdi-battery-outline
+
+
+
+
+
+ {{ detail.title }}
+
+
+
+
+
+ {{ component.label }}
+
+
+
+
+
+
+ {{ chemistry }}
+
+
+
+
+
+
+ {{ $t("sections.materials.recyclateContent") }}
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dpp-frontend/src/components/passport/sections/Metadata.vue b/dpp-frontend/src/components/passport/sections/Metadata.vue
index ee470627f..6a6cf9995 100644
--- a/dpp-frontend/src/components/passport/sections/Metadata.vue
+++ b/dpp-frontend/src/components/passport/sections/Metadata.vue
@@ -1,102 +1,139 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dpp-frontend/src/components/passport/sections/Operation.vue b/dpp-frontend/src/components/passport/sections/Operation.vue
index 36fb03ef7..186270e11 100644
--- a/dpp-frontend/src/components/passport/sections/Operation.vue
+++ b/dpp-frontend/src/components/passport/sections/Operation.vue
@@ -1,101 +1,135 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dpp-frontend/src/components/passport/sections/Performance.vue b/dpp-frontend/src/components/passport/sections/Performance.vue
new file mode 100644
index 000000000..4b1541880
--- /dev/null
+++ b/dpp-frontend/src/components/passport/sections/Performance.vue
@@ -0,0 +1,674 @@
+
+
+
+
+
+
+
+
+
+ {{ $t("sections.performance.rated") }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t("sections.performance.lifetime") }}
+
+
+
+
+
+
+ {{ $t("sections.performance.cycleLifeTesting") }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t("sections.performance.power") }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t("sections.performance.voltage") }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t("sections.performance.energy") }}
+
+
+
+
+
+
+
+
+
+
+ {{ $t("sections.performance.capacity") }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t("sections.performance.dynamic") }}
+
+
+
+
+
+
+ {{ $t("sections.performance.roundTripEfficiency") }}
+
+
+
+
+
+
+
+
+
+
+ {{ $t("sections.performance.operatingEnvironment") }}
+
+
+
+
+
+
+
+
+
+
+ {{ $t("sections.performance.performanceDocument") }}
+
+
+
+
+
+
+
+
+
+
+ {{ $t("sections.performance.power") }}
+
+
+
+
+
+
+
+
+
+
+ {{ $t("sections.performance.negativeEvents") }}
+
+
+
+
+
+
+
+ {{ $t("sections.performance.resistance") }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t("sections.performance.capacity") }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t("sections.performance.energy") }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dpp-frontend/src/components/passport/sections/Safety.vue b/dpp-frontend/src/components/passport/sections/Safety.vue
new file mode 100644
index 000000000..a434b184c
--- /dev/null
+++ b/dpp-frontend/src/components/passport/sections/Safety.vue
@@ -0,0 +1,139 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dpp-frontend/src/components/passport/sections/StateOfBattery.vue b/dpp-frontend/src/components/passport/sections/StateOfBattery.vue
deleted file mode 100644
index bf1c6d863..000000000
--- a/dpp-frontend/src/components/passport/sections/StateOfBattery.vue
+++ /dev/null
@@ -1,131 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/dpp-frontend/src/components/passport/sections/Sustainability.vue b/dpp-frontend/src/components/passport/sections/Sustainability.vue
index 51c464453..fd8985e8e 100644
--- a/dpp-frontend/src/components/passport/sections/Sustainability.vue
+++ b/dpp-frontend/src/components/passport/sections/Sustainability.vue
@@ -1,244 +1,316 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dpp-frontend/src/config/templates/batteryGraph.json b/dpp-frontend/src/config/templates/batteryGraph.json
deleted file mode 100644
index 73a2fb300..000000000
--- a/dpp-frontend/src/config/templates/batteryGraph.json
+++ /dev/null
@@ -1,50 +0,0 @@
-{
- "title": "NCA",
- "composition": [
- {
- "title": "Composition of Andode",
- "composition": [
- {
- "label": "SiO2-C",
- "value": 50,
- "unit": "%"
- },
- {
- "label": "Styren butadien",
- "value": 50,
- "unit": "%"
- }
- ]
- },
- {
- "title": "Composition of Cathode",
- "composition": [
- {
- "label": "Lithium",
- "value": 20,
- "unit": "%"
- },
- {
- "label": "Nickel",
- "value": 20,
- "unit": "%"
- },
- {
- "label": "Cobalt",
- "value": 20,
- "unit": "%"
- },
- {
- "label": "Aluminium",
- "value": 30,
- "unit": "%"
- },
- {
- "label": "Carbon black",
- "value": 10,
- "unit": "%"
- }
- ]
- }
- ]
-}
diff --git a/dpp-frontend/src/translations/de.json b/dpp-frontend/src/translations/de.json
index d92b4fddb..c97343ccb 100644
--- a/dpp-frontend/src/translations/de.json
+++ b/dpp-frontend/src/translations/de.json
@@ -1,430 +1,490 @@
-{
- "header": {
- "helpBtn": "Hilfe",
- "helpTooltip": "Hier können Sie Hilfe erhalten, wenn Sie mehr über Catena-X wissen müssen",
- "signOut": "Abmelden"
- },
- "searchView": {
- "title": "Catena-X Batteriepass",
- "welcomeMessage": "Der Begriff 'Batteriepass' bezieht sich auf ein digitales Dokument, das wesentliche Informationen über eine Batterie enthält, insbesondere im Kontext von Elektrofahrzeugen (EVs). Dieses Dokument umfasst Details über den Hersteller der Batterie, Spezifikationen, Leistungsmerkmale, Gesundheitszustand und Lebenszyklusdaten. Der Zweck eines Batteriepasses besteht darin, eine ordnungsgemäße Wartung, Instandhaltung und Recycling der Batterie zu erleichtern, sowie die Rückverfolgbarkeit und Konformität zu ermöglichen.",
- "errorCameraOff": "Ihre Kamera ist ausgeschaltet.",
- "errorTypeID": "Schalten Sie sie ein oder geben Sie die ID ein.",
- "findOutMore": "Möchten Sie mehr erfahren? Lesen Sie unseren",
- "guide": "Einsteiger-Leitfaden",
- "cameraError": {
- "NotAllowedError": "FEHLER: Sie müssen die Kamera-Zugriffsberechtigung erteilen",
- "NotFoundError": "FEHLER: keine Kamera auf diesem Gerät",
- "NotSupportedError": "FEHLER: Sichere Umgebung erforderlich (HTTPS, localhost)",
- "NotReadableError": "FEHLER: Wird die Kamera bereits verwendet?",
- "OverconstrainedError": "FEHLER: installierte Kameras sind nicht geeignet",
- "StreamApiNotSupportedError": "FEHLER: Stream-API wird in diesem Browser nicht unterstützt",
- "InsecureContextError": "FEHLER: Kamerazugriff ist nur in sicherer Umgebung erlaubt. Verwenden Sie HTTPS oder localhost anstelle von HTTP."
- }
- },
- "passportView": {
- "policyAgreement": {
- "title": "Wählen Sie eine Richtlinie aus:",
- "contractId": "Vertrags-ID:",
- "policy": "Richtlinie",
- "type": "Typ",
- "decline": "Ablehnen",
- "agree": "Zustimmen",
- "details": {
- "moreDetails": "Weitere Details",
- "lessDetails": "Weniger Details"
- },
- "declineModal": {
- "question": "Sind Sie sicher, dass Sie ablehnen möchten?",
- "homepage": "Dies bringt Sie zurück zur Startseite",
- "cancel": "Abbrechen",
- "confirm": "Ja, Ablehnen"
- }
- },
- "dpp": "Digitaler Produkt Pass",
- "bpp": "Batterie Pass",
- "tpp": "Getriebe Pass",
- "batteryComponentsNames": {
- "generalInformation": "Allgemeine Informationen",
- "stateOfBattery": "Zustand der Batterie",
- "components": "Komponenten",
- "batteryComposition": "Batteriezusammensetzung",
- "cellChemistry": "Zellenchemie",
- "electrochemicalProperties": "Elektrochemische Eigenschaften",
- "documents": "Dokumente",
- "exchange": "Austausch"
- },
- "dppComponentsNames": {
- "typology": "Typologie",
- "metadata": "Metadaten",
- "characteristics": "Merkmale",
- "components": "Komponenten",
- "commercial": "Kommerziell",
- "identification": "Identifikation",
- "sources": "Quellen",
- "handling": "Handhabung",
- "additionalData": "Zusätzliche Daten",
- "sustainability": "Nachhaltigkeit",
- "operation": "Betrieb",
- "exchange": "Austausch"
- },
- "tppComponentsNames": {
- "productSpecificParameters": "Produktspezifische Parameter",
- "intructions": "Anleitungen",
- "sparePartSupplier": "Ersatzteil-Lieferant",
- "components": "Komponenten",
- "stateOfHealth": "Zustand der Gesundheit",
- "identification": "Identifikation",
- "generalInformation": "Allgemeine Informationen",
- "sustainability": "Nachhaltigkeit",
- "exchange": "Austausch"
- }
- },
- "home": {
- "welcome": "Willkommen",
- "home": "Startseite"
- },
- "footer": {
- "help": "Hilfe",
- "contact": "Kontakt",
- "imprint": "Impressum",
- "privacy": "Datenschutz",
- "terms": "Nutzungsbedingungen",
- "cookies": "Cookies",
- "thirdParty": "Lizenzen Dritter",
- "legal": "Rechtlicher Hinweis",
- "license": "Lizenz: Apache-2.0",
- "licensePath": "Lizenzpfad: ",
- "viewLicense": "Lizenzdatei ansehen",
- "notice": "HINWEIS: ",
- "viewNotice": "Hinweisdatei ansehen",
- "source": "Quell-URL: ",
- "commit": "Commit-ID: ",
- "copyright": "Urheberrecht © Catena-X Automotive Network."
- },
- "searchInput": {
- "search": "Suchen",
- "passportId": "Pass-ID eingeben"
- },
- "barChart": {
- "noData": "Keine Daten"
- },
- "batteryCards": {
- "titleGeneral": "ALLGEMEIN",
- "labelGeneral": "Typ",
- "secondLabelGeneral": "Modell",
- "titlePerformance": "LEISTUNG",
- "labelPerformance": "Nennkapazität",
- "secondLabelPerformance": "Modell",
- "descriptionPerformanceTitle": "Leistung",
- "descriptionPerformanceValue": "Beschreibung der Leistung",
- "titleHealth": "GESUNDHEIT",
- "labelHealth": "Zustand der Gesundheit",
- "secondLabelHealth": "Ladezyklen",
- "descriptionHealthTitle": "Gesundheit",
- "descriptionHealthValue": "Beschreibung der Gesundheit",
- "titleSustainability": "NACHHALTIGKEIT",
- "secondLabelSustainability": "CO2e/kWh",
- "descriptionHSustainabilityTitle": "Nachhaltigkeit",
- "descriptionSustainabilityValue": "Beschreibung der Nachhaltigkeit",
- "chargingCycles": "Ladezyklen"
- },
- "generalCards": {
- "titleGeneral": "ALLGEMEIN",
- "productName": "Produktname",
- "productType": "Produkttyp",
- "titleManufacturing": "HERSTELLUNG",
- "manufacturerId": "Hersteller-ID",
- "dateOfManufacturing": "Herstellungsdatum",
- "descriptionManufacturingTitle": "Herstellung",
- "descriptionManufacturingValue": "Beschreibung der Herstellung",
- "titleAspectVersion": "ASPEKTVERSION",
- "currentVersion": "Aktuelle Version",
- "issued": "Ausgestellt",
- "descriptionAspectVersionTitle": "Aspektversion",
- "descriptionAspectVersionValue": "Beschreibung der Aspektversion",
- "titleSustainability": "NACHHALTIGKEIT",
- "totalCo2Footprint": "Gesamter CO2-Fußabdruck",
- "warrantyPeriod": "Garantiezeitraum",
- "tCo2Total": "t CO2 Gesamt",
- "months": "Monate",
- "descriptionSustainabilityTitle": "Nachhaltigkeit",
- "descriptionSustainabilityValue": "Beschreibung der Nachhaltigkeit"
- },
- "transmissionCards": {
- "matrixCode": "Matrixcode",
- "parameters": "Spezifische Parameter",
- "driveType": "Antriebstyp",
- "oilType": "Öltyp"
- },
- "passportHeader": {
- "backBtn": "Zurück"
- },
- "field": {
- "tempRange": "Temperaturbereich:",
- "to": "bis",
- "referenceTest": "Referenztest:"
- },
- "recursiveTree": {
- "notAvailable": "Nicht verfügbar"
- },
- "dialog": {
- "description": "Beschreibung",
- "noDescription": "Keine Beschreibung"
- },
- "section": {
- "noContent": "Entschuldigung, kein Inhalt"
- },
- "error": {
- "404NotFound": "404 Nicht gefunden",
- "somethingWentWrong": "Hoppla, etwas ist schiefgelaufen...",
- "internalError": "Der Server hat einen internen Fehler oder eine Fehlkonfiguration festgestellt und konnte Ihre Anfrage nicht bearbeiten.",
- "contactYourAdmin": "Bitte kontaktieren Sie Ihren Administrator",
- "adminExample": "admin@beispiel.com",
- "reload": "Seite neu laden",
- "homepage": "Startseite"
- },
- "loading": {
- "assetId": "Anlage-ID: ",
- "registrySearch": "Register Suche",
- "searching": "Suche...",
- "registriesAvailable": "Register verfügbar",
- "contractSearch": "Vertragssuche",
- "contractAvailable": "Vertrag verfügbar",
- "contractNegotiation": "Vertragsverhandlung",
- "negotiating": "Verhandlung...",
- "contractStatus": "Vertragsstatus: ",
- "contractTransfer": "Vertragsübertragung",
- "transferring": "Übertragung...",
- "transferCompleted": "Übertragung abgeschlossen",
- "passportRetrieval": "Passabruf",
- "retrieving": "Abruf... ",
- "createdProcess": "Erstellte Prozess-ID: ",
- "contractId": "Vertrags-ID: "
- },
- "sections": {
- "productSpecificParameters": {
- "torqueConverter": "Drehmomentwandler",
- "driveType": "Antriebstyp",
- "oilType": "Öltyp",
- "spreading": "Verbreitung",
- "torque": "Drehmoment",
- "power": "Leistung",
- "gear": "Gang",
- "ratio": "Verhältnis",
- "speed": "Geschwindigkeit",
- "standardGearRatio": "Standardübersetzungsverhältnis",
- "speedResistance": "Geschwindigkeitswiderstand",
- "oilCapacity": "Ölkapazität",
- "electricPerformance": "Elektrische Leistung"
- },
- "instructions": {
- "packagingInstructions": "Verpackungsanweisungen",
- "transportationInstructions": "Transportanweisungen",
- "dismantlingProcedure": "Demontageverfahren",
- "safetyMeasures": "Sicherheitsmaßnahmen",
- "vehicleDismantlingProcedure": "Fahrzeugdemontageverfahren"
- },
- "sparePartsSupplier": {
- "supplierContact": "Lieferantenkontakt",
- "supplierId": "Lieferanten-ID",
- "sparePartName": "Ersatzteilname"
- },
- "stateOfHealth": {
- "serviceHistory": "Serviceverlauf",
- "expectedLifespan": "Erwartete Lebensdauer",
- "remanufacturingDate": "Wiederherstellungsdatum",
- "productStatusValue": "Produktstatuswert"
- },
- "generalInformation": {
- "additionalInformation": "Zusätzliche Informationen",
- "productDimensions": "Abmessungen",
- "productDescription": "Produktbeschreibung",
- "productType": "Produkttyp",
- "batteryId": "Batterie-ID",
- "batteryIdDescriptionTitle": "Batterie-ID",
- "batteryIdDescriptionValue": "Batterie-ID oder DMC, die Sie in Ihren Geräteeinstellungen finden können",
- "batteryType": "Batterietyp",
- "batteryModel": "Batteriemodell",
- "warranty": "Garantie",
- "dimensions": "Abmessungen der Batterie",
- "weight": "Gewicht",
- "dateOfManufacturing": "Herstellungsdatum",
- "placeOfManufacturing": "Herstellungsort",
- "datePlacedOnMarket": "Markteinführungsdatum",
- "manufacturerInformation": "Herstellerinformationen",
- "manufacturerContact": "Herstellerkontakt",
- "cO2FootprintTotal": "CO2-Fußabdruck"
- },
- "stateOfBattery": {
- "stateOfHealth": "aktueller Zustand",
- "cycleLifeTestCRate": "Zykluslebensdauertest C-Rate",
- "stateOfCharge": "Ladezustand",
- "cycleLifeTestDepthOfDischarge": "Tiefe der Entladung im Zykluslebensdauertest",
- "expectedLifetime": "Erwartete Lebensdauer",
- "temperatureRange": "Temperaturbereich (im Ruhezustand)",
- "statusBattery": "Batterie-Status"
- },
- "components": {
- "searchForChild": "Die Suche nach verbauten Komponenten hat begonnen, dies kann eine Weile dauern...",
- "noChild": "Keine verbauten Komponenten gefunden",
- "somethingWentWrong": "Etwas ist bei der Suche nach Komponenten schiefgelaufen"
- },
- "batteryComposition": {
- "batteryComposites": "Hauptbestandteile der Batterie",
- "criticalRawMaterials": "Kritische Rohstoffe"
- },
- "cellChemistry": {
- "electrolyteComposition": "Zusammensetzung des Elektrolyts",
- "recyclateContent": "Recyclat-Anteil"
- },
- "electrochemicalProperties": {
- "capacity": "Kapazität",
- "ratedCapacity": "Nennkapazität",
- "capacityFade": "Kapazitätsverlust",
- "capacityThresholdExhaustion": "Kapazitätsschwelle für Batterie-Erschöpfung",
- "efficiency": "Effizienz",
- "originalPowerCapability": "Ursprüngliche Leistungsfähigkeit",
- "originalPowerCapabilityLimits": "Grenzen der ursprünglichen Leistungsfähigkeit",
- "maximumAllowedBatteryPower": "Maximal zulässige Batterieenergie (MABE)",
- "MABEvsMABP": "Verhältnis MABE zu MABP",
- "powerCapabilityAt20Charge": "Leistungsfähigkeit bei 20% Ladung",
- "powerCapabilityAt80Charge": "Leistungsfähigkeit bei 80% Ladung",
- "powerFade": "Leistungsverlust",
- "resistance": "Widerstand",
- "packInternalResistance": "Interner Widerstand des Batteriepacks",
- "packInternalResistanceIncrease": "Zunahme des internen Widerstands des Batteriepacks",
- "cellInternalResistance": "Interner Widerstand der Zelle",
- "voltage": "Spannung",
- "nominalVoltage": "Nennspannung",
- "maxVoltage": "Maximale Spannung",
- "minVoltage": "Minimale Spannung"
- },
- "exchange": {
- "contract": "Vertrag",
- "policy": "Richtlinie",
- "distribution": "Verteilung",
- "negotiation": "Verhandlung",
- "context": "Kontext",
- "negotiationRequest": "Verhandlungsanfrage",
- "offer": "Angebot",
- "transfer": "Übertragung",
- "edcDataRequest": "EDC-Datenanfrage",
- "transferRequest": "Übertragungsanfrage",
- "id": "ID",
- "type": "Typ",
- "policyId": "Richtlinien-ID",
- "distributionList": "Verteilungsliste",
- "edcDescription": "EDC-Beschreibung",
- "edcId": "EDC-ID",
- "edcType": "EDC-Typ",
- "edcProtocol": "EDC-Protokoll",
- "protocol": "Protokoll",
- "edcState": "EDC-Zustand",
- "edcCounterPartyAddress": "EDC-Partner-Adresse",
- "edcContractAgreementId": "EDC-Vertragsvereinbarungs-ID",
- "connectorId": "Connector-ID",
- "providerId": "Anbieter-ID",
- "offerDetail": "Angebotsdetails",
- "transferId": "Übertragungs-ID",
- "transferType": "Übertragungstyp",
- "transferState": "Übertragungszustand",
- "edcTimestamp": "EDC-Zeitstempel",
- "edcDataRequestId": "EDC-Datenanfrage-ID",
- "edcReceiverHttpEndpoint": "EDC-Empfänger HTTP-Endpunkt",
- "assetId": "Anlagen-ID",
- "connectorAddress": "Connector-Adresse",
- "contractId": "Vertrags-ID",
- "dataDestination": "Datendestination",
- "reciverHttpEndpoint": "Empfänger-HTTP-Endpunkt",
- "contentType": "Inhaltstyp"
- },
- "characteristics": {
- "physicalDimensionsProperty": "Eigenschaft der physischen Abmessungen",
- "weight": "Gewicht",
- "lifespan": "Lebensdauer",
- "energyCapacity": "Energiekapazität",
- "voltage": "Spannung",
- "physicalState": "Physischer Zustand",
- "weightOrVolume": "Gewicht oder Volumen",
- "diameter": "Durchmesser",
- "grossWeight": "Bruttogewicht",
- "grossVolume": "Bruttovolumen"
- },
- "commercial": {
- "placedOnMarket": "Markteinführung",
- "warranty": "Garantie"
- },
- "handling": {
- "maintenanceHistory": "Wartungshistorie",
- "spareParts": "Ersatzteile",
- "substanceOfConcern": "Besorgniserregende Substanz",
- "producerId": "Produzenten-ID",
- "partName": "Teilname",
- "partGtin": "Teil-GTIN",
- "type": "Typ",
- "location": "Standort",
- "unit": "Einheit",
- "concentrationMax": "Maximale Konzentration",
- "concentrationMin": "Minimale Konzentration",
- "exemption": "Ausnahme",
- "idType": "ID-Typ",
- "id": "ID"
- },
- "identification": {
- "gtin": "GTIN",
- "manufacturerId": "Hersteller-ID",
- "dataMatrixCode": "Data-Matrix-Code"
- },
- "metadata": {
- "predecessor": "Vorgänger",
- "legitimization": "Legitimation",
- "identification": "Identifikation",
- "issueDate": "Ausgabedatum",
- "version": "Version",
- "validityDate": "Gültigkeitsdatum",
- "customerPartId": "Kundenteil-ID",
- "manufacturerPartId": "Herstellerteil-ID",
- "status": "Status",
- "expirationDate": "Ablaufdatum"
- },
- "operation": {
- "importer": "Importeur-ID",
- "importerEori": "Importer-EORI",
- "manufacturerId": "Hersteller-ID",
- "facilityId": "Anlagen-ID",
- "manufacturingDate": "Herstellungsdatum"
- },
- "serialization": {
- "manufacturingInformation": "Herstellungsinformationen",
- "date": "Datum",
- "country": "Land",
- "registration": "Registrierung",
- "customerPartId": "Kundenteil-ID",
- "manufacturerPartId": "Herstellerteil-ID",
- "quantity": "Menge"
- },
- "sustainability": {
- "state": "Zustand",
- "material": "Material",
- "carbonContentTotal": "Gesamtkohlenstoffgehalt",
- "crossSectoralStandard": "Sektorenübergreifender Standard",
- "substancesOfConcern": "Besorgniserregende Stoffe",
- "criticalRawMaterials": "Kritische Rohstoffe",
- "co2FootprintTotal": "Gesamter CO₂-Fußabdruck",
- "operator": "Betreiber",
- "ruleNames": "Regelnamen",
- "otherOperatorName": "Name des anderen Betreibers",
- "productOrSectorSpecificRules": "Produkt- oder sektorspezifische Regeln",
- "critical": "Kritisch"
- },
- "typology": {
- "name": "Name",
- "shortName": "Kurzname",
- "longName": "Langname",
- "definition": "Definition",
- "code": "Code",
- "nameAtManufacturer": "Name beim Hersteller",
- "nameAtCustomer": "Name beim Kunden"
- }
- }
-}
+{
+ "header": {
+ "helpBtn": "Hilfe",
+ "helpTooltip": "Hier können Sie Hilfe erhalten, wenn Sie mehr über Catena-X wissen müssen",
+ "signOut": "Abmelden"
+ },
+ "searchView": {
+ "title": "Catena-X Batteriepass",
+ "welcomeMessage": "Der Begriff 'Batteriepass' bezieht sich auf ein digitales Dokument, das wesentliche Informationen über eine Batterie enthält, insbesondere im Kontext von Elektrofahrzeugen (EVs). Dieses Dokument umfasst Details über den Hersteller der Batterie, Spezifikationen, Leistungsmerkmale, Gesundheitszustand und Lebenszyklusdaten. Der Zweck eines Batteriepasses besteht darin, eine ordnungsgemäße Wartung, Instandhaltung und Recycling der Batterie zu erleichtern, sowie die Rückverfolgbarkeit und Konformität zu ermöglichen.",
+ "errorCameraOff": "Ihre Kamera ist ausgeschaltet.",
+ "errorTypeID": "Schalten Sie sie ein oder geben Sie die ID ein.",
+ "findOutMore": "Möchten Sie mehr erfahren? Lesen Sie unseren",
+ "guide": "Einsteiger-Leitfaden",
+ "cameraError": {
+ "NotAllowedError": "FEHLER: Sie müssen die Kamera-Zugriffsberechtigung erteilen",
+ "NotFoundError": "FEHLER: keine Kamera auf diesem Gerät",
+ "NotSupportedError": "FEHLER: Sichere Umgebung erforderlich (HTTPS, localhost)",
+ "NotReadableError": "FEHLER: Wird die Kamera bereits verwendet?",
+ "OverconstrainedError": "FEHLER: installierte Kameras sind nicht geeignet",
+ "StreamApiNotSupportedError": "FEHLER: Stream-API wird in diesem Browser nicht unterstützt",
+ "InsecureContextError": "FEHLER: Kamerazugriff ist nur in sicherer Umgebung erlaubt. Verwenden Sie HTTPS oder localhost anstelle von HTTP."
+ }
+ },
+ "passportView": {
+ "policyAgreement": {
+ "title": "Wählen Sie eine Richtlinie aus:",
+ "contractId": "Vertrags-ID:",
+ "policy": "Richtlinie",
+ "type": "Typ",
+ "decline": "Ablehnen",
+ "agree": "Zustimmen",
+ "details": {
+ "moreDetails": "Weitere Details",
+ "lessDetails": "Weniger Details"
+ },
+ "declineModal": {
+ "question": "Sind Sie sicher, dass Sie ablehnen möchten?",
+ "homepage": "Dies bringt Sie zurück zur Startseite",
+ "cancel": "Abbrechen",
+ "confirm": "Ja, Ablehnen"
+ }
+ },
+ "dpp": "Digitaler Produkt Pass",
+ "bpp": "Batterie Pass",
+ "tpp": "Getriebe Pass",
+ "dppComponentsNames": {
+ "typology": "Typologie",
+ "metadata": "Metadaten",
+ "characteristics": "Merkmale",
+ "components": "Komponenten",
+ "commercial": "Kommerziell",
+ "identification": "Identifikation",
+ "sources": "Quellen",
+ "handling": "Handhabung",
+ "additionalData": "Zusätzliche Daten",
+ "sustainability": "Nachhaltigkeit",
+ "operation": "Betrieb",
+ "exchange": "Austausch",
+ "performance": "Leistung",
+ "materials": "Materialien",
+ "safety": "Sicherheit",
+ "conformity": "Konformität"
+ },
+ "tppComponentsNames": {
+ "productSpecificParameters": "Produktspezifische Parameter",
+ "intructions": "Anleitungen",
+ "sparePartSupplier": "Ersatzteil-Lieferant",
+ "components": "Komponenten",
+ "stateOfHealth": "Zustand der Gesundheit",
+ "identification": "Identifikation",
+ "generalInformation": "Allgemeine Informationen",
+ "sustainability": "Nachhaltigkeit",
+ "exchange": "Austausch"
+ }
+ },
+ "home": {
+ "welcome": "Willkommen",
+ "home": "Startseite"
+ },
+ "footer": {
+ "help": "Hilfe",
+ "contact": "Kontakt",
+ "imprint": "Impressum",
+ "privacy": "Datenschutz",
+ "terms": "Nutzungsbedingungen",
+ "cookies": "Cookies",
+ "thirdParty": "Lizenzen Dritter",
+ "legal": "Rechtlicher Hinweis",
+ "license": "Lizenz: Apache-2.0",
+ "licensePath": "Lizenzpfad: ",
+ "viewLicense": "Lizenzdatei ansehen",
+ "notice": "HINWEIS: ",
+ "viewNotice": "Hinweisdatei ansehen",
+ "source": "Quell-URL: ",
+ "commit": "Commit-ID: ",
+ "copyright": "Urheberrecht © Catena-X Automotive Network."
+ },
+ "searchInput": {
+ "search": "Suchen",
+ "passportId": "Pass-ID eingeben"
+ },
+ "barChart": {
+ "noData": "Keine Daten"
+ },
+ "batteryCards": {
+ "titleGeneral": "ALLGEMEIN",
+ "labelGeneral": "Typ",
+ "secondLabelGeneral": "Kategorie",
+ "titlePerformance": "LEISTUNG",
+ "labelPerformance": "Nennkapazität",
+ "secondLabelPerformance": "Strom",
+ "descriptionPerformanceTitle": "Leistung",
+ "descriptionPerformanceValue": "Beschreibung der Leistung",
+ "titleHealth": "GESUNDHEIT",
+ "labelHealth": "Zustand der Gesundheit",
+ "secondLabelHealth": "Ladezyklen",
+ "descriptionHealthTitle": "Gesundheit",
+ "descriptionHealthValue": "Beschreibung der Gesundheit",
+ "titleSustainability": "NACHHALTIGKEIT",
+ "secondLabelSustainability": "CO2e/kWh",
+ "descriptionHSustainabilityTitle": "Nachhaltigkeit",
+ "descriptionSustainabilityValue": "Beschreibung der Nachhaltigkeit",
+ "chargingCycles": "Ladezyklen"
+ },
+ "generalCards": {
+ "titleGeneral": "ALLGEMEIN",
+ "productName": "Produktname",
+ "productType": "Produkttyp",
+ "titleManufacturing": "HERSTELLUNG",
+ "manufacturerId": "Hersteller-ID",
+ "dateOfManufacturing": "Herstellungsdatum",
+ "descriptionManufacturingTitle": "Herstellung",
+ "descriptionManufacturingValue": "Beschreibung der Herstellung",
+ "titleAspectVersion": "ASPEKTVERSION",
+ "currentVersion": "Aktuelle Version",
+ "issued": "Ausgestellt",
+ "descriptionAspectVersionTitle": "Aspektversion",
+ "descriptionAspectVersionValue": "Beschreibung der Aspektversion",
+ "titleSustainability": "NACHHALTIGKEIT",
+ "totalCo2Footprint": "Gesamter CO2-Fußabdruck",
+ "warrantyPeriod": "Garantiezeitraum",
+ "tCo2Total": "t CO2 Gesamt",
+ "months": "Monate",
+ "descriptionSustainabilityTitle": "Nachhaltigkeit",
+ "descriptionSustainabilityValue": "Beschreibung der Nachhaltigkeit"
+ },
+ "transmissionCards": {
+ "matrixCode": "Matrixcode",
+ "parameters": "Spezifische Parameter",
+ "driveType": "Antriebstyp",
+ "oilType": "Öltyp"
+ },
+ "passportHeader": {
+ "backBtn": "Zurück"
+ },
+ "field": {
+ "tempRange": "Temperaturbereich:",
+ "to": "bis",
+ "referenceTest": "Referenztest:"
+ },
+ "recursiveTree": {
+ "notAvailable": "Nicht verfügbar"
+ },
+ "dialog": {
+ "description": "Beschreibung",
+ "noDescription": "Keine Beschreibung"
+ },
+ "section": {
+ "noContent": "Entschuldigung, kein Inhalt"
+ },
+ "error": {
+ "404NotFound": "404 Nicht gefunden",
+ "somethingWentWrong": "Hoppla, etwas ist schiefgelaufen...",
+ "internalError": "Der Server hat einen internen Fehler oder eine Fehlkonfiguration festgestellt und konnte Ihre Anfrage nicht bearbeiten.",
+ "contactYourAdmin": "Bitte kontaktieren Sie Ihren Administrator",
+ "adminExample": "admin@beispiel.com",
+ "reload": "Seite neu laden",
+ "homepage": "Startseite"
+ },
+ "loading": {
+ "assetId": "Anlage-ID: ",
+ "registrySearch": "Register Suche",
+ "searching": "Suche...",
+ "registriesAvailable": "Register verfügbar",
+ "contractSearch": "Vertragssuche",
+ "contractAvailable": "Vertrag verfügbar",
+ "contractNegotiation": "Vertragsverhandlung",
+ "negotiating": "Verhandlung...",
+ "contractStatus": "Vertragsstatus: ",
+ "contractTransfer": "Vertragsübertragung",
+ "transferring": "Übertragung...",
+ "transferCompleted": "Übertragung abgeschlossen",
+ "passportRetrieval": "Passabruf",
+ "retrieving": "Abruf... ",
+ "createdProcess": "Erstellte Prozess-ID: ",
+ "contractId": "Vertrags-ID: ",
+ "compositionOf": "Composition of"
+ },
+ "sections": {
+ "materials": {
+ "name": "Name",
+ "otherMaterials": "Andere Materialien",
+ "type": "Typ",
+ "location": "Standort",
+ "recycledContent": "Recycelter Inhalt",
+ "materialIdentification": "Materialidentifikation",
+ "hazardous": "Gefährlich",
+ "compositionOf": "Zusammensetzung von",
+ "recyclateContent": "Rezyklatgehalt"
+ },
+ "performance": {
+ "rated": "Bewertet",
+ "depthOfDischarge": "Entladetiefe",
+ "temperature": "Temperatur",
+ "50PercentLife": "50% Lebensdauer",
+ "initial": "Anfangs",
+ "selfDischargingRate": "Selbstentladerate",
+ "lowerTemperature": "Niedrigere Temperatur",
+ "upperTemperature": "Höhere Temperatur",
+ "lifetime": "Lebensdauer",
+ "dynamic": "Dynamisch",
+ "appliedDischargeRate": "Angewandte Entladerate",
+ "cycleLifeTesting": "Lebensdauertest",
+ "cycles": "Zyklen",
+ "expectedYears": "Erwartete Jahre",
+ "at20SoC": "Bei 20°C",
+ "at80SoC": "Bei 80°C",
+ "power": "Leistung",
+ "cell": "Zelle",
+ "pack": "Pack",
+ "module": "Modul",
+ "voltage": "Spannung",
+ "voltageMin": "Minimale Spannung",
+ "voltageMax": "Maximale Spannung",
+ "voltageNominal": "Nennspannung",
+ "energy": "Energie",
+ "capacity": "Kapazität",
+ "thresholdExhaustion": "Erschöpfungsschwelle",
+ "roundTripEfficiency": "Rundum-Wirkungsgrad",
+ "remaining": "Verbleibende Leistung",
+ "fade": "Leistungsabfall",
+ "operatingEnvironment": "Betriebsumgebung",
+ "stateOfCharge": "Ladezustand",
+ "performanceDocument": "Leistungsdokumentation",
+ "fullCycles": "Volle Zyklen",
+ "negativeEvents": "Negative Ereignisse",
+ "resistance": "Widerstand",
+ "remainingCell": "Verbleibender Zellwiderstand",
+ "remainingPack": "Verbleibender Packwiderstand",
+ "remainingModule": "Verbleibender Modulwiderstand",
+ "increaseCell": "Zunehmender Zellwiderstand",
+ "increasePack": "Zunehmender Packwiderstand",
+ "increaseModule": "Zunehmender Modulwiderstand",
+ "capacityFade": "Kapazitätsverlust",
+ "throughput": "Durchsatz",
+ "remainingEnergy": "Verbleibende Energie",
+ "soce": "Ladezustandsschätzung"
+ },
+ "productSpecificParameters": {
+ "torqueConverter": "Drehmomentwandler",
+ "driveType": "Antriebstyp",
+ "oilType": "Öltyp",
+ "spreading": "Verbreitung",
+ "torque": "Drehmoment",
+ "power": "Leistung",
+ "gear": "Gang",
+ "ratio": "Verhältnis",
+ "speed": "Geschwindigkeit",
+ "standardGearRatio": "Standardübersetzungsverhältnis",
+ "speedResistance": "Geschwindigkeitswiderstand",
+ "oilCapacity": "Ölkapazität",
+ "electricPerformance": "Elektrische Leistung"
+ },
+ "instructions": {
+ "packagingInstructions": "Verpackungsanweisungen",
+ "transportationInstructions": "Transportanweisungen",
+ "dismantlingProcedure": "Demontageverfahren",
+ "safetyMeasures": "Sicherheitsmaßnahmen",
+ "vehicleDismantlingProcedure": "Fahrzeugdemontageverfahren"
+ },
+ "sparePartsSupplier": {
+ "supplierContact": "Lieferantenkontakt",
+ "supplierId": "Lieferanten-ID",
+ "sparePartName": "Ersatzteilname"
+ },
+ "stateOfHealth": {
+ "serviceHistory": "Serviceverlauf",
+ "expectedLifespan": "Erwartete Lebensdauer",
+ "remanufacturingDate": "Wiederherstellungsdatum",
+ "productStatusValue": "Produktstatuswert"
+ },
+ "generalInformation": {
+ "additionalInformation": "Zusätzliche Informationen",
+ "productDimensions": "Abmessungen",
+ "productDescription": "Produktbeschreibung",
+ "productType": "Produkttyp",
+ "batteryId": "Batterie-ID",
+ "batteryIdDescriptionTitle": "Batterie-ID",
+ "batteryIdDescriptionValue": "Batterie-ID oder DMC, die Sie in Ihren Geräteeinstellungen finden können",
+ "batteryType": "Batterietyp",
+ "batteryModel": "Batteriemodell",
+ "warranty": "Garantie",
+ "dimensions": "Abmessungen der Batterie",
+ "weight": "Gewicht",
+ "dateOfManufacturing": "Herstellungsdatum",
+ "placeOfManufacturing": "Herstellungsort",
+ "datePlacedOnMarket": "Markteinführungsdatum",
+ "manufacturerInformation": "Herstellerinformationen",
+ "manufacturerContact": "Herstellerkontakt",
+ "cO2FootprintTotal": "CO2-Fußabdruck"
+ },
+ "components": {
+ "searchForChild": "Die Suche nach verbauten Komponenten hat begonnen, dies kann eine Weile dauern...",
+ "noChild": "Keine verbauten Komponenten gefunden",
+ "somethingWentWrong": "Etwas ist bei der Suche nach Komponenten schiefgelaufen"
+ },
+ "batteryComposition": {
+ "batteryComposites": "Hauptbestandteile der Batterie",
+ "criticalRawMaterials": "Kritische Rohstoffe"
+ },
+ "electrochemicalProperties": {
+ "capacity": "Kapazität",
+ "ratedCapacity": "Nennkapazität",
+ "capacityFade": "Kapazitätsverlust",
+ "capacityThresholdExhaustion": "Kapazitätsschwelle für Batterie-Erschöpfung",
+ "efficiency": "Effizienz",
+ "originalPowerCapability": "Ursprüngliche Leistungsfähigkeit",
+ "originalPowerCapabilityLimits": "Grenzen der ursprünglichen Leistungsfähigkeit",
+ "maximumAllowedBatteryPower": "Maximal zulässige Batterieenergie (MABE)",
+ "MABEvsMABP": "Verhältnis MABE zu MABP",
+ "powerCapabilityAt20Charge": "Leistungsfähigkeit bei 20% Ladung",
+ "powerCapabilityAt80Charge": "Leistungsfähigkeit bei 80% Ladung",
+ "powerFade": "Leistungsverlust",
+ "resistance": "Widerstand",
+ "packInternalResistance": "Interner Widerstand des Batteriepacks",
+ "packInternalResistanceIncrease": "Zunahme des internen Widerstands des Batteriepacks",
+ "cellInternalResistance": "Interner Widerstand der Zelle",
+ "voltage": "Spannung",
+ "nominalVoltage": "Nennspannung",
+ "maxVoltage": "Maximale Spannung",
+ "minVoltage": "Minimale Spannung"
+ },
+ "exchange": {
+ "contract": "Vertrag",
+ "policy": "Richtlinie",
+ "distribution": "Verteilung",
+ "negotiation": "Verhandlung",
+ "context": "Kontext",
+ "negotiationRequest": "Verhandlungsanfrage",
+ "offer": "Angebot",
+ "transfer": "Übertragung",
+ "edcDataRequest": "EDC-Datenanfrage",
+ "transferRequest": "Übertragungsanfrage",
+ "id": "ID",
+ "type": "Typ",
+ "policyId": "Richtlinien-ID",
+ "distributionList": "Verteilungsliste",
+ "edcDescription": "EDC-Beschreibung",
+ "edcId": "EDC-ID",
+ "edcType": "EDC-Typ",
+ "edcProtocol": "EDC-Protokoll",
+ "protocol": "Protokoll",
+ "edcState": "EDC-Zustand",
+ "edcCounterPartyAddress": "EDC-Partner-Adresse",
+ "edcContractAgreementId": "EDC-Vertragsvereinbarungs-ID",
+ "connectorId": "Connector-ID",
+ "providerId": "Anbieter-ID",
+ "offerDetail": "Angebotsdetails",
+ "transferId": "Übertragungs-ID",
+ "transferType": "Übertragungstyp",
+ "transferState": "Übertragungszustand",
+ "edcTimestamp": "EDC-Zeitstempel",
+ "edcDataRequestId": "EDC-Datenanfrage-ID",
+ "edcReceiverHttpEndpoint": "EDC-Empfänger HTTP-Endpunkt",
+ "assetId": "Anlagen-ID",
+ "connectorAddress": "Connector-Adresse",
+ "contractId": "Vertrags-ID",
+ "dataDestination": "Datendestination",
+ "reciverHttpEndpoint": "Empfänger-HTTP-Endpunkt",
+ "contentType": "Inhaltstyp"
+ },
+ "characteristics": {
+ "physicalDimensionsProperty": "Eigenschaft der physischen Abmessungen",
+ "weight": "Gewicht",
+ "lifespan": "Lebensdauer",
+ "energyCapacity": "Energiekapazität",
+ "voltage": "Spannung",
+ "physicalState": "Physischer Zustand",
+ "weightOrVolume": "Gewicht oder Volumen",
+ "diameter": "Durchmesser",
+ "grossWeight": "Bruttogewicht",
+ "grossVolume": "Bruttovolumen",
+ "warranty": "Garantie"
+ },
+ "commercial": {
+ "placedOnMarket": "Markteinführung",
+ "warranty": "Garantie"
+ },
+ "handling": {
+ "manufacturerPartId": "Herstellerteilenummer",
+ "nameAtManufacturer": "Name beim Hersteller",
+ "maintenanceHistory": "Wartungshistorie",
+ "spareParts": "Ersatzteile",
+ "substanceOfConcern": "Besorgniserregende Substanz",
+ "producerId": "Produzenten-ID",
+ "partName": "Teilname",
+ "partGtin": "Teil-GTIN",
+ "type": "Typ",
+ "location": "Standort",
+ "unit": "Einheit",
+ "concentrationMax": "Maximale Konzentration",
+ "concentrationMin": "Minimale Konzentration",
+ "exemption": "Ausnahme",
+ "idType": "ID-Typ",
+ "id": "ID"
+ },
+ "identification": {
+ "gtin": "GTIN",
+ "manufacturerId": "Hersteller-ID",
+ "dataMatrixCode": "Data-Matrix-Code"
+ },
+ "metadata": {
+ "predecessor": "Vorgänger",
+ "legitimization": "Legitimation",
+ "identification": "Identifikation",
+ "issueDate": "Ausgabedatum",
+ "version": "Version",
+ "validityDate": "Gültigkeitsdatum",
+ "customerPartId": "Kundenteil-ID",
+ "manufacturerPartId": "Herstellerteil-ID",
+ "status": "Status",
+ "expirationDate": "Ablaufdatum",
+ "backupReference": "Backup-Referenz",
+ "registrationIdentifier": "Registrierungs-ID",
+ "economicOperatorId": "Wirtschaftsteilnehmer-ID",
+ "passportIdentifier": "Pass-ID"
+ },
+ "operation": {
+ "intoServiceDate": "Inbetriebnahmedatum",
+ "importer": "Importeur-ID",
+ "importerEori": "Importer-EORI",
+ "manufacturerId": "Hersteller-ID",
+ "facilityId": "Anlagen-ID",
+ "manufacturingDate": "Herstellungsdatum"
+ },
+ "serialization": {
+ "manufacturingInformation": "Herstellungsinformationen",
+ "date": "Datum",
+ "country": "Land",
+ "registration": "Registrierung",
+ "customerPartId": "Kundenteil-ID",
+ "manufacturerPartId": "Herstellerteil-ID",
+ "quantity": "Menge"
+ },
+ "sustainability": {
+ "state": "Zustand",
+ "status": "Status",
+ "carbonFootprint": "CO2-Fußabdruck",
+ "performanceClass": "Leistungsklasse",
+ "type": "Typ",
+ "rulebook": "Regelwerk",
+ "manufacturingPlant": "Produktionsstätte",
+ "declaration": "Erklärung",
+ "material": "Material",
+ "carbonContentTotal": "Gesamtkohlenstoffgehalt",
+ "crossSectoralStandard": "Sektorenübergreifender Standard",
+ "substancesOfConcern": "Besorgniserregende Stoffe",
+ "criticalRawMaterials": "Kritische Rohstoffe",
+ "co2FootprintTotal": "Gesamter CO₂-Fußabdruck",
+ "operator": "Betreiber",
+ "ruleNames": "Regelnamen",
+ "otherOperatorName": "Name des anderen Betreibers",
+ "productOrSectorSpecificRules": "Produkt- oder sektorspezifische Regeln",
+ "critical": "Kritisch"
+ },
+ "typology": {
+ "name": "Name",
+ "shortName": "Kurzname",
+ "longName": "Langname",
+ "definition": "Definition",
+ "code": "Code",
+ "nameAtManufacturer": "Name beim Hersteller",
+ "nameAtCustomer": "Name beim Kunden"
+ },
+ "safety": {
+ "fireClass": "Brandklasse",
+ "media": "Medien"
+ }
+ }
+}
diff --git a/dpp-frontend/src/translations/en.json b/dpp-frontend/src/translations/en.json
index 2997c9d4b..719cf3a4a 100644
--- a/dpp-frontend/src/translations/en.json
+++ b/dpp-frontend/src/translations/en.json
@@ -1,430 +1,492 @@
-{
- "header": {
- "helpBtn": "Help",
- "helpTooltip": " Here you can get help if you need to know more about Catena-X",
- "signOut": "Sign Out"
- },
- "searchView": {
- "title": "Catena-X Battery Passport",
- "welcomeMessage": "The term \"Battery Passport\" refers to a digital document that contains essential information about a battery, specifically in the context of electric vehicles (EVs). This document includes details about the battery's manufacturer, specifications, performance characteristics, health status, and lifecycle data. The purpose of a Battery Passport is to facilitate proper maintenance, servicing, and recycling of the battery, while also enabling traceability and compliance.",
- "errorCameraOff": "Your camera is off.",
- "errorTypeID": "Turn it on or type the ID.",
- "findOutMore": "Want to find out more? Read our Get",
- "guide": "Started Guide",
- "cameraError": {
- "NotAllowedError": "ERROR: you need to grant camera access permission",
- "NotFoundError": "ERROR: no camera on this device",
- "NotSupportedError": "ERROR: secure context required (HTTPS, localhost)",
- "NotReadableError": "ERROR: is the camera already in use?",
- "OverconstrainedError": "ERROR: installed cameras are not suitable",
- "StreamApiNotSupportedError": "ERROR: Stream API is not supported in this browser",
- "InsecureContextError": "ERROR: Camera access is only permitted in secure context. Use HTTPS or localhost rather than HTTP."
- }
- },
- "passportView": {
- "policyAgreement": {
- "title": "Choose a policy:",
- "contractId": "Contract ID:",
- "policy": "Policy",
- "type": "type",
- "decline": "Decline",
- "agree": "Agree",
- "details": {
- "moreDetails": "More details",
- "lessDetails": "Less details"
- },
- "declineModal": {
- "question": "Are you sure you want to decline?",
- "homepage": "This will take you back to the Homepage",
- "cancel": "Cancel",
- "confirm": "Yes, Decline"
- }
- },
- "dpp": "Digital Product Passport",
- "bpp": "Battery Product Passport",
- "tpp": "Transmission Product Passport",
- "batteryComponentsNames": {
- "generalInformation": "General Information",
- "stateOfBattery": "State Of Battery",
- "components": "Components",
- "batteryComposition": "Battery Composition",
- "cellChemistry": "Cell Chemistry",
- "electrochemicalProperties": "Electrochemical Properties",
- "documents": "Documents",
- "exchange": "Exchange"
- },
- "dppComponentsNames": {
- "typology": "Typology",
- "metadata": "Metadata",
- "characteristics": "Characteristics",
- "components": "Components",
- "commercial": "Commercial",
- "identification": "Identification",
- "sources": "Sources",
- "handling": "Handling",
- "additionalData": "Additional Data",
- "sustainability": "Sustainability",
- "operation": "Operation",
- "exchange": "Exchange"
- },
- "tppComponentsNames": {
- "productSpecificParameters": "Product Specific Parameters",
- "instructions": "Instructions",
- "sparePartSupplier": "Spare Part Supplier",
- "components": "Components",
- "stateOfHealth": "State of Health",
- "identification": "Identification",
- "generalInformation": "General Information",
- "sustainability": "Sustainability",
- "exchange": "Exchange"
- }
- },
- "home": {
- "welcome": "Welcome",
- "home": "Home"
- },
- "footer": {
- "help": "Help",
- "contact": "Contact",
- "imprint": "Imprint",
- "privacy": "Privacy",
- "terms": "Terms of Service",
- "cookies": "Cookies",
- "thirdParty": "Third Party Licenses",
- "legal": "Legal notice",
- "license": "License: Apache-2.0",
- "licensePath": "Licence Path: ",
- "viewLicense": "View License File",
- "notice": "NOTICE: ",
- "viewNotice": "View Notice File",
- "source": "Source URL: ",
- "commit": "Commit ID: ",
- "copyright": "Copyright © Catena-X Automotive Network."
- },
- "searchInput": {
- "search": "Search",
- "passportId": "Enter Passport ID"
- },
- "barChart": {
- "noData": "No data"
- },
- "batteryCards": {
- "titleGeneral": "GENERAL",
- "labelGeneral": "Type",
- "secondLabelGeneral": "Model",
- "titlePerformance": "PERFORMANCE",
- "labelPerformance": "Rated Capacity",
- "secondLabelPerformance": "Model",
- "descriptionPerformanceTitle": "Performance",
- "descriptionPerformanceValue": "Description of the performance",
- "titleHealth": "HEALTH",
- "labelHealth": "State of Health (SoH)",
- "secondLabelHealth": "Charging Cycles",
- "descriptionHealthTitle": "Health",
- "descriptionHealthValue": "Description of the health",
- "titleSustainability": "SUSTAINABILITY",
- "secondLabelSustainability": "CO2e/kWh",
- "descriptionHSustainabilityTitle": "Sustainability",
- "descriptionSustainabilityValue": "Description of the sustainability",
- "chargingCycles": "Charging Cycles"
- },
- "generalCards": {
- "titleGeneral": "GENERAL",
- "productName": "Product name",
- "productType": "Product type",
- "titleManufacturing": "MANUFACTURING",
- "manufacturerId": "Manufacturer ID",
- "dateOfManufacturing": "Date of Manufacturing",
- "descriptionManufacturingTitle": "Manufacturing",
- "descriptionManufacturingValue": "Description of the manufacturing",
- "titleAspectVersion": "ASPECT VERSION",
- "currentVersion": "Current version",
- "issued": "Issued",
- "descriptionAspectVersionTitle": "Aspect version",
- "descriptionAspectVersionValue": "Description of the aspect version",
- "titleSustainability": "SUSTAINABILITY",
- "totalCo2Footprint": "Total CO2 footprint",
- "warrantyPeriod": "Warranty period",
- "tCo2Total": "t CO2 Total",
- "months": "months",
- "descriptionSustainabilityTitle": "Sustainability",
- "descriptionSustainabilityValue": "Description of the Sustainability"
- },
- "transmissionCards": {
- "matrixCode": "Matrix code",
- "parameters": "SPECIFIC PARAMETERS",
- "driveType": "Drive type",
- "oilType": "Oil type"
- },
- "passportHeader": {
- "backBtn": "Back"
- },
- "field": {
- "tempRange": "Temp range:",
- "to": "to",
- "referenceTest": "Reference test:"
- },
- "recursiveTree": {
- "notAvailable": "Not available"
- },
- "dialog": {
- "description": "Description",
- "noDescription": "No description"
- },
- "section": {
- "noContent": "Sorry, no content"
- },
- "error": {
- "404NotFound": "404 Not Found",
- "somethingWentWrong": "Oops, Something went wrong...",
- "internalError": "The server encountered an internal error or misconfiguration and was unable to complete your request.",
- "contactYourAdmin": "Please contact your admin",
- "adminExample": "admin@example.com",
- "reload": "Reload Page",
- "homepage": "Homepage"
- },
- "loading": {
- "assetId": "Asset Id: ",
- "registrySearch": "Registry Search",
- "searching": "Searching...",
- "registriesAvailable": "Registries available",
- "contractSearch": "Contract Search",
- "contractAvailable": "Contract available",
- "contractNegotiation": "Contract Negotiation",
- "negotiating": "Negotiating...",
- "contractStatus": "Contract status: ",
- "contractTransfer": "Contract Transfer",
- "transferring": "Transferring...",
- "transferCompleted": "Transfer completed",
- "passportRetrieval": "Passport Retrieval",
- "retrieving": "Retrieving... ",
- "createdProcess": "Created Process ID: ",
- "contractId": "Contract ID: "
- },
- "sections": {
- "instructions": {
- "packagingInstructions": "Packaging instructions",
- "transportationInstructions": "Transportation instructions",
- "dismantlingProcedure": "Dismantling procedure",
- "safetyMeasures": "Safety measures",
- "vehicleDismantlingProcedure": "Vehicle dismantling procedure"
- },
- "productSpecificParameters": {
- "torqueConverter": "Torque converter",
- "driveType": "Drive type",
- "oilType": "Oil type",
- "spreading": "Spreading",
- "torque": "Torque",
- "power": "Power",
- "gear": "Gear",
- "ratio": "Ratio",
- "speed": "Speed",
- "standardGearRatio": "Standard gear ratio",
- "speedResistance": "Speed resistance",
- "oilCapacity": "Oil capacity",
- "electricPerformance": "Electric performance"
- },
- "sparePartsSupplier": {
- "supplierContact": "Supplier contact",
- "supplierId": "Supplier id",
- "sparePartName": "Spare part name"
- },
- "stateOfHealth": {
- "serviceHistory": "Service history",
- "expectedLifespan": "Expected lifespan",
- "remanufacturingDate": "Remanufacturing date",
- "productStatusValue": "Product status value"
- },
- "generalInformation": {
- "additionalInformation": "Additional information",
- "productDimensions": "Dimensions",
- "productDescription": "Product description",
- "productType": "Product type",
- "batteryId": "Battery ID (DMC)",
- "batteryIdDescriptionTitle": "Battery ID",
- "batteryIdDescriptionValue": "Battery ID or DMC that you can find in your device settings",
- "batteryType": "Battery Type",
- "batteryModel": "Battery Model",
- "warranty": "Warranty",
- "dimensions": "Dimensions of the battery",
- "weight": "Weight",
- "dateOfManufacturing": "Date of Manufacture",
- "placeOfManufacturing": "Place of Manufacturing",
- "datePlacedOnMarket": "Date of placing on the market",
- "manufacturerInformation": "Manufacturer Information",
- "manufacturerContact": "Manufacturer Contact",
- "cO2FootprintTotal": "CO2 Footprint"
- },
- "stateOfBattery": {
- "stateOfHealth": "State of health",
- "cycleLifeTestCRate": "Cycle life test c rate",
- "stateOfCharge": "State of charge",
- "cycleLifeTestDepthOfDischarge": "Cycle life test depth of discharge",
- "expectedLifetime": "Expected lifetime",
- "temperatureRange": "Temperature range (idle state)",
- "statusBattery": "Status battery"
- },
- "components": {
- "searchForChild": "The search for child components started, this may take a while...",
- "noChild": "No child components found",
- "somethingWentWrong": "Something went wrong while searching for child components"
- },
- "batteryComposition": {
- "batteryComposites": "Main Battery Composites",
- "criticalRawMaterials": "Critical raw materials"
- },
- "cellChemistry": {
- "electrolyteComposition": "Composition of electrolyte",
- "recyclateContent": "Recyclate Content Active Materials"
- },
- "electrochemicalProperties": {
- "capacity": "Capacity",
- "ratedCapacity": "Rated capacity",
- "capacityFade": "Capacity fade",
- "capacityThresholdExhaustion": "Capacity threshold exhaustion",
- "efficiency": "Efficiency",
- "originalPowerCapability": "Original power capability",
- "originalPowerCapabilityLimits": "Original power capability limits",
- "maximumAllowedBatteryPower": "Maximum allowed battery energy (MABE)",
- "MABEvsMABP": "Ratio MABE vs. MABP",
- "powerCapabilityAt20Charge": "Power capability at 20 charge",
- "powerCapabilityAt80Charge": "Power capability at 80 charge",
- "powerFade": "Power fade",
- "resistance": "Resistance",
- "packInternalResistance": "Pack internal resistance",
- "packInternalResistanceIncrease": "Pack internal resistance increase",
- "cellInternalResistance": "Cell internal resistance",
- "voltage": "Voltage",
- "nominalVoltage": "Nominal voltage",
- "maxVoltage": "Max voltage",
- "minVoltage": "Min voltage"
- },
- "exchange": {
- "contract": "Contract",
- "policy": "Policy",
- "distribution": "Distribution",
- "negotiation": "Negotiation",
- "context": "Context",
- "negotiationRequest": "Negotiation request",
- "offer": "Offer",
- "transfer": "Transfer",
- "edcDataRequest": "EDC data request",
- "transferRequest": "Transfer request",
- "id": "ID",
- "type": "Type",
- "policyId": "Policy ID",
- "distributionList": "Distribution List",
- "edcDescription": "EDC description",
- "edcId": "EDC ID",
- "edcType": "EDC Type",
- "edcProtocol": "EDC protocol",
- "protocol": "Protocol",
- "edcState": "EDC state",
- "edcCounterPartyAddress": "EDC counter party address",
- "edcContractAgreementId": "EDC contract agreement ID",
- "connectorId": "Connector ID",
- "providerId": "Provider ID",
- "offerDetail": "Offer detail",
- "transferId": "Transfer ID",
- "transferType": "Transfer Type",
- "transferState": "Transfer state",
- "edcTimestamp": "EDC timestamp",
- "edcDataRequestId": "EDC data request ID",
- "edcReceiverHttpEndpoint": "EDC receiver http endpoint",
- "assetId": "Asset ID",
- "connectorAddress": "Connector address",
- "contractId": "Contract ID",
- "dataDestination": "Data destination",
- "reciverHttpEndpoint": "Reciver http endpoint",
- "contentType": "Content type"
- },
- "characteristics": {
- "physicalDimensionsProperty": "Physical dimensions property",
- "weight": "Weight",
- "lifespan": "Lifespan",
- "energyCapacity": "Energy capacity",
- "voltage": "Voltage",
- "physicalState": "Physical state",
- "weightOrVolume": "Weight or volume",
- "diameter": "Diameter",
- "grossWeight": "Gross weight",
- "grossVolume": "Gross volume"
- },
- "commercial": {
- "placedOnMarket": "Place on the market",
- "warranty": "Warranty"
- },
- "handling": {
- "maintenanceHistory": "Maintenance history",
- "spareParts": "Spare parts",
- "substanceOfConcern": "Substance of concern",
- "producerId": "Producer Id",
- "partName": "Part name",
- "partGtin": "Part gtin",
- "type": "Type",
- "location": "Location",
- "unit": "Unit",
- "concentrationMax": "Concentration max",
- "concentrationMin": "Concentration min",
- "exemption": "Exemption",
- "idType": "Id type",
- "id": "Id"
- },
- "identification": {
- "gtin": "Gtin",
- "manufacturerId": "Manufacturer ID",
- "dataMatrixCode": "Data matrix code"
- },
- "metadata": {
- "predecessor": "Predecessor",
- "legitimization": "Legitimization",
- "identification": "Identification",
- "issueDate": "Issue date",
- "version": "Version",
- "validityDate": "Validity date",
- "customerPartId": "Customer part ID",
- "manufacturerPartId": "Manufacturer part ID",
- "status": "Status",
- "expirationDate": "Expiration date"
- },
- "operation": {
- "importer": "Importer ID",
- "importerEori": "Importer EORI",
- "manufacturerId": "Manufacturer ID",
- "facilityId": "Facility ID",
- "manufacturingDate": "Manufacturing date"
- },
- "serialization": {
- "manufacturingInformation": "Manufacturing information",
- "date": "Date",
- "country": "Country",
- "registration": "Registration",
- "customerPartId": "Customer part ID",
- "manufacturerPartId": "Manufacturer part ID",
- "quantity": "Quantity"
- },
- "sustainability": {
- "state": "State",
- "material": "Material",
- "carbonContentTotal": "Carbon content total",
- "crossSectoralStandard": "Cross sectoral standard used",
- "substancesOfConcern": "Substances of concern",
- "criticalRawMaterials": "Critical raw materials",
- "co2FootprintTotal": "CO₂ footprint total",
- "operator": "Operator",
- "ruleNames": "Rule names",
- "otherOperatorName": "Other operator name",
- "productOrSectorSpecificRules": "Product or sector specific rules",
- "critical": "Critical"
- },
- "typology": {
- "name": "Name",
- "shortName": "Short name",
- "longName": "Long name",
- "definition": "Definition",
- "code": "Code",
- "nameAtManufacturer": "Name at manufacturer",
- "nameAtCustomer": "Name at customer"
- }
- }
-}
+{
+ "header": {
+ "helpBtn": "Help",
+ "helpTooltip": " Here you can get help if you need to know more about Catena-X",
+ "signOut": "Sign Out"
+ },
+ "searchView": {
+ "title": "Catena-X Battery Passport",
+ "welcomeMessage": "The term \"Battery Passport\" refers to a digital document that contains essential information about a battery, specifically in the context of electric vehicles (EVs). This document includes details about the battery's manufacturer, specifications, performance characteristics, health status, and lifecycle data. The purpose of a Battery Passport is to facilitate proper maintenance, servicing, and recycling of the battery, while also enabling traceability and compliance.",
+ "errorCameraOff": "Your camera is off.",
+ "errorTypeID": "Turn it on or type the ID.",
+ "findOutMore": "Want to find out more? Read our Get",
+ "guide": "Started Guide",
+ "cameraError": {
+ "NotAllowedError": "ERROR: you need to grant camera access permission",
+ "NotFoundError": "ERROR: no camera on this device",
+ "NotSupportedError": "ERROR: secure context required (HTTPS, localhost)",
+ "NotReadableError": "ERROR: is the camera already in use?",
+ "OverconstrainedError": "ERROR: installed cameras are not suitable",
+ "StreamApiNotSupportedError": "ERROR: Stream API is not supported in this browser",
+ "InsecureContextError": "ERROR: Camera access is only permitted in secure context. Use HTTPS or localhost rather than HTTP."
+ }
+ },
+ "passportView": {
+ "policyAgreement": {
+ "title": "Choose a policy:",
+ "contractId": "Contract ID:",
+ "policy": "Policy",
+ "type": "type",
+ "decline": "Decline",
+ "agree": "Agree",
+ "details": {
+ "moreDetails": "More details",
+ "lessDetails": "Less details"
+ },
+ "declineModal": {
+ "question": "Are you sure you want to decline?",
+ "homepage": "This will take you back to the Homepage",
+ "cancel": "Cancel",
+ "confirm": "Yes, Decline"
+ }
+ },
+ "dpp": "Digital Product Passport",
+ "bpp": "Battery Product Passport",
+ "tpp": "Transmission Product Passport",
+ "dppComponentsNames": {
+ "typology": "Typology",
+ "metadata": "Metadata",
+ "characteristics": "Characteristics",
+ "components": "Components",
+ "commercial": "Commercial",
+ "identification": "Identification",
+ "sources": "Sources",
+ "handling": "Handling",
+ "additionalData": "Additional Data",
+ "sustainability": "Sustainability",
+ "operation": "Operation",
+ "exchange": "Exchange",
+ "performance": "Performance",
+ "materials": "Materials",
+ "safety": "Safety",
+ "conformity": "Conformity"
+ },
+ "tppComponentsNames": {
+ "productSpecificParameters": "Product Specific Parameters",
+ "instructions": "Instructions",
+ "sparePartSupplier": "Spare Part Supplier",
+ "components": "Components",
+ "stateOfHealth": "State of Health",
+ "identification": "Identification",
+ "generalInformation": "General Information",
+ "sustainability": "Sustainability",
+ "exchange": "Exchange"
+ }
+ },
+ "home": {
+ "welcome": "Welcome",
+ "home": "Home"
+ },
+ "footer": {
+ "help": "Help",
+ "contact": "Contact",
+ "imprint": "Imprint",
+ "privacy": "Privacy",
+ "terms": "Terms of Service",
+ "cookies": "Cookies",
+ "thirdParty": "Third Party Licenses",
+ "legal": "Legal notice",
+ "license": "License: Apache-2.0",
+ "licensePath": "Licence Path: ",
+ "viewLicense": "View License File",
+ "notice": "NOTICE: ",
+ "viewNotice": "View Notice File",
+ "source": "Source URL: ",
+ "commit": "Commit ID: ",
+ "copyright": "Copyright © Catena-X Automotive Network."
+ },
+ "searchInput": {
+ "search": "Search",
+ "passportId": "Enter Passport ID"
+ },
+ "barChart": {
+ "noData": "No data"
+ },
+ "batteryCards": {
+ "titleGeneral": "GENERAL",
+ "labelGeneral": "Type",
+ "secondLabelGeneral": "Category",
+ "titlePerformance": "PERFORMANCE",
+ "labelPerformance": "Rated Capacity",
+ "secondLabelPerformance": "Power",
+ "descriptionPerformanceTitle": "Performance",
+ "descriptionPerformanceValue": "Description of the performance",
+ "titleHealth": "HEALTH",
+ "labelHealth": "State of Health (SoH)",
+ "secondLabelHealth": "Charging Cycles",
+ "descriptionHealthTitle": "Health",
+ "descriptionHealthValue": "Description of the health",
+ "titleSustainability": "SUSTAINABILITY",
+ "secondLabelSustainability": "CO2e/kWh",
+ "descriptionHSustainabilityTitle": "Sustainability",
+ "descriptionSustainabilityValue": "Description of the sustainability",
+ "chargingCycles": "Charging Cycles"
+ },
+ "generalCards": {
+ "titleGeneral": "GENERAL",
+ "productName": "Product name",
+ "productType": "Product type",
+ "titleManufacturing": "MANUFACTURING",
+ "manufacturerId": "Manufacturer ID",
+ "dateOfManufacturing": "Date of Manufacturing",
+ "descriptionManufacturingTitle": "Manufacturing",
+ "descriptionManufacturingValue": "Description of the manufacturing",
+ "titleAspectVersion": "ASPECT VERSION",
+ "currentVersion": "Current version",
+ "issued": "Issued",
+ "descriptionAspectVersionTitle": "Aspect version",
+ "descriptionAspectVersionValue": "Description of the aspect version",
+ "titleSustainability": "SUSTAINABILITY",
+ "totalCo2Footprint": "Total CO2 footprint",
+ "warrantyPeriod": "Warranty period",
+ "tCo2Total": "t CO2 Total",
+ "months": "months",
+ "descriptionSustainabilityTitle": "Sustainability",
+ "descriptionSustainabilityValue": "Description of the Sustainability"
+ },
+ "transmissionCards": {
+ "matrixCode": "Matrix code",
+ "parameters": "SPECIFIC PARAMETERS",
+ "driveType": "Drive type",
+ "oilType": "Oil type"
+ },
+ "passportHeader": {
+ "backBtn": "Back"
+ },
+ "field": {
+ "tempRange": "Temp range:",
+ "to": "to",
+ "referenceTest": "Reference test:"
+ },
+ "recursiveTree": {
+ "notAvailable": "Not available"
+ },
+ "dialog": {
+ "description": "Description",
+ "noDescription": "No description"
+ },
+ "section": {
+ "noContent": "Sorry, no content"
+ },
+ "error": {
+ "404NotFound": "404 Not Found",
+ "somethingWentWrong": "Oops, Something went wrong...",
+ "internalError": "The server encountered an internal error or misconfiguration and was unable to complete your request.",
+ "contactYourAdmin": "Please contact your admin",
+ "adminExample": "admin@example.com",
+ "reload": "Reload Page",
+ "homepage": "Homepage"
+ },
+ "loading": {
+ "assetId": "Asset Id: ",
+ "registrySearch": "Registry Search",
+ "searching": "Searching...",
+ "registriesAvailable": "Registries available",
+ "contractSearch": "Contract Search",
+ "contractAvailable": "Contract available",
+ "contractNegotiation": "Contract Negotiation",
+ "negotiating": "Negotiating...",
+ "contractStatus": "Contract status: ",
+ "contractTransfer": "Contract Transfer",
+ "transferring": "Transferring...",
+ "transferCompleted": "Transfer completed",
+ "passportRetrieval": "Passport Retrieval",
+ "retrieving": "Retrieving... ",
+ "createdProcess": "Created Process ID: ",
+ "contractId": "Contract ID: "
+ },
+ "sections": {
+ "materials": {
+ "name": "Name",
+ "otherMaterials": "Other materials",
+ "type": "Type",
+ "location": "Location",
+ "recycledContent": "Recycled content",
+ "materialIdentification": "Material identification",
+ "hazardous": "Hazardous",
+ "compositionOf": "Composition of",
+ "recyclateContent": "Recyclate content"
+ },
+ "performance": {
+ "rated": "Rated",
+ "depthOfDischarge": "Depth of Discharge",
+ "temperature": "Temperature",
+ "50PercentLife": "50% Life",
+ "initial": "Initial",
+ "selfDischargingRate": "Self Discharging Rate",
+ "lowerTemperature": "Lower Temperature",
+ "upperTemperature": "Upper Temperature",
+ "lifetime": "Lifetime",
+ "dynamic": "Dynamic",
+ "appliedDischargeRate": "Applied Discharge Rate",
+ "cycleLifeTesting": "Lifecycle testing",
+ "cycles": "Cycles",
+ "expectedYears": "Expected years",
+ "at20SoC": "At 20°C",
+ "at80SoC": "At 80°C",
+ "power": "Power",
+ "cell": "Cell",
+ "pack": "Pack",
+ "module": "Module",
+ "voltage": "Voltage",
+ "voltageMin": "Voltage Min",
+ "voltageMax": "Voltage Max",
+ "voltageNominal": "Voltage nominal",
+ "energy": "Energy",
+ "capacity": "Capacity",
+ "thresholdExhaustion": "Threshold Exhaustion",
+ "roundTripEfficiency": "Round Trip Efficiency",
+ "remaining": "Remaining power",
+ "fade": "Power fade",
+ "operatingEnvironment": "Operating environment",
+ "stateOfCharge": "State of charge",
+ "performanceDocument": "Performance document",
+ "fullCycles": "Full cycles",
+ "negativeEvents": "Negative events",
+ "resistance": "Resistance",
+ "remainingCell": "Remaining cell resistance",
+ "remainingPack": "Remaining pack resistance",
+ "remainingModule": "Remaining module resistance",
+ "increaseCell": "Increasing cell resistance",
+ "increasePack": "Increasing pack resistance",
+ "increaseModule": "Increasing module resistance",
+ "capacityFade": "Capacity fade",
+ "throughput": "Throughput",
+ "remainingEnergy": "Remaining energy",
+ "soce": "Soce"
+ },
+ "instructions": {
+ "packagingInstructions": "Packaging instructions",
+ "transportationInstructions": "Transportation instructions",
+ "dismantlingProcedure": "Dismantling procedure",
+ "safetyMeasures": "Safety measures",
+ "vehicleDismantlingProcedure": "Vehicle dismantling procedure"
+ },
+ "productSpecificParameters": {
+ "torqueConverter": "Torque converter",
+ "driveType": "Drive type",
+ "oilType": "Oil type",
+ "spreading": "Spreading",
+ "torque": "Torque",
+ "power": "Power",
+ "gear": "Gear",
+ "ratio": "Ratio",
+ "speed": "Speed",
+ "standardGearRatio": "Standard gear ratio",
+ "speedResistance": "Speed resistance",
+ "oilCapacity": "Oil capacity",
+ "electricPerformance": "Electric performance"
+ },
+ "sparePartsSupplier": {
+ "supplierContact": "Supplier contact",
+ "supplierId": "Supplier id",
+ "sparePartName": "Spare part name"
+ },
+ "stateOfHealth": {
+ "serviceHistory": "Service history",
+ "expectedLifespan": "Expected lifespan",
+ "remanufacturingDate": "Remanufacturing date",
+ "productStatusValue": "Product status value"
+ },
+ "generalInformation": {
+ "additionalInformation": "Additional information",
+ "productDimensions": "Dimensions",
+ "productDescription": "Product description",
+ "productType": "Product type",
+ "batteryId": "Battery ID (DMC)",
+ "batteryIdDescriptionTitle": "Battery ID",
+ "batteryIdDescriptionValue": "Battery ID or DMC that you can find in your device settings",
+ "batteryType": "Battery Type",
+ "batteryModel": "Battery Model",
+ "warranty": "Warranty",
+ "dimensions": "Dimensions of the battery",
+ "weight": "Weight",
+ "dateOfManufacturing": "Date of Manufacture",
+ "placeOfManufacturing": "Place of Manufacturing",
+ "datePlacedOnMarket": "Date of placing on the market",
+ "manufacturerInformation": "Manufacturer Information",
+ "manufacturerContact": "Manufacturer Contact",
+ "cO2FootprintTotal": "CO2 Footprint"
+ },
+ "components": {
+ "searchForChild": "The search for child components started, this may take a while...",
+ "noChild": "No child components found",
+ "somethingWentWrong": "Something went wrong while searching for child components"
+ },
+ "batteryComposition": {
+ "batteryComposites": "Main Battery Composites",
+ "criticalRawMaterials": "Critical raw materials"
+ },
+ "electrochemicalProperties": {
+ "capacity": "Capacity",
+ "ratedCapacity": "Rated capacity",
+ "capacityFade": "Capacity fade",
+ "capacityThresholdExhaustion": "Capacity threshold exhaustion",
+ "efficiency": "Efficiency",
+ "originalPowerCapability": "Original power capability",
+ "originalPowerCapabilityLimits": "Original power capability limits",
+ "maximumAllowedBatteryPower": "Maximum allowed battery energy (MABE)",
+ "MABEvsMABP": "Ratio MABE vs. MABP",
+ "powerCapabilityAt20Charge": "Power capability at 20 charge",
+ "powerCapabilityAt80Charge": "Power capability at 80 charge",
+ "powerFade": "Power fade",
+ "resistance": "Resistance",
+ "packInternalResistance": "Pack internal resistance",
+ "packInternalResistanceIncrease": "Pack internal resistance increase",
+ "cellInternalResistance": "Cell internal resistance",
+ "voltage": "Voltage",
+ "nominalVoltage": "Nominal voltage",
+ "maxVoltage": "Max voltage",
+ "minVoltage": "Min voltage"
+ },
+ "exchange": {
+ "contract": "Contract",
+ "policy": "Policy",
+ "distribution": "Distribution",
+ "negotiation": "Negotiation",
+ "context": "Context",
+ "negotiationRequest": "Negotiation request",
+ "offer": "Offer",
+ "transfer": "Transfer",
+ "edcDataRequest": "EDC data request",
+ "transferRequest": "Transfer request",
+ "id": "ID",
+ "type": "Type",
+ "policyId": "Policy ID",
+ "distributionList": "Distribution List",
+ "edcDescription": "EDC description",
+ "edcId": "EDC ID",
+ "edcType": "EDC Type",
+ "edcProtocol": "EDC protocol",
+ "protocol": "Protocol",
+ "edcState": "EDC state",
+ "edcCounterPartyAddress": "EDC counter party address",
+ "edcContractAgreementId": "EDC contract agreement ID",
+ "connectorId": "Connector ID",
+ "providerId": "Provider ID",
+ "offerDetail": "Offer detail",
+ "transferId": "Transfer ID",
+ "transferType": "Transfer Type",
+ "transferState": "Transfer state",
+ "edcTimestamp": "EDC timestamp",
+ "edcDataRequestId": "EDC data request ID",
+ "edcReceiverHttpEndpoint": "EDC receiver http endpoint",
+ "assetId": "Asset ID",
+ "connectorAddress": "Connector address",
+ "contractId": "Contract ID",
+ "dataDestination": "Data destination",
+ "reciverHttpEndpoint": "Reciver http endpoint",
+ "contentType": "Content type"
+ },
+ "characteristics": {
+ "physicalDimensionsProperty": "Physical dimensions property",
+ "weight": "Weight",
+ "lifespan": "Lifespan",
+ "energyCapacity": "Energy capacity",
+ "voltage": "Voltage",
+ "physicalState": "Physical state",
+ "weightOrVolume": "Weight or volume",
+ "diameter": "Diameter",
+ "grossWeight": "Gross weight",
+ "grossVolume": "Gross volume",
+ "warranty": "Warranty"
+ },
+ "commercial": {
+ "placedOnMarket": "Place on the market",
+ "warranty": "Warranty"
+ },
+ "handling": {
+ "manufacturerPartId": "Manufacturer part ID",
+ "nameAtManufacturer": "Name at manufacturer",
+ "maintenanceHistory": "Maintenance history",
+ "spareParts": "Spare parts",
+ "substanceOfConcern": "Substance of concern",
+ "producerId": "Producer Id",
+ "partName": "Part name",
+ "partGtin": "Part gtin",
+ "type": "Type",
+ "location": "Location",
+ "unit": "Unit",
+ "concentrationMax": "Concentration max",
+ "concentrationMin": "Concentration min",
+ "exemption": "Exemption",
+ "idType": "Id type",
+ "id": "Id"
+ },
+ "identification": {
+ "gtin": "Gtin",
+ "manufacturerId": "Manufacturer ID",
+ "dataMatrixCode": "Data matrix code",
+ "chemistry": "Chemistry",
+ "idDmc": "DMC ID",
+ "category": "Category"
+ },
+ "metadata": {
+ "predecessor": "Predecessor",
+ "legitimization": "Legitimization",
+ "identification": "Identification",
+ "issueDate": "Issue date",
+ "version": "Version",
+ "validityDate": "Validity date",
+ "customerPartId": "Customer part ID",
+ "manufacturerPartId": "Manufacturer part ID",
+ "status": "Status",
+ "expirationDate": "Expiration date",
+ "backupReference": "Backup reference",
+ "registrationIdentifier": "Registration identifier",
+ "economicOperatorId": "Economic operator ID",
+ "passportIdentifier": "Passport identifier"
+ },
+ "operation": {
+ "intoServiceDate": "Into service date",
+ "importer": "Importer ID",
+ "importerEori": "Importer EORI",
+ "manufacturerId": "Manufacturer ID",
+ "facilityId": "Facility ID",
+ "manufacturingDate": "Manufacturing date"
+ },
+ "serialization": {
+ "manufacturingInformation": "Manufacturing information",
+ "date": "Date",
+ "country": "Country",
+ "registration": "Registration",
+ "customerPartId": "Customer part ID",
+ "manufacturerPartId": "Manufacturer part ID",
+ "quantity": "Quantity"
+ },
+ "sustainability": {
+ "state": "State",
+ "status": "Status",
+ "carbonFootprint": "Carbon Footprint",
+ "performanceClass": "Performance Class",
+ "type": "Type",
+ "rulebook": "Rulebook",
+ "manufacturingPlant": "Manufacturing plant",
+ "declaration": "Declaration",
+ "material": "Material",
+ "carbonContentTotal": "Carbon content total",
+ "crossSectoralStandard": "Cross sectoral standard used",
+ "substancesOfConcern": "Substances of concern",
+ "criticalRawMaterials": "Critical raw materials",
+ "co2FootprintTotal": "CO₂ footprint total",
+ "operator": "Operator",
+ "ruleNames": "Rule names",
+ "otherOperatorName": "Other operator name",
+ "productOrSectorSpecificRules": "Product or sector specific rules",
+ "critical": "Critical"
+ },
+ "typology": {
+ "name": "Name",
+ "shortName": "Short name",
+ "longName": "Long name",
+ "definition": "Definition",
+ "code": "Code",
+ "nameAtManufacturer": "Name at manufacturer",
+ "nameAtCustomer": "Name at customer"
+ },
+ "safety": {
+ "fireClass": "Fire class",
+ "media": "Media"
+ }
+ }
+}
diff --git a/dpp-frontend/src/utils/passportUtil.js b/dpp-frontend/src/utils/passportUtil.js
index ce11597bb..2c03acd25 100644
--- a/dpp-frontend/src/utils/passportUtil.js
+++ b/dpp-frontend/src/utils/passportUtil.js
@@ -1,102 +1,106 @@
-/**
- * Tractus-X - Digital Product Passport Application
- *
- * Copyright (c) 2022, 2024 BASF SE, BMW AG, Henkel AG & Co. KGaA
- * Copyright (c) 2022, 2024 Contributors to the Eclipse Foundation
- *
- * See the NOTICE file(s) distributed with this work for additional
- * information regarding copyright ownership.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Apache License, Version 2.0 which is available at
- * https://www.apache.org/licenses/LICENSE-2.0.
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
- * either express or implied. See the
- * License for the specific language govern in permissions and limitations
- * under the License.
- *
- * SPDX-License-Identifier: Apache-2.0
- */
-
-import iconMappings from "@/config/templates/iconMappings.json";
-
-export default {
- formattedDate(timestamp) {
- const date = new Date(timestamp);
- const formattedDate = date.toLocaleDateString("en-GB", {
- day: "2-digit",
- month: "2-digit",
- year: "numeric",
- });
- return formattedDate;
- },
- toSentenceCase(text) {
- // Convert the string to sentence case
- const words = text.split(/(?=[A-Z])/);
- const firstWord = [words[0].charAt(0).toUpperCase() + words[0].slice(1)];
- const otherWords = words.slice(1).map((word) => word.toLowerCase());
- const formattedWords = firstWord.concat(otherWords);
- return formattedWords.join(" ");
- },
- unitRemover(unit) {
- return unit.replace("unit:", "");
- },
- iconFinder(property) {
- // Define a mapping of prefixes to icons
- const prefixToIcon = iconMappings;
- // Split the camel-cased key into separate words and lowercase them
- const words = property
- .split(/(?=[A-Z])/)
- .map((word) => word.toLowerCase());
- // Check each word against the prefixToIcon mapping and take the first
- for (const word of words) {
- if (prefixToIcon[word]) {
- return prefixToIcon[word];
- }
- }
-
- // If no match is found, return the default icon
- return "mdi-information-outline";
- },
- groupSources(sources) {
- try {
-
- let mappedSources = {};
- for (let parentKey in sources) {
- let parentSources = sources[parentKey];
- for (let key in parentSources) {
- let doc = parentSources[key];
- if (parentKey === "optional") {
- doc = doc["document"];
- }
- if (doc instanceof Array) {
- for (let docKey in doc) {
- let subDoc = doc[docKey]["document"];
- let category = subDoc["category"];
- if (!Object.prototype.hasOwnProperty.call(mappedSources, category)) {
- mappedSources[category] = [];
- }
- mappedSources[category].push(subDoc);
- }
- continue;
- }
-
- let category = doc["category"];
- if (!Object.prototype.hasOwnProperty.call(mappedSources, category)) {
- mappedSources[category] = [];
- }
-
- mappedSources[category].push(doc);
- }
- }
- return mappedSources;
- } catch (e) {
- console.error.log(e); // Print error message
- return {};
- }
- }
-};
-
+/**
+ * Tractus-X - Digital Product Passport Application
+ *
+ * Copyright (c) 2022, 2024 BASF SE, BMW AG, Henkel AG & Co. KGaA
+ * Copyright (c) 2022, 2024 Contributors to the Eclipse Foundation
+ *
+ * See the NOTICE file(s) distributed with this work for additional
+ * information regarding copyright ownership.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Apache License, Version 2.0 which is available at
+ * https://www.apache.org/licenses/LICENSE-2.0.
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
+ * either express or implied. See the
+ * License for the specific language govern in permissions and limitations
+ * under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+import iconMappings from "@/config/templates/iconMappings.json";
+
+export default {
+ hasContent(...args) {
+ // Check if any of the passed arguments is truthy
+ return args.some((arg) => !!arg);
+ },
+ formattedDate(timestamp) {
+ const date = new Date(timestamp);
+ const formattedDate = date.toLocaleDateString("en-GB", {
+ day: "2-digit",
+ month: "2-digit",
+ year: "numeric",
+ });
+ return formattedDate;
+ },
+ toSentenceCase(text) {
+ // Convert the string to sentence case
+ const words = text.split(/(?=[A-Z])/);
+ const firstWord = [words[0].charAt(0).toUpperCase() + words[0].slice(1)];
+ const otherWords = words.slice(1).map((word) => word.toLowerCase());
+ const formattedWords = firstWord.concat(otherWords);
+ return formattedWords.join(" ");
+ },
+ unitRemover(unit) {
+ return unit.replace("unit:", "");
+ },
+ iconFinder(property) {
+ // Define a mapping of prefixes to icons
+ const prefixToIcon = iconMappings;
+ // Split the camel-cased key into separate words and lowercase them
+ const words = property
+ .split(/(?=[A-Z])/)
+ .map((word) => word.toLowerCase());
+ // Check each word against the prefixToIcon mapping and take the first
+ for (const word of words) {
+ if (prefixToIcon[word]) {
+ return prefixToIcon[word];
+ }
+ }
+
+ // If no match is found, return the default icon
+ return "mdi-information-outline";
+ },
+ groupSources(sources) {
+ try {
+
+ let mappedSources = {};
+ for (let parentKey in sources) {
+ let parentSources = sources[parentKey];
+ for (let key in parentSources) {
+ let doc = parentSources[key];
+ if (parentKey === "optional") {
+ doc = doc["document"];
+ }
+ if (doc instanceof Array) {
+ for (let docKey in doc) {
+ let subDoc = doc[docKey]["document"];
+ let category = subDoc["category"];
+ if (!Object.prototype.hasOwnProperty.call(mappedSources, category)) {
+ mappedSources[category] = [];
+ }
+ mappedSources[category].push(subDoc);
+ }
+ continue;
+ }
+
+ let category = doc["category"];
+ if (!Object.prototype.hasOwnProperty.call(mappedSources, category)) {
+ mappedSources[category] = [];
+ }
+
+ mappedSources[category].push(doc);
+ }
+ }
+ return mappedSources;
+ } catch (e) {
+ console.error.log(e); // Print error message
+ return {};
+ }
+ }
+};
+
diff --git a/dpp-frontend/src/views/PassportView.vue b/dpp-frontend/src/views/PassportView.vue
index 5681a4936..2f2bad0ab 100644
--- a/dpp-frontend/src/views/PassportView.vue
+++ b/dpp-frontend/src/views/PassportView.vue
@@ -1,995 +1,1001 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ $t("passportView.policyAgreement.title") }}
-
-
-
-
-
-
- {{contractIndex+1}}. {{
- $t("passportView.policyAgreement.contractId")
- }}
-
-
- {{ contractId }}
-
-
-
-
-
-
-
-
Policy {{ contractIndex + 1 }}.{{
- index + 1
- }}
-
-
-
- ID
-
-
-
- {{ item["@id"] }}
-
-
-
-
-
-
-
-
- {{policyKey}}
-
-
-
-
- Action Type: {{ attribute.actionType }}
-
-
- -
- {{attribute.constraints.operator}}
- - [{{constraint.leftOperand}}] [{{constraint.operator}}] [{{constraint.rightOperand}}]
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ $t("passportView.policyAgreement.decline") }}
- {{ $t("passportView.policyAgreement.agree") }}
-
-
-
- {{ detailsTitle }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ $t("passportView.policyAgreement.declineModal.question") }}
-
-
-
- {{ $t("passportView.policyAgreement.declineModal.homepage") }}
-
-
-
-
- {{
- $t("passportView.policyAgreement.declineModal.cancel")
- }}
- {{
- $t("passportView.policyAgreement.declineModal.confirm")
- }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t("passportView.policyAgreement.title") }}
+
+
+
+
+
+
+ {{ contractIndex + 1 }}.
+ {{ $t("passportView.policyAgreement.contractId") }}
+
+
+ {{ contractId }}
+
+
+
+
+
+
+
+
Policy {{ contractIndex + 1 }}.{{
+ index + 1
+ }}
+
+
+
+ ID
+
+
+
+ {{ item["@id"] }}
+
+
+
+
+
+
+
+
+
+ {{ policyKey }}
+
+
+
+
+
+
+ Action Type:
+ {{ attribute.actionType }}
+
+
+
+ -
+ {{
+ attribute.constraints.operator
+ }}
+ - [{{
+ constraint.leftOperand
+ }}] [{{ constraint.operator }}]
+ [{{
+ constraint.rightOperand
+ }}]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t("passportView.policyAgreement.decline") }}
+ {{ $t("passportView.policyAgreement.agree") }}
+
+
+
+ {{ detailsTitle }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t("passportView.policyAgreement.declineModal.question") }}
+
+
+
+ {{ $t("passportView.policyAgreement.declineModal.homepage") }}
+
+
+
+
+ {{
+ $t("passportView.policyAgreement.declineModal.cancel")
+ }}
+ {{
+ $t("passportView.policyAgreement.declineModal.confirm")
+ }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+