geonetwork-ui 2.7.0-dev.76c515d5b → 2.7.0-dev.7cec835f7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/read-parts.mjs +4 -7
- package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +20 -20
- package/esm2022/libs/api/metadata-converter/src/lib/gn4/metadata-url.service.mjs +3 -3
- package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.mjs +3 -3
- package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.mjs +3 -3
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/read-parts.mjs +4 -4
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +4 -4
- package/esm2022/libs/api/repository/src/index.mjs +2 -2
- package/esm2022/libs/api/repository/src/lib/gn4/auth/auth.service.mjs +5 -5
- package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.mjs +9 -10
- package/esm2022/libs/api/repository/src/lib/gn4/gn4-repository.mjs +3 -3
- package/esm2022/libs/api/repository/src/lib/gn4/organizations/organizations-from-groups.service.mjs +3 -3
- package/esm2022/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.mjs +3 -3
- package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.mjs +3 -3
- package/esm2022/libs/api/repository/src/lib/metadata-language.token.mjs +3 -0
- package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +11 -1
- package/esm2022/libs/feature/catalog/src/lib/sources/sources.service.mjs +3 -3
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-inspire-field/form-field-inspire-theme.component.mjs +79 -0
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.mjs +8 -3
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/index.mjs +2 -1
- package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +77 -1
- package/esm2022/libs/feature/router/src/lib/default/state/router.facade.mjs +3 -2
- package/esm2022/libs/ui/elements/src/lib/api-card/api-card.component.mjs +3 -3
- package/esm2022/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.mjs +1 -4
- package/esm2022/libs/util/app-config/src/lib/fixtures.mjs +2 -2
- package/esm2022/libs/util/app-config/src/lib/parse-utils.mjs +5 -4
- package/esm2022/libs/util/i18n/src/lib/language-codes.mjs +50 -9
- package/esm2022/libs/util/shared/src/lib/record/quality-score.util.mjs +7 -7
- package/esm2022/translations/de.json +32 -0
- package/esm2022/translations/en.json +32 -0
- package/esm2022/translations/es.json +32 -0
- package/esm2022/translations/fr.json +32 -0
- package/esm2022/translations/it.json +32 -0
- package/esm2022/translations/nl.json +32 -0
- package/esm2022/translations/pt.json +32 -0
- package/esm2022/translations/sk.json +32 -0
- package/fesm2022/geonetwork-ui.mjs +533 -520
- package/fesm2022/geonetwork-ui.mjs.map +1 -1
- package/libs/api/metadata-converter/src/lib/dcat-ap/read-parts.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts +1 -1
- package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts.map +1 -1
- package/libs/api/repository/src/index.d.ts +1 -1
- package/libs/api/repository/src/index.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts +0 -1
- package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts.map +1 -1
- package/libs/api/repository/src/lib/metadata-language.token.d.ts +5 -0
- package/libs/api/repository/src/lib/metadata-language.token.d.ts.map +1 -0
- package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +4 -0
- package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
- package/libs/feature/catalog/src/lib/sources/sources.service.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-inspire-field/form-field-inspire-theme.component.d.ts +28 -0
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-inspire-field/form-field-inspire-theme.component.d.ts.map +1 -0
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts +1 -0
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/index.d.ts +1 -0
- package/libs/feature/editor/src/lib/components/record-form/form-field/index.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/fields.config.d.ts +8 -1
- package/libs/feature/editor/src/lib/fields.config.d.ts.map +1 -1
- package/libs/feature/router/src/lib/default/state/router.facade.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.d.ts +0 -1
- package/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.d.ts.map +1 -1
- package/libs/util/app-config/src/lib/parse-utils.d.ts.map +1 -1
- package/libs/util/i18n/src/lib/language-codes.d.ts +91 -31
- package/libs/util/i18n/src/lib/language-codes.d.ts.map +1 -1
- package/libs/util/shared/src/lib/record/quality-score.util.d.ts.map +1 -1
- package/package.json +11 -10
- package/src/libs/api/metadata-converter/src/lib/dcat-ap/read-parts.ts +3 -6
- package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +47 -22
- package/src/libs/api/metadata-converter/src/lib/gn4/metadata-url.service.ts +2 -2
- package/src/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.ts +2 -2
- package/src/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.ts +2 -2
- package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +3 -3
- package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +3 -3
- package/src/libs/api/repository/src/index.ts +1 -1
- package/src/libs/api/repository/src/lib/gn4/auth/auth.service.ts +4 -4
- package/src/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.ts +15 -11
- package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +2 -2
- package/src/libs/api/repository/src/lib/gn4/organizations/organizations-from-groups.service.ts +2 -2
- package/src/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.ts +2 -2
- package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +2 -2
- package/src/libs/api/repository/src/lib/metadata-language.token.ts +8 -0
- package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +16 -0
- package/src/libs/feature/catalog/src/lib/sources/sources.service.ts +2 -5
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-inspire-field/form-field-inspire-theme.component.css +0 -0
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-inspire-field/form-field-inspire-theme.component.html +20 -0
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-inspire-field/form-field-inspire-theme.component.ts +85 -0
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.html +6 -0
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.ts +5 -0
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/index.ts +1 -0
- package/src/libs/feature/editor/src/lib/fields.config.ts +85 -1
- package/src/libs/feature/router/src/lib/default/state/router.facade.ts +2 -1
- package/src/libs/ui/elements/src/lib/api-card/api-card.component.html +4 -1
- package/src/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.ts +0 -4
- package/src/libs/util/app-config/src/lib/fixtures.ts +1 -1
- package/src/libs/util/app-config/src/lib/parse-utils.ts +4 -7
- package/src/libs/util/i18n/src/lib/language-codes.ts +62 -11
- package/src/libs/util/shared/src/lib/record/quality-score.util.ts +8 -9
- package/translations/de.json +32 -0
- package/translations/en.json +32 -0
- package/translations/es.json +32 -0
- package/translations/fr.json +32 -0
- package/translations/it.json +32 -0
- package/translations/nl.json +32 -0
- package/translations/pt.json +32 -0
- package/translations/sk.json +32 -0
- package/esm2022/libs/api/repository/src/lib/metadata-language.mjs +0 -3
- package/esm2022/libs/util/app-config/src/lib/constants.mjs +0 -439
- package/libs/api/repository/src/lib/metadata-language.d.ts +0 -3
- package/libs/api/repository/src/lib/metadata-language.d.ts.map +0 -1
- package/libs/util/app-config/src/lib/constants.d.ts +0 -2
- package/libs/util/app-config/src/lib/constants.d.ts.map +0 -1
- package/src/libs/api/repository/src/lib/metadata-language.ts +0 -3
package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.ts
CHANGED
|
@@ -45,6 +45,7 @@ import { FormFieldConstraintsShortcutsComponent } from './form-field-constraints
|
|
|
45
45
|
import { FormFieldConstraintsComponent } from './form-field-constraints/form-field-constraints.component'
|
|
46
46
|
import { TextFieldModule } from '@angular/cdk/text-field'
|
|
47
47
|
import { FormFieldSpatialToggleComponent } from './form-field-spatial-toggle/form-field-spatial-toggle.component'
|
|
48
|
+
import { FormFieldInspireThemeComponent } from './form-field-inspire-field/form-field-inspire-theme.component'
|
|
48
49
|
|
|
49
50
|
@Component({
|
|
50
51
|
selector: 'gn-ui-form-field',
|
|
@@ -73,6 +74,7 @@ import { FormFieldSpatialToggleComponent } from './form-field-spatial-toggle/for
|
|
|
73
74
|
FormFieldConstraintsComponent,
|
|
74
75
|
FormFieldConstraintsShortcutsComponent,
|
|
75
76
|
FormFieldSpatialToggleComponent,
|
|
77
|
+
FormFieldInspireThemeComponent,
|
|
76
78
|
TextFieldModule,
|
|
77
79
|
],
|
|
78
80
|
})
|
|
@@ -128,6 +130,9 @@ export class FormFieldComponent {
|
|
|
128
130
|
get valueAsKeywords() {
|
|
129
131
|
return this.value as Array<Keyword>
|
|
130
132
|
}
|
|
133
|
+
get valueAsInspireTheme() {
|
|
134
|
+
return this.value as Array<string>
|
|
135
|
+
}
|
|
131
136
|
get valueAsConstraints() {
|
|
132
137
|
return this.value as Array<Constraint>
|
|
133
138
|
}
|
|
@@ -10,3 +10,4 @@ export * from './form-field-array/form-field-array.component'
|
|
|
10
10
|
export * from './form-field-spatial-extent/form-field-spatial-extent.component'
|
|
11
11
|
export * from './form-field.component'
|
|
12
12
|
export * from './form-field-constraints-shortcuts/constraints.utils'
|
|
13
|
+
export * from './form-field-inspire-field/form-field-inspire-theme.component'
|
|
@@ -4,7 +4,10 @@ import {
|
|
|
4
4
|
EditorField,
|
|
5
5
|
EditorSection,
|
|
6
6
|
} from './models/editor-config.model'
|
|
7
|
-
import {
|
|
7
|
+
import {
|
|
8
|
+
INSPIRE_theme,
|
|
9
|
+
Keyword,
|
|
10
|
+
} from '../../../../../libs/common/domain/src/lib/model/record'
|
|
8
11
|
|
|
9
12
|
/**
|
|
10
13
|
* This file contains the configuration of the fields that will be displayed in the editor.
|
|
@@ -64,6 +67,11 @@ export const RECORD_KEYWORDS_FIELD: EditorField = {
|
|
|
64
67
|
formFieldConfig: {},
|
|
65
68
|
}
|
|
66
69
|
|
|
70
|
+
export const RECORD_TOPICS_FIELD: EditorField = {
|
|
71
|
+
model: 'topics',
|
|
72
|
+
formFieldConfig: {},
|
|
73
|
+
}
|
|
74
|
+
|
|
67
75
|
export const RECORD_RESOURCE_CREATED_FIELD: EditorField = {
|
|
68
76
|
model: 'resourceCreated',
|
|
69
77
|
formFieldConfig: {
|
|
@@ -235,6 +243,13 @@ export const CLASSIFICATION_SECTION: EditorSection = {
|
|
|
235
243
|
fields: [RECORD_KEYWORDS_FIELD],
|
|
236
244
|
}
|
|
237
245
|
|
|
246
|
+
export const INSPIRE_SECTION: EditorSection = {
|
|
247
|
+
labelKey: marker('editor.record.form.section.inspire.label'),
|
|
248
|
+
descriptionKey: marker('editor.record.form.section.inspire.description'),
|
|
249
|
+
hidden: false,
|
|
250
|
+
fields: [RECORD_TOPICS_FIELD],
|
|
251
|
+
}
|
|
252
|
+
|
|
238
253
|
export const USE_AND_ACCESS_CONDITIONS_SECTION: EditorSection = {
|
|
239
254
|
labelKey: marker('editor.record.form.section.useAndAccessConditions.label'),
|
|
240
255
|
hidden: false,
|
|
@@ -274,6 +289,7 @@ export const DEFAULT_CONFIGURATION: EditorConfig = {
|
|
|
274
289
|
sections: [
|
|
275
290
|
TITLE_SECTION,
|
|
276
291
|
CLASSIFICATION_SECTION,
|
|
292
|
+
INSPIRE_SECTION,
|
|
277
293
|
ABOUT_SECTION,
|
|
278
294
|
GEOGRAPHICAL_COVERAGE_SECTION,
|
|
279
295
|
],
|
|
@@ -341,3 +357,71 @@ export const SPATIAL_SCOPES: Keyword[] = [
|
|
|
341
357
|
type: 'theme',
|
|
342
358
|
},
|
|
343
359
|
]
|
|
360
|
+
|
|
361
|
+
/************************************************************
|
|
362
|
+
*************** INSPIRE THEMES **************
|
|
363
|
+
************************************************************
|
|
364
|
+
*/
|
|
365
|
+
|
|
366
|
+
export const INSPIRE_THEMES: INSPIRE_theme[] = [
|
|
367
|
+
{ value: 'biota', label: 'editor.record.form.inspire.biota' },
|
|
368
|
+
{ value: 'boundaries', label: 'editor.record.form.inspire.boundaries' },
|
|
369
|
+
{
|
|
370
|
+
value: 'climatologyMeteorologyAtmosphere',
|
|
371
|
+
label: 'editor.record.form.inspire.climatology',
|
|
372
|
+
},
|
|
373
|
+
{ value: 'economy', label: 'editor.record.form.inspire.economy' },
|
|
374
|
+
{ value: 'elevation', label: 'editor.record.form.inspire.elevation' },
|
|
375
|
+
{ value: 'environment', label: 'editor.record.form.inspire.environnement' },
|
|
376
|
+
{ value: 'farming', label: 'editor.record.form.inspire.farming' },
|
|
377
|
+
{
|
|
378
|
+
value: 'geoscientific information',
|
|
379
|
+
label: 'editor.record.form.inspire.geoscientific',
|
|
380
|
+
},
|
|
381
|
+
{ value: 'health', label: 'editor.record.form.inspire.health' },
|
|
382
|
+
{
|
|
383
|
+
value: 'imageryBaseMapsEarthCover',
|
|
384
|
+
label: 'editor.record.form.inspire.imagery',
|
|
385
|
+
},
|
|
386
|
+
{
|
|
387
|
+
value: 'intelligenceMilitary',
|
|
388
|
+
label: 'editor.record.form.inspire.intelligence',
|
|
389
|
+
},
|
|
390
|
+
{ value: 'Location', label: 'editor.record.form.inspire.location' },
|
|
391
|
+
{ value: 'Oceans', label: 'editor.record.form.inspire.oceans' },
|
|
392
|
+
{
|
|
393
|
+
value: 'planningCadastre',
|
|
394
|
+
label: 'editor.record.form.inspire.planning',
|
|
395
|
+
},
|
|
396
|
+
{ value: 'Society', label: 'editor.record.form.inspire.society' },
|
|
397
|
+
{ value: 'Structure', label: 'editor.record.form.inspire.structure' },
|
|
398
|
+
{
|
|
399
|
+
value: 'Transportation',
|
|
400
|
+
label: 'editor.record.form.inspire.transportation',
|
|
401
|
+
},
|
|
402
|
+
{
|
|
403
|
+
value: 'utilitiesCommunication',
|
|
404
|
+
label: 'editor.record.form.inspire.utilities',
|
|
405
|
+
},
|
|
406
|
+
{ value: 'inlandWaters', label: 'editor.record.form.inspire.waters' },
|
|
407
|
+
]
|
|
408
|
+
|
|
409
|
+
marker('editor.record.form.inspire.biota')
|
|
410
|
+
marker('editor.record.form.inspire.boundaries')
|
|
411
|
+
marker('editor.record.form.inspire.climatology')
|
|
412
|
+
marker('editor.record.form.inspire.economy')
|
|
413
|
+
marker('editor.record.form.inspire.elevation')
|
|
414
|
+
marker('editor.record.form.inspire.environnement')
|
|
415
|
+
marker('editor.record.form.inspire.farming')
|
|
416
|
+
marker('editor.record.form.inspire.geoscientific')
|
|
417
|
+
marker('editor.record.form.inspire.health')
|
|
418
|
+
marker('editor.record.form.inspire.imagery')
|
|
419
|
+
marker('editor.record.form.inspire.intelligence')
|
|
420
|
+
marker('editor.record.form.inspire.location')
|
|
421
|
+
marker('editor.record.form.inspire.oceans')
|
|
422
|
+
marker('editor.record.form.inspire.planning')
|
|
423
|
+
marker('editor.record.form.inspire.society')
|
|
424
|
+
marker('editor.record.form.inspire.structure')
|
|
425
|
+
marker('editor.record.form.inspire.transportation')
|
|
426
|
+
marker('editor.record.form.inspire.utilities')
|
|
427
|
+
marker('editor.record.form.inspire.waters')
|
|
@@ -63,7 +63,8 @@ export class RouterFacade {
|
|
|
63
63
|
}
|
|
64
64
|
|
|
65
65
|
goToOrganization(organizationName: string) {
|
|
66
|
-
const
|
|
66
|
+
const safeOrgName = organizationName.replace('/', '')
|
|
67
|
+
const path = `${this.routerService.getOrganizationPageRoute()}/${safeOrgName}`
|
|
67
68
|
this.go({
|
|
68
69
|
path,
|
|
69
70
|
queryParamsHandling: '',
|
|
@@ -67,7 +67,10 @@
|
|
|
67
67
|
[ngClass]="{
|
|
68
68
|
'!bg-primary': currentlyActive,
|
|
69
69
|
}"
|
|
70
|
-
|
|
70
|
+
translate
|
|
71
|
+
>record.metadata.api.accessServiceProtocol.{{
|
|
72
|
+
link.accessServiceProtocol
|
|
73
|
+
}}</span
|
|
71
74
|
>
|
|
72
75
|
<span
|
|
73
76
|
*ngIf="link.accessServiceProtocol === 'GPFDL'"
|
|
@@ -74,10 +74,6 @@ export class MetadataQualityComponent implements OnChanges {
|
|
|
74
74
|
)
|
|
75
75
|
}
|
|
76
76
|
|
|
77
|
-
hasGetCapabilities(url: string): boolean {
|
|
78
|
-
return url.toLowerCase().includes('capabilities')
|
|
79
|
-
}
|
|
80
|
-
|
|
81
77
|
initialize() {
|
|
82
78
|
if (!this.propsToValidate) {
|
|
83
79
|
this.propsToValidate = getAllKeysValidator()
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { toLang2 } from '../../../../../libs/util/i18n/src'
|
|
2
2
|
|
|
3
3
|
const flatten = (
|
|
4
4
|
base: string,
|
|
@@ -129,13 +129,10 @@ export function checkMetadataLanguage(
|
|
|
129
129
|
parsedConfigSection: any,
|
|
130
130
|
outWarnings: string[]
|
|
131
131
|
) {
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
parsedConfigSection.metadata_language.toLowerCase()
|
|
135
|
-
) === -1
|
|
136
|
-
) {
|
|
132
|
+
const lang2 = toLang2(parsedConfigSection.metadata_language.toLowerCase())
|
|
133
|
+
if (lang2?.length !== 2) {
|
|
137
134
|
outWarnings.push(
|
|
138
|
-
`In the [global] section: metadata_language = "${parsedConfigSection.metadata_language}" is not
|
|
135
|
+
`In the [global] section: metadata_language = "${parsedConfigSection.metadata_language}" is not a recognized ISO 639 language code`
|
|
139
136
|
)
|
|
140
137
|
}
|
|
141
138
|
return parsedConfigSection
|
|
@@ -1,20 +1,32 @@
|
|
|
1
1
|
import { marker } from '@biesbjerg/ngx-translate-extract-marker'
|
|
2
2
|
|
|
3
|
+
/**
|
|
4
|
+
* Taken from https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes
|
|
5
|
+
* Note: some languages have multiple 3-char codes, like 'fre' and 'fra'; in that case, the one to be used
|
|
6
|
+
* in priority is the one defined last
|
|
7
|
+
*/
|
|
3
8
|
const LANG_3_TO_2_MAPPER = {
|
|
4
9
|
eng: 'en',
|
|
10
|
+
nld: 'nl', // duplicate for "dut"
|
|
5
11
|
dut: 'nl',
|
|
12
|
+
fra: 'fr', // duplicate for "fre"
|
|
6
13
|
fre: 'fr',
|
|
14
|
+
deu: 'de', // duplicate for "ger"
|
|
7
15
|
ger: 'de',
|
|
8
16
|
kor: 'ko',
|
|
9
17
|
spa: 'es',
|
|
18
|
+
ces: 'cs', // duplicate for "cze"
|
|
10
19
|
cze: 'cs',
|
|
11
20
|
cat: 'ca',
|
|
12
21
|
fin: 'fi',
|
|
22
|
+
isl: 'is', // duplicate for "ice"
|
|
13
23
|
ice: 'is',
|
|
14
24
|
ita: 'it',
|
|
15
25
|
por: 'pt',
|
|
16
26
|
rus: 'ru',
|
|
27
|
+
zho: 'zh', // duplicate for "chi"
|
|
17
28
|
chi: 'zh',
|
|
29
|
+
slk: 'sk', // duplicate for "slo"
|
|
18
30
|
slo: 'sk',
|
|
19
31
|
roh: 'rm',
|
|
20
32
|
ara: 'ar',
|
|
@@ -25,10 +37,12 @@ const LANG_3_TO_2_MAPPER = {
|
|
|
25
37
|
tur: 'tr',
|
|
26
38
|
arm: 'hy',
|
|
27
39
|
aze: 'az',
|
|
40
|
+
kat: 'ka', // duplicate for "geo"
|
|
28
41
|
geo: 'ka',
|
|
29
42
|
ukr: 'uk',
|
|
43
|
+
cym: 'cy', // duplicate for "wel"
|
|
30
44
|
wel: 'cy',
|
|
31
|
-
}
|
|
45
|
+
} as const
|
|
32
46
|
|
|
33
47
|
export const LANGUAGE_NAMES = {
|
|
34
48
|
en: 'English',
|
|
@@ -58,26 +72,63 @@ export const LANGUAGE_NAMES = {
|
|
|
58
72
|
ka: 'ქართული',
|
|
59
73
|
uk: 'українська',
|
|
60
74
|
wel: 'Cymraeg',
|
|
61
|
-
}
|
|
75
|
+
} as const
|
|
76
|
+
|
|
77
|
+
export type LanguageCode3 = keyof typeof LANG_3_TO_2_MAPPER
|
|
78
|
+
export type LanguageCode2 = (typeof LANG_3_TO_2_MAPPER)[LanguageCode3]
|
|
62
79
|
|
|
63
80
|
export const LANG_2_TO_3_MAPPER = Object.entries(LANG_3_TO_2_MAPPER).reduce(
|
|
64
81
|
(mapperObject, langEntry) => {
|
|
65
82
|
return { ...mapperObject, [langEntry[1]]: langEntry[0] }
|
|
66
83
|
},
|
|
67
84
|
{}
|
|
68
|
-
)
|
|
85
|
+
) as Record<LanguageCode2, LanguageCode3>
|
|
69
86
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
87
|
+
/**
|
|
88
|
+
* This can be:
|
|
89
|
+
* - an ISO 639-2 language code in 3 characters (e.g. 'eng', 'fre', 'ger')
|
|
90
|
+
* - an ISO 639-1 language code in 2 characters (e.g. 'en', 'fr', 'de')
|
|
91
|
+
* - a 2-character language code with locale (e.g. 'fr_FR', 'fr_CA')
|
|
92
|
+
*/
|
|
93
|
+
export type LanguageCodeLike = LanguageCode2 | LanguageCode3 | string
|
|
73
94
|
|
|
74
|
-
|
|
75
|
-
|
|
95
|
+
/**
|
|
96
|
+
* Converts a language code in any format to the ISO 639-2 format (3 characters)
|
|
97
|
+
* Returns the given string if the corresponding language code could not be recognized
|
|
98
|
+
*/
|
|
99
|
+
export function toLang3(lang: LanguageCodeLike): LanguageCode3 | string {
|
|
100
|
+
if (!lang) {
|
|
101
|
+
// also handle falsy values just in case
|
|
102
|
+
return lang
|
|
103
|
+
}
|
|
104
|
+
if (lang.length === 3) {
|
|
105
|
+
return LANG_2_TO_3_MAPPER[LANG_3_TO_2_MAPPER[lang.toLowerCase()]] ?? lang
|
|
106
|
+
}
|
|
107
|
+
const lang2 = lang.toLowerCase().substring(0, 2)
|
|
108
|
+
return LANG_2_TO_3_MAPPER[lang2] ?? lang
|
|
76
109
|
}
|
|
77
110
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
111
|
+
/**
|
|
112
|
+
* Converts a language code in any format to the ISO 639-1 format (2 characters)
|
|
113
|
+
* Returns the given string if the corresponding language code could not be recognized
|
|
114
|
+
*/
|
|
115
|
+
export function toLang2(lang: LanguageCodeLike): LanguageCode2 | string {
|
|
116
|
+
if (!lang) {
|
|
117
|
+
// also handle falsy values just in case
|
|
118
|
+
return lang
|
|
119
|
+
}
|
|
120
|
+
if (lang.length === 3) {
|
|
121
|
+
return LANG_3_TO_2_MAPPER[lang.toLowerCase()] ?? lang
|
|
122
|
+
}
|
|
123
|
+
const lang2 = lang.toLowerCase().substring(0, 2)
|
|
124
|
+
if (lang2 in LANG_2_TO_3_MAPPER) {
|
|
125
|
+
return lang2
|
|
126
|
+
}
|
|
127
|
+
if (lang.match(/[a-z]{2}_[A-Z]{2}/)) {
|
|
128
|
+
// remove locale code even if the language code is not known
|
|
129
|
+
return lang2
|
|
130
|
+
}
|
|
131
|
+
return lang
|
|
81
132
|
}
|
|
82
133
|
|
|
83
134
|
marker('language.en')
|
|
@@ -12,14 +12,13 @@ const ValidatorMapper: TValidatorMapper = {
|
|
|
12
12
|
abstract: (record) => !!record?.abstract,
|
|
13
13
|
keywords: (record) => (record?.keywords?.length ?? 0) > 0,
|
|
14
14
|
legalConstraints: (record) => (record?.legalConstraints?.length ?? 0) > 0,
|
|
15
|
-
contacts: (record) =>
|
|
16
|
-
|
|
15
|
+
contacts: (record) =>
|
|
16
|
+
!!record?.contacts?.[0]?.email &&
|
|
17
|
+
record.contacts[0].email !== 'missing@missing.com',
|
|
18
|
+
updateFrequency: (record) =>
|
|
19
|
+
!!record?.updateFrequency && record.updateFrequency !== 'unknown',
|
|
17
20
|
topics: (record) => (record?.topics?.length ?? 0) > 0,
|
|
18
21
|
organisation: (record) => !!record?.contacts?.[0]?.organization?.name,
|
|
19
|
-
capabilities: (record) =>
|
|
20
|
-
record?.onlineResources?.some((resource) =>
|
|
21
|
-
resource?.url?.href.toLowerCase().includes('capabilities')
|
|
22
|
-
),
|
|
23
22
|
source: (record) => !!record?.extras?.sourcesIdentifiers,
|
|
24
23
|
} as const
|
|
25
24
|
|
|
@@ -40,12 +39,12 @@ function getMappersFromKind(kind: RecordKind) {
|
|
|
40
39
|
]
|
|
41
40
|
|
|
42
41
|
switch (kind) {
|
|
43
|
-
case 'service':
|
|
44
|
-
kindKeys = ['capabilities']
|
|
45
|
-
break
|
|
46
42
|
case 'reuse':
|
|
47
43
|
kindKeys = ['topics', 'organisation', 'source']
|
|
48
44
|
break
|
|
45
|
+
case 'service':
|
|
46
|
+
kindKeys = []
|
|
47
|
+
break
|
|
49
48
|
case 'dataset':
|
|
50
49
|
default:
|
|
51
50
|
kindKeys = ['updateFrequency', 'topics', 'organisation']
|
package/translations/de.json
CHANGED
|
@@ -184,6 +184,26 @@
|
|
|
184
184
|
"editor.record.form.field.topics": "Kategorien",
|
|
185
185
|
"editor.record.form.field.uniqueIdentifier": "Eindeutige Kennung (ID)",
|
|
186
186
|
"editor.record.form.field.updateFrequency": "Aktualisierungshäufigkeit",
|
|
187
|
+
"editor.record.form.inspire.biota": "",
|
|
188
|
+
"editor.record.form.inspire.boundaries": "",
|
|
189
|
+
"editor.record.form.inspire.climatology": "",
|
|
190
|
+
"editor.record.form.inspire.economy": "",
|
|
191
|
+
"editor.record.form.inspire.elevation": "",
|
|
192
|
+
"editor.record.form.inspire.environnement": "",
|
|
193
|
+
"editor.record.form.inspire.farming": "",
|
|
194
|
+
"editor.record.form.inspire.geoscientific": "",
|
|
195
|
+
"editor.record.form.inspire.health": "",
|
|
196
|
+
"editor.record.form.inspire.imagery": "",
|
|
197
|
+
"editor.record.form.inspire.intelligence": "",
|
|
198
|
+
"editor.record.form.inspire.location": "",
|
|
199
|
+
"editor.record.form.inspire.oceans": "",
|
|
200
|
+
"editor.record.form.inspire.placeholder": "",
|
|
201
|
+
"editor.record.form.inspire.planning": "",
|
|
202
|
+
"editor.record.form.inspire.society": "",
|
|
203
|
+
"editor.record.form.inspire.structure": "",
|
|
204
|
+
"editor.record.form.inspire.transportation": "",
|
|
205
|
+
"editor.record.form.inspire.utilities": "",
|
|
206
|
+
"editor.record.form.inspire.waters": "",
|
|
187
207
|
"editor.record.form.keywords.place.placeholder": "",
|
|
188
208
|
"editor.record.form.keywords.place.withoutExtent": "",
|
|
189
209
|
"editor.record.form.keywords.placeholder": "",
|
|
@@ -219,6 +239,8 @@
|
|
|
219
239
|
"editor.record.form.section.dataManagers.description": "",
|
|
220
240
|
"editor.record.form.section.dataManagers.label": "",
|
|
221
241
|
"editor.record.form.section.geographicalCoverage.label": "",
|
|
242
|
+
"editor.record.form.section.inspire.description": "",
|
|
243
|
+
"editor.record.form.section.inspire.label": "",
|
|
222
244
|
"editor.record.form.section.metadataPointOfContact.description": "",
|
|
223
245
|
"editor.record.form.section.metadataPointOfContact.label": "",
|
|
224
246
|
"editor.record.form.section.useAndAccessConditions.label": "",
|
|
@@ -390,6 +412,16 @@
|
|
|
390
412
|
"record.kind.service": "",
|
|
391
413
|
"record.metadata.about": "Beschreibung",
|
|
392
414
|
"record.metadata.api": "API",
|
|
415
|
+
"record.metadata.api.accessServiceProtocol.GPFDL": "",
|
|
416
|
+
"record.metadata.api.accessServiceProtocol.esriRest": "",
|
|
417
|
+
"record.metadata.api.accessServiceProtocol.maplibre-style": "",
|
|
418
|
+
"record.metadata.api.accessServiceProtocol.ogcFeatures": "",
|
|
419
|
+
"record.metadata.api.accessServiceProtocol.other": "",
|
|
420
|
+
"record.metadata.api.accessServiceProtocol.tms": "",
|
|
421
|
+
"record.metadata.api.accessServiceProtocol.wfs": "",
|
|
422
|
+
"record.metadata.api.accessServiceProtocol.wms": "",
|
|
423
|
+
"record.metadata.api.accessServiceProtocol.wmts": "",
|
|
424
|
+
"record.metadata.api.accessServiceProtocol.wps": "",
|
|
393
425
|
"record.metadata.api.form.closeButton": "Schließen",
|
|
394
426
|
"record.metadata.api.form.closeForm": "Formular schließen",
|
|
395
427
|
"record.metadata.api.form.create": "Ihre Anfrage erstellen",
|
package/translations/en.json
CHANGED
|
@@ -184,6 +184,26 @@
|
|
|
184
184
|
"editor.record.form.field.topics": "Categories",
|
|
185
185
|
"editor.record.form.field.uniqueIdentifier": "Unique identifier",
|
|
186
186
|
"editor.record.form.field.updateFrequency": "Update frequency",
|
|
187
|
+
"editor.record.form.inspire.biota": "Biota",
|
|
188
|
+
"editor.record.form.inspire.boundaries": "Boundaries",
|
|
189
|
+
"editor.record.form.inspire.climatology": "Climatology / Meteorology / Atmosphere",
|
|
190
|
+
"editor.record.form.inspire.economy": "Economy",
|
|
191
|
+
"editor.record.form.inspire.elevation": "Elevation",
|
|
192
|
+
"editor.record.form.inspire.environnement": "Environnement",
|
|
193
|
+
"editor.record.form.inspire.farming": "Farming",
|
|
194
|
+
"editor.record.form.inspire.geoscientific": "Geoscientific Information",
|
|
195
|
+
"editor.record.form.inspire.health": "Health",
|
|
196
|
+
"editor.record.form.inspire.imagery": "Imagery / Base Maps / Earth Cover",
|
|
197
|
+
"editor.record.form.inspire.intelligence": "Intelligence / Military",
|
|
198
|
+
"editor.record.form.inspire.location": "Location",
|
|
199
|
+
"editor.record.form.inspire.oceans": "Oceans",
|
|
200
|
+
"editor.record.form.inspire.placeholder": "Select an INSPIRE theme",
|
|
201
|
+
"editor.record.form.inspire.planning": "Planning / Cadastre",
|
|
202
|
+
"editor.record.form.inspire.society": "Society",
|
|
203
|
+
"editor.record.form.inspire.structure": "Structure",
|
|
204
|
+
"editor.record.form.inspire.transportation": "Transportation",
|
|
205
|
+
"editor.record.form.inspire.utilities": "Utilities / Communication",
|
|
206
|
+
"editor.record.form.inspire.waters": "Inland Waters",
|
|
187
207
|
"editor.record.form.keywords.place.placeholder": "Search for place keywords",
|
|
188
208
|
"editor.record.form.keywords.place.withoutExtent": "This keyword is not associated with any geographical extent",
|
|
189
209
|
"editor.record.form.keywords.placeholder": "Select a keyword",
|
|
@@ -219,6 +239,8 @@
|
|
|
219
239
|
"editor.record.form.section.dataManagers.description": "The data managers are responsible for the data",
|
|
220
240
|
"editor.record.form.section.dataManagers.label": "Data managers",
|
|
221
241
|
"editor.record.form.section.geographicalCoverage.label": "Geographical coverage",
|
|
242
|
+
"editor.record.form.section.inspire.description": "Appropriate INSPIRE themes help users find the dataset",
|
|
243
|
+
"editor.record.form.section.inspire.label": "INSPIRE themes",
|
|
222
244
|
"editor.record.form.section.metadataPointOfContact.description": "This information concerns the metadata",
|
|
223
245
|
"editor.record.form.section.metadataPointOfContact.label": "Metadata point of contact",
|
|
224
246
|
"editor.record.form.section.useAndAccessConditions.label": "Use and access conditions",
|
|
@@ -390,6 +412,16 @@
|
|
|
390
412
|
"record.kind.service": "Service",
|
|
391
413
|
"record.metadata.about": "Description",
|
|
392
414
|
"record.metadata.api": "API",
|
|
415
|
+
"record.metadata.api.accessServiceProtocol.GPFDL": "GPFDL",
|
|
416
|
+
"record.metadata.api.accessServiceProtocol.esriRest": "esriRest",
|
|
417
|
+
"record.metadata.api.accessServiceProtocol.maplibre-style": "maplibre-style",
|
|
418
|
+
"record.metadata.api.accessServiceProtocol.ogcFeatures": "ogcFeatures",
|
|
419
|
+
"record.metadata.api.accessServiceProtocol.other": "other",
|
|
420
|
+
"record.metadata.api.accessServiceProtocol.tms": "tms",
|
|
421
|
+
"record.metadata.api.accessServiceProtocol.wfs": "wfs",
|
|
422
|
+
"record.metadata.api.accessServiceProtocol.wms": "wms",
|
|
423
|
+
"record.metadata.api.accessServiceProtocol.wmts": "wmts",
|
|
424
|
+
"record.metadata.api.accessServiceProtocol.wps": "wps",
|
|
393
425
|
"record.metadata.api.form.closeButton": "Close",
|
|
394
426
|
"record.metadata.api.form.closeForm": "Close the form",
|
|
395
427
|
"record.metadata.api.form.create": "Create your request",
|
package/translations/es.json
CHANGED
|
@@ -184,6 +184,26 @@
|
|
|
184
184
|
"editor.record.form.field.topics": "Categorías",
|
|
185
185
|
"editor.record.form.field.uniqueIdentifier": "",
|
|
186
186
|
"editor.record.form.field.updateFrequency": "",
|
|
187
|
+
"editor.record.form.inspire.biota": "",
|
|
188
|
+
"editor.record.form.inspire.boundaries": "",
|
|
189
|
+
"editor.record.form.inspire.climatology": "",
|
|
190
|
+
"editor.record.form.inspire.economy": "",
|
|
191
|
+
"editor.record.form.inspire.elevation": "",
|
|
192
|
+
"editor.record.form.inspire.environnement": "",
|
|
193
|
+
"editor.record.form.inspire.farming": "",
|
|
194
|
+
"editor.record.form.inspire.geoscientific": "",
|
|
195
|
+
"editor.record.form.inspire.health": "",
|
|
196
|
+
"editor.record.form.inspire.imagery": "",
|
|
197
|
+
"editor.record.form.inspire.intelligence": "",
|
|
198
|
+
"editor.record.form.inspire.location": "",
|
|
199
|
+
"editor.record.form.inspire.oceans": "",
|
|
200
|
+
"editor.record.form.inspire.placeholder": "",
|
|
201
|
+
"editor.record.form.inspire.planning": "",
|
|
202
|
+
"editor.record.form.inspire.society": "",
|
|
203
|
+
"editor.record.form.inspire.structure": "",
|
|
204
|
+
"editor.record.form.inspire.transportation": "",
|
|
205
|
+
"editor.record.form.inspire.utilities": "",
|
|
206
|
+
"editor.record.form.inspire.waters": "",
|
|
187
207
|
"editor.record.form.keywords.place.placeholder": "",
|
|
188
208
|
"editor.record.form.keywords.place.withoutExtent": "",
|
|
189
209
|
"editor.record.form.keywords.placeholder": "",
|
|
@@ -219,6 +239,8 @@
|
|
|
219
239
|
"editor.record.form.section.dataManagers.description": "",
|
|
220
240
|
"editor.record.form.section.dataManagers.label": "",
|
|
221
241
|
"editor.record.form.section.geographicalCoverage.label": "",
|
|
242
|
+
"editor.record.form.section.inspire.description": "",
|
|
243
|
+
"editor.record.form.section.inspire.label": "",
|
|
222
244
|
"editor.record.form.section.metadataPointOfContact.description": "",
|
|
223
245
|
"editor.record.form.section.metadataPointOfContact.label": "",
|
|
224
246
|
"editor.record.form.section.useAndAccessConditions.label": "",
|
|
@@ -390,6 +412,16 @@
|
|
|
390
412
|
"record.kind.service": "",
|
|
391
413
|
"record.metadata.about": "",
|
|
392
414
|
"record.metadata.api": "",
|
|
415
|
+
"record.metadata.api.accessServiceProtocol.GPFDL": "",
|
|
416
|
+
"record.metadata.api.accessServiceProtocol.esriRest": "",
|
|
417
|
+
"record.metadata.api.accessServiceProtocol.maplibre-style": "",
|
|
418
|
+
"record.metadata.api.accessServiceProtocol.ogcFeatures": "",
|
|
419
|
+
"record.metadata.api.accessServiceProtocol.other": "",
|
|
420
|
+
"record.metadata.api.accessServiceProtocol.tms": "",
|
|
421
|
+
"record.metadata.api.accessServiceProtocol.wfs": "",
|
|
422
|
+
"record.metadata.api.accessServiceProtocol.wms": "",
|
|
423
|
+
"record.metadata.api.accessServiceProtocol.wmts": "",
|
|
424
|
+
"record.metadata.api.accessServiceProtocol.wps": "",
|
|
393
425
|
"record.metadata.api.form.closeButton": "",
|
|
394
426
|
"record.metadata.api.form.closeForm": "",
|
|
395
427
|
"record.metadata.api.form.create": "",
|
package/translations/fr.json
CHANGED
|
@@ -184,6 +184,26 @@
|
|
|
184
184
|
"editor.record.form.field.topics": "Thèmes",
|
|
185
185
|
"editor.record.form.field.uniqueIdentifier": "Identifiant unique",
|
|
186
186
|
"editor.record.form.field.updateFrequency": "Fréquence de mise à jour",
|
|
187
|
+
"editor.record.form.inspire.biota": "Biote",
|
|
188
|
+
"editor.record.form.inspire.boundaries": "Limites",
|
|
189
|
+
"editor.record.form.inspire.climatology": "Climatologie / Météorologie / Atmosphère",
|
|
190
|
+
"editor.record.form.inspire.economy": "Économie",
|
|
191
|
+
"editor.record.form.inspire.elevation": "Altitude",
|
|
192
|
+
"editor.record.form.inspire.environnement": "Environnement",
|
|
193
|
+
"editor.record.form.inspire.farming": "Agriculture",
|
|
194
|
+
"editor.record.form.inspire.geoscientific": "Informations géoscientifiques",
|
|
195
|
+
"editor.record.form.inspire.health": "Santé",
|
|
196
|
+
"editor.record.form.inspire.imagery": "Imagerie/Cartes de base/Occupation des terres",
|
|
197
|
+
"editor.record.form.inspire.intelligence": "Renseignement/Secteur militaire",
|
|
198
|
+
"editor.record.form.inspire.location": "Localisation",
|
|
199
|
+
"editor.record.form.inspire.oceans": "Océans",
|
|
200
|
+
"editor.record.form.inspire.placeholder": "Sélectionnez un thème INSPIRE",
|
|
201
|
+
"editor.record.form.inspire.planning": "Planification/Cadastre",
|
|
202
|
+
"editor.record.form.inspire.society": "Société",
|
|
203
|
+
"editor.record.form.inspire.structure": "Structure",
|
|
204
|
+
"editor.record.form.inspire.transportation": "Transport",
|
|
205
|
+
"editor.record.form.inspire.utilities": "Services d’utilité publique/Communication",
|
|
206
|
+
"editor.record.form.inspire.waters": "Eaux intérieures",
|
|
187
207
|
"editor.record.form.keywords.place.placeholder": "Rechercher une localisation par mot-clé",
|
|
188
208
|
"editor.record.form.keywords.place.withoutExtent": "Ce mot-clé n'a pas de localisation géographique associée",
|
|
189
209
|
"editor.record.form.keywords.placeholder": "Sélectionnez un mot-clé",
|
|
@@ -219,6 +239,8 @@
|
|
|
219
239
|
"editor.record.form.section.dataManagers.description": "Cette information concerne la donnée",
|
|
220
240
|
"editor.record.form.section.dataManagers.label": "Responsables de la donnée",
|
|
221
241
|
"editor.record.form.section.geographicalCoverage.label": "Couverture géographique",
|
|
242
|
+
"editor.record.form.section.inspire.description": "Des thèmes appropriés aident à trouver le jeu de données",
|
|
243
|
+
"editor.record.form.section.inspire.label": "Thèmes INSPIRE",
|
|
222
244
|
"editor.record.form.section.metadataPointOfContact.description": "Cette information concerne la métadonnée",
|
|
223
245
|
"editor.record.form.section.metadataPointOfContact.label": "Point de contact de la métadonnée",
|
|
224
246
|
"editor.record.form.section.useAndAccessConditions.label": "Conditions d'accès et d'utilisation",
|
|
@@ -390,6 +412,16 @@
|
|
|
390
412
|
"record.kind.service": "Service",
|
|
391
413
|
"record.metadata.about": "A propos",
|
|
392
414
|
"record.metadata.api": "API",
|
|
415
|
+
"record.metadata.api.accessServiceProtocol.GPFDL": "",
|
|
416
|
+
"record.metadata.api.accessServiceProtocol.esriRest": "",
|
|
417
|
+
"record.metadata.api.accessServiceProtocol.maplibre-style": "",
|
|
418
|
+
"record.metadata.api.accessServiceProtocol.ogcFeatures": "",
|
|
419
|
+
"record.metadata.api.accessServiceProtocol.other": "autre",
|
|
420
|
+
"record.metadata.api.accessServiceProtocol.tms": "",
|
|
421
|
+
"record.metadata.api.accessServiceProtocol.wfs": "",
|
|
422
|
+
"record.metadata.api.accessServiceProtocol.wms": "",
|
|
423
|
+
"record.metadata.api.accessServiceProtocol.wmts": "",
|
|
424
|
+
"record.metadata.api.accessServiceProtocol.wps": "",
|
|
393
425
|
"record.metadata.api.form.closeButton": "Fermer",
|
|
394
426
|
"record.metadata.api.form.closeForm": "Fermer le panneau de personnalisation",
|
|
395
427
|
"record.metadata.api.form.create": "Paramétrer votre requête",
|
package/translations/it.json
CHANGED
|
@@ -184,6 +184,26 @@
|
|
|
184
184
|
"editor.record.form.field.topics": "",
|
|
185
185
|
"editor.record.form.field.uniqueIdentifier": "Identificatore univoco",
|
|
186
186
|
"editor.record.form.field.updateFrequency": "Frequenza di aggiornamento",
|
|
187
|
+
"editor.record.form.inspire.biota": "",
|
|
188
|
+
"editor.record.form.inspire.boundaries": "",
|
|
189
|
+
"editor.record.form.inspire.climatology": "",
|
|
190
|
+
"editor.record.form.inspire.economy": "",
|
|
191
|
+
"editor.record.form.inspire.elevation": "",
|
|
192
|
+
"editor.record.form.inspire.environnement": "",
|
|
193
|
+
"editor.record.form.inspire.farming": "",
|
|
194
|
+
"editor.record.form.inspire.geoscientific": "",
|
|
195
|
+
"editor.record.form.inspire.health": "",
|
|
196
|
+
"editor.record.form.inspire.imagery": "",
|
|
197
|
+
"editor.record.form.inspire.intelligence": "",
|
|
198
|
+
"editor.record.form.inspire.location": "",
|
|
199
|
+
"editor.record.form.inspire.oceans": "",
|
|
200
|
+
"editor.record.form.inspire.placeholder": "",
|
|
201
|
+
"editor.record.form.inspire.planning": "",
|
|
202
|
+
"editor.record.form.inspire.society": "",
|
|
203
|
+
"editor.record.form.inspire.structure": "",
|
|
204
|
+
"editor.record.form.inspire.transportation": "",
|
|
205
|
+
"editor.record.form.inspire.utilities": "",
|
|
206
|
+
"editor.record.form.inspire.waters": "",
|
|
187
207
|
"editor.record.form.keywords.place.placeholder": "Cerca una posizione per parola chiave",
|
|
188
208
|
"editor.record.form.keywords.place.withoutExtent": "Questa parola chiave non ha una posizione geografica associata",
|
|
189
209
|
"editor.record.form.keywords.placeholder": "Seleziona una parola chiave",
|
|
@@ -219,6 +239,8 @@
|
|
|
219
239
|
"editor.record.form.section.dataManagers.description": "Queste informazioni riguardano i dati",
|
|
220
240
|
"editor.record.form.section.dataManagers.label": "Gestori dei dati",
|
|
221
241
|
"editor.record.form.section.geographicalCoverage.label": "Copertura geografica",
|
|
242
|
+
"editor.record.form.section.inspire.description": "",
|
|
243
|
+
"editor.record.form.section.inspire.label": "",
|
|
222
244
|
"editor.record.form.section.metadataPointOfContact.description": "Queste informazioni riguardano i metadati",
|
|
223
245
|
"editor.record.form.section.metadataPointOfContact.label": "Punto di contatto dei metadati",
|
|
224
246
|
"editor.record.form.section.useAndAccessConditions.label": "Condizioni di accesso e utilizzo",
|
|
@@ -390,6 +412,16 @@
|
|
|
390
412
|
"record.kind.service": "Servizio",
|
|
391
413
|
"record.metadata.about": "Descrizione",
|
|
392
414
|
"record.metadata.api": "API",
|
|
415
|
+
"record.metadata.api.accessServiceProtocol.GPFDL": "",
|
|
416
|
+
"record.metadata.api.accessServiceProtocol.esriRest": "",
|
|
417
|
+
"record.metadata.api.accessServiceProtocol.maplibre-style": "",
|
|
418
|
+
"record.metadata.api.accessServiceProtocol.ogcFeatures": "",
|
|
419
|
+
"record.metadata.api.accessServiceProtocol.other": "",
|
|
420
|
+
"record.metadata.api.accessServiceProtocol.tms": "",
|
|
421
|
+
"record.metadata.api.accessServiceProtocol.wfs": "",
|
|
422
|
+
"record.metadata.api.accessServiceProtocol.wms": "",
|
|
423
|
+
"record.metadata.api.accessServiceProtocol.wmts": "",
|
|
424
|
+
"record.metadata.api.accessServiceProtocol.wps": "",
|
|
393
425
|
"record.metadata.api.form.closeButton": "Chiude",
|
|
394
426
|
"record.metadata.api.form.closeForm": "Chiude il pannello di personalizzazione",
|
|
395
427
|
"record.metadata.api.form.create": "Configura la sua richiesta",
|