diff --git a/apps/datahub/src/app/home/navigation-menu/navigation-menu.component.spec.ts b/apps/datahub/src/app/home/navigation-menu/navigation-menu.component.spec.ts index 20e073e7ff..fef9b933ad 100644 --- a/apps/datahub/src/app/home/navigation-menu/navigation-menu.component.spec.ts +++ b/apps/datahub/src/app/home/navigation-menu/navigation-menu.component.spec.ts @@ -78,7 +78,7 @@ describe('NavigationMenuComponent', () => { }) it('displays activeLabel for organisations', async () => { const activeLabel = (await readFirst(component.activeLink$)).label - expect(activeLabel).toEqual('datahub.header.organisations') + expect(activeLabel).toEqual('datahub.header.organizations') }) }) describe('navigate to a route with missing label', () => { diff --git a/apps/datahub/src/app/home/navigation-menu/navigation-menu.component.ts b/apps/datahub/src/app/home/navigation-menu/navigation-menu.component.ts index 862c2744cc..0768891642 100644 --- a/apps/datahub/src/app/home/navigation-menu/navigation-menu.component.ts +++ b/apps/datahub/src/app/home/navigation-menu/navigation-menu.component.ts @@ -13,7 +13,7 @@ import { getThemeConfig } from '@geonetwork-ui/util/app-config' marker('datahub.header.news') marker('datahub.header.datasets') -marker('datahub.header.organisations') +marker('datahub.header.organizations') @Component({ selector: 'datahub-navigation-menu', @@ -34,7 +34,7 @@ export class NavigationMenuComponent { }, { link: `${ROUTER_ROUTE_ORGANIZATIONS}`, - label: 'datahub.header.organisations', + label: 'datahub.header.organizations', }, ] diff --git a/apps/datahub/src/app/home/news-page/key-figures/key-figures.component.ts b/apps/datahub/src/app/home/news-page/key-figures/key-figures.component.ts index 81e288367b..04f2333fb2 100644 --- a/apps/datahub/src/app/home/news-page/key-figures/key-figures.component.ts +++ b/apps/datahub/src/app/home/news-page/key-figures/key-figures.component.ts @@ -8,7 +8,7 @@ import { marker } from '@biesbjerg/ngx-translate-extract-marker' import { of } from 'rxjs' marker('catalog.figures.datasets') -marker('catalog.figures.organisations') +marker('catalog.figures.organizations') @Component({ selector: 'datahub-key-figures', diff --git a/apps/datahub/src/app/organization/organization-details/organization-details.component.html b/apps/datahub/src/app/organization/organization-details/organization-details.component.html index d08616ad65..4147dd8a79 100644 --- a/apps/datahub/src/app/organization/organization-details/organization-details.component.html +++ b/apps/datahub/src/app/organization/organization-details/organization-details.component.html @@ -65,7 +65,7 @@ class="font-title text-[28px] font-medium text-title text-center sm:text-left" translate > - organization.lastPublishedDatasets + organization.details.lastPublishedDatasets

- organization.lastPublishedDatasets.searchAllButton + organization.details.lastPublishedDatasets.searchAllButton diff --git a/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.spec.ts b/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.spec.ts index 35255da4b7..088bb54a26 100644 --- a/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.spec.ts +++ b/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.spec.ts @@ -370,6 +370,151 @@ describe('Gn4PlatformService', () => { }) }) }) + describe('#searchKeywords', () => { + beforeEach(() => { + jest.spyOn(service, 'searchKeywords') + }) + it('calls api service with qeury', () => { + service.searchKeywords('road', ['theme']).subscribe() + expect(registriesApiService.searchKeywords).toHaveBeenCalledWith( + 'road', + 'fre', + 10, + 0, + null, + ['external.theme.httpinspireeceuropaeutheme-theme'], + null, + '*road*' + ) + }) + it('returns mapped thesaurus with translated values', async () => { + const keywords = await lastValueFrom( + service.searchKeywords('road', ['theme']) + ) + expect(keywords).toEqual([ + { + description: + 'Localisation des propriétés fondée sur les identifiants des adresses, habituellement le nom de la rue, le numéro de la maison et le code postal.', + key: 'http://inspire.ec.europa.eu/theme/ad', + label: 'Adresses', + thesaurus: { + id: 'external.theme.httpinspireeceuropaeutheme-theme', + name: 'GEMET - INSPIRE themes, version 1.0', + type: 'theme', + url: new URL( + 'http://localhost:8080/geonetwork/srv/api/registries/vocabularies/external.theme.httpinspireeceuropaeutheme-theme' + ), + }, + type: 'theme', + }, + { + description: + "Modèles numériques pour l'altitude des surfaces terrestres, glaciaires et océaniques. Comprend l'altitude terrestre, la bathymétrie et la ligne de rivage.", + key: 'http://inspire.ec.europa.eu/theme/el', + label: 'Altitude', + thesaurus: { + id: 'external.theme.httpinspireeceuropaeutheme-theme', + name: 'GEMET - INSPIRE themes, version 1.0', + type: 'theme', + url: new URL( + 'http://localhost:8080/geonetwork/srv/api/registries/vocabularies/external.theme.httpinspireeceuropaeutheme-theme' + ), + }, + type: 'theme', + }, + ]) + }) + describe('if translations are unavailable', () => { + it('uses default values', async () => { + service['langService']['iso3'] = 'ger' + const keywords = await lastValueFrom( + service.searchKeywords('road', ['theme']) + ) + expect(keywords).toEqual([ + { + description: 'localization of properties', + key: 'http://inspire.ec.europa.eu/theme/ad', + label: 'addresses', + thesaurus: { + id: 'external.theme.httpinspireeceuropaeutheme-theme', + name: 'GEMET - INSPIRE themes, version 1.0', + type: 'theme', + url: new URL( + 'http://localhost:8080/geonetwork/srv/api/registries/vocabularies/external.theme.httpinspireeceuropaeutheme-theme' + ), + }, + type: 'theme', + }, + { + description: 'digital terrain models', + key: 'http://inspire.ec.europa.eu/theme/el', + label: 'altitude', + thesaurus: { + id: 'external.theme.httpinspireeceuropaeutheme-theme', + name: 'GEMET - INSPIRE themes, version 1.0', + type: 'theme', + url: new URL( + 'http://localhost:8080/geonetwork/srv/api/registries/vocabularies/external.theme.httpinspireeceuropaeutheme-theme' + ), + }, + type: 'theme', + }, + ]) + }) + }) + describe('if keywordType is empty Array', () => { + it('calls api service with empty array and returns keywords from all thesauri', async () => { + service.searchKeywords('road', ['theme']).subscribe() + const keywords = await lastValueFrom( + service.searchKeywords('road', ['theme']) + ) + + expect(registriesApiService.searchKeywords).toHaveBeenCalledWith( + 'road', + 'fre', + 10, + 0, + null, + ['external.theme.httpinspireeceuropaeutheme-theme'], + null, + '*road*' + ) + + expect(keywords).toEqual([ + { + description: + 'Localisation des propriétés fondée sur les identifiants des adresses, habituellement le nom de la rue, le numéro de la maison et le code postal.', + key: 'http://inspire.ec.europa.eu/theme/ad', + label: 'Adresses', + thesaurus: { + id: 'external.theme.httpinspireeceuropaeutheme-theme', + name: 'GEMET - INSPIRE themes, version 1.0', + type: 'theme', + url: new URL( + 'http://localhost:8080/geonetwork/srv/api/registries/vocabularies/external.theme.httpinspireeceuropaeutheme-theme' + ), + }, + type: 'theme', + }, + { + description: + "Modèles numériques pour l'altitude des surfaces terrestres, glaciaires et océaniques. Comprend l'altitude terrestre, la bathymétrie et la ligne de rivage.", + key: 'http://inspire.ec.europa.eu/theme/el', + label: 'Altitude', + thesaurus: { + id: 'external.theme.httpinspireeceuropaeutheme-theme', + name: 'GEMET - INSPIRE themes, version 1.0', + type: 'theme', + url: new URL( + 'http://localhost:8080/geonetwork/srv/api/registries/vocabularies/external.theme.httpinspireeceuropaeutheme-theme' + ), + }, + type: 'theme', + }, + ]) + }) + }) + }) describe('#getKeywordsByUri', () => { it('calls api service ', async () => { service.getKeywordsByUri('http://inspire.ec.europa.eu/theme/') diff --git a/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts b/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts index 3f1519c17c..3583787a47 100644 --- a/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +++ b/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts @@ -5,7 +5,6 @@ import { MeApiService, RegistriesApiService, SiteApiService, - ThesaurusInfoApiModel, ToolsApiService, UserfeedbackApiService, UsersApiService, @@ -25,6 +24,7 @@ import { KeywordApiResponse, ThesaurusApiResponse, } from '@geonetwork-ui/api/metadata-converter' +import { KeywordType } from '@geonetwork-ui/common/domain/model/thesaurus' const minApiVersion = '4.2.2' @@ -146,25 +146,36 @@ export class Gn4PlatformService implements PlatformServiceInterface { ) .pipe( map((thesaurus) => { - // FIXME: find a better way to exclude place keywords - // thesaurus[0].filter((thes) => thes.dname !== 'place') return thesaurus[0] as ThesaurusApiResponse[] }), shareReplay(1) ) - searchKeywords(query: string): Observable { - const keywords$: Observable = - this.registriesApiService.searchKeywords( - query, - this.langService.iso3, - 10, - 0, - null, - null, - null, - `*${query}*` - ) as Observable + searchKeywords( + query: string, + keywordTypes: KeywordType[] + ): Observable { + const keywords$: Observable = this.allThesaurus$.pipe( + switchMap((thesaurus) => { + const selectedThesauri = [] + keywordTypes.map((keywordType) => { + selectedThesauri.push( + ...thesaurus.filter((thes) => thes.dname === keywordType) + ) + }) + + return this.registriesApiService.searchKeywords( + query, + this.langService.iso3, + 10, + 0, + null, + selectedThesauri.map((thes) => thes.key), + null, + `*${query}*` + ) as Observable + }) + ) return combineLatest([keywords$, this.allThesaurus$]).pipe( map(([keywords, thesaurus]) => { diff --git a/libs/common/domain/src/lib/platform.service.interface.ts b/libs/common/domain/src/lib/platform.service.interface.ts index 3a39f5a3b9..552ec7df1c 100644 --- a/libs/common/domain/src/lib/platform.service.interface.ts +++ b/libs/common/domain/src/lib/platform.service.interface.ts @@ -2,6 +2,7 @@ import type { Observable } from 'rxjs' import type { UserModel } from './model/user/user.model' import type { Organization } from './model/record/organization.model' import { Keyword, UserFeedback } from './model/record' +import { KeywordType } from './model/thesaurus' export abstract class PlatformServiceInterface { abstract getType(): string @@ -15,7 +16,10 @@ export abstract class PlatformServiceInterface { ): Observable abstract getOrganizations(): Observable abstract translateKey(key: string): Observable - abstract searchKeywords(query: string): Observable + abstract searchKeywords( + query: string, + keywordTypes: KeywordType[] + ): Observable abstract getKeywordsByUri(uri: string): Observable abstract getUserFeedbacks(recordUuid: string): Observable abstract postUserFeedbacks(recordUuid: UserFeedback): Observable diff --git a/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.ts b/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.ts index b83745abba..c912468415 100644 --- a/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.ts +++ b/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.ts @@ -35,13 +35,15 @@ export class FormFieldKeywordsComponent { } autoCompleteAction = (query: string) => { - return this.platformService.searchKeywords(query).pipe( - map((keywords) => - keywords.map((keyword) => { - return { title: keyword.label, value: keyword } - }) + return this.platformService + .searchKeywords(query, ['temporal', 'theme', 'other']) + .pipe( + map((keywords) => + keywords.map((keyword) => { + return { title: keyword.label, value: keyword } + }) + ) ) - ) } constructor(private platformService: PlatformServiceInterface) {} diff --git a/translations/de.json b/translations/de.json index 9f00498867..2db3fe2365 100644 --- a/translations/de.json +++ b/translations/de.json @@ -126,7 +126,7 @@ "datahub.header.lastRecords": "Die neuesten", "datahub.header.myfavorites": "Meine Favoriten", "datahub.header.news": "Startseite", - "datahub.header.organisations": "Organisationen", + "datahub.header.organizations": "Organisationen", "datahub.header.popularRecords": "Die beliebtesten", "datahub.header.title.html": "
Entdecken Sie offene
Daten meiner Organisation
", "datahub.news.contact.contactus": "Kontaktieren Sie uns", @@ -162,6 +162,7 @@ "downloads.format.unknown": "unbekannt", "downloads.wfs.featuretype.not.found": "Der Layer wurde nicht gefunden", "dropFile": "Datei ablegen", + "editor.record.form.keywords": "Schlagwörter", "editor.record.form.license": "Lizenz", "editor.record.form.license.cc-by": "", "editor.record.form.license.cc-by-sa": "", @@ -261,12 +262,10 @@ "organisations.sortBy.nameDesc": "Name Z → A", "organisations.sortBy.recordCountAsc": "Veröffentlichungen 0 → 9", "organisations.sortBy.recordCountDesc": "Veröffentlichungen 9 → 0", - "organization.header.recordCount": "{count, plural, =0{} one{} other{}}", - "organization.details.publishedDataset": "{count, plural, =0{} one{} other{}}", + "organization.details.lastPublishedDatasets": "", + "organization.details.lastPublishedDatasets.searchAllButton": "", "organization.details.mailContact": "", - "organization.datasets": "", - "organization.lastPublishedDatasets": "", - "organization.lastPublishedDatasets.searchAllButton": "", + "organization.header.recordCount": "{count, plural, =0{} one{} other{}}", "pagination.nextPage": "Nächste Seite", "pagination.page": "Seite", "pagination.pageOf": "von", @@ -364,11 +363,11 @@ "results.sortBy.relevancy": "Relevanz", "search.autocomplete.error": "Vorschläge konnten nicht abgerufen werden:", "search.error.couldNotReachApi": "Die API konnte nicht erreicht werden", + "search.error.organizationHasNoDataset": "", + "search.error.organizationNotFound": "", "search.error.receivedError": "Ein Fehler ist aufgetreten", "search.error.recordHasnolink": "", "search.error.recordNotFound": "Der Datensatz mit der Kennung \"{ id }\" konnte nicht gefunden werden.", - "search.error.organizationNotFound": "", - "search.error.organizationHasNoDataset": "", "search.field.any.placeholder": "Suche Datensätze ...", "search.field.sortBy": "Sortieren nach:", "search.filters.clear": "Zurücksetzen", diff --git a/translations/en.json b/translations/en.json index fa459a2b12..041390c69f 100644 --- a/translations/en.json +++ b/translations/en.json @@ -2,7 +2,7 @@ "Add Layer As": "", "button.login": "Log in", "catalog.figures.datasets": "{count, plural, =0{datasets} one{dataset} other{datasets}}", - "catalog.figures.organizations": "{count, plural, =0{organisations} one{organisation} other{organisations}}", + "catalog.figures.organizations": "{count, plural, =0{organizations} one{organization} other{organizations}}", "chart.aggregation.average": "average", "chart.aggregation.count": "count", "chart.aggregation.max": "max", @@ -129,7 +129,7 @@ "datahub.header.lastRecords": "The latest", "datahub.header.myfavorites": "My favorites", "datahub.header.news": "Home", - "datahub.header.organisations": "Organisations", + "datahub.header.organizations": "Organizations", "datahub.header.popularRecords": "The most popular", "datahub.header.title.html": "
Discover open
data from my Organization
", "datahub.news.contact.contactus": "Contact us", @@ -165,6 +165,7 @@ "downloads.format.unknown": "unknown", "downloads.wfs.featuretype.not.found": "The layer was not found", "dropFile": "drop file", + "editor.record.form.keywords": "Keywords", "editor.record.form.license": "License", "editor.record.form.license.cc-by": "Creative Commons CC-BY", "editor.record.form.license.cc-by-sa": "Creative Commons CC-BY-SA", @@ -264,12 +265,10 @@ "organisations.sortBy.nameDesc": "Name Z → A", "organisations.sortBy.recordCountAsc": "Publications 0 → 9", "organisations.sortBy.recordCountDesc": "Publications 9 → 0", - "organization.header.recordCount": "{count, plural, =0{data} one{data} other{datas}}", - "organization.details.publishedDataset": "{count, plural, =0{published dataset} one{published dataset} other{published datasets}}", + "organization.details.lastPublishedDatasets": "Last published datasets", + "organization.details.lastPublishedDatasets.searchAllButton": "Search all", "organization.details.mailContact": "Contact by email", - "organization.datasets": "Datasets", - "organization.lastPublishedDatasets": "Last published datasets", - "organization.lastPublishedDatasets.searchAllButton": "Search all", + "organization.header.recordCount": "{count, plural, =0{data} one{data} other{datas}}", "pagination.nextPage": "Next page", "pagination.page": "page", "pagination.pageOf": "of", @@ -367,11 +366,11 @@ "results.sortBy.relevancy": "Relevancy", "search.autocomplete.error": "Suggestions could not be fetched:", "search.error.couldNotReachApi": "The API could not be reached", + "search.error.organizationHasNoDataset": "This organization has no dataset yet.", + "search.error.organizationNotFound": "This organization could not be found.", "search.error.receivedError": "An error was received", "search.error.recordHasnolink": "This record currently has no link yet, please come back later.", "search.error.recordNotFound": "The record with identifier \"{ id }\" could not be found.", - "search.error.organizationNotFound": "This organization could not be found.", - "search.error.organizationHasNoDataset": "This organization has no dataset yet.", "search.field.any.placeholder": "Search datasets ...", "search.field.sortBy": "Sort by:", "search.filters.clear": "Reset", diff --git a/translations/es.json b/translations/es.json index be5684fbba..c4b7d6ef74 100644 --- a/translations/es.json +++ b/translations/es.json @@ -126,7 +126,7 @@ "datahub.header.lastRecords": "", "datahub.header.myfavorites": "", "datahub.header.news": "", - "datahub.header.organisations": "", + "datahub.header.organizations": "", "datahub.header.popularRecords": "", "datahub.header.title.html": "", "datahub.news.contact.contactus": "", @@ -162,6 +162,7 @@ "downloads.format.unknown": "", "downloads.wfs.featuretype.not.found": "", "dropFile": "", + "editor.record.form.keywords": "", "editor.record.form.license": "", "editor.record.form.license.cc-by": "", "editor.record.form.license.cc-by-sa": "", @@ -261,12 +262,10 @@ "organisations.sortBy.nameDesc": "", "organisations.sortBy.recordCountAsc": "", "organisations.sortBy.recordCountDesc": "", - "organization.header.recordCount": "{count, plural, =0{} one{} other{}}", - "organization.details.publishedDataset": "{count, plural, =0{} one{} other{{}}", + "organization.details.lastPublishedDatasets": "", + "organization.details.lastPublishedDatasets.searchAllButton": "", "organization.details.mailContact": "", - "organization.datasets": "", - "organization.lastPublishedDatasets": "", - "organization.lastPublishedDatasets.searchAllButton": "", + "organization.header.recordCount": "{count, plural, =0{} one{} other{}}", "pagination.nextPage": "", "pagination.page": "", "pagination.pageOf": "", @@ -364,11 +363,11 @@ "results.sortBy.relevancy": "", "search.autocomplete.error": "", "search.error.couldNotReachApi": "", + "search.error.organizationHasNoDataset": "", + "search.error.organizationNotFound": "", "search.error.receivedError": "", "search.error.recordHasnolink": "", "search.error.recordNotFound": "", - "search.error.organizationNotFound": "", - "search.error.organizationHasNoDataset": "", "search.field.any.placeholder": "", "search.field.sortBy": "", "search.filters.clear": "", diff --git a/translations/fr.json b/translations/fr.json index 5833f50ff3..9e15942f5c 100644 --- a/translations/fr.json +++ b/translations/fr.json @@ -129,7 +129,7 @@ "datahub.header.lastRecords": "Les plus récentes", "datahub.header.myfavorites": "Mes favoris", "datahub.header.news": "Accueil", - "datahub.header.organisations": "Organisations", + "datahub.header.organizations": "Organisations", "datahub.header.popularRecords": "Les plus appréciées", "datahub.header.title.html": "
Toutes les données
publiques de mon organisation
", "datahub.news.contact.contactus": "Contactez-nous", @@ -165,6 +165,7 @@ "downloads.format.unknown": "inconnu", "downloads.wfs.featuretype.not.found": "La couche n'a pas été retrouvée", "dropFile": "Faites glisser votre fichier", + "editor.record.form.keywords": "Mots-clés", "editor.record.form.license": "Licence", "editor.record.form.license.cc-by": "", "editor.record.form.license.cc-by-sa": "", @@ -264,12 +265,10 @@ "organisations.sortBy.nameDesc": "Nom Z → A", "organisations.sortBy.recordCountAsc": "Données 0 → 9", "organisations.sortBy.recordCountDesc": "Données 9 → 0", - "organization.header.recordCount": "{count, plural, =0{donnée} one{donnée} other{données}}", - "organization.details.publishedDataset": "{count, plural, =0{donnée publiée} one{donnée publiée} other{données publiées}}", + "organization.details.lastPublishedDatasets": "Dernières données publiées", + "organization.details.lastPublishedDatasets.searchAllButton": "Rechercher tous", "organization.details.mailContact": "Contacter par mail", - "organization.datasets": "Données", - "organization.lastPublishedDatasets": "Dernières données publiées", - "organization.lastPublishedDatasets.searchAllButton": "Rechercher tous", + "organization.header.recordCount": "{count, plural, =0{donnée} one{donnée} other{données}}", "pagination.nextPage": "Page suivante", "pagination.page": "page", "pagination.pageOf": "sur", @@ -367,11 +366,11 @@ "results.sortBy.relevancy": "Pertinence", "search.autocomplete.error": "Les suggestions ne peuvent pas être récupérées", "search.error.couldNotReachApi": "Problème de connexion à l'API", + "search.error.organizationHasNoDataset": "Cette organisation n'a pas encore de données.", + "search.error.organizationNotFound": "L'organisation n'a pas pu être trouvée.", "search.error.receivedError": "Erreur retournée", "search.error.recordHasnolink": "Ce dataset n'a pas encore de lien, réessayez plus tard s'il vous plaît.", "search.error.recordNotFound": "Cette donnée n'a pu être trouvée.", - "search.error.organizationNotFound": "L'organisation n'a pas pu être trouvée.", - "search.error.organizationHasNoDataset": "Cette organisation n'a pas encore de données.", "search.field.any.placeholder": "Rechercher une donnée...", "search.field.sortBy": "Trier par :", "search.filters.clear": "Réinitialiser", diff --git a/translations/it.json b/translations/it.json index 3196768320..02621f0449 100644 --- a/translations/it.json +++ b/translations/it.json @@ -126,7 +126,7 @@ "datahub.header.lastRecords": "Ultimi", "datahub.header.myfavorites": "Miei preferiti", "datahub.header.news": "Home", - "datahub.header.organisations": "Organizzazioni", + "datahub.header.organizations": "Organizzazioni", "datahub.header.popularRecords": "Più popolari", "datahub.header.title.html": "
Tutti i dati
pubblici della mia organizzazione
", "datahub.news.contact.contactus": "Contattateci", @@ -162,6 +162,7 @@ "downloads.format.unknown": "sconosciuto", "downloads.wfs.featuretype.not.found": "Il layer non è stato trovato", "dropFile": "Trascina il suo file", + "editor.record.form.keywords": "", "editor.record.form.license": "Licenza", "editor.record.form.license.cc-by": "", "editor.record.form.license.cc-by-sa": "", @@ -261,12 +262,10 @@ "organisations.sortBy.nameDesc": "Nome Z → A", "organisations.sortBy.recordCountAsc": "Dati 0 → 9", "organisations.sortBy.recordCountDesc": "Dati 9 → 0", - "organization.header.recordCount": "{count, plural, =0{} one{} other{}}", - "organization.details.publishedDataset": "{count, plural, =0{} one{} other{{}}", + "organization.details.lastPublishedDatasets": "", + "organization.details.lastPublishedDatasets.searchAllButton": "", "organization.details.mailContact": "", - "organization.datasets": "", - "organization.lastPublishedDatasets": "", - "organization.lastPublishedDatasets.searchAllButton": "", + "organization.header.recordCount": "{count, plural, =0{} one{} other{}}", "pagination.nextPage": "Pagina successiva", "pagination.page": "pagina", "pagination.pageOf": "di", @@ -364,11 +363,11 @@ "results.sortBy.relevancy": "Rilevanza", "search.autocomplete.error": "Impossibile recuperare le suggerimenti", "search.error.couldNotReachApi": "Problema di connessione all'API", + "search.error.organizationHasNoDataset": "", + "search.error.organizationNotFound": "", "search.error.receivedError": "Errore ricevuto", "search.error.recordHasnolink": "", "search.error.recordNotFound": "Impossibile trovare questo dato", - "search.error.organizationNotFound": "", - "search.error.organizationHasNoDataset": "", "search.field.any.placeholder": "Cerca un dato...", "search.field.sortBy": "Ordina per:", "search.filters.clear": "Ripristina", diff --git a/translations/nl.json b/translations/nl.json index 09350e19ed..6e489176c7 100644 --- a/translations/nl.json +++ b/translations/nl.json @@ -126,7 +126,7 @@ "datahub.header.lastRecords": "", "datahub.header.myfavorites": "", "datahub.header.news": "", - "datahub.header.organisations": "", + "datahub.header.organizations": "", "datahub.header.popularRecords": "", "datahub.header.title.html": "", "datahub.news.contact.contactus": "", @@ -162,6 +162,7 @@ "downloads.format.unknown": "", "downloads.wfs.featuretype.not.found": "", "dropFile": "", + "editor.record.form.keywords": "", "editor.record.form.license": "", "editor.record.form.license.cc-by": "", "editor.record.form.license.cc-by-sa": "", @@ -261,12 +262,10 @@ "organisations.sortBy.nameDesc": "", "organisations.sortBy.recordCountAsc": "", "organisations.sortBy.recordCountDesc": "", - "organization.header.recordCount": "{count, plural, =0{} one{} other{}}", - "organization.details.publishedDataset": "{count, plural, =0{} one{} other{{}}", + "organization.details.lastPublishedDatasets": "", + "organization.details.lastPublishedDatasets.searchAllButton": "", "organization.details.mailContact": "", - "organization.datasets": "", - "organization.lastPublishedDatasets": "", - "organization.lastPublishedDatasets.searchAllButton": "", + "organization.header.recordCount": "{count, plural, =0{} one{} other{}}", "pagination.nextPage": "", "pagination.page": "", "pagination.pageOf": "", @@ -364,11 +363,11 @@ "results.sortBy.relevancy": "", "search.autocomplete.error": "", "search.error.couldNotReachApi": "", + "search.error.organizationHasNoDataset": "", + "search.error.organizationNotFound": "", "search.error.receivedError": "", "search.error.recordHasnolink": "", "search.error.recordNotFound": "", - "search.error.organizationNotFound": "", - "search.error.organizationHasNoDataset": "", "search.field.any.placeholder": "", "search.field.sortBy": "", "search.filters.clear": "", diff --git a/translations/pt.json b/translations/pt.json index 2ab8c44d44..92ab9940c4 100644 --- a/translations/pt.json +++ b/translations/pt.json @@ -126,7 +126,7 @@ "datahub.header.lastRecords": "", "datahub.header.myfavorites": "", "datahub.header.news": "", - "datahub.header.organisations": "", + "datahub.header.organizations": "", "datahub.header.popularRecords": "", "datahub.header.title.html": "", "datahub.news.contact.contactus": "", @@ -162,6 +162,7 @@ "downloads.format.unknown": "", "downloads.wfs.featuretype.not.found": "", "dropFile": "", + "editor.record.form.keywords": "", "editor.record.form.license": "", "editor.record.form.license.cc-by": "", "editor.record.form.license.cc-by-sa": "", @@ -261,12 +262,10 @@ "organisations.sortBy.nameDesc": "", "organisations.sortBy.recordCountAsc": "", "organisations.sortBy.recordCountDesc": "", - "organization.header.recordCount": "{count, plural, =0{} one{} other{}}", - "organization.details.publishedDataset": "{count, plural, =0{} one{} other{{}}", + "organization.details.lastPublishedDatasets": "", + "organization.details.lastPublishedDatasets.searchAllButton": "", "organization.details.mailContact": "", - "organization.datasets": "", - "organization.lastPublishedDatasets": "", - "organization.lastPublishedDatasets.searchAllButton": "", + "organization.header.recordCount": "{count, plural, =0{} one{} other{}}", "pagination.nextPage": "", "pagination.page": "", "pagination.pageOf": "", @@ -364,11 +363,11 @@ "results.sortBy.relevancy": "", "search.autocomplete.error": "", "search.error.couldNotReachApi": "", + "search.error.organizationHasNoDataset": "", + "search.error.organizationNotFound": "", "search.error.receivedError": "", "search.error.recordHasnolink": "", "search.error.recordNotFound": "", - "search.error.organizationNotFound": "", - "search.error.organizationHasNoDataset": "", "search.field.any.placeholder": "", "search.field.sortBy": "", "search.filters.clear": "", diff --git a/translations/sk.json b/translations/sk.json index 66fadd0b6e..41fb225ad6 100644 --- a/translations/sk.json +++ b/translations/sk.json @@ -126,7 +126,7 @@ "datahub.header.lastRecords": "Najnovšie", "datahub.header.myfavorites": "Moje obľúbené", "datahub.header.news": "Domov", - "datahub.header.organisations": "Organizácie", + "datahub.header.organizations": "Organizácie", "datahub.header.popularRecords": "Najpopulárnejšie", "datahub.header.title.html": "
Objavte otvorené
dáta z mojej organizácie
", "datahub.news.contact.contactus": "Kontaktujte nás", @@ -162,6 +162,7 @@ "downloads.format.unknown": "neznámy", "downloads.wfs.featuretype.not.found": "Vrstva nebola nájdená", "dropFile": "nahrať súbor", + "editor.record.form.keywords": "", "editor.record.form.license": "Licencia", "editor.record.form.license.cc-by": "", "editor.record.form.license.cc-by-sa": "", @@ -261,12 +262,10 @@ "organisations.sortBy.nameDesc": "Názov Z → A", "organisations.sortBy.recordCountAsc": "Publikácie 0 → 9", "organisations.sortBy.recordCountDesc": "Publikácie 9 → 0", - "organization.header.recordCount": "{count, plural, =0{} one{} other{}}", - "organization.details.publishedDataset": "{count, plural, =0{} one{} other{{}}", + "organization.details.lastPublishedDatasets": "", + "organization.details.lastPublishedDatasets.searchAllButton": "", "organization.details.mailContact": "", - "organization.datasets": "", - "organization.lastPublishedDatasets": "", - "organization.lastPublishedDatasets.searchAllButton": "", + "organization.header.recordCount": "{count, plural, =0{} one{} other{}}", "pagination.nextPage": "Ďalšia stránka", "pagination.page": "strana", "pagination.pageOf": "z", @@ -364,11 +363,11 @@ "results.sortBy.relevancy": "Relevancia", "search.autocomplete.error": "Návrhy sa nepodarilo načítať:", "search.error.couldNotReachApi": "K rozhraniu API sa nepodarilo pripojiť", + "search.error.organizationHasNoDataset": "", + "search.error.organizationNotFound": "", "search.error.receivedError": "Bola zaznamenaná chyba", "search.error.recordHasnolink": "", "search.error.recordNotFound": "Záznam s identifikátorom \"{ id }\" sa nepodarilo nájsť.", - "search.error.organizationNotFound": "", - "search.error.organizationHasNoDataset": "", "search.field.any.placeholder": "Hľadať datasety ...", "search.field.sortBy": "Zoradiť podľa:", "search.filters.clear": "Obnoviť",