geonetwork-ui 2.5.0-dev.da7bc314b → 2.5.0-dev.ee5be4e65

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.
Files changed (75) hide show
  1. package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +11 -1
  2. package/esm2022/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.mjs +1 -1
  3. package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.mjs +20 -17
  4. package/esm2022/libs/api/repository/src/lib/gn4/gn4-repository.mjs +22 -2
  5. package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +1 -1
  6. package/esm2022/libs/common/domain/src/lib/repository/records-repository.interface.mjs +1 -1
  7. package/esm2022/libs/feature/editor/src/lib/components/constraint-card/constraint-card.component.mjs +3 -3
  8. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.mjs +2 -1
  9. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.mjs +2 -2
  10. package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +2 -2
  11. package/esm2022/libs/feature/record/src/lib/state/mdview.actions.mjs +4 -1
  12. package/esm2022/libs/feature/record/src/lib/state/mdview.effects.mjs +7 -2
  13. package/esm2022/libs/feature/record/src/lib/state/mdview.facade.mjs +2 -1
  14. package/esm2022/libs/feature/record/src/lib/state/mdview.reducer.mjs +19 -1
  15. package/esm2022/libs/feature/record/src/lib/state/mdview.selectors.mjs +6 -1
  16. package/esm2022/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.mjs +7 -2
  17. package/esm2022/translations/de.json +2 -3
  18. package/esm2022/translations/en.json +2 -3
  19. package/esm2022/translations/es.json +2 -3
  20. package/esm2022/translations/fr.json +4 -5
  21. package/esm2022/translations/it.json +2 -3
  22. package/esm2022/translations/nl.json +2 -3
  23. package/esm2022/translations/pt.json +2 -3
  24. package/fesm2022/geonetwork-ui.mjs +112 -45
  25. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  26. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts.map +1 -1
  27. package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts +3 -0
  28. package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts.map +1 -1
  29. package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts +1 -0
  30. package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts.map +1 -1
  31. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts +2 -1
  32. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts.map +1 -1
  33. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +6 -0
  34. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
  35. package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts +2 -1
  36. package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts.map +1 -1
  37. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.d.ts.map +1 -1
  38. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.d.ts.map +1 -1
  39. package/libs/feature/record/src/lib/state/mdview.actions.d.ts +16 -1
  40. package/libs/feature/record/src/lib/state/mdview.actions.d.ts.map +1 -1
  41. package/libs/feature/record/src/lib/state/mdview.effects.d.ts +5 -0
  42. package/libs/feature/record/src/lib/state/mdview.effects.d.ts.map +1 -1
  43. package/libs/feature/record/src/lib/state/mdview.facade.d.ts +1 -0
  44. package/libs/feature/record/src/lib/state/mdview.facade.d.ts.map +1 -1
  45. package/libs/feature/record/src/lib/state/mdview.reducer.d.ts +4 -1
  46. package/libs/feature/record/src/lib/state/mdview.reducer.d.ts.map +1 -1
  47. package/libs/feature/record/src/lib/state/mdview.selectors.d.ts +2 -0
  48. package/libs/feature/record/src/lib/state/mdview.selectors.d.ts.map +1 -1
  49. package/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.d.ts.map +1 -1
  50. package/package.json +1 -1
  51. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +25 -0
  52. package/src/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.ts +4 -0
  53. package/src/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.ts +22 -16
  54. package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +41 -2
  55. package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +3 -1
  56. package/src/libs/common/domain/src/lib/repository/records-repository.interface.ts +4 -1
  57. package/src/libs/common/fixtures/src/lib/records.fixtures.ts +75 -0
  58. package/src/libs/feature/editor/src/lib/components/constraint-card/constraint-card.component.html +1 -1
  59. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.ts +1 -0
  60. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.ts +1 -1
  61. package/src/libs/feature/editor/src/lib/fields.config.ts +1 -1
  62. package/src/libs/feature/record/src/lib/state/mdview.actions.ts +16 -0
  63. package/src/libs/feature/record/src/lib/state/mdview.effects.ts +21 -2
  64. package/src/libs/feature/record/src/lib/state/mdview.facade.ts +2 -0
  65. package/src/libs/feature/record/src/lib/state/mdview.reducer.ts +30 -1
  66. package/src/libs/feature/record/src/lib/state/mdview.selectors.ts +12 -0
  67. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.ts +6 -0
  68. package/translations/de.json +2 -3
  69. package/translations/en.json +2 -3
  70. package/translations/es.json +2 -3
  71. package/translations/fr.json +4 -5
  72. package/translations/it.json +2 -3
  73. package/translations/nl.json +2 -3
  74. package/translations/pt.json +2 -3
  75. package/translations/sk.json +2 -3
