From e1141a8230284b9d0e9996c2e7bd345a600efffe Mon Sep 17 00:00:00 2001 From: Luigi Date: Tue, 10 Mar 2026 11:33:30 +0100 Subject: [PATCH 01/10] New landing (#221) * Footer first implementation * New footer * Fix env * First commit * Header and dashboard fix for incoming demo * Complete * header * Dashboard * Homepage completa * x * Update enviroment * Homepage implementation complete --- .vscode/settings.json | 78 + package-lock.json | 9 - src/app/app.component.html | 22 +- .../dashboard-customers.component.css | 215 ++ .../dashboard-customers.component.html | 80 + .../dashboard-customers.component.ts | 61 + .../dashboard-ecosystem.component.css | 101 + .../dashboard-ecosystem.component.html | 94 + .../dashboard-ecosystem.component.ts | 38 + .../dashboard-footer.component.html | 59 +- .../dashboard-header.component.css | 92 - .../dashboard-header.component.html | 35 - .../dashboard-header.component.ts | 83 - .../dashboard-hero.component.css | 101 + .../dashboard-hero.component.html | 44 + .../dashboard-hero.component.ts | 16 + .../dashboard-providers.component.css | 234 ++ .../dashboard-providers.component.html | 88 + .../dashboard-providers.component.ts | 59 + .../dashboard-services.component.css | 1 + .../dashboard-services.component.html | 50 + .../dashboard-services.component.ts | 32 + .../dashboard-stats.component.css | 11 + .../dashboard-stats.component.html | 46 + .../dashboard-stats.component.ts | 18 + .../dashboard-whatsdome.component.css | 143 + .../dashboard-whatsdome.component.html | 88 + .../dashboard-whatsdome.component.ts | 19 + .../pages/dashboard/dashboard.component.css | 65 +- .../pages/dashboard/dashboard.component.html | 383 +- .../pages/dashboard/dashboard.component.ts | 54 +- .../pages/dome-blog/dome-blog.component.html | 2 +- src/app/services/product-service.service.ts | 179 +- .../shared/carousel/carousel.component.html | 26 + src/app/shared/carousel/carousel.component.ts | 135 + .../europe-trademark.component.ts | 32 +- src/app/shared/footer/footer.component.css | 1 + src/app/shared/footer/footer.component.html | 112 +- src/app/shared/footer/footer.component.ts | 139 +- src/app/shared/header/header.component.css | 120 +- src/app/shared/header/header.component.html | 478 +-- src/app/shared/header/header.component.ts | 660 ++-- src/app/shared/shared.module.ts | 17 +- src/app/themes/bae.theme.ts | 5 +- src/app/themes/dome.theme.ts | 123 +- src/app/themes/theme.interfaces.ts | 8 +- src/assets/i18n/en.json | 3198 +++++++++++------ src/assets/i18n/es.json | 3197 ++++++++++------ src/assets/images/dashboard/hero.png | Bin 0 -> 83554 bytes src/environments/environment.development.ts | 198 +- src/styles.css | 38 +- 51 files changed, 7189 insertions(+), 3898 deletions(-) create mode 100644 .vscode/settings.json create mode 100644 src/app/pages/dashboard/dashboard-customers/dashboard-customers.component.css create mode 100644 src/app/pages/dashboard/dashboard-customers/dashboard-customers.component.html create mode 100644 src/app/pages/dashboard/dashboard-customers/dashboard-customers.component.ts create mode 100644 src/app/pages/dashboard/dashboard-ecosystem/dashboard-ecosystem.component.css create mode 100644 src/app/pages/dashboard/dashboard-ecosystem/dashboard-ecosystem.component.html create mode 100644 src/app/pages/dashboard/dashboard-ecosystem/dashboard-ecosystem.component.ts delete mode 100644 src/app/pages/dashboard/dashboard-header/dashboard-header.component.css delete mode 100644 src/app/pages/dashboard/dashboard-header/dashboard-header.component.html delete mode 100644 src/app/pages/dashboard/dashboard-header/dashboard-header.component.ts create mode 100644 src/app/pages/dashboard/dashboard-hero/dashboard-hero.component.css create mode 100644 src/app/pages/dashboard/dashboard-hero/dashboard-hero.component.html create mode 100644 src/app/pages/dashboard/dashboard-hero/dashboard-hero.component.ts create mode 100644 src/app/pages/dashboard/dashboard-providers/dashboard-providers.component.css create mode 100644 src/app/pages/dashboard/dashboard-providers/dashboard-providers.component.html create mode 100644 src/app/pages/dashboard/dashboard-providers/dashboard-providers.component.ts create mode 100644 src/app/pages/dashboard/dashboard-services/dashboard-services.component.css create mode 100644 src/app/pages/dashboard/dashboard-services/dashboard-services.component.html create mode 100644 src/app/pages/dashboard/dashboard-services/dashboard-services.component.ts create mode 100644 src/app/pages/dashboard/dashboard-stats/dashboard-stats.component.css create mode 100644 src/app/pages/dashboard/dashboard-stats/dashboard-stats.component.html create mode 100644 src/app/pages/dashboard/dashboard-stats/dashboard-stats.component.ts create mode 100644 src/app/pages/dashboard/dashboard-whatsdome/dashboard-whatsdome.component.css create mode 100644 src/app/pages/dashboard/dashboard-whatsdome/dashboard-whatsdome.component.html create mode 100644 src/app/pages/dashboard/dashboard-whatsdome/dashboard-whatsdome.component.ts create mode 100644 src/app/shared/carousel/carousel.component.html create mode 100644 src/app/shared/carousel/carousel.component.ts create mode 100644 src/assets/images/dashboard/hero.png diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 00000000..5321e775 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,78 @@ +{ + "editor.defaultFormatter": "vscode.typescript-language-features", + "editor.formatOnSave": true, + "editor.formatOnPaste": false, + "editor.formatOnType": false, + "[typescript]": { + "editor.defaultFormatter": "vscode.typescript-language-features", + "editor.formatOnSave": true + }, + "[typescriptreact]": { + "editor.defaultFormatter": "vscode.typescript-language-features" + }, + "[javascript]": { + "editor.defaultFormatter": "vscode.typescript-language-features" + }, + "[javascriptreact]": { + "editor.defaultFormatter": "vscode.typescript-language-features" + }, + "[json]": { + "editor.defaultFormatter": "vscode.json-language-features", + "editor.formatOnSave": true + }, + "[jsonc]": { + "editor.defaultFormatter": "vscode.json-language-features", + "editor.formatOnSave": true + }, + "[html]": { + "editor.defaultFormatter": "vscode.html-language-features", + "editor.formatOnSave": true + }, + "[css]": { + "editor.defaultFormatter": "vscode.css-language-features", + "editor.formatOnSave": true + }, + "[scss]": { + "editor.defaultFormatter": "vscode.css-language-features", + "editor.formatOnSave": true + }, + "editor.codeActionsOnSave": { + "source.organizeImports": "explicit" + }, + "typescript.tsdk": "node_modules/typescript/lib", + "typescript.validate.enable": true, + "typescript.updateImportsOnFileMove.enabled": "always", + "typescript.preferences.importModuleSpecifier": "relative", + "typescript.preferences.importModuleSpecifierEnding": "auto", + "typescript.preferences.quoteStyle": "single", + "typescript.suggest.autoImports": true, + "typescript.suggest.completeFunctionCalls": true, + "editor.inlineSuggest.enabled": true, + "editor.parameterHints.enabled": true, + "editor.suggestSelection": "first", + "editor.tabCompletion": "on", + "angular.enable-strict-mode-prompt": false, + "angular.trace.server": "off", + "editor.tabSize": 2, + "editor.insertSpaces": true, + "editor.detectIndentation": false, + "files.eol": "\n", + "files.trimTrailingWhitespace": true, + "files.insertFinalNewline": true, + "editor.wordWrap": "on", + "editor.minimap.enabled": false, + "editor.renderWhitespace": "selection", + "editor.bracketPairColorization.enabled": true, + "editor.guides.bracketPairs": true, + "files.exclude": { + "**/.angular/**": true, + "**/.cache/**": true, + "**/dist/**": true, + "**/coverage/**": true, + "**/.DS_Store": true + }, + "git.autofetch": true, + "git.confirmSync": false, + "explorer.compactFolders": false, + "workbench.startupEditor": "none" +} diff --git a/package-lock.json b/package-lock.json index 4f2016fe..f7df387e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6998,15 +6998,6 @@ "node": ">=12" } }, - "node_modules/d3-selection": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz", - "integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==", - "optional": true, - "engines": { - "node": ">=12" - } - }, "node_modules/d3-shape": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz", diff --git a/src/app/app.component.html b/src/app/app.component.html index 16a1a252..6655747f 100644 --- a/src/app/app.component.html +++ b/src/app/app.component.html @@ -1,17 +1,19 @@ - + -
+
-@if (providerThemeName == "DOME") { - +@if (providerThemeName === "DOME") { + } - + @if(isProduction){ - -} \ No newline at end of file + + + +} diff --git a/src/app/pages/dashboard/dashboard-customers/dashboard-customers.component.css b/src/app/pages/dashboard/dashboard-customers/dashboard-customers.component.css new file mode 100644 index 00000000..e82a9da3 --- /dev/null +++ b/src/app/pages/dashboard/dashboard-customers/dashboard-customers.component.css @@ -0,0 +1,215 @@ +.dc-wrap { + position: relative; + width: 100%; + isolation: isolate; +} + +.dc-bg { + position: absolute; + inset: 0; + z-index: 0; + overflow: hidden; + pointer-events: none; + background: #f3f6ff; +} + +.dc-content { + position: relative; + z-index: 1; +} + +.dc-ellipse { + position: absolute; + width: 720px; + height: 720px; + border-radius: 9999px; + transform: rotate(180deg); + opacity: 1; + background: radial-gradient(circle at 35% 35%, + rgba(182, 202, 236, 0.95) 0%, + rgba(182, 202, 236, 0.65) 38%, + rgba(182, 202, 236, 0) 72%); + filter: blur(10px); +} + +.dc-e1 { + left: -220px; + top: -190px; +} + +.dc-e2 { + right: -260px; + top: 60px; +} + +.dc-e3 { + left: 50%; + top: -240px; + transform: translateX(-50%) rotate(180deg); +} + +.dc-e4 { + left: 140px; + bottom: -360px; +} + +.dc-blur { + position: absolute; + inset: 0; + background: linear-gradient(226.59deg, + rgba(255, 242, 242, 0.18) 25.7%, + rgba(255, 250, 250, 0.28) 94.73%); + backdrop-filter: blur(90px); + -webkit-backdrop-filter: blur(90px); + transform: rotate(180deg); +} + +.dc-feature-card { + position: relative; + min-height: 180px; + border-radius: 12px; + overflow: hidden; + background: rgba(255, 255, 255, 0.95); + box-shadow: 0 10px 30px rgba(13, 33, 74, 0.1); + border: 1px solid rgba(0, 0, 0, 0.05); + transition: transform 220ms ease, box-shadow 220ms ease; +} + +.dc-feature-card:hover { + transform: translateY(-2px); + box-shadow: 0 16px 38px rgba(13, 33, 74, 0.14); +} + +.dc-feature-card__base { + position: relative; + z-index: 1; + height: 100%; + min-height: 180px; + transition: opacity 180ms ease, transform 220ms ease; +} + +.dc-feature-card__content { + height: 100%; + display: flex; + align-items: flex-end; + padding: 1.5rem; +} + +.dc-feature-card__icon { + position: absolute; + right: 0; + bottom: 0; + font-size: 72px; + color: #1f4fbf; + opacity: 0.1; + transition: opacity 220ms ease, transform 220ms ease; +} + +.dc-feature-card__hover { + position: absolute; + inset: 0; + z-index: 2; + padding: 2rem 1.9rem 1.8rem; + background: rgba(226, 233, 245, 0.9); + opacity: 0; + transform: translateY(8px); + transition: opacity 220ms ease, transform 220ms ease; + pointer-events: none; +} + +.dc-feature-card__hover-text { + position: relative; + z-index: 2; + max-width: 250px; + font-size: 16px; + line-height: 1.55; + font-weight: 500; + color: #1f2937; +} + +.dc-feature-card__hover-icon { + position: absolute; + right: -6px; + bottom: -10px; + font-size: 122px; + color: #1f4fbf; + opacity: 0.1; + z-index: 1; + transition: transform 220ms ease, opacity 220ms ease; +} + +.dc-feature-card:hover .dc-feature-card__base { + opacity: 0; + transform: scale(0.98); +} + +.dc-feature-card:hover .dc-feature-card__icon { + opacity: 0; + transform: scale(0.9); +} + +.dc-feature-card:hover .dc-feature-card__hover { + opacity: 1; + transform: translateY(0); +} + +.dc-feature-card:hover .dc-feature-card__hover-icon { + opacity: 0.12; + transform: scale(1.03); +} + +@media (max-width: 1024px) { + .dc-ellipse { + width: 620px; + height: 620px; + filter: blur(9px); + } + + .dc-e2 { + right: -300px; + } +} + +@media (max-width: 640px) { + .dc-ellipse { + width: 520px; + height: 520px; + filter: blur(8px); + } + + .dc-e1 { + left: -280px; + top: -230px; + } + + .dc-e2 { + right: -320px; + top: 10px; + } + + .dc-e4 { + left: 40px; + bottom: -380px; + } + + .dc-feature-card { + min-height: 160px; + } + + .dc-feature-card__base { + min-height: 160px; + } + + .dc-feature-card__hover { + padding: 1.5rem; + } + + .dc-feature-card__hover-text { + font-size: 16px; + line-height: 1.65; + } + + .dc-feature-card__hover-icon { + font-size: 104px; + } +} diff --git a/src/app/pages/dashboard/dashboard-customers/dashboard-customers.component.html b/src/app/pages/dashboard/dashboard-customers/dashboard-customers.component.html new file mode 100644 index 00000000..c0b172a7 --- /dev/null +++ b/src/app/pages/dashboard/dashboard-customers/dashboard-customers.component.html @@ -0,0 +1,80 @@ +
+ + +
+

+ {{ 'DASHBOARD.customers._sectitle' | translate }} +

+ +
+
+ @if (featureCards.length) { +
+ @for (card of featureCards; track $index) { +
+
+
+
+
+
+ + +
+ +
+
+ {{ card.hoverText | translate }} +
+ + +
+
+ } +
+ } +
+ +
+
+

+ {{ 'DASHBOARD.customers._howItWorksTitle' | translate }} +

+ + @if (steps.length) { +
+ @for (step of steps; track $index) { +
+
{{ step.num }}
+ +
+
+ {{ step.title | translate }} +
+
+ {{ step.desc | translate }} +
+
+
+ } +
+ } + + +
+
+
+
+
diff --git a/src/app/pages/dashboard/dashboard-customers/dashboard-customers.component.ts b/src/app/pages/dashboard/dashboard-customers/dashboard-customers.component.ts new file mode 100644 index 00000000..274057d2 --- /dev/null +++ b/src/app/pages/dashboard/dashboard-customers/dashboard-customers.component.ts @@ -0,0 +1,61 @@ +import { Component, input } from "@angular/core"; +import { RouterLink } from '@angular/router'; +import { FontAwesomeModule } from "@fortawesome/angular-fontawesome"; +import { faCircleCheck, faEye } from "@fortawesome/free-regular-svg-icons"; +import { faBoltLightning, faDiagramProject } from "@fortawesome/free-solid-svg-icons"; +import { TranslateModule } from '@ngx-translate/core'; + +type FeatureCard = { html: string; hoverText: string; icon: any }; +type Step = { num: string; title: string; desc: string }; + +@Component({ + selector: "app-dashboard-customers", + standalone: true, + imports: [FontAwesomeModule, TranslateModule, RouterLink], + templateUrl: "./dashboard-customers.component.html", + styleUrl: "./dashboard-customers.component.css" +}) +export class DashboardCustomersComponent { + customerLink = input.required(); + + featureCards: FeatureCard[] = [ + { + html: 'DASHBOARD.customers._cards.access.title', + hoverText: 'DASHBOARD.customers._cards.access.desc', + icon: faCircleCheck + }, + { + html: 'DASHBOARD.customers._cards.discovery.title', + hoverText: 'DASHBOARD.customers._cards.discovery.desc', + icon: faEye + }, + { + html: 'DASHBOARD.customers._cards.procurement.title', + hoverText: 'DASHBOARD.customers._cards.procurement.desc', + icon: faBoltLightning + }, + { + html: 'DASHBOARD.customers._cards.ecosystem.title', + hoverText: 'DASHBOARD.customers._cards.ecosystem.desc', + icon: faDiagramProject + } + ]; + + steps: Step[] = [ + { + num: '01', + title: 'DASHBOARD.customers._steps.register.title', + desc: 'DASHBOARD.customers._steps.register.desc' + }, + { + num: '02', + title: 'DASHBOARD.customers._steps.search.title', + desc: 'DASHBOARD.customers._steps.search.desc' + }, + { + num: '03', + title: 'DASHBOARD.customers._steps.connect.title', + desc: 'DASHBOARD.customers._steps.connect.desc' + } + ]; +} diff --git a/src/app/pages/dashboard/dashboard-ecosystem/dashboard-ecosystem.component.css b/src/app/pages/dashboard/dashboard-ecosystem/dashboard-ecosystem.component.css new file mode 100644 index 00000000..1eb4facf --- /dev/null +++ b/src/app/pages/dashboard/dashboard-ecosystem/dashboard-ecosystem.component.css @@ -0,0 +1,101 @@ +.hero-shell { + background: #070f24; + font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans"; +} + +.hero-bg { + background: + radial-gradient(900px 520px at 50% 44%, rgba(20, 140, 255, 0.14), rgba(7, 15, 36, 0) 62%), + radial-gradient(1200px 700px at 50% 40%, rgba(0, 210, 255, 0.10), rgba(7, 15, 36, 0) 68%), + linear-gradient(180deg, #070f24 0%, #07102a 40%, #060d22 100%); +} + +.hero-title { + font-weight: 800; + letter-spacing: -0.02em; + line-height: 1.05; + font-size: clamp(40px, 4.2vw, 64px); +} + +.hero-accent { + color: #23b9d8; +} + +.hero-sub { + color: rgba(255, 255, 255, 0.55); + font-size: 16px; + line-height: 1.7; +} + +.hero-btn { + height: 52px; + padding: 0 22px; + border-radius: 10px; + font-weight: 700; + font-size: 14px; + letter-spacing: 0.01em; + transition: transform 160ms ease, box-shadow 160ms ease, background-color 160ms ease, border-color 160ms ease; + display: inline-flex; + align-items: center; + justify-content: center; + min-width: 260px; +} + +.hero-btn:active { + transform: translateY(1px); +} + +.hero-btn--primary { + background: #2D58A7; + color: #fff; + box-shadow: 0 18px 40px rgba(0, 0, 0, 0.28); +} + +.hero-btn--primary:hover { + background: #00ADD3; + box-shadow: 0 22px 55px rgba(0, 0, 0, 0.32); +} + +.hero-btn--ghost { + background: transparent; + border: 1px solid rgba(90, 140, 255, 0.45); + color: rgba(255, 255, 255, 0.92); + box-shadow: 0 12px 34px rgba(0, 0, 0, 0.20); + backdrop-filter: blur(6px); +} + +.hero-btn--ghost:hover { + border-color: #2D58A7; + color: #2D58A7; + background: white; +} + +.logo-ph { + height: 32px; + display: flex; + align-items: center; + justify-content: center; + border-radius: 999px; + border: 1px solid rgba(255, 255, 255, 0.14); + color: rgba(255, 255, 255, 0.60); + font-weight: 700; + letter-spacing: 0.12em; + font-size: 12px; +} + +.earth-wrapper { + position: absolute; + bottom: -2%; + left: 50%; + transform: translateX(-50%); + width: min(1600px, 140vw); + pointer-events: none; + opacity: 0.95; +} + +.earth-wrapper img { + width: 100%; + height: auto; + display: block; + filter: drop-shadow(0 0 40px rgba(120, 220, 255, 0.35)); +} diff --git a/src/app/pages/dashboard/dashboard-ecosystem/dashboard-ecosystem.component.html b/src/app/pages/dashboard/dashboard-ecosystem/dashboard-ecosystem.component.html new file mode 100644 index 00000000..547df90a --- /dev/null +++ b/src/app/pages/dashboard/dashboard-ecosystem/dashboard-ecosystem.component.html @@ -0,0 +1,94 @@ +
+
+

+ {{ 'DASHBOARD.ecosystem._title' | translate }} +

+ +

+ {{ 'DASHBOARD.ecosystem._subtitle' | translate }} +

+ +
+
+
+ {{ 'DASHBOARD.ecosystem._nowLabel' | translate }} +
+
+ {{ 'DASHBOARD.ecosystem._nextLabel' | translate }} +
+
+ {{ 'DASHBOARD.ecosystem._beyondLabel' | translate }} +
+
+ +
+
+ +
+ +
+
+ +
+
+
+
+
+
+
+
+
+
+
+
+
+ + @if (milestones.length) { +
+ @for (milestone of milestones; track $index) { +
+
+ {{ milestone.title | translate }} +
+ +
+ {{ milestone.desc | translate }} +
+
+ } +
+ } +
+ + +
+
diff --git a/src/app/pages/dashboard/dashboard-ecosystem/dashboard-ecosystem.component.ts b/src/app/pages/dashboard/dashboard-ecosystem/dashboard-ecosystem.component.ts new file mode 100644 index 00000000..694ab41a --- /dev/null +++ b/src/app/pages/dashboard/dashboard-ecosystem/dashboard-ecosystem.component.ts @@ -0,0 +1,38 @@ +import { Component, input } from "@angular/core"; +import { TranslateModule } from '@ngx-translate/core'; + +type Milestone = { + title: string; + desc: string; + active: boolean; +}; + +@Component({ + selector: "app-dashboard-ecosystem", + standalone: true, + templateUrl: "./dashboard-ecosystem.component.html", + imports: [TranslateModule] +}) +export class DashboardEcosystemComponent { + + providersLink = input.required(); + customersLink = input.required(); + + milestones: Milestone[] = [ + { + title: "DASHBOARD.ecosystem._milestones._live._title", + desc: "DASHBOARD.ecosystem._milestones._live._desc", + active: true, + }, + { + title: "DASHBOARD.ecosystem._milestones._tools._title", + desc: "DASHBOARD.ecosystem._milestones._tools._desc", + active: false, + }, + { + title: "DASHBOARD.ecosystem._milestones._federation._title", + desc: "DASHBOARD.ecosystem._milestones._federation._desc", + active: false, + }, + ]; +} diff --git a/src/app/pages/dashboard/dashboard-footer/dashboard-footer.component.html b/src/app/pages/dashboard/dashboard-footer/dashboard-footer.component.html index 3bc12bfa..c4d0afa3 100644 --- a/src/app/pages/dashboard/dashboard-footer/dashboard-footer.component.html +++ b/src/app/pages/dashboard/dashboard-footer/dashboard-footer.component.html @@ -1,59 +1,52 @@ -
+ +@if (feedback) { + } diff --git a/src/app/shared/footer/footer.component.ts b/src/app/shared/footer/footer.component.ts index 21a20add..4e219863 100644 --- a/src/app/shared/footer/footer.component.ts +++ b/src/app/shared/footer/footer.component.ts @@ -1,91 +1,108 @@ -import {OnDestroy, OnInit, Component, ViewEncapsulation} from '@angular/core'; -import { faLinkedin, faYoutube, faXTwitter } from '@fortawesome/free-brands-svg-icons'; +import { Component, OnDestroy, OnInit } from '@angular/core'; import { Router } from '@angular/router'; -import { Subscription } from "rxjs"; -import { ThemeService } from "../../services/theme.service"; -import { NavLink } from "../../themes"; -import {EventMessageService} from "../../services/event-message.service"; -import {LocalStorageService} from "../../services/local-storage.service"; -import { LoginInfo } from 'src/app/models/interfaces'; +import { + faLinkedin, + faXTwitter, + faYoutube, +} from '@fortawesome/free-brands-svg-icons'; import * as moment from 'moment'; -import {Subject} from "rxjs"; -import { takeUntil } from 'rxjs/operators'; +import { Subject, takeUntil } from 'rxjs'; +import { LoginInfo } from 'src/app/models/interfaces'; +import { LocalStorageService } from 'src/app/services/local-storage.service'; +import { ThemeService } from 'src/app/services/theme.service'; +import { EventMessageService } from '../../services/event-message.service'; +import { NavHeaderLink } from '../../themes'; + @Component({ selector: 'bae-footer', templateUrl: './footer.component.html', styleUrls: ['./footer.component.css'], - encapsulation: ViewEncapsulation.None }) export class FooterComponent implements OnInit, OnDestroy { protected readonly faLinkedin = faLinkedin; protected readonly faYoutube = faYoutube; protected readonly faXTwitter = faXTwitter; - private destroy$ = new Subject(); - - // Propiedades dinámicas del tema - public footerLinks: NavLink[] = []; - public socialLinks: { icon: any; url: string | undefined; }[] = []; - private themeSubscription: Subscription = new Subscription(); + private unSub = new Subject(); - feedback:boolean=false; - checkLogged:boolean=false; + checkLogged: boolean = false; + feedback: boolean = false; - constructor(private router: Router, - private eventMessage: EventMessageService, - private localStorage: LocalStorageService, - private themeService: ThemeService) { - this.eventMessage.messages$ - .pipe(takeUntil(this.destroy$)) - .subscribe(ev => { - if(ev.type === 'CloseFeedback') { - this.feedback = false; - } - const userInfo = this.localStorage.getObject('login_items') as LoginInfo; - if((JSON.stringify(userInfo) != '{}' && (((userInfo.expire - moment().unix())-4) > 0))) { - this.checkLogged=true - } - }) - } + socialLinks: { icon: any; url: string }[] = []; + footerLinks: NavHeaderLink[] = []; + columns: number; + constructor( + private themeService: ThemeService, + private localStorage: LocalStorageService, + private eventMessage: EventMessageService, + private router: Router) { } - ngOnInit(): void { - this.themeSubscription = this.themeService.currentTheme$.subscribe(theme => { - // Cargar enlaces del footer desde la configuración del tema - this.footerLinks = theme?.links?.footerLinks || []; + ngOnInit() { + this.getCurrentThemeData(); + this.checkEventMessages(); + this.checkIfLogged(); + } - // Cargar y mapear redes sociales - this.socialLinks = []; - if (theme?.links?.linkedin) { - this.socialLinks.push({ url: theme.links.linkedin, icon: this.faLinkedin }); - } - if (theme?.links?.twitter) { - this.socialLinks.push({ url: theme.links.twitter, icon: this.faXTwitter }); - } - if (theme?.links?.youtube) { - this.socialLinks.push({ url: theme.links.youtube, icon: this.faYoutube }); - } - }); + private checkIfLogged() { const userInfo = this.localStorage.getObject('login_items') as LoginInfo; - if((JSON.stringify(userInfo) != '{}' && (((userInfo.expire - moment().unix())-4) > 0))) { - this.checkLogged=true + if ((JSON.stringify(userInfo) != '{}' && (((userInfo.expire - moment().unix()) - 4) > 0))) { + this.checkLogged = true; } } - ngOnDestroy(): void { - if (this.themeSubscription) { - this.themeSubscription.unsubscribe(); - } - this.destroy$.next(); - this.destroy$.complete(); + private checkEventMessages() { + this.eventMessage.messages$ + .pipe(takeUntil(this.unSub)) + .subscribe(ev => { + if (ev.type === 'CloseFeedback') { + this.feedback = false; + } + + this.checkIfLogged(); + }) } + private getCurrentThemeData() { + this.themeService.currentTheme$ + .pipe(takeUntil(this.unSub)) + .subscribe((theme) => { + this.footerLinks = theme?.links?.footerLinks || []; + this.columns = theme?.links?.footerLinksColsNumber || 0; - goTo(path:string) { + this.socialLinks = []; + + if (theme?.links?.linkedin) { + this.socialLinks.push({ + url: theme.links.linkedin, + icon: this.faLinkedin, + }); + } + if (theme?.links?.twitter) { + this.socialLinks.push({ + url: theme.links.twitter, + icon: this.faXTwitter, + }); + } + if (theme?.links?.youtube) { + this.socialLinks.push({ + url: theme.links.youtube, + icon: this.faYoutube, + }); + } + }); + } + + goToRoute(path: string) { this.router.navigate([path]); } - open(path:string){ + openNewTab(path: string) { window.open(path, '_blank'); } + + ngOnDestroy() { + this.unSub.complete(); + this.unSub.unsubscribe(); + } } diff --git a/src/app/shared/header/header.component.css b/src/app/shared/header/header.component.css index b6b7ceec..570f071e 100644 --- a/src/app/shared/header/header.component.css +++ b/src/app/shared/header/header.component.css @@ -1,42 +1,80 @@ -/* Dropdown Button */ -.dropbtn { - background-color: #04AA6D; - color: white; - padding: 16px; - font-size: 16px; - border: none; - } - - /* The container
- needed to position the dropdown content */ - .dropdown { - position: relative; - display: inline-block; - } - - /* Dropdown Content (Hidden by Default) */ - .dropdown-content { - display: none; - position: absolute; - background-color: #f1f1f1; - min-width: 160px; - box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2); - z-index: 50; - } - - /* Links inside the dropdown */ - .dropdown-content a { - color: black; - padding: 12px 16px; - text-decoration: none; - display: block; - } - - /* Change color of dropdown links on hover */ - .dropdown-content a:hover {background-color: #ddd;} - - /* Show the dropdown menu on hover */ - .dropdown:hover .dropdown-content {display: block;} - - /* Change the background color of the dropdown button when the dropdown content is shown */ - .dropdown:hover .dropbtn {background-color: #3e8e41;} +.dropdown-glass { + background: rgba(255, 255, 255, 0.92); + backdrop-filter: blur(14px); + -webkit-backdrop-filter: blur(14px); + box-shadow: + 0 18px 40px rgba(15, 23, 42, 0.14), + 0 6px 14px rgba(15, 23, 42, 0.10); + border: 1px solid rgba(15, 23, 42, 0.06); +} +.dropdown-item { + width: 100%; + display: flex; + align-items: center; + gap: 0.5rem; + + padding: 10px 12px; + border-radius: 10px; + + font-size: 14px; + font-weight: 600; + + color: #0f172a; + text-decoration: none; + background: transparent; + border: 0; + cursor: pointer; +} + +.dropdown-item:hover { + background: rgba(15, 23, 42, 0.06); +} + +.mobile-nav-item { + display: block; + padding: 12px 12px; + border-radius: 12px; + font-size: 15px; + font-weight: 600; + color: rgba(255, 255, 255, 0.92); + cursor: pointer; + text-decoration: none; +} + +.mobile-nav-item:hover { + background: rgba(255, 255, 255, 0.10); + color: #fff; +} + +.header-glass { + background: rgba(7, 18, 40, 0.55); + + backdrop-filter: blur(14px) saturate(140%); + -webkit-backdrop-filter: blur(14px) saturate(140%); + + background-image: + linear-gradient(to bottom, + rgba(255, 255, 255, 0.05), + rgba(255, 255, 255, 0.02)); + + border-bottom: 1px solid rgba(255, 255, 255, 0.08); + + box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25); +} + +.header-top { + background: #070f24; + backdrop-filter: none; + border-bottom: 1px solid transparent; + box-shadow: none; +} + +.border-color-c { + border: 2px solid #2D58A7; +} + +.border-color-c:hover { + background-color: white; + color: #2D58A7 +} diff --git a/src/app/shared/header/header.component.html b/src/app/shared/header/header.component.html index d21b87f9..8ff59e72 100644 --- a/src/app/shared/header/header.component.html +++ b/src/app/shared/header/header.component.html @@ -1,248 +1,290 @@ -
- + +@if (showCart) { +
+
+} diff --git a/src/app/shared/header/header.component.ts b/src/app/shared/header/header.component.ts index 3cbd9dac..2c16fbc6 100644 --- a/src/app/shared/header/header.component.ts +++ b/src/app/shared/header/header.component.ts @@ -1,131 +1,122 @@ -import {AfterViewInit, Component, ElementRef, OnInit, ViewChild, ChangeDetectorRef, HostListener, DoCheck, OnDestroy} from '@angular/core'; +import { AfterViewInit, ChangeDetectorRef, Component, DoCheck, ElementRef, HostListener, OnDestroy, OnInit, ViewChild } from '@angular/core'; +import { ActivatedRoute, Router } from '@angular/router'; import { - faCartShopping, - faHandHoldingBox, faAddressCard, + faAnglesLeft, faArrowRightFromBracket, faBoxesStacked, - faClipboardCheck, faBrain, - faAnglesLeft, - faUser, - faUsers, + faCartShopping, + faClipboardCheck, faCogs, + faHandHoldingBox, + faPieChart, faReceipt, faRuler, - faPieChart -} from "@fortawesome/sharp-solid-svg-icons"; -import {LocalStorageService} from "../../services/local-storage.service"; -import { ApiServiceService } from 'src/app/services/product-service.service'; -import { LoginServiceService } from 'src/app/services/login-service.service'; -import { Router } from '@angular/router'; -import {EventMessageService} from "../../services/event-message.service"; + faUser, + faUsers +} from '@fortawesome/sharp-solid-svg-icons'; +import { TranslateService } from '@ngx-translate/core'; +import { initFlowbite } from 'flowbite'; +import * as moment from 'moment'; +import { Subject, Subscription } from 'rxjs'; +import { takeUntil } from 'rxjs/operators'; import { environment } from 'src/environments/environment'; +import * as uuid from 'uuid'; + import { LoginInfo } from 'src/app/models/interfaces'; -import { Subscription, timer} from 'rxjs'; -import * as moment from 'moment'; -import { ActivatedRoute } from '@angular/router'; -import { initFlowbite, Dropdown } from 'flowbite'; +import { LoginServiceService } from 'src/app/services/login-service.service'; +import { ApiServiceService } from 'src/app/services/product-service.service'; import { QrVerifierService } from 'src/app/services/qr-verifier.service'; -import * as uuid from 'uuid'; -import { TranslateService } from '@ngx-translate/core'; -import {ShoppingCartServiceService} from "../../services/shopping-cart-service.service"; -import {ThemeService} from "../../services/theme.service"; -import {NavLink, ThemeAuthUrlsConfig, ThemeConfig, ThemeLinkConfig} from "../../themes"; -import {Subject} from "rxjs"; -import { takeUntil } from 'rxjs/operators'; +import { EventMessageService } from '../../services/event-message.service'; +import { LocalStorageService } from '../../services/local-storage.service'; +import { ShoppingCartServiceService } from '../../services/shopping-cart-service.service'; +import { ThemeService } from '../../services/theme.service'; +import { NavLink, ThemeAuthUrlsConfig, ThemeConfig } from '../../themes'; @Component({ selector: 'bae-header', templateUrl: './header.component.html', styleUrls: ['./header.component.css'] }) -export class HeaderComponent implements OnInit, AfterViewInit, DoCheck, OnDestroy{ - - @ViewChild('theme_toggle_dark_icon') themeToggleDarkIcon: ElementRef; - @ViewChild('theme_toggle_light_icon') themeToggleLightIcon: ElementRef; - @ViewChild('navbarbutton') navbarbutton: ElementRef; - - constructor(themeToggleDarkIcon: ElementRef, - themeToggleLightIcon: ElementRef, - private translate: TranslateService, - private localStorage: LocalStorageService, - private api: ApiServiceService, - private loginService: LoginServiceService, - private cdr: ChangeDetectorRef, - private route: ActivatedRoute, - private eventMessage: EventMessageService, - private router: Router, - private qrVerifier: QrVerifierService, - private themeService: ThemeService, - private sc: ShoppingCartServiceService) { - - this.themeToggleDarkIcon = themeToggleDarkIcon; - this.themeToggleLightIcon = themeToggleLightIcon; - } +export class HeaderComponent implements OnInit, AfterViewInit, DoCheck, OnDestroy { + @ViewChild('navbarbutton') navbarbutton?: ElementRef; + + constructor( + private translate: TranslateService, + private localStorage: LocalStorageService, + private api: ApiServiceService, + private loginService: LoginServiceService, + private cdr: ChangeDetectorRef, + private route: ActivatedRoute, + private eventMessage: EventMessageService, + private router: Router, + private qrVerifier: QrVerifierService, + private themeService: ThemeService, + private sc: ShoppingCartServiceService + ) { } + providerThemeName = environment.providerThemeName; quotesEnabled = environment.QUOTES_ENABLED; tenderEnabled = environment.TENDER_ENABLED; - qrWindow: Window | null = null; - statePair:string - catalogs: any[] | undefined = []; + + knowledge = environment.KNOWLEDGE_BASE_URL; + knowledge_onboarding = environment.KB_ONBOARDING_GUIDELINES_URL; + knowledge_guidelines = environment.KB_GUIDELNES_URL; + registration = environment.REGISTRATION_FORM_URL; + ticketing = environment.TICKETING_SYSTEM_URL; + analytics = environment.analytics; + domeAbout = environment.DOME_ABOUT_LINK; + domePublish = environment.DOME_PUBLISH_LINK; + + sellerRole = environment.SELLER_ROLE; + orgAdminRole = environment.ORG_ADMIN_ROLE; + certifierRole = environment.CERTIFIER_ROLE; + langs: any[] = []; - defaultLang:any; - showCart:boolean=false; - is_logged:boolean=false; - showLogin:boolean=false; - loggedAsOrg:boolean=false; - isAdmin:boolean; - loginInfo:any; - orgs:any[]=[]; - username:string=''; - email:string=''; - usercharacters:string=''; - loginSubscription: Subscription = new Subscription(); - roles:string[]=[]; - knowledge: string = environment.KNOWLEDGE_BASE_URL - knowledge_onboarding: string = environment.KB_ONBOARDING_GUIDELINES_URL - knowledge_guidelines: string = environment.KB_GUIDELNES_URL - registration: string = environment.REGISTRATION_FORM_URL - ticketing: string = environment.TICKETING_SYSTEM_URL - analytics: string = environment.analytics - domeAbout: string = environment.DOME_ABOUT_LINK - domePublish: string = environment.DOME_PUBLISH_LINK - public static BASE_URL: String = environment.BASE_URL; - isNavBarOpen:boolean = false; - flagDropdownOpen:boolean=false; - cartCount: number = 0; + defaultLang: any; + + showCart = false; + is_logged = false; + showLogin = false; + + loggedAsOrg = false; + isAdmin = false; + + loginInfo: any; + orgs: any[] = []; + + username = ''; + email = ''; + usercharacters = ''; + + roles: string[] = []; + + isNavBarOpen = false; + flagDropdownOpen = false; + + cartCount = 0; + scrolled = false; + + qrWindow: Window | null = null; + statePair = ''; currentTheme: ThemeConfig | null = null; + headerLinks: NavLink[] = []; + themeAuthUrls?: ThemeAuthUrlsConfig; + private themeSubscription: Subscription = new Subscription(); - public headerLinks: NavLink[] = []; - public themeAuthUrls: ThemeAuthUrlsConfig | undefined; private destroy$ = new Subject(); - sellerRole: string = environment.SELLER_ROLE; - orgAdminRole: string = environment.ORG_ADMIN_ROLE; - certifierRole: string = environment.CERTIFIER_ROLE; - - ngOnDestroy(): void { - this.qrWindow?.close() - this.qrWindow=null - if (this.themeSubscription) { - this.themeSubscription.unsubscribe(); - } - this.destroy$.next(); - this.destroy$.complete(); + @HostListener('window:scroll') + onScroll() { + this.scrolled = window.scrollY > 10; } - ngDoCheck(): void { - if(this.qrWindow!=null && this.qrWindow.closed){ - this.qrVerifier.stopChecking(this.qrWindow) - this.qrWindow=null - } - } @HostListener('document:click') onClick() { - if(this.showCart==true){ - this.showCart=false; + if (this.showCart) { + this.showCart = false; this.cdr.detectChanges(); } if (this.isNavBarOpen) { @@ -133,345 +124,292 @@ export class HeaderComponent implements OnInit, AfterViewInit, DoCheck, OnDestro } } - @HostListener('window:resize', ['$event']) - onResize(event: Event) { + @HostListener('window:resize') + onResize() { if (this.isNavBarOpen) { - this.navbarbutton.nativeElement.blur(); + this.navbarbutton?.nativeElement.blur(); this.isNavBarOpen = false; } } - async ngOnInit(){ - this.langs = this.translate.getLangs(); - - let currLang = this.localStorage.getItem('current_language') - if(!currLang || currLang == null) { - this.defaultLang = this.translate.getDefaultLang(); - } else { - this.defaultLang = currLang; + ngDoCheck(): void { + if (this.qrWindow && this.qrWindow.closed) { + this.qrVerifier.stopChecking(this.qrWindow); + this.qrWindow = null; } + } + + ngOnInit(): void { + this.langs = this.translate.getLangs(); + const currLang = this.localStorage.getItem('current_language'); + this.defaultLang = currLang ?? this.translate.getDefaultLang(); this.themeSubscription = this.themeService.currentTheme$.subscribe(theme => { this.currentTheme = theme; - this.headerLinks = theme?.links?.headerLinks || []; this.themeAuthUrls = theme?.authUrls; - if(theme?.links?.headerLinks){ - // Recorremos recursivamente todos los links y actualizamos URL si tiene environmentName - const updateLinks = (links: NavLink[]) => { - return links.map(link => { - const updatedLink = { ...link }; - - // Actualizamos url dinámicamente - if (link.environmentName) { - updatedLink.url = (environment as any)[link.environmentName] || ''; - } - - // Si tiene children, hacemos la misma operación recursivamente - if (link.children?.length) { - updatedLink.children = updateLinks(link.children); - } - - return updatedLink; - }); - }; - - this.headerLinks = updateLinks(theme.links.headerLinks); + const links = theme?.links?.headerLinks || []; + this.headerLinks = this.resolveLinksEnv(links); + if (theme?.links) { theme.links.headerLinks = this.headerLinks; } }); - - let aux = this.localStorage.getObject('login_items') as LoginInfo; - if(JSON.stringify(aux) != '{}' && (((aux.expire - moment().unix())-4) > 0)) { - this.loginInfo=aux; - this.is_logged=true; - this.orgs=aux.organizations; - for(let i=0; i < aux.roles.length; i++){ - if(aux.roles[i].name == environment.ADMIN_ROLE){ - this.isAdmin=true; - this.cdr.detectChanges(); - } - } - if(aux.logged_as == aux.id){ - this.username=aux.user; - this.usercharacters=(aux.user.slice(0, 2)).toUpperCase(); - this.email=aux.email; - for(let i=0;i element.id == aux.logged_as) - this.loggedAsOrg=true; - this.username=loggedOrg.name; - this.usercharacters=(loggedOrg.name.slice(0, 2)).toUpperCase(); - this.email=loggedOrg.description; - for(let i=0;i { - this.cartCount = cart.length; // Updates counter on icon + this.cartCount = cart.length; + this.cdr.detectChanges(); }); - this.eventMessage.messages$.subscribe(ev => { - if(ev.type === 'ToggleCartDrawer') { - this.showCart=false; + this.eventMessage.messages$.pipe(takeUntil(this.destroy$)).subscribe(ev => { + if (ev.type === 'ToggleCartDrawer') { + this.showCart = false; this.cdr.detectChanges(); } - }) - this.eventMessage.messages$.pipe(takeUntil(this.destroy$)).subscribe(ev => { - if(ev.type === 'LoginProcess') { - let aux = this.localStorage.getObject('login_items') as LoginInfo; - if(JSON.stringify(aux) != '{}' && (((aux.expire - moment().unix())-4) > 0)) { - this.loginInfo=aux; - this.is_logged=true; - this.cdr.detectChanges(); - this.orgs=aux.organizations; - for(let i=0; i < aux.roles.length; i++){ - if(aux.roles[i].name == environment.ADMIN_ROLE){ - this.isAdmin=true; - this.cdr.detectChanges(); - } - } - if(aux.logged_as == aux.id){ - this.username=aux.user; - this.usercharacters=(aux.user.slice(0, 2)).toUpperCase(); - this.email=aux.email; - for(let i=0;i element.id == aux.logged_as) - this.loggedAsOrg=true; - this.username=loggedOrg.name; - this.usercharacters=(loggedOrg.name.slice(0, 2)).toUpperCase(); - this.email=loggedOrg.description; - for(let i=0;i + arr.map(link => { + const out: NavLink = { ...link }; + if ((link as any).environmentName) { + out.url = (environment as any)[(link as any).environmentName] || ''; + } + if (link.children?.length) { + out.children = walk(link.children); + } + return out; + }); + + return walk(links); + } + + private hydrateLoginFromStorage() { + const aux = this.localStorage.getObject('login_items') as LoginInfo; + + if (JSON.stringify(aux) === '{}') { + this.resetLoginState(); + return; + } + + if (((aux.expire - moment().unix()) - 4) <= 0) { + this.resetLoginState(); + return; + } + + this.loginInfo = aux; + this.is_logged = true; + this.orgs = aux.organizations ?? []; + + this.isAdmin = (aux.roles ?? []).some(r => r.name === environment.ADMIN_ROLE); + + if (aux.logged_as === aux.id) { + this.loggedAsOrg = false; + this.username = aux.user; + this.usercharacters = (aux.user?.slice(0, 2) || '').toUpperCase(); + this.email = aux.email; + this.roles = (aux.roles ?? []).map(r => r.name); } else { - if (document.documentElement.classList.contains('dark')) { - document.documentElement.classList.remove('dark'); - localStorage.setItem('color-theme', 'light'); - document.body.removeAttribute('data-theme'); - } else { - document.documentElement.classList.add('dark'); - localStorage.setItem('color-theme', 'dark'); - document.body.setAttribute('data-theme', 'dark'); - } + const loggedOrg = this.orgs.find((o: any) => o.id === aux.logged_as); + this.loggedAsOrg = true; + this.username = loggedOrg?.name ?? ''; + this.usercharacters = (this.username.slice(0, 2) || '').toUpperCase(); + this.email = loggedOrg?.description ?? ''; + this.roles = (loggedOrg?.roles ?? []).map((r: any) => r.name); } + + this.cdr.detectChanges(); } - goToCatalogSearch(id:any) { + private resetLoginState() { + this.is_logged = false; + this.isAdmin = false; + this.loggedAsOrg = false; + this.loginInfo = null; + this.orgs = []; + this.roles = []; + this.username = ''; + this.email = ''; + this.usercharacters = ''; + this.cdr.detectChanges(); + } + + goToCatalogSearch(id: any) { this.router.navigate(['/search/catalogue', id]); } - goTo(path:string) { + goTo(path: string, id?: string) { this.closeUserDropdown(); + + if (id) { + this.closeDropdown('dropdown-marketplaceMenu'); + } + this.router.navigate([path]); } - toggleCartDrawer(){ - this.showCart=!this.showCart; + toggleCartDrawer() { + this.showCart = !this.showCart; this.cdr.detectChanges(); } - async toggleLogin(){ - this.showLogin=true; - //this.api.getLogin() - //await (window.location.href='http://localhost:8004/login'); + toggleNavBar() { + this.isNavBarOpen = !this.isNavBarOpen; + } - this.loginService.doLogin(); - this.cdr.detectChanges(); + switchLanguage(language: string) { + this.translate.use(language); + this.localStorage.setItem('current_language', language); + this.defaultLang = language; } - async logout(){ + async logout() { this.closeUserDropdown(); - this.localStorage.setObject('login_items',{}); - this.is_logged=false; - this.username=''; - this.email=''; - this.usercharacters=''; - if(this.router.url === '/dashboard'){ + this.localStorage.setObject('login_items', {}); + this.resetLoginState(); + + if (this.router.url === '/dashboard') { window.location.reload(); } else { this.router.navigate(['/dashboard']); } + await this.loginService.logout(); this.cdr.detectChanges(); } - changeSession(idx:number,exitOrgLogin:boolean){ + changeSession(idx: number, exitOrgLogin: boolean) { this.closeUserDropdown(); - let aux = this.localStorage.getObject('login_items') as LoginInfo; - if(exitOrgLogin){ - this.loginInfo = {"id": aux.id, - "user": aux.user, - "email": aux.email, - "token": aux.token, - "expire": aux.expire, - "partyId": aux.partyId, - "roles": aux.roles, - "organizations": aux.organizations, - "logged_as": aux.id}; - this.localStorage.setObject('login_items',this.loginInfo); - this.loggedAsOrg=false; - this.username=aux.user; - this.usercharacters=(this.loginInfo.user.slice(0, 2)).toUpperCase(); - this.email=aux.email; - this.roles=[]; - for(let i=0;iverified digital
services", + "desc": "Discover offerings validated against EU security and data-protection rules, guaranteeing trusted providers and full data sovereignty." }, - "c2": { - "title": "Transparent, guided service discovery", - "text": "Quickly identify suitable offerings through consistent documentation, clear pricing, trust indicators, and intuitive filtering and comparison tools." + "discovery": { + "title": "Transparent,
guided service
discovery", + "desc": "Quickly identify suitable offerings through consistent documentation, clear pricing, trust indicators, and intuitive filtering and comparison tools." }, - "c3": { - "title": "Powerful procurement tools", - "text": "Access built-in capabilities such as tendering, tailored-offer requests, and structured comparisons that make sourcing from multiple providers fast, clear, and efficient." + "procurement": { + "title": "Powerful
procurement
tools", + "desc": "Access built-in capabilities such as tendering, tailored-offer requests, and structured comparisons that make sourcing from multiple providers." }, - "c4": { - "title": "Unified access to a broad ecosystem", - "text": "Benefit from a growing network of European providers and federated marketplaces, giving you broader choice and easier access to specialised services." + "ecosystem": { + "title": "Unified access to
a broad
ecosystem", + "desc": "Benefit from a growing network of European providers and federated marketplaces, giving you broader choice and easier access to specialised services." } }, - "howTitle": "How DOME works", - "how": { - "s1Title": "Register as a customer", - "s1Text": "Create your customer profile", - "s2Title": "Search & compare", - "s2Text": "Find digital services according to your needs, use standardised documentation and trust badges to assess suitability", - "s3Title": "Connect & procure", - "s3Text": "Contact providers and procure directly, or use the DOME marketplace procurement tools in order to get the services that suit your needs" - }, - "startJourney": "Start your customer journey now" + "_steps": { + "register": { + "title": "Register as a customer", + "desc": "Create your customer profile." + }, + "search": { + "title": "Search & compare", + "desc": "Find services that fit your needs and assess sustainability with standardized documentation and trust badges." + }, + "connect": { + "title": "Connect & procure", + "desc": "Procure directly with providers or use DOME's tools to manage the process end-to-end." + } + } }, "providers": { - "title": "For Providers", - "whyTitle": "Why to use DOME", - "cards": { - "c1": { - "title": "Reach a pan-European market", - "text": "Expand your visibility across Europe and access new customer segments through a unified, trusted ecosystem." + "_title": "For providers", + "_howDomeWorks": "How DOME works", + "_cta": "Start now your provider journey", + "features": { + "market": { + "title": "Reach a pan-
European
market", + "desc": "Expand your visibility across Europe and access new customer segments through a unified, trusted ecosystem." }, - "c2": { - "title": "Strengthen trust with customers", - "text": "Showcase compliance, transparency, and service quality through DOME’s verified trust indicators and documentation standards." + "trust": { + "title": "Strengthen trust
with customers", + "desc": "Showcase compliance, transparency, and service quality through DOME’s verified trust indicators and documentation standards." }, - "c3": { - "title": "Leverage DOME’s provider tools", - "text": "Integrated tools for onboarding, service management, analytics, procurement and promotion to enhance your market presence and operational efficiency." + "tools": { + "title": "Leverage DOME's
provider tools", + "desc": "Integrated tools for onboarding, service management, analytics, procurement and promotion to enhance your market presence and operational efficiency." }, - "c4": { - "title": "Complement and extend portfolio", - "text": "Discover services and partners across the ecosystem to enrich your offering and unlock new business opportunities." + "portfolio": { + "title": "Complement and
extend portfolio", + "desc": "Discover services and partners across the ecosystem to enrich your offering and unlock new business opportunities." } }, - "howTitle": "How DOME works", - "how": { - "s1Title": "Onboard your organisation", - "s1Text": "Complete the onboarding process and receive your verifiable credentials", - "s2Title": "Describe & verify your services", - "s2Text": "Use DOME Marketplace templates to detail features, data handling and compliance", - "s3Title": "Publish & reach customers", - "s3Text": "Ready to go! Your services are available in the DOME catalogues!" - }, - "startJourney": "Start your provider journey now" + "steps": { + "onboard": { + "title": "Onboard your organisation", + "desc": "Complete the onboarding process and receive your provider credentials." + }, + "verify": { + "title": "Describe & verify your services", + "desc": "Use DOME Marketplace templates to document features, compliance and data handling." + }, + "publish": { + "title": "Publish & reach customers", + "desc": "Once approved, your services become available in the DOME catalogues." + } + } }, "roadmap": { "title": "Growing the DOME ecosystem", @@ -143,422 +122,296 @@ "title": "Ready to find out what DOME Marketplace can do for your business?", "discover": "Discover services", "publish": "Publish your service" - } -}, -"europeTrademark": "Distributed Open Marketplace for Europe (DOME) Project has received funding from European Union’s Digital Europe Programme under the Grant Agreement No 101084071.", - "DASHBOARD": { - "_title": "DOME Marketplace is out! See what's new", - "_header": "Digital Trust to move forward", - "_subheader": "Join the first open distributed marketplace ecosystem for cloud, edge & AI services in Europe.", - "_new": "New", - "_learn_more": "Learn more", - "_video": "Watch video", - "_categories": "All categories", - "_cloud": "Cloud Services", - "_edge": "Edge Services", - "_smart_ports": "Smart ports", - "_smart_cities": "Smart cities", - "_search_ph": "Search Cloud Services, Edge Services, Providers...", - "_search": "Search", - "_not_found": "No offers found", - "_browse_serv": "Browse services", - "_view_serv": "View services", - "_close_menu": "Close menu", - "_all_catalogs": "All catalogues", - "_categories_single": "Categories", - "_ai_search_ph": "Ask AI about products and services...", - "_ai_search": "AI Search", - "_ai_answer": "AI Answer", - "_ai_thinking": "AI is thinking...", - "_relevant_products": "relevant products", - "_prev": "Previous", - "_next": "Next" }, - "FEATURED": { - "_title": "Featured offerings", - "CARD1": { - "_badge": "Design", - "_title": "Start with Flowbite Design System", - "_description": "Static websites are now used to bootstrap lots of websites and are becoming the basis for a variety of tools that even influence both web designers and developers.", - "_more": "Read more" - }, - "CARD2": { - "_badge": "Code", - "_title": "Best react libraries around the web", - "_description": "Static websites are now used to bootstrap lots of websites and are becoming the basis for a variety of tools that even influence both web designers and developers.", - "_more": "Read more" - } - }, - "GALLERY": { - "_title": "Featured offerings", - "_explore": "Explore marketplace", - "_add_your_service": "Add your service", - "_no_products": "Sorry! There are no products available at this moment. Please check again later." + "marketplace": { + "title": "Explore verified services", + "subtitle": "Search across cloud, edge, AI, data and other digital services from trusted European providers.", + "searchPlaceholder": "Search by keyword, category or provider…", + "browseFullCatalog": "Browse full catalog →", + "viewService": "View service" }, - "PLATFORM": { - "_title": "Platform benefits", - "_subtitle": "Your Gateway to Europe's Premier Digital Ecosystem", - "_learn_more": "Learn more", - "OPEN": { - "_title": "Open", - "_desc": "Navigate with confidence through transparent practices in service provisioning, pricing and operations." - }, - "INTEROPERABLE": { - "_title": "Interoperable", - "_desc": "Unlock endless possibilities with our open ecosystem, designed for seamless collaboration and innovation." - }, - "TRUSTWORTHY": { - "_title": "Trustworthy", - "_desc": "Build on a foundation of trust with services vetted for security, reliability and compliance." - }, - "COMPLIANT": { - "_title": "Compliant", - "_desc": "Stay ahead of the curve with services that adhere strictly to EU regulations and standards, for legal compliance and data protection." + "ecosystem": { + "_title": "Growing the DOME Ecosystem", + "_subtitle": "DOME is at an early but active stage, expanding together with customers and providers.", + "_nowLabel": "Now", + "_nextLabel": "Next 6–12 Months", + "_beyondLabel": "Beyond", + "_milestones": { + "_live": { + "_title": "DOME IS LIVE", + "_desc": "Initial catalogue of verified providers and services, built-in procurement tools" }, - "SUSTAINABLE": { - "_title": "Sustainable", - "_desc": "Embrace sustainability with services that prioritize enery efficiency and environmental responsability." + "_tools": { + "_title": "MORE SERVICES, BETTER TOOLS", + "_desc": "Expanded catalogue, better tools, improved verification workflows" }, - "TRANSPARENT": { - "_title": "Transparent", - "_desc": "Navigate with confidence trough transparent practices in service provisioning, pricing and operations." + "_federation": { + "_title": "FEDERATION AT SCALE", + "_desc": "A connected network of marketplaces, providers and customers, driving cross-border transactions through trust, sovereignty and fair access" } + }, + "_ctaTitle": "Ready to find out what DOME Marketplace can do for your business?", + "_ctaCustomers": "For customers", + "_ctaProviders": "For providers" }, - "HOWITWORKS":{ - "_title": "How It Works", - "_subtitle": "Discover how DOME Marketplace connects you to Europe's finest cloud and edge services", - "CUSTOMERS":{ - "_title": "For customers", - "_subtitle": "Discover", - "_search_title": "Search and Explore", - "_search_desc": "Use our intuitive search to find the services that match your digital transformation needs.", - "_compare_title": "Compare and Decide", - "_compare_desc": "Evaluate services based on features, EU compliance and reviews to make informed choices.", - "_seamless_title": "Seamless Integration", - "_seamless_desc": "Follow our easy process to integrate and deploy your chosen services swiftly.", - "_join": "Join as customer", - "_explore": "Explore the catalogue", - "_contact": "Contact us", - "_description": "The marketplace is actually free to browse. Take a look at the catalogue contents, search for the services you need, verify the different offerings, get in touch with the service providers to better understand the proposal and acquire the desired service." - }, - "PROVIDERS": { - "_title": "For providers", - "_subtitle": "Connect and Grow", - "_register_title": "Register Your Service", - "_register_desc": "Sign up and submit your european service for validation, ensuring compliance and quality.", - "_verified_title": "Get verified", - "_verified_desc": "Our team will quickly verify your offerings to ensure they meet Distributed Open Marketplace standards.", - "_reach_title": "Reach Europe", - "_reach_desc": "Once verified, your services will be accessible to a wide European audience, ready to grow your business.", - "_join": "Join as provider", - "_onboard": "Onboard the marketplace", - "_contact": "Contact us", - "_description_start": "Qualify you company through the reference", - "_link": "Company Onboarding process", - "_description_end": "and then start describing your offerings through the Offering qualification process and star being visible on the market inside this trustable catalogue." - } + "hero": { + "_titleLine1Part1": "The Trusted", + "_titleLine1Accent": "European", + "_titleLine2": "Ecosystem for Cloud,", + "_titleLine3": "Edge & AI Services.", + "_subtitleLine1": "Connecting providers and customers to discover, deliver and scale sovereign digital", + "_subtitleLine2": "services across Europe.", + "_customerCta": "Start your customer journey", + "_providerCta": "Start your provider journey" }, - "EXPLORE": { - "_title": "Explore the Distributed Open Marketplace Project", - "_subtitle": "Whether you're seeking in-depth reports, latest updates or upcoming events, everything ou need to know is just a click away", - "_events_title": "Events and Webinars", - "_events_desc": "Join us at our next event or webinar to connect with fellow innovators, learn from industry leaders and discover new opportunities within the 'DOME' Project's ecosystem.", - "_updates_title": "Latest Updates and News", - "_updates_desc": "Stay informed with the latest developments, service enhancements and industry insights directly from the 'DOME' Project's website.", - "_resources_title": "Resources & Reports", - "_resources_desc": "Access our library of resources, detailed reports and case studies to gain a deep understanding of the cloud and edge market landscape and 'DOME' Project's impact.", - "_go": "DOME Project" + "stats": { + "title": "A secure federated marketplace", + "subtitle": "EU-based compliance & data sovereignty framework with a growing ecosystem of B2B partners.", + "services": "Verified services available across the ecosystem", + "providers": "Registered and verified providers" }, - "CARD": { - "_details": "View details", - "_quote": "Create quote", - "_add_cart": "Add to cart", - "_close": "Close modal", - "_categories": "Categories", - "_prod_details": "Product details", - "_comp_profile": "Compliance profile", - "_extra_info": "Extra information", - "_offer_version": "Offer version", - "_product_name": "Product name", - "_brand": "Brand", - "_last_update": "Last update", - "_product_version": "Product version", - "_id_number": "Identification number", - "_added_card": "Added to the cart", - "_undo": "Undo", - "_close_toast": "Close", - "_from": "From", - "_full_desc": "Full description", - "_price_plans": "Price plans", - "_select_price": "Select price plan", - "_chars": "Characteristics", - "_select_char": "Select characteristics", - "_terms": "Terms and conditions", - "_accept_terms": "I have read and I accept the terms and conditions.", - "_next": "Next", - "_back": "Back", - "_checkout": "Add to cart", - "_no_terms": "This product has no terms and conditions.", - "_no_chars": "This product has no characteristics.", - "_no_prices": "This product has no price plans.", - "_owner": "Owner", - "_price_plan": "Price Plan" + "_title": "DOME Marketplace is out! See what's new", + "_header": "Digital Trust to move forward", + "_subheader": "Join the first open distributed marketplace ecosystem for cloud, edge & AI services in Europe.", + "_new": "New", + "_learn_more": "Learn more", + "_video": "Watch video", + "_categories": "All categories", + "_cloud": "Cloud Services", + "_edge": "Edge Services", + "_smart_ports": "Smart ports", + "_smart_cities": "Smart cities", + "_search_ph": "Search Cloud Services, Edge Services, Providers...", + "_search": "Search", + "_not_found": "No offers found", + "_browse_serv": "Browse services", + "_view_serv": "View services", + "_close_menu": "Close menu", + "_all_catalogs": "All catalogues", + "_categories_single": "Categories" + }, + "FEATURED": { + "_title": "Featured offerings", + "CARD1": { + "_badge": "Design", + "_title": "Start with Flowbite Design System", + "_description": "Static websites are now used to bootstrap lots of websites and are becoming the basis for a variety of tools that even influence both web designers and developers.", + "_more": "Read more" }, - "CATEGORIES_FILTER": { - "_remove_badge": "Remove badge", - "_applied_filters": "Applied filters:" + "CARD2": { + "_badge": "Code", + "_title": "Best react libraries around the web", + "_description": "Static websites are now used to bootstrap lots of websites and are becoming the basis for a variety of tools that even influence both web designers and developers.", + "_more": "Read more" + } + }, + "GALLERY": { + "_title": "Featured offerings", + "_explore": "Explore marketplace", + "_add_your_service": "Add your service", + "_no_products": "Sorry! There are no products available at this moment. Please check again later." + }, + "PLATFORM": { + "_title": "Platform benefits", + "_subtitle": "Your Gateway to Europe's Premier Digital Ecosystem", + "_learn_more": "Learn more", + "OPEN": { + "_title": "Open", + "_desc": "Navigate with confidence through transparent practices in service provisioning, pricing and operations." }, - "CART_DRAWER": { - "_title": "Shopping Cart", - "_close": "Close menu", - "_empty": "Empty cart", - "_purchase": "Proceed to purchase", - "_subtotal": "Subtotal" + "INTEROPERABLE": { + "_title": "Interoperable", + "_desc": "Unlock endless possibilities with our open ecosystem, designed for seamless collaboration and innovation." }, - "FOOTER": { - "_about": "About", - "_privacy": "Privacy Policy", - "_cookies": "Cookies Policy", - "_licensing": "Terms of Use", - "_contact": "Contact", - "_rights": "All Rights Reserved" + "TRUSTWORTHY": { + "_title": "Trustworthy", + "_desc": "Build on a foundation of trust with services vetted for security, reliability and compliance." }, - "HEADER": { - "_marketplace": "DOME MARKETPLACE", - "_open_menu": "Open main menu", - "_home": "Home", - "_catalogs": "Providers catalogues", - "_search": "Search", - "_browse": "Browse", - "_cloud": "Cloud Services", - "_smart_ports": "Smart ports", - "_smart_cities": "Smart cities", - "_see_all": "See all", - "_services": "Services", - "_contact": "Contact", - "_profile": "Profile", - "_offerings": "My Offerings", - "_cart": "My shopping cart", - "_sign_out": "Sign out", - "_inventory": "My inventory", - "_support": "Support", - "_knowledge": "Knowledge Base", - "_ticketing": "Ticketing System", - "_change_session": "Change session", - "_admin": "Administration", - "_publish": "Publish your offerings", - "_register_here": "Register here", - "_register": "Register", - "_guidelines": "Guidelines to register", - "_guideline_publish": "Guideline to publish", - "_onboarding": "Onboarding", - "_registration": "Registration form", - "_about": "About", - "_verify": "Publish your offering", - "_info": "Info", - "_orders": "Product Orders", - "_blog": "Dome blog" + "COMPLIANT": { + "_title": "Compliant", + "_desc": "Stay ahead of the curve with services that adhere strictly to EU regulations and standards, for legal compliance and data protection." }, - "PRODUCT_DETAILS": { - "_back": "Back", - "_details": "Details", - "_information": "Information", - "_chars": "Characteristics", - "_attach": "Attachments", - "_agreements": "Agreements", - "_relationships": "Relationships", - "_no_chars": "No characteristics included", - "_no_attach": "No attachments included", - "_license": "License", - "_no_license": "No license included", - "_sla": "SLA", - "_no_sla": "No SLA included", - "_no_relatioships": "No relationships included", - "_service_spec": "This offering includes the following service specifications", - "_resource_spec": "This offering includes the following resource specifications", - "_self_attestation": "You can find the self attestation document here.", - "_product_pricing": "Product pricing", - "_product_chars": "Product characteristics", - "_product_att": "Product attachments", - "_product_rels": "Product relationships" + "SUSTAINABLE": { + "_title": "Sustainable", + "_desc": "Embrace sustainability with services that prioritize enery efficiency and environmental responsability." }, "CATALOGS": { - "_all_catalogs": "All catalogues", - "_no_desc": "No description included", - "_no_cat": "No categories included", - "_view_details": "View details", - "_desc": "Description", - "_choose": "Choose between our Catalogues" + "_all_catalogs": "All catalogues", + "_no_desc": "No description included", + "_no_cat": "No categories included", + "_view_details": "View details", + "_desc": "Description", + "_choose": "Choose between our Catalogues" }, "SHOPPING_CART": { - "_buy": "Buy", - "_back": "Back", - "_billingAddress": "Billing Address", - "_confirm": "Confirm and pay", - "_checkout": "Checkout", - "_note": "Add notes", - "_choose_bill": "Choose a billing address", - "_cart": "Cart", - "_email": "Email", - "_postalAddress": "Postal address", - "_phone": "Phone number", - "_billing_check": "You should first create at least a billing address in order to checkout an order.", - "_click_here": "Click here", - "_free": "Free", - "_free_desc": "The offering is free", - "_loading_purchase": "Loading purchase", - "_contact": "Contact", - "_update": "Update", - "_contact_person": "Contact Person", - "_order_note": "Order Note", - "_your_order": "Your Order", - "_subtotal": "Sub Total", - "_tax": "Tax", - "_calculated": "Calculated at checkout", - "_fee": "Service fee*" + "_buy": "Buy", + "_back": "Back", + "_billingAddress": "Billing Address", + "_confirm": "Confirm and pay", + "_checkout": "Checkout", + "_note": "Add notes", + "_choose_bill": "Choose a billing address", + "_cart": "Cart", + "_email": "Email", + "_postalAddress": "Postal address", + "_phone": "Phone number", + "_billing_check": "You should first create at least a billing address in order to checkout an order.", + "_click_here": "Click here", + "_free": "Free", + "_free_desc": "The offering is free", + "_loading_purchase": "Loading purchase", + "_contact": "Contact", + "_update": "Update", + "_contact_person": "Contact Person", + "_order_note": "Order Note", + "_your_order": "Your Order", + "_subtotal": "Sub Total", + "_tax": "Tax", + "_calculated": "Calculated at checkout", + "_fee": "Service fee*" }, - "PROFILE":{ - "_general": "General", - "_bill": "Billing addresses", - "_revenue": "Revenue sharing", - "_payment_dashboard": "Payment dashboard", - "_lear_link": "VC Issuer", - "_orders": "Orders", - "_order_list": "My order list", - "_update": "Update", - "_account": "Account", - "_username": "Username", - "_token": "Access token", - "_email": "Email", - "_profile": "Profile", - "_name": "Name", - "_lastname": "Lastname", - "_treatment": "Treatment", - "_marital_status": "Marital status", - "_gender": "Gender", - "_nacionality": "Nacionality", - "_birthdate": "Birthdate", - "_date": "Date", - "_country": "Country", - "_did": "DID", - "_city": "City", - "_mybills": "My billing addresses", - "_user_id": "User id", - "_no_orders": "No orders found", - "_organization": "Organization", - "_medium_type": "Medium type", - "_preferred": "Preferred", - "_no_mediums": "There's no contact medium information.", - "_contact_info": "Contact information", - "_info": "Info", - "_actions": "Actions", - "_add_new_contact": "Add a new contact medium", - "_postalAddress": "Postal address", - "_phone": "Phone number", - "_phone_type": "Phone Type", - "_action": "Actions", - "_state": "State / Province", - "_post_code": "ZIP / Postal Code", - "_street": "Street Address", - "_edit": "Edit contact medium", - "_delete": "Yes, delete", - "_confirm_delete": "Are you sure about deleting the following billing address?", - "_cancel": "No, cancel", - "_invalid_phone": "Phone number is invalid!", - "_invalid_email": "Email is invalid!", - "_save": "Save", - "_success": "Updated successfully", - "_website": "Website", - "_add_logo": "Add organization logo", - "_add_logo_url": "Add organization logo using a URL", - "_acknowledged": "Acknowledged", - "_in_progress": "In Progress", - "_partial": "Partial", - "_completed": "Completed", - "_failed": "Failed", - "_pending": "Pending", - "_cancelled": "Cancelled", - "_order_details": "Order details:", - "_billing_address": "Billing address", - "_price": "Price", - "_img": "Img", - "_custom": "Custom", - "_free": "Free" + "PROFILE": { + "_general": "General", + "_bill": "Billing addresses", + "_revenue": "Revenue sharing", + "_payment_dashboard": "Payment dashboard", + "_lear_link": "VC Issuer", + "_orders": "Orders", + "_order_list": "My order list", + "_update": "Update", + "_account": "Account", + "_username": "Username", + "_token": "Access token", + "_email": "Email", + "_profile": "Profile", + "_name": "Name", + "_lastname": "Lastname", + "_treatment": "Treatment", + "_marital_status": "Marital status", + "_gender": "Gender", + "_nacionality": "Nacionality", + "_birthdate": "Birthdate", + "_date": "Date", + "_country": "Country", + "_did": "DID", + "_city": "City", + "_mybills": "My billing addresses", + "_user_id": "User id", + "_no_orders": "No orders found", + "_organization": "Organization", + "_medium_type": "Medium type", + "_preferred": "Preferred", + "_no_mediums": "There's no contact medium information.", + "_contact_info": "Contact information", + "_info": "Info", + "_actions": "Actions", + "_add_new_contact": "Add a new contact medium", + "_postalAddress": "Postal address", + "_phone": "Phone number", + "_phone_type": "Phone Type", + "_action": "Actions", + "_state": "State / Province", + "_post_code": "ZIP / Postal Code", + "_street": "Street Address", + "_edit": "Edit contact medium", + "_delete": "Yes, delete", + "_confirm_delete": "Are you sure about deleting the following billing address?", + "_cancel": "No, cancel", + "_invalid_phone": "Phone number is invalid!", + "_invalid_email": "Email is invalid!", + "_save": "Save", + "_success": "Updated successfully", + "_website": "Website", + "_add_logo": "Add organization logo", + "_add_logo_url": "Add organization logo using a URL", + "_acknowledged": "Acknowledged", + "_in_progress": "In Progress", + "_partial": "Partial", + "_completed": "Completed", + "_failed": "Failed", + "_pending": "Pending", + "_cancelled": "Cancelled", + "_order_details": "Order details:", + "_billing_address": "Billing address", + "_price": "Price", + "_img": "Img", + "_custom": "Custom", + "_free": "Free" }, - "PRODUCT_INVENTORY":{ - "_loading": "Loading...", - "_products": "Products", - "_services": "Services", - "_resources": "Resources", - "_orders": "Orders", - "_not_found": "No products found.", - "_no_resources": "No resources found.", - "_no_services": "No services found.", - "_search_criteria": "Search criteria", - "_prod_details": "Product details", - "_description": "Description", - "_pricing": "Product pricing", - "_chars": "Product characteristics", - "_res_details": "Resource details", - "_res_chars": "Resource characteristics", - "_serv_details": "Service details", - "_serv_chars": "Service characteristics", - "_start_date": "Start operating date", - "_order_id": "Order Id", - "_state": "State", - "_status": "Status", - "_priority": "Priority", - "_desc": "Description", - "_price": "Price", - "_bill": "Billing address", - "_inventory": "Inventory", - "_feasibility": "Feasibility Checked", - "_designed": "Designed", - "_reserved": "Reserved", - "_inactive": "Inactive", - "_active": "Active", - "_terminated": "Terminated", - "_id": "Id", - "_standby": "Standby", - "_alarm": "Alarm", - "_available": "Available", - "_suspended": "Suspended", - "_unknown": "Unknown", - "_created": "Created", - "_unsubscribe": "Unsubscribe", - "_close_modal": "Close modal", - "_cancel_sub": "Are you sure you want to cancel this subscription?", - "_cancel": "No, cancel", - "_yes_sure": "Yes, I'm sure", - "_renew_sub": "Are you sure you want to renew this subscription?" + "PRODUCT_INVENTORY": { + "_loading": "Loading...", + "_products": "Products", + "_services": "Services", + "_resources": "Resources", + "_orders": "Orders", + "_not_found": "No products found.", + "_no_resources": "No resources found.", + "_no_services": "No services found.", + "_search_criteria": "Search criteria", + "_prod_details": "Product details", + "_description": "Description", + "_pricing": "Product pricing", + "_chars": "Product characteristics", + "_res_details": "Resource details", + "_res_chars": "Resource characteristics", + "_serv_details": "Service details", + "_serv_chars": "Service characteristics", + "_start_date": "Start operating date", + "_order_id": "Order Id", + "_state": "State", + "_status": "Status", + "_priority": "Priority", + "_desc": "Description", + "_price": "Price", + "_bill": "Billing address", + "_inventory": "Inventory", + "_feasibility": "Feasibility Checked", + "_designed": "Designed", + "_reserved": "Reserved", + "_inactive": "Inactive", + "_active": "Active", + "_terminated": "Terminated", + "_id": "Id", + "_standby": "Standby", + "_alarm": "Alarm", + "_available": "Available", + "_suspended": "Suspended", + "_unknown": "Unknown", + "_created": "Created", + "_unsubscribe": "Unsubscribe", + "_close_modal": "Close modal", + "_cancel_sub": "Are you sure you want to cancel this subscription?", + "_cancel": "No, cancel", + "_yes_sure": "Yes, I'm sure", + "_renew_sub": "Are you sure you want to renew this subscription?" }, "BILLING": { - "_title": "Title", - "_email": "Email", - "_postalAddress": "Postal address", - "_phone": "Phone number", - "_phone_type": "Phone Type", - "_action": "Actions", - "_country": "Country", - "_city": "City", - "_state": "State / Province", - "_post_code": "ZIP / Postal Code", - "_street": "Street Address", - "_add": "Add billing address", - "_edit": "Edit billing address", - "_update": "Update billing address", - "_delete": "Yes, delete", - "_confirm_delete": "Are you sure about deleting the following billing address?", - "_cancel": "No, cancel", - "_invalid_phone": "Phone number is invalid!", - "_invalid_email": "Email is invalid!", - "_no_billing": "There's no billing information.", - "_close_modal": "Close modal", - "_mandatory": "This field is mandatory.", - "_too_long": "This field is too long. Must be less than 250 characters.", - "_too_long_larger": "This field is too long. Must be less than 1000 characters.", - "_too_long_email": "Email is too long. Must be less than 320 characters.", - "_email_format": "Email must follow the following format: example@example.example" + "_title": "Title", + "_email": "Email", + "_postalAddress": "Postal address", + "_phone": "Phone number", + "_phone_type": "Phone Type", + "_action": "Actions", + "_country": "Country", + "_city": "City", + "_state": "State / Province", + "_post_code": "ZIP / Postal Code", + "_street": "Street Address", + "_add": "Add billing address", + "_edit": "Edit billing address", + "_update": "Update billing address", + "_delete": "Yes, delete", + "_confirm_delete": "Are you sure about deleting the following billing address?", + "_cancel": "No, cancel", + "_invalid_phone": "Phone number is invalid!", + "_invalid_email": "Email is invalid!", + "_no_billing": "There's no billing information.", + "_close_modal": "Close modal", + "_mandatory": "This field is mandatory.", + "_too_long": "This field is too long. Must be less than 250 characters.", + "_too_long_larger": "This field is too long. Must be less than 1000 characters.", + "_too_long_email": "Email is too long. Must be less than 320 characters.", + "_email_format": "Email must follow the following format: example@example.example" }, "INVOICES": { "_invoice_id": "Invoice ID", @@ -585,695 +438,1732 @@ "_period_coverage": "Period Coverage" }, "CREATE_CATALOG": { - "_back": "Back", - "_create": "Create catalogue", - "_status": "Status", - "_new": "New catalogue", - "_steps": "Steps", - "_general": "General", - "_general_info": "Catalogue's general information", - "_actions": "Actions", - "_type": "Type", - "_preview": "Preview", - "_show_preview": "Show preview", - "_name": "Name", - "_description": "Description", - "_next": "Next", - "_summary": "Catalogue's summary", - "_finish": "Finish" + "_back": "Back", + "_create": "Create catalogue", + "_status": "Status", + "_new": "New catalogue", + "_steps": "Steps", + "_general": "General", + "_general_info": "Catalogue's general information", + "_actions": "Actions", + "_type": "Type", + "_preview": "Preview", + "_show_preview": "Show preview", + "_name": "Name", + "_description": "Description", + "_next": "Next", + "_summary": "Catalogue's summary", + "_finish": "Finish" }, "UPDATE_CATALOG": { - "_back": "Back", - "_create": "Update catalogue", - "_status": "Status", - "_update": "Update catalogue", - "_steps": "Steps", - "_general": "General", - "_general_info": "Catalogue's general information", - "_actions": "Actions", - "_type": "Type", - "_preview": "Preview", - "_show_preview": "Show preview", - "_name": "Name", - "_description": "Description", - "_next": "Next", - "_summary": "Catalogue's summary", - "_finish": "Finish", - "_active": "Active", - "_launched": "Launched", - "_retired": "Retired", - "_obsolete": "Obsolete" + "_back": "Back", + "_create": "Update catalogue", + "_status": "Status", + "_update": "Update catalogue", + "_steps": "Steps", + "_general": "General", + "_general_info": "Catalogue's general information", + "_actions": "Actions", + "_type": "Type", + "_preview": "Preview", + "_show_preview": "Show preview", + "_name": "Name", + "_description": "Description", + "_next": "Next", + "_summary": "Catalogue's summary", + "_finish": "Finish", + "_active": "Active", + "_launched": "Launched", + "_retired": "Retired", + "_obsolete": "Obsolete" }, - "CREATE_PROD_SPEC":{ - "_back": "Back", - "_create": "Create product specification", - "_new": "New product", - "_steps": "Steps", - "_general": "General", - "_general_info": "Product's general information", - "_bundle": "Bundle", - "_bundle_info": "Product's blundle information", - "_comp_profile": "Compliance profile", - "_comp_profile_info": "Product's compliance profile", - "_no_comp_profile": "No compliance profile included.", - "_chars": "Characteristics", - "_chars_info": "Product's characteristics", - "_resource": "Resource Specs", - "_resource_info": "Product's resource specifications", - "_service": "Service Specs", - "_service_info": "Product's service specifications", - "_attachments": "Attachments", - "_attachments_info": "Product's attachments", - "_relationships": "Relationships", - "_relationships_info": "Product's relationships", - "_product_name": "Name", - "_product_version": "Version", - "_product_brand": "Brand", - "_id_number": "ID Number", - "_product_description": "Description", - "_preview": "Preview", - "_show_preview": "Show preview", - "_next": "Next", - "_is_bundled": "Bundled product?", - "_status": "Status", - "_type": "Type", - "_last_update": "Last update", - "_select": "Select", - "_simple": "Simple", - "_load_more": "Load more", - "_add_comp": "3rd party certifications", - "_value": "Value", - "_actions": "Actions", - "_no_chars": "No characteristics included.", - "_values": "Values", - "_new_char": "Create new characteristic", - "_add_values": "Add values", - "_unit": "Unit", - "_from": "From", - "_to": "To", - "_save_char": "Save characteristic", - "_json_value": "JSON Value", - "_add_json": "Add JSON Value", - "_make_optional": "Make this characteristic optional", - "_default_value": "Default value", - "_default_false": "Disabled by default", - "_default_true": "Enabled by default", - "_resource_specs": "Resource specifications", - "_service_specs": "Service specifications", - "_add_prod_img": "Add product image", - "_drop_files": "Drop one file to attatch or", - "_select_files": "select a file.", - "_add_prod_img_url": "Add product image using URL", - "_add_att": "Attachments", - "_no_att": "No attachments included.", - "_new_att": "Add new attachment", - "_save_att": "Save attachment", - "_no_relatioships": "No relationships included.", - "_relationship_type": "Relationship type", - "_add_relationship": "Add new relationship", - "_save_relationship": "Save relationship", - "_profile_pic": "Profile picture", - "_finish": "Finish", - "_summary": "Product's summary", - "_create_prod": "Create product", - "_file_res": "File restrictions", - "_restrictions": "File size must be under 3MB. File names can only include alphabetical characters (A-Z, a-z), numbers (0-9) and a limited set of symbols, such as underscores (_), hyphens (-), and periods (.). ", - "_file_name": "Image URL should end by png, jpg, jpeg, gif, bmp or webp format.", - "_file_check": "You need to upload a file before proceeding.", - "_self_attestation": "Self Attestation:", - "_close_modal": "Close modal", - "_cancel": "Cancel", - "_upload": "Upload" + "CREATE_PROD_SPEC": { + "_back": "Back", + "_create": "Create product specification", + "_new": "New product", + "_steps": "Steps", + "_general": "General", + "_general_info": "Product's general information", + "_bundle": "Bundle", + "_bundle_info": "Product's blundle information", + "_comp_profile": "Compliance profile", + "_comp_profile_info": "Product's compliance profile", + "_no_comp_profile": "No compliance profile included.", + "_chars": "Characteristics", + "_chars_info": "Product's characteristics", + "_resource": "Resource Specs", + "_resource_info": "Product's resource specifications", + "_service": "Service Specs", + "_service_info": "Product's service specifications", + "_attachments": "Attachments", + "_attachments_info": "Product's attachments", + "_relationships": "Relationships", + "_relationships_info": "Product's relationships", + "_product_name": "Name", + "_product_version": "Version", + "_product_brand": "Brand", + "_id_number": "ID Number", + "_product_description": "Description", + "_preview": "Preview", + "_show_preview": "Show preview", + "_next": "Next", + "_is_bundled": "Bundled product?", + "_status": "Status", + "_type": "Type", + "_last_update": "Last update", + "_select": "Select", + "_simple": "Simple", + "_load_more": "Load more", + "_add_comp": "3rd party certifications", + "_value": "Value", + "_actions": "Actions", + "_no_chars": "No characteristics included.", + "_values": "Values", + "_new_char": "Create new characteristic", + "_add_values": "Add values", + "_unit": "Unit", + "_from": "From", + "_to": "To", + "_save_char": "Save characteristic", + "_json_value": "JSON Value", + "_add_json": "Add JSON Value", + "_make_optional": "Make this characteristic optional", + "_default_value": "Default value", + "_default_false": "Disabled by default", + "_default_true": "Enabled by default", + "_resource_specs": "Resource specifications", + "_service_specs": "Service specifications", + "_add_prod_img": "Add product image", + "_drop_files": "Drop one file to attatch or", + "_select_files": "select a file.", + "_add_prod_img_url": "Add product image using URL", + "_add_att": "Attachments", + "_no_att": "No attachments included.", + "_new_att": "Add new attachment", + "_save_att": "Save attachment", + "_no_relatioships": "No relationships included.", + "_relationship_type": "Relationship type", + "_add_relationship": "Add new relationship", + "_save_relationship": "Save relationship", + "_profile_pic": "Profile picture", + "_finish": "Finish", + "_summary": "Product's summary", + "_create_prod": "Create product", + "_file_res": "File restrictions", + "_restrictions": "File size must be under 3MB. File names can only include alphabetical characters (A-Z, a-z), numbers (0-9) and a limited set of symbols, such as underscores (_), hyphens (-), and periods (.). ", + "_file_name": "Image URL should end by png, jpg, jpeg, gif, bmp or webp format.", + "_file_check": "You need to upload a file before proceeding.", + "_self_attestation": "Self Attestation:", + "_close_modal": "Close modal", + "_cancel": "Cancel", + "_upload": "Upload" }, - "UPDATE_PROD_SPEC":{ - "_back": "Back", - "_update": "Update product specification", - "_new": "Update product", - "_steps": "Steps", - "_general": "General", - "_general_info": "Product's general information", - "_bundle": "Bundle", - "_bundle_info": "Product's blundle information", - "_comp_profile": "Compliance profile", - "_comp_profile_info": "Product's compliance profile", - "_no_comp_profile": "No compliance profile included.", - "_chars": "Characteristics", - "_chars_info": "Product's characteristics", - "_resource": "Resource Specs", - "_resource_info": "Product's resource specifications", - "_service": "Service Specs", - "_service_info": "Product's service specifications", - "_attachments": "Attachments", - "_attachments_info": "Product's attachments", - "_relationships": "Relationships", - "_relationships_info": "Product's relationships", - "_product_name": "Name", - "_product_version": "Version", - "_product_brand": "Brand", - "_id_number": "ID Number", - "_product_description": "Description", - "_preview": "Preview", - "_show_preview": "Show preview", - "_next": "Next", - "_is_bundled": "Bundled product?", - "_status": "Status", - "_type": "Type", - "_last_update": "Last update", - "_select": "Select", - "_simple": "Simple", - "_load_more": "Load more", - "_add_comp": "3rd party certifications", - "_value": "Value", - "_actions": "Actions", - "_no_chars": "No characteristics included.", - "_values": "Values", - "_new_char": "Create new characteristic", - "_add_values": "Add values", - "_unit": "Unit", - "_from": "From", - "_to": "To", - "_save_char": "Save characteristic", - "_json_value": "JSON Value", - "_add_json": "Add JSON Value", - "_make_optional": "Make this characteristic optional", - "_default_value": "Default value", - "_default_false": "Disabled by default", - "_default_true": "Enabled by default", - "_resource_specs": "Resource specifications", - "_service_specs": "Service specifications", - "_add_prod_img": "Add product image", - "_drop_files": "Drop one file to attatch or", - "_select_files": "select a file.", - "_add_prod_img_url": "Add product image using URL", - "_add_att": "Attachments", - "_no_att": "No attachments included.", - "_new_att": "Add new attachment", - "_save_att": "Save attachment", - "_no_relatioships": "No relationships included.", - "_relationship_type": "Relationship type", - "_add_relationship": "Add new relationship", - "_save_relationship": "Save relationship", - "_profile_pic": "Profile picture", - "_finish": "Finish", - "_summary": "Product's summary", - "_update_prod": "Update product", - "_verify": "Verify Certificates", - "_how_to_verify": "How to get a valid VC of the certificate?", - "_verify_text": "To get a valid VC of the certificate you can access the ", - "_dome_trust": "DOME Trust Service Provider for Certification", - "_file_res": "File restrictions", - "_restrictions": "File size must be under 3MB. File names can only include characters (a-z), (A-Z), (0-9), and a limited set of symbols including underscores (_), hyphens (-), and periods (.). ", - "_file_name": "Image URL should end by png, jpg, jpeg, gif, bmp or webp format.", - "_active": "Active", - "_launched": "Launched", - "_retired": "Retired", - "_obsolete": "Obsolete", - "_self_attestation": "Self Attestation:", - "_close_modal": "Close modal", - "_cancel": "Cancel", - "_upload": "Upload" + "UPDATE_PROD_SPEC": { + "_back": "Back", + "_update": "Update product specification", + "_new": "Update product", + "_steps": "Steps", + "_general": "General", + "_general_info": "Product's general information", + "_bundle": "Bundle", + "_bundle_info": "Product's blundle information", + "_comp_profile": "Compliance profile", + "_comp_profile_info": "Product's compliance profile", + "_no_comp_profile": "No compliance profile included.", + "_chars": "Characteristics", + "_chars_info": "Product's characteristics", + "_resource": "Resource Specs", + "_resource_info": "Product's resource specifications", + "_service": "Service Specs", + "_service_info": "Product's service specifications", + "_attachments": "Attachments", + "_attachments_info": "Product's attachments", + "_relationships": "Relationships", + "_relationships_info": "Product's relationships", + "_product_name": "Name", + "_product_version": "Version", + "_product_brand": "Brand", + "_id_number": "ID Number", + "_product_description": "Description", + "_preview": "Preview", + "_show_preview": "Show preview", + "_next": "Next", + "_is_bundled": "Bundled product?", + "_status": "Status", + "_type": "Type", + "_last_update": "Last update", + "_select": "Select", + "_simple": "Simple", + "_load_more": "Load more", + "_add_comp": "3rd party certifications", + "_value": "Value", + "_actions": "Actions", + "_no_chars": "No characteristics included.", + "_values": "Values", + "_new_char": "Create new characteristic", + "_add_values": "Add values", + "_unit": "Unit", + "_from": "From", + "_to": "To", + "_save_char": "Save characteristic", + "_json_value": "JSON Value", + "_add_json": "Add JSON Value", + "_make_optional": "Make this characteristic optional", + "_default_value": "Default value", + "_default_false": "Disabled by default", + "_default_true": "Enabled by default", + "_resource_specs": "Resource specifications", + "_service_specs": "Service specifications", + "_add_prod_img": "Add product image", + "_drop_files": "Drop one file to attatch or", + "_select_files": "select a file.", + "_add_prod_img_url": "Add product image using URL", + "_add_att": "Attachments", + "_no_att": "No attachments included.", + "_new_att": "Add new attachment", + "_save_att": "Save attachment", + "_no_relatioships": "No relationships included.", + "_relationship_type": "Relationship type", + "_add_relationship": "Add new relationship", + "_save_relationship": "Save relationship", + "_profile_pic": "Profile picture", + "_finish": "Finish", + "_summary": "Product's summary", + "_update_prod": "Update product", + "_verify": "Verify Certificates", + "_how_to_verify": "How to get a valid VC of the certificate?", + "_verify_text": "To get a valid VC of the certificate you can access the ", + "_dome_trust": "DOME Trust Service Provider for Certification", + "_file_res": "File restrictions", + "_restrictions": "File size must be under 3MB. File names can only include characters (a-z), (A-Z), (0-9), and a limited set of symbols including underscores (_), hyphens (-), and periods (.). ", + "_file_name": "Image URL should end by png, jpg, jpeg, gif, bmp or webp format.", + "_active": "Active", + "_launched": "Launched", + "_retired": "Retired", + "_obsolete": "Obsolete", + "_self_attestation": "Self Attestation:", + "_close_modal": "Close modal", + "_cancel": "Cancel", + "_upload": "Upload" }, "CREATE_RES_SPEC": { - "_back": "Back", - "_create": "Create resource specification", - "_new": "New resource", - "_steps": "Steps", - "_general": "General", - "_general_info": "Resource's general information", - "_chars": "Characteristics", - "_chars_info": "Resource's characteristics", - "_value": "Value", - "_actions": "Actions", - "_no_chars": "No characteristics included.", - "_values": "Values", - "_new_char": "Create new characteristic", - "_add_values": "Add values", - "_unit": "Unit", - "_from": "From", - "_to": "To", - "_type": "Type", - "_save_char": "Save characteristic", - "_preview": "Preview", - "_show_preview": "Show preview", - "_name": "Name", - "_description": "Description", - "_next": "Next", - "_finish": "Finish", - "_create_res": "Create resource" + "_back": "Back", + "_create": "Create resource specification", + "_new": "New resource", + "_steps": "Steps", + "_general": "General", + "_general_info": "Resource's general information", + "_chars": "Characteristics", + "_chars_info": "Resource's characteristics", + "_value": "Value", + "_actions": "Actions", + "_no_chars": "No characteristics included.", + "_values": "Values", + "_new_char": "Create new characteristic", + "_add_values": "Add values", + "_unit": "Unit", + "_from": "From", + "_to": "To", + "_type": "Type", + "_save_char": "Save characteristic", + "_preview": "Preview", + "_show_preview": "Show preview", + "_name": "Name", + "_description": "Description", + "_next": "Next", + "_finish": "Finish", + "_create_res": "Create resource" }, "UPDATE_RES_SPEC": { - "_back": "Back", - "_status": "Status", - "_update": "Update resource specification", - "_new": "New resource", - "_steps": "Steps", - "_general": "General", - "_general_info": "Resource's general information", - "_chars": "Characteristics", - "_chars_info": "Resource's characteristics", - "_value": "Value", - "_actions": "Actions", - "_no_chars": "No characteristics included.", - "_values": "Values", - "_new_char": "Create new characteristic", - "_add_values": "Add values", - "_unit": "Unit", - "_from": "From", - "_to": "To", - "_type": "Type", - "_save_char": "Save characteristic", - "_preview": "Preview", - "_show_preview": "Show preview", - "_name": "Name", - "_description": "Description", - "_next": "Next", - "_finish": "Finish", - "_update_res": "Update resource" + "_back": "Back", + "_status": "Status", + "_update": "Update resource specification", + "_new": "New resource", + "_steps": "Steps", + "_general": "General", + "_general_info": "Resource's general information", + "_chars": "Characteristics", + "_chars_info": "Resource's characteristics", + "_value": "Value", + "_actions": "Actions", + "_no_chars": "No characteristics included.", + "_values": "Values", + "_new_char": "Create new characteristic", + "_add_values": "Add values", + "_unit": "Unit", + "_from": "From", + "_to": "To", + "_type": "Type", + "_save_char": "Save characteristic", + "_preview": "Preview", + "_show_preview": "Show preview", + "_name": "Name", + "_description": "Description", + "_next": "Next", + "_finish": "Finish", + "_update_res": "Update resource" }, "CREATE_SERV_SPEC": { - "_back": "Back", - "_create": "Create service specification", - "_new": "New service", - "_steps": "Steps", - "_general": "General", - "_general_info": "Service's general information", - "_chars": "Characteristics", - "_chars_info": "Service's characteristics", - "_value": "Value", - "_actions": "Actions", - "_no_chars": "No characteristics included.", - "_values": "Values", - "_new_char": "Create new characteristic", - "_add_values": "Add values", - "_unit": "Unit", - "_from": "From", - "_to": "To", - "_type": "Type", - "_save_char": "Save characteristic", - "_preview": "Preview", - "_show_preview": "Show preview", - "_name": "Name", - "_description": "Description", - "_next": "Next", - "_finish": "Finish", - "_create_serv": "Create service" + "_back": "Back", + "_create": "Create service specification", + "_new": "New service", + "_steps": "Steps", + "_general": "General", + "_general_info": "Service's general information", + "_chars": "Characteristics", + "_chars_info": "Service's characteristics", + "_value": "Value", + "_actions": "Actions", + "_no_chars": "No characteristics included.", + "_values": "Values", + "_new_char": "Create new characteristic", + "_add_values": "Add values", + "_unit": "Unit", + "_from": "From", + "_to": "To", + "_type": "Type", + "_save_char": "Save characteristic", + "_preview": "Preview", + "_show_preview": "Show preview", + "_name": "Name", + "_description": "Description", + "_next": "Next", + "_finish": "Finish", + "_create_serv": "Create service" }, "UPDATE_SERV_SPEC": { - "_back": "Back", - "_status": "Status", - "_update": "Update service specification", - "_new": "New service", - "_steps": "Steps", - "_general": "General", - "_general_info": "Service's general information", - "_chars": "Characteristics", - "_chars_info": "Service's characteristics", - "_value": "Value", - "_actions": "Actions", - "_no_chars": "No characteristics included.", - "_values": "Values", - "_new_char": "Create new characteristic", - "_add_values": "Add values", - "_unit": "Unit", - "_from": "From", - "_to": "To", - "_type": "Type", - "_save_char": "Save characteristic", - "_preview": "Preview", - "_show_preview": "Show preview", - "_name": "Name", - "_description": "Description", - "_next": "Next", - "_finish": "Finish", - "_update_serv": "Update service" + "_back": "Back", + "_status": "Status", + "_update": "Update service specification", + "_new": "New service", + "_steps": "Steps", + "_general": "General", + "_general_info": "Service's general information", + "_chars": "Characteristics", + "_chars_info": "Service's characteristics", + "_value": "Value", + "_actions": "Actions", + "_no_chars": "No characteristics included.", + "_values": "Values", + "_new_char": "Create new characteristic", + "_add_values": "Add values", + "_unit": "Unit", + "_from": "From", + "_to": "To", + "_type": "Type", + "_save_char": "Save characteristic", + "_preview": "Preview", + "_show_preview": "Show preview", + "_name": "Name", + "_description": "Description", + "_next": "Next", + "_finish": "Finish", + "_update_serv": "Update service" }, - "CREATE_OFFER":{ - "_back": "Back", - "_create": "Create product offer", - "_new": "New product offer", - "_steps": "Steps", - "_general": "General", - "_general_info": "Offer's general information", - "_bundle": "Bundle", - "_bundle_info": "Offer's bundle information", - "_prod_spec": "Product Spec", - "_prod_spec_info": "Offer's related product", - "_catalog": "Catalogue", - "_catalog_info": "Offer's related catalogue", - "_category": "Category", - "_category_info": "Category info", - "_license": "License", - "_license_info": "Offer's license", - "_sla": "SLA", - "_sla_info": "Offer's SLA", - "_price_plans": "Price plans", - "_price_plans_info": "Offer's pricing", - "_name": "Name", - "_description": "Description", - "_version": "Version", - "_preview": "Preview", - "_show_preview": "Show preview", - "_next": "Next", - "_is_bundled": "Bundled offer?", - "_status": "Status", - "_type": "Type", - "_last_update": "Last update", - "_select": "Select", - "_simple": "Simple", - "_load_more": "Load more", - "_add_comp": "3rd party certifications", - "_value": "Value", - "_actions": "Actions", - "_no_chars": "No characteristics included.", - "_values": "Values", - "_new_char": "Create new characteristic", - "_add_values": "Add values", - "_unit": "Unit", - "_from": "From", - "_to": "To", - "_save_char": "Save characteristic", - "_make_optional": "Make this characteristic optional", - "_resource_specs": "Resource specifications", - "_service_specs": "Service specifications", - "_add_prod_img": "Add product image", - "_drop_files": "Drop one file to attatch or", - "_select_files": "select a file.", - "_add_prod_img_url": "Add product image using URL", - "_add_att": "Attachments", - "_no_att": "No attachments included.", - "_new_att": "Add new attachment", - "_save_att": "Save attachment", - "_no_relatioships": "No relationships included.", - "_relationship_type": "Relationship type", - "_add_relationship": "Add new relationship", - "_save_relationship": "Save relationship", - "_profile_pic": "Profile picture", - "_finish": "Finish", - "_summary": "Product's summary", - "_create_prod": "Create product", - "_choose_license": "Choose a license", - "_standard_license": "Standard open data licenses", - "_treatment": "Treatment", - "_exclusivity": "Exclusivity", - "_sector": "Sector", - "_region": "Region", - "_timeframe": "Timeframe", - "_purpose": "Purpose", - "_transferability": "Transferability", - "_no_sla": "No SLA included", - "_threshold": "Threshold", - "_new_metric": "Define new metric", - "_add_metric": "Add metric", - "_no_prices": "No price plans included.", - "_is_free_price": "Is this offer open?", - "_new_price": "New price plan", - "_create_price": "Create price plan", - "_choose_type": "Choose a type", - "_enter_value": "Enter a value", - "_add_condition": "Add a condition", - "_choose_period": "Choose a pricing period", - "_price_alter": "Price alteration", - "_create_license": "Create license", - "_price": "Price", - "_save_price":"Save price", - "_duplicated_price_name": "Price name already exists.", - "_save_license": "Save license", - "_no_prod_spec": "Bundled offers can't include product specifications.", - "_cancel": "Cancel", - "_no_prods": "There's no product specifications.", - "_no_prods_to_proceed": "Please add at least one product specification to proceed to the next step", - "_no_cats": "There's no catalogues.", - "_no_categories": "There's no categories", - "_no_offer": "There's no offerings.", - "_previous": "Previous step", - "_next_step": "Next step", - "_no_subcats": "There's no subcategories" + "CREATE_OFFER": { + "_back": "Back", + "_create": "Create product offer", + "_new": "New product offer", + "_steps": "Steps", + "_general": "General", + "_general_info": "Offer's general information", + "_bundle": "Bundle", + "_bundle_info": "Offer's bundle information", + "_prod_spec": "Product Spec", + "_prod_spec_info": "Offer's related product", + "_catalog": "Catalogue", + "_catalog_info": "Offer's related catalogue", + "_category": "Category", + "_category_info": "Category info", + "_license": "License", + "_license_info": "Offer's license", + "_sla": "SLA", + "_sla_info": "Offer's SLA", + "_price_plans": "Price plans", + "_price_plans_info": "Offer's pricing", + "_name": "Name", + "_description": "Description", + "_version": "Version", + "_preview": "Preview", + "_show_preview": "Show preview", + "_next": "Next", + "_is_bundled": "Bundled offer?", + "_status": "Status", + "_type": "Type", + "_last_update": "Last update", + "_select": "Select", + "_simple": "Simple", + "_load_more": "Load more", + "_add_comp": "3rd party certifications", + "_value": "Value", + "_actions": "Actions", + "_no_chars": "No characteristics included.", + "_values": "Values", + "_new_char": "Create new characteristic", + "_add_values": "Add values", + "_unit": "Unit", + "_from": "From", + "_to": "To", + "_save_char": "Save characteristic", + "_make_optional": "Make this characteristic optional", + "_resource_specs": "Resource specifications", + "_service_specs": "Service specifications", + "_add_prod_img": "Add product image", + "_drop_files": "Drop one file to attatch or", + "_select_files": "select a file.", + "_add_prod_img_url": "Add product image using URL", + "_add_att": "Attachments", + "_no_att": "No attachments included.", + "_new_att": "Add new attachment", + "_save_att": "Save attachment", + "_no_relatioships": "No relationships included.", + "_relationship_type": "Relationship type", + "_add_relationship": "Add new relationship", + "_save_relationship": "Save relationship", + "_profile_pic": "Profile picture", + "_finish": "Finish", + "_summary": "Product's summary", + "_create_prod": "Create product", + "_choose_license": "Choose a license", + "_standard_license": "Standard open data licenses", + "_treatment": "Treatment", + "_exclusivity": "Exclusivity", + "_sector": "Sector", + "_region": "Region", + "_timeframe": "Timeframe", + "_purpose": "Purpose", + "_transferability": "Transferability", + "_no_sla": "No SLA included", + "_threshold": "Threshold", + "_new_metric": "Define new metric", + "_add_metric": "Add metric", + "_no_prices": "No price plans included.", + "_is_free_price": "Is this offer open?", + "_new_price": "New price plan", + "_create_price": "Create price plan", + "_choose_type": "Choose a type", + "_enter_value": "Enter a value", + "_add_condition": "Add a condition", + "_choose_period": "Choose a pricing period", + "_price_alter": "Price alteration", + "_create_license": "Create license", + "_price": "Price", + "_save_price": "Save price", + "_duplicated_price_name": "Price name already exists.", + "_save_license": "Save license", + "_no_prod_spec": "Bundled offers can't include product specifications.", + "_cancel": "Cancel", + "_no_prods": "There's no product specifications.", + "_no_prods_to_proceed": "Please add at least one product specification to proceed to the next step", + "_no_cats": "There's no catalogues.", + "_no_categories": "There's no categories", + "_no_offer": "There's no offerings.", + "_previous": "Previous step", + "_next_step": "Next step", + "_no_subcats": "There's no subcategories" }, - "UPDATE_OFFER":{ - "_back": "Back", - "_create": "Create product offer", - "_update": "Update product offer", - "_steps": "Steps", - "_general": "General", - "_general_info": "Offer's general information", - "_bundle": "Bundle", - "_bundle_info": "Offer's bundle information", - "_prod_spec": "Product Spec", - "_prod_spec_info": "Offer's related product", - "_catalog": "Catalogue", - "_catalog_info": "Offer's related catalogue", - "_category": "Category", - "_category_info": "Category info", - "_license": "License", - "_license_info": "Offer's license", - "_sla": "SLA", - "_sla_info": "Offer's SLA", - "_price_plans": "Price plans", - "_price_plans_info": "Offer's pricing", - "_name": "Name", - "_description": "Description", - "_version": "Version", - "_preview": "Preview", - "_show_preview": "Show preview", - "_next": "Next", - "_is_bundled": "Bundled offer?", - "_status": "Status", - "_type": "Type", - "_last_update": "Last update", - "_select": "Select", - "_simple": "Simple", - "_load_more": "Load more", - "_add_comp": "3rd party certifications", - "_value": "Value", - "_actions": "Actions", - "_no_chars": "No characteristics included.", - "_values": "Values", - "_new_char": "Create new characteristic", - "_add_values": "Add values", - "_unit": "Unit", - "_from": "From", - "_to": "To", - "_save_char": "Save characteristic", - "_make_optional": "Make this characteristic optional", - "_resource_specs": "Resource specifications", - "_service_specs": "Service specifications", - "_add_prod_img": "Add product image", - "_drop_files": "Drop one file to attatch or", - "_select_files": "select a file.", - "_add_prod_img_url": "Add product image using URL", - "_add_att": "Attachments", - "_no_att": "No attachments included.", - "_new_att": "Add new attachment", - "_save_att": "Save attachment", - "_no_relatioships": "No relationships included.", - "_relationship_type": "Relationship type", - "_add_relationship": "Add new relationship", - "_save_relationship": "Save relationship", - "_profile_pic": "Profile picture", - "_finish": "Update product", - "_summary": "Product's summary", - "_create_prod": "Create product", - "_choose_license": "Choose a license", - "_standard_license": "Standard open data licenses", - "_treatment": "Treatment", - "_exclusivity": "Exclusivity", - "_sector": "Sector", - "_region": "Region", - "_timeframe": "Timeframe", - "_purpose": "Purpose", - "_transferability": "Transferability", - "_no_sla": "No SLA included", - "_threshold": "Threshold", - "_new_metric": "Define new metric", - "_add_metric": "Add metric", - "_no_prices": "No price plans included.", - "_is_free_price": "Is this offer open?", - "_new_price": "New price plan", - "_create_price": "Create price plan", - "_choose_type": "Choose a type", - "_enter_value": "Enter a value", - "_add_condition": "Add a condition", - "_choose_period": "Choose a pricing period", - "_price_alter": "Price alteration", - "_create_license": "Create license", - "_price": "Price", - "_save_price":"Save price", - "_duplicated_price_name": "Price name already exists.", - "_save_license": "Save license", - "_no_prod_spec": "Bundled offers can't include product specifications.", - "_cancel": "Cancel", - "_no_prods": "There's no product specifications.", - "_no_prods_to_proceed": "Please add at least one product specification to proceed to the next step", - "_no_cats": "There's no catalogues.", - "_no_categories": "There's no categories", - "_no_offer": "There's no offerings." + "UPDATE_OFFER": { + "_back": "Back", + "_create": "Create product offer", + "_update": "Update product offer", + "_steps": "Steps", + "_general": "General", + "_general_info": "Offer's general information", + "_bundle": "Bundle", + "_bundle_info": "Offer's bundle information", + "_prod_spec": "Product Spec", + "_prod_spec_info": "Offer's related product", + "_catalog": "Catalogue", + "_catalog_info": "Offer's related catalogue", + "_category": "Category", + "_category_info": "Category info", + "_license": "License", + "_license_info": "Offer's license", + "_sla": "SLA", + "_sla_info": "Offer's SLA", + "_price_plans": "Price plans", + "_price_plans_info": "Offer's pricing", + "_name": "Name", + "_description": "Description", + "_version": "Version", + "_preview": "Preview", + "_show_preview": "Show preview", + "_next": "Next", + "_is_bundled": "Bundled offer?", + "_status": "Status", + "_type": "Type", + "_last_update": "Last update", + "_select": "Select", + "_simple": "Simple", + "_load_more": "Load more", + "_add_comp": "3rd party certifications", + "_value": "Value", + "_actions": "Actions", + "_no_chars": "No characteristics included.", + "_values": "Values", + "_new_char": "Create new characteristic", + "_add_values": "Add values", + "_unit": "Unit", + "_from": "From", + "_to": "To", + "_save_char": "Save characteristic", + "_make_optional": "Make this characteristic optional", + "_resource_specs": "Resource specifications", + "_service_specs": "Service specifications", + "_add_prod_img": "Add product image", + "_drop_files": "Drop one file to attatch or", + "_select_files": "select a file.", + "_add_prod_img_url": "Add product image using URL", + "_add_att": "Attachments", + "_no_att": "No attachments included.", + "_new_att": "Add new attachment", + "_save_att": "Save attachment", + "_no_relatioships": "No relationships included.", + "_relationship_type": "Relationship type", + "_add_relationship": "Add new relationship", + "_save_relationship": "Save relationship", + "_profile_pic": "Profile picture", + "_finish": "Update product", + "_summary": "Product's summary", + "_create_prod": "Create product", + "_choose_license": "Choose a license", + "_standard_license": "Standard open data licenses", + "_treatment": "Treatment", + "_exclusivity": "Exclusivity", + "_sector": "Sector", + "_region": "Region", + "_timeframe": "Timeframe", + "_purpose": "Purpose", + "_transferability": "Transferability", + "_no_sla": "No SLA included", + "_threshold": "Threshold", + "_new_metric": "Define new metric", + "_add_metric": "Add metric", + "_no_prices": "No price plans included.", + "_is_free_price": "Is this offer open?", + "_new_price": "New price plan", + "_create_price": "Create price plan", + "_choose_type": "Choose a type", + "_enter_value": "Enter a value", + "_add_condition": "Add a condition", + "_choose_period": "Choose a pricing period", + "_price_alter": "Price alteration", + "_create_license": "Create license", + "_price": "Price", + "_save_price": "Save price", + "_duplicated_price_name": "Price name already exists.", + "_save_license": "Save license", + "_no_prod_spec": "Bundled offers can't include product specifications.", + "_cancel": "Cancel", + "_no_prods": "There's no product specifications.", + "_no_prods_to_proceed": "Please add at least one product specification to proceed to the next step", + "_no_cats": "There's no catalogues.", + "_no_categories": "There's no categories", + "_no_offer": "There's no offerings." }, "OFFERINGS": { - "_catalogs": "Catalogues", - "_offers": "Offer", - "_no_offer": "No offerings included.", - "_no_offerings": "There's no product offerings.", - "_no_prod": "There's no product specifications.", - "_no_prod_rel": "There's no product specifications, so you can't create relationships.", - "_no_cat": "There's no catalogues.", - "_no_categories": "There's no categories.", - "_no_res": "There's no resource specifications", - "_no_serv": "There's no service specifications", - "_prod_spec": "Product Specifications", - "_serv_spec": "Service Specifications", - "_res_spec": "Resource Specifications", - "_search": "Search", - "_add_new_serv": "Add new service", - "_filter_state": "Filter by status", - "_state": "State", - "_order_by": "Order by...", - "_last_update": "Last update", - "_name": "Name", - "_active": "Active", - "_launched": "Launched", - "_retired": "Retired", - "_obsolete": "Obsolete", - "_status": "Status", - "_actions": "Actions", - "_load_more": "Load more", - "_add_new_res": "Add new resource", - "_add_new_prod": "Add new product specification", - "_add_new_prod_short": "Add new product spec", - "_filter_type": "Filter by type", - "_all": "All", - "_simple": "Simple", - "_bundle": "Bundle", - "_type": "Type", - "_prod_offer": "Product offer", - "_add_new_offer": "Add new product offer", - "_add_new_catalog": "Add new catalogue", - "_filter_role": "Filter by role", - "_seller": "Seller", - "_owner": "Owner", - "_customer": "Customer", - "_role": "Role", - "_choose": "Choose between our Catalogues", - "_offerings": "Offerings", - "_my_offerings": "My offerings" + "_catalogs": "Catalogues", + "_offers": "Offer", + "_no_offer": "No offerings included.", + "_no_offerings": "There's no product offerings.", + "_no_prod": "There's no product specifications.", + "_no_prod_rel": "There's no product specifications, so you can't create relationships.", + "_no_cat": "There's no catalogues.", + "_no_categories": "There's no categories.", + "_no_res": "There's no resource specifications", + "_no_serv": "There's no service specifications", + "_prod_spec": "Product Specifications", + "_serv_spec": "Service Specifications", + "_res_spec": "Resource Specifications", + "_search": "Search", + "_add_new_serv": "Add new service", + "_filter_state": "Filter by status", + "_state": "State", + "_order_by": "Order by...", + "_last_update": "Last update", + "_name": "Name", + "_active": "Active", + "_launched": "Launched", + "_retired": "Retired", + "_obsolete": "Obsolete", + "_status": "Status", + "_actions": "Actions", + "_load_more": "Load more", + "_add_new_res": "Add new resource", + "_add_new_prod": "Add new product specification", + "_add_new_prod_short": "Add new product spec", + "_filter_type": "Filter by type", + "_all": "All", + "_simple": "Simple", + "_bundle": "Bundle", + "_type": "Type", + "_prod_offer": "Product offer", + "_add_new_offer": "Add new product offer", + "_add_new_catalog": "Add new catalogue", + "_filter_role": "Filter by role", + "_seller": "Seller", + "_owner": "Owner", + "_customer": "Customer", + "_role": "Role", + "_choose": "Choose between our Catalogues", + "_offerings": "Offerings", + "_my_offerings": "My offerings" }, - "ADMIN":{ - "_admin": "Administration", - "_filter_state": "Filter by status", - "_state": "State", - "_order_by": "Order by...", - "_last_update": "Last update", - "_name": "Name", - "_active": "Active", - "_launched": "Launched", - "_retired": "Retired", - "_obsolete": "Obsolete", - "_status": "Status", - "_actions": "Actions", - "_load_more": "Load more", - "_categories": "Categories", - "_verification": "Verification", - "_productId": "Product ID", - "_vc": "Verifiable Credential", - "_add": "Add", - "_revenue": "Revenue sharing", - "_email": "Email", - "_smtpServer": "SMTP Server", - "_smtpPort": "SMTP Port", - "_emailUser": "Email User", - "_emailPass": "Email Password" + "ADMIN": { + "_admin": "Administration", + "_filter_state": "Filter by status", + "_state": "State", + "_order_by": "Order by...", + "_last_update": "Last update", + "_name": "Name", + "_active": "Active", + "_launched": "Launched", + "_retired": "Retired", + "_obsolete": "Obsolete", + "_status": "Status", + "_actions": "Actions", + "_load_more": "Load more", + "_categories": "Categories", + "_verification": "Verification", + "_productId": "Product ID", + "_vc": "Verifiable Credential", + "_add": "Add", + "_revenue": "Revenue sharing", + "_email": "Email", + "_smtpServer": "SMTP Server", + "_smtpPort": "SMTP Port", + "_emailUser": "Email User", + "_emailPass": "Email Password" }, - "CATEGORIES":{ - "_categories": "Categories", - "_add_new_cat": "Add new category", - "_no_cat": "No categories included" + "CATEGORIES": { + "_categories": "Categories", + "_add_new_cat": "Add new category", + "_no_cat": "No categories included" }, - "CREATE_CATEGORIES":{ - "_categories": "Categories", - "_add_new_cat": "Add new category", - "_no_cat": "No categories included", - "_back": "Back", - "_create": "Create category", - "_new": "New category", - "_steps": "Steps", - "_general": "General", - "_general_info": "Category's general information", - "_finish": "Create category", - "_summary": "Category's summary", - "_name": "Name", - "_description": "Description", - "_preview": "Preview", - "_show_preview": "Show preview", - "_status": "Status", - "_next": "Next", - "_choose_parent": "Choose a parent category", - "_parent": "Parent category" + "CREATE_CATEGORIES": { + "_categories": "Categories", + "_add_new_cat": "Add new category", + "_no_cat": "No categories included", + "_back": "Back", + "_create": "Create category", + "_new": "New category", + "_steps": "Steps", + "_general": "General", + "_general_info": "Category's general information", + "_finish": "Create category", + "_summary": "Category's summary", + "_name": "Name", + "_description": "Description", + "_preview": "Preview", + "_show_preview": "Show preview", + "_status": "Status", + "_next": "Next", + "_choose_parent": "Choose a parent category", + "_parent": "Parent category" }, - "UPDATE_CATEGORIES":{ - "_categories": "Categories", - "_add_new_cat": "Add new category", - "_no_cat": "No categories included", - "_back": "Back", - "_update": "Update category", - "_new": "New category", - "_steps": "Steps", - "_general": "General", - "_general_info": "Category's general information", - "_finish": "Update category", - "_summary": "Category's summary", - "_name": "Name", - "_description": "Description", - "_preview": "Preview", - "_show_preview": "Show preview", - "_status": "Status", - "_next": "Next", - "_choose_parent": "Choose a parent category", - "_parent": "Parent category" + "UPDATE_CATEGORIES": { + "_categories": "Categories", + "_add_new_cat": "Add new category", + "_no_cat": "No categories included", + "_back": "Back", + "_update": "Update category", + "_new": "New category", + "_steps": "Steps", + "_general": "General", + "_general_info": "Category's general information", + "_finish": "Update category", + "_summary": "Category's summary", + "_name": "Name", + "_description": "Description", + "_preview": "Preview", + "_show_preview": "Show preview", + "_status": "Status", + "_next": "Next", + "_choose_parent": "Choose a parent category", + "_parent": "Parent category" }, "ORGANIZATION": { - "_details": "Organization details", - "_description": "Description" + "_details": "Organization details", + "_description": "Description" }, "PRODUCT_ORDERS": { - "_orders": "Product Orders", - "_invoices": "Invoices", - "_no_orders": "No orders found.", - "_search_criteria": "Search criteria", - "_order_id": "Order Id", - "_status": "Choose a status", - "_priority": "Priority", - "_desc": "Description", - "_price": "Price", - "_bill": "Billing address", - "_filter_state": "Filter by status", - "_acknowledged": "Acknowledged", - "_in_progress": "In Progress", - "_partial": "Partial", - "_completed": "Completed", - "_failed": "Failed", - "_pending": "Pending", - "_cancelled": "Cancelled", - "_unchecked": "Unchecked", - "_as_customer": "As Customer", - "_as_provider": "As Provider", - "_date": "Date", - "_actions": "Actions", - "_order_details": "Order details:", - "_customer_info": "Customer Info:", - "_name": "Name", - "_billing_address": "Billing address", - "_email": "Contact Email", - "_show_customer_details": "Show Customer Details", - "_img": "Img", - "_price_plan": "Price Plan", - "_state": "State" + "_orders": "Product Orders", + "_invoices": "Invoices", + "_no_orders": "No orders found.", + "_search_criteria": "Search criteria", + "_order_id": "Order Id", + "_status": "Choose a status", + "_priority": "Priority", + "_desc": "Description", + "_price": "Price", + "_bill": "Billing address", + "_filter_state": "Filter by status", + "_acknowledged": "Acknowledged", + "_in_progress": "In Progress", + "_partial": "Partial", + "_completed": "Completed", + "_failed": "Failed", + "_pending": "Pending", + "_cancelled": "Cancelled", + "_unchecked": "Unchecked", + "_as_customer": "As Customer", + "_as_provider": "As Provider", + "_date": "Date", + "_actions": "Actions", + "_order_details": "Order details:", + "_customer_info": "Customer Info:", + "_name": "Name", + "_billing_address": "Billing address", + "_email": "Contact Email", + "_show_customer_details": "Show Customer Details", + "_img": "Img", + "_price_plan": "Price Plan", + "_state": "State" }, + "PROVIDERS": { + "_title": "For providers", + "_subtitle": "Connect and Grow", + "_register_title": "Register Your Service", + "_register_desc": "Sign up and submit your european service for validation, ensuring compliance and quality.", + "_verified_title": "Get verified", + "_verified_desc": "Our team will quickly verify your offerings to ensure they meet Distributed Open Marketplace standards.", + "_reach_title": "Reach Europe", + "_reach_desc": "Once verified, your services will be accessible to a wide European audience, ready to grow your business.", + "_join": "Join as provider", + "_onboard": "Onboard the marketplace", + "_contact": "Contact us", + "_description_start": "Qualify you company through the reference", + "_link": "Company Onboarding process", + "_description_end": "and then start describing your offerings through the Offering qualification process and star being visible on the market inside this trustable catalogue." + } + }, + "EXPLORE": { + "_title": "Explore the Distributed Open Marketplace Project", + "_subtitle": "Whether you're seeking in-depth reports, latest updates or upcoming events, everything ou need to know is just a click away", + "_events_title": "Events and Webinars", + "_events_desc": "Join us at our next event or webinar to connect with fellow innovators, learn from industry leaders and discover new opportunities within the 'DOME' Project's ecosystem.", + "_updates_title": "Latest Updates and News", + "_updates_desc": "Stay informed with the latest developments, service enhancements and industry insights directly from the 'DOME' Project's website.", + "_resources_title": "Resources & Reports", + "_resources_desc": "Access our library of resources, detailed reports and case studies to gain a deep understanding of the cloud and edge market landscape and 'DOME' Project's impact.", + "_go": "DOME Project" + }, + "CARD": { + "_details": "View details", + "_quote": "Create quote", + "_add_cart": "Add to cart", + "_close": "Close modal", + "_categories": "Categories", + "_prod_details": "Product details", + "_comp_profile": "Compliance profile", + "_extra_info": "Extra information", + "_offer_version": "Offer version", + "_product_name": "Product name", + "_brand": "Brand", + "_last_update": "Last update", + "_product_version": "Product version", + "_id_number": "Identification number", + "_added_card": "Added to the cart", + "_undo": "Undo", + "_close_toast": "Close", + "_from": "From", + "_full_desc": "Full description", + "_price_plans": "Price plans", + "_select_price": "Select price plan", + "_chars": "Characteristics", + "_select_char": "Select characteristics", + "_terms": "Terms and conditions", + "_accept_terms": "I have read and I accept the terms and conditions.", + "_next": "Next", + "_back": "Back", + "_checkout": "Add to cart", + "_no_terms": "This product has no terms and conditions.", + "_no_chars": "This product has no characteristics.", + "_no_prices": "This product has no price plans.", + "_owner": "Owner", + "_price_plan": "Price Plan" + }, + "CATEGORIES_FILTER": { + "_remove_badge": "Remove badge", + "_applied_filters": "Applied filters:" + }, + "CART_DRAWER": { + "_title": "Shopping Cart", + "_close": "Close menu", + "_empty": "Empty cart", + "_purchase": "Proceed to purchase", + "_subtotal": "Subtotal" + }, + "FOOTER": { + "_privacy": "Privacy Policy", + "_cookies": "Cookies Policy", + "_licensing": "Terms of Use", + "_contact": "Contact", + "_rights": "All Rights Reserved", + "aboutTitle": "About DOME", + "domeProject": "The DOME project", + "contactUs": "Contact us", + "marketplaceTitle": "Marketplace", + "browse": "Browse", + "legalTitle": "Legal", + "resourcesTitle": "Resources", + "documentation": "Documentation", + "support": "Support", + "faqs": "FAQs", + "follow-us": "Follow us", + "forCustomers": "For Customers", + "forProviders": "For Providers" + }, + "HEADER": { + "contactUs": "Contact us", + "_browse_serv": "Browse services", + "_marketplace": "DOME MARKETPLACE", + "_open_menu": "Open main menu", + "_home": "Home", + "_catalogs": "Providers catalog", + "_search": "Search", + "_browse": "Browse", + "_cloud": "Cloud Services", + "_smart_ports": "Smart ports", + "_smart_cities": "Smart cities", + "_see_all": "See all", + "_services": "Services", + "_contact": "Contact", + "_profile": "Profile", + "_offerings": "My Offerings", + "_cart": "My shopping cart", + "_sign_out": "Sign out", + "_inventory": "My inventory", + "_support": "Support", + "_knowledge": "Knowledge Base", + "_ticketing": "Ticketing System", + "_change_session": "Change session", + "_admin": "Administration", + "_publish": "Publish your offerings", + "_register_here": "Register here", + "_register": "Register", + "_guidelines": "Guidelines to register", + "_guideline_publish": "Guideline to publish", + "_onboarding": "Onboarding", + "_registration": "Registration form", + "_about": "About", + "_verify": "Publish your offering", + "_info": "Info", + "_orders": "Product Orders", + "_blog": "Blog", + "_forCustomers": "For Customers", + "_forProviders": "For Providers", + "_marketplaceH": "Marketplace", + "_resources": "Resources" + }, + "PRODUCT_DETAILS": { + "_back": "Back", + "_details": "Details", + "_information": "Information", + "_chars": "Characteristics", + "_attach": "Attachments", + "_agreements": "Agreements", + "_relationships": "Relationships", + "_no_chars": "No characteristics included", + "_no_attach": "No attachments included", + "_license": "License", + "_no_license": "No license included", + "_sla": "SLA", + "_no_sla": "No SLA included", + "_no_relatioships": "No relationships included", + "_service_spec": "This offering includes the following service specifications", + "_resource_spec": "This offering includes the following resource specifications", + "_self_attestation": "You can find the self attestation document here.", + "_product_pricing": "Product pricing", + "_product_chars": "Product characteristics", + "_product_att": "Product attachments", + "_product_rels": "Product relationships" + }, + "CATALOGS": { + "_all_catalogs": "All catalogues", + "_no_desc": "No description included", + "_no_cat": "No categories included", + "_view_details": "View details", + "_desc": "Description", + "_choose": "Choose between our Catalogues" + }, + "SHOPPING_CART": { + "_buy": "Buy", + "_back": "Back", + "_billingAddress": "Billing Address", + "_confirm": "Confirm and pay", + "_checkout": "Checkout", + "_note": "Add notes", + "_choose_bill": "Choose a billing address", + "_cart": "Cart", + "_email": "Email", + "_postalAddress": "Postal address", + "_phone": "Phone number", + "_billing_check": "You should first create at least a billing address in order to checkout an order.", + "_click_here": "Click here", + "_free": "Free", + "_free_desc": "The offering is free", + "_loading_purchase": "Loading purchase", + "_contact": "Contact", + "_update": "Update", + "_contact_person": "Contact Person", + "_order_note": "Order Note", + "_your_order": "Your Order", + "_subtotal": "Sub Total", + "_tax": "Tax", + "_calculated": "Calculated at checkout", + "_fee": "Service fee*" + }, + "PROFILE": { + "_general": "General", + "_bill": "Billing addresses", + "_revenue": "Revenue sharing", + "_payment_dashboard": "Payment dashboard", + "_orders": "Orders", + "_order_list": "My order list", + "_update": "Update", + "_account": "Account", + "_username": "Username", + "_token": "Access token", + "_email": "Email", + "_profile": "Profile", + "_name": "Name", + "_lastname": "Lastname", + "_treatment": "Treatment", + "_marital_status": "Marital status", + "_gender": "Gender", + "_nacionality": "Nacionality", + "_birthdate": "Birthdate", + "_date": "Date", + "_country": "Country", + "_city": "City", + "_mybills": "My billing addresses", + "_user_id": "User id", + "_no_orders": "No orders found", + "_organization": "Organization", + "_medium_type": "Medium type", + "_preferred": "Preferred", + "_no_mediums": "There's no contact medium information.", + "_contact_info": "Contact information", + "_info": "Info", + "_actions": "Actions", + "_add_new_contact": "Add a new contact medium", + "_postalAddress": "Postal address", + "_phone": "Phone number", + "_phone_type": "Phone Type", + "_action": "Actions", + "_state": "State / Province", + "_post_code": "ZIP / Postal Code", + "_street": "Street Address", + "_edit": "Edit contact medium", + "_delete": "Yes, delete", + "_confirm_delete": "Are you sure about deleting the following billing address?", + "_cancel": "No, cancel", + "_invalid_phone": "Phone number is invalid!", + "_invalid_email": "Email is invalid!", + "_save": "Save", + "_success": "Updated successfully", + "_website": "Website", + "_add_logo": "Add organization logo", + "_add_logo_url": "Add organization logo using a URL", + "_acknowledged": "Acknowledged", + "_in_progress": "In Progress", + "_partial": "Partial", + "_completed": "Completed", + "_failed": "Failed", + "_pending": "Pending", + "_cancelled": "Cancelled", + "_order_details": "Order details:", + "_billing_address": "Billing address", + "_price": "Price", + "_img": "Img", + "_custom": "Custom", + "_free": "Free" + }, + "PRODUCT_INVENTORY": { + "_loading": "Loading...", + "_products": "Products", + "_services": "Services", + "_resources": "Resources", + "_orders": "Orders", + "_not_found": "No products found.", + "_no_resources": "No resources found.", + "_no_services": "No services found.", + "_search_criteria": "Search criteria", + "_prod_details": "Product details", + "_description": "Description", + "_pricing": "Product pricing", + "_chars": "Product characteristics", + "_res_details": "Resource details", + "_res_chars": "Resource characteristics", + "_serv_details": "Service details", + "_serv_chars": "Service characteristics", + "_start_date": "Start operating date", + "_order_id": "Order Id", + "_state": "State", + "_status": "Status", + "_priority": "Priority", + "_desc": "Description", + "_price": "Price", + "_bill": "Billing address", + "_inventory": "Inventory", + "_feasibility": "Feasibility Checked", + "_designed": "Designed", + "_reserved": "Reserved", + "_inactive": "Inactive", + "_active": "Active", + "_terminated": "Terminated", + "_id": "Id", + "_standby": "Standby", + "_alarm": "Alarm", + "_available": "Available", + "_suspended": "Suspended", + "_unknown": "Unknown", + "_created": "Created", + "_unsubscribe": "Unsubscribe", + "_close_modal": "Close modal", + "_cancel_sub": "Are you sure you want to cancel this subscription?", + "_cancel": "No, cancel", + "_yes_sure": "Yes, I'm sure", + "_renew_sub": "Are you sure you want to renew this subscription?" + }, + "BILLING": { + "_title": "Title", + "_email": "Email", + "_postalAddress": "Postal address", + "_phone": "Phone number", + "_phone_type": "Phone Type", + "_action": "Actions", + "_country": "Country", + "_city": "City", + "_state": "State / Province", + "_post_code": "ZIP / Postal Code", + "_street": "Street Address", + "_add": "Add billing address", + "_edit": "Edit billing address", + "_update": "Update billing address", + "_delete": "Yes, delete", + "_confirm_delete": "Are you sure about deleting the following billing address?", + "_cancel": "No, cancel", + "_invalid_phone": "Phone number is invalid!", + "_invalid_email": "Email is invalid!", + "_no_billing": "There's no billing information.", + "_close_modal": "Close modal", + "_mandatory": "This field is mandatory.", + "_too_long": "This field is too long. Must be less than 250 characters.", + "_too_long_larger": "This field is too long. Must be less than 1000 characters.", + "_too_long_email": "Email is too long. Must be less than 320 characters.", + "_email_format": "Email must follow the following format: example@example.example" + }, + "INVOICES": { + "_invoice_id": "Invoice ID", + "_date": "Date", + "_billno": "Invoice Num.", + "_not_found": "No invoices found.", + "_description": "Description", + "_tax_included_amount": "Amount (tax included)", + "_tax_excluded_amount": "Amount (without tax)", + "_tax": "Tax", + "_billed": "Billed", + "_pending": "Pending", + "_status": "Status", + "_name": "Name", + "_type": "Type", + "_product": "Product ID", + "_actions": "Actions", + "_as_customer": "As Customer", + "_as_provider": "As Provider", + "_invoice_details": "Invoice details:", + "_applied_billing_rates": "Applied Billing Rates", + "_no_billing_rates": "No billing rates found", + "_period_coverage": "Period Coverage" + }, + "CREATE_CATALOG": { + "_back": "Back", + "_create": "Create catalogue", + "_status": "Status", + "_new": "New catalogue", + "_steps": "Steps", + "_general": "General", + "_general_info": "Catalogue's general information", + "_actions": "Actions", + "_type": "Type", + "_preview": "Preview", + "_show_preview": "Show preview", + "_name": "Name", + "_description": "Description", + "_next": "Next", + "_summary": "Catalogue's summary", + "_finish": "Finish" + }, + "UPDATE_CATALOG": { + "_back": "Back", + "_create": "Update catalogue", + "_status": "Status", + "_update": "Update catalogue", + "_steps": "Steps", + "_general": "General", + "_general_info": "Catalogue's general information", + "_actions": "Actions", + "_type": "Type", + "_preview": "Preview", + "_show_preview": "Show preview", + "_name": "Name", + "_description": "Description", + "_next": "Next", + "_summary": "Catalogue's summary", + "_finish": "Finish", + "_active": "Active", + "_launched": "Launched", + "_retired": "Retired", + "_obsolete": "Obsolete" + }, + "CREATE_PROD_SPEC": { + "_back": "Back", + "_create": "Create product specification", + "_new": "New product", + "_steps": "Steps", + "_general": "General", + "_general_info": "Product's general information", + "_bundle": "Bundle", + "_bundle_info": "Product's blundle information", + "_comp_profile": "Compliance profile", + "_comp_profile_info": "Product's compliance profile", + "_no_comp_profile": "No compliance profile included.", + "_chars": "Characteristics", + "_chars_info": "Product's characteristics", + "_resource": "Resource Specs", + "_resource_info": "Product's resource specifications", + "_service": "Service Specs", + "_service_info": "Product's service specifications", + "_attachments": "Attachments", + "_attachments_info": "Product's attachments", + "_relationships": "Relationships", + "_relationships_info": "Product's relationships", + "_product_name": "Name", + "_product_version": "Version", + "_product_brand": "Brand", + "_id_number": "ID Number", + "_product_description": "Description", + "_preview": "Preview", + "_show_preview": "Show preview", + "_next": "Next", + "_is_bundled": "Bundled product?", + "_status": "Status", + "_type": "Type", + "_last_update": "Last update", + "_select": "Select", + "_simple": "Simple", + "_load_more": "Load more", + "_add_comp": "3rd party certifications", + "_value": "Value", + "_actions": "Actions", + "_no_chars": "No characteristics included.", + "_values": "Values", + "_new_char": "Create new characteristic", + "_add_values": "Add values", + "_unit": "Unit", + "_from": "From", + "_to": "To", + "_save_char": "Save characteristic", + "_make_optional": "Make this characteristic optional", + "_default_value": "Default value", + "_default_false": "Disabled by default", + "_default_true": "Enabled by default", + "_resource_specs": "Resource specifications", + "_service_specs": "Service specifications", + "_add_prod_img": "Add product image", + "_drop_files": "Drop one file to attatch or", + "_select_files": "select a file.", + "_add_prod_img_url": "Add product image using URL", + "_add_att": "Attachments", + "_no_att": "No attachments included.", + "_new_att": "Add new attachment", + "_save_att": "Save attachment", + "_no_relatioships": "No relationships included.", + "_relationship_type": "Relationship type", + "_add_relationship": "Add new relationship", + "_save_relationship": "Save relationship", + "_profile_pic": "Profile picture", + "_finish": "Finish", + "_summary": "Product's summary", + "_create_prod": "Create product", + "_file_res": "File restrictions", + "_restrictions": "File size must be under 3MB. File names can only include alphabetical characters (A-Z, a-z), numbers (0-9) and a limited set of symbols, such as underscores (_), hyphens (-), and periods (.). ", + "_file_name": "Image URL should end by png, jpg, jpeg, gif, bmp or webp format.", + "_file_check": "You need to upload a file before proceeding.", + "_self_attestation": "Self Attestation:", + "_close_modal": "Close modal", + "_cancel": "Cancel", + "_upload": "Upload" + }, + "UPDATE_PROD_SPEC": { + "_back": "Back", + "_update": "Update product specification", + "_new": "Update product", + "_steps": "Steps", + "_general": "General", + "_general_info": "Product's general information", + "_bundle": "Bundle", + "_bundle_info": "Product's blundle information", + "_comp_profile": "Compliance profile", + "_comp_profile_info": "Product's compliance profile", + "_no_comp_profile": "No compliance profile included.", + "_chars": "Characteristics", + "_chars_info": "Product's characteristics", + "_resource": "Resource Specs", + "_resource_info": "Product's resource specifications", + "_service": "Service Specs", + "_service_info": "Product's service specifications", + "_attachments": "Attachments", + "_attachments_info": "Product's attachments", + "_relationships": "Relationships", + "_relationships_info": "Product's relationships", + "_product_name": "Name", + "_product_version": "Version", + "_product_brand": "Brand", + "_id_number": "ID Number", + "_product_description": "Description", + "_preview": "Preview", + "_show_preview": "Show preview", + "_next": "Next", + "_is_bundled": "Bundled product?", + "_status": "Status", + "_type": "Type", + "_last_update": "Last update", + "_select": "Select", + "_simple": "Simple", + "_load_more": "Load more", + "_add_comp": "3rd party certifications", + "_value": "Value", + "_actions": "Actions", + "_no_chars": "No characteristics included.", + "_values": "Values", + "_new_char": "Create new characteristic", + "_add_values": "Add values", + "_unit": "Unit", + "_from": "From", + "_to": "To", + "_save_char": "Save characteristic", + "_make_optional": "Make this characteristic optional", + "_default_value": "Default value", + "_default_false": "Disabled by default", + "_default_true": "Enabled by default", + "_resource_specs": "Resource specifications", + "_service_specs": "Service specifications", + "_add_prod_img": "Add product image", + "_drop_files": "Drop one file to attatch or", + "_select_files": "select a file.", + "_add_prod_img_url": "Add product image using URL", + "_add_att": "Attachments", + "_no_att": "No attachments included.", + "_new_att": "Add new attachment", + "_save_att": "Save attachment", + "_no_relatioships": "No relationships included.", + "_relationship_type": "Relationship type", + "_add_relationship": "Add new relationship", + "_save_relationship": "Save relationship", + "_profile_pic": "Profile picture", + "_finish": "Finish", + "_summary": "Product's summary", + "_update_prod": "Update product", + "_verify": "Verify Certificates", + "_how_to_verify": "How to get a valid VC of the certificate?", + "_verify_text": "To get a valid VC of the certificate you can access the ", + "_dome_trust": "DOME Trust Service Provider for Certification", + "_file_res": "File restrictions", + "_restrictions": "File size must be under 3MB. File names can only include characters (a-z), (A-Z), (0-9), and a limited set of symbols including underscores (_), hyphens (-), and periods (.). ", + "_file_name": "Image URL should end by png, jpg, jpeg, gif, bmp or webp format.", + "_active": "Active", + "_launched": "Launched", + "_retired": "Retired", + "_obsolete": "Obsolete", + "_self_attestation": "Self Attestation:", + "_close_modal": "Close modal", + "_cancel": "Cancel", + "_upload": "Upload" + }, + "CREATE_RES_SPEC": { + "_back": "Back", + "_create": "Create resource specification", + "_new": "New resource", + "_steps": "Steps", + "_general": "General", + "_general_info": "Resource's general information", + "_chars": "Characteristics", + "_chars_info": "Resource's characteristics", + "_value": "Value", + "_actions": "Actions", + "_no_chars": "No characteristics included.", + "_values": "Values", + "_new_char": "Create new characteristic", + "_add_values": "Add values", + "_unit": "Unit", + "_from": "From", + "_to": "To", + "_type": "Type", + "_save_char": "Save characteristic", + "_preview": "Preview", + "_show_preview": "Show preview", + "_name": "Name", + "_description": "Description", + "_next": "Next", + "_finish": "Finish", + "_create_res": "Create resource" + }, + "UPDATE_RES_SPEC": { + "_back": "Back", + "_status": "Status", + "_update": "Update resource specification", + "_new": "New resource", + "_steps": "Steps", + "_general": "General", + "_general_info": "Resource's general information", + "_chars": "Characteristics", + "_chars_info": "Resource's characteristics", + "_value": "Value", + "_actions": "Actions", + "_no_chars": "No characteristics included.", + "_values": "Values", + "_new_char": "Create new characteristic", + "_add_values": "Add values", + "_unit": "Unit", + "_from": "From", + "_to": "To", + "_type": "Type", + "_save_char": "Save characteristic", + "_preview": "Preview", + "_show_preview": "Show preview", + "_name": "Name", + "_description": "Description", + "_next": "Next", + "_finish": "Finish", + "_update_res": "Update resource" + }, + "CREATE_SERV_SPEC": { + "_back": "Back", + "_create": "Create service specification", + "_new": "New service", + "_steps": "Steps", + "_general": "General", + "_general_info": "Service's general information", + "_chars": "Characteristics", + "_chars_info": "Service's characteristics", + "_value": "Value", + "_actions": "Actions", + "_no_chars": "No characteristics included.", + "_values": "Values", + "_new_char": "Create new characteristic", + "_add_values": "Add values", + "_unit": "Unit", + "_from": "From", + "_to": "To", + "_type": "Type", + "_save_char": "Save characteristic", + "_preview": "Preview", + "_show_preview": "Show preview", + "_name": "Name", + "_description": "Description", + "_next": "Next", + "_finish": "Finish", + "_create_serv": "Create service" + }, + "UPDATE_SERV_SPEC": { + "_back": "Back", + "_status": "Status", + "_update": "Update service specification", + "_new": "New service", + "_steps": "Steps", + "_general": "General", + "_general_info": "Service's general information", + "_chars": "Characteristics", + "_chars_info": "Service's characteristics", + "_value": "Value", + "_actions": "Actions", + "_no_chars": "No characteristics included.", + "_values": "Values", + "_new_char": "Create new characteristic", + "_add_values": "Add values", + "_unit": "Unit", + "_from": "From", + "_to": "To", + "_type": "Type", + "_save_char": "Save characteristic", + "_preview": "Preview", + "_show_preview": "Show preview", + "_name": "Name", + "_description": "Description", + "_next": "Next", + "_finish": "Finish", + "_update_serv": "Update service" + }, + "CREATE_OFFER": { + "_back": "Back", + "_create": "Create product offer", + "_new": "New product offer", + "_steps": "Steps", + "_general": "General", + "_general_info": "Offer's general information", + "_bundle": "Bundle", + "_bundle_info": "Offer's bundle information", + "_prod_spec": "Product Spec", + "_prod_spec_info": "Offer's related product", + "_catalog": "Catalogue", + "_catalog_info": "Offer's related catalogue", + "_category": "Category", + "_category_info": "Category info", + "_license": "License", + "_license_info": "Offer's license", + "_sla": "SLA", + "_sla_info": "Offer's SLA", + "_price_plans": "Price plans", + "_price_plans_info": "Offer's pricing", + "_name": "Name", + "_description": "Description", + "_version": "Version", + "_preview": "Preview", + "_show_preview": "Show preview", + "_next": "Next", + "_is_bundled": "Bundled offer?", + "_status": "Status", + "_type": "Type", + "_last_update": "Last update", + "_select": "Select", + "_simple": "Simple", + "_load_more": "Load more", + "_add_comp": "3rd party certifications", + "_value": "Value", + "_actions": "Actions", + "_no_chars": "No characteristics included.", + "_values": "Values", + "_new_char": "Create new characteristic", + "_add_values": "Add values", + "_unit": "Unit", + "_from": "From", + "_to": "To", + "_save_char": "Save characteristic", + "_make_optional": "Make this characteristic optional", + "_resource_specs": "Resource specifications", + "_service_specs": "Service specifications", + "_add_prod_img": "Add product image", + "_drop_files": "Drop one file to attatch or", + "_select_files": "select a file.", + "_add_prod_img_url": "Add product image using URL", + "_add_att": "Attachments", + "_no_att": "No attachments included.", + "_new_att": "Add new attachment", + "_save_att": "Save attachment", + "_no_relatioships": "No relationships included.", + "_relationship_type": "Relationship type", + "_add_relationship": "Add new relationship", + "_save_relationship": "Save relationship", + "_profile_pic": "Profile picture", + "_finish": "Finish", + "_summary": "Product's summary", + "_create_prod": "Create product", + "_choose_license": "Choose a license", + "_standard_license": "Standard open data licenses", + "_treatment": "Treatment", + "_exclusivity": "Exclusivity", + "_sector": "Sector", + "_region": "Region", + "_timeframe": "Timeframe", + "_purpose": "Purpose", + "_transferability": "Transferability", + "_no_sla": "No SLA included", + "_threshold": "Threshold", + "_new_metric": "Define new metric", + "_add_metric": "Add metric", + "_no_prices": "No price plans included.", + "_is_free_price": "Is this offer open?", + "_new_price": "New price plan", + "_create_price": "Create price plan", + "_choose_type": "Choose a type", + "_enter_value": "Enter a value", + "_add_condition": "Add a condition", + "_choose_period": "Choose a pricing period", + "_price_alter": "Price alteration", + "_create_license": "Create license", + "_price": "Price", + "_save_price": "Save price", + "_duplicated_price_name": "Price name already exists.", + "_save_license": "Save license", + "_no_prod_spec": "Bundled offers can't include product specifications.", + "_cancel": "Cancel", + "_no_prods": "There's no product specifications.", + "_no_prods_to_proceed": "Please add at least one product specification to proceed to the next step", + "_no_cats": "There's no catalogues.", + "_no_categories": "There's no categories", + "_no_offer": "There's no offerings.", + "_previous": "Previous step", + "_next_step": "Next step", + "_no_subcats": "There's no subcategories" + }, + "UPDATE_OFFER": { + "_back": "Back", + "_create": "Create product offer", + "_update": "Update product offer", + "_steps": "Steps", + "_general": "General", + "_general_info": "Offer's general information", + "_bundle": "Bundle", + "_bundle_info": "Offer's bundle information", + "_prod_spec": "Product Spec", + "_prod_spec_info": "Offer's related product", + "_catalog": "Catalogue", + "_catalog_info": "Offer's related catalogue", + "_category": "Category", + "_category_info": "Category info", + "_license": "License", + "_license_info": "Offer's license", + "_sla": "SLA", + "_sla_info": "Offer's SLA", + "_price_plans": "Price plans", + "_price_plans_info": "Offer's pricing", + "_name": "Name", + "_description": "Description", + "_version": "Version", + "_preview": "Preview", + "_show_preview": "Show preview", + "_next": "Next", + "_is_bundled": "Bundled offer?", + "_status": "Status", + "_type": "Type", + "_last_update": "Last update", + "_select": "Select", + "_simple": "Simple", + "_load_more": "Load more", + "_add_comp": "3rd party certifications", + "_value": "Value", + "_actions": "Actions", + "_no_chars": "No characteristics included.", + "_values": "Values", + "_new_char": "Create new characteristic", + "_add_values": "Add values", + "_unit": "Unit", + "_from": "From", + "_to": "To", + "_save_char": "Save characteristic", + "_make_optional": "Make this characteristic optional", + "_resource_specs": "Resource specifications", + "_service_specs": "Service specifications", + "_add_prod_img": "Add product image", + "_drop_files": "Drop one file to attatch or", + "_select_files": "select a file.", + "_add_prod_img_url": "Add product image using URL", + "_add_att": "Attachments", + "_no_att": "No attachments included.", + "_new_att": "Add new attachment", + "_save_att": "Save attachment", + "_no_relatioships": "No relationships included.", + "_relationship_type": "Relationship type", + "_add_relationship": "Add new relationship", + "_save_relationship": "Save relationship", + "_profile_pic": "Profile picture", + "_finish": "Update product", + "_summary": "Product's summary", + "_create_prod": "Create product", + "_choose_license": "Choose a license", + "_standard_license": "Standard open data licenses", + "_treatment": "Treatment", + "_exclusivity": "Exclusivity", + "_sector": "Sector", + "_region": "Region", + "_timeframe": "Timeframe", + "_purpose": "Purpose", + "_transferability": "Transferability", + "_no_sla": "No SLA included", + "_threshold": "Threshold", + "_new_metric": "Define new metric", + "_add_metric": "Add metric", + "_no_prices": "No price plans included.", + "_is_free_price": "Is this offer open?", + "_new_price": "New price plan", + "_create_price": "Create price plan", + "_choose_type": "Choose a type", + "_enter_value": "Enter a value", + "_add_condition": "Add a condition", + "_choose_period": "Choose a pricing period", + "_price_alter": "Price alteration", + "_create_license": "Create license", + "_price": "Price", + "_save_price": "Save price", + "_duplicated_price_name": "Price name already exists.", + "_save_license": "Save license", + "_no_prod_spec": "Bundled offers can't include product specifications.", + "_cancel": "Cancel", + "_no_prods": "There's no product specifications.", + "_no_prods_to_proceed": "Please add at least one product specification to proceed to the next step", + "_no_cats": "There's no catalogues.", + "_no_categories": "There's no categories", + "_no_offer": "There's no offerings." + }, + "OFFERINGS": { + "_catalogs": "Catalogues", + "_offers": "Offer", + "_no_offer": "No offerings included.", + "_no_offerings": "There's no product offerings.", + "_no_prod": "There's no product specifications.", + "_no_prod_rel": "There's no product specifications, so you can't create relationships.", + "_no_cat": "There's no catalogues.", + "_no_categories": "There's no categories.", + "_no_res": "There's no resource specifications", + "_no_serv": "There's no service specifications", + "_prod_spec": "Product Specifications", + "_serv_spec": "Service Specifications", + "_res_spec": "Resource Specifications", + "_search": "Search", + "_add_new_serv": "Add new service", + "_filter_state": "Filter by status", + "_state": "State", + "_order_by": "Order by...", + "_last_update": "Last update", + "_name": "Name", + "_active": "Active", + "_launched": "Launched", + "_retired": "Retired", + "_obsolete": "Obsolete", + "_status": "Status", + "_actions": "Actions", + "_load_more": "Load more", + "_add_new_res": "Add new resource", + "_add_new_prod": "Add new product specification", + "_add_new_prod_short": "Add new product spec", + "_filter_type": "Filter by type", + "_all": "All", + "_simple": "Simple", + "_bundle": "Bundle", + "_type": "Type", + "_prod_offer": "Product offer", + "_add_new_offer": "Add new product offer", + "_add_new_catalog": "Add new catalogue", + "_filter_role": "Filter by role", + "_seller": "Seller", + "_owner": "Owner", + "_customer": "Customer", + "_role": "Role", + "_choose": "Choose between our Catalogues", + "_offerings": "Offerings", + "_my_offerings": "My offerings" + }, + "ADMIN": { + "_admin": "Administration", + "_filter_state": "Filter by status", + "_state": "State", + "_order_by": "Order by...", + "_last_update": "Last update", + "_name": "Name", + "_active": "Active", + "_launched": "Launched", + "_retired": "Retired", + "_obsolete": "Obsolete", + "_status": "Status", + "_actions": "Actions", + "_load_more": "Load more", + "_categories": "Categories", + "_verification": "Verification", + "_productId": "Product ID", + "_vc": "Verifiable Credential", + "_add": "Add", + "_revenue": "Revenue sharing", + "_email": "Email", + "_smtpServer": "SMTP Server", + "_smtpPort": "SMTP Port", + "_emailUser": "Email User", + "_emailPass": "Email Password" + }, + "CATEGORIES": { + "_categories": "Categories", + "_add_new_cat": "Add new category", + "_no_cat": "No categories included" + }, + "CREATE_CATEGORIES": { + "_categories": "Categories", + "_add_new_cat": "Add new category", + "_no_cat": "No categories included", + "_back": "Back", + "_create": "Create category", + "_new": "New category", + "_steps": "Steps", + "_general": "General", + "_general_info": "Category's general information", + "_finish": "Create category", + "_summary": "Category's summary", + "_name": "Name", + "_description": "Description", + "_preview": "Preview", + "_show_preview": "Show preview", + "_status": "Status", + "_next": "Next", + "_choose_parent": "Choose a parent category", + "_parent": "Parent category" + }, + "UPDATE_CATEGORIES": { + "_categories": "Categories", + "_add_new_cat": "Add new category", + "_no_cat": "No categories included", + "_back": "Back", + "_update": "Update category", + "_new": "New category", + "_steps": "Steps", + "_general": "General", + "_general_info": "Category's general information", + "_finish": "Update category", + "_summary": "Category's summary", + "_name": "Name", + "_description": "Description", + "_preview": "Preview", + "_show_preview": "Show preview", + "_status": "Status", + "_next": "Next", + "_choose_parent": "Choose a parent category", + "_parent": "Parent category" + }, + "ORGANIZATION": { + "_details": "Organization details", + "_description": "Description" + }, + "PRODUCT_ORDERS": { + "_orders": "Product Orders", + "_invoices": "Invoices", + "_no_orders": "No orders found.", + "_search_criteria": "Search criteria", + "_order_id": "Order Id", + "_status": "Choose a status", + "_priority": "Priority", + "_desc": "Description", + "_price": "Price", + "_bill": "Billing address", + "_filter_state": "Filter by status", + "_acknowledged": "Acknowledged", + "_in_progress": "In Progress", + "_partial": "Partial", + "_completed": "Completed", + "_failed": "Failed", + "_pending": "Pending", + "_cancelled": "Cancelled", + "_unchecked": "Unchecked", + "_as_customer": "As Customer", + "_as_provider": "As Provider", + "_date": "Date", + "_actions": "Actions", + "_order_details": "Order details:", + "_customer_info": "Customer Info:", + "_name": "Name", + "_billing_address": "Billing address", + "_email": "Contact Email", + "_show_customer_details": "Show Customer Details", + "_img": "Img", + "_price_plan": "Price Plan", + "_state": "State" + }, "FORMS": { "PROCUREMENT_MODE": { - "_title": "Select Procurement Mode", - "_manual": "Manual", - "_automatic": "Automatic", - "_payment_automatic": "Payment Automatic - Procurement Manual" - }, + "_title": "Select Procurement Mode", + "_manual": "Manual", + "_automatic": "Automatic", + "_payment_automatic": "Payment Automatic - Procurement Manual" + }, "PRICE_PLANS": { "_price_plans": "Price Plans", "_add": "Add new Price Plans", diff --git a/src/assets/i18n/es.json b/src/assets/i18n/es.json index 7e7c3463..ab8ec82e 100644 --- a/src/assets/i18n/es.json +++ b/src/assets/i18n/es.json @@ -1,123 +1,103 @@ { - "_yes": "Yes", - "_no": "No", - - "dashboard": { - "nav": { - "forCustomers": "For Customers", - "forProviders": "For Providers", - "marketplace": "Marketplace", - "about": "About", - "resources": "Resources" - }, - "hero": { - "eyebrow": "Distributed Open Marketplace for Europe", - "title": "The trusted European Ecosystem for cloud, edge & AI services", - "subtitle": "The DOME marketplace brings verified, EU-compliant cloud, edge and AI services into one transparent, interoperable platform, simplifying services discovery and procurement for organisations and expanding market reach for cloud providers.", - "ctaCustomers": "I’m looking for digital services", - "ctaProviders": "I offer digital services", - "browseAll": "Browse all services →", - "asideTitle": "Marketplace snapshot", - "stats": { - "servicesLabel": "verified services", - "providersLabel": "registered providers", - "euHosted": "EU-hosted & compliance-driven", - "transparency": "End-to-end transparency on data & pricing" - }, - "moreAbout": "More about DOME" - }, - "whatIs": { - "title": "What is DOME Marketplace?", - "subtitle": "DOME is the European marketplace that provides a unified environment where trust, compliance, and interoperability form the foundation of how digital services are published, compared, and used across Europe.", - "cards": { - "c1": { + "_yes": "Yes", + "_no": "No", + "europeTrademark": "Distributed Open Marketplace for Europe (DOME) Project has received funding from European Union’s Digital Europe Programme under the Grant Agreement No 101084071.", + "DASHBOARD": { + "whatsdome": { + "_title": "What is DOME Marketplace?", + "_desc": "DOME is the European marketplace that provides a unified environment where trust, compliance, and interoperability form the foundation of how digital services are published, compared, and used across Europe.", + "features": { + "trusted": { "title": "Trusted, Sovereign Digital Ecosystem", - "text": "DOME ensures services operate under EU rules for security, data protection, and sovereignty, creating a reliable environment for digital operations across Europe." + "desc": "DOME ensures services operate under EU rules for security, data protection, and sovereignty, creating a reliable environment for digital operations across Europe." }, - "c2": { + "transparency": { "title": "Transparency and Comparability", - "text": "Consistent documentation, pricing clarity, and shared trust indicators make it easy to understand, compare, and assess digital services." + "desc": "Consistent documentation, pricing clarity, and shared trust indicators make it easy to understand, compare, and assess digital services." }, - "c3": { + "interoperability": { "title": "Interoperability and Federation", - "text": "DOME connects multiple marketplaces and providers through shared standards, enabling seamless discovery, integration, and cross-market collaboration." + "desc": "DOME connects multiple marketplaces and providers through shared standards, enabling seamless discovery, integration, and cross-market collaboration." }, - "c4": { + "fairAccess": { "title": "Fair and Open Market Access", - "text": "The ecosystem removes barriers to entry, supports SMEs, and prevents vendor lock-in, ensuring all participants can compete and grow on equal terms." + "desc": "The ecosystem removes barriers to entry, supports SMEs, and prevents vendor lock-in, ensuring all participants can compete and grow on equal terms." } } }, - "marketplace": { - "title": "Explore verified services", - "subtitle": "Search across cloud, edge, AI, data and other digital services from trusted European providers.", - "searchPlaceholder": "Search by keyword, category or provider…", - "browseFullCatalog": "Browse full catalog →", - "viewService": "View service" - }, "customers": { - "title": "For Customers", - "whyTitle": "Why to use DOME", - "cards": { - "c1": { - "title": "Access to verified digital services", - "text": "Discover offerings validated against EU security and data-protection rules, guaranteeing trusted providers and full data sovereignty." + "_sectitle": "For customers", + "_howItWorksTitle": "How DOME works", + "_cta": "Start now your customer journey", + "_cards": { + "access": { + "title": "Access to
verified digital
services", + "desc": "Discover offerings validated against EU security and data-protection rules, guaranteeing trusted providers and full data sovereignty." }, - "c2": { - "title": "Transparent, guided service discovery", - "text": "Quickly identify suitable offerings through consistent documentation, clear pricing, trust indicators, and intuitive filtering and comparison tools." + "discovery": { + "title": "Transparent,
guided service
discovery", + "desc": "Quickly identify suitable offerings through consistent documentation, clear pricing, trust indicators, and intuitive filtering and comparison tools." }, - "c3": { - "title": "Powerful procurement tools", - "text": "Access built-in capabilities such as tendering, tailored-offer requests, and structured comparisons that make sourcing from multiple providers fast, clear, and efficient." + "procurement": { + "title": "Powerful
procurement
tools", + "desc": "Access built-in capabilities such as tendering, tailored-offer requests, and structured comparisons that make sourcing from multiple providers." }, - "c4": { - "title": "Unified access to a broad ecosystem", - "text": "Benefit from a growing network of European providers and federated marketplaces, giving you broader choice and easier access to specialised services." + "ecosystem": { + "title": "Unified access to
a broad
ecosystem", + "desc": "Benefit from a growing network of European providers and federated marketplaces, giving you broader choice and easier access to specialised services." } }, - "howTitle": "How DOME works", - "how": { - "s1Title": "Register as a customer", - "s1Text": "Create your customer profile", - "s2Title": "Search & compare", - "s2Text": "Find digital services according to your needs, use standardised documentation and trust badges to assess suitability", - "s3Title": "Connect & procure", - "s3Text": "Contact providers and procure directly, or use the DOME marketplace procurement tools in order to get the services that suit your needs" - }, - "startJourney": "Start your customer journey now" + "_steps": { + "register": { + "title": "Register as a customer", + "desc": "Create your customer profile." + }, + "search": { + "title": "Search & compare", + "desc": "Find services that fit your needs and assess sustainability with standardized documentation and trust badges." + }, + "connect": { + "title": "Connect & procure", + "desc": "Procure directly with providers or use DOME's tools to manage the process end-to-end." + } + } }, "providers": { - "title": "For Providers", - "whyTitle": "Why to use DOME", - "cards": { - "c1": { - "title": "Reach a pan-European market", - "text": "Expand your visibility across Europe and access new customer segments through a unified, trusted ecosystem." + "_title": "For providers", + "_howDomeWorks": "How DOME works", + "_cta": "Start now your provider journey", + "features": { + "market": { + "title": "Reach a pan-
European
market", + "desc": "Expand your visibility across Europe and access new customer segments through a unified, trusted ecosystem." }, - "c2": { - "title": "Strengthen trust with customers", - "text": "Showcase compliance, transparency, and service quality through DOME’s verified trust indicators and documentation standards." + "trust": { + "title": "Strengthen trust
with customers", + "desc": "Showcase compliance, transparency, and service quality through DOME’s verified trust indicators and documentation standards." }, - "c3": { - "title": "Leverage DOME’s provider tools", - "text": "Integrated tools for onboarding, service management, analytics, procurement and promotion to enhance your market presence and operational efficiency." + "tools": { + "title": "Leverage DOME's
provider tools", + "desc": "Integrated tools for onboarding, service management, analytics, procurement and promotion to enhance your market presence and operational efficiency." }, - "c4": { - "title": "Complement and extend portfolio", - "text": "Discover services and partners across the ecosystem to enrich your offering and unlock new business opportunities." + "portfolio": { + "title": "Complement and
extend portfolio", + "desc": "Discover services and partners across the ecosystem to enrich your offering and unlock new business opportunities." } }, - "howTitle": "How DOME works", - "how": { - "s1Title": "Onboard your organisation", - "s1Text": "Complete the onboarding process and receive your verifiable credentials", - "s2Title": "Describe & verify your services", - "s2Text": "Use DOME Marketplace templates to detail features, data handling and compliance", - "s3Title": "Publish & reach customers", - "s3Text": "Ready to go! Your services are available in the DOME catalogues!" - }, - "startJourney": "Start your provider journey now" + "steps": { + "onboard": { + "title": "Onboard your organisation", + "desc": "Complete the onboarding process and receive your provider credentials." + }, + "verify": { + "title": "Describe & verify your services", + "desc": "Use DOME Marketplace templates to document features, compliance and data handling." + }, + "publish": { + "title": "Publish & reach customers", + "desc": "Once approved, your services become available in the DOME catalogues." + } + } }, "roadmap": { "title": "Growing the DOME ecosystem", @@ -142,424 +122,296 @@ "title": "Ready to find out what DOME Marketplace can do for your business?", "discover": "Discover services", "publish": "Publish your service" - } - }, -"europeTrademark": "Distributed Open Marketplace for Europe (DOME) Project has received funding from European Union’s Digital Europe Programme under the Grant Agreement No 101084071.", - - - "DASHBOARD": { - "_title": "DOME Marketplace is out! See what's new", - "_header": "Digital Trust to move forward", - "_subheader": "Join the first open distributed marketplace ecosystem for cloud, edge & AI services in Europe.", - "_new": "New", - "_learn_more": "Learn more", - "_video": "Watch video", - "_categories": "All categories", - "_cloud": "Cloud Services", - "_edge": "Edge Services", - "_smart_ports": "Smart ports", - "_smart_cities": "Smart cities", - "_search_ph": "Search Cloud Services, Edge Services, Providers...", - "_search": "Search", - "_not_found": "No offers found", - "_browse_serv": "Browse services", - "_view_serv": "View services", - "_close_menu": "Close menu", - "_all_catalogs": "All catalogues", - "_categories_single": "Categories", - "_ai_search_ph": "Ask AI about products and services...", - "_ai_search": "AI Search", - "_ai_answer": "AI Answer", - "_ai_thinking": "AI is thinking...", - "_relevant_products": "relevant products", - "_prev": "Previous", - "_next": "Next" }, - "FEATURED": { - "_title": "Featured offerings", - "CARD1": { - "_badge": "Design", - "_title": "Start with Flowbite Design System", - "_description": "Static websites are now used to bootstrap lots of websites and are becoming the basis for a variety of tools that even influence both web designers and developers.", - "_more": "Read more" - }, - "CARD2": { - "_badge": "Code", - "_title": "Best react libraries around the web", - "_description": "Static websites are now used to bootstrap lots of websites and are becoming the basis for a variety of tools that even influence both web designers and developers.", - "_more": "Read more" - } - }, - "GALLERY": { - "_title": "Featured offerings", - "_explore": "Explore marketplace", - "_add_your_service": "Add your service", - "_no_products": "Sorry! There are no products available at this moment. Please check again later." + "marketplace": { + "title": "Explore verified services", + "subtitle": "Search across cloud, edge, AI, data and other digital services from trusted European providers.", + "searchPlaceholder": "Search by keyword, category or provider…", + "browseFullCatalog": "Browse full catalog →", + "viewService": "View service" }, - "PLATFORM": { - "_title": "Platform benefits", - "_subtitle": "Your Gateway to Europe's Premier Digital Ecosystem", - "_learn_more": "Learn more", - "OPEN": { - "_title": "Open", - "_desc": "Navigate with confidence through transparent practices in service provisioning, pricing and operations." - }, - "INTEROPERABLE": { - "_title": "Interoperable", - "_desc": "Unlock endless possibilities with our open ecosystem, designed for seamless collaboration and innovation." - }, - "TRUSTWORTHY": { - "_title": "Trustworthy", - "_desc": "Build on a foundation of trust with services vetted for security, reliability and compliance." + "ecosystem": { + "_title": "Growing the DOME Ecosystem", + "_subtitle": "DOME is at an early but active stage, expanding together with customers and providers.", + "_nowLabel": "Now", + "_nextLabel": "Next 6–12 Months", + "_beyondLabel": "Beyond", + "_milestones": { + "_live": { + "_title": "DOME IS LIVE", + "_desc": "Initial catalogue of verified providers and services, built-in procurement tools" }, - "COMPLIANT": { - "_title": "Compliant", - "_desc": "Stay ahead of the curve with services that adhere strictly to EU regulations and standards, for legal compliance and data protection." + "_tools": { + "_title": "MORE SERVICES, BETTER TOOLS", + "_desc": "Expanded catalogue, better tools, improved verification workflows" }, - "SUSTAINABLE": { - "_title": "Sustainable", - "_desc": "Embrace sustainability with services that prioritize enery efficiency and environmental responsability." - }, - "TRANSPARENT": { - "_title": "Transparent", - "_desc": "Navigate with confidence trough transparent practices in service provisioning, pricing and operations." + "_federation": { + "_title": "FEDERATION AT SCALE", + "_desc": "A connected network of marketplaces, providers and customers, driving cross-border transactions through trust, sovereignty and fair access" } + }, + "_ctaTitle": "Ready to find out what DOME Marketplace can do for your business?", + "_ctaCustomers": "For customers", + "_ctaProviders": "For providers" }, - "HOWITWORKS":{ - "_title": "How It Works", - "_subtitle": "Discover how DOME Marketplace connects you to Europe's finest cloud and edge services", - "CUSTOMERS":{ - "_title": "For customers", - "_subtitle": "Discover", - "_search_title": "Search and Explore", - "_search_desc": "Use our intuitive search to find the services that match your digital transformation needs.", - "_compare_title": "Compare and Decide", - "_compare_desc": "Evaluate services based on features, EU compliance and reviews to make informed choices.", - "_seamless_title": "Seamless Integration", - "_seamless_desc": "Follow our easy process to integrate and deploy your chosen services swiftly.", - "_join": "Join as customer", - "_explore": "Explore the catalogue", - "_contact": "Contact us", - "_description": "The marketplace is actually free to browse. Take a look at the catalogue contents, search for the services you need, verify the different offerings, get in touch with the service providers to better understand the proposal and acquire the desired service." - }, - "PROVIDERS": { - "_title": "For providers", - "_subtitle": "Connect and Grow", - "_register_title": "Register Your Service", - "_register_desc": "Sign up and submit your european service for validation, ensuring compliance and quality.", - "_verified_title": "Get verified", - "_verified_desc": "Our team will quickly verify your offerings to ensure they meet Distributed Open Marketplace standards.", - "_reach_title": "Reach Europe", - "_reach_desc": "Once verified, your services will be accessible to a wide European audience, ready to grow your business.", - "_join": "Join as provider", - "_onboard": "Onboard the marketplace", - "_contact": "Contact us", - "_description_start": "Qualify you company through the reference", - "_link": "Company Onboarding process", - "_description_end": "and then start describing your offerings through the Offering qualification process and star being visible on the market inside this trustable catalogue." - } + "hero": { + "_titleLine1Part1": "The Trusted", + "_titleLine1Accent": "European", + "_titleLine2": "Ecosystem for Cloud,", + "_titleLine3": "Edge & AI Services.", + "_subtitleLine1": "Connecting providers and customers to discover, deliver and scale sovereign digital", + "_subtitleLine2": "services across Europe.", + "_customerCta": "Start your customer journey", + "_providerCta": "Start your provider journey" }, - "EXPLORE": { - "_title": "Explore the Distributed Open Marketplace Project", - "_subtitle": "Whether you're seeking in-depth reports, latest updates or upcoming events, everything ou need to know is just a click away", - "_events_title": "Events and Webinars", - "_events_desc": "Join us at our next event or webinar to connect with fellow innovators, learn from industry leaders and discover new opportunities within the 'DOME' Project's ecosystem.", - "_updates_title": "Latest Updates and News", - "_updates_desc": "Stay informed with the latest developments, service enhancements and industry insights directly from the 'DOME' Project's website.", - "_resources_title": "Resources & Reports", - "_resources_desc": "Access our library of resources, detailed reports and case studies to gain a deep understanding of the cloud and edge market landscape and 'DOME' Project's impact.", - "_go": "DOME Project" + "stats": { + "title": "A secure federated marketplace", + "subtitle": "EU-based compliance & data sovereignty framework with a growing ecosystem of B2B partners.", + "services": "Verified services available across the ecosystem", + "providers": "Registered and verified providers" }, - "CARD": { - "_details": "View details", - "_quote": "Create quote", - "_add_cart": "Add to cart", - "_close": "Close modal", - "_categories": "Categories", - "_prod_details": "Product details", - "_comp_profile": "Compliance profile", - "_extra_info": "Extra information", - "_offer_version": "Offer version", - "_product_name": "Product name", - "_brand": "Brand", - "_last_update": "Last update", - "_product_version": "Product version", - "_id_number": "Identification number", - "_added_card": "Added to the cart", - "_undo": "Undo", - "_close_toast": "Close", - "_from": "From", - "_full_desc": "Full description", - "_price_plans": "Price plans", - "_select_price": "Select price plan", - "_chars": "Characteristics", - "_select_char": "Select characteristics", - "_terms": "Terms and conditions", - "_accept_terms": "I have read and I accept the terms and conditions.", - "_next": "Next", - "_back": "Back", - "_checkout": "Add to cart", - "_no_terms": "This product has no terms and conditions.", - "_no_chars": "This product has no characteristics.", - "_no_prices": "This product has no price plans.", - "_owner": "Owner", - "_price_plan": "Price Plan" + "_title": "DOME Marketplace is out! See what's new", + "_header": "Digital Trust to move forward", + "_subheader": "Join the first open distributed marketplace ecosystem for cloud, edge & AI services in Europe.", + "_new": "New", + "_learn_more": "Learn more", + "_video": "Watch video", + "_categories": "All categories", + "_cloud": "Cloud Services", + "_edge": "Edge Services", + "_smart_ports": "Smart ports", + "_smart_cities": "Smart cities", + "_search_ph": "Search Cloud Services, Edge Services, Providers...", + "_search": "Search", + "_not_found": "No offers found", + "_browse_serv": "Browse services", + "_view_serv": "View services", + "_close_menu": "Close menu", + "_all_catalogs": "All catalogues", + "_categories_single": "Categories" + }, + "FEATURED": { + "_title": "Featured offerings", + "CARD1": { + "_badge": "Design", + "_title": "Start with Flowbite Design System", + "_description": "Static websites are now used to bootstrap lots of websites and are becoming the basis for a variety of tools that even influence both web designers and developers.", + "_more": "Read more" }, - "CATEGORIES_FILTER": { - "_remove_badge": "Remove badge", - "_applied_filters": "Applied filters:" + "CARD2": { + "_badge": "Code", + "_title": "Best react libraries around the web", + "_description": "Static websites are now used to bootstrap lots of websites and are becoming the basis for a variety of tools that even influence both web designers and developers.", + "_more": "Read more" + } + }, + "GALLERY": { + "_title": "Featured offerings", + "_explore": "Explore marketplace", + "_add_your_service": "Add your service", + "_no_products": "Sorry! There are no products available at this moment. Please check again later." + }, + "PLATFORM": { + "_title": "Platform benefits", + "_subtitle": "Your Gateway to Europe's Premier Digital Ecosystem", + "_learn_more": "Learn more", + "OPEN": { + "_title": "Open", + "_desc": "Navigate with confidence through transparent practices in service provisioning, pricing and operations." }, - "CART_DRAWER": { - "_title": "Shopping Cart", - "_close": "Close menu", - "_empty": "Empty cart", - "_purchase": "Proceed to purchase", - "_subtotal": "Subtotal" + "INTEROPERABLE": { + "_title": "Interoperable", + "_desc": "Unlock endless possibilities with our open ecosystem, designed for seamless collaboration and innovation." }, - "FOOTER": { - "_about": "About", - "_privacy": "Privacy Policy", - "_cookies": "Cookies Policy", - "_licensing": "Terms of Use", - "_contact": "Contact", - "_rights": "All Rights Reserved" + "TRUSTWORTHY": { + "_title": "Trustworthy", + "_desc": "Build on a foundation of trust with services vetted for security, reliability and compliance." }, - "HEADER": { - "_marketplace": "DOME MARKETPLACE", - "_open_menu": "Open main menu", - "_home": "Home", - "_catalogs": "Providers catalogues", - "_search": "Search", - "_browse": "Browse", - "_cloud": "Cloud Services", - "_smart_ports": "Smart ports", - "_smart_cities": "Smart cities", - "_see_all": "See all", - "_services": "Services", - "_contact": "Contact", - "_profile": "Profile", - "_offerings": "My Offerings", - "_cart": "My shopping cart", - "_sign_out": "Sign out", - "_inventory": "My inventory", - "_support": "Support", - "_knowledge": "Knowledge Base", - "_ticketing": "Ticketing System", - "_change_session": "Change session", - "_admin": "Administration", - "_publish": "Publish your offerings", - "_register_here": "Register here", - "_register": "Register", - "_guidelines": "Guidelines to register", - "_guideline_publish": "Guideline to publish", - "_onboarding": "Onboarding", - "_registration": "Registration form", - "_about": "About", - "_verify": "Publish your offering", - "_info": "Info", - "_orders": "Product Orders", - "_blog": "Dome blog" + "COMPLIANT": { + "_title": "Compliant", + "_desc": "Stay ahead of the curve with services that adhere strictly to EU regulations and standards, for legal compliance and data protection." }, - "PRODUCT_DETAILS": { - "_back": "Back", - "_details": "Details", - "_information": "Information", - "_chars": "Characteristics", - "_attach": "Attachments", - "_agreements": "Agreements", - "_relationships": "Relationships", - "_no_chars": "No characteristics included", - "_no_attach": "No attachments included", - "_license": "License", - "_no_license": "No license included", - "_sla": "SLA", - "_no_sla": "No SLA included", - "_no_relatioships": "No relationships included", - "_service_spec": "This offering includes the following service specifications", - "_resource_spec": "This offering includes the following resource specifications", - "_self_attestation": "You can find the self attestation document here.", - "_product_pricing": "Product pricing", - "_product_chars": "Product characteristics", - "_product_att": "Product attachments", - "_product_rels": "Product relationships" + "SUSTAINABLE": { + "_title": "Sustainable", + "_desc": "Embrace sustainability with services that prioritize enery efficiency and environmental responsability." }, "CATALOGS": { - "_all_catalogs": "All catalogues", - "_no_desc": "No description included", - "_no_cat": "No categories included", - "_view_details": "View details", - "_desc": "Description", - "_choose": "Choose between our Catalogues" + "_all_catalogs": "All catalogues", + "_no_desc": "No description included", + "_no_cat": "No categories included", + "_view_details": "View details", + "_desc": "Description", + "_choose": "Choose between our Catalogues" }, "SHOPPING_CART": { - "_buy": "Buy", - "_back": "Back", - "_billingAddress": "Billing Address", - "_confirm": "Confirm and pay", - "_checkout": "Checkout", - "_note": "Add notes", - "_choose_bill": "Choose a billing address", - "_cart": "Cart", - "_email": "Email", - "_postalAddress": "Postal address", - "_phone": "Phone number", - "_billing_check": "You should first create at least a billing address in order to checkout an order.", - "_click_here": "Click here", - "_free": "Free", - "_free_desc": "The offering is free", - "_loading_purchase": "Loading purchase", - "_contact": "Contact", - "_update": "Update", - "_contact_person": "Contact Person", - "_order_note": "Order Note", - "_your_order": "Your Order", - "_subtotal": "Sub Total", - "_tax": "Tax", - "_calculated": "Calculated at checkout", - "_fee": "Service fee*" + "_buy": "Buy", + "_back": "Back", + "_billingAddress": "Billing Address", + "_confirm": "Confirm and pay", + "_checkout": "Checkout", + "_note": "Add notes", + "_choose_bill": "Choose a billing address", + "_cart": "Cart", + "_email": "Email", + "_postalAddress": "Postal address", + "_phone": "Phone number", + "_billing_check": "You should first create at least a billing address in order to checkout an order.", + "_click_here": "Click here", + "_free": "Free", + "_free_desc": "The offering is free", + "_loading_purchase": "Loading purchase", + "_contact": "Contact", + "_update": "Update", + "_contact_person": "Contact Person", + "_order_note": "Order Note", + "_your_order": "Your Order", + "_subtotal": "Sub Total", + "_tax": "Tax", + "_calculated": "Calculated at checkout", + "_fee": "Service fee*" }, - "PROFILE":{ - "_general": "General", - "_bill": "Billing addresses", - "_revenue": "Revenue sharing", - "_payment_dashboard": "Payment dashboard", - "_lear_link": "VC Issuer", - "_orders": "Orders", - "_order_list": "My order list", - "_update": "Update", - "_account": "Account", - "_username": "Username", - "_token": "Access token", - "_email": "Email", - "_profile": "Profile", - "_name": "Name", - "_lastname": "Lastname", - "_treatment": "Treatment", - "_marital_status": "Marital status", - "_gender": "Gender", - "_nacionality": "Nacionality", - "_birthdate": "Birthdate", - "_date": "Date", - "_country": "Country", - "_did": "DID", - "_city": "City", - "_mybills": "My billing addresses", - "_user_id": "User id", - "_no_orders": "No orders found", - "_organization": "Organization", - "_medium_type": "Medium type", - "_preferred": "Preferred", - "_no_mediums": "There's no contact medium information.", - "_contact_info": "Contact information", - "_info": "Info", - "_actions": "Actions", - "_add_new_contact": "Add a new contact medium", - "_postalAddress": "Postal address", - "_phone": "Phone number", - "_phone_type": "Phone Type", - "_action": "Actions", - "_state": "State / Province", - "_post_code": "ZIP / Postal Code", - "_street": "Street Address", - "_edit": "Edit contact medium", - "_delete": "Yes, delete", - "_confirm_delete": "Are you sure about deleting the following billing address?", - "_cancel": "No, cancel", - "_invalid_phone": "Phone number is invalid!", - "_invalid_email": "Email is invalid!", - "_save": "Save", - "_success": "Updated successfully", - "_website": "Website", - "_add_logo": "Add organization logo", - "_add_logo_url": "Add organization logo using a URL", - "_acknowledged": "Acknowledged", - "_in_progress": "In Progress", - "_partial": "Partial", - "_completed": "Completed", - "_failed": "Failed", - "_pending": "Pending", - "_cancelled": "Cancelled", - "_order_details": "Order details:", - "_billing_address": "Billing address", - "_price": "Price", - "_img": "Img", - "_custom": "Custom", - "_free": "Free" + "PROFILE": { + "_general": "General", + "_bill": "Billing addresses", + "_revenue": "Revenue sharing", + "_payment_dashboard": "Payment dashboard", + "_lear_link": "VC Issuer", + "_orders": "Orders", + "_order_list": "My order list", + "_update": "Update", + "_account": "Account", + "_username": "Username", + "_token": "Access token", + "_email": "Email", + "_profile": "Profile", + "_name": "Name", + "_lastname": "Lastname", + "_treatment": "Treatment", + "_marital_status": "Marital status", + "_gender": "Gender", + "_nacionality": "Nacionality", + "_birthdate": "Birthdate", + "_date": "Date", + "_country": "Country", + "_did": "DID", + "_city": "City", + "_mybills": "My billing addresses", + "_user_id": "User id", + "_no_orders": "No orders found", + "_organization": "Organization", + "_medium_type": "Medium type", + "_preferred": "Preferred", + "_no_mediums": "There's no contact medium information.", + "_contact_info": "Contact information", + "_info": "Info", + "_actions": "Actions", + "_add_new_contact": "Add a new contact medium", + "_postalAddress": "Postal address", + "_phone": "Phone number", + "_phone_type": "Phone Type", + "_action": "Actions", + "_state": "State / Province", + "_post_code": "ZIP / Postal Code", + "_street": "Street Address", + "_edit": "Edit contact medium", + "_delete": "Yes, delete", + "_confirm_delete": "Are you sure about deleting the following billing address?", + "_cancel": "No, cancel", + "_invalid_phone": "Phone number is invalid!", + "_invalid_email": "Email is invalid!", + "_save": "Save", + "_success": "Updated successfully", + "_website": "Website", + "_add_logo": "Add organization logo", + "_add_logo_url": "Add organization logo using a URL", + "_acknowledged": "Acknowledged", + "_in_progress": "In Progress", + "_partial": "Partial", + "_completed": "Completed", + "_failed": "Failed", + "_pending": "Pending", + "_cancelled": "Cancelled", + "_order_details": "Order details:", + "_billing_address": "Billing address", + "_price": "Price", + "_img": "Img", + "_custom": "Custom", + "_free": "Free" }, - "PRODUCT_INVENTORY":{ - "_loading": "Loading...", - "_products": "Products", - "_services": "Services", - "_resources": "Resources", - "_orders": "Orders", - "_not_found": "No products found.", - "_no_resources": "No resources found.", - "_no_services": "No services found.", - "_search_criteria": "Search criteria", - "_prod_details": "Product details", - "_description": "Description", - "_pricing": "Product pricing", - "_chars": "Product characteristics", - "_res_details": "Resource details", - "_res_chars": "Resource characteristics", - "_serv_details": "Service details", - "_serv_chars": "Service characteristics", - "_start_date": "Start operating date", - "_order_id": "Order Id", - "_state": "State", - "_status": "Status", - "_priority": "Priority", - "_desc": "Description", - "_price": "Price", - "_bill": "Billing address", - "_inventory": "Inventory", - "_feasibility": "Feasibility Checked", - "_designed": "Designed", - "_reserved": "Reserved", - "_inactive": "Inactive", - "_active": "Active", - "_terminated": "Terminated", - "_id": "Id", - "_standby": "Standby", - "_alarm": "Alarm", - "_available": "Available", - "_suspended": "Suspended", - "_unknown": "Unknown", - "_created": "Created", - "_unsubscribe": "Unsubscribe", - "_close_modal": "Close modal", - "_cancel_sub": "Are you sure you want to cancel this subscription?", - "_cancel": "No, cancel", - "_yes_sure": "Yes, I'm sure", - "_renew_sub": "Are you sure you want to renew this subscription?" + "PRODUCT_INVENTORY": { + "_loading": "Loading...", + "_products": "Products", + "_services": "Services", + "_resources": "Resources", + "_orders": "Orders", + "_not_found": "No products found.", + "_no_resources": "No resources found.", + "_no_services": "No services found.", + "_search_criteria": "Search criteria", + "_prod_details": "Product details", + "_description": "Description", + "_pricing": "Product pricing", + "_chars": "Product characteristics", + "_res_details": "Resource details", + "_res_chars": "Resource characteristics", + "_serv_details": "Service details", + "_serv_chars": "Service characteristics", + "_start_date": "Start operating date", + "_order_id": "Order Id", + "_state": "State", + "_status": "Status", + "_priority": "Priority", + "_desc": "Description", + "_price": "Price", + "_bill": "Billing address", + "_inventory": "Inventory", + "_feasibility": "Feasibility Checked", + "_designed": "Designed", + "_reserved": "Reserved", + "_inactive": "Inactive", + "_active": "Active", + "_terminated": "Terminated", + "_id": "Id", + "_standby": "Standby", + "_alarm": "Alarm", + "_available": "Available", + "_suspended": "Suspended", + "_unknown": "Unknown", + "_created": "Created", + "_unsubscribe": "Unsubscribe", + "_close_modal": "Close modal", + "_cancel_sub": "Are you sure you want to cancel this subscription?", + "_cancel": "No, cancel", + "_yes_sure": "Yes, I'm sure", + "_renew_sub": "Are you sure you want to renew this subscription?" }, "BILLING": { - "_title": "Title", - "_email": "Email", - "_postalAddress": "Postal address", - "_phone": "Phone number", - "_phone_type": "Phone Type", - "_action": "Actions", - "_country": "Country", - "_city": "City", - "_state": "State / Province", - "_post_code": "ZIP / Postal Code", - "_street": "Street Address", - "_add": "Add billing address", - "_edit": "Edit billing address", - "_update": "Update billing address", - "_delete": "Yes, delete", - "_confirm_delete": "Are you sure about deleting the following billing address?", - "_cancel": "No, cancel", - "_invalid_phone": "Phone number is invalid!", - "_invalid_email": "Email is invalid!", - "_no_billing": "There's no billing information.", - "_close_modal": "Close modal", - "_mandatory": "This field is mandatory.", - "_too_long": "This field is too long. Must be less than 250 characters.", - "_too_long_larger": "This field is too long. Must be less than 1000 characters.", - "_too_long_email": "Email is too long. Must be less than 320 characters.", - "_email_format": "Email must follow the following format: example@example.example" + "_title": "Title", + "_email": "Email", + "_postalAddress": "Postal address", + "_phone": "Phone number", + "_phone_type": "Phone Type", + "_action": "Actions", + "_country": "Country", + "_city": "City", + "_state": "State / Province", + "_post_code": "ZIP / Postal Code", + "_street": "Street Address", + "_add": "Add billing address", + "_edit": "Edit billing address", + "_update": "Update billing address", + "_delete": "Yes, delete", + "_confirm_delete": "Are you sure about deleting the following billing address?", + "_cancel": "No, cancel", + "_invalid_phone": "Phone number is invalid!", + "_invalid_email": "Email is invalid!", + "_no_billing": "There's no billing information.", + "_close_modal": "Close modal", + "_mandatory": "This field is mandatory.", + "_too_long": "This field is too long. Must be less than 250 characters.", + "_too_long_larger": "This field is too long. Must be less than 1000 characters.", + "_too_long_email": "Email is too long. Must be less than 320 characters.", + "_email_format": "Email must follow the following format: example@example.example" }, "INVOICES": { "_invoice_id": "Invoice ID", @@ -586,693 +438,1732 @@ "_period_coverage": "Period Coverage" }, "CREATE_CATALOG": { - "_back": "Back", - "_create": "Create catalogue", - "_status": "Status", - "_new": "New catalogue", - "_steps": "Steps", - "_general": "General", - "_general_info": "Catalogue's general information", - "_actions": "Actions", - "_type": "Type", - "_preview": "Preview", - "_show_preview": "Show preview", - "_name": "Name", - "_description": "Description", - "_next": "Next", - "_summary": "Catalogue's summary", - "_finish": "Finish" + "_back": "Back", + "_create": "Create catalogue", + "_status": "Status", + "_new": "New catalogue", + "_steps": "Steps", + "_general": "General", + "_general_info": "Catalogue's general information", + "_actions": "Actions", + "_type": "Type", + "_preview": "Preview", + "_show_preview": "Show preview", + "_name": "Name", + "_description": "Description", + "_next": "Next", + "_summary": "Catalogue's summary", + "_finish": "Finish" }, "UPDATE_CATALOG": { - "_back": "Back", - "_create": "Update catalogue", - "_status": "Status", - "_update": "Update catalogue", - "_steps": "Steps", - "_general": "General", - "_general_info": "Catalogue's general information", - "_actions": "Actions", - "_type": "Type", - "_preview": "Preview", - "_show_preview": "Show preview", - "_name": "Name", - "_description": "Description", - "_next": "Next", - "_summary": "Catalogue's summary", - "_finish": "Finish", - "_active": "Active", - "_launched": "Launched", - "_retired": "Retired", - "_obsolete": "Obsolete" + "_back": "Back", + "_create": "Update catalogue", + "_status": "Status", + "_update": "Update catalogue", + "_steps": "Steps", + "_general": "General", + "_general_info": "Catalogue's general information", + "_actions": "Actions", + "_type": "Type", + "_preview": "Preview", + "_show_preview": "Show preview", + "_name": "Name", + "_description": "Description", + "_next": "Next", + "_summary": "Catalogue's summary", + "_finish": "Finish", + "_active": "Active", + "_launched": "Launched", + "_retired": "Retired", + "_obsolete": "Obsolete" }, - "CREATE_PROD_SPEC":{ - "_back": "Back", - "_create": "Create product specification", - "_new": "New product", - "_steps": "Steps", - "_general": "General", - "_general_info": "Product's general information", - "_bundle": "Bundle", - "_bundle_info": "Product's blundle information", - "_comp_profile": "Compliance profile", - "_comp_profile_info": "Product's compliance profile", - "_no_comp_profile": "No compliance profile included.", - "_chars": "Characteristics", - "_chars_info": "Product's characteristics", - "_resource": "Resource Specs", - "_resource_info": "Product's resource specifications", - "_service": "Service Specs", - "_service_info": "Product's service specifications", - "_attachments": "Attachments", - "_attachments_info": "Product's attachments", - "_relationships": "Relationships", - "_relationships_info": "Product's relationships", - "_product_name": "Name", - "_product_version": "Version", - "_product_brand": "Brand", - "_id_number": "ID Number", - "_product_description": "Description", - "_preview": "Preview", - "_show_preview": "Show preview", - "_next": "Next", - "_is_bundled": "Bundled product?", - "_status": "Status", - "_type": "Type", - "_last_update": "Last update", - "_select": "Select", - "_simple": "Simple", - "_load_more": "Load more", - "_add_comp": "3rd party certifications", - "_value": "Value", - "_actions": "Actions", - "_no_chars": "No characteristics included.", - "_values": "Values", - "_new_char": "Create new characteristic", - "_add_values": "Add values", - "_unit": "Unit", - "_from": "From", - "_to": "To", - "_save_char": "Save characteristic", - "_json_value": "JSON Value", - "_add_json": "Add JSON Value", - "_make_optional": "Make this characteristic optional", - "_default_value": "Default value", - "_default_false": "Disabled by default", - "_default_true": "Enabled by default", - "_resource_specs": "Resource specifications", - "_service_specs": "Service specifications", - "_add_prod_img": "Add product image", - "_drop_files": "Drop one file to attatch or", - "_select_files": "select a file.", - "_add_prod_img_url": "Add product image using URL", - "_add_att": "Attachments", - "_no_att": "No attachments included.", - "_new_att": "Add new attachment", - "_save_att": "Save attachment", - "_no_relatioships": "No relationships included.", - "_relationship_type": "Relationship type", - "_add_relationship": "Add new relationship", - "_save_relationship": "Save relationship", - "_profile_pic": "Profile picture", - "_finish": "Finish", - "_summary": "Product's summary", - "_create_prod": "Create product", - "_file_res": "File restrictions", - "_restrictions": "File size must be under 3MB. File names can only include alphabetical characters (A-Z, a-z), numbers (0-9) and a limited set of symbols, such as underscores (_), hyphens (-), and periods (.). ", - "_file_name": "Image URL should end by png, jpg, jpeg, gif, bmp or webp format.", - "_file_check": "You need to upload a file before proceeding.", - "_self_attestation": "Self Attestation:", - "_close_modal": "Close modal", - "_cancel": "Cancel", - "_upload": "Upload" + "CREATE_PROD_SPEC": { + "_back": "Back", + "_create": "Create product specification", + "_new": "New product", + "_steps": "Steps", + "_general": "General", + "_general_info": "Product's general information", + "_bundle": "Bundle", + "_bundle_info": "Product's blundle information", + "_comp_profile": "Compliance profile", + "_comp_profile_info": "Product's compliance profile", + "_no_comp_profile": "No compliance profile included.", + "_chars": "Characteristics", + "_chars_info": "Product's characteristics", + "_resource": "Resource Specs", + "_resource_info": "Product's resource specifications", + "_service": "Service Specs", + "_service_info": "Product's service specifications", + "_attachments": "Attachments", + "_attachments_info": "Product's attachments", + "_relationships": "Relationships", + "_relationships_info": "Product's relationships", + "_product_name": "Name", + "_product_version": "Version", + "_product_brand": "Brand", + "_id_number": "ID Number", + "_product_description": "Description", + "_preview": "Preview", + "_show_preview": "Show preview", + "_next": "Next", + "_is_bundled": "Bundled product?", + "_status": "Status", + "_type": "Type", + "_last_update": "Last update", + "_select": "Select", + "_simple": "Simple", + "_load_more": "Load more", + "_add_comp": "3rd party certifications", + "_value": "Value", + "_actions": "Actions", + "_no_chars": "No characteristics included.", + "_values": "Values", + "_new_char": "Create new characteristic", + "_add_values": "Add values", + "_unit": "Unit", + "_from": "From", + "_to": "To", + "_save_char": "Save characteristic", + "_json_value": "JSON Value", + "_add_json": "Add JSON Value", + "_make_optional": "Make this characteristic optional", + "_default_value": "Default value", + "_default_false": "Disabled by default", + "_default_true": "Enabled by default", + "_resource_specs": "Resource specifications", + "_service_specs": "Service specifications", + "_add_prod_img": "Add product image", + "_drop_files": "Drop one file to attatch or", + "_select_files": "select a file.", + "_add_prod_img_url": "Add product image using URL", + "_add_att": "Attachments", + "_no_att": "No attachments included.", + "_new_att": "Add new attachment", + "_save_att": "Save attachment", + "_no_relatioships": "No relationships included.", + "_relationship_type": "Relationship type", + "_add_relationship": "Add new relationship", + "_save_relationship": "Save relationship", + "_profile_pic": "Profile picture", + "_finish": "Finish", + "_summary": "Product's summary", + "_create_prod": "Create product", + "_file_res": "File restrictions", + "_restrictions": "File size must be under 3MB. File names can only include alphabetical characters (A-Z, a-z), numbers (0-9) and a limited set of symbols, such as underscores (_), hyphens (-), and periods (.). ", + "_file_name": "Image URL should end by png, jpg, jpeg, gif, bmp or webp format.", + "_file_check": "You need to upload a file before proceeding.", + "_self_attestation": "Self Attestation:", + "_close_modal": "Close modal", + "_cancel": "Cancel", + "_upload": "Upload" }, - "UPDATE_PROD_SPEC":{ - "_back": "Back", - "_update": "Update product specification", - "_new": "Update product", - "_steps": "Steps", - "_general": "General", - "_general_info": "Product's general information", - "_bundle": "Bundle", - "_bundle_info": "Product's blundle information", - "_comp_profile": "Compliance profile", - "_comp_profile_info": "Product's compliance profile", - "_no_comp_profile": "No compliance profile included.", - "_chars": "Characteristics", - "_chars_info": "Product's characteristics", - "_resource": "Resource Specs", - "_resource_info": "Product's resource specifications", - "_service": "Service Specs", - "_service_info": "Product's service specifications", - "_attachments": "Attachments", - "_attachments_info": "Product's attachments", - "_relationships": "Relationships", - "_relationships_info": "Product's relationships", - "_product_name": "Name", - "_product_version": "Version", - "_product_brand": "Brand", - "_id_number": "ID Number", - "_product_description": "Description", - "_preview": "Preview", - "_show_preview": "Show preview", - "_next": "Next", - "_is_bundled": "Bundled product?", - "_status": "Status", - "_type": "Type", - "_last_update": "Last update", - "_select": "Select", - "_simple": "Simple", - "_load_more": "Load more", - "_add_comp": "3rd party certifications", - "_value": "Value", - "_actions": "Actions", - "_no_chars": "No characteristics included.", - "_values": "Values", - "_new_char": "Create new characteristic", - "_add_values": "Add values", - "_unit": "Unit", - "_from": "From", - "_to": "To", - "_save_char": "Save characteristic", - "_json_value": "JSON Value", - "_add_json": "Add JSON Value", - "_make_optional": "Make this characteristic optional", - "_default_value": "Default value", - "_default_false": "Disabled by default", - "_default_true": "Enabled by default", - "_resource_specs": "Resource specifications", - "_service_specs": "Service specifications", - "_add_prod_img": "Add product image", - "_drop_files": "Drop one file to attatch or", - "_select_files": "select a file.", - "_add_prod_img_url": "Add product image using URL", - "_add_att": "Attachments", - "_no_att": "No attachments included.", - "_new_att": "Add new attachment", - "_save_att": "Save attachment", - "_no_relatioships": "No relationships included.", - "_relationship_type": "Relationship type", - "_add_relationship": "Add new relationship", - "_save_relationship": "Save relationship", - "_profile_pic": "Profile picture", - "_finish": "Finish", - "_summary": "Product's summary", - "_update_prod": "Update product", - "_verify": "Verify Certificates", - "_how_to_verify": "How to get a valid VC of the certificate?", - "_verify_text": "To get a valid VC of the certificate you can access the ", - "_dome_trust": "DOME Trust Service Provider for Certification", - "_file_res": "File restrictions", - "_restrictions": "File size must be under 3MB. File names can only include characters (a-z), (A-Z), (0-9), and a limited set of symbols including underscores (_), hyphens (-), and periods (.). ", - "_file_name": "Image URL should end by png, jpg, jpeg, gif, bmp or webp format.", - "_active": "Active", - "_launched": "Launched", - "_retired": "Retired", - "_obsolete": "Obsolete", - "_self_attestation": "Self Attestation:", - "_close_modal": "Close modal", - "_cancel": "Cancel", - "_upload": "Upload" + "UPDATE_PROD_SPEC": { + "_back": "Back", + "_update": "Update product specification", + "_new": "Update product", + "_steps": "Steps", + "_general": "General", + "_general_info": "Product's general information", + "_bundle": "Bundle", + "_bundle_info": "Product's blundle information", + "_comp_profile": "Compliance profile", + "_comp_profile_info": "Product's compliance profile", + "_no_comp_profile": "No compliance profile included.", + "_chars": "Characteristics", + "_chars_info": "Product's characteristics", + "_resource": "Resource Specs", + "_resource_info": "Product's resource specifications", + "_service": "Service Specs", + "_service_info": "Product's service specifications", + "_attachments": "Attachments", + "_attachments_info": "Product's attachments", + "_relationships": "Relationships", + "_relationships_info": "Product's relationships", + "_product_name": "Name", + "_product_version": "Version", + "_product_brand": "Brand", + "_id_number": "ID Number", + "_product_description": "Description", + "_preview": "Preview", + "_show_preview": "Show preview", + "_next": "Next", + "_is_bundled": "Bundled product?", + "_status": "Status", + "_type": "Type", + "_last_update": "Last update", + "_select": "Select", + "_simple": "Simple", + "_load_more": "Load more", + "_add_comp": "3rd party certifications", + "_value": "Value", + "_actions": "Actions", + "_no_chars": "No characteristics included.", + "_values": "Values", + "_new_char": "Create new characteristic", + "_add_values": "Add values", + "_unit": "Unit", + "_from": "From", + "_to": "To", + "_save_char": "Save characteristic", + "_json_value": "JSON Value", + "_add_json": "Add JSON Value", + "_make_optional": "Make this characteristic optional", + "_default_value": "Default value", + "_default_false": "Disabled by default", + "_default_true": "Enabled by default", + "_resource_specs": "Resource specifications", + "_service_specs": "Service specifications", + "_add_prod_img": "Add product image", + "_drop_files": "Drop one file to attatch or", + "_select_files": "select a file.", + "_add_prod_img_url": "Add product image using URL", + "_add_att": "Attachments", + "_no_att": "No attachments included.", + "_new_att": "Add new attachment", + "_save_att": "Save attachment", + "_no_relatioships": "No relationships included.", + "_relationship_type": "Relationship type", + "_add_relationship": "Add new relationship", + "_save_relationship": "Save relationship", + "_profile_pic": "Profile picture", + "_finish": "Finish", + "_summary": "Product's summary", + "_update_prod": "Update product", + "_verify": "Verify Certificates", + "_how_to_verify": "How to get a valid VC of the certificate?", + "_verify_text": "To get a valid VC of the certificate you can access the ", + "_dome_trust": "DOME Trust Service Provider for Certification", + "_file_res": "File restrictions", + "_restrictions": "File size must be under 3MB. File names can only include characters (a-z), (A-Z), (0-9), and a limited set of symbols including underscores (_), hyphens (-), and periods (.). ", + "_file_name": "Image URL should end by png, jpg, jpeg, gif, bmp or webp format.", + "_active": "Active", + "_launched": "Launched", + "_retired": "Retired", + "_obsolete": "Obsolete", + "_self_attestation": "Self Attestation:", + "_close_modal": "Close modal", + "_cancel": "Cancel", + "_upload": "Upload" }, "CREATE_RES_SPEC": { - "_back": "Back", - "_create": "Create resource specification", - "_new": "New resource", - "_steps": "Steps", - "_general": "General", - "_general_info": "Resource's general information", - "_chars": "Characteristics", - "_chars_info": "Resource's characteristics", - "_value": "Value", - "_actions": "Actions", - "_no_chars": "No characteristics included.", - "_values": "Values", - "_new_char": "Create new characteristic", - "_add_values": "Add values", - "_unit": "Unit", - "_from": "From", - "_to": "To", - "_type": "Type", - "_save_char": "Save characteristic", - "_preview": "Preview", - "_show_preview": "Show preview", - "_name": "Name", - "_description": "Description", - "_next": "Next", - "_finish": "Finish", - "_create_res": "Create resource" + "_back": "Back", + "_create": "Create resource specification", + "_new": "New resource", + "_steps": "Steps", + "_general": "General", + "_general_info": "Resource's general information", + "_chars": "Characteristics", + "_chars_info": "Resource's characteristics", + "_value": "Value", + "_actions": "Actions", + "_no_chars": "No characteristics included.", + "_values": "Values", + "_new_char": "Create new characteristic", + "_add_values": "Add values", + "_unit": "Unit", + "_from": "From", + "_to": "To", + "_type": "Type", + "_save_char": "Save characteristic", + "_preview": "Preview", + "_show_preview": "Show preview", + "_name": "Name", + "_description": "Description", + "_next": "Next", + "_finish": "Finish", + "_create_res": "Create resource" }, "UPDATE_RES_SPEC": { - "_back": "Back", - "_status": "Status", - "_update": "Update resource specification", - "_new": "New resource", - "_steps": "Steps", - "_general": "General", - "_general_info": "Resource's general information", - "_chars": "Characteristics", - "_chars_info": "Resource's characteristics", - "_value": "Value", - "_actions": "Actions", - "_no_chars": "No characteristics included.", - "_values": "Values", - "_new_char": "Create new characteristic", - "_add_values": "Add values", - "_unit": "Unit", - "_from": "From", - "_to": "To", - "_type": "Type", - "_save_char": "Save characteristic", - "_preview": "Preview", - "_show_preview": "Show preview", - "_name": "Name", - "_description": "Description", - "_next": "Next", - "_finish": "Finish", - "_update_res": "Update resource" + "_back": "Back", + "_status": "Status", + "_update": "Update resource specification", + "_new": "New resource", + "_steps": "Steps", + "_general": "General", + "_general_info": "Resource's general information", + "_chars": "Characteristics", + "_chars_info": "Resource's characteristics", + "_value": "Value", + "_actions": "Actions", + "_no_chars": "No characteristics included.", + "_values": "Values", + "_new_char": "Create new characteristic", + "_add_values": "Add values", + "_unit": "Unit", + "_from": "From", + "_to": "To", + "_type": "Type", + "_save_char": "Save characteristic", + "_preview": "Preview", + "_show_preview": "Show preview", + "_name": "Name", + "_description": "Description", + "_next": "Next", + "_finish": "Finish", + "_update_res": "Update resource" }, "CREATE_SERV_SPEC": { - "_back": "Back", - "_create": "Create service specification", - "_new": "New service", - "_steps": "Steps", - "_general": "General", - "_general_info": "Service's general information", - "_chars": "Characteristics", - "_chars_info": "Service's characteristics", - "_value": "Value", - "_actions": "Actions", - "_no_chars": "No characteristics included.", - "_values": "Values", - "_new_char": "Create new characteristic", - "_add_values": "Add values", - "_unit": "Unit", - "_from": "From", - "_to": "To", - "_type": "Type", - "_save_char": "Save characteristic", - "_preview": "Preview", - "_show_preview": "Show preview", - "_name": "Name", - "_description": "Description", - "_next": "Next", - "_finish": "Finish", - "_create_serv": "Create service" + "_back": "Back", + "_create": "Create service specification", + "_new": "New service", + "_steps": "Steps", + "_general": "General", + "_general_info": "Service's general information", + "_chars": "Characteristics", + "_chars_info": "Service's characteristics", + "_value": "Value", + "_actions": "Actions", + "_no_chars": "No characteristics included.", + "_values": "Values", + "_new_char": "Create new characteristic", + "_add_values": "Add values", + "_unit": "Unit", + "_from": "From", + "_to": "To", + "_type": "Type", + "_save_char": "Save characteristic", + "_preview": "Preview", + "_show_preview": "Show preview", + "_name": "Name", + "_description": "Description", + "_next": "Next", + "_finish": "Finish", + "_create_serv": "Create service" }, "UPDATE_SERV_SPEC": { - "_back": "Back", - "_status": "Status", - "_update": "Update service specification", - "_new": "New service", - "_steps": "Steps", - "_general": "General", - "_general_info": "Service's general information", - "_chars": "Characteristics", - "_chars_info": "Service's characteristics", - "_value": "Value", - "_actions": "Actions", - "_no_chars": "No characteristics included.", - "_values": "Values", - "_new_char": "Create new characteristic", - "_add_values": "Add values", - "_unit": "Unit", - "_from": "From", - "_to": "To", - "_type": "Type", - "_save_char": "Save characteristic", - "_preview": "Preview", - "_show_preview": "Show preview", - "_name": "Name", - "_description": "Description", - "_next": "Next", - "_finish": "Finish", - "_update_serv": "Update service" + "_back": "Back", + "_status": "Status", + "_update": "Update service specification", + "_new": "New service", + "_steps": "Steps", + "_general": "General", + "_general_info": "Service's general information", + "_chars": "Characteristics", + "_chars_info": "Service's characteristics", + "_value": "Value", + "_actions": "Actions", + "_no_chars": "No characteristics included.", + "_values": "Values", + "_new_char": "Create new characteristic", + "_add_values": "Add values", + "_unit": "Unit", + "_from": "From", + "_to": "To", + "_type": "Type", + "_save_char": "Save characteristic", + "_preview": "Preview", + "_show_preview": "Show preview", + "_name": "Name", + "_description": "Description", + "_next": "Next", + "_finish": "Finish", + "_update_serv": "Update service" }, - "CREATE_OFFER":{ - "_back": "Back", - "_create": "Create product offer", - "_new": "New product offer", - "_steps": "Steps", - "_general": "General", - "_general_info": "Offer's general information", - "_bundle": "Bundle", - "_bundle_info": "Offer's bundle information", - "_prod_spec": "Product Spec", - "_prod_spec_info": "Offer's related product", - "_catalog": "Catalogue", - "_catalog_info": "Offer's related catalogue", - "_category": "Category", - "_category_info": "Category info", - "_license": "License", - "_license_info": "Offer's license", - "_sla": "SLA", - "_sla_info": "Offer's SLA", - "_price_plans": "Price plans", - "_price_plans_info": "Offer's pricing", - "_name": "Name", - "_description": "Description", - "_version": "Version", - "_preview": "Preview", - "_show_preview": "Show preview", - "_next": "Next", - "_is_bundled": "Bundled offer?", - "_status": "Status", - "_type": "Type", - "_last_update": "Last update", - "_select": "Select", - "_simple": "Simple", - "_load_more": "Load more", - "_add_comp": "3rd party certifications", - "_value": "Value", - "_actions": "Actions", - "_no_chars": "No characteristics included.", - "_values": "Values", - "_new_char": "Create new characteristic", - "_add_values": "Add values", - "_unit": "Unit", - "_from": "From", - "_to": "To", - "_save_char": "Save characteristic", - "_resource_specs": "Resource specifications", - "_service_specs": "Service specifications", - "_add_prod_img": "Add product image", - "_drop_files": "Drop one file to attatch or", - "_select_files": "select a file.", - "_add_prod_img_url": "Add product image using URL", - "_add_att": "Attachments", - "_no_att": "No attachments included.", - "_new_att": "Add new attachment", - "_save_att": "Save attachment", - "_no_relatioships": "No relationships included.", - "_relationship_type": "Relationship type", - "_add_relationship": "Add new relationship", - "_save_relationship": "Save relationship", - "_profile_pic": "Profile picture", - "_finish": "Finish", - "_summary": "Product's summary", - "_create_prod": "Create product", - "_choose_license": "Choose a license", - "_standard_license": "Standard open data licenses", - "_treatment": "Treatment", - "_exclusivity": "Exclusivity", - "_sector": "Sector", - "_region": "Region", - "_timeframe": "Timeframe", - "_purpose": "Purpose", - "_transferability": "Transferability", - "_no_sla": "No SLA included", - "_threshold": "Threshold", - "_new_metric": "Define new metric", - "_add_metric": "Add metric", - "_no_prices": "No price plans included.", - "_is_free_price": "Is this offer open?", - "_new_price": "New price plan", - "_create_price": "Create price plan", - "_choose_type": "Choose a type", - "_enter_value": "Enter a value", - "_add_condition": "Add a condition", - "_choose_period": "Choose a pricing period", - "_price_alter": "Price alteration", - "_create_license": "Create license", - "_price": "Price", - "_save_price":"Save price", - "_duplicated_price_name": "Price name already exists.", - "_save_license": "Save license", - "_no_prod_spec": "Bundled offers can't include product specifications.", - "_cancel": "Cancel", - "_no_prods": "There's no product specifications.", - "_no_prods_to_proceed": "Please add at least one product specification to proceed to the next step", - "_no_cats": "There's no catalogues.", - "_no_categories": "There's no categories", - "_no_offer": "There's no offerings.", - "_previous": "Previous step", - "_next_step": "Next step", - "_no_subcats": "There's no subcategories" + "CREATE_OFFER": { + "_back": "Back", + "_create": "Create product offer", + "_new": "New product offer", + "_steps": "Steps", + "_general": "General", + "_general_info": "Offer's general information", + "_bundle": "Bundle", + "_bundle_info": "Offer's bundle information", + "_prod_spec": "Product Spec", + "_prod_spec_info": "Offer's related product", + "_catalog": "Catalogue", + "_catalog_info": "Offer's related catalogue", + "_category": "Category", + "_category_info": "Category info", + "_license": "License", + "_license_info": "Offer's license", + "_sla": "SLA", + "_sla_info": "Offer's SLA", + "_price_plans": "Price plans", + "_price_plans_info": "Offer's pricing", + "_name": "Name", + "_description": "Description", + "_version": "Version", + "_preview": "Preview", + "_show_preview": "Show preview", + "_next": "Next", + "_is_bundled": "Bundled offer?", + "_status": "Status", + "_type": "Type", + "_last_update": "Last update", + "_select": "Select", + "_simple": "Simple", + "_load_more": "Load more", + "_add_comp": "3rd party certifications", + "_value": "Value", + "_actions": "Actions", + "_no_chars": "No characteristics included.", + "_values": "Values", + "_new_char": "Create new characteristic", + "_add_values": "Add values", + "_unit": "Unit", + "_from": "From", + "_to": "To", + "_save_char": "Save characteristic", + "_make_optional": "Make this characteristic optional", + "_resource_specs": "Resource specifications", + "_service_specs": "Service specifications", + "_add_prod_img": "Add product image", + "_drop_files": "Drop one file to attatch or", + "_select_files": "select a file.", + "_add_prod_img_url": "Add product image using URL", + "_add_att": "Attachments", + "_no_att": "No attachments included.", + "_new_att": "Add new attachment", + "_save_att": "Save attachment", + "_no_relatioships": "No relationships included.", + "_relationship_type": "Relationship type", + "_add_relationship": "Add new relationship", + "_save_relationship": "Save relationship", + "_profile_pic": "Profile picture", + "_finish": "Finish", + "_summary": "Product's summary", + "_create_prod": "Create product", + "_choose_license": "Choose a license", + "_standard_license": "Standard open data licenses", + "_treatment": "Treatment", + "_exclusivity": "Exclusivity", + "_sector": "Sector", + "_region": "Region", + "_timeframe": "Timeframe", + "_purpose": "Purpose", + "_transferability": "Transferability", + "_no_sla": "No SLA included", + "_threshold": "Threshold", + "_new_metric": "Define new metric", + "_add_metric": "Add metric", + "_no_prices": "No price plans included.", + "_is_free_price": "Is this offer open?", + "_new_price": "New price plan", + "_create_price": "Create price plan", + "_choose_type": "Choose a type", + "_enter_value": "Enter a value", + "_add_condition": "Add a condition", + "_choose_period": "Choose a pricing period", + "_price_alter": "Price alteration", + "_create_license": "Create license", + "_price": "Price", + "_save_price": "Save price", + "_duplicated_price_name": "Price name already exists.", + "_save_license": "Save license", + "_no_prod_spec": "Bundled offers can't include product specifications.", + "_cancel": "Cancel", + "_no_prods": "There's no product specifications.", + "_no_prods_to_proceed": "Please add at least one product specification to proceed to the next step", + "_no_cats": "There's no catalogues.", + "_no_categories": "There's no categories", + "_no_offer": "There's no offerings.", + "_previous": "Previous step", + "_next_step": "Next step", + "_no_subcats": "There's no subcategories" }, - "UPDATE_OFFER":{ - "_back": "Back", - "_create": "Create product offer", - "_update": "Update product offer", - "_steps": "Steps", - "_general": "General", - "_general_info": "Offer's general information", - "_bundle": "Bundle", - "_bundle_info": "Offer's bundle information", - "_prod_spec": "Product Spec", - "_prod_spec_info": "Offer's related product", - "_catalog": "Catalogue", - "_catalog_info": "Offer's related catalogue", - "_category": "Category", - "_category_info": "Category info", - "_license": "License", - "_license_info": "Offer's license", - "_sla": "SLA", - "_sla_info": "Offer's SLA", - "_price_plans": "Price plans", - "_price_plans_info": "Offer's pricing", - "_name": "Name", - "_description": "Description", - "_version": "Version", - "_preview": "Preview", - "_show_preview": "Show preview", - "_next": "Next", - "_is_bundled": "Bundled offer?", - "_status": "Status", - "_type": "Type", - "_last_update": "Last update", - "_select": "Select", - "_simple": "Simple", - "_load_more": "Load more", - "_add_comp": "3rd party certifications", - "_value": "Value", - "_actions": "Actions", - "_no_chars": "No characteristics included.", - "_values": "Values", - "_new_char": "Create new characteristic", - "_add_values": "Add values", - "_unit": "Unit", - "_from": "From", - "_to": "To", - "_save_char": "Save characteristic", - "_resource_specs": "Resource specifications", - "_service_specs": "Service specifications", - "_add_prod_img": "Add product image", - "_drop_files": "Drop one file to attatch or", - "_select_files": "select a file.", - "_add_prod_img_url": "Add product image using URL", - "_add_att": "Attachments", - "_no_att": "No attachments included.", - "_new_att": "Add new attachment", - "_save_att": "Save attachment", - "_no_relatioships": "No relationships included.", - "_relationship_type": "Relationship type", - "_add_relationship": "Add new relationship", - "_save_relationship": "Save relationship", - "_profile_pic": "Profile picture", - "_finish": "Update product", - "_summary": "Product's summary", - "_create_prod": "Create product", - "_choose_license": "Choose a license", - "_standard_license": "Standard open data licenses", - "_treatment": "Treatment", - "_exclusivity": "Exclusivity", - "_sector": "Sector", - "_region": "Region", - "_timeframe": "Timeframe", - "_purpose": "Purpose", - "_transferability": "Transferability", - "_no_sla": "No SLA included", - "_threshold": "Threshold", - "_new_metric": "Define new metric", - "_add_metric": "Add metric", - "_no_prices": "No price plans included.", - "_is_free_price": "Is this offer open?", - "_new_price": "New price plan", - "_create_price": "Create price plan", - "_choose_type": "Choose a type", - "_enter_value": "Enter a value", - "_add_condition": "Add a condition", - "_choose_period": "Choose a pricing period", - "_price_alter": "Price alteration", - "_create_license": "Create license", - "_price": "Price", - "_save_price":"Save price", - "_duplicated_price_name": "Price name already exists.", - "_save_license": "Save license", - "_no_prod_spec": "Bundled offers can't include product specifications.", - "_cancel": "Cancel", - "_no_prods": "There's no product specifications.", - "_no_prods_to_proceed": "Please add at least one product specification to proceed to the next step", - "_no_cats": "There's no catalogues.", - "_no_categories": "There's no categories", - "_no_offer": "There's no offerings." + "UPDATE_OFFER": { + "_back": "Back", + "_create": "Create product offer", + "_update": "Update product offer", + "_steps": "Steps", + "_general": "General", + "_general_info": "Offer's general information", + "_bundle": "Bundle", + "_bundle_info": "Offer's bundle information", + "_prod_spec": "Product Spec", + "_prod_spec_info": "Offer's related product", + "_catalog": "Catalogue", + "_catalog_info": "Offer's related catalogue", + "_category": "Category", + "_category_info": "Category info", + "_license": "License", + "_license_info": "Offer's license", + "_sla": "SLA", + "_sla_info": "Offer's SLA", + "_price_plans": "Price plans", + "_price_plans_info": "Offer's pricing", + "_name": "Name", + "_description": "Description", + "_version": "Version", + "_preview": "Preview", + "_show_preview": "Show preview", + "_next": "Next", + "_is_bundled": "Bundled offer?", + "_status": "Status", + "_type": "Type", + "_last_update": "Last update", + "_select": "Select", + "_simple": "Simple", + "_load_more": "Load more", + "_add_comp": "3rd party certifications", + "_value": "Value", + "_actions": "Actions", + "_no_chars": "No characteristics included.", + "_values": "Values", + "_new_char": "Create new characteristic", + "_add_values": "Add values", + "_unit": "Unit", + "_from": "From", + "_to": "To", + "_save_char": "Save characteristic", + "_make_optional": "Make this characteristic optional", + "_resource_specs": "Resource specifications", + "_service_specs": "Service specifications", + "_add_prod_img": "Add product image", + "_drop_files": "Drop one file to attatch or", + "_select_files": "select a file.", + "_add_prod_img_url": "Add product image using URL", + "_add_att": "Attachments", + "_no_att": "No attachments included.", + "_new_att": "Add new attachment", + "_save_att": "Save attachment", + "_no_relatioships": "No relationships included.", + "_relationship_type": "Relationship type", + "_add_relationship": "Add new relationship", + "_save_relationship": "Save relationship", + "_profile_pic": "Profile picture", + "_finish": "Update product", + "_summary": "Product's summary", + "_create_prod": "Create product", + "_choose_license": "Choose a license", + "_standard_license": "Standard open data licenses", + "_treatment": "Treatment", + "_exclusivity": "Exclusivity", + "_sector": "Sector", + "_region": "Region", + "_timeframe": "Timeframe", + "_purpose": "Purpose", + "_transferability": "Transferability", + "_no_sla": "No SLA included", + "_threshold": "Threshold", + "_new_metric": "Define new metric", + "_add_metric": "Add metric", + "_no_prices": "No price plans included.", + "_is_free_price": "Is this offer open?", + "_new_price": "New price plan", + "_create_price": "Create price plan", + "_choose_type": "Choose a type", + "_enter_value": "Enter a value", + "_add_condition": "Add a condition", + "_choose_period": "Choose a pricing period", + "_price_alter": "Price alteration", + "_create_license": "Create license", + "_price": "Price", + "_save_price": "Save price", + "_duplicated_price_name": "Price name already exists.", + "_save_license": "Save license", + "_no_prod_spec": "Bundled offers can't include product specifications.", + "_cancel": "Cancel", + "_no_prods": "There's no product specifications.", + "_no_prods_to_proceed": "Please add at least one product specification to proceed to the next step", + "_no_cats": "There's no catalogues.", + "_no_categories": "There's no categories", + "_no_offer": "There's no offerings." }, "OFFERINGS": { - "_catalogs": "Catalogues", - "_offers": "Offer", - "_no_offer": "No offerings included.", - "_no_offerings": "There's no product offerings.", - "_no_prod": "There's no product specifications.", - "_no_prod_rel": "There's no product specifications, so you can't create relationships.", - "_no_cat": "There's no catalogues.", - "_no_categories": "There's no categories.", - "_no_res": "There's no resource specifications", - "_no_serv": "There's no service specifications", - "_prod_spec": "Product Specifications", - "_serv_spec": "Service Specifications", - "_res_spec": "Resource Specifications", - "_search": "Search", - "_add_new_serv": "Add new service", - "_filter_state": "Filter by status", - "_state": "State", - "_order_by": "Order by...", - "_last_update": "Last update", - "_name": "Name", - "_active": "Active", - "_launched": "Launched", - "_retired": "Retired", - "_obsolete": "Obsolete", - "_status": "Status", - "_actions": "Actions", - "_load_more": "Load more", - "_add_new_res": "Add new resource", - "_add_new_prod": "Add new product specification", - "_add_new_prod_short": "Add new product spec", - "_filter_type": "Filter by type", - "_all": "All", - "_simple": "Simple", - "_bundle": "Bundle", - "_type": "Type", - "_prod_offer": "Product offer", - "_add_new_offer": "Add new product offer", - "_add_new_catalog": "Add new catalogue", - "_filter_role": "Filter by role", - "_seller": "Seller", - "_owner": "Owner", - "_customer": "Customer", - "_role": "Role", - "_choose": "Choose between our Catalogues", - "_offerings": "Offerings", - "_my_offerings": "My offerings" + "_catalogs": "Catalogues", + "_offers": "Offer", + "_no_offer": "No offerings included.", + "_no_offerings": "There's no product offerings.", + "_no_prod": "There's no product specifications.", + "_no_prod_rel": "There's no product specifications, so you can't create relationships.", + "_no_cat": "There's no catalogues.", + "_no_categories": "There's no categories.", + "_no_res": "There's no resource specifications", + "_no_serv": "There's no service specifications", + "_prod_spec": "Product Specifications", + "_serv_spec": "Service Specifications", + "_res_spec": "Resource Specifications", + "_search": "Search", + "_add_new_serv": "Add new service", + "_filter_state": "Filter by status", + "_state": "State", + "_order_by": "Order by...", + "_last_update": "Last update", + "_name": "Name", + "_active": "Active", + "_launched": "Launched", + "_retired": "Retired", + "_obsolete": "Obsolete", + "_status": "Status", + "_actions": "Actions", + "_load_more": "Load more", + "_add_new_res": "Add new resource", + "_add_new_prod": "Add new product specification", + "_add_new_prod_short": "Add new product spec", + "_filter_type": "Filter by type", + "_all": "All", + "_simple": "Simple", + "_bundle": "Bundle", + "_type": "Type", + "_prod_offer": "Product offer", + "_add_new_offer": "Add new product offer", + "_add_new_catalog": "Add new catalogue", + "_filter_role": "Filter by role", + "_seller": "Seller", + "_owner": "Owner", + "_customer": "Customer", + "_role": "Role", + "_choose": "Choose between our Catalogues", + "_offerings": "Offerings", + "_my_offerings": "My offerings" }, - "ADMIN":{ - "_admin": "Administration", - "_filter_state": "Filter by status", - "_state": "State", - "_order_by": "Order by...", - "_last_update": "Last update", - "_name": "Name", - "_active": "Active", - "_launched": "Launched", - "_retired": "Retired", - "_obsolete": "Obsolete", - "_status": "Status", - "_actions": "Actions", - "_load_more": "Load more", - "_categories": "Categories", - "_verification": "Verification", - "_productId": "Product ID", - "_vc": "Verifiable Credential", - "_add": "Add", - "_revenue": "Revenue sharing", - "_email": "Email", - "_smtpServer": "SMTP Server", - "_smtpPort": "SMTP Port", - "_emailUser": "Email User", - "_emailPass": "Email Password" + "ADMIN": { + "_admin": "Administration", + "_filter_state": "Filter by status", + "_state": "State", + "_order_by": "Order by...", + "_last_update": "Last update", + "_name": "Name", + "_active": "Active", + "_launched": "Launched", + "_retired": "Retired", + "_obsolete": "Obsolete", + "_status": "Status", + "_actions": "Actions", + "_load_more": "Load more", + "_categories": "Categories", + "_verification": "Verification", + "_productId": "Product ID", + "_vc": "Verifiable Credential", + "_add": "Add", + "_revenue": "Revenue sharing", + "_email": "Email", + "_smtpServer": "SMTP Server", + "_smtpPort": "SMTP Port", + "_emailUser": "Email User", + "_emailPass": "Email Password" }, - "CATEGORIES":{ - "_categories": "Categories", - "_add_new_cat": "Add new category", - "_no_cat": "No categories included" + "CATEGORIES": { + "_categories": "Categories", + "_add_new_cat": "Add new category", + "_no_cat": "No categories included" }, - "CREATE_CATEGORIES":{ - "_categories": "Categories", - "_add_new_cat": "Add new category", - "_no_cat": "No categories included", - "_back": "Back", - "_create": "Create category", - "_new": "New category", - "_steps": "Steps", - "_general": "General", - "_general_info": "Category's general information", - "_finish": "Create category", - "_summary": "Category's summary", - "_name": "Name", - "_description": "Description", - "_preview": "Preview", - "_show_preview": "Show preview", - "_status": "Status", - "_next": "Next", - "_choose_parent": "Choose a parent category", - "_parent": "Parent category" + "CREATE_CATEGORIES": { + "_categories": "Categories", + "_add_new_cat": "Add new category", + "_no_cat": "No categories included", + "_back": "Back", + "_create": "Create category", + "_new": "New category", + "_steps": "Steps", + "_general": "General", + "_general_info": "Category's general information", + "_finish": "Create category", + "_summary": "Category's summary", + "_name": "Name", + "_description": "Description", + "_preview": "Preview", + "_show_preview": "Show preview", + "_status": "Status", + "_next": "Next", + "_choose_parent": "Choose a parent category", + "_parent": "Parent category" }, - "UPDATE_CATEGORIES":{ - "_categories": "Categories", - "_add_new_cat": "Add new category", - "_no_cat": "No categories included", - "_back": "Back", - "_update": "Update category", - "_new": "New category", - "_steps": "Steps", - "_general": "General", - "_general_info": "Category's general information", - "_finish": "Update category", - "_summary": "Category's summary", - "_name": "Name", - "_description": "Description", - "_preview": "Preview", - "_show_preview": "Show preview", - "_status": "Status", - "_next": "Next", - "_choose_parent": "Choose a parent category", - "_parent": "Parent category" + "UPDATE_CATEGORIES": { + "_categories": "Categories", + "_add_new_cat": "Add new category", + "_no_cat": "No categories included", + "_back": "Back", + "_update": "Update category", + "_new": "New category", + "_steps": "Steps", + "_general": "General", + "_general_info": "Category's general information", + "_finish": "Update category", + "_summary": "Category's summary", + "_name": "Name", + "_description": "Description", + "_preview": "Preview", + "_show_preview": "Show preview", + "_status": "Status", + "_next": "Next", + "_choose_parent": "Choose a parent category", + "_parent": "Parent category" }, "ORGANIZATION": { - "_details": "Organization details", - "_description": "Description" + "_details": "Organization details", + "_description": "Description" }, "PRODUCT_ORDERS": { - "_orders": "Product Orders", - "_invoices": "Invoices", - "_no_orders": "No orders found.", - "_search_criteria": "Search criteria", - "_order_id": "Order Id", - "_status": "Choose a status", - "_priority": "Priority", - "_desc": "Description", - "_price": "Price", - "_bill": "Billing address", - "_filter_state": "Filter by status", - "_acknowledged": "Acknowledged", - "_in_progress": "In Progress", - "_partial": "Partial", - "_completed": "Completed", - "_failed": "Failed", - "_pending": "Pending", - "_cancelled": "Cancelled", - "_unchecked": "Unchecked", - "_as_customer": "As Customer", - "_as_provider": "As Provider", - "_date": "Date", - "_actions": "Actions", - "_order_details": "Order details:", - "_customer_info": "Customer Info:", - "_name": "Name", - "_billing_address": "Billing address", - "_email": "Contact Email", - "_show_customer_details": "Show Customer Details", - "_img": "Img", - "_price_plan": "Price Plan", - "_state": "State" + "_orders": "Product Orders", + "_invoices": "Invoices", + "_no_orders": "No orders found.", + "_search_criteria": "Search criteria", + "_order_id": "Order Id", + "_status": "Choose a status", + "_priority": "Priority", + "_desc": "Description", + "_price": "Price", + "_bill": "Billing address", + "_filter_state": "Filter by status", + "_acknowledged": "Acknowledged", + "_in_progress": "In Progress", + "_partial": "Partial", + "_completed": "Completed", + "_failed": "Failed", + "_pending": "Pending", + "_cancelled": "Cancelled", + "_unchecked": "Unchecked", + "_as_customer": "As Customer", + "_as_provider": "As Provider", + "_date": "Date", + "_actions": "Actions", + "_order_details": "Order details:", + "_customer_info": "Customer Info:", + "_name": "Name", + "_billing_address": "Billing address", + "_email": "Contact Email", + "_show_customer_details": "Show Customer Details", + "_img": "Img", + "_price_plan": "Price Plan", + "_state": "State" }, + "PROVIDERS": { + "_title": "For providers", + "_subtitle": "Connect and Grow", + "_register_title": "Register Your Service", + "_register_desc": "Sign up and submit your european service for validation, ensuring compliance and quality.", + "_verified_title": "Get verified", + "_verified_desc": "Our team will quickly verify your offerings to ensure they meet Distributed Open Marketplace standards.", + "_reach_title": "Reach Europe", + "_reach_desc": "Once verified, your services will be accessible to a wide European audience, ready to grow your business.", + "_join": "Join as provider", + "_onboard": "Onboard the marketplace", + "_contact": "Contact us", + "_description_start": "Qualify you company through the reference", + "_link": "Company Onboarding process", + "_description_end": "and then start describing your offerings through the Offering qualification process and star being visible on the market inside this trustable catalogue." + } + }, + "EXPLORE": { + "_title": "Explore the Distributed Open Marketplace Project", + "_subtitle": "Whether you're seeking in-depth reports, latest updates or upcoming events, everything ou need to know is just a click away", + "_events_title": "Events and Webinars", + "_events_desc": "Join us at our next event or webinar to connect with fellow innovators, learn from industry leaders and discover new opportunities within the 'DOME' Project's ecosystem.", + "_updates_title": "Latest Updates and News", + "_updates_desc": "Stay informed with the latest developments, service enhancements and industry insights directly from the 'DOME' Project's website.", + "_resources_title": "Resources & Reports", + "_resources_desc": "Access our library of resources, detailed reports and case studies to gain a deep understanding of the cloud and edge market landscape and 'DOME' Project's impact.", + "_go": "DOME Project" + }, + "CARD": { + "_details": "View details", + "_quote": "Create quote", + "_add_cart": "Add to cart", + "_close": "Close modal", + "_categories": "Categories", + "_prod_details": "Product details", + "_comp_profile": "Compliance profile", + "_extra_info": "Extra information", + "_offer_version": "Offer version", + "_product_name": "Product name", + "_brand": "Brand", + "_last_update": "Last update", + "_product_version": "Product version", + "_id_number": "Identification number", + "_added_card": "Added to the cart", + "_undo": "Undo", + "_close_toast": "Close", + "_from": "From", + "_full_desc": "Full description", + "_price_plans": "Price plans", + "_select_price": "Select price plan", + "_chars": "Characteristics", + "_select_char": "Select characteristics", + "_terms": "Terms and conditions", + "_accept_terms": "I have read and I accept the terms and conditions.", + "_next": "Next", + "_back": "Back", + "_checkout": "Add to cart", + "_no_terms": "This product has no terms and conditions.", + "_no_chars": "This product has no characteristics.", + "_no_prices": "This product has no price plans.", + "_owner": "Owner", + "_price_plan": "Price Plan" + }, + "CATEGORIES_FILTER": { + "_remove_badge": "Remove badge", + "_applied_filters": "Applied filters:" + }, + "CART_DRAWER": { + "_title": "Shopping Cart", + "_close": "Close menu", + "_empty": "Empty cart", + "_purchase": "Proceed to purchase", + "_subtotal": "Subtotal" + }, + "FOOTER": { + "_privacy": "Privacy Policy", + "_cookies": "Cookies Policy", + "_licensing": "Terms of Use", + "_contact": "Contact", + "_rights": "All Rights Reserved", + "aboutTitle": "About DOME", + "domeProject": "The DOME project", + "contactUs": "Contact us", + "marketplaceTitle": "Marketplace", + "browse": "Browse", + "legalTitle": "Legal", + "resourcesTitle": "Resources", + "documentation": "Documentation", + "support": "Support", + "faqs": "FAQs", + "follow-us": "Follow us", + "forCustomers": "For Customers", + "forProviders": "For Providers" + }, + "HEADER": { + "contactUs": "Contact us", + "_browse_serv": "Browse services", + "_marketplace": "DOME MARKETPLACE", + "_open_menu": "Open main menu", + "_home": "Home", + "_catalogs": "Providers catalog", + "_search": "Search", + "_browse": "Browse", + "_cloud": "Cloud Services", + "_smart_ports": "Smart ports", + "_smart_cities": "Smart cities", + "_see_all": "See all", + "_services": "Services", + "_contact": "Contact", + "_profile": "Profile", + "_offerings": "My Offerings", + "_cart": "My shopping cart", + "_sign_out": "Sign out", + "_inventory": "My inventory", + "_support": "Support", + "_knowledge": "Knowledge Base", + "_ticketing": "Ticketing System", + "_change_session": "Change session", + "_admin": "Administration", + "_publish": "Publish your offerings", + "_register_here": "Register here", + "_register": "Register", + "_guidelines": "Guidelines to register", + "_guideline_publish": "Guideline to publish", + "_onboarding": "Onboarding", + "_registration": "Registration form", + "_about": "About", + "_verify": "Publish your offering", + "_info": "Info", + "_orders": "Product Orders", + "_blog": "Blog", + "_forCustomers": "For Customers", + "_forProviders": "For Providers", + "_marketplaceH": "Marketplace", + "_resources": "Resources" + }, + "PRODUCT_DETAILS": { + "_back": "Back", + "_details": "Details", + "_information": "Information", + "_chars": "Characteristics", + "_attach": "Attachments", + "_agreements": "Agreements", + "_relationships": "Relationships", + "_no_chars": "No characteristics included", + "_no_attach": "No attachments included", + "_license": "License", + "_no_license": "No license included", + "_sla": "SLA", + "_no_sla": "No SLA included", + "_no_relatioships": "No relationships included", + "_service_spec": "This offering includes the following service specifications", + "_resource_spec": "This offering includes the following resource specifications", + "_self_attestation": "You can find the self attestation document here.", + "_product_pricing": "Product pricing", + "_product_chars": "Product characteristics", + "_product_att": "Product attachments", + "_product_rels": "Product relationships" + }, + "CATALOGS": { + "_all_catalogs": "All catalogues", + "_no_desc": "No description included", + "_no_cat": "No categories included", + "_view_details": "View details", + "_desc": "Description", + "_choose": "Choose between our Catalogues" + }, + "SHOPPING_CART": { + "_buy": "Buy", + "_back": "Back", + "_billingAddress": "Billing Address", + "_confirm": "Confirm and pay", + "_checkout": "Checkout", + "_note": "Add notes", + "_choose_bill": "Choose a billing address", + "_cart": "Cart", + "_email": "Email", + "_postalAddress": "Postal address", + "_phone": "Phone number", + "_billing_check": "You should first create at least a billing address in order to checkout an order.", + "_click_here": "Click here", + "_free": "Free", + "_free_desc": "The offering is free", + "_loading_purchase": "Loading purchase", + "_contact": "Contact", + "_update": "Update", + "_contact_person": "Contact Person", + "_order_note": "Order Note", + "_your_order": "Your Order", + "_subtotal": "Sub Total", + "_tax": "Tax", + "_calculated": "Calculated at checkout", + "_fee": "Service fee*" + }, + "PROFILE": { + "_general": "General", + "_bill": "Billing addresses", + "_revenue": "Revenue sharing", + "_payment_dashboard": "Payment dashboard", + "_orders": "Orders", + "_order_list": "My order list", + "_update": "Update", + "_account": "Account", + "_username": "Username", + "_token": "Access token", + "_email": "Email", + "_profile": "Profile", + "_name": "Name", + "_lastname": "Lastname", + "_treatment": "Treatment", + "_marital_status": "Marital status", + "_gender": "Gender", + "_nacionality": "Nacionality", + "_birthdate": "Birthdate", + "_date": "Date", + "_country": "Country", + "_city": "City", + "_mybills": "My billing addresses", + "_user_id": "User id", + "_no_orders": "No orders found", + "_organization": "Organization", + "_medium_type": "Medium type", + "_preferred": "Preferred", + "_no_mediums": "There's no contact medium information.", + "_contact_info": "Contact information", + "_info": "Info", + "_actions": "Actions", + "_add_new_contact": "Add a new contact medium", + "_postalAddress": "Postal address", + "_phone": "Phone number", + "_phone_type": "Phone Type", + "_action": "Actions", + "_state": "State / Province", + "_post_code": "ZIP / Postal Code", + "_street": "Street Address", + "_edit": "Edit contact medium", + "_delete": "Yes, delete", + "_confirm_delete": "Are you sure about deleting the following billing address?", + "_cancel": "No, cancel", + "_invalid_phone": "Phone number is invalid!", + "_invalid_email": "Email is invalid!", + "_save": "Save", + "_success": "Updated successfully", + "_website": "Website", + "_add_logo": "Add organization logo", + "_add_logo_url": "Add organization logo using a URL", + "_acknowledged": "Acknowledged", + "_in_progress": "In Progress", + "_partial": "Partial", + "_completed": "Completed", + "_failed": "Failed", + "_pending": "Pending", + "_cancelled": "Cancelled", + "_order_details": "Order details:", + "_billing_address": "Billing address", + "_price": "Price", + "_img": "Img", + "_custom": "Custom", + "_free": "Free" + }, + "PRODUCT_INVENTORY": { + "_loading": "Loading...", + "_products": "Products", + "_services": "Services", + "_resources": "Resources", + "_orders": "Orders", + "_not_found": "No products found.", + "_no_resources": "No resources found.", + "_no_services": "No services found.", + "_search_criteria": "Search criteria", + "_prod_details": "Product details", + "_description": "Description", + "_pricing": "Product pricing", + "_chars": "Product characteristics", + "_res_details": "Resource details", + "_res_chars": "Resource characteristics", + "_serv_details": "Service details", + "_serv_chars": "Service characteristics", + "_start_date": "Start operating date", + "_order_id": "Order Id", + "_state": "State", + "_status": "Status", + "_priority": "Priority", + "_desc": "Description", + "_price": "Price", + "_bill": "Billing address", + "_inventory": "Inventory", + "_feasibility": "Feasibility Checked", + "_designed": "Designed", + "_reserved": "Reserved", + "_inactive": "Inactive", + "_active": "Active", + "_terminated": "Terminated", + "_id": "Id", + "_standby": "Standby", + "_alarm": "Alarm", + "_available": "Available", + "_suspended": "Suspended", + "_unknown": "Unknown", + "_created": "Created", + "_unsubscribe": "Unsubscribe", + "_close_modal": "Close modal", + "_cancel_sub": "Are you sure you want to cancel this subscription?", + "_cancel": "No, cancel", + "_yes_sure": "Yes, I'm sure", + "_renew_sub": "Are you sure you want to renew this subscription?" + }, + "BILLING": { + "_title": "Title", + "_email": "Email", + "_postalAddress": "Postal address", + "_phone": "Phone number", + "_phone_type": "Phone Type", + "_action": "Actions", + "_country": "Country", + "_city": "City", + "_state": "State / Province", + "_post_code": "ZIP / Postal Code", + "_street": "Street Address", + "_add": "Add billing address", + "_edit": "Edit billing address", + "_update": "Update billing address", + "_delete": "Yes, delete", + "_confirm_delete": "Are you sure about deleting the following billing address?", + "_cancel": "No, cancel", + "_invalid_phone": "Phone number is invalid!", + "_invalid_email": "Email is invalid!", + "_no_billing": "There's no billing information.", + "_close_modal": "Close modal", + "_mandatory": "This field is mandatory.", + "_too_long": "This field is too long. Must be less than 250 characters.", + "_too_long_larger": "This field is too long. Must be less than 1000 characters.", + "_too_long_email": "Email is too long. Must be less than 320 characters.", + "_email_format": "Email must follow the following format: example@example.example" + }, + "INVOICES": { + "_invoice_id": "Invoice ID", + "_date": "Date", + "_billno": "Invoice Num.", + "_not_found": "No invoices found.", + "_description": "Description", + "_tax_included_amount": "Amount (tax included)", + "_tax_excluded_amount": "Amount (without tax)", + "_tax": "Tax", + "_billed": "Billed", + "_pending": "Pending", + "_status": "Status", + "_name": "Name", + "_type": "Type", + "_product": "Product ID", + "_actions": "Actions", + "_as_customer": "As Customer", + "_as_provider": "As Provider", + "_invoice_details": "Invoice details:", + "_applied_billing_rates": "Applied Billing Rates", + "_no_billing_rates": "No billing rates found", + "_period_coverage": "Period Coverage" + }, + "CREATE_CATALOG": { + "_back": "Back", + "_create": "Create catalogue", + "_status": "Status", + "_new": "New catalogue", + "_steps": "Steps", + "_general": "General", + "_general_info": "Catalogue's general information", + "_actions": "Actions", + "_type": "Type", + "_preview": "Preview", + "_show_preview": "Show preview", + "_name": "Name", + "_description": "Description", + "_next": "Next", + "_summary": "Catalogue's summary", + "_finish": "Finish" + }, + "UPDATE_CATALOG": { + "_back": "Back", + "_create": "Update catalogue", + "_status": "Status", + "_update": "Update catalogue", + "_steps": "Steps", + "_general": "General", + "_general_info": "Catalogue's general information", + "_actions": "Actions", + "_type": "Type", + "_preview": "Preview", + "_show_preview": "Show preview", + "_name": "Name", + "_description": "Description", + "_next": "Next", + "_summary": "Catalogue's summary", + "_finish": "Finish", + "_active": "Active", + "_launched": "Launched", + "_retired": "Retired", + "_obsolete": "Obsolete" + }, + "CREATE_PROD_SPEC": { + "_back": "Back", + "_create": "Create product specification", + "_new": "New product", + "_steps": "Steps", + "_general": "General", + "_general_info": "Product's general information", + "_bundle": "Bundle", + "_bundle_info": "Product's blundle information", + "_comp_profile": "Compliance profile", + "_comp_profile_info": "Product's compliance profile", + "_no_comp_profile": "No compliance profile included.", + "_chars": "Characteristics", + "_chars_info": "Product's characteristics", + "_resource": "Resource Specs", + "_resource_info": "Product's resource specifications", + "_service": "Service Specs", + "_service_info": "Product's service specifications", + "_attachments": "Attachments", + "_attachments_info": "Product's attachments", + "_relationships": "Relationships", + "_relationships_info": "Product's relationships", + "_product_name": "Name", + "_product_version": "Version", + "_product_brand": "Brand", + "_id_number": "ID Number", + "_product_description": "Description", + "_preview": "Preview", + "_show_preview": "Show preview", + "_next": "Next", + "_is_bundled": "Bundled product?", + "_status": "Status", + "_type": "Type", + "_last_update": "Last update", + "_select": "Select", + "_simple": "Simple", + "_load_more": "Load more", + "_add_comp": "3rd party certifications", + "_value": "Value", + "_actions": "Actions", + "_no_chars": "No characteristics included.", + "_values": "Values", + "_new_char": "Create new characteristic", + "_add_values": "Add values", + "_unit": "Unit", + "_from": "From", + "_to": "To", + "_save_char": "Save characteristic", + "_make_optional": "Make this characteristic optional", + "_default_value": "Default value", + "_default_false": "Disabled by default", + "_default_true": "Enabled by default", + "_resource_specs": "Resource specifications", + "_service_specs": "Service specifications", + "_add_prod_img": "Add product image", + "_drop_files": "Drop one file to attatch or", + "_select_files": "select a file.", + "_add_prod_img_url": "Add product image using URL", + "_add_att": "Attachments", + "_no_att": "No attachments included.", + "_new_att": "Add new attachment", + "_save_att": "Save attachment", + "_no_relatioships": "No relationships included.", + "_relationship_type": "Relationship type", + "_add_relationship": "Add new relationship", + "_save_relationship": "Save relationship", + "_profile_pic": "Profile picture", + "_finish": "Finish", + "_summary": "Product's summary", + "_create_prod": "Create product", + "_file_res": "File restrictions", + "_restrictions": "File size must be under 3MB. File names can only include alphabetical characters (A-Z, a-z), numbers (0-9) and a limited set of symbols, such as underscores (_), hyphens (-), and periods (.). ", + "_file_name": "Image URL should end by png, jpg, jpeg, gif, bmp or webp format.", + "_file_check": "You need to upload a file before proceeding.", + "_self_attestation": "Self Attestation:", + "_close_modal": "Close modal", + "_cancel": "Cancel", + "_upload": "Upload" + }, + "UPDATE_PROD_SPEC": { + "_back": "Back", + "_update": "Update product specification", + "_new": "Update product", + "_steps": "Steps", + "_general": "General", + "_general_info": "Product's general information", + "_bundle": "Bundle", + "_bundle_info": "Product's blundle information", + "_comp_profile": "Compliance profile", + "_comp_profile_info": "Product's compliance profile", + "_no_comp_profile": "No compliance profile included.", + "_chars": "Characteristics", + "_chars_info": "Product's characteristics", + "_resource": "Resource Specs", + "_resource_info": "Product's resource specifications", + "_service": "Service Specs", + "_service_info": "Product's service specifications", + "_attachments": "Attachments", + "_attachments_info": "Product's attachments", + "_relationships": "Relationships", + "_relationships_info": "Product's relationships", + "_product_name": "Name", + "_product_version": "Version", + "_product_brand": "Brand", + "_id_number": "ID Number", + "_product_description": "Description", + "_preview": "Preview", + "_show_preview": "Show preview", + "_next": "Next", + "_is_bundled": "Bundled product?", + "_status": "Status", + "_type": "Type", + "_last_update": "Last update", + "_select": "Select", + "_simple": "Simple", + "_load_more": "Load more", + "_add_comp": "3rd party certifications", + "_value": "Value", + "_actions": "Actions", + "_no_chars": "No characteristics included.", + "_values": "Values", + "_new_char": "Create new characteristic", + "_add_values": "Add values", + "_unit": "Unit", + "_from": "From", + "_to": "To", + "_save_char": "Save characteristic", + "_make_optional": "Make this characteristic optional", + "_default_value": "Default value", + "_default_false": "Disabled by default", + "_default_true": "Enabled by default", + "_resource_specs": "Resource specifications", + "_service_specs": "Service specifications", + "_add_prod_img": "Add product image", + "_drop_files": "Drop one file to attatch or", + "_select_files": "select a file.", + "_add_prod_img_url": "Add product image using URL", + "_add_att": "Attachments", + "_no_att": "No attachments included.", + "_new_att": "Add new attachment", + "_save_att": "Save attachment", + "_no_relatioships": "No relationships included.", + "_relationship_type": "Relationship type", + "_add_relationship": "Add new relationship", + "_save_relationship": "Save relationship", + "_profile_pic": "Profile picture", + "_finish": "Finish", + "_summary": "Product's summary", + "_update_prod": "Update product", + "_verify": "Verify Certificates", + "_how_to_verify": "How to get a valid VC of the certificate?", + "_verify_text": "To get a valid VC of the certificate you can access the ", + "_dome_trust": "DOME Trust Service Provider for Certification", + "_file_res": "File restrictions", + "_restrictions": "File size must be under 3MB. File names can only include characters (a-z), (A-Z), (0-9), and a limited set of symbols including underscores (_), hyphens (-), and periods (.). ", + "_file_name": "Image URL should end by png, jpg, jpeg, gif, bmp or webp format.", + "_active": "Active", + "_launched": "Launched", + "_retired": "Retired", + "_obsolete": "Obsolete", + "_self_attestation": "Self Attestation:", + "_close_modal": "Close modal", + "_cancel": "Cancel", + "_upload": "Upload" + }, + "CREATE_RES_SPEC": { + "_back": "Back", + "_create": "Create resource specification", + "_new": "New resource", + "_steps": "Steps", + "_general": "General", + "_general_info": "Resource's general information", + "_chars": "Characteristics", + "_chars_info": "Resource's characteristics", + "_value": "Value", + "_actions": "Actions", + "_no_chars": "No characteristics included.", + "_values": "Values", + "_new_char": "Create new characteristic", + "_add_values": "Add values", + "_unit": "Unit", + "_from": "From", + "_to": "To", + "_type": "Type", + "_save_char": "Save characteristic", + "_preview": "Preview", + "_show_preview": "Show preview", + "_name": "Name", + "_description": "Description", + "_next": "Next", + "_finish": "Finish", + "_create_res": "Create resource" + }, + "UPDATE_RES_SPEC": { + "_back": "Back", + "_status": "Status", + "_update": "Update resource specification", + "_new": "New resource", + "_steps": "Steps", + "_general": "General", + "_general_info": "Resource's general information", + "_chars": "Characteristics", + "_chars_info": "Resource's characteristics", + "_value": "Value", + "_actions": "Actions", + "_no_chars": "No characteristics included.", + "_values": "Values", + "_new_char": "Create new characteristic", + "_add_values": "Add values", + "_unit": "Unit", + "_from": "From", + "_to": "To", + "_type": "Type", + "_save_char": "Save characteristic", + "_preview": "Preview", + "_show_preview": "Show preview", + "_name": "Name", + "_description": "Description", + "_next": "Next", + "_finish": "Finish", + "_update_res": "Update resource" + }, + "CREATE_SERV_SPEC": { + "_back": "Back", + "_create": "Create service specification", + "_new": "New service", + "_steps": "Steps", + "_general": "General", + "_general_info": "Service's general information", + "_chars": "Characteristics", + "_chars_info": "Service's characteristics", + "_value": "Value", + "_actions": "Actions", + "_no_chars": "No characteristics included.", + "_values": "Values", + "_new_char": "Create new characteristic", + "_add_values": "Add values", + "_unit": "Unit", + "_from": "From", + "_to": "To", + "_type": "Type", + "_save_char": "Save characteristic", + "_preview": "Preview", + "_show_preview": "Show preview", + "_name": "Name", + "_description": "Description", + "_next": "Next", + "_finish": "Finish", + "_create_serv": "Create service" + }, + "UPDATE_SERV_SPEC": { + "_back": "Back", + "_status": "Status", + "_update": "Update service specification", + "_new": "New service", + "_steps": "Steps", + "_general": "General", + "_general_info": "Service's general information", + "_chars": "Characteristics", + "_chars_info": "Service's characteristics", + "_value": "Value", + "_actions": "Actions", + "_no_chars": "No characteristics included.", + "_values": "Values", + "_new_char": "Create new characteristic", + "_add_values": "Add values", + "_unit": "Unit", + "_from": "From", + "_to": "To", + "_type": "Type", + "_save_char": "Save characteristic", + "_preview": "Preview", + "_show_preview": "Show preview", + "_name": "Name", + "_description": "Description", + "_next": "Next", + "_finish": "Finish", + "_update_serv": "Update service" + }, + "CREATE_OFFER": { + "_back": "Back", + "_create": "Create product offer", + "_new": "New product offer", + "_steps": "Steps", + "_general": "General", + "_general_info": "Offer's general information", + "_bundle": "Bundle", + "_bundle_info": "Offer's bundle information", + "_prod_spec": "Product Spec", + "_prod_spec_info": "Offer's related product", + "_catalog": "Catalogue", + "_catalog_info": "Offer's related catalogue", + "_category": "Category", + "_category_info": "Category info", + "_license": "License", + "_license_info": "Offer's license", + "_sla": "SLA", + "_sla_info": "Offer's SLA", + "_price_plans": "Price plans", + "_price_plans_info": "Offer's pricing", + "_name": "Name", + "_description": "Description", + "_version": "Version", + "_preview": "Preview", + "_show_preview": "Show preview", + "_next": "Next", + "_is_bundled": "Bundled offer?", + "_status": "Status", + "_type": "Type", + "_last_update": "Last update", + "_select": "Select", + "_simple": "Simple", + "_load_more": "Load more", + "_add_comp": "3rd party certifications", + "_value": "Value", + "_actions": "Actions", + "_no_chars": "No characteristics included.", + "_values": "Values", + "_new_char": "Create new characteristic", + "_add_values": "Add values", + "_unit": "Unit", + "_from": "From", + "_to": "To", + "_save_char": "Save characteristic", + "_make_optional": "Make this characteristic optional", + "_resource_specs": "Resource specifications", + "_service_specs": "Service specifications", + "_add_prod_img": "Add product image", + "_drop_files": "Drop one file to attatch or", + "_select_files": "select a file.", + "_add_prod_img_url": "Add product image using URL", + "_add_att": "Attachments", + "_no_att": "No attachments included.", + "_new_att": "Add new attachment", + "_save_att": "Save attachment", + "_no_relatioships": "No relationships included.", + "_relationship_type": "Relationship type", + "_add_relationship": "Add new relationship", + "_save_relationship": "Save relationship", + "_profile_pic": "Profile picture", + "_finish": "Finish", + "_summary": "Product's summary", + "_create_prod": "Create product", + "_choose_license": "Choose a license", + "_standard_license": "Standard open data licenses", + "_treatment": "Treatment", + "_exclusivity": "Exclusivity", + "_sector": "Sector", + "_region": "Region", + "_timeframe": "Timeframe", + "_purpose": "Purpose", + "_transferability": "Transferability", + "_no_sla": "No SLA included", + "_threshold": "Threshold", + "_new_metric": "Define new metric", + "_add_metric": "Add metric", + "_no_prices": "No price plans included.", + "_is_free_price": "Is this offer open?", + "_new_price": "New price plan", + "_create_price": "Create price plan", + "_choose_type": "Choose a type", + "_enter_value": "Enter a value", + "_add_condition": "Add a condition", + "_choose_period": "Choose a pricing period", + "_price_alter": "Price alteration", + "_create_license": "Create license", + "_price": "Price", + "_save_price": "Save price", + "_duplicated_price_name": "Price name already exists.", + "_save_license": "Save license", + "_no_prod_spec": "Bundled offers can't include product specifications.", + "_cancel": "Cancel", + "_no_prods": "There's no product specifications.", + "_no_prods_to_proceed": "Please add at least one product specification to proceed to the next step", + "_no_cats": "There's no catalogues.", + "_no_categories": "There's no categories", + "_no_offer": "There's no offerings.", + "_previous": "Previous step", + "_next_step": "Next step", + "_no_subcats": "There's no subcategories" + }, + "UPDATE_OFFER": { + "_back": "Back", + "_create": "Create product offer", + "_update": "Update product offer", + "_steps": "Steps", + "_general": "General", + "_general_info": "Offer's general information", + "_bundle": "Bundle", + "_bundle_info": "Offer's bundle information", + "_prod_spec": "Product Spec", + "_prod_spec_info": "Offer's related product", + "_catalog": "Catalogue", + "_catalog_info": "Offer's related catalogue", + "_category": "Category", + "_category_info": "Category info", + "_license": "License", + "_license_info": "Offer's license", + "_sla": "SLA", + "_sla_info": "Offer's SLA", + "_price_plans": "Price plans", + "_price_plans_info": "Offer's pricing", + "_name": "Name", + "_description": "Description", + "_version": "Version", + "_preview": "Preview", + "_show_preview": "Show preview", + "_next": "Next", + "_is_bundled": "Bundled offer?", + "_status": "Status", + "_type": "Type", + "_last_update": "Last update", + "_select": "Select", + "_simple": "Simple", + "_load_more": "Load more", + "_add_comp": "3rd party certifications", + "_value": "Value", + "_actions": "Actions", + "_no_chars": "No characteristics included.", + "_values": "Values", + "_new_char": "Create new characteristic", + "_add_values": "Add values", + "_unit": "Unit", + "_from": "From", + "_to": "To", + "_save_char": "Save characteristic", + "_make_optional": "Make this characteristic optional", + "_resource_specs": "Resource specifications", + "_service_specs": "Service specifications", + "_add_prod_img": "Add product image", + "_drop_files": "Drop one file to attatch or", + "_select_files": "select a file.", + "_add_prod_img_url": "Add product image using URL", + "_add_att": "Attachments", + "_no_att": "No attachments included.", + "_new_att": "Add new attachment", + "_save_att": "Save attachment", + "_no_relatioships": "No relationships included.", + "_relationship_type": "Relationship type", + "_add_relationship": "Add new relationship", + "_save_relationship": "Save relationship", + "_profile_pic": "Profile picture", + "_finish": "Update product", + "_summary": "Product's summary", + "_create_prod": "Create product", + "_choose_license": "Choose a license", + "_standard_license": "Standard open data licenses", + "_treatment": "Treatment", + "_exclusivity": "Exclusivity", + "_sector": "Sector", + "_region": "Region", + "_timeframe": "Timeframe", + "_purpose": "Purpose", + "_transferability": "Transferability", + "_no_sla": "No SLA included", + "_threshold": "Threshold", + "_new_metric": "Define new metric", + "_add_metric": "Add metric", + "_no_prices": "No price plans included.", + "_is_free_price": "Is this offer open?", + "_new_price": "New price plan", + "_create_price": "Create price plan", + "_choose_type": "Choose a type", + "_enter_value": "Enter a value", + "_add_condition": "Add a condition", + "_choose_period": "Choose a pricing period", + "_price_alter": "Price alteration", + "_create_license": "Create license", + "_price": "Price", + "_save_price": "Save price", + "_duplicated_price_name": "Price name already exists.", + "_save_license": "Save license", + "_no_prod_spec": "Bundled offers can't include product specifications.", + "_cancel": "Cancel", + "_no_prods": "There's no product specifications.", + "_no_prods_to_proceed": "Please add at least one product specification to proceed to the next step", + "_no_cats": "There's no catalogues.", + "_no_categories": "There's no categories", + "_no_offer": "There's no offerings." + }, + "OFFERINGS": { + "_catalogs": "Catalogues", + "_offers": "Offer", + "_no_offer": "No offerings included.", + "_no_offerings": "There's no product offerings.", + "_no_prod": "There's no product specifications.", + "_no_prod_rel": "There's no product specifications, so you can't create relationships.", + "_no_cat": "There's no catalogues.", + "_no_categories": "There's no categories.", + "_no_res": "There's no resource specifications", + "_no_serv": "There's no service specifications", + "_prod_spec": "Product Specifications", + "_serv_spec": "Service Specifications", + "_res_spec": "Resource Specifications", + "_search": "Search", + "_add_new_serv": "Add new service", + "_filter_state": "Filter by status", + "_state": "State", + "_order_by": "Order by...", + "_last_update": "Last update", + "_name": "Name", + "_active": "Active", + "_launched": "Launched", + "_retired": "Retired", + "_obsolete": "Obsolete", + "_status": "Status", + "_actions": "Actions", + "_load_more": "Load more", + "_add_new_res": "Add new resource", + "_add_new_prod": "Add new product specification", + "_add_new_prod_short": "Add new product spec", + "_filter_type": "Filter by type", + "_all": "All", + "_simple": "Simple", + "_bundle": "Bundle", + "_type": "Type", + "_prod_offer": "Product offer", + "_add_new_offer": "Add new product offer", + "_add_new_catalog": "Add new catalogue", + "_filter_role": "Filter by role", + "_seller": "Seller", + "_owner": "Owner", + "_customer": "Customer", + "_role": "Role", + "_choose": "Choose between our Catalogues", + "_offerings": "Offerings", + "_my_offerings": "My offerings" + }, + "ADMIN": { + "_admin": "Administration", + "_filter_state": "Filter by status", + "_state": "State", + "_order_by": "Order by...", + "_last_update": "Last update", + "_name": "Name", + "_active": "Active", + "_launched": "Launched", + "_retired": "Retired", + "_obsolete": "Obsolete", + "_status": "Status", + "_actions": "Actions", + "_load_more": "Load more", + "_categories": "Categories", + "_verification": "Verification", + "_productId": "Product ID", + "_vc": "Verifiable Credential", + "_add": "Add", + "_revenue": "Revenue sharing", + "_email": "Email", + "_smtpServer": "SMTP Server", + "_smtpPort": "SMTP Port", + "_emailUser": "Email User", + "_emailPass": "Email Password" + }, + "CATEGORIES": { + "_categories": "Categories", + "_add_new_cat": "Add new category", + "_no_cat": "No categories included" + }, + "CREATE_CATEGORIES": { + "_categories": "Categories", + "_add_new_cat": "Add new category", + "_no_cat": "No categories included", + "_back": "Back", + "_create": "Create category", + "_new": "New category", + "_steps": "Steps", + "_general": "General", + "_general_info": "Category's general information", + "_finish": "Create category", + "_summary": "Category's summary", + "_name": "Name", + "_description": "Description", + "_preview": "Preview", + "_show_preview": "Show preview", + "_status": "Status", + "_next": "Next", + "_choose_parent": "Choose a parent category", + "_parent": "Parent category" + }, + "UPDATE_CATEGORIES": { + "_categories": "Categories", + "_add_new_cat": "Add new category", + "_no_cat": "No categories included", + "_back": "Back", + "_update": "Update category", + "_new": "New category", + "_steps": "Steps", + "_general": "General", + "_general_info": "Category's general information", + "_finish": "Update category", + "_summary": "Category's summary", + "_name": "Name", + "_description": "Description", + "_preview": "Preview", + "_show_preview": "Show preview", + "_status": "Status", + "_next": "Next", + "_choose_parent": "Choose a parent category", + "_parent": "Parent category" + }, + "ORGANIZATION": { + "_details": "Organization details", + "_description": "Description" + }, + "PRODUCT_ORDERS": { + "_orders": "Product Orders", + "_invoices": "Invoices", + "_no_orders": "No orders found.", + "_search_criteria": "Search criteria", + "_order_id": "Order Id", + "_status": "Choose a status", + "_priority": "Priority", + "_desc": "Description", + "_price": "Price", + "_bill": "Billing address", + "_filter_state": "Filter by status", + "_acknowledged": "Acknowledged", + "_in_progress": "In Progress", + "_partial": "Partial", + "_completed": "Completed", + "_failed": "Failed", + "_pending": "Pending", + "_cancelled": "Cancelled", + "_unchecked": "Unchecked", + "_as_customer": "As Customer", + "_as_provider": "As Provider", + "_date": "Date", + "_actions": "Actions", + "_order_details": "Order details:", + "_customer_info": "Customer Info:", + "_name": "Name", + "_billing_address": "Billing address", + "_email": "Contact Email", + "_show_customer_details": "Show Customer Details", + "_img": "Img", + "_price_plan": "Price Plan", + "_state": "State" + }, "FORMS": { "PROCUREMENT_MODE": { - "_title": "Select Procurement Mode", - "_manual": "Manual", - "_automatic": "Automatic", - "_payment_automatic": "Payment Automatic - Procurement Manual" - }, + "_title": "Select Procurement Mode", + "_manual": "Manual", + "_automatic": "Automatic", + "_payment_automatic": "Payment Automatic - Procurement Manual" + }, "PRICE_PLANS": { "_price_plans": "Price Plans", "_add": "Add new Price Plans", diff --git a/src/assets/images/dashboard/hero.png b/src/assets/images/dashboard/hero.png new file mode 100644 index 0000000000000000000000000000000000000000..368e3665871ae7ba721ee8afac801087b92af398 GIT binary patch literal 83554 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�JE9+TR!e_B^f%ZpqGr$TpXy`2RP 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 literal 0 HcmV?d00001 diff --git a/src/environments/environment.development.ts b/src/environments/environment.development.ts index 8077ee0a..eca5da47 100644 --- a/src/environments/environment.development.ts +++ b/src/environments/environment.development.ts @@ -1,104 +1,104 @@ export const environment = { - //BASE_URL: 'https://dome-marketplace.org', - BASE_URL: 'http://proxy.docker:8004', - isProduction: false, - PAYMENT_URL: '/revenue', - //API_PORT: 8004, - //API_PORT: 443, - LEGACY_PREFIX: '', - PRODUCT_CATALOG: '/catalog', - SERVICE: '/service', - RESOURCE: '/resource', - PRODUCT_SPEC: '/productSpecification', - SERVICE_SPEC: '/serviceSpecification', - RESOURCE_SPEC: '/resourceSpecification', - ACCOUNT: '/account', - SHOPPING_CART: '/shoppingCart', - INVENTORY: '/inventory', - PRODUCT_ORDER: '/ordering', - BILLING: '/billing', - CHARGING: '/charging', + //BASE_URL: 'https://dome-marketplace.org', + BASE_URL: 'http://proxy.docker:8004', + isProduction: false, + PAYMENT_URL: '/revenue', + //API_PORT: 8004, + //API_PORT: 443, + LEGACY_PREFIX: '', + PRODUCT_CATALOG: '/catalog', + SERVICE: '/service', + RESOURCE: '/resource', + PRODUCT_SPEC: '/productSpecification', + SERVICE_SPEC: '/serviceSpecification', + RESOURCE_SPEC: '/resourceSpecification', + ACCOUNT: '/account', + SHOPPING_CART: '/shoppingCart', + INVENTORY: '/inventory', + PRODUCT_ORDER: '/ordering', + BILLING: '/billing', + CHARGING: '/charging', - searchOrganizationsEndpoint: '/search-bck/api/searchOrganizations', - //searchOrganizationsEndpoint: 'org-api/searchOrganizations', + searchOrganizationsEndpoint: '/search-bck/api/searchOrganizations', + //searchOrganizationsEndpoint: 'org-api/searchOrganizations', - CUSTOMER_BILLING: '/customerBill', - CONSUMER_BILLING_URL: 'http://localhost:8640', - INVOICE_LIMIT: 100, + CUSTOMER_BILLING: '/customerBill', + CONSUMER_BILLING_URL: 'http://localhost:8640', + INVOICE_LIMIT: 100, - //API PAGINATION - PRODUCT_LIMIT: 6, - CATALOG_LIMIT: 8, - INVENTORY_LIMIT: 6, - INVENTORY_RES_LIMIT: 6, - INVENTORY_SERV_LIMIT: 6, - PROD_SPEC_LIMIT: 6, - SERV_SPEC_LIMIT: 6, - RES_SPEC_LIMIT: 6, - USAGE_SPEC_LIMIT: 6, - ORDER_LIMIT: 1000, - CATEGORY_LIMIT: 100, - TAX_RATE: 20, - CHAT_API: 'https://eng-gpt.dome-marketplace-sbx.org/predict', - SIOP_INFO: { - enabled: false, - isRedirection: false, - pollPath: "", - pollCertPath: "", - clientID: "", - callbackURL: "", - verifierHost: "", - verifierQRCodePath: "", - requestUri: "" - }, - MATOMO_TRACKER_URL: "", - MATOMO_SITE_ID: "", - TICKETING_SYSTEM_URL: "", - KNOWLEDGE_BASE_URL: "https://knowledgebase.dome-marketplace.org/", - KB_ONBOARDING_GUIDELINES_URL: "https://knowledgebase.dome-marketplace-prd.org/books/company-onboarding-process-guide-for-cloud-service-providers-csp", - KB_GUIDELNES_URL: "https://knowledgebase.dome-marketplace-prd.org/books/managing-orders-products-and-subscriptions", - REGISTRATION_FORM_URL: "https://onboarding.dome-marketplace.eu/", - SEARCH_ENABLED: true, - PURCHASE_ENABLED: true, - DOME_TRUST_LINK: "", - DOME_ABOUT_LINK: '', - DOME_REGISTER_LINK: '', - DOME_PUBLISH_LINK: '', - DOME_LINKEDIN: 'https://www.linkedin.com/company/dome-marketplace/', - DOME_YOUTUBE: 'https://www.youtube.com/channel/UC8UiL59S0JiaYYr14w5eOzA', - DOME_X: 'https://x.com/DomeMarketplace', - BUNDLE_ENABLED: false, - DATA_SPACE_ENABLED: false, - DFT_CATALOG_ID: '', - MAX_FILE_SIZE: 3145728, - providerThemeName: 'default', - quoteApi: 'http://localhost:8080/quoteManagement', - quoteEndpoints: { - createQuote: '/createQuote', - listAllQuotes: '/listAllQuotes', - getQuoteById: '/quoteById', - getQuotesByUser: '/quoteByUser', - updateQuoteStatus: '/updateQuoteStatus', - updateQuoteDate: '/updateQuoteDate', - addNoteToQuote: '/addNoteToQuote', - addAttachmentToQuote: '/addAttachmentToQuote', - deleteQuote: '/quote' - }, - QUOTES_ENABLED: true, - TENDER_ENABLED: true, - analytics: '', - feedbackCampaign: false, - feedbackCampaignExpiration: 0, - SELLER_ROLE: 'Seller', - BUYER_ROLE: 'Buyer', - ADMIN_ROLE: 'Admin', - ORG_ADMIN_ROLE: 'orgAdmin', - CERTIFIER_ROLE: 'certifier', - AI_SEARCH_ENABLED: true, - AI_SEARCH_API_KEY: '28791420a51be86495cab108f32221fa458469e29a04b33567b057c95878bd72', - AI_SEARCH_API_URL: 'https://dome.expertcustomers.ai/rag/', - AI_SEARCH_SCORE_THRESHOLD: 0.3, - AI_SEARCH_ANSWER_MAX_ITEMS: 5, - AI_SEARCH_PROFILE: 'dome_prod', - LEAR_URL: '' + //API PAGINATION + PRODUCT_LIMIT: 6, + CATALOG_LIMIT: 8, + INVENTORY_LIMIT: 6, + INVENTORY_RES_LIMIT: 6, + INVENTORY_SERV_LIMIT: 6, + PROD_SPEC_LIMIT: 6, + SERV_SPEC_LIMIT: 6, + RES_SPEC_LIMIT: 6, + USAGE_SPEC_LIMIT: 6, + ORDER_LIMIT: 1000, + CATEGORY_LIMIT: 100, + TAX_RATE: 20, + CHAT_API: 'https://eng-gpt.dome-marketplace-sbx.org/predict', + SIOP_INFO: { + enabled: false, + isRedirection: false, + pollPath: "", + pollCertPath: "", + clientID: "", + callbackURL: "", + verifierHost: "", + verifierQRCodePath: "", + requestUri: "" + }, + MATOMO_TRACKER_URL: "", + MATOMO_SITE_ID: "", + TICKETING_SYSTEM_URL: "", + KNOWLEDGE_BASE_URL: "https://knowledgebase.dome-marketplace.org/", + KB_ONBOARDING_GUIDELINES_URL: "https://knowledgebase.dome-marketplace-prd.org/books/company-onboarding-process-guide-for-cloud-service-providers-csp", + KB_GUIDELNES_URL: "https://knowledgebase.dome-marketplace-prd.org/books/managing-orders-products-and-subscriptions", + REGISTRATION_FORM_URL: "https://onboarding.dome-marketplace.eu/", + SEARCH_ENABLED: true, + PURCHASE_ENABLED: true, + DOME_TRUST_LINK: "", + DOME_ABOUT_LINK: '', + DOME_REGISTER_LINK: '', + DOME_PUBLISH_LINK: '', + DOME_LINKEDIN: 'https://www.linkedin.com/company/dome-marketplace/', + DOME_YOUTUBE: 'https://www.youtube.com/channel/UC8UiL59S0JiaYYr14w5eOzA', + DOME_X: 'https://x.com/DomeMarketplace', + BUNDLE_ENABLED: false, + DATA_SPACE_ENABLED: false, + DFT_CATALOG_ID: '', + MAX_FILE_SIZE: 3145728, + providerThemeName: 'default', + quoteApi: 'http://localhost:8080/quoteManagement', + quoteEndpoints: { + createQuote: '/createQuote', + listAllQuotes: '/listAllQuotes', + getQuoteById: '/quoteById', + getQuotesByUser: '/quoteByUser', + updateQuoteStatus: '/updateQuoteStatus', + updateQuoteDate: '/updateQuoteDate', + addNoteToQuote: '/addNoteToQuote', + addAttachmentToQuote: '/addAttachmentToQuote', + deleteQuote: '/quote' + }, + QUOTES_ENABLED: true, + TENDER_ENABLED: true, + analytics: '', + feedbackCampaign: false, + feedbackCampaignExpiration: 0, + SELLER_ROLE: 'Seller', + BUYER_ROLE: 'Buyer', + ADMIN_ROLE: 'Admin', + ORG_ADMIN_ROLE: 'orgAdmin', + CERTIFIER_ROLE: 'certifier', + AI_SEARCH_ENABLED: true, + AI_SEARCH_API_KEY: '28791420a51be86495cab108f32221fa458469e29a04b33567b057c95878bd72', + AI_SEARCH_API_URL: 'https://dome.expertcustomers.ai/rag/', + AI_SEARCH_SCORE_THRESHOLD: 0.3, + AI_SEARCH_ANSWER_MAX_ITEMS: 5, + AI_SEARCH_PROFILE: 'dome_prod', + LEAR_URL: '' }; diff --git a/src/styles.css b/src/styles.css index e0dedb08..3429b2fb 100644 --- a/src/styles.css +++ b/src/styles.css @@ -17,6 +17,10 @@ } } +.blinker { + font-family: "Blinker", system-ui, sans-serif; +} + /* El resto de tus estilos... */ :root { /* Default light mode colors */ @@ -35,7 +39,8 @@ } ngx-file-drop .ngx-file-drop__drop-zone { - border-color: rgb(var(--theme-primary-100)) !important; /* your theme color */ + border-color: rgb(var(--theme-primary-100)) !important; + /* your theme color */ } /* Default styles for Markdown elements */ @@ -80,24 +85,29 @@ markdown h6 { font-weight: bold; margin-bottom: 0.5em; } + .price-plan markdown h2 { font-size: 1em; font-weight: bold; margin-bottom: 0.5em; } + .price-plan markdown h3 { font-size: 0.83em; font-weight: bold; margin-bottom: 0.5em; } + .price-plan markdown h4 { font-size: 0.67em; margin-bottom: 0.5em; } + .price-plan markdown h5 { font-size: 0.5em; margin-bottom: 0.5em; } + .price-plan markdown h6 { font-size: 0.5em; margin-bottom: 0.5em; @@ -193,18 +203,18 @@ markdown a:hover { text-decoration: underline; } - :root { - fa-layers { - /*font-size: 1.5em;*/ - - fa-layers-counter { - font-size: 2em; - position: absolute; - top: -0.1em; - right: -0.1em; - } - } - } +:root { + fa-layers { + /*font-size: 1.5em;*/ + + fa-layers-counter { + font-size: 2em; + position: absolute; + top: -0.1em; + right: -0.1em; + } + } +} /* Autofill background configuration */ :root { @@ -245,4 +255,4 @@ textarea:-webkit-autofill { textarea:-webkit-autofill::first-line { color: inherit; -} \ No newline at end of file +} From 1f416a0bd753d42cccff78d63f4d0f7ef40d97a5 Mon Sep 17 00:00:00 2001 From: Luigi Date: Tue, 10 Mar 2026 15:49:12 +0100 Subject: [PATCH 02/10] Fix link (#222) * Footer first implementation * New footer * Fix env * First commit * Header and dashboard fix for incoming demo * Complete * header * Dashboard * Homepage completa * x * Update enviroment * Homepage implementation complete * SBX LINKS --- src/app/pages/dashboard/dashboard.component.ts | 4 ++-- src/app/themes/dome.theme.ts | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/app/pages/dashboard/dashboard.component.ts b/src/app/pages/dashboard/dashboard.component.ts index 0896d5c6..5eeccd73 100644 --- a/src/app/pages/dashboard/dashboard.component.ts +++ b/src/app/pages/dashboard/dashboard.component.ts @@ -39,8 +39,8 @@ export interface IDashboardStats { imports: [TranslateModule, ReactiveFormsModule, FeaturedComponent, NgClass, DashboardWhatsDome, DashboardHeroComponent, DashboardStatsComponent, DashboardServicesComponent, DashboardCustomersComponent, DashboardProvidersComponent, DashboardEcosystemComponent], }) export class DashboardComponent implements OnInit, OnDestroy { - customersLink = 'https://onboarding.dome-marketplace.eu/?page=buyer'; - providersLink = "https://onboarding.dome-marketplace.eu/?page=seller"; + customersLink = 'https://onboard.sbx.evidenceledger.eu/register-customer'; + providersLink = "https://onboard.sbx.evidenceledger.eu/register-provider"; private unSub = new Subject(); diff --git a/src/app/themes/dome.theme.ts b/src/app/themes/dome.theme.ts index 40dab989..3e4bb470 100644 --- a/src/app/themes/dome.theme.ts +++ b/src/app/themes/dome.theme.ts @@ -5,12 +5,12 @@ const domeHeaderLinks: NavLink[] = [ { label: 'HEADER._forCustomers', - url: 'https://onboarding.dome-marketplace.eu/?page=buyer' + url: 'https://onboard.sbx.evidenceledger.eu/register-customer' }, { label: 'HEADER._forProviders', - url: 'https://onboarding.dome-marketplace.eu/?page=seller' + url: 'https://onboard.sbx.evidenceledger.eu/register-provider' }, { id: 'dropdown-marketplace', From e833fb1329654001046d379056759c0c70071796 Mon Sep 17 00:00:00 2001 From: Francisco de la Vega Date: Wed, 11 Mar 2026 17:56:29 +0100 Subject: [PATCH 03/10] Fix issues with default footer --- src/app/app.component.css | 3 ++ src/app/app.component.html | 15 ++++--- src/app/shared/footer/footer.component.html | 45 ++++++++++++++++++--- src/app/shared/footer/footer.component.ts | 6 ++- 4 files changed, 57 insertions(+), 12 deletions(-) diff --git a/src/app/app.component.css b/src/app/app.component.css index e69de29b..5d4e87f3 100644 --- a/src/app/app.component.css +++ b/src/app/app.component.css @@ -0,0 +1,3 @@ +:host { + display: block; +} diff --git a/src/app/app.component.html b/src/app/app.component.html index 6655747f..74a440ac 100644 --- a/src/app/app.component.html +++ b/src/app/app.component.html @@ -1,14 +1,17 @@ - +

+ + +
+ +
+ + +
-
- -
@if (providerThemeName === "DOME") { } - - @if(isProduction){ diff --git a/src/app/shared/footer/footer.component.html b/src/app/shared/footer/footer.component.html index 3b50178d..bbbe5ce6 100644 --- a/src/app/shared/footer/footer.component.html +++ b/src/app/shared/footer/footer.component.html @@ -1,3 +1,4 @@ +@if (isDomeTheme) {