geonetwork-ui 2.1.0 → 2.2.0-dev.0eef2738
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/gn4/gn4.metadata.mapper.mjs +2 -1
- package/esm2022/libs/api/repository/src/index.mjs +2 -1
- package/esm2022/libs/feature/auth/src/lib/feature-auth.module.mjs +2 -2
- package/esm2022/libs/feature/catalog/src/lib/feature-catalog.module.mjs +2 -2
- package/esm2022/libs/feature/catalog/src/lib/organisations/organisations.component.mjs +4 -15
- package/esm2022/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.mjs +1 -1
- package/esm2022/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.mjs +106 -0
- package/esm2022/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.mjs +64 -0
- package/esm2022/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.mjs +63 -0
- package/esm2022/libs/feature/map/src/lib/feature-map.module.mjs +11 -2
- package/esm2022/libs/feature/map/src/lib/layers-panel/layers-panel.component.mjs +6 -3
- package/esm2022/libs/feature/map/src/lib/map-context/map-context.service.mjs +3 -1
- package/esm2022/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.mjs +9 -6
- package/esm2022/libs/feature/search/src/lib/feature-search.module.mjs +2 -2
- package/esm2022/libs/feature/search/src/lib/results-list/results-list.container.component.mjs +1 -1
- package/esm2022/libs/feature/search/src/lib/state/effects.mjs +3 -3
- package/esm2022/libs/feature/search/src/lib/utils/service/fields.mjs +2 -2
- package/esm2022/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.mjs +4 -4
- package/esm2022/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.mjs +1 -1
- package/esm2022/libs/ui/elements/src/index.mjs +3 -1
- package/esm2022/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.mjs +27 -0
- package/esm2022/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.mjs +17 -0
- package/esm2022/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.mjs +10 -3
- package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +12 -6
- package/esm2022/libs/ui/elements/src/lib/related-record-card/related-record-card.component.mjs +3 -3
- package/esm2022/libs/ui/elements/src/lib/thumbnail/thumbnail.component.mjs +7 -3
- package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +13 -3
- package/esm2022/libs/ui/inputs/src/lib/button/button.component.mjs +19 -40
- package/esm2022/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.mjs +6 -3
- package/esm2022/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.mjs +3 -3
- package/esm2022/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.mjs +2 -2
- package/esm2022/libs/ui/layout/src/lib/carousel/carousel.component.mjs +2 -2
- package/esm2022/libs/ui/search/src/lib/record-preview-card/record-preview-card.component.mjs +1 -1
- package/esm2022/libs/ui/search/src/lib/record-preview-feed/record-preview-feed.component.mjs +1 -1
- package/esm2022/libs/ui/search/src/lib/record-preview-list/record-preview-list.component.mjs +1 -1
- package/esm2022/libs/ui/search/src/lib/record-preview-row/record-preview-row.component.mjs +1 -1
- package/esm2022/libs/ui/search/src/lib/record-preview-title/record-preview-title.component.mjs +1 -1
- package/esm2022/libs/util/app-config/src/lib/app-config.mjs +5 -1
- package/esm2022/libs/util/app-config/src/lib/model.mjs +1 -1
- package/esm2022/libs/util/i18n/src/index.mjs +2 -1
- package/esm2022/libs/util/shared/src/lib/services/theme.service.mjs +8 -1
- package/esm2022/libs/util/shared/src/lib/utils/fuzzy-filter.mjs +27 -0
- package/esm2022/libs/util/shared/src/lib/utils/index.mjs +2 -1
- package/esm2022/translations/de.json +101 -84
- package/esm2022/translations/en.json +39 -22
- package/esm2022/translations/es.json +17 -0
- package/esm2022/translations/fr.json +25 -8
- package/esm2022/translations/it.json +26 -6
- package/esm2022/translations/nl.json +17 -0
- package/esm2022/translations/pt.json +17 -0
- package/fesm2022/geonetwork-ui.mjs +634 -233
- package/fesm2022/geonetwork-ui.mjs.map +1 -1
- package/libs/api/metadata-converter/src/lib/gn4/gn4.metadata.mapper.d.ts.map +1 -1
- package/libs/api/repository/src/index.d.ts +1 -0
- package/libs/api/repository/src/index.d.ts.map +1 -1
- package/libs/feature/catalog/src/lib/organisations/organisations.component.d.ts +0 -1
- package/libs/feature/catalog/src/lib/organisations/organisations.component.d.ts.map +1 -1
- package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts +2 -2
- package/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.d.ts +22 -0
- package/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.d.ts.map +1 -0
- package/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.d.ts +22 -0
- package/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.d.ts.map +1 -0
- package/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.d.ts +22 -0
- package/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.d.ts.map +1 -0
- package/libs/feature/map/src/lib/feature-map.module.d.ts +15 -12
- package/libs/feature/map/src/lib/feature-map.module.d.ts.map +1 -1
- package/libs/feature/map/src/lib/map-context/map-context.service.d.ts +1 -0
- package/libs/feature/map/src/lib/map-context/map-context.service.d.ts.map +1 -1
- package/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.d.ts +3 -2
- package/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.d.ts.map +1 -1
- package/libs/feature/search/src/lib/state/effects.d.ts +1 -1
- package/libs/feature/search/src/lib/state/effects.d.ts.map +1 -1
- package/libs/feature/search/src/lib/utils/service/fields.d.ts +1 -1
- package/libs/feature/search/src/lib/utils/service/fields.d.ts.map +1 -1
- package/libs/ui/dataviz/src/lib/chart/chart.component.d.ts +1 -1
- package/libs/ui/elements/src/index.d.ts +2 -0
- package/libs/ui/elements/src/index.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts +1 -1
- package/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.d.ts +10 -0
- package/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.d.ts.map +1 -0
- package/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.d.ts +8 -0
- package/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.d.ts.map +1 -0
- package/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.d.ts +1 -0
- package/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts +1 -0
- package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/thumbnail/thumbnail.component.d.ts +3 -2
- package/libs/ui/elements/src/lib/thumbnail/thumbnail.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/ui-elements.module.d.ts +13 -11
- package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/button/button.component.d.ts +2 -4
- package/libs/ui/inputs/src/lib/button/button.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/form-field/form-field.component.d.ts +1 -1
- package/libs/util/app-config/src/lib/app-config.d.ts.map +1 -1
- package/libs/util/app-config/src/lib/model.d.ts +2 -0
- package/libs/util/app-config/src/lib/model.d.ts.map +1 -1
- package/libs/util/i18n/src/index.d.ts +1 -0
- package/libs/util/i18n/src/index.d.ts.map +1 -1
- package/libs/util/shared/src/lib/services/theme.service.d.ts +1 -0
- package/libs/util/shared/src/lib/services/theme.service.d.ts.map +1 -1
- package/libs/util/shared/src/lib/utils/fuzzy-filter.d.ts +9 -0
- package/libs/util/shared/src/lib/utils/fuzzy-filter.d.ts.map +1 -0
- package/libs/util/shared/src/lib/utils/index.d.ts +1 -0
- package/libs/util/shared/src/lib/utils/index.d.ts.map +1 -1
- package/package.json +8 -6
- package/src/libs/api/metadata-converter/src/lib/gn4/gn4.metadata.mapper.ts +1 -0
- package/src/libs/api/repository/src/index.ts +1 -0
- package/src/libs/feature/auth/src/lib/feature-auth.module.ts +1 -1
- package/src/libs/feature/catalog/src/lib/feature-catalog.module.ts +1 -1
- package/src/libs/feature/catalog/src/lib/organisations/organisations.component.ts +3 -17
- package/src/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.css +0 -0
- package/src/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.html +21 -0
- package/src/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.ts +107 -0
- package/src/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.css +0 -0
- package/src/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.html +37 -0
- package/src/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.ts +64 -0
- package/src/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.css +0 -0
- package/src/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.html +55 -0
- package/src/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.ts +63 -0
- package/src/libs/feature/map/src/lib/feature-map.module.ts +6 -0
- package/src/libs/feature/map/src/lib/layers-panel/layers-panel.component.html +9 -3
- package/src/libs/feature/map/src/lib/map-context/map-context.service.ts +6 -0
- package/src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.html +12 -4
- package/src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.ts +2 -4
- package/src/libs/feature/search/src/lib/feature-search.module.ts +1 -1
- package/src/libs/feature/search/src/lib/state/effects.ts +1 -1
- package/src/libs/feature/search/src/lib/utils/service/fields.ts +1 -1
- package/src/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.html +1 -0
- package/src/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.ts +1 -1
- package/src/libs/ui/elements/src/index.ts +2 -0
- package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.css +0 -0
- package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.html +29 -0
- package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.ts +15 -0
- package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.css +264 -0
- package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.html +1 -0
- package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.ts +16 -0
- package/src/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.html +93 -27
- package/src/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.ts +7 -0
- package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.css +4 -0
- package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.html +59 -32
- package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.ts +5 -0
- package/src/libs/ui/elements/src/lib/related-record-card/related-record-card.component.html +1 -1
- package/src/libs/ui/elements/src/lib/thumbnail/thumbnail.component.ts +4 -0
- package/src/libs/ui/elements/src/lib/ui-elements.module.ts +6 -0
- package/src/libs/ui/inputs/src/lib/button/button.component.css +1 -1
- package/src/libs/ui/inputs/src/lib/button/button.component.ts +22 -42
- package/src/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.ts +7 -4
- package/src/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.html +8 -3
- package/src/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.css +1 -0
- package/src/libs/ui/layout/src/lib/carousel/carousel.component.css +1 -1
- package/src/libs/util/app-config/src/lib/app-config.ts +4 -0
- package/src/libs/util/app-config/src/lib/model.ts +2 -0
- package/src/libs/util/i18n/src/index.ts +1 -0
- package/src/libs/util/shared/src/lib/services/theme.service.ts +9 -0
- package/src/libs/util/shared/src/lib/utils/fuzzy-filter.ts +32 -0
- package/src/libs/util/shared/src/lib/utils/index.ts +1 -0
- package/tailwind.base.css +31 -1
- package/translations/de.json +101 -84
- package/translations/en.json +39 -22
- package/translations/es.json +17 -0
- package/translations/fr.json +25 -8
- package/translations/it.json +26 -6
- package/translations/nl.json +17 -0
- package/translations/pt.json +17 -0
- package/translations/sk.json +17 -0
|
@@ -14,57 +14,37 @@ import { propagateToDocumentOnly } from '../../../../../../libs/util/shared/src'
|
|
|
14
14
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
15
15
|
})
|
|
16
16
|
export class ButtonComponent {
|
|
17
|
-
|
|
18
|
-
'default'
|
|
19
|
-
@Input() disabled = false
|
|
20
|
-
@Input() extraClass = ''
|
|
21
|
-
@Output() buttonClick = new EventEmitter<void>()
|
|
22
|
-
|
|
23
|
-
get classList() {
|
|
24
|
-
return `${this.color} ${this.textColor} ${this.borderColor} ${this.extraClass}`
|
|
25
|
-
}
|
|
17
|
+
private btnClass: string
|
|
26
18
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
19
|
+
// btn-classes are explicited to allow tailwind recognize them and add it in css.
|
|
20
|
+
@Input() set type(
|
|
21
|
+
value: 'primary' | 'secondary' | 'default' | 'outline' | 'light'
|
|
22
|
+
) {
|
|
23
|
+
switch (value) {
|
|
31
24
|
case 'primary':
|
|
32
|
-
|
|
25
|
+
this.btnClass = 'btn-primary'
|
|
26
|
+
break
|
|
33
27
|
case 'secondary':
|
|
34
|
-
|
|
28
|
+
this.btnClass = 'btn-secondary'
|
|
29
|
+
break
|
|
35
30
|
case 'outline':
|
|
36
|
-
|
|
31
|
+
this.btnClass = 'btn-outline'
|
|
32
|
+
break
|
|
37
33
|
case 'light':
|
|
38
|
-
|
|
34
|
+
this.btnClass = 'btn-light'
|
|
35
|
+
break
|
|
36
|
+
default:
|
|
37
|
+
this.btnClass = 'btn-default'
|
|
38
|
+
break
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
case 'secondary':
|
|
46
|
-
case 'primary':
|
|
47
|
-
return 'text-white'
|
|
48
|
-
case 'outline':
|
|
49
|
-
return 'text-main hover:text-primary-darker focus:text-primary-darker active:text-primary-black'
|
|
50
|
-
case 'light':
|
|
51
|
-
return 'text-main'
|
|
52
|
-
}
|
|
53
|
-
}
|
|
42
|
+
@Input() disabled = false
|
|
43
|
+
@Input() extraClass = ''
|
|
44
|
+
@Output() buttonClick = new EventEmitter<void>()
|
|
54
45
|
|
|
55
|
-
get
|
|
56
|
-
|
|
57
|
-
case 'default':
|
|
58
|
-
return 'border border-gray-700 focus:ring-4 focus:ring-gray-200'
|
|
59
|
-
case 'secondary':
|
|
60
|
-
return 'border border-secondary focus:ring-4 focus:ring-secondary-lightest'
|
|
61
|
-
case 'primary':
|
|
62
|
-
return 'border border-primary focus:ring-4 focus:ring-primary-lightest'
|
|
63
|
-
case 'outline':
|
|
64
|
-
return 'border border-gray-300 hover:border-primary-lighter focus:border-primary-lighter focus:ring-4 focus:ring-primary-lightest active:border-primary-darker'
|
|
65
|
-
case 'light':
|
|
66
|
-
return 'border border-white focus:ring-4 focus:ring-gray-300'
|
|
67
|
-
}
|
|
46
|
+
get classList() {
|
|
47
|
+
return `${this.btnClass} ${this.extraClass}`
|
|
68
48
|
}
|
|
69
49
|
|
|
70
50
|
handleClick(event: Event) {
|
|
@@ -17,7 +17,10 @@ import {
|
|
|
17
17
|
} from '@angular/cdk/overlay'
|
|
18
18
|
import { take } from 'rxjs/operators'
|
|
19
19
|
import { Choice } from './dropdown-multiselect.model'
|
|
20
|
-
import {
|
|
20
|
+
import {
|
|
21
|
+
createFuzzyFilter,
|
|
22
|
+
propagateToDocumentOnly,
|
|
23
|
+
} from '../../../../../../libs/util/shared/src'
|
|
21
24
|
|
|
22
25
|
@Component({
|
|
23
26
|
selector: 'gn-ui-dropdown-multiselect',
|
|
@@ -74,9 +77,9 @@ export class DropdownMultiselectComponent {
|
|
|
74
77
|
}
|
|
75
78
|
|
|
76
79
|
get filteredChoicesByText() {
|
|
77
|
-
return this.choices
|
|
78
|
-
|
|
79
|
-
)
|
|
80
|
+
if (!this.searchInputValue) return this.choices
|
|
81
|
+
const filter = createFuzzyFilter(this.searchInputValue)
|
|
82
|
+
return this.choices.filter((choice) => filter(choice.label))
|
|
80
83
|
}
|
|
81
84
|
|
|
82
85
|
get focusedIndex(): number | -1 {
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
<button
|
|
2
|
-
class="group flex items-center justify-center backdrop-blur p-1 bg-primary-opacity-
|
|
2
|
+
class="group flex items-center justify-center gap-1 backdrop-blur p-1 bg-primary-opacity-30 text-white rounded content-center"
|
|
3
3
|
>
|
|
4
|
-
<mat-icon class="material-symbols-outlined align-middle">{{
|
|
5
|
-
|
|
4
|
+
<mat-icon class="material-symbols-outlined align-middle w-[18px]">{{
|
|
5
|
+
icon
|
|
6
|
+
}}</mat-icon>
|
|
7
|
+
<span
|
|
8
|
+
class="mx-2 mt-0.5 text-[16px] tracking-widest content-center opacity-75"
|
|
9
|
+
>{{ label.toUpperCase() }}</span
|
|
10
|
+
>
|
|
6
11
|
</button>
|
|
@@ -100,6 +100,7 @@ export function loadAppConfig() {
|
|
|
100
100
|
'login_url',
|
|
101
101
|
'web_component_embedder_url',
|
|
102
102
|
'languages',
|
|
103
|
+
'contact_email',
|
|
103
104
|
],
|
|
104
105
|
warnings,
|
|
105
106
|
errors
|
|
@@ -126,6 +127,7 @@ export function loadAppConfig() {
|
|
|
126
127
|
WEB_COMPONENT_EMBEDDER_URL:
|
|
127
128
|
parsedGlobalSection.web_component_embedder_url,
|
|
128
129
|
LANGUAGES: parsedGlobalSection.languages,
|
|
130
|
+
CONTACT_EMAIL: parsedGlobalSection.contact_email,
|
|
129
131
|
} as GlobalConfig)
|
|
130
132
|
|
|
131
133
|
const parsedLayersSections = parseMultiConfigSection(
|
|
@@ -185,6 +187,7 @@ export function loadAppConfig() {
|
|
|
185
187
|
'fonts_stylesheet_url',
|
|
186
188
|
'thumbnail_placeholder',
|
|
187
189
|
'header_background',
|
|
190
|
+
'favicon',
|
|
188
191
|
],
|
|
189
192
|
warnings,
|
|
190
193
|
errors
|
|
@@ -204,6 +207,7 @@ export function loadAppConfig() {
|
|
|
204
207
|
TITLE_FONT: parsedThemeSection.title_font,
|
|
205
208
|
MAIN_FONT: parsedThemeSection.main_font,
|
|
206
209
|
FONTS_STYLESHEET_URL: parsedThemeSection.fonts_stylesheet_url,
|
|
210
|
+
FAVICON: parsedThemeSection.favicon,
|
|
207
211
|
} as ThemeConfig)
|
|
208
212
|
|
|
209
213
|
const parsedSearchSection = parseConfigSection(
|
|
@@ -8,6 +8,7 @@ export interface GlobalConfig {
|
|
|
8
8
|
LOGIN_URL?: string
|
|
9
9
|
WEB_COMPONENT_EMBEDDER_URL?: string
|
|
10
10
|
LANGUAGES?: string[]
|
|
11
|
+
CONTACT_EMAIL?: string
|
|
11
12
|
}
|
|
12
13
|
|
|
13
14
|
export interface LayerConfig {
|
|
@@ -37,6 +38,7 @@ export interface ThemeConfig {
|
|
|
37
38
|
MAIN_FONT?: string
|
|
38
39
|
TITLE_FONT?: string
|
|
39
40
|
FONTS_STYLESHEET_URL?: string
|
|
41
|
+
FAVICON?: string
|
|
40
42
|
}
|
|
41
43
|
|
|
42
44
|
export interface SearchPreset {
|
|
@@ -140,4 +140,13 @@ export class ThemeService {
|
|
|
140
140
|
}
|
|
141
141
|
return chroma.hsl(hue % 360, saturation, lightness).css()
|
|
142
142
|
}
|
|
143
|
+
|
|
144
|
+
static setFavicon(faviconPath: string): void {
|
|
145
|
+
const link =
|
|
146
|
+
document.querySelector("link[rel*='icon']") ||
|
|
147
|
+
document.createElement('link')
|
|
148
|
+
link['rel'] = 'icon'
|
|
149
|
+
link['href'] = faviconPath
|
|
150
|
+
document.getElementsByTagName('head')[0].appendChild(link)
|
|
151
|
+
}
|
|
143
152
|
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
type FuzzyFilter = (input: string) => boolean
|
|
2
|
+
|
|
3
|
+
function normalize(input: string) {
|
|
4
|
+
return input
|
|
5
|
+
.toLowerCase()
|
|
6
|
+
.normalize('NFD') // explode composite chars (e.g. é) into multiple chars
|
|
7
|
+
.replace(/[\u0300-\u036f]/g, '') // remove accents
|
|
8
|
+
.replace(/œ/g, 'oe') // remove accents
|
|
9
|
+
.replace(/[^a-z0-9\s]/g, ' ') // replace special characters with space
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
function asNormalizedParts(input: string): string[] {
|
|
13
|
+
return normalize(input)
|
|
14
|
+
.split(/\s+/)
|
|
15
|
+
.map((part) => part.trim())
|
|
16
|
+
.filter((part) => part.length > 0)
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* This creates a filter function based on a pattern (typically a user-input
|
|
21
|
+
* search text).
|
|
22
|
+
* @param pattern
|
|
23
|
+
*/
|
|
24
|
+
export function createFuzzyFilter(pattern: string): FuzzyFilter {
|
|
25
|
+
const patternParts = asNormalizedParts(pattern)
|
|
26
|
+
return (input: string) => {
|
|
27
|
+
const inputParts = asNormalizedParts(input)
|
|
28
|
+
return patternParts.every((patternPart) =>
|
|
29
|
+
inputParts.some((part) => part.includes(patternPart))
|
|
30
|
+
)
|
|
31
|
+
}
|
|
32
|
+
}
|
package/tailwind.base.css
CHANGED
|
@@ -7,8 +7,38 @@
|
|
|
7
7
|
@apply shadow-xl hover:shadow-xl-hover transition-shadow;
|
|
8
8
|
}
|
|
9
9
|
|
|
10
|
+
.btn {
|
|
11
|
+
@apply flex flex-row items-center text-[1em] leading-none p-[1em] rounded-[0.25em] transition-all duration-100 focus:outline-none disabled:opacity-50;
|
|
12
|
+
}
|
|
13
|
+
|
|
10
14
|
.btn-default {
|
|
11
|
-
@apply
|
|
15
|
+
@apply btn text-white
|
|
16
|
+
bg-gray-700 hover:bg-gray-800 active:bg-gray-900
|
|
17
|
+
border border-gray-700 focus:ring-4 focus:ring-gray-200;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.btn-primary {
|
|
21
|
+
@apply btn text-white
|
|
22
|
+
bg-primary hover:bg-primary-darker focus:bg-primary-darker active:bg-primary-darkest
|
|
23
|
+
border border-primary focus:ring-4 focus:ring-primary-lightest;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.btn-secondary {
|
|
27
|
+
@apply btn text-white
|
|
28
|
+
bg-secondary hover:bg-secondary-darker focus:bg-secondary-darker active:bg-secondary-darkest
|
|
29
|
+
border border-secondary focus:ring-4 focus:ring-secondary-lightest;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.btn-outline {
|
|
33
|
+
@apply btn text-main
|
|
34
|
+
bg-white hover:text-primary-darker focus:text-primary-darker active:text-primary-black
|
|
35
|
+
border border-gray-300 hover:border-primary-lighter focus:border-primary-lighter focus:ring-4 focus:ring-primary-lightest active:border-primary-darker;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.btn-light {
|
|
39
|
+
@apply btn text-main
|
|
40
|
+
bg-white hover:bg-gray-50 focus:bg-gray-50 active:bg-gray-100
|
|
41
|
+
border border-white focus:ring-4 focus:ring-gray-300;
|
|
12
42
|
}
|
|
13
43
|
|
|
14
44
|
.badge-btn {
|
package/translations/de.json
CHANGED
|
@@ -16,20 +16,20 @@
|
|
|
16
16
|
"chart.type.line": "Liniendiagramm",
|
|
17
17
|
"chart.type.lineSmooth": "Geglättes Liniendiagramm",
|
|
18
18
|
"chart.type.pie": "Kreisdiagramm",
|
|
19
|
-
"dashboard.labels.mySpace": "",
|
|
20
|
-
"dashboard.records.all": "",
|
|
21
|
-
"dashboard.records.myDraft": "",
|
|
22
|
-
"dashboard.records.myLibrary": "",
|
|
23
|
-
"dashboard.records.myOrg": "",
|
|
24
|
-
"dashboard.records.myRecords": "",
|
|
25
|
-
"dashboard.records.noRecord": "",
|
|
26
|
-
"dashboard.records.noUser": "",
|
|
27
|
-
"dashboard.records.publishedRecords": "",
|
|
28
|
-
"dashboard.records.search": "",
|
|
29
|
-
"dashboard.records.userDetail": "",
|
|
30
|
-
"dashboard.records.userEmail": "",
|
|
31
|
-
"dashboard.records.username": "",
|
|
32
|
-
"dashboard.records.users": "",
|
|
19
|
+
"dashboard.labels.mySpace": "Mein Bereich",
|
|
20
|
+
"dashboard.records.all": "Katalog",
|
|
21
|
+
"dashboard.records.myDraft": "Meine Entwürfe",
|
|
22
|
+
"dashboard.records.myLibrary": "Meine Bibliothek",
|
|
23
|
+
"dashboard.records.myOrg": "Meine Organisation",
|
|
24
|
+
"dashboard.records.myRecords": "Meine Datensätze",
|
|
25
|
+
"dashboard.records.noRecord": "Kein Datensatz für diese Organisation",
|
|
26
|
+
"dashboard.records.noUser": "Keine Benutzer für diese Organisation",
|
|
27
|
+
"dashboard.records.publishedRecords": "{count, plural, =1{veröffentlichter Datensatz} other{veröffentlichte Datensätze}}",
|
|
28
|
+
"dashboard.records.search": "Suche nach \"{searchText}\"",
|
|
29
|
+
"dashboard.records.userDetail": "Name",
|
|
30
|
+
"dashboard.records.userEmail": "E-Mail",
|
|
31
|
+
"dashboard.records.username": "Benutzername",
|
|
32
|
+
"dashboard.records.users": "{count, plural, =1{Benutzer} other{Benutzer}}",
|
|
33
33
|
"datafeeder.analysisProgressBar.illustration.fileFormatDetection": "Dateiformat-Erkennung",
|
|
34
34
|
"datafeeder.analysisProgressBar.illustration.gatheringDatasetInformation": "Sammeln von Datensatzinformationen",
|
|
35
35
|
"datafeeder.analysisProgressBar.illustration.samplingData": "Datenauswahl",
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"datafeeder.form.datepicker": "Wissen Sie, wann der Datensatz erstellt wurde?",
|
|
44
44
|
"datafeeder.form.description": "Beschreiben Sie abschließend den Prozess, der zur Erstellung des Datensatzes verwendet wurde",
|
|
45
45
|
"datafeeder.form.dropdown": "Für welche Skala wurde er erstellt?",
|
|
46
|
-
"datafeeder.form.tags": "Wählen Sie einen oder mehrere
|
|
46
|
+
"datafeeder.form.tags": "Wählen Sie einen oder mehrere Tage aus, die zu Ihrem Datensatz passen",
|
|
47
47
|
"datafeeder.form.title": "Geben Sie Ihrem Datensatz den besten Titel",
|
|
48
48
|
"datafeeder.formsPage.title": "Erzählen Sie uns mehr über Ihren Datensatz",
|
|
49
49
|
"datafeeder.month.april": "April",
|
|
@@ -58,16 +58,16 @@
|
|
|
58
58
|
"datafeeder.month.november": "November",
|
|
59
59
|
"datafeeder.month.october": "Oktober",
|
|
60
60
|
"datafeeder.month.september": "September",
|
|
61
|
-
"datafeeder.publish.hint": "Sie können diese Seite sicher verlassen. Sie werden benachrichtigt, wenn der Vorgang abgeschlossen ist",
|
|
62
|
-
"datafeeder.publish.illustration.title": "Ein weiterer Datensatz zum Veröffentlichen?",
|
|
61
|
+
"datafeeder.publish.hint": "Sie können diese Seite sicher verlassen. Sie werden benachrichtigt, wenn der Vorgang abgeschlossen ist.",
|
|
62
|
+
"datafeeder.publish.illustration.title": "Ein weiterer Datensatz \n zum Veröffentlichen?",
|
|
63
63
|
"datafeeder.publish.subtitle": "Das Veröffentlichen kann einige Minuten dauern.",
|
|
64
|
-
"datafeeder.publish.title": "Vielen Dank! Ihr Datensatz wird veröffentlicht",
|
|
64
|
+
"datafeeder.publish.title": "Vielen Dank! \n Ihr Datensatz wird veröffentlicht",
|
|
65
65
|
"datafeeder.publish.upload": "Jetzt hochladen",
|
|
66
66
|
"datafeeder.publishSuccess.geonetworkRecord": "Metadatensatz",
|
|
67
67
|
"datafeeder.publishSuccess.illustration.title": "Erledigt, alles ist gut!",
|
|
68
68
|
"datafeeder.publishSuccess.mapViewer": "Kartenviewer",
|
|
69
69
|
"datafeeder.publishSuccess.subtitle": "Zeigen Sie Ihre Daten an in:",
|
|
70
|
-
"datafeeder.publishSuccess.title": "Herzlichen Glückwunsch! Ihr Datensatz wurde veröffentlicht",
|
|
70
|
+
"datafeeder.publishSuccess.title": "Herzlichen Glückwunsch! \n Ihr Datensatz wurde veröffentlicht",
|
|
71
71
|
"datafeeder.publishSuccess.uploadAnotherData": "Ein weiteren Datensatz hochladen",
|
|
72
72
|
"datafeeder.summarizePage.illustration": "Kein Fehler? Los geht's!",
|
|
73
73
|
"datafeeder.summarizePage.previous": "Zurück",
|
|
@@ -75,11 +75,11 @@
|
|
|
75
75
|
"datafeeder.summarizePage.title": "Sie sind fast fertig...",
|
|
76
76
|
"datafeeder.upload.acceptedFormats": "Akzeptierte Dateiformate:",
|
|
77
77
|
"datafeeder.upload.checkboxLabel": "Ich besitze die Rechte zur Veröffentlichung dieses Datensatzes",
|
|
78
|
-
"datafeeder.upload.error.subtitle.analysis": "Überprüfen Sie, ob die Datei einen gültigen
|
|
78
|
+
"datafeeder.upload.error.subtitle.analysis": "Überprüfen Sie, ob die Datei einen gültigen geografischen Datensatz enthält",
|
|
79
79
|
"datafeeder.upload.error.subtitle.cantOpenFile": "Bitte überprüfen Sie, ob die Datei gültig ist",
|
|
80
80
|
"datafeeder.upload.error.subtitle.fileFormat": "Beachten Sie: Nur SHP-Dateien",
|
|
81
|
-
"datafeeder.upload.error.subtitle.fileSize": "Beachten Sie:
|
|
82
|
-
"datafeeder.upload.error.title.analysis": "Fehler
|
|
81
|
+
"datafeeder.upload.error.subtitle.fileSize": "Beachten Sie: Maximale Dateigröße {size} MB",
|
|
82
|
+
"datafeeder.upload.error.title.analysis": "Fehler während der Datensatzanalyse",
|
|
83
83
|
"datafeeder.upload.error.title.cantOpenFile": "Fehler beim Öffnen der Datei",
|
|
84
84
|
"datafeeder.upload.error.title.fileFormat": "Das ausgewählte Dateiformat wird nicht unterstützt",
|
|
85
85
|
"datafeeder.upload.error.title.fileHasntSelected": "Keine Datei ausgewählt",
|
|
@@ -87,19 +87,19 @@
|
|
|
87
87
|
"datafeeder.upload.error.title.noRightsToSendData": "Sie dürfen diesen Datensatz nicht veröffentlichen",
|
|
88
88
|
"datafeeder.upload.illustration.enrichment": "Anreicherung",
|
|
89
89
|
"datafeeder.upload.illustration.import": "Import",
|
|
90
|
-
"datafeeder.upload.illustration.title": "Das Hinzufügen von Daten war noch nie
|
|
90
|
+
"datafeeder.upload.illustration.title": "Das Hinzufügen von Daten \n war noch nie so einfach",
|
|
91
91
|
"datafeeder.upload.illustration.validation": "Validierung",
|
|
92
|
-
"datafeeder.upload.illustration.verification": "
|
|
92
|
+
"datafeeder.upload.illustration.verification": "Überprüfung",
|
|
93
93
|
"datafeeder.upload.inputLabel": "Importieren Sie Ihre Datei",
|
|
94
94
|
"datafeeder.upload.maxFileSize": "Maximale Dateigröße beträgt {size} MB",
|
|
95
95
|
"datafeeder.upload.title": "Laden Sie Ihren Datensatz hoch",
|
|
96
96
|
"datafeeder.upload.uploadButton": "Hochladen",
|
|
97
|
-
"datafeeder.validation.encoding": "
|
|
97
|
+
"datafeeder.validation.encoding": "Codierung",
|
|
98
98
|
"datafeeder.validation.extent.title": "Hier ist der Datensatzumfang",
|
|
99
99
|
"datafeeder.validation.extent.title.unknown": "Das Projektionssystem ist unbekannt",
|
|
100
100
|
"datafeeder.validation.projection": "Raumbezugssystem:",
|
|
101
|
-
"datafeeder.validation.projection.unknown": "Wählen Sie ein Raumbezugssystem",
|
|
102
|
-
"datafeeder.validation.sample.title": "Und eine
|
|
101
|
+
"datafeeder.validation.projection.unknown": "Wählen Sie ein Raumbezugssystem aus",
|
|
102
|
+
"datafeeder.validation.sample.title": "Und eine Beispielentität aus dem Datensatz",
|
|
103
103
|
"datafeeder.wizard.emptyRequiredValuesMessage": "Bitte füllen Sie die obligatorischen Felder aus",
|
|
104
104
|
"datafeeder.wizardSummarize.createdAt": "Erstellt am",
|
|
105
105
|
"datafeeder.wizardSummarize.scale": "Maßstab",
|
|
@@ -109,16 +109,20 @@
|
|
|
109
109
|
"datahub.header.news": "Startseite",
|
|
110
110
|
"datahub.header.organisations": "Organisationen",
|
|
111
111
|
"datahub.header.popularRecords": "Die beliebtesten",
|
|
112
|
-
"datahub.header.title.html": "<div class=\"text-white\">Entdecken Sie offene<br> Daten
|
|
112
|
+
"datahub.header.title.html": "<div class=\"text-white\">Entdecken Sie offene<br> Daten meiner Organisation</div>",
|
|
113
|
+
"datahub.news.contact.contactus": "Kontaktieren Sie uns",
|
|
114
|
+
"datahub.news.contact.html": "<p>Brauchen Sie Daten, die derzeit nicht auf der Plattform vorhanden sind?</p><p>Unsere Teams stehen Ihnen zur Verfügung.</p>",
|
|
115
|
+
"datahub.news.contact.title": "Ein spezielles Bedürfnis?",
|
|
113
116
|
"datahub.news.feed": "Nachrichtenfeed",
|
|
114
117
|
"datahub.news.figures": "Indikatoren",
|
|
115
|
-
"datahub.
|
|
118
|
+
"datahub.record.addToFavorites": "Zu Favoriten hinzufügen",
|
|
119
|
+
"datahub.search.back": "Zurück",
|
|
116
120
|
"datahub.search.filter.all": "Alle",
|
|
117
|
-
"datahub.search.filter.generatedByWfs": "Generiert durch API",
|
|
121
|
+
"datahub.search.filter.generatedByWfs": "Generiert durch eine API",
|
|
118
122
|
"datahub.search.filter.others": "Andere",
|
|
119
123
|
"dataset.error.http": "Die Daten konnten aufgrund eines HTTP-Fehlers nicht geladen werden: \"{ info }\"",
|
|
120
124
|
"dataset.error.network": "Die Daten konnten aufgrund eines Netzwerkfehlers oder CORS-Beschränkungen nicht geladen werden: \"{ info }\"",
|
|
121
|
-
"dataset.error.parse": "Die Daten wurden geladen, konnten aber nicht
|
|
125
|
+
"dataset.error.parse": "Die Daten wurden geladen, konnten aber nicht gelesen werden: \"{ info }\"",
|
|
122
126
|
"dataset.error.unknown": "Die Daten können nicht angezeigt werden: \"{ info }\"",
|
|
123
127
|
"dataset.error.unsupportedType": "Der folgende Inhaltstyp wird nicht unterstützt: \"{ info }\"",
|
|
124
128
|
"domain.record.status.completed": "Abgeschlossen",
|
|
@@ -126,18 +130,18 @@
|
|
|
126
130
|
"domain.record.status.ongoing": "Kontinuierliche Aktualisierung",
|
|
127
131
|
"domain.record.status.removed": "Entfernt",
|
|
128
132
|
"domain.record.status.under_development": "In Erstellung",
|
|
129
|
-
"domain.record.updateFrequency.asNeeded": "
|
|
130
|
-
"domain.record.updateFrequency.continual": "
|
|
133
|
+
"domain.record.updateFrequency.asNeeded": "Nach Bedarf",
|
|
134
|
+
"domain.record.updateFrequency.continual": "Fortlaufend",
|
|
131
135
|
"domain.record.updateFrequency.day": "{count, plural, =0{0} one{Ein} other{{count}}} mal am Tag",
|
|
132
|
-
"domain.record.updateFrequency.irregular": "
|
|
136
|
+
"domain.record.updateFrequency.irregular": "Unregelmäßig",
|
|
133
137
|
"domain.record.updateFrequency.month": "{count, plural, =0{0} one{Ein} other{{count}}} mal im Monat",
|
|
134
138
|
"domain.record.updateFrequency.notPlanned": "Nicht geplant",
|
|
135
|
-
"domain.record.updateFrequency.periodic": "
|
|
139
|
+
"domain.record.updateFrequency.periodic": "Regelmäßig",
|
|
136
140
|
"domain.record.updateFrequency.unknown": "Unbekannt",
|
|
137
141
|
"domain.record.updateFrequency.week": "{count, plural, =0{0} one{Ein} other{{count}}} mal in der Woche",
|
|
138
142
|
"domain.record.updateFrequency.year": "{count, plural, =0{0} one{Ein} other{{count}}} mal im Jahr",
|
|
139
143
|
"downloads.format.unknown": "unbekannt",
|
|
140
|
-
"downloads.wfs.featuretype.not.found": "
|
|
144
|
+
"downloads.wfs.featuretype.not.found": "Der Layer wurde nicht gefunden",
|
|
141
145
|
"dropFile": "Datei ablegen",
|
|
142
146
|
"externalviewer.dataset.unnamed": "Datensatz aus dem Datahub",
|
|
143
147
|
"facets.block.title.OrgForResource": "Organisation",
|
|
@@ -172,10 +176,17 @@
|
|
|
172
176
|
"map.add.layer.file": "Aus einer Datei",
|
|
173
177
|
"map.add.layer.wfs": "Aus WFS",
|
|
174
178
|
"map.add.layer.wms": "Aus WMS",
|
|
179
|
+
"map.addFromFile.placeholder": "Klicke hier oder ziehe eine Datei herein",
|
|
180
|
+
"map.help.addFromFile": "Klicke oder ziehe eine Datei herein um eine Karte hinzuzufügen (momentan wird nur das GeoJSON-Format unterstützt).",
|
|
181
|
+
"map.layer.add": "Hinzufügen",
|
|
182
|
+
"map.layers.available": "Verfügbare Layer",
|
|
175
183
|
"map.layers.list": "Ebenen",
|
|
176
184
|
"map.loading.data": "Kartendaten werden geladen...",
|
|
185
|
+
"map.loading.service": "Dienst wird geladen...",
|
|
177
186
|
"map.navigation.message": "Bitte verwenden Sie STRG + Maus (oder zwei Finger auf einem Mobilgerät), um die Karte zu navigieren",
|
|
178
187
|
"map.select.layer": "Datenquelle",
|
|
188
|
+
"map.wfs.urlInput.hint": "Geben Sie die WFS URL ein",
|
|
189
|
+
"map.wms.urlInput.hint": "Geben Sie die WMS URL ein",
|
|
179
190
|
"multiselect.filter.placeholder": "Suche",
|
|
180
191
|
"nav.back": "Zurück",
|
|
181
192
|
"next": "weiter",
|
|
@@ -191,56 +202,61 @@
|
|
|
191
202
|
"pagination.pageOf": "von",
|
|
192
203
|
"previous": "zurück",
|
|
193
204
|
"record.action.download": "Herunterladen",
|
|
194
|
-
"record.action.view": "
|
|
205
|
+
"record.action.view": "Anzeigen",
|
|
195
206
|
"record.externalViewer.open": "In externem Kartenviewer öffnen",
|
|
196
207
|
"record.metadata.about": "Beschreibung",
|
|
197
208
|
"record.metadata.api": "API",
|
|
198
|
-
"record.metadata.api.form.closeButton": "",
|
|
199
|
-
"record.metadata.api.form.closeForm": "",
|
|
200
|
-
"record.metadata.api.form.create": "",
|
|
201
|
-
"record.metadata.api.form.customUrl": "",
|
|
202
|
-
"record.metadata.api.form.limit": "",
|
|
203
|
-
"record.metadata.api.form.limit.all": "",
|
|
204
|
-
"record.metadata.api.form.offset": "",
|
|
205
|
-
"record.metadata.api.form.openForm": "",
|
|
206
|
-
"record.metadata.api.form.reset": "",
|
|
207
|
-
"record.metadata.api.form.title": "",
|
|
208
|
-
"record.metadata.api.form.type": "",
|
|
209
|
-
"record.metadata.author": "",
|
|
209
|
+
"record.metadata.api.form.closeButton": "Schließen",
|
|
210
|
+
"record.metadata.api.form.closeForm": "Formular schließen",
|
|
211
|
+
"record.metadata.api.form.create": "Ihre Anfrage erstellen",
|
|
212
|
+
"record.metadata.api.form.customUrl": "Benutzerdefinierte URL",
|
|
213
|
+
"record.metadata.api.form.limit": "Anzahl der Datensätze",
|
|
214
|
+
"record.metadata.api.form.limit.all": "Alle",
|
|
215
|
+
"record.metadata.api.form.offset": "Anzahl des ersten Datensatzes",
|
|
216
|
+
"record.metadata.api.form.openForm": "Formular öffnen",
|
|
217
|
+
"record.metadata.api.form.reset": "Zurücksetzen",
|
|
218
|
+
"record.metadata.api.form.title": "Benutzerdefinierte URL generieren",
|
|
219
|
+
"record.metadata.api.form.type": "Ausgabeformat",
|
|
220
|
+
"record.metadata.author": "Autor",
|
|
210
221
|
"record.metadata.catalog": "Katalog",
|
|
211
222
|
"record.metadata.contact": "Kontakt",
|
|
212
223
|
"record.metadata.createdOn": "Erstellt am",
|
|
213
|
-
"record.metadata.details": "
|
|
224
|
+
"record.metadata.details": "Technische Informationen",
|
|
214
225
|
"record.metadata.download": "Downloads",
|
|
215
|
-
"record.metadata.formats": "",
|
|
226
|
+
"record.metadata.formats": "Formate",
|
|
216
227
|
"record.metadata.isOpenData": "Open Data",
|
|
217
228
|
"record.metadata.keywords": "Stichworte",
|
|
229
|
+
"record.metadata.lastUpdate": "Zuletzt aktualisiert am",
|
|
218
230
|
"record.metadata.links": "Links",
|
|
219
|
-
"record.metadata.noUsage": "Für diesen Datensatz sind keine
|
|
231
|
+
"record.metadata.noUsage": "Für diesen Datensatz sind keine Nutzungsbedingungen angegeben.",
|
|
220
232
|
"record.metadata.origin": "Über die Daten",
|
|
233
|
+
"record.metadata.owner": "",
|
|
221
234
|
"record.metadata.preview": "Vorschau",
|
|
222
235
|
"record.metadata.publications": "Veröffentlichungen",
|
|
223
|
-
"record.metadata.quality": "",
|
|
224
|
-
"record.metadata.quality.contact.failed": "",
|
|
225
|
-
"record.metadata.quality.contact.success": "",
|
|
226
|
-
"record.metadata.quality.description.failed": "",
|
|
227
|
-
"record.metadata.quality.description.success": "",
|
|
228
|
-
"record.metadata.quality.details": "",
|
|
229
|
-
"record.metadata.quality.keywords.failed": "",
|
|
230
|
-
"record.metadata.quality.keywords.success": "",
|
|
231
|
-
"record.metadata.quality.legalConstraints.failed": "",
|
|
232
|
-
"record.metadata.quality.legalConstraints.success": "",
|
|
233
|
-
"record.metadata.quality.organisation.failed": "",
|
|
234
|
-
"record.metadata.quality.organisation.success": "",
|
|
235
|
-
"record.metadata.quality.title.failed": "",
|
|
236
|
-
"record.metadata.quality.title.success": "",
|
|
237
|
-
"record.metadata.quality.topic.failed": "",
|
|
238
|
-
"record.metadata.quality.topic.success": "",
|
|
239
|
-
"record.metadata.quality.updateFrequency.failed": "",
|
|
240
|
-
"record.metadata.quality.updateFrequency.success": "",
|
|
236
|
+
"record.metadata.quality": "Metadatenqualität",
|
|
237
|
+
"record.metadata.quality.contact.failed": "Kontakt nicht angegeben",
|
|
238
|
+
"record.metadata.quality.contact.success": "Kontakt angegeben",
|
|
239
|
+
"record.metadata.quality.description.failed": "Beschreibung nicht angegeben",
|
|
240
|
+
"record.metadata.quality.description.success": "Beschreibung angegeben",
|
|
241
|
+
"record.metadata.quality.details": "Details",
|
|
242
|
+
"record.metadata.quality.keywords.failed": "Schlagwörter nicht angegeben",
|
|
243
|
+
"record.metadata.quality.keywords.success": "Schlagwörter angegeben",
|
|
244
|
+
"record.metadata.quality.legalConstraints.failed": "Rechtliche Beschränkungen nicht angegeben",
|
|
245
|
+
"record.metadata.quality.legalConstraints.success": "Rechtliche Beschränkungen angegeben",
|
|
246
|
+
"record.metadata.quality.organisation.failed": "Organisation nicht angegeben",
|
|
247
|
+
"record.metadata.quality.organisation.success": "Organisation angegeben",
|
|
248
|
+
"record.metadata.quality.title.failed": "Titel nicht angegeben",
|
|
249
|
+
"record.metadata.quality.title.success": "Titel angegeben",
|
|
250
|
+
"record.metadata.quality.topic.failed": "Thema nicht angegeben",
|
|
251
|
+
"record.metadata.quality.topic.success": "Thema angegeben",
|
|
252
|
+
"record.metadata.quality.updateFrequency.failed": "Aktualisierungsfrequenz nicht angegeben",
|
|
253
|
+
"record.metadata.quality.updateFrequency.success": "Aktualisierungsfrequenz angegeben",
|
|
241
254
|
"record.metadata.related": "Ähnliche Datensätze",
|
|
242
|
-
"record.metadata.sheet": "Weitere Informationen
|
|
255
|
+
"record.metadata.sheet": "Weitere Informationen verfügbar unter:",
|
|
256
|
+
"record.metadata.themes": "Kategorien",
|
|
243
257
|
"record.metadata.title": "Titel",
|
|
258
|
+
"record.metadata.type": "Geographischer Datensatz",
|
|
259
|
+
"record.metadata.uniqueId": "Eindeutige Kennung",
|
|
244
260
|
"record.metadata.updateFrequency": "Aktualisierungsfrequenz der Daten",
|
|
245
261
|
"record.metadata.updateStatus": "Aktualisierungsstatus der Daten",
|
|
246
262
|
"record.metadata.updatedOn": "Letzte Aktualisierung der Dateninformationen",
|
|
@@ -252,23 +268,23 @@
|
|
|
252
268
|
"record.was.created.time": "erstellte diesen Datensatz {time}",
|
|
253
269
|
"records": "Datensätze",
|
|
254
270
|
"results.layout.selectOne": "Layout auswählen",
|
|
255
|
-
"results.records.hits.displayedOn": "{displayed, plural, =0{Kein Datensatz.} one{1 Datensatz} other{{displayed} Datensätze }} {hits, plural, other{
|
|
256
|
-
"results.records.hits.empty.help.html": "Vorschläge: <ul class='list-disc list-inside'><li>Versuchen Sie
|
|
271
|
+
"results.records.hits.displayedOn": "{displayed, plural, =0{Kein Datensatz.} one{1 Datensatz} other{{displayed} Datensätze }} {hits, plural, other{angezeigt von {hits} insgesamt.}}",
|
|
272
|
+
"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>",
|
|
257
273
|
"results.records.hits.found": "{hits, plural, =0{Keine Dokumente entsprechen der angegebenen Suche.} one{1 Datensatz gefunden.} other{{hits} Datensätze gefunden.}}",
|
|
258
|
-
"results.records.hits.selected": "",
|
|
274
|
+
"results.records.hits.selected": "{ amount } ausgewählt",
|
|
259
275
|
"results.showMore": "Mehr Ergebnisse anzeigen...",
|
|
260
|
-
"results.sortBy.dateStamp": "
|
|
276
|
+
"results.sortBy.dateStamp": "Neueste",
|
|
261
277
|
"results.sortBy.popularity": "Beliebtheit",
|
|
262
|
-
"results.sortBy.qualityScore": "",
|
|
278
|
+
"results.sortBy.qualityScore": "Qualitätsbewertung",
|
|
263
279
|
"results.sortBy.relevancy": "Relevanz",
|
|
264
280
|
"search.autocomplete.error": "Vorschläge konnten nicht abgerufen werden:",
|
|
265
281
|
"search.error.couldNotReachApi": "Die API konnte nicht erreicht werden",
|
|
266
|
-
"search.error.receivedError": "Ein Fehler
|
|
282
|
+
"search.error.receivedError": "Ein Fehler ist aufgetreten",
|
|
267
283
|
"search.error.recordNotFound": "Der Datensatz mit der Kennung \"{ id }\" konnte nicht gefunden werden.",
|
|
268
|
-
"search.field.any.placeholder": "Suche
|
|
284
|
+
"search.field.any.placeholder": "Suche Datensätze ...",
|
|
269
285
|
"search.field.sortBy": "Sortieren nach:",
|
|
270
286
|
"search.filters.clear": "Zurücksetzen",
|
|
271
|
-
"search.filters.contact": "
|
|
287
|
+
"search.filters.contact": "Kontakte",
|
|
272
288
|
"search.filters.format": "Formate",
|
|
273
289
|
"search.filters.inspireKeyword": "INSPIRE-Schlüsselwort",
|
|
274
290
|
"search.filters.isSpatial": "Ist räumliche Daten",
|
|
@@ -286,13 +302,13 @@
|
|
|
286
302
|
"search.filters.license.unknown": "Unbekannt oder nicht vorhanden",
|
|
287
303
|
"search.filters.maximize": "Erweitern",
|
|
288
304
|
"search.filters.minimize": "Minimieren",
|
|
289
|
-
"search.filters.myRecords": "",
|
|
290
|
-
"search.filters.myRecordsHelp": "",
|
|
291
|
-
"search.filters.otherRecords": "",
|
|
305
|
+
"search.filters.myRecords": "Nur meine Datensätze anzeigen",
|
|
306
|
+
"search.filters.myRecordsHelp": "Wenn dies aktiviert ist, werden nur von mir erstellte Datensätze angezeigt; Datensätze, die von anderen erstellt wurden, werden nicht angezeigt.",
|
|
307
|
+
"search.filters.otherRecords": "Datensätze von einer anderen Person anzeigen",
|
|
292
308
|
"search.filters.publicationYear": "Veröffentlichungsjahr",
|
|
293
309
|
"search.filters.publisher": "Organisationen",
|
|
294
|
-
"search.filters.representationType": "",
|
|
295
|
-
"search.filters.resourceType": "",
|
|
310
|
+
"search.filters.representationType": "Repräsentationstyp",
|
|
311
|
+
"search.filters.resourceType": "Ressourcentyp",
|
|
296
312
|
"search.filters.standard": "Standard",
|
|
297
313
|
"search.filters.title": "Ergebnisse filtern",
|
|
298
314
|
"search.filters.topic": "Thema",
|
|
@@ -304,6 +320,7 @@
|
|
|
304
320
|
"table.object.count": "Objekte in diesem Datensatz",
|
|
305
321
|
"table.select.data": "Datenquelle",
|
|
306
322
|
"tooltip.html.copy": "HTML kopieren",
|
|
323
|
+
"tooltip.id.copy": "",
|
|
307
324
|
"tooltip.url.copy": "URL kopieren",
|
|
308
325
|
"tooltip.url.open": "URL öffnen",
|
|
309
326
|
"ui.readLess": "Weniger lesen",
|