@@ -160,6 +160,38 @@ As such, **it is not very interesting at all.**`,
160
160
  extras: {
161
161
  isPublishedToAll: true,
162
162
  edit: true,
163
+ featureTypes: [
164
+ {
165
+ attributeTable: [
166
+ {
167
+ code: 'OBJECTID',
168
+ name: 'OBJECTID',
169
+ link: '',
170
+ definition: 'Object identifier',
171
+ type: 'OID',
172
+ },
173
+ {
174
+ code: 'NOM',
175
+ name: 'Nom',
176
+ link: '',
177
+ definition: 'Nom de la rue',
178
+ type: 'String (48)',
179
+ },
180
+ {
181
+ code: 'RUE',
182
+ name: 'Rue',
183
+ link: '',
184
+ definition: '',
185
+ type: 'String (50)',
186
+ },
187
+ ],
188
+ code: '',
189
+ aliases: '',
190
+ typeName: "Catalogue d'attributs",
191
+ definition: '',
192
+ isAbstract: 'false',
193
+ },
194
+ ],
163
195
  },
164
196
  },
165
197
  {
@@ -312,6 +344,49 @@ export const simpleDatasetRecordFixture = (): DatasetRecord => ({
312
344
  translations: {},
313
345
  })
314
346
 
347
+ export const simpleDatasetRecordWithFcatsFixture = (): DatasetRecord => ({
348
+ uniqueIdentifier: 'my-dataset-with-fcats',
349
+ extras: {
350
+ featureCatalogIdentifier: 'feature-catalog-identifier',
351
+ },
352
+ kind: 'dataset',
353
+ otherLanguages: [],
354
+ defaultLanguage: 'en',
355
+ recordUpdated: new Date('2022-02-01T14:12:00.000Z'),
356
+ resourceCreated: new Date('2022-09-01T12:18:19.000Z'),
357
+ resourceUpdated: new Date('2022-12-04T14:12:00.000Z'),
358
+ status: 'ongoing',
359
+ title: 'A very interesting dataset with a related feature catalog',
360
+ abstract: `This dataset has been established for testing purposes.`,
361
+ ownerOrganization: { name: 'MyOrganization', translations: {} },
362
+ contacts: [
363
+ {
364
+ email: 'bob@org.net',
365
+ position: 'developer',
366
+ organization: { name: 'MyOrganization', translations: {} },
367
+ role: 'point_of_contact',
368
+ firstName: 'Bob',
369
+ lastName: 'TheGreat',
370
+ },
371
+ ],
372
+ contactsForResource: [],
373
+ keywords: [],
374
+ topics: ['testData'],
375
+ licenses: [],
376
+ legalConstraints: [],
377
+ securityConstraints: [],
378
+ otherConstraints: [],
379
+ lineage:
380
+ 'This record was edited manually to test the feature catalog parsing',
381
+ spatialRepresentation: 'grid',
382
+ overviews: [],
383
+ spatialExtents: [],
384
+ temporalExtents: [],
385
+ onlineResources: [],
386
+ updateFrequency: { per: 'month', updatedTimes: 3 },
387
+ translations: {},
388
+ })
389
+
315
390
  export const simpleDatasetRecordAsXmlFixture =
316
391
  (): string => `<?xml version="1.0" encoding="UTF-8"?>
