geonetwork-ui 2.7.0-dev.e3a54608e → 2.7.0-dev.ed54e0aff
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 +5 -5
- 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 +21 -21
- package/esm2022/libs/api/repository/src/lib/gn4/settings/gn4-settings.service.mjs +3 -1
- 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 +1 -1
- package/esm2022/libs/common/domain/src/lib/platform.service.interface.mjs +1 -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 +55 -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/query-params.utils.mjs +4 -3
- package/esm2022/libs/feature/router/src/lib/default/state/router.facade.mjs +2 -2
- package/esm2022/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.mjs +7 -7
- package/esm2022/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.mjs +1 -6
- 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 +3 -2
- package/esm2022/translations/de.json +42 -20
- package/esm2022/translations/en.json +43 -21
- package/esm2022/translations/es.json +29 -7
- package/esm2022/translations/fr.json +47 -25
- package/esm2022/translations/it.json +42 -20
- package/esm2022/translations/nl.json +29 -7
- package/esm2022/translations/pt.json +29 -7
- package/esm2022/translations/sk.json +33 -11
- package/fesm2022/geonetwork-ui.mjs +548 -650
- 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/metadata-converter/src/lib/iso19139/write-parts.d.ts +2 -2
- package/libs/api/metadata-converter/src/lib/iso19139/write-parts.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/gn4/platform/gn4-platform.service.d.ts +6 -7
- package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/settings/gn4-settings.service.d.ts +2 -0
- package/libs/api/repository/src/lib/gn4/settings/gn4-settings.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 +5 -1
- package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
- package/libs/common/domain/src/lib/platform.service.interface.d.ts +1 -0
- package/libs/common/domain/src/lib/platform.service.interface.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 +20 -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/query-params.utils.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/service-capabilities/service-capabilities.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 +1 -1
- 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 +6 -6
- 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 +22 -35
- package/src/libs/api/repository/src/lib/gn4/settings/gn4-settings.service.ts +8 -0
- 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 +6 -1
- package/src/libs/common/domain/src/lib/platform.service.interface.ts +1 -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 +22 -0
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-inspire-field/form-field-inspire-theme.component.ts +57 -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/query-params.utils.ts +5 -2
- package/src/libs/feature/router/src/lib/default/state/router.facade.ts +1 -1
- package/src/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.ts +6 -6
- package/src/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.ts +0 -6
- 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 +5 -1
- package/translations/de.json +42 -20
- package/translations/en.json +43 -21
- package/translations/es.json +29 -7
- package/translations/fr.json +47 -25
- package/translations/it.json +42 -20
- package/translations/nl.json +29 -7
- package/translations/pt.json +29 -7
- package/translations/sk.json +33 -11
- 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
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
<div class="flex flex-col gap-3">
|
|
2
|
+
<div class="flex flex-col gap-4">
|
|
3
|
+
<gn-ui-dropdown-multiselect
|
|
4
|
+
class="w-full"
|
|
5
|
+
[title]="'editor.record.form.inspire.placeholder' | translate"
|
|
6
|
+
[maxRows]="6"
|
|
7
|
+
[selected]="themes"
|
|
8
|
+
[choices]="availableThemes || []"
|
|
9
|
+
[allowSearch]="true"
|
|
10
|
+
(selectValues)="handleItemSelection($event)"
|
|
11
|
+
>
|
|
12
|
+
</gn-ui-dropdown-multiselect>
|
|
13
|
+
<div class="flex gap-2 flex-wrap">
|
|
14
|
+
<gn-ui-badge
|
|
15
|
+
*ngFor="let theme of themes"
|
|
16
|
+
[removable]="true"
|
|
17
|
+
(badgeRemoveClicked)="removeTheme(theme)"
|
|
18
|
+
>{{ getTranslatedTheme(theme) }}
|
|
19
|
+
</gn-ui-badge>
|
|
20
|
+
</div>
|
|
21
|
+
</div>
|
|
22
|
+
</div>
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core'
|
|
2
|
+
import { CommonModule } from '@angular/common'
|
|
3
|
+
import {
|
|
4
|
+
AutocompleteComponent,
|
|
5
|
+
BadgeComponent,
|
|
6
|
+
DropdownMultiselectComponent,
|
|
7
|
+
} from '../../../../../../../../../libs/ui/inputs/src'
|
|
8
|
+
import { NgIconComponent } from '@ng-icons/core'
|
|
9
|
+
import { INSPIRE_THEMES } from '../../../../fields.config'
|
|
10
|
+
import { TranslatePipe, TranslateService } from '@ngx-translate/core'
|
|
11
|
+
|
|
12
|
+
@Component({
|
|
13
|
+
selector: 'gn-ui-form-field-inspire-theme',
|
|
14
|
+
standalone: true,
|
|
15
|
+
imports: [
|
|
16
|
+
CommonModule,
|
|
17
|
+
AutocompleteComponent,
|
|
18
|
+
NgIconComponent,
|
|
19
|
+
BadgeComponent,
|
|
20
|
+
TranslatePipe,
|
|
21
|
+
DropdownMultiselectComponent,
|
|
22
|
+
],
|
|
23
|
+
templateUrl: './form-field-inspire-theme.component.html',
|
|
24
|
+
styleUrl: './form-field-inspire-theme.component.css',
|
|
25
|
+
})
|
|
26
|
+
export class FormFieldInspireThemeComponent {
|
|
27
|
+
themes = []
|
|
28
|
+
@Input() set value(themes: string[]) {
|
|
29
|
+
this.themes = themes
|
|
30
|
+
}
|
|
31
|
+
@Output() valueChange: EventEmitter<string[]> = new EventEmitter()
|
|
32
|
+
availableThemes = INSPIRE_THEMES.map((theme) => {
|
|
33
|
+
return {
|
|
34
|
+
label: this.translateService.instant(theme.label),
|
|
35
|
+
value: theme.value,
|
|
36
|
+
}
|
|
37
|
+
})
|
|
38
|
+
|
|
39
|
+
constructor(private translateService: TranslateService) {}
|
|
40
|
+
|
|
41
|
+
handleItemSelection(selectedItems: string[]) {
|
|
42
|
+
this.themes = selectedItems
|
|
43
|
+
this.valueChange.emit(this.themes)
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
removeTheme(theme: string) {
|
|
47
|
+
this.themes = this.themes.filter((t) => t !== theme)
|
|
48
|
+
this.valueChange.emit(this.themes)
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
getTranslatedTheme(theme: string) {
|
|
52
|
+
const themeKey = this.availableThemes.find(
|
|
53
|
+
(avail) => avail.value === theme
|
|
54
|
+
)?.label
|
|
55
|
+
return themeKey ? this.translateService.instant(themeKey) : ''
|
|
56
|
+
}
|
|
57
|
+
}
|
package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.html
CHANGED
|
@@ -109,6 +109,12 @@
|
|
|
109
109
|
(valueChange)="valueChange.emit($event)"
|
|
110
110
|
></gn-ui-form-field-keywords>
|
|
111
111
|
</ng-container>
|
|
112
|
+
<ng-container *ngSwitchCase="'topics'">
|
|
113
|
+
<gn-ui-form-field-inspire-theme
|
|
114
|
+
[value]="valueAsInspireTheme"
|
|
115
|
+
(valueChange)="valueChange.emit($event)"
|
|
116
|
+
></gn-ui-form-field-inspire-theme>
|
|
117
|
+
</ng-container>
|
|
112
118
|
<ng-container *ngSwitchCase="'licenses'">
|
|
113
119
|
<gn-ui-form-field-license
|
|
114
120
|
[label]="config.labelKey! | translate"
|
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
|
+
{ value: 'inlandWaters', label: 'editor.record.form.inspire.waters' },
|
|
387
|
+
{
|
|
388
|
+
value: 'intelligenceMilitary',
|
|
389
|
+
label: 'editor.record.form.inspire.intelligence',
|
|
390
|
+
},
|
|
391
|
+
{ value: 'Location', label: 'editor.record.form.inspire.location' },
|
|
392
|
+
{ value: 'Oceans', label: 'editor.record.form.inspire.oceans' },
|
|
393
|
+
{
|
|
394
|
+
value: 'planningCadastre',
|
|
395
|
+
label: 'editor.record.form.inspire.planning',
|
|
396
|
+
},
|
|
397
|
+
{ value: 'Society', label: 'editor.record.form.inspire.society' },
|
|
398
|
+
{ value: 'Structure', label: 'editor.record.form.inspire.structure' },
|
|
399
|
+
{
|
|
400
|
+
value: 'Transportation',
|
|
401
|
+
label: 'editor.record.form.inspire.transportation',
|
|
402
|
+
},
|
|
403
|
+
{
|
|
404
|
+
value: 'utilitiesCommunication',
|
|
405
|
+
label: 'editor.record.form.inspire.utilities',
|
|
406
|
+
},
|
|
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')
|
|
@@ -14,7 +14,10 @@ export function flattenQueryParams(
|
|
|
14
14
|
Array.isArray(flattened[key]) &&
|
|
15
15
|
(flattened[key] as string[]).length > 0
|
|
16
16
|
) {
|
|
17
|
-
|
|
17
|
+
const encoded = (flattened[key] as string[]).map((value) =>
|
|
18
|
+
typeof value === 'string' ? value.replace(/,/g, '%2C') : value
|
|
19
|
+
)
|
|
20
|
+
flattened[key] = [encoded.join(',')]
|
|
18
21
|
} else if (isDateRange(flattened[key] as DateRange)) {
|
|
19
22
|
const start = (flattened[key] as DateRange).start
|
|
20
23
|
const end = (flattened[key] as DateRange).end
|
|
@@ -48,7 +51,7 @@ export function expandQueryParams(
|
|
|
48
51
|
...(end && { end: new Date(`${end}T00:00:00`) }),
|
|
49
52
|
}
|
|
50
53
|
} else {
|
|
51
|
-
expanded[key] = value.split(',')
|
|
54
|
+
expanded[key] = value.split(',').map((v) => v.replace(/%2C/g, ','))
|
|
52
55
|
}
|
|
53
56
|
}
|
|
54
57
|
}
|
|
@@ -63,7 +63,7 @@ export class RouterFacade {
|
|
|
63
63
|
}
|
|
64
64
|
|
|
65
65
|
goToOrganization(organizationName: string) {
|
|
66
|
-
const safeOrgName = organizationName.replace(
|
|
66
|
+
const safeOrgName = organizationName.replace(/\//g, '')
|
|
67
67
|
const path = `${this.routerService.getOrganizationPageRoute()}/${safeOrgName}`
|
|
68
68
|
this.go({
|
|
69
69
|
path,
|
package/src/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.ts
CHANGED
|
@@ -6,16 +6,16 @@ import { matCheck, matWarningAmber } from '@ng-icons/material-icons/baseline'
|
|
|
6
6
|
|
|
7
7
|
marker('record.metadata.quality.title.success')
|
|
8
8
|
marker('record.metadata.quality.title.failed')
|
|
9
|
-
marker('record.metadata.quality.
|
|
10
|
-
marker('record.metadata.quality.
|
|
11
|
-
marker('record.metadata.quality.
|
|
12
|
-
marker('record.metadata.quality.
|
|
9
|
+
marker('record.metadata.quality.abstract.success')
|
|
10
|
+
marker('record.metadata.quality.abstract.failed')
|
|
11
|
+
marker('record.metadata.quality.topics.success')
|
|
12
|
+
marker('record.metadata.quality.topics.failed')
|
|
13
13
|
marker('record.metadata.quality.keywords.success')
|
|
14
14
|
marker('record.metadata.quality.keywords.failed')
|
|
15
15
|
marker('record.metadata.quality.legalConstraints.success')
|
|
16
16
|
marker('record.metadata.quality.legalConstraints.failed')
|
|
17
|
-
marker('record.metadata.quality.
|
|
18
|
-
marker('record.metadata.quality.
|
|
17
|
+
marker('record.metadata.quality.contacts.success')
|
|
18
|
+
marker('record.metadata.quality.contacts.failed')
|
|
19
19
|
marker('record.metadata.quality.updateFrequency.success')
|
|
20
20
|
marker('record.metadata.quality.updateFrequency.failed')
|
|
21
21
|
marker('record.metadata.quality.organisation.success')
|
|
@@ -136,12 +136,6 @@ export class ServiceCapabilitiesComponent implements OnInit {
|
|
|
136
136
|
}
|
|
137
137
|
|
|
138
138
|
selectLayer(layer: WfsFeatureTypeFull | WmsLayerFull | WmtsLayer) {
|
|
139
|
-
if (layer === this.selectedLayer) {
|
|
140
|
-
this.selectedLayer = null
|
|
141
|
-
this.layerInformation = []
|
|
142
|
-
return
|
|
143
|
-
}
|
|
144
|
-
|
|
145
139
|
this.selectedLayer = layer
|
|
146
140
|
const filteredInfo = []
|
|
147
141
|
Object.keys(layer).map((key) => {
|
|
@@ -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')
|
|
@@ -11,7 +11,11 @@ const ValidatorMapper: TValidatorMapper = {
|
|
|
11
11
|
title: (record) => !!record?.title,
|
|
12
12
|
abstract: (record) => !!record?.abstract,
|
|
13
13
|
keywords: (record) => (record?.keywords?.length ?? 0) > 0,
|
|
14
|
-
legalConstraints: (record) =>
|
|
14
|
+
legalConstraints: (record) =>
|
|
15
|
+
!!(
|
|
16
|
+
record?.legalConstraints?.length &&
|
|
17
|
+
record.legalConstraints.some((c) => c?.text?.trim().length > 0)
|
|
18
|
+
),
|
|
15
19
|
contacts: (record) =>
|
|
16
20
|
!!record?.contacts?.[0]?.email &&
|
|
17
21
|
record.contacts[0].email !== 'missing@missing.com',
|
package/translations/de.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"Add Layer As": "",
|
|
4
4
|
"Enter to search": "",
|
|
5
5
|
"button.login": "",
|
|
6
|
-
"catalog.figures.datasets": "{count, plural, =0{
|
|
6
|
+
"catalog.figures.datasets": "{count, plural, =0{Ressource} one{Ressource} other{Ressourcen}}",
|
|
7
7
|
"catalog.figures.organizations": "{count, plural, =0{Organisationen} one{Organisation} other{Organisationen}}",
|
|
8
8
|
"chart.aggregation.average": "Durchschnitt",
|
|
9
9
|
"chart.aggregation.count": "Anzahl",
|
|
@@ -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": "",
|
|
@@ -367,10 +389,10 @@
|
|
|
367
389
|
"organisations.sortBy.nameDesc": "Name Z → A",
|
|
368
390
|
"organisations.sortBy.recordCountAsc": "Veröffentlichungen 0 → 9",
|
|
369
391
|
"organisations.sortBy.recordCountDesc": "Veröffentlichungen 9 → 0",
|
|
370
|
-
"organization.details.lastPublishedDatasets": "",
|
|
392
|
+
"organization.details.lastPublishedDatasets": "Zuletzt veröffentlichte Ressourcen",
|
|
371
393
|
"organization.details.lastPublishedDatasets.searchAllButton": "",
|
|
372
394
|
"organization.details.mailContact": "",
|
|
373
|
-
"organization.header.recordCount": "{count, plural, =0{} one{} other{}}",
|
|
395
|
+
"organization.header.recordCount": "{count, plural, =0{Veröffentlichung} one{Veröffentlichung} other{Veröffentlichungen}}",
|
|
374
396
|
"pagination.nextPage": "Nächste Seite",
|
|
375
397
|
"pagination.page": "Seite",
|
|
376
398
|
"pagination.pageOf": "von",
|
|
@@ -461,12 +483,12 @@
|
|
|
461
483
|
"record.metadata.publication": "Veröffentlichungsdatum",
|
|
462
484
|
"record.metadata.publications": "{count, plural, =0{Veröffentlichungsdatum} one{Veröffentlichungsdatum} other{Veröffentlichungen}}",
|
|
463
485
|
"record.metadata.quality": "Metadatenqualität",
|
|
486
|
+
"record.metadata.quality.abstract.failed": "Beschreibung nicht angegeben",
|
|
487
|
+
"record.metadata.quality.abstract.success": "Beschreibung angegeben",
|
|
464
488
|
"record.metadata.quality.capabilities.failed": "",
|
|
465
|
-
"record.metadata.quality.capabilities.success": "",
|
|
466
|
-
"record.metadata.quality.
|
|
467
|
-
"record.metadata.quality.
|
|
468
|
-
"record.metadata.quality.description.failed": "Beschreibung nicht angegeben",
|
|
469
|
-
"record.metadata.quality.description.success": "Beschreibung angegeben",
|
|
489
|
+
"record.metadata.quality.capabilities.success": "Kontakt angegeben",
|
|
490
|
+
"record.metadata.quality.contacts.failed": "Kontakt nicht angegeben",
|
|
491
|
+
"record.metadata.quality.contacts.success": "",
|
|
470
492
|
"record.metadata.quality.details": "Details",
|
|
471
493
|
"record.metadata.quality.keywords.failed": "Schlagwörter nicht angegeben",
|
|
472
494
|
"record.metadata.quality.keywords.success": "Schlagwörter angegeben",
|
|
@@ -478,8 +500,8 @@
|
|
|
478
500
|
"record.metadata.quality.source.success": "",
|
|
479
501
|
"record.metadata.quality.title.failed": "Titel nicht angegeben",
|
|
480
502
|
"record.metadata.quality.title.success": "Titel angegeben",
|
|
481
|
-
"record.metadata.quality.
|
|
482
|
-
"record.metadata.quality.
|
|
503
|
+
"record.metadata.quality.topics.failed": "Thema nicht angegeben",
|
|
504
|
+
"record.metadata.quality.topics.success": "Thema angegeben",
|
|
483
505
|
"record.metadata.quality.updateFrequency.failed": "Aktualisierungsfrequenz nicht angegeben",
|
|
484
506
|
"record.metadata.quality.updateFrequency.success": "Aktualisierungsfrequenz angegeben",
|
|
485
507
|
"record.metadata.related": "Entdecken Sie den Katalog",
|
|
@@ -510,18 +532,18 @@
|
|
|
510
532
|
"record.tab.chart": "Diagramm",
|
|
511
533
|
"record.tab.data": "Tabelle",
|
|
512
534
|
"record.tab.map": "Karte",
|
|
513
|
-
"record.was.created.time": "erstellte diesen
|
|
535
|
+
"record.was.created.time": "erstellte diesen Ressource {time}",
|
|
514
536
|
"records": "Datensätze",
|
|
515
537
|
"results.layout.selectOne": "Layout auswählen",
|
|
516
|
-
"results.records.hits.displayedOn": "{displayed, plural, =0{Kein
|
|
538
|
+
"results.records.hits.displayedOn": "{displayed, plural, =0{Kein Ressource.} one{1 } other{{displayed} }} {hits, plural, other{von insgesamt {hits} angezeigt.}}",
|
|
517
539
|
"results.records.hits.empty.help.html": "Vorschläge: <ul class='list-disc list-inside'><li>Versuchen Sie es mit anderen Worten</li><li>Beschränken Sie die Suchwörter</li></ul>",
|
|
518
|
-
"results.records.hits.found": "{hits, plural, =0{Keine
|
|
540
|
+
"results.records.hits.found": "{hits, plural, =0{Keine Ressource entsprechen der angegebenen Suche.} one{1 Ressource gefunden.} other{{hits} Ressourcen gefunden.}}",
|
|
519
541
|
"results.records.hits.selected": "{ amount } ausgewählt",
|
|
520
542
|
"results.showMore": "Mehr Ergebnisse anzeigen...",
|
|
521
543
|
"results.sortBy.changeDate": "",
|
|
522
544
|
"results.sortBy.dateStamp": "Neueste",
|
|
523
545
|
"results.sortBy.popularity": "Beliebtheit",
|
|
524
|
-
"results.sortBy.qualityScore": "
|
|
546
|
+
"results.sortBy.qualityScore": "Fertigstellungsanzeige",
|
|
525
547
|
"results.sortBy.relevancy": "Relevanz",
|
|
526
548
|
"reuse.metadata.access": "",
|
|
527
549
|
"search.autocomplete.error": "Vorschläge konnten nicht abgerufen werden:",
|
|
@@ -530,7 +552,7 @@
|
|
|
530
552
|
"search.error.organizationNotFound": "",
|
|
531
553
|
"search.error.receivedError": "Ein Fehler ist aufgetreten",
|
|
532
554
|
"search.error.recordHasnolink": "",
|
|
533
|
-
"search.error.recordNotFound": "
|
|
555
|
+
"search.error.recordNotFound": "Die Ressource mit der Kennung \"{ id }\" konnte nicht gefunden werden.",
|
|
534
556
|
"search.field.any.placeholder": "Suche im katalog ...",
|
|
535
557
|
"search.field.sortBy": "Sortieren nach:",
|
|
536
558
|
"search.filter.into.feature.catalog": "",
|
|
@@ -557,10 +579,10 @@
|
|
|
557
579
|
"search.filters.license.unknown": "Unbekannt oder nicht vorhanden",
|
|
558
580
|
"search.filters.maximize": "Erweitern",
|
|
559
581
|
"search.filters.minimize": "Minimieren",
|
|
560
|
-
"search.filters.myRecords": "Nur meine
|
|
561
|
-
"search.filters.myRecordsHelp": "Wenn dies aktiviert ist, werden nur von mir erstellte
|
|
582
|
+
"search.filters.myRecords": "Nur meine Ressourcen anzeigen",
|
|
583
|
+
"search.filters.myRecordsHelp": "Wenn dies aktiviert ist, werden nur von mir erstellte Ressourcen angezeigt; Ressourcen, die von anderen erstellt wurden, werden nicht angezeigt.",
|
|
562
584
|
"search.filters.organization": "",
|
|
563
|
-
"search.filters.otherRecords": "
|
|
585
|
+
"search.filters.otherRecords": "Ressourcen von einer anderen Person anzeigen",
|
|
564
586
|
"search.filters.producerOrg": "",
|
|
565
587
|
"search.filters.publicationYear": "Veröffentlichungsjahr",
|
|
566
588
|
"search.filters.publisherOrg": "",
|
|
@@ -575,8 +597,8 @@
|
|
|
575
597
|
"search.filters.summaryLabel.user": "Geändert von: ",
|
|
576
598
|
"search.filters.title": "Ergebnisse filtern",
|
|
577
599
|
"search.filters.topic": "Themen",
|
|
578
|
-
"search.filters.useSpatialFilter": "Zuerst
|
|
579
|
-
"search.filters.useSpatialFilterHelp": "Wenn diese Option aktiviert ist, werden
|
|
600
|
+
"search.filters.useSpatialFilter": "Zuerst Ressourcen im Interessenbereich anzeigen",
|
|
601
|
+
"search.filters.useSpatialFilterHelp": "Wenn diese Option aktiviert ist, werden Ressourcen im Bereich des Katalogs zuerst angezeigt. Ressourcen außerhalb dieses Bereichs werden nicht angezeigt.",
|
|
580
602
|
"search.filters.user": "Editor",
|
|
581
603
|
"service.metadata.capabilities": "",
|
|
582
604
|
"service.metadata.capabilities.abstract": "",
|