diff --git a/resources/i18n/en.json5 b/resources/i18n/en.json5 index e076d1a101..5ff51a4619 100644 --- a/resources/i18n/en.json5 +++ b/resources/i18n/en.json5 @@ -1627,6 +1627,13 @@ + "search.filters.entityType.JournalIssue": "Journal Issue", + + "search.filters.has_content_in_original_bundle.true": "Yes", + + "search.filters.has_content_in_original_bundle.false": "No", + + "search.filters.head": "Filters", "search.filters.reset": "Reset filters", @@ -2006,7 +2013,7 @@ "title": "DSpace", - "undiscoverable.search.results.head": "Admin Search", + "discoverableAndUndiscoverableItems.search.results.head": "Admin Search", "uploader.browse": "browse", diff --git a/src/app/+admin/admin-search-page/admin-search-page.component.html b/src/app/+admin/admin-search-page/admin-search-page.component.html index 15fa71e4d5..8049b059c5 100644 --- a/src/app/+admin/admin-search-page/admin-search-page.component.html +++ b/src/app/+admin/admin-search-page/admin-search-page.component.html @@ -1 +1 @@ - + diff --git a/src/app/app.module.ts b/src/app/app.module.ts index aaad66adf6..0735e44978 100755 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -8,7 +8,7 @@ import { RouterStateSerializer, StoreRouterConnectingModule } from '@ngrx/router import { MetaReducer, StoreModule, USER_PROVIDED_META_REDUCERS } from '@ngrx/store'; import { StoreDevtoolsModule } from '@ngrx/store-devtools'; import { DYNAMIC_MATCHER_PROVIDERS } from '@ng-dynamic-forms/core'; -import { TranslateModule } from '@ngx-translate/core'; +import { MissingTranslationHandler, TranslateModule } from '@ngx-translate/core'; import { ScrollToModule } from '@nicky-lenaers/ngx-scroll-to'; import { ENV_CONFIG, GLOBAL_CONFIG, GlobalConfig } from '../config'; @@ -39,6 +39,7 @@ import { NotificationComponent } from './shared/notifications/notification/notif import { NotificationsBoardComponent } from './shared/notifications/notifications-board/notifications-board.component'; import { SharedModule } from './shared/shared.module'; import { BreadcrumbsComponent } from './breadcrumbs/breadcrumbs.component'; +import { MissingTranslationHelper } from './shared/translate/missing-translation.helper'; export function getConfig() { return ENV_CONFIG; @@ -61,7 +62,6 @@ const IMPORTS = [ CoreModule.forRoot(), ScrollToModule.forRoot(), NgbModule, - TranslateModule.forRoot(), EffectsModule.forRoot(appEffects), StoreModule.forRoot(appReducers), StoreRouterConnectingModule.forRoot(), diff --git a/src/app/shared/search/search-filters/search-filter/search-facet-filter-options/search-facet-option/search-facet-option.component.html b/src/app/shared/search/search-filters/search-filter/search-facet-filter-options/search-facet-option/search-facet-option.component.html index 9441081661..cf4876e34f 100644 --- a/src/app/shared/search/search-filters/search-filter/search-facet-filter-options/search-facet-option/search-facet-option.component.html +++ b/src/app/shared/search/search-filters/search-filter/search-facet-filter-options/search-facet-option/search-facet-option.component.html @@ -2,7 +2,9 @@ [routerLink]="[searchLink]" [queryParams]="addQueryParams" queryParamsHandling="merge"> - {{filterValue.value}} + + {{ 'search.filters.' + filterConfig.name + '.' + filterValue.value | translate: {default: filterValue.value} }} + {{filterValue.count}} diff --git a/src/app/shared/search/search-filters/search-filter/search-facet-filter-options/search-facet-selected-option/search-facet-selected-option.component.html b/src/app/shared/search/search-filters/search-filter/search-facet-filter-options/search-facet-selected-option/search-facet-selected-option.component.html index 5198433207..a27a5d3d86 100644 --- a/src/app/shared/search/search-filters/search-filter/search-facet-filter-options/search-facet-selected-option/search-facet-selected-option.component.html +++ b/src/app/shared/search/search-filters/search-filter/search-facet-filter-options/search-facet-selected-option/search-facet-selected-option.component.html @@ -2,5 +2,7 @@ [routerLink]="[searchLink]" [queryParams]="removeQueryParams" queryParamsHandling="merge"> - {{selectedValue.label}} + + {{ 'search.filters.' + filterConfig.name + '.' + selectedValue.value | translate: {default: selectedValue.value} }} + diff --git a/src/app/shared/search/search-labels/search-label/search-label.component.html b/src/app/shared/search/search-labels/search-label/search-label.component.html index 391efcb763..dcb0a1fd88 100644 --- a/src/app/shared/search/search-labels/search-label/search-label.component.html +++ b/src/app/shared/search/search-labels/search-label/search-label.component.html @@ -1,6 +1,6 @@ - {{('search.filters.applied.' + key) | translate}}: {{normalizeFilterValue(value)}} + {{('search.filters.applied.' + key) | translate}}: {{'search.filters.' + key + '.' + value | translate: {default: normalizeFilterValue(value)} }} × - \ No newline at end of file + diff --git a/src/app/shared/shared.module.ts b/src/app/shared/shared.module.ts index c64fb51edc..f799984545 100644 --- a/src/app/shared/shared.module.ts +++ b/src/app/shared/shared.module.ts @@ -6,7 +6,7 @@ import { NouisliderModule } from 'ng2-nouislider'; import { NgbDatepickerModule, NgbModule, NgbTimepickerModule, NgbTypeaheadModule } from '@ng-bootstrap/ng-bootstrap'; -import { TranslateModule } from '@ngx-translate/core'; +import { MissingTranslationHandler, TranslateModule } from '@ngx-translate/core'; import { NgxPaginationModule } from 'ngx-pagination'; import { PublicationListElementComponent } from './object-list/item-list-element/item-types/publication/publication-list-element.component'; @@ -180,6 +180,7 @@ import { SortablejsModule } from 'ngx-sortablejs'; import { ItemAdminSearchResultListElementComponent } from './object-list/admin-search-result-list-element/item-search-result/item-admin-search-result-list-element.component'; import { CommunityAdminSearchResultListElementComponent } from './object-list/admin-search-result-list-element/community-search-result/community-admin-search-result-list-element.component'; import { CollectionAdminSearchResultListElementComponent } from './object-list/admin-search-result-list-element/collection-search-result/collection-admin-search-result-list-element.component'; +import { MissingTranslationHelper } from './translate/missing-translation.helper'; const MODULES = [ // Do NOT include UniversalModule, HttpModule, or JsonpModule here @@ -197,7 +198,6 @@ const MODULES = [ NgxPaginationModule, ReactiveFormsModule, RouterModule, - TranslateModule, NouisliderModule, MomentModule, TextMaskModule, @@ -206,7 +206,11 @@ const MODULES = [ ]; const ROOT_MODULES = [ - TooltipModule.forRoot() + TooltipModule.forRoot(), + TranslateModule.forRoot({ + missingTranslationHandler: { provide: MissingTranslationHandler, useClass: MissingTranslationHelper }, + useDefaultLang: true + }) ]; const PIPES = [ diff --git a/src/app/shared/translate/missing-translation.helper.ts b/src/app/shared/translate/missing-translation.helper.ts new file mode 100644 index 0000000000..3995d4e5aa --- /dev/null +++ b/src/app/shared/translate/missing-translation.helper.ts @@ -0,0 +1,11 @@ +import {MissingTranslationHandler, MissingTranslationHandlerParams} from '@ngx-translate/core'; + +export class MissingTranslationHelper implements MissingTranslationHandler { + handle(params: MissingTranslationHandlerParams) { + console.log('bla', params); + if (params.interpolateParams) { + return (params.interpolateParams as any).default || params.key; + } + return params.key; + } +}