317
392
  <mdb:MD_Metadata xmlns:mdb="http://standards.iso.org/iso/19115/-3/mdb/2.0" xmlns:mcc="http://standards.iso.org/iso/19115/-3/mcc/1.0" xmlns:gco="http://standards.iso.org/iso/19115/-3/gco/1.0" xmlns:cit="http://standards.iso.org/iso/19115/-3/cit/2.0" xmlns:mri="http://standards.iso.org/iso/19115/-3/mri/1.0" xmlns:mco="http://standards.iso.org/iso/19115/-3/mco/1.0" xmlns:gcx="http://standards.iso.org/iso/19115/-3/gcx/1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:mmi="http://standards.iso.org/iso/19115/-3/mmi/1.0" xmlns:mrd="http://standards.iso.org/iso/19115/-3/mrd/1.0" xmlns:mrl="http://standards.iso.org/iso/19115/-3/mrl/2.0">
@@ -2,7 +2,7 @@
2
2
  <gn-ui-form-field-rich
3
3
  class="mt-[-8px]"
4
4
  [label]="label"
5
- [hint]="hint | translate"
5
+ [placeholder]="hint | translate"
6
6
  [value]="constraint_.text ?? ''"
7
7
  (valueChange)="handleConstraintTextChange($event)"
8
8
  ></gn-ui-form-field-rich>
@@ -79,6 +79,7 @@ export class FormFieldContactsForResourceComponent
79
79
  'owner',
80
80
  'point_of_contact',
81
81
  'author',
82
+ 'publisher',
82
83
  ]
83
84
 
84
85
  roleSectionsToDisplay: Role[] = []
@@ -28,7 +28,7 @@ import { FormFieldWrapperComponent } from '../../../../../../../../../libs/ui/la
28
28
  export class FormFieldRichComponent {
29
29
  @Input() label: string
30
30
  @Input() hint: string
31
- @Input() placeholder = 'Votre texte ici' //TODO: translate
31
+ @Input() placeholder = ''
32
32
  @Input() value: string
33
33
 
34
34
  @Output() valueChange: EventEmitter<string> = new EventEmitter()
@@ -275,8 +275,8 @@ export const DEFAULT_CONFIGURATION: EditorConfig = {
275
275
  labelKey: marker('editor.record.form.page.description'),
276
276
  sections: [
277
277
  TITLE_SECTION,
278
- ABOUT_SECTION,
279
278
  CLASSIFICATION_SECTION,
279
+ ABOUT_SECTION,
280
280
  GEOGRAPHICAL_COVERAGE_SECTION,
281
281
  ],
282
282
  },
@@ -2,6 +2,7 @@ import { DatavizConfigurationModel } from '../../../../../../libs/common/domain/
2
2
  import { createAction, props } from '@ngrx/store'
3
3
  import {
4
4
  CatalogRecord,
5
+ DatasetFeatureCatalog,
5
6
  UserFeedback,
6
7
  } from '../../../../../../libs/common/domain/src/lib/model/record'
7
8
 
@@ -28,6 +29,21 @@ export const loadFullMetadataFailure = createAction(
28
29
  props<{ otherError?: string; notFound?: boolean }>()
29
30
  )
30
31
 
32
+ export const loadFeatureCatalog = createAction(
33
+ "[Metadata view] Load metadata's feature catalog",
34
+ props<{ metadata: CatalogRecord }>()
35
+ )
36
+
37
+ export const loadFeatureCatalogSuccess = createAction(
38
+ '[Metadata view] Load metadata feature catalog success',
39
+ props<{ datasetCatalog: DatasetFeatureCatalog | null }>()
40
+ )
41
+
42
+ export const loadFeatureCatalogFailure = createAction(
43
+ '[Metadata view] Load metadata feature catalog failure',
44
+ props<{ error?: string }>()
45
+ )
46
+
31
47
  export const closeMetadata = createAction('[Metadata view] close')
32
48
 
33
49
  /*
@@ -1,11 +1,10 @@
1
1
  import { Injectable } from '@angular/core'
2
2
  import { Actions, createEffect, ofType } from '@ngrx/effects'
3
3
  import { exhaustMap, mergeMap, of } from 'rxjs'
4
- import { catchError, map, switchMap } from 'rxjs/operators'
4
+ import { catchError, filter, map, switchMap, take } from 'rxjs/operators'
5
5
  import * as MdViewActions from './mdview.actions'
6
6
  import { RecordsRepositoryInterface } from '../../../../../../libs/common/domain/src/lib/repository/records-repository.interface'
7
7
  import { PlatformServiceInterface } from '../../../../../../libs/common/domain/src/lib/platform.service.interface'
8
-
9
8
  @Injectable()
10
9
  export class MdViewEffects {
11
10
  constructor(
@@ -33,6 +32,26 @@ export class MdViewEffects {
33
32
  )
34
33
  )
35
34
 
35
+ loadFeatureCatalog$ = createEffect(() =>
36
+ this.actions$.pipe(
37
+ ofType(MdViewActions.loadFullMetadataSuccess),
38
+ filter(({ full }) => full !== undefined),
39
+ switchMap(({ full }) => this.recordsRepository.getFeatureCatalog(full)),
40
+ map((featureCatalog) =>
41
+ MdViewActions.loadFeatureCatalogSuccess({
42
+ datasetCatalog: featureCatalog,
43
+ })
44
+ ),
45
+ catchError((error) =>
46
+ of(
47
+ MdViewActions.loadFeatureCatalogFailure({
48
+ error: error.message,
49
+ })
50
+ )
51
+ )
52
+ )
53
+ )
54
+
36
55
  /*
37
56
  Related effects
38
57
  */
@@ -52,6 +52,8 @@ export class MdViewFacade {
52
52
  filter((md) => !!md)
53
53
  )
54
54
 
55
+ featureCatalog$ = this.store.pipe(select(MdViewSelectors.getFeatureCatalog))
56
+
55
57
  isIncomplete$ = this.store.pipe(
56
58
  select(MdViewSelectors.getMetadataIsIncomplete),
57
59
  filter((incomplete) => incomplete !== null)
@@ -3,6 +3,7 @@ import * as MetadataViewActions from './mdview.actions'
3
3
  import { DatavizConfigurationModel } from '../../../../../../libs/common/domain/src/lib/model/dataviz/dataviz-configuration.model'
4
4
  import {
5
5
  CatalogRecord,
6
+ DatasetFeatureCatalog,
6
7
  UserFeedback,
7
8
  } from '../../../../../../libs/common/domain/src/lib/model/record'
8
9
 
@@ -17,6 +18,9 @@ export interface MetadataViewState {
17
18
  allUserFeedbacksLoading: boolean
18
19
  addUserFeedbackLoading: boolean
19
20
  chartConfig?: DatavizConfigurationModel
21
+ featureCatalog?: DatasetFeatureCatalog
22
+ featureCatalogLoading: boolean
23
+ featureCatalogError: string | null
20
24
  }
21
25
 
22
26
  export const initialMetadataViewState: MetadataViewState = {
@@ -24,6 +28,8 @@ export const initialMetadataViewState: MetadataViewState = {
24
28
  loadingFull: false,
25
29
  allUserFeedbacksLoading: false,
26
30
  addUserFeedbackLoading: false,
31
+ featureCatalogLoading: false,
32
+ featureCatalogError: null,
27
33
  }
28
34
 
29
35
  const metadataViewReducer = createReducer(
@@ -105,7 +111,30 @@ const metadataViewReducer = createReducer(
105
111
  addUserFeedbackLoading: false,
106
112
  allUserFeedbacksLoading: false,
107
113
  })
108
- )
114
+ ),
115
+
116
+ /**
117
+ * FeatureCatalog reducers
118
+ */
119
+
120
+ on(MetadataViewActions.loadFeatureCatalog, (state) => ({
121
+ ...state,
122
+ featureCatalogError: null,
123
+ featureCatalogLoading: true,
124
+ })),
125
+ on(
126
+ MetadataViewActions.loadFeatureCatalogSuccess,
127
+ (state, { datasetCatalog }) => ({
128
+ ...state,
129
+ featureCatalog: datasetCatalog,
130
+ featureCatalogLoading: false,
131
+ })
132
+ ),
133
+ on(MetadataViewActions.loadFeatureCatalogFailure, (state, { error }) => ({
134
+ ...state,
135
+ featureCatalogError: error,
136
+ featureCatalogLoading: false,
137
+ }))
109
138
  )
110
139
 
111
140
  export function reducer(
@@ -64,3 +64,15 @@ export const getAddUserFeedbacksLoading = createSelector(
64
64
  getMdViewState,
65
65
  (state: MetadataViewState) => state.addUserFeedbackLoading
66
66
  )
67
+
68
+ /*
69
+ Feature Catalog Selectors
70
+ */
71
+ export const getFeatureCatalog = createSelector(
72
+ getMdViewState,
73
+ (state: MetadataViewState) => state.featureCatalog
74
+ )
75
+ export const getFeatureCatalogIsLoading = createSelector(
76
+ getMdViewState,
77
+ (state: MetadataViewState) => state.featureCatalogLoading
78
+ )
@@ -147,6 +147,12 @@ export class AutocompleteComponent
147
147
  this.error = null
148
148
  }),
149
149
  switchMap((value) => this.action(value)),
150
+ tap((suggestions) => {
151
+ // forcing the panel to open if there are suggestions
152
+ if (suggestions.length > 0) {
153
+ this.triggerRef?.openPanel()
154
+ }
155
+ }),
150
156
  catchError((error: Error) => {
151
157
  this.error = error.message
152
158
  return of([])
@@ -20,8 +20,6 @@
20
20
  "chart.type.lineSmooth": "Geglättes Liniendiagramm",
21
21
  "chart.type.pie": "Kreisdiagramm",
22
22
  "dashboard.catalog.allRecords": "Metadatenkatalog",
23
- "dashboard.catalog.contacts": "Kontakte",
24
- "dashboard.catalog.thesaurus": "Thesaurus",
25
23
  "dashboard.createRecord": "Neuer Eintrag",
26
24
  "dashboard.importRecord": "",
27
25
  "dashboard.importRecord.importExternal": "",
@@ -34,7 +32,6 @@
34
32
  "dashboard.records.myDraft": "Meine Entwürfe",
35
33
  "dashboard.records.myRecords": "Meine Datensätze",
36
34
  "dashboard.records.search": "Suche nach \"{searchText}\"",
37
- "dashboard.records.templates": "Vorlagen",
38
35
  "dashboard.records.userDetail": "Name",
39
36
  "dashboard.records.userEmail": "E-Mail",
40
37
  "dashboard.records.username": "Benutzername",
@@ -547,6 +544,8 @@
547
544
  "search.error.recordNotFound": "Der Datensatz mit der Kennung \"{ id }\" konnte nicht gefunden werden.",
548
545
  "search.field.any.placeholder": "Suche Datensätze ...",
549
546
  "search.field.sortBy": "Sortieren nach:",
547
+ "search.filters.availableServices.download": "",
548
+ "search.filters.availableServices.view": "",
550
549
  "search.filters.changeDate": "Letzte Aktualisierung",
551
550
  "search.filters.clear": "Zurücksetzen",
552
551
  "search.filters.contact": "Kontakte",
@@ -20,8 +20,6 @@
20
20
  "chart.type.lineSmooth": "smooth line chart",
21
21
  "chart.type.pie": "pie chart",
22
22
  "dashboard.catalog.allRecords": "Datasets",
23
- "dashboard.catalog.contacts": "Contacts",
24
- "dashboard.catalog.thesaurus": "Thesaurus",
25
23
  "dashboard.createRecord": "New dataset",
26
24
  "dashboard.importRecord": "Import",
27
25
  "dashboard.importRecord.importExternal": "Import an external file",
@@ -34,7 +32,6 @@
34
32
  "dashboard.records.myDraft": "My drafts",
35
33
  "dashboard.records.myRecords": "My datasets",
36
34
  "dashboard.records.search": "Search for \"{searchText}\"",
37
- "dashboard.records.templates": "Templates",
38
35
  "dashboard.records.userDetail": "Name",
39
36
  "dashboard.records.userEmail": "Email",
40
37
  "dashboard.records.username": "Username",
@@ -547,6 +544,8 @@
547
544
  "search.error.recordNotFound": "The dataset with identifier \"{ id }\" could not be found.",
548
545
  "search.field.any.placeholder": "Search datasets ...",
549
546
  "search.field.sortBy": "Sort by:",
547
+ "search.filters.availableServices.download": "",
548
+ "search.filters.availableServices.view": "",
550
549
  "search.filters.changeDate": "Updated",
551
550
  "search.filters.clear": "Reset",
552
551
  "search.filters.contact": "Contacts",
@@ -20,8 +20,6 @@
20
20
  "chart.type.lineSmooth": "gráfico de líneas suave",
21
21
  "chart.type.pie": "gráfico circular",
22
22
  "dashboard.catalog.allRecords": "",
23
- "dashboard.catalog.contacts": "",
24
- "dashboard.catalog.thesaurus": "",
25
23
  "dashboard.createRecord": "",
26
24
  "dashboard.importRecord": "",
27
25
  "dashboard.importRecord.importExternal": "",
@@ -34,7 +32,6 @@
34
32
  "dashboard.records.myDraft": "Mis borradores",
35
33
  "dashboard.records.myRecords": "Mis Registros",
36
34
  "dashboard.records.search": "Buscar \"{searchText}\"",
37
- "dashboard.records.templates": "",
38
35
  "dashboard.records.userDetail": "",
39
36
  "dashboard.records.userEmail": "",
40
37
  "dashboard.records.username": "",
@@ -547,6 +544,8 @@
547
544
  "search.error.recordNotFound": "",
548
545
  "search.field.any.placeholder": "",
549
546
  "search.field.sortBy": "",
547
+ "search.filters.availableServices.download": "",
548
+ "search.filters.availableServices.view": "",
550
549
  "search.filters.changeDate": "Última actualización",
551
550
  "search.filters.clear": "",
552
551
  "search.filters.contact": "",
@@ -20,8 +20,6 @@
20
20
  "chart.type.lineSmooth": "ligne lisse",
21
21
  "chart.type.pie": "camembert",
22
22
  "dashboard.catalog.allRecords": "Jeux de données",
23
- "dashboard.catalog.contacts": "Annuaire",
24
- "dashboard.catalog.thesaurus": "Thésaurus",
25
23
  "dashboard.createRecord": "Nouveau jeu de données",
26
24
  "dashboard.importRecord": "Importer",
27
25
  "dashboard.importRecord.importExternal": "Importer un jeu de données externe",
@@ -34,7 +32,6 @@
34
32
  "dashboard.records.myDraft": "Mes brouillons",
35
33
  "dashboard.records.myRecords": "Mes jeux de données",
36
34
  "dashboard.records.search": "Résultats pour \"{searchText}\"",
37
- "dashboard.records.templates": "Modèles pré-remplis",
38
35
  "dashboard.records.userDetail": "Nom",
39
36
  "dashboard.records.userEmail": "Email",
40
37
  "dashboard.records.username": "Nom d'utilisateur",
@@ -161,7 +158,7 @@
161
158
  "domain.contact.role.point_of_contact": "Point de contact",
162
159
  "domain.contact.role.principal_investigator": "Chercheur principal",
163
160
  "domain.contact.role.processor": "Processeur",
164
- "domain.contact.role.publisher": "Éditeur",
161
+ "domain.contact.role.publisher": "Producteur",
165
162
  "domain.contact.role.resource_provider": "Fournisseur",
166
163
  "domain.contact.role.rights_holder": "Détenteur des droits",
167
164
  "domain.contact.role.sponsor": "Sponsor",
@@ -225,7 +222,7 @@
225
222
  "editor.record.form.constraint.otherConstraints": "Autres contraintes",
226
223
  "editor.record.form.constraint.securityConstraints": "Contraintes de sécurité",
227
224
  "editor.record.form.draft.updateAlert": "Depuis la création de ce brouillon, ce jeu de données a été modifié le { date } par { user }. Publier votre version peut supprimer ses modifications. Pour éviter cela, vous pouvez annuler vos changements, ou publier votre version en connaissance de cause.",
228
- "editor.record.form.field.abstract": "Résumé",
225
+ "editor.record.form.field.abstract": "Description",
229
226
  "editor.record.form.field.constraintsShortcuts": "",
230
227
  "editor.record.form.field.contacts.noContact": "Veuillez renseigner au moins un point de contact.",
231
228
  "editor.record.form.field.contacts.placeholder": "Choisissez un contact",
@@ -547,6 +544,8 @@
547
544
  "search.error.recordNotFound": "Cette donnée n'a pu être trouvée.",
548
545
  "search.field.any.placeholder": "Rechercher un jeu de données...",
549
546
  "search.field.sortBy": "Trier par :",
547
+ "search.filters.availableServices.download": "",
548
+ "search.filters.availableServices.view": "",
550
549
  "search.filters.changeDate": "Mise à jour",
551
550
  "search.filters.clear": "Réinitialiser",
552
551
  "search.filters.contact": "Contacts",
@@ -20,8 +20,6 @@
20
20
  "chart.type.lineSmooth": "grafico a linea liscia",
21
21
  "chart.type.pie": "grafico a torta",
22
22
  "dashboard.catalog.allRecords": "Datasets",
23
- "dashboard.catalog.contacts": "Contatti",
24
- "dashboard.catalog.thesaurus": "Thesauri",
25
23
  "dashboard.createRecord": "Crea un record",
26
24
  "dashboard.importRecord": "Importare",
27
25
  "dashboard.importRecord.importExternal": "Importare un dataset esterno",
@@ -34,7 +32,6 @@
34
32
  "dashboard.records.myDraft": "Le mie bozze",
35
33
  "dashboard.records.myRecords": "I miei dati",
36
34
  "dashboard.records.search": "Risultati per \"{searchText}\"",
37
- "dashboard.records.templates": "Modelli precompilati",
38
35
  "dashboard.records.userDetail": "Nome",
39
36
  "dashboard.records.userEmail": "Email",
40
37
  "dashboard.records.username": "Nome utente",
@@ -547,6 +544,8 @@
547
544
  "search.error.recordNotFound": "Impossibile trovare questi dati.",
548
545
  "search.field.any.placeholder": "Cerca un dataset...",
549
546
  "search.field.sortBy": "Ordina per:",
547
+ "search.filters.availableServices.download": "",
548
+ "search.filters.availableServices.view": "",
550
549
  "search.filters.changeDate": "Aggiornato",
551
550
  "search.filters.clear": "Ripristina",
552
551
  "search.filters.contact": "Contatti",
@@ -20,8 +20,6 @@
20
20
  "chart.type.lineSmooth": "glad lijndiagram",
21
21
  "chart.type.pie": "cirkeldiagram",
22
22
  "dashboard.catalog.allRecords": "",
23
- "dashboard.catalog.contacts": "",
24
- "dashboard.catalog.thesaurus": "",
25
23
  "dashboard.createRecord": "",
26
24
  "dashboard.importRecord": "",
27
25
  "dashboard.importRecord.importExternal": "",
@@ -34,7 +32,6 @@
34
32
  "dashboard.records.myDraft": "Mijn concepten",
35
33
  "dashboard.records.myRecords": "Mijn Records",
36
34
  "dashboard.records.search": "Zoeken naar \"{searchText}\"",
37
- "dashboard.records.templates": "",
38
35
  "dashboard.records.userDetail": "",
39
36
  "dashboard.records.userEmail": "",
40
37
  "dashboard.records.username": "",
@@ -547,6 +544,8 @@
547
544
  "search.error.recordNotFound": "",
548
545
  "search.field.any.placeholder": "",
549
546
  "search.field.sortBy": "",
547
+ "search.filters.availableServices.download": "",
548
+ "search.filters.availableServices.view": "",
550
549
  "search.filters.changeDate": "",
551
550
  "search.filters.clear": "",
552
551
  "search.filters.contact": "",
@@ -20,8 +20,6 @@
20
20
  "chart.type.lineSmooth": "gráfico de linha suave",
21
21
  "chart.type.pie": "gráfico de pizza",
22
22
  "dashboard.catalog.allRecords": "",
23
- "dashboard.catalog.contacts": "",
24
- "dashboard.catalog.thesaurus": "",
25
23
  "dashboard.createRecord": "",
26
24
  "dashboard.importRecord": "",
27
25
  "dashboard.importRecord.importExternal": "",
@@ -34,7 +32,6 @@
34
32
  "dashboard.records.myDraft": "Meus rascunhos",
35
33
  "dashboard.records.myRecords": "Meus Registros",
36
34
  "dashboard.records.search": "Buscar por \"{searchText}\"",
37
- "dashboard.records.templates": "",
38
35
  "dashboard.records.userDetail": "",
39
36
  "dashboard.records.userEmail": "",
40
37
  "dashboard.records.username": "",
@@ -547,6 +544,8 @@
547
544
  "search.error.recordNotFound": "",
548
545
  "search.field.any.placeholder": "",
549
546
  "search.field.sortBy": "",
547
+ "search.filters.availableServices.download": "",
548
+ "search.filters.availableServices.view": "",
550
549
  "search.filters.changeDate": "",
551
550
  "search.filters.clear": "",
552
551
  "search.filters.contact": "",
@@ -20,8 +20,6 @@
20
20
  "chart.type.lineSmooth": "vyhladený čiarový graf",
21
21
  "chart.type.pie": "koláčový graf",
22
22
  "dashboard.catalog.allRecords": "",
23
- "dashboard.catalog.contacts": "",
24
- "dashboard.catalog.thesaurus": "",
25
23
  "dashboard.createRecord": "",
26
24
  "dashboard.importRecord": "",
27
25
  "dashboard.importRecord.importExternal": "",
@@ -34,7 +32,6 @@
34
32
  "dashboard.records.myDraft": "Moje koncepty",
35
33
  "dashboard.records.myRecords": "Moje záznamy",
36
34
  "dashboard.records.search": "Hľadať \"{searchText}\"",
37
- "dashboard.records.templates": "",
38
35
  "dashboard.records.userDetail": "Meno",
39
36
  "dashboard.records.userEmail": "Email",
40
37
  "dashboard.records.username": "Užívateľské meno",
@@ -547,6 +544,8 @@
547
544
  "search.error.recordNotFound": "Záznam s identifikátorom \"{ id }\" sa nepodarilo nájsť.",
548
545
  "search.field.any.placeholder": "Hľadať datasety ...",
549
546
  "search.field.sortBy": "Zoradiť podľa:",
547
+ "search.filters.availableServices.download": "",
548
+ "search.filters.availableServices.view": "",
550
549
  "search.filters.changeDate": "",
551
550
  "search.filters.clear": "Obnoviť",
552
551
  "search.filters.contact": "Kontakty",