From e32c86f1279f6279ef17e1a88529729c35604426 Mon Sep 17 00:00:00 2001 From: Alessandro Martelli Date: Fri, 18 Dec 2020 12:19:09 +0100 Subject: [PATCH 001/106] [CSTPER-3620] Workflow Actions refresh entire MyDSpace page instead of just WorkflowItem Task Service implementation. ReloadableAction abstraction. --- .../+my-dspace-page/my-dspace-page.module.ts | 6 + .../tasks/claimed-task-data.service.spec.ts | 43 ++++ .../core/tasks/claimed-task-data.service.ts | 38 ++- .../core/tasks/pool-task-data.service.spec.ts | 39 +++- src/app/core/tasks/pool-task-data.service.ts | 37 ++- src/app/core/tasks/tasks.service.spec.ts | 40 +++- src/app/core/tasks/tasks.service.ts | 49 +++- ...claimed-task-actions-abstract.component.ts | 82 ++++--- ...med-task-actions-approve.component.spec.ts | 56 ++++- .../claimed-task-actions-approve.component.ts | 39 +++- .../claimed-task-actions.component.html | 4 +- ...-task-actions-edit-metadata.component.html | 2 +- ...sk-actions-edit-metadata.component.spec.ts | 28 ++- ...ed-task-actions-edit-metadata.component.ts | 17 +- ...imed-task-actions-reject.component.spec.ts | 65 +++++- .../claimed-task-actions-reject.component.ts | 61 +++-- ...k-actions-return-to-pool.component.spec.ts | 55 ++++- ...d-task-actions-return-to-pool.component.ts | 40 ++-- .../claimed-task-actions-loader.component.ts | 5 +- .../mydspace-actions/mydspace-actions.ts | 22 +- .../mydspace-reloadable-actions.ts | 137 +++++++++++ .../pool-task-actions.component.html | 6 +- .../pool-task-actions.component.spec.ts | 216 ++++++++++++++---- .../pool-task/pool-task-actions.component.ts | 65 ++++-- ...aimed-approved-task-search-result.model.ts | 8 + ...aimed-declined-task-search-result.model.ts | 8 + ...ble-object-component-loader.component.scss | 3 + ...-object-component-loader.component.spec.ts | 19 +- ...table-object-component-loader.component.ts | 41 +++- .../my-dspace-item-status-type.ts | 4 +- .../abstract-listable-element.component.ts | 9 +- ...earch-result-detail-element.component.html | 2 +- ...ch-result-detail-element.component.spec.ts | 15 +- ...earch-result-detail-element.component.html | 2 +- ...ch-result-detail-element.component.spec.ts | 14 +- ...ed-search-result-list-element.component.ts | 51 +++++ ...-search-result-list-element.component.html | 10 + ...arch-result-list-element.component.spec.ts | 101 ++++++++ ...ed-search-result-list-element.component.ts | 36 +++ ...arch-result-list-element.component.spec.ts | 101 ++++++++ ...-search-result-list-element.component.html | 10 + ...ed-search-result-list-element.component.ts | 37 +++ ...-search-result-list-element.component.html | 3 +- ...arch-result-list-element.component.spec.ts | 17 +- ...ed-search-result-list-element.component.ts | 42 +--- ...ult-list-element-submission.component.html | 2 +- ...-list-element-submission.component.spec.ts | 17 +- ...-search-result-list-element.component.html | 3 +- ...arch-result-list-element.component.spec.ts | 18 +- ...ol-search-result-list-element.component.ts | 1 + ...-search-result-list-element.component.html | 2 +- ...arch-result-list-element.component.spec.ts | 17 +- ...-search-result-list-element.component.html | 2 +- ...arch-result-list-element.component.spec.ts | 20 +- .../search-result-list-element.component.ts | 3 +- src/environments/environment.common.ts | 6 +- 56 files changed, 1489 insertions(+), 287 deletions(-) create mode 100644 src/app/shared/mydspace-actions/mydspace-reloadable-actions.ts create mode 100644 src/app/shared/object-collection/shared/claimed-approved-task-search-result.model.ts create mode 100644 src/app/shared/object-collection/shared/claimed-declined-task-search-result.model.ts create mode 100644 src/app/shared/object-collection/shared/listable-object/listable-object-component-loader.component.scss create mode 100644 src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/abstract-claimed-search-result-list-element.component.ts create mode 100644 src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-approved-search-result/claimed-approved-search-result-list-element.component.html create mode 100644 src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-approved-search-result/claimed-approved-search-result-list-element.component.spec.ts create mode 100644 src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-approved-search-result/claimed-approved-search-result-list-element.component.ts create mode 100644 src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-declined-search-result/claimed-declided-search-result-list-element.component.spec.ts create mode 100644 src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-declined-search-result/claimed-declined-search-result-list-element.component.html create mode 100644 src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-declined-search-result/claimed-declined-search-result-list-element.component.ts diff --git a/src/app/+my-dspace-page/my-dspace-page.module.ts b/src/app/+my-dspace-page/my-dspace-page.module.ts index 49570fec6d..ea9b4dc821 100644 --- a/src/app/+my-dspace-page/my-dspace-page.module.ts +++ b/src/app/+my-dspace-page/my-dspace-page.module.ts @@ -21,6 +21,8 @@ import { ItemSearchResultListElementSubmissionComponent } from '../shared/object import { WorkflowItemSearchResultListElementComponent } from '../shared/object-list/my-dspace-result-list-element/workflow-item-search-result/workflow-item-search-result-list-element.component'; import { PoolSearchResultDetailElementComponent } from '../shared/object-detail/my-dspace-result-detail-element/pool-search-result/pool-search-result-detail-element.component'; import { CollectionSelectorComponent } from './collection-selector/collection-selector.component'; +import { ClaimedApprovedSearchResultListElementComponent } from '../shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-approved-search-result/claimed-approved-search-result-list-element.component'; +import { ClaimedDeclinedSearchResultListElementComponent } from '../shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-declined-search-result/claimed-declined-search-result-list-element.component'; @NgModule({ imports: [ @@ -34,6 +36,8 @@ import { CollectionSelectorComponent } from './collection-selector/collection-se WorkspaceItemSearchResultListElementComponent, WorkflowItemSearchResultListElementComponent, ClaimedSearchResultListElementComponent, + ClaimedApprovedSearchResultListElementComponent, + ClaimedDeclinedSearchResultListElementComponent, PoolSearchResultListElementComponent, ItemSearchResultDetailElementComponent, WorkspaceItemSearchResultDetailElementComponent, @@ -53,6 +57,8 @@ import { CollectionSelectorComponent } from './collection-selector/collection-se WorkspaceItemSearchResultListElementComponent, WorkflowItemSearchResultListElementComponent, ClaimedSearchResultListElementComponent, + ClaimedApprovedSearchResultListElementComponent, + ClaimedDeclinedSearchResultListElementComponent, PoolSearchResultListElementComponent, ItemSearchResultDetailElementComponent, WorkspaceItemSearchResultDetailElementComponent, diff --git a/src/app/core/tasks/claimed-task-data.service.spec.ts b/src/app/core/tasks/claimed-task-data.service.spec.ts index 98a0f5f51e..b9f38706e1 100644 --- a/src/app/core/tasks/claimed-task-data.service.spec.ts +++ b/src/app/core/tasks/claimed-task-data.service.spec.ts @@ -8,9 +8,16 @@ import { RemoteDataBuildService } from '../cache/builders/remote-data-build.serv import { NotificationsService } from '../../shared/notifications/notifications.service'; import { CoreState } from '../core.reducers'; import { ClaimedTaskDataService } from './claimed-task-data.service'; +import { of as observableOf } from 'rxjs/internal/observable/of'; +import { FindListOptions } from '../data/request.models'; +import { RequestParam } from '../cache/models/request-param.model'; +import { followLink } from '../../shared/utils/follow-link-config.model'; +import { getTestScheduler } from 'jasmine-marbles'; +import { TestScheduler } from 'rxjs/testing'; import { HttpOptions } from '../dspace-rest/dspace-rest.service'; describe('ClaimedTaskDataService', () => { + let scheduler: TestScheduler; let service: ClaimedTaskDataService; let options: HttpOptions; const taskEndpoint = 'https://rest.api/task'; @@ -45,6 +52,7 @@ describe('ClaimedTaskDataService', () => { } beforeEach(() => { + scheduler = getTestScheduler(); service = initTestService(); options = Object.create({}); let headers = new HttpHeaders(); @@ -68,6 +76,24 @@ describe('ClaimedTaskDataService', () => { }); }); + describe('claimTask', () => { + + it('should call postToEndpoint method', () => { + + spyOn(service, 'postToEndpoint').and.returnValue(observableOf(null)); + + scheduler.schedule(() => service.claimTask('scopeId', 'poolTaskHref').subscribe()); + scheduler.flush(); + + const postToEndpointOptions: HttpOptions = Object.create({}); + let headers = new HttpHeaders(); + headers = headers.append('Content-Type', 'text/uri-list'); + postToEndpointOptions.headers = headers; + + expect(service.postToEndpoint).toHaveBeenCalledWith(linkPath, 'poolTaskHref', null, postToEndpointOptions); + }); + }); + describe('returnToPoolTask', () => { it('should call deleteById method', () => { const scopeId = '1234'; @@ -79,4 +105,21 @@ describe('ClaimedTaskDataService', () => { expect(service.deleteById).toHaveBeenCalledWith(linkPath, scopeId, options); }); }); + + describe('findByItem', () => { + + it('should call searchTask method', () => { + spyOn(service, 'searchTask').and.returnValue(observableOf(null)); + + scheduler.schedule(() => service.findByItem('a0db0fde-1d12-4d43-bd0d-0f43df8d823c').subscribe()); + scheduler.flush(); + + const findListOptions = new FindListOptions(); + findListOptions.searchParams = [ + new RequestParam('uuid', 'a0db0fde-1d12-4d43-bd0d-0f43df8d823c') + ]; + + expect(service.searchTask).toHaveBeenCalledWith('findByItem', findListOptions, followLink('workflowitem')); + }); + }); }); diff --git a/src/app/core/tasks/claimed-task-data.service.ts b/src/app/core/tasks/claimed-task-data.service.ts index 5815dad6e5..99c2f51117 100644 --- a/src/app/core/tasks/claimed-task-data.service.ts +++ b/src/app/core/tasks/claimed-task-data.service.ts @@ -1,4 +1,4 @@ -import { HttpClient } from '@angular/common/http'; +import { HttpClient, HttpHeaders } from '@angular/common/http'; import { Injectable } from '@angular/core'; import { Store } from '@ngrx/store'; @@ -15,6 +15,11 @@ import { ClaimedTask } from './models/claimed-task-object.model'; import { CLAIMED_TASK } from './models/claimed-task-object.resource-type'; import { ProcessTaskResponse } from './models/process-task-response'; import { TasksService } from './tasks.service'; +import { RemoteData } from '../data/remote-data'; +import { followLink } from '../../shared/utils/follow-link-config.model'; +import { FindListOptions } from '../data/request.models'; +import { RequestParam } from '../cache/models/request-param.model'; +import { HttpOptions } from '../dspace-rest/dspace-rest.service'; /** * The service handling all REST requests for ClaimedTask @@ -54,6 +59,22 @@ export class ClaimedTaskDataService extends TasksService { super(); } + /** + * Make a request to claim the given task + * + * @param scopeId + * The task id + * @return {Observable} + * Emit the server response + */ + public claimTask(scopeId: string, poolTaskHref: string): Observable { + const options: HttpOptions = Object.create({}); + let headers = new HttpHeaders(); + headers = headers.append('Content-Type', 'text/uri-list'); + options.headers = headers; + return this.postToEndpoint(this.linkPath, poolTaskHref, null, options); + } + /** * Make a request for the given task * @@ -80,4 +101,19 @@ export class ClaimedTaskDataService extends TasksService { return this.deleteById(this.linkPath, scopeId, this.makeHttpOptions()); } + /** + * Search a claimed task by item uuid. + * @param uuid + * The item uuid + * @return {Observable>} + * The server response + */ + public findByItem(uuid: string): Observable> { + const options = new FindListOptions(); + options.searchParams = [ + new RequestParam('uuid', uuid) + ]; + return this.searchTask('findByItem', options, followLink('workflowitem')); + } + } diff --git a/src/app/core/tasks/pool-task-data.service.spec.ts b/src/app/core/tasks/pool-task-data.service.spec.ts index 75255d3e0a..98461864a9 100644 --- a/src/app/core/tasks/pool-task-data.service.spec.ts +++ b/src/app/core/tasks/pool-task-data.service.spec.ts @@ -8,9 +8,16 @@ import { RemoteDataBuildService } from '../cache/builders/remote-data-build.serv import { NotificationsService } from '../../shared/notifications/notifications.service'; import { CoreState } from '../core.reducers'; import { PoolTaskDataService } from './pool-task-data.service'; +import { getTestScheduler } from 'jasmine-marbles'; +import { TestScheduler } from 'rxjs/testing'; +import { of as observableOf } from 'rxjs/internal/observable/of'; +import { followLink } from '../../shared/utils/follow-link-config.model'; +import { FindListOptions } from '../data/request.models'; +import { RequestParam } from '../cache/models/request-param.model'; import { HttpOptions } from '../dspace-rest/dspace-rest.service'; describe('PoolTaskDataService', () => { + let scheduler: TestScheduler; let service: PoolTaskDataService; let options: HttpOptions; const taskEndpoint = 'https://rest.api/task'; @@ -45,6 +52,7 @@ describe('PoolTaskDataService', () => { } beforeEach(() => { + scheduler = getTestScheduler(); service = initTestService(); options = Object.create({}); let headers = new HttpHeaders(); @@ -52,14 +60,33 @@ describe('PoolTaskDataService', () => { options.headers = headers; }); - describe('claimTask', () => { + describe('findByItem', () => { - it('should call postToEndpoint method', () => { - spyOn(service, 'postToEndpoint'); - const scopeId = '1234'; - service.claimTask(scopeId); + it('should call searchTask method', () => { + spyOn(service, 'searchTask').and.returnValue(observableOf(null)); + + scheduler.schedule(() => service.findByItem('a0db0fde-1d12-4d43-bd0d-0f43df8d823c').subscribe()); + scheduler.flush(); + + const findListOptions = new FindListOptions(); + findListOptions.searchParams = [ + new RequestParam('uuid', 'a0db0fde-1d12-4d43-bd0d-0f43df8d823c') + ]; + + expect(service.searchTask).toHaveBeenCalledWith('findByItem', findListOptions, followLink('workflowitem')); + }); + }); + + describe('getPoolTaskEndpointById', () => { + + it('should call getEndpointById method', () => { + spyOn(service, 'getEndpointById').and.returnValue(observableOf(null)); + + scheduler.schedule(() => service.getPoolTaskEndpointById('a0db0fde-1d12-4d43-bd0d-0f43df8d823c').subscribe()); + scheduler.flush(); + + expect(service.getEndpointById).toHaveBeenCalledWith('a0db0fde-1d12-4d43-bd0d-0f43df8d823c'); - expect(service.postToEndpoint).toHaveBeenCalledWith(linkPath, {}, scopeId, options); }); }); }); diff --git a/src/app/core/tasks/pool-task-data.service.ts b/src/app/core/tasks/pool-task-data.service.ts index f08274b5f1..78348d428f 100644 --- a/src/app/core/tasks/pool-task-data.service.ts +++ b/src/app/core/tasks/pool-task-data.service.ts @@ -13,8 +13,11 @@ import { RequestService } from '../data/request.service'; import { HALEndpointService } from '../shared/hal-endpoint.service'; import { PoolTask } from './models/pool-task-object.model'; import { POOL_TASK } from './models/pool-task-object.resource-type'; -import { ProcessTaskResponse } from './models/process-task-response'; import { TasksService } from './tasks.service'; +import { RemoteData } from '../data/remote-data'; +import { followLink } from '../../shared/utils/follow-link-config.model'; +import { FindListOptions } from '../data/request.models'; +import { RequestParam } from '../cache/models/request-param.model'; /** * The service handling all REST requests for PoolTask @@ -56,14 +59,30 @@ export class PoolTaskDataService extends TasksService { } /** - * Make a request to claim the given task - * - * @param scopeId - * The task id - * @return {Observable} - * Emit the server response + * Search a pool task by item uuid. + * @param uuid + * The item uuid + * @return {Observable>} + * The server response */ - public claimTask(scopeId: string): Observable { - return this.postToEndpoint(this.linkPath, {}, scopeId, this.makeHttpOptions()); + public findByItem(uuid: string): Observable> { + const options = new FindListOptions(); + options.searchParams = [ + new RequestParam('uuid', uuid) + ]; + return this.searchTask('findByItem', options, followLink('workflowitem')); } + + /** + * Get the Href of the pool task + * + * @param poolTaskId + * the poolTask id + * @return {Observable>} + * the Href + */ + public getPoolTaskEndpointById(poolTaskId): Observable { + return this.getEndpointById(poolTaskId); + } + } diff --git a/src/app/core/tasks/tasks.service.spec.ts b/src/app/core/tasks/tasks.service.spec.ts index 3fdb7a1612..17e8cb5983 100644 --- a/src/app/core/tasks/tasks.service.spec.ts +++ b/src/app/core/tasks/tasks.service.spec.ts @@ -4,7 +4,7 @@ import { TestScheduler } from 'rxjs/testing'; import { getMockRequestService } from '../../shared/mocks/request.service.mock'; import { TasksService } from './tasks.service'; import { RequestService } from '../data/request.service'; -import { TaskDeleteRequest, TaskPostRequest } from '../data/request.models'; +import { FindListOptions, TaskDeleteRequest, TaskPostRequest } from '../data/request.models'; import { HALEndpointService } from '../shared/hal-endpoint.service'; import { HALEndpointServiceStub } from '../../shared/testing/hal-endpoint-service.stub'; import { TaskObject } from './models/task-object.model'; @@ -17,8 +17,8 @@ import { HttpClient, HttpHeaders } from '@angular/common/http'; import { DSOChangeAnalyzer } from '../data/dso-change-analyzer.service'; import { ChangeAnalyzer } from '../data/change-analyzer'; import { compare, Operation } from 'fast-json-patch'; +import { of as observableOf } from 'rxjs/internal/observable/of'; import { HttpOptions } from '../dspace-rest/dspace-rest.service'; -import { getMockRemoteDataBuildService } from '../../shared/mocks/remote-data-build.service.mock'; const LINK_NAME = 'test'; @@ -57,7 +57,7 @@ describe('TasksService', () => { const linkPath = 'testTask'; const requestService = getMockRequestService(); const halService: any = new HALEndpointServiceStub(taskEndpoint); - const rdbService = getMockRemoteDataBuildService(); + const rdbService = {} as RemoteDataBuildService; const notificationsService = {} as NotificationsService; const http = {} as HttpClient; const comparator = new DummyChangeAnalyzer() as any; @@ -117,4 +117,38 @@ describe('TasksService', () => { }); }); + describe('searchTask', () => { + + it('should call findByHref with the href generated by getSearchByHref', () => { + + spyOn(service, 'getSearchByHref').and.returnValue(observableOf('generatedHref')); + spyOn(service, 'findByHref').and.returnValue(null); + + const followLinks = {}; + const options = new FindListOptions(); + options.searchParams = []; + + scheduler.schedule(() => service.searchTask('method', options, followLinks as any).subscribe()); + scheduler.flush(); + + expect(service.getSearchByHref).toHaveBeenCalledWith('method', options, followLinks as any); + expect(service.findByHref).toHaveBeenCalledWith('generatedHref'); + }); + }); + + describe('getEndpointById', () => { + + it('should call halService.getEndpoint and then getEndpointByIDHref', () => { + + spyOn(halService, 'getEndpoint').and.returnValue(observableOf('generatedHref')); + spyOn(service, 'getEndpointByIDHref').and.returnValue(null); + + scheduler.schedule(() => service.getEndpointById('scopeId').subscribe()); + scheduler.flush(); + + expect(halService.getEndpoint).toHaveBeenCalledWith(service.getLinkPath()); + expect(service.getEndpointByIDHref).toHaveBeenCalledWith('generatedHref', 'scopeId'); + }); + }); + }); diff --git a/src/app/core/tasks/tasks.service.ts b/src/app/core/tasks/tasks.service.ts index ee29b366bf..8638bb30e6 100644 --- a/src/app/core/tasks/tasks.service.ts +++ b/src/app/core/tasks/tasks.service.ts @@ -1,21 +1,24 @@ import { HttpHeaders } from '@angular/common/http'; -import { Observable } from 'rxjs'; -import { distinctUntilChanged, filter, flatMap, map, tap } from 'rxjs/operators'; +import { merge as observableMerge, Observable, of as observableOf } from 'rxjs'; +import { distinctUntilChanged, filter, find, flatMap, map, mergeMap, switchMap, tap } from 'rxjs/operators'; import { DataService } from '../data/data.service'; import { DeleteRequest, + FindListOptions, PostRequest, TaskDeleteRequest, TaskPostRequest } from '../data/request.models'; -import { isNotEmpty } from '../../shared/empty.util'; -import { HttpOptions } from '../dspace-rest/dspace-rest.service'; +import { hasValue, isNotEmpty } from '../../shared/empty.util'; import { ProcessTaskResponse } from './models/process-task-response'; -import { getFirstCompletedRemoteData } from '../shared/operators'; +import {getFirstCompletedRemoteData, getResponseFromEntry} from '../shared/operators'; +import { ErrorResponse, MessageResponse, RestResponse } from '../cache/response.models'; import { CacheableObject } from '../cache/object-cache.reducer'; import { RemoteData } from '../data/remote-data'; +import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; +import {HttpOptions} from '../dspace-rest/dspace-rest.service'; /** * An abstract class that provides methods to handle task requests. @@ -51,7 +54,7 @@ export abstract class TasksService extends DataServic * @param resourceID * The identifier for the object */ - protected getEndpointByIDHref(endpoint, resourceID): string { + getEndpointByIDHref(endpoint, resourceID): string { return isNotEmpty(resourceID) ? `${endpoint}/${resourceID}` : `${endpoint}`; } @@ -95,10 +98,7 @@ export abstract class TasksService extends DataServic */ public deleteById(linkPath: string, scopeId: string, options?: HttpOptions): Observable { const requestId = this.requestService.generateRequestId(); - return this.halService.getEndpoint(linkPath || this.linkPath).pipe( - filter((href: string) => isNotEmpty(href)), - distinctUntilChanged(), - map((endpointURL: string) => this.getEndpointByIDHref(endpointURL, scopeId)), + return this.getEndpointById(scopeId, linkPath).pipe( map((endpointURL: string) => new TaskDeleteRequest(requestId, endpointURL, null, options)), tap((request: DeleteRequest) => this.requestService.configure(request)), flatMap((request: DeleteRequest) => this.fetchRequest(requestId)), @@ -115,4 +115,33 @@ export abstract class TasksService extends DataServic options.headers = headers; return options; } + + /** + * Get the endpoint of a task by scopeId. + * @param linkPath + * @param scopeId + */ + public getEndpointById(scopeId: string, linkPath?: string): Observable { + return this.halService.getEndpoint(linkPath || this.linkPath).pipe( + filter((href: string) => isNotEmpty(href)), + distinctUntilChanged(), + map((endpointURL: string) => this.getEndpointByIDHref(endpointURL, scopeId))); + } + + /** + * Search a task. + * @param searchMethod + * the search method + * @param options + * the find list options + * @param linksToFollow + * links to follow + */ + public searchTask(searchMethod: string, options: FindListOptions = {}, ...linksToFollow: Array>): Observable> { + const hrefObs = this.getSearchByHref(searchMethod, options, ...linksToFollow); + return hrefObs.pipe( + find((href: string) => hasValue(href)), + switchMap((href) => this.findByHref(href)) + ); + } } diff --git a/src/app/shared/mydspace-actions/claimed-task/abstract/claimed-task-actions-abstract.component.ts b/src/app/shared/mydspace-actions/claimed-task/abstract/claimed-task-actions-abstract.component.ts index dafc148147..9e75cf1f5e 100644 --- a/src/app/shared/mydspace-actions/claimed-task/abstract/claimed-task-actions-abstract.component.ts +++ b/src/app/shared/mydspace-actions/claimed-task/abstract/claimed-task-actions-abstract.component.ts @@ -1,8 +1,20 @@ -import { EventEmitter, Input, Output } from '@angular/core'; +import { Injector } from '@angular/core'; import { ClaimedTask } from '../../../../core/tasks/models/claimed-task-object.model'; -import { BehaviorSubject } from 'rxjs/internal/BehaviorSubject'; import { ClaimedTaskDataService } from '../../../../core/tasks/claimed-task-data.service'; -import { ProcessTaskResponse } from '../../../../core/tasks/models/process-task-response'; +import { DSpaceObject} from '../../../../core/shared/dspace-object.model'; +import { Router} from '@angular/router'; +import { NotificationsService} from '../../../notifications/notifications.service'; +import { TranslateService} from '@ngx-translate/core'; +import { SearchService} from '../../../../core/shared/search/search.service'; +import { RequestService} from '../../../../core/data/request.service'; +import { Observable} from 'rxjs'; +import { RemoteData} from '../../../../core/data/remote-data'; +import { WorkflowItem} from '../../../../core/submission/models/workflowitem.model'; +import { map, switchMap } from 'rxjs/operators'; +import { CLAIMED_TASK } from '../../../../core/tasks/models/claimed-task-object.resource-type'; +import { getFirstSucceededRemoteDataPayload } from '../../../../core/shared/operators'; +import { Item } from '../../../../core/shared/item.model'; +import { MyDSpaceReloadableActionsComponent } from '../../mydspace-reloadable-actions'; /** * Abstract component for rendering a claimed task's action @@ -11,28 +23,34 @@ import { ProcessTaskResponse } from '../../../../core/tasks/models/process-task- * - Add a @rendersWorkflowTaskOption annotation to your component providing the same enum value * - Optionally overwrite createBody if the request body requires more than just the option */ -export abstract class ClaimedTaskActionsAbstractComponent { +export abstract class ClaimedTaskActionsAbstractComponent extends MyDSpaceReloadableActionsComponent { + /** * The workflow task option the child component represents */ abstract option: string; - /** - * The Claimed Task to display an action for - */ - @Input() object: ClaimedTask; + object: ClaimedTask; /** - * Emits the success or failure of a processed action + * Anchor used to reload the pool task. */ - @Output() processCompleted: EventEmitter = new EventEmitter(); + itemUuid: string; + + protected constructor(protected injector: Injector, + protected router: Router, + protected notificationsService: NotificationsService, + protected translate: TranslateService, + protected searchService: SearchService, + protected requestService: RequestService) { + super(CLAIMED_TASK, injector, router, notificationsService, translate, searchService, requestService); + } /** - * A boolean representing if the operation is pending + * Submit the action on the claimed object. */ - processing$ = new BehaviorSubject(false); - - constructor(protected claimedTaskService: ClaimedTaskDataService) { + submitTask() { + this.startActionExecution().subscribe(); } /** @@ -45,17 +63,29 @@ export abstract class ClaimedTaskActionsAbstractComponent { }; } - /** - * Submit the task for this option - * While the task is submitting, processing$ is set to true and processCompleted emits the response's status when - * completed - */ - submitTask() { - this.processing$.next(true); - this.claimedTaskService.submitTask(this.object.id, this.createbody()) - .subscribe((res: ProcessTaskResponse) => { - this.processing$.next(false); - this.processCompleted.emit(res.hasSucceeded); - }); + reloadObjectExecution(): Observable | DSpaceObject> { + return this.objectDataService.findByItem(this.itemUuid as string); } + + actionExecution(): Observable { + return this.objectDataService.submitTask(this.object.id, this.createbody()) + } + + initObjects(object: ClaimedTask) { + this.object = object; + } + + /** + * Retrieve the itemUuid. + */ + initReloadAnchor() { + (this.object as any).workflowitem.pipe( + getFirstSucceededRemoteDataPayload(), + switchMap((workflowItem: WorkflowItem) => workflowItem.item.pipe(getFirstSucceededRemoteDataPayload()) + )) + .subscribe((item: Item) => { + this.itemUuid = item.uuid; + }) + } + } diff --git a/src/app/shared/mydspace-actions/claimed-task/approve/claimed-task-actions-approve.component.spec.ts b/src/app/shared/mydspace-actions/claimed-task/approve/claimed-task-actions-approve.component.spec.ts index 0b276625ba..afcc01c315 100644 --- a/src/app/shared/mydspace-actions/claimed-task/approve/claimed-task-actions-approve.component.spec.ts +++ b/src/app/shared/mydspace-actions/claimed-task/approve/claimed-task-actions-approve.component.spec.ts @@ -1,18 +1,33 @@ -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; +import { ChangeDetectionStrategy, Injector, NO_ERRORS_SCHEMA } from '@angular/core'; import { async, ComponentFixture, TestBed } from '@angular/core/testing'; import { By } from '@angular/platform-browser'; import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { of as observableOf } from 'rxjs'; +import { of, of as observableOf } from 'rxjs'; import { ClaimedTaskActionsApproveComponent } from './claimed-task-actions-approve.component'; import { TranslateLoaderMock } from '../../../mocks/translate-loader.mock'; import { ClaimedTaskDataService } from '../../../../core/tasks/claimed-task-data.service'; import { ClaimedTask } from '../../../../core/tasks/models/claimed-task-object.model'; import { ProcessTaskResponse } from '../../../../core/tasks/models/process-task-response'; +import { getMockSearchService } from '../../../mocks/search-service.mock'; +import { getMockRequestService } from '../../../mocks/request.service.mock'; +import { PoolTaskDataService } from '../../../../core/tasks/pool-task-data.service'; +import { NotificationsService } from '../../../notifications/notifications.service'; +import { NotificationsServiceStub } from '../../../testing/notifications-service.stub'; +import { Router } from '@angular/router'; +import { RouterStub } from '../../../testing/router.stub'; +import { SearchService } from '../../../../core/shared/search/search.service'; +import { RequestService } from '../../../../core/data/request.service'; let component: ClaimedTaskActionsApproveComponent; let fixture: ComponentFixture; +const searchService = getMockSearchService(); + +const requestService = getMockRequestService(); + +let mockPoolTaskDataService: PoolTaskDataService; + describe('ClaimedTaskActionsApproveComponent', () => { const object = Object.assign(new ClaimedTask(), { id: 'claimed-task-1' }); const claimedTaskService = jasmine.createSpyObj('claimedTaskService', { @@ -20,6 +35,7 @@ describe('ClaimedTaskActionsApproveComponent', () => { }); beforeEach(async(() => { + mockPoolTaskDataService = new PoolTaskDataService(null, null, null, null, null, null, null, null); TestBed.configureTestingModule({ imports: [ TranslateModule.forRoot({ @@ -30,7 +46,13 @@ describe('ClaimedTaskActionsApproveComponent', () => { }) ], providers: [ - { provide: ClaimedTaskDataService, useValue: claimedTaskService } + { provide: ClaimedTaskDataService, useValue: claimedTaskService }, + { provide: Injector, useValue: {} }, + { provide: NotificationsService, useValue: new NotificationsServiceStub() }, + { provide: Router, useValue: new RouterStub() }, + { provide: SearchService, useValue: searchService }, + { provide: RequestService, useValue: requestService }, + { provide: PoolTaskDataService, useValue: mockPoolTaskDataService }, ], declarations: [ClaimedTaskActionsApproveComponent], schemas: [NO_ERRORS_SCHEMA] @@ -43,6 +65,7 @@ describe('ClaimedTaskActionsApproveComponent', () => { fixture = TestBed.createComponent(ClaimedTaskActionsApproveComponent); component = fixture.componentInstance; component.object = object; + spyOn(component, 'initReloadAnchor').and.returnValue(undefined); fixture.detectChanges(); }); @@ -66,6 +89,7 @@ describe('ClaimedTaskActionsApproveComponent', () => { beforeEach(() => { spyOn(component.processCompleted, 'emit'); + spyOn(component, 'startActionExecution').and.returnValue(of(null)); expectedBody = { [component.option]: 'true' @@ -75,12 +99,30 @@ describe('ClaimedTaskActionsApproveComponent', () => { fixture.detectChanges(); }); - it('should call claimedTaskService\'s submitTask with the expected body', () => { - expect(claimedTaskService.submitTask).toHaveBeenCalledWith(object.id, expectedBody) + it('should start the action execution', () => { + expect(component.startActionExecution).toHaveBeenCalled(); }); - it('should emit a successful processCompleted event', () => { - expect(component.processCompleted.emit).toHaveBeenCalledWith(true); + describe('actionExecution', () => { + beforeEach(() => { + component.actionExecution().subscribe(); + fixture.detectChanges(); + }); + + it('should call claimedTaskService\'s submitTask', () => { + expect(claimedTaskService.submitTask).toHaveBeenCalledWith(object.id, expectedBody) + }); + + }); + }); + + describe('reloadObjectExecution', () => { + + it('should return the component object itself', (done) => { + component.reloadObjectExecution().subscribe((val) => { + expect(val).toEqual(component.object); + done(); + }); }); }); diff --git a/src/app/shared/mydspace-actions/claimed-task/approve/claimed-task-actions-approve.component.ts b/src/app/shared/mydspace-actions/claimed-task/approve/claimed-task-actions-approve.component.ts index 8f51ac393c..1f4111a14a 100644 --- a/src/app/shared/mydspace-actions/claimed-task/approve/claimed-task-actions-approve.component.ts +++ b/src/app/shared/mydspace-actions/claimed-task/approve/claimed-task-actions-approve.component.ts @@ -1,7 +1,16 @@ -import { Component } from '@angular/core'; +import { Component, Injector } from '@angular/core'; import { ClaimedTaskActionsAbstractComponent } from '../abstract/claimed-task-actions-abstract.component'; import { rendersWorkflowTaskOption } from '../switcher/claimed-task-actions-decorator'; -import { ClaimedTaskDataService } from '../../../../core/tasks/claimed-task-data.service'; +import { Observable } from 'rxjs'; +import { RemoteData } from '../../../../core/data/remote-data'; +import { DSpaceObject } from '../../../../core/shared/dspace-object.model'; +import { Router } from '@angular/router'; +import { NotificationsService } from '../../../notifications/notifications.service'; +import { TranslateService } from '@ngx-translate/core'; +import { SearchService } from '../../../../core/shared/search/search.service'; +import { RequestService } from '../../../../core/data/request.service'; +import { ClaimedApprovedTaskSearchResult } from '../../../object-collection/shared/claimed-approved-task-search-result.model'; +import { of } from 'rxjs/internal/observable/of'; export const WORKFLOW_TASK_OPTION_APPROVE = 'submit_approve'; @@ -20,7 +29,29 @@ export class ClaimedTaskActionsApproveComponent extends ClaimedTaskActionsAbstra */ option = WORKFLOW_TASK_OPTION_APPROVE; - constructor(protected claimedTaskService: ClaimedTaskDataService) { - super(claimedTaskService); + constructor(protected injector: Injector, + protected router: Router, + protected notificationsService: NotificationsService, + protected translate: TranslateService, + protected searchService: SearchService, + protected requestService: RequestService) { + super(injector, router, notificationsService, translate, searchService, requestService); } + + reloadObjectExecution(): Observable | DSpaceObject> { + return of(this.object); + } + + convertReloadedObject(dso: DSpaceObject): DSpaceObject { + const reloadedObject = Object.assign(new ClaimedApprovedTaskSearchResult(), dso, { + indexableObject: dso + }); + return reloadedObject; + } + + // mock + actionExecution(): Observable { + return of({ hasSucceeded: true}); + } + } diff --git a/src/app/shared/mydspace-actions/claimed-task/claimed-task-actions.component.html b/src/app/shared/mydspace-actions/claimed-task/claimed-task-actions.component.html index aa569bbfc8..6a39fd44ca 100644 --- a/src/app/shared/mydspace-actions/claimed-task/claimed-task-actions.component.html +++ b/src/app/shared/mydspace-actions/claimed-task/claimed-task-actions.component.html @@ -3,11 +3,11 @@ + (processCompleted)="this.processCompleted.emit($event)"> + (processCompleted)="this.processCompleted.emit($event)"> diff --git a/src/app/shared/mydspace-actions/claimed-task/edit-metadata/claimed-task-actions-edit-metadata.component.html b/src/app/shared/mydspace-actions/claimed-task/edit-metadata/claimed-task-actions-edit-metadata.component.html index 4a42378f7e..3f3670e17f 100644 --- a/src/app/shared/mydspace-actions/claimed-task/edit-metadata/claimed-task-actions-edit-metadata.component.html +++ b/src/app/shared/mydspace-actions/claimed-task/edit-metadata/claimed-task-actions-edit-metadata.component.html @@ -1,7 +1,7 @@ {{'submission.workflow.tasks.claimed.edit' | translate}} diff --git a/src/app/shared/mydspace-actions/claimed-task/edit-metadata/claimed-task-actions-edit-metadata.component.spec.ts b/src/app/shared/mydspace-actions/claimed-task/edit-metadata/claimed-task-actions-edit-metadata.component.spec.ts index 705563941e..acfe92501a 100644 --- a/src/app/shared/mydspace-actions/claimed-task/edit-metadata/claimed-task-actions-edit-metadata.component.spec.ts +++ b/src/app/shared/mydspace-actions/claimed-task/edit-metadata/claimed-task-actions-edit-metadata.component.spec.ts @@ -1,4 +1,4 @@ -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; +import { ChangeDetectionStrategy, Injector, NO_ERRORS_SCHEMA } from '@angular/core'; import { async, ComponentFixture, TestBed } from '@angular/core/testing'; import { By } from '@angular/platform-browser'; import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; @@ -7,13 +7,28 @@ import { ClaimedTaskActionsEditMetadataComponent } from './claimed-task-actions- import { ClaimedTask } from '../../../../core/tasks/models/claimed-task-object.model'; import { ClaimedTaskDataService } from '../../../../core/tasks/claimed-task-data.service'; import { TranslateLoaderMock } from '../../../testing/translate-loader.mock'; +import { getMockSearchService } from '../../../mocks/search-service.mock'; +import { getMockRequestService } from '../../../mocks/request.service.mock'; +import { PoolTaskDataService } from '../../../../core/tasks/pool-task-data.service'; +import { NotificationsService } from '../../../notifications/notifications.service'; +import { NotificationsServiceStub } from '../../../testing/notifications-service.stub'; +import { Router } from '@angular/router'; +import { RouterStub } from '../../../testing/router.stub'; +import { SearchService } from '../../../../core/shared/search/search.service'; +import { RequestService } from '../../../../core/data/request.service'; let component: ClaimedTaskActionsEditMetadataComponent; let fixture: ComponentFixture; +const searchService = getMockSearchService(); + +const requestService = getMockRequestService(); + +let mockPoolTaskDataService: PoolTaskDataService; + describe('ClaimedTaskActionsEditMetadataComponent', () => { const object = Object.assign(new ClaimedTask(), { id: 'claimed-task-1' }); - + mockPoolTaskDataService = new PoolTaskDataService(null, null, null, null, null, null, null, null); beforeEach(async(() => { TestBed.configureTestingModule({ imports: [ @@ -25,7 +40,13 @@ describe('ClaimedTaskActionsEditMetadataComponent', () => { }) ], providers: [ - { provide: ClaimedTaskDataService, useValue: {} } + { provide: ClaimedTaskDataService, useValue: {} }, + { provide: Injector, useValue: {} }, + { provide: NotificationsService, useValue: new NotificationsServiceStub() }, + { provide: Router, useValue: new RouterStub() }, + { provide: SearchService, useValue: searchService }, + { provide: RequestService, useValue: requestService }, + { provide: PoolTaskDataService, useValue: mockPoolTaskDataService }, ], declarations: [ClaimedTaskActionsEditMetadataComponent], schemas: [NO_ERRORS_SCHEMA] @@ -38,6 +59,7 @@ describe('ClaimedTaskActionsEditMetadataComponent', () => { fixture = TestBed.createComponent(ClaimedTaskActionsEditMetadataComponent); component = fixture.componentInstance; component.object = object; + spyOn(component, 'initReloadAnchor').and.returnValue(undefined); fixture.detectChanges(); }); diff --git a/src/app/shared/mydspace-actions/claimed-task/edit-metadata/claimed-task-actions-edit-metadata.component.ts b/src/app/shared/mydspace-actions/claimed-task/edit-metadata/claimed-task-actions-edit-metadata.component.ts index c0ce9cd4e5..7da189dddd 100644 --- a/src/app/shared/mydspace-actions/claimed-task/edit-metadata/claimed-task-actions-edit-metadata.component.ts +++ b/src/app/shared/mydspace-actions/claimed-task/edit-metadata/claimed-task-actions-edit-metadata.component.ts @@ -1,7 +1,11 @@ -import { Component } from '@angular/core'; +import { Component, Injector } from '@angular/core'; import { ClaimedTaskActionsAbstractComponent } from '../abstract/claimed-task-actions-abstract.component'; import { rendersWorkflowTaskOption } from '../switcher/claimed-task-actions-decorator'; -import { ClaimedTaskDataService } from '../../../../core/tasks/claimed-task-data.service'; +import { Router } from '@angular/router'; +import { NotificationsService } from '../../../notifications/notifications.service'; +import { TranslateService } from '@ngx-translate/core'; +import { SearchService } from '../../../../core/shared/search/search.service'; +import { RequestService } from '../../../../core/data/request.service'; export const WORKFLOW_TASK_OPTION_EDIT_METADATA = 'submit_edit_metadata'; @@ -20,7 +24,12 @@ export class ClaimedTaskActionsEditMetadataComponent extends ClaimedTaskActionsA */ option = WORKFLOW_TASK_OPTION_EDIT_METADATA; - constructor(protected claimedTaskService: ClaimedTaskDataService) { - super(claimedTaskService); + constructor(protected injector: Injector, + protected router: Router, + protected notificationsService: NotificationsService, + protected translate: TranslateService, + protected searchService: SearchService, + protected requestService: RequestService) { + super(injector, router, notificationsService, translate, searchService, requestService); } } diff --git a/src/app/shared/mydspace-actions/claimed-task/reject/claimed-task-actions-reject.component.spec.ts b/src/app/shared/mydspace-actions/claimed-task/reject/claimed-task-actions-reject.component.spec.ts index ca78bcc0cc..d090d12099 100644 --- a/src/app/shared/mydspace-actions/claimed-task/reject/claimed-task-actions-reject.component.spec.ts +++ b/src/app/shared/mydspace-actions/claimed-task/reject/claimed-task-actions-reject.component.spec.ts @@ -1,5 +1,5 @@ -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; -import { async, ComponentFixture, fakeAsync, TestBed } from '@angular/core/testing'; +import { ChangeDetectionStrategy, Injector, NO_ERRORS_SCHEMA } from '@angular/core'; +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; import { FormBuilder, FormGroup, ReactiveFormsModule } from '@angular/forms'; import { By } from '@angular/platform-browser'; @@ -12,12 +12,29 @@ import { ClaimedTask } from '../../../../core/tasks/models/claimed-task-object.m import { of as observableOf } from 'rxjs/internal/observable/of'; import { ProcessTaskResponse } from '../../../../core/tasks/models/process-task-response'; import { ClaimedTaskDataService } from '../../../../core/tasks/claimed-task-data.service'; +import { NotificationsService } from '../../../notifications/notifications.service'; +import { NotificationsServiceStub } from '../../../testing/notifications-service.stub'; +import { Router } from '@angular/router'; +import { RouterStub } from '../../../testing/router.stub'; +import { SearchService } from '../../../../core/shared/search/search.service'; +import { RequestService } from '../../../../core/data/request.service'; +import { PoolTaskDataService } from '../../../../core/tasks/pool-task-data.service'; +import { getMockSearchService } from '../../../mocks/search-service.mock'; +import { getMockRequestService } from '../../../mocks/request.service.mock'; +import { of } from 'rxjs'; +import { ClaimedDeclinedTaskSearchResult } from '../../../object-collection/shared/claimed-declined-task-search-result.model'; let component: ClaimedTaskActionsRejectComponent; let fixture: ComponentFixture; let formBuilder: FormBuilder; let modalService: NgbModal; +const searchService = getMockSearchService(); + +const requestService = getMockRequestService(); + +let mockPoolTaskDataService: PoolTaskDataService; + describe('ClaimedTaskActionsRejectComponent', () => { const object = Object.assign(new ClaimedTask(), { id: 'claimed-task-1' }); const claimedTaskService = jasmine.createSpyObj('claimedTaskService', { @@ -25,6 +42,7 @@ describe('ClaimedTaskActionsRejectComponent', () => { }); beforeEach(async(() => { + mockPoolTaskDataService = new PoolTaskDataService(null, null, null, null, null, null, null, null); TestBed.configureTestingModule({ imports: [ NgbModule, @@ -39,6 +57,12 @@ describe('ClaimedTaskActionsRejectComponent', () => { declarations: [ClaimedTaskActionsRejectComponent], providers: [ { provide: ClaimedTaskDataService, useValue: claimedTaskService }, + { provide: Injector, useValue: {} }, + { provide: NotificationsService, useValue: new NotificationsServiceStub() }, + { provide: Router, useValue: new RouterStub() }, + { provide: SearchService, useValue: searchService }, + { provide: RequestService, useValue: requestService }, + { provide: PoolTaskDataService, useValue: mockPoolTaskDataService }, FormBuilder, NgbModal ], @@ -55,6 +79,7 @@ describe('ClaimedTaskActionsRejectComponent', () => { modalService = TestBed.get(NgbModal); component.object = object; component.modalRef = modalService.open('ok'); + spyOn(component, 'initReloadAnchor').and.returnValue(undefined); fixture.detectChanges(); }); @@ -96,6 +121,7 @@ describe('ClaimedTaskActionsRejectComponent', () => { beforeEach(() => { spyOn(component.processCompleted, 'emit'); + spyOn(component, 'startActionExecution').and.returnValue(of(null)); expectedBody = { [component.option]: 'true', @@ -113,12 +139,39 @@ describe('ClaimedTaskActionsRejectComponent', () => { fixture.detectChanges(); }); - it('should call claimedTaskService\'s submitTask with the expected body', () => { - expect(claimedTaskService.submitTask).toHaveBeenCalledWith(object.id, expectedBody) + it('should start the action execution', () => { + expect(component.startActionExecution).toHaveBeenCalled(); }); - it('should emit a successful processCompleted event', () => { - expect(component.processCompleted.emit).toHaveBeenCalledWith(true); + describe('actionExecution', () => { + beforeEach(() => { + component.actionExecution().subscribe(); + fixture.detectChanges(); + }); + + it('should call claimedTaskService\'s submitTask', () => { + expect(claimedTaskService.submitTask).toHaveBeenCalledWith(object.id, expectedBody) + }); + }); + + }); + + describe('reloadObjectExecution', () => { + + it('should return the component object itself', (done) => { + component.reloadObjectExecution().subscribe((val) => { + expect(val).toEqual(component.object); + done(); + }); }); }); + + describe('convertReloadedObject', () => { + + it('should return a ClaimedDeclinedTaskSearchResult instance', () => { + const reloadedObject = component.convertReloadedObject(component.object); + expect(reloadedObject instanceof ClaimedDeclinedTaskSearchResult).toEqual(true); + }); + }); + }); diff --git a/src/app/shared/mydspace-actions/claimed-task/reject/claimed-task-actions-reject.component.ts b/src/app/shared/mydspace-actions/claimed-task/reject/claimed-task-actions-reject.component.ts index 46d40cbb64..267f978392 100644 --- a/src/app/shared/mydspace-actions/claimed-task/reject/claimed-task-actions-reject.component.ts +++ b/src/app/shared/mydspace-actions/claimed-task/reject/claimed-task-actions-reject.component.ts @@ -1,10 +1,19 @@ -import { Component, OnInit } from '@angular/core'; +import { Component, Injector, OnInit } from '@angular/core'; import { FormBuilder, FormGroup, Validators } from '@angular/forms'; import { NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap'; import { ClaimedTaskActionsAbstractComponent } from '../abstract/claimed-task-actions-abstract.component'; -import { ClaimedTaskDataService } from '../../../../core/tasks/claimed-task-data.service'; import { rendersWorkflowTaskOption } from '../switcher/claimed-task-actions-decorator'; +import { Router } from '@angular/router'; +import { NotificationsService } from '../../../notifications/notifications.service'; +import { TranslateService } from '@ngx-translate/core'; +import { SearchService } from '../../../../core/shared/search/search.service'; +import { RequestService } from '../../../../core/data/request.service'; +import { Observable } from 'rxjs'; +import { RemoteData } from '../../../../core/data/remote-data'; +import { DSpaceObject } from '../../../../core/shared/dspace-object.model'; +import { of } from 'rxjs/internal/observable/of'; +import { ClaimedDeclinedTaskSearchResult } from '../../../object-collection/shared/claimed-declined-task-search-result.model'; export const WORKFLOW_TASK_OPTION_REJECT = 'submit_reject'; @@ -33,17 +42,15 @@ export class ClaimedTaskActionsRejectComponent extends ClaimedTaskActionsAbstrac */ public modalRef: NgbModalRef; - /** - * Initialize instance variables - * - * @param {FormBuilder} formBuilder - * @param {NgbModal} modalService - * @param claimedTaskService - */ - constructor(protected claimedTaskService: ClaimedTaskDataService, + constructor(protected injector: Injector, + protected router: Router, + protected notificationsService: NotificationsService, + protected translate: TranslateService, + protected searchService: SearchService, + protected requestService: RequestService, private formBuilder: FormBuilder, private modalService: NgbModal) { - super(claimedTaskService); + super(injector, router, notificationsService, translate, searchService, requestService); } /** @@ -55,6 +62,14 @@ export class ClaimedTaskActionsRejectComponent extends ClaimedTaskActionsAbstrac }); } + /** + * Submit a reject option for the task + */ + submitTask() { + this.modalRef.close('Send Button'); + super.submitTask(); + } + /** * Create the request body for rejecting a workflow task * Includes the reason from the form @@ -64,14 +79,6 @@ export class ClaimedTaskActionsRejectComponent extends ClaimedTaskActionsAbstrac return Object.assign(super.createbody(), { reason }); } - /** - * Submit a reject option for the task - */ - submitTask() { - this.modalRef.close('Send Button'); - super.submitTask(); - } - /** * Open modal * @@ -81,4 +88,20 @@ export class ClaimedTaskActionsRejectComponent extends ClaimedTaskActionsAbstrac this.rejectForm.reset(); this.modalRef = this.modalService.open(content); } + + reloadObjectExecution(): Observable | DSpaceObject> { + return of(this.object); + } + + convertReloadedObject(dso: DSpaceObject): DSpaceObject { + const reloadedObject = Object.assign(new ClaimedDeclinedTaskSearchResult(), dso, { + indexableObject: dso + }); + return reloadedObject; + } + + // mock + actionExecution(): Observable { + return of({ hasSucceeded: true}); + } } diff --git a/src/app/shared/mydspace-actions/claimed-task/return-to-pool/claimed-task-actions-return-to-pool.component.spec.ts b/src/app/shared/mydspace-actions/claimed-task/return-to-pool/claimed-task-actions-return-to-pool.component.spec.ts index b84051e53c..5f7757aaee 100644 --- a/src/app/shared/mydspace-actions/claimed-task/return-to-pool/claimed-task-actions-return-to-pool.component.spec.ts +++ b/src/app/shared/mydspace-actions/claimed-task/return-to-pool/claimed-task-actions-return-to-pool.component.spec.ts @@ -1,5 +1,5 @@ -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { ChangeDetectionStrategy, Injector, NO_ERRORS_SCHEMA } from '@angular/core'; +import { async, ComponentFixture, fakeAsync, TestBed } from '@angular/core/testing'; import { By } from '@angular/platform-browser'; import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; @@ -9,10 +9,26 @@ import { of as observableOf } from 'rxjs/internal/observable/of'; import { ProcessTaskResponse } from '../../../../core/tasks/models/process-task-response'; import { ClaimedTaskDataService } from '../../../../core/tasks/claimed-task-data.service'; import { TranslateLoaderMock } from '../../../mocks/translate-loader.mock'; +import { NotificationsService } from '../../../notifications/notifications.service'; +import { NotificationsServiceStub } from '../../../testing/notifications-service.stub'; +import { Router } from '@angular/router'; +import { RouterStub } from '../../../testing/router.stub'; +import { PoolTaskDataService } from '../../../../core/tasks/pool-task-data.service'; +import { SearchService } from '../../../../core/shared/search/search.service'; +import { RequestService } from '../../../../core/data/request.service'; +import { getMockSearchService } from '../../../mocks/search-service.mock'; +import { getMockRequestService } from '../../../mocks/request.service.mock'; +import { of } from 'rxjs'; let component: ClaimedTaskActionsReturnToPoolComponent; let fixture: ComponentFixture; +const searchService = getMockSearchService(); + +const requestService = getMockRequestService(); + +let mockPoolTaskDataService: PoolTaskDataService; + describe('ClaimedTaskActionsReturnToPoolComponent', () => { const object = Object.assign(new ClaimedTask(), { id: 'claimed-task-1' }); const claimedTaskService = jasmine.createSpyObj('claimedTaskService', { @@ -20,6 +36,7 @@ describe('ClaimedTaskActionsReturnToPoolComponent', () => { }); beforeEach(async(() => { + mockPoolTaskDataService = new PoolTaskDataService(null, null, null, null, null, null, null, null); TestBed.configureTestingModule({ imports: [ TranslateModule.forRoot({ @@ -30,7 +47,13 @@ describe('ClaimedTaskActionsReturnToPoolComponent', () => { }) ], providers: [ - { provide: ClaimedTaskDataService, useValue: claimedTaskService } + { provide: ClaimedTaskDataService, useValue: claimedTaskService }, + { provide: Injector, useValue: {} }, + { provide: NotificationsService, useValue: new NotificationsServiceStub() }, + { provide: Router, useValue: new RouterStub() }, + { provide: SearchService, useValue: searchService }, + { provide: RequestService, useValue: requestService }, + { provide: PoolTaskDataService, useValue: mockPoolTaskDataService }, ], declarations: [ClaimedTaskActionsReturnToPoolComponent], schemas: [NO_ERRORS_SCHEMA] @@ -39,12 +62,13 @@ describe('ClaimedTaskActionsReturnToPoolComponent', () => { }).compileComponents(); })); - beforeEach(() => { + beforeEach(fakeAsync(() => { fixture = TestBed.createComponent(ClaimedTaskActionsReturnToPoolComponent); component = fixture.componentInstance; component.object = object; + spyOn(component, 'initReloadAnchor').and.returnValue(undefined); fixture.detectChanges(); - }); + })); it('should display return to pool button', () => { const btn = fixture.debugElement.query(By.css('.btn-secondary')); @@ -61,11 +85,9 @@ describe('ClaimedTaskActionsReturnToPoolComponent', () => { expect(span).toBeDefined(); }); - describe('submitTask', () => { + describe('actionExecution', () => { beforeEach(() => { - spyOn(component.processCompleted, 'emit'); - - component.submitTask(); + component.actionExecution().subscribe(); fixture.detectChanges(); }); @@ -73,8 +95,19 @@ describe('ClaimedTaskActionsReturnToPoolComponent', () => { expect(claimedTaskService.returnToPoolTask).toHaveBeenCalledWith(object.id) }); - it('should emit a successful processCompleted event', () => { - expect(component.processCompleted.emit).toHaveBeenCalledWith(true); + }); + + describe('reloadObjectExecution', () => { + beforeEach(() => { + spyOn(mockPoolTaskDataService, 'findByItem').and.returnValue(of(null)); + + component.itemUuid = 'uuid'; + component.reloadObjectExecution().subscribe(); + fixture.detectChanges(); + }); + + it('should call poolTaskDataService findItem with itemUuid', () => { + expect(mockPoolTaskDataService.findByItem).toHaveBeenCalledWith('uuid'); }); }); diff --git a/src/app/shared/mydspace-actions/claimed-task/return-to-pool/claimed-task-actions-return-to-pool.component.ts b/src/app/shared/mydspace-actions/claimed-task/return-to-pool/claimed-task-actions-return-to-pool.component.ts index c53bf30fad..f875263703 100644 --- a/src/app/shared/mydspace-actions/claimed-task/return-to-pool/claimed-task-actions-return-to-pool.component.ts +++ b/src/app/shared/mydspace-actions/claimed-task/return-to-pool/claimed-task-actions-return-to-pool.component.ts @@ -1,8 +1,15 @@ -import { Component } from '@angular/core'; +import {Component, Injector} from '@angular/core'; import { ClaimedTaskActionsAbstractComponent } from '../abstract/claimed-task-actions-abstract.component'; import { rendersWorkflowTaskOption } from '../switcher/claimed-task-actions-decorator'; -import { ClaimedTaskDataService } from '../../../../core/tasks/claimed-task-data.service'; -import { ProcessTaskResponse } from '../../../../core/tasks/models/process-task-response'; +import { Observable } from 'rxjs'; +import { Router } from '@angular/router'; +import { NotificationsService } from '../../../notifications/notifications.service'; +import { TranslateService } from '@ngx-translate/core'; +import { SearchService } from '../../../../core/shared/search/search.service'; +import { RequestService } from '../../../../core/data/request.service'; +import { RemoteData } from '../../../../core/data/remote-data'; +import { DSpaceObject } from '../../../../core/shared/dspace-object.model'; +import { PoolTaskDataService } from '../../../../core/tasks/pool-task-data.service'; export const WORKFLOW_TASK_OPTION_RETURN_TO_POOL = 'return_to_pool'; @@ -21,19 +28,22 @@ export class ClaimedTaskActionsReturnToPoolComponent extends ClaimedTaskActionsA */ option = WORKFLOW_TASK_OPTION_RETURN_TO_POOL; - constructor(protected claimedTaskService: ClaimedTaskDataService) { - super(claimedTaskService); + constructor(protected injector: Injector, + protected router: Router, + protected notificationsService: NotificationsService, + protected translate: TranslateService, + protected searchService: SearchService, + protected requestService: RequestService, + private poolTaskService: PoolTaskDataService) { + super(injector, router, notificationsService, translate, searchService, requestService); } - /** - * Submit a return to pool option for the task - */ - submitTask() { - this.processing$.next(true); - this.claimedTaskService.returnToPoolTask(this.object.id) - .subscribe((res: ProcessTaskResponse) => { - this.processing$.next(false); - this.processCompleted.emit(res.hasSucceeded); - }); + reloadObjectExecution(): Observable | DSpaceObject> { + return this.poolTaskService.findByItem(this.itemUuid); } + + actionExecution(): Observable { + return this.objectDataService.returnToPoolTask(this.object.id); + } + } diff --git a/src/app/shared/mydspace-actions/claimed-task/switcher/claimed-task-actions-loader.component.ts b/src/app/shared/mydspace-actions/claimed-task/switcher/claimed-task-actions-loader.component.ts index d8c8ecccec..34142fc8be 100644 --- a/src/app/shared/mydspace-actions/claimed-task/switcher/claimed-task-actions-loader.component.ts +++ b/src/app/shared/mydspace-actions/claimed-task/switcher/claimed-task-actions-loader.component.ts @@ -14,6 +14,7 @@ import { ClaimedTaskActionsDirective } from './claimed-task-actions.directive'; import { ClaimedTaskActionsAbstractComponent } from '../abstract/claimed-task-actions-abstract.component'; import { hasValue } from '../../../empty.util'; import { Subscription } from 'rxjs/internal/Subscription'; +import { MyDSpaceActionsResult } from '../../mydspace-actions'; @Component({ selector: 'ds-claimed-task-actions-loader', @@ -38,7 +39,7 @@ export class ClaimedTaskActionsLoaderComponent implements OnInit, OnDestroy { /** * Emits the success or failure of a processed action */ - @Output() processCompleted: EventEmitter = new EventEmitter(); + @Output() processCompleted = new EventEmitter(); /** * Directive to determine where the dynamic child component is located @@ -69,7 +70,7 @@ export class ClaimedTaskActionsLoaderComponent implements OnInit, OnDestroy { const componentInstance = (componentRef.instance as ClaimedTaskActionsAbstractComponent); componentInstance.object = this.object; if (hasValue(componentInstance.processCompleted)) { - this.subs.push(componentInstance.processCompleted.subscribe((success) => this.processCompleted.emit(success))); + this.subs.push(componentInstance.processCompleted.subscribe((result) => this.processCompleted.emit(result))); } } } diff --git a/src/app/shared/mydspace-actions/mydspace-actions.ts b/src/app/shared/mydspace-actions/mydspace-actions.ts index c83fa35b24..373cab9d35 100644 --- a/src/app/shared/mydspace-actions/mydspace-actions.ts +++ b/src/app/shared/mydspace-actions/mydspace-actions.ts @@ -1,5 +1,5 @@ import { Router } from '@angular/router'; -import { Injector, Input } from '@angular/core'; +import { EventEmitter, Injector, Input, Output } from '@angular/core'; import { find, take, tap } from 'rxjs/operators'; @@ -12,9 +12,14 @@ import { NotificationOptions } from '../notifications/models/notification-option import { NotificationsService } from '../notifications/notifications.service'; import { TranslateService } from '@ngx-translate/core'; import { RequestService } from '../../core/data/request.service'; -import { Subscription } from 'rxjs'; +import { BehaviorSubject, Subscription } from 'rxjs'; import { SearchService } from '../../core/shared/search/search.service'; +export interface MyDSpaceActionsResult { + result: boolean, + reloadedObject: DSpaceObject, +} + /** * Abstract class for all different representations of mydspace actions */ @@ -26,7 +31,18 @@ export abstract class MyDSpaceActionsComponent(); + + /** + * A boolean representing if an operation is pending + * @type {BehaviorSubject} + */ + public processing$ = new BehaviorSubject(false); + + /** + * Instance of DataService related to mydspace object */ protected objectDataService: TService; diff --git a/src/app/shared/mydspace-actions/mydspace-reloadable-actions.ts b/src/app/shared/mydspace-actions/mydspace-reloadable-actions.ts new file mode 100644 index 0000000000..4fe3afd833 --- /dev/null +++ b/src/app/shared/mydspace-actions/mydspace-reloadable-actions.ts @@ -0,0 +1,137 @@ +import { Router } from '@angular/router'; +import { Injector, OnInit } from '@angular/core'; + +import { map, switchMap, tap} from 'rxjs/operators'; + +import { RemoteData } from '../../core/data/remote-data'; +import { DataService } from '../../core/data/data.service'; +import { DSpaceObject } from '../../core/shared/dspace-object.model'; +import { ResourceType } from '../../core/shared/resource-type'; +import { NotificationOptions } from '../notifications/models/notification-options.model'; +import { NotificationsService } from '../notifications/notifications.service'; +import { TranslateService } from '@ngx-translate/core'; +import { RequestService } from '../../core/data/request.service'; +import { SearchService } from '../../core/shared/search/search.service'; +import { Observable} from 'rxjs/internal/Observable'; +import { of} from 'rxjs/internal/observable/of'; +import { ProcessTaskResponse } from '../../core/tasks/models/process-task-response'; +import { getFirstSucceededRemoteDataPayload } from '../../core/shared/operators'; +import { getSearchResultFor } from '../search/search-result-element-decorator'; +import { MyDSpaceActionsComponent } from './mydspace-actions'; + +/** + * Abstract class for all different representations of mydspace actions + */ +export abstract class MyDSpaceReloadableActionsComponent> + extends MyDSpaceActionsComponent implements OnInit { + + protected constructor( + protected objectType: ResourceType, + protected injector: Injector, + protected router: Router, + protected notificationsService: NotificationsService, + protected translate: TranslateService, + protected searchService: SearchService, + protected requestService: RequestService) { + super(objectType, injector, router, notificationsService, translate, searchService, requestService); + } + + /** + * Perform the actual implementation of this reloadable action. + */ + abstract actionExecution(): Observable; + + /** + * Reload the object (typically by a remote call). + */ + abstract reloadObjectExecution(): Observable | DSpaceObject>; + + ngOnInit() { + this.initReloadAnchor(); + this.initObjects(this.object); + } + + /** + * Start the execution of the action. + * 1. performAction + * 2. reload of the object + * 3. notification + */ + startActionExecution(): Observable { + this.processing$.next(true); + return this.actionExecution().pipe( + switchMap((res: ProcessTaskResponse) => { + if (res.hasSucceeded) { + return this._reloadObject().pipe( + tap( + (reloadedObject) => { + this.processing$.next(false); + this.handleReloadableActionResponse(res.hasSucceeded, reloadedObject); + return reloadedObject; + }) + ) + } else { + this.processing$.next(false); + this.handleReloadableActionResponse(res.hasSucceeded, null); + return of(null); + } + })); + } + + /** + * Handle the action response and show properly notifications. + * + * @param result + * true on success, false otherwise + * @param reloadedObject + * the reloadedObject + */ + handleReloadableActionResponse(result: boolean, reloadedObject: DSpaceObject): void { + if (result) { + if (reloadedObject) { + this.processCompleted.emit({result, reloadedObject}); + } else { + this.reload(); + } + this.notificationsService.success(null, + this.translate.get('submission.workflow.tasks.generic.success'), + new NotificationOptions(5000, false)); + } else { + this.notificationsService.error(null, + this.translate.get('submission.workflow.tasks.generic.error'), + new NotificationOptions(20000, true)); + } + } + + /** + * Hook called on init to initialized the required information used to reload the object. + */ + // tslint:disable-next-line:no-empty + initReloadAnchor() {} + + /** + * Convert the reloadedObject to the Type required by this action. + * @param dso + */ + convertReloadedObject(dso: DSpaceObject): DSpaceObject { + const constructor = getSearchResultFor((dso as any).constructor); + const reloadedObject = Object.assign(new constructor(), dso, { + indexableObject: dso + }); + return reloadedObject; + } + + /** + * Retrieve the refreshed object and transform it to a reloadedObject. + * @param dso + */ + private _reloadObject(): Observable { + return this.reloadObjectExecution().pipe( + switchMap((res) => { + return res instanceof RemoteData ? of(res).pipe(getFirstSucceededRemoteDataPayload()) : of(res) + })).pipe(map((dso) => { + return this.convertReloadedObject(dso); + })) + } + +} diff --git a/src/app/shared/mydspace-actions/pool-task/pool-task-actions.component.html b/src/app/shared/mydspace-actions/pool-task/pool-task-actions.component.html index 6f4ffffad3..214f85ed5b 100644 --- a/src/app/shared/mydspace-actions/pool-task/pool-task-actions.component.html +++ b/src/app/shared/mydspace-actions/pool-task/pool-task-actions.component.html @@ -1,8 +1,8 @@ diff --git a/src/app/shared/mydspace-actions/pool-task/pool-task-actions.component.spec.ts b/src/app/shared/mydspace-actions/pool-task/pool-task-actions.component.spec.ts index 5b0fb2058c..3b4eb23430 100644 --- a/src/app/shared/mydspace-actions/pool-task/pool-task-actions.component.spec.ts +++ b/src/app/shared/mydspace-actions/pool-task/pool-task-actions.component.spec.ts @@ -1,5 +1,5 @@ import { ChangeDetectionStrategy, Injector, NO_ERRORS_SCHEMA } from '@angular/core'; -import { async, ComponentFixture, fakeAsync, TestBed } from '@angular/core/testing'; +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; import { Router } from '@angular/router'; import { By } from '@angular/platform-browser'; @@ -16,11 +16,17 @@ import { PoolTaskDataService } from '../../../core/tasks/pool-task-data.service' import { PoolTaskActionsComponent } from './pool-task-actions.component'; import { PoolTask } from '../../../core/tasks/models/pool-task-object.model'; import { WorkflowItem } from '../../../core/submission/models/workflowitem.model'; -import { createSuccessfulRemoteDataObject } from '../../remote-data.utils'; +import { createFailedRemoteDataObject, createSuccessfulRemoteDataObject } from '../../remote-data.utils'; import { getMockRequestService } from '../../mocks/request.service.mock'; import { RequestService } from '../../../core/data/request.service'; import { getMockSearchService } from '../../mocks/search-service.mock'; import { SearchService } from '../../../core/shared/search/search.service'; +import { ClaimedTaskDataService } from '../../../core/tasks/claimed-task-data.service'; +import { PoolTaskSearchResult } from '../../object-collection/shared/pool-task-search-result.model'; +import { ProcessTaskResponse } from '../../../core/tasks/models/process-task-response'; + +let mockDataService: PoolTaskDataService; +let mockClaimedTaskDataService: ClaimedTaskDataService; let component: PoolTaskActionsComponent; let fixture: ComponentFixture; @@ -29,10 +35,6 @@ let mockObject: PoolTask; let notificationsServiceStub: NotificationsServiceStub; let router: RouterStub; -const mockDataService = jasmine.createSpyObj('PoolTaskDataService', { - claimTask: jasmine.createSpy('claimTask') -}); - const searchService = getMockSearchService(); const requestServce = getMockRequestService(); @@ -73,6 +75,8 @@ mockObject = Object.assign(new PoolTask(), { workflowitem: observableOf(rdWorkfl describe('PoolTaskActionsComponent', () => { beforeEach(async(() => { + mockDataService = new PoolTaskDataService(null, null, null, null, null, null, null, null) + mockClaimedTaskDataService = new ClaimedTaskDataService(null, null, null, null, null, null, null, null); TestBed.configureTestingModule({ imports: [ TranslateModule.forRoot({ @@ -88,6 +92,7 @@ describe('PoolTaskActionsComponent', () => { { provide: NotificationsService, useValue: new NotificationsServiceStub() }, { provide: Router, useValue: new RouterStub() }, { provide: PoolTaskDataService, useValue: mockDataService }, + { provide: ClaimedTaskDataService, useValue: mockClaimedTaskDataService }, { provide: SearchService, useValue: searchService }, { provide: RequestService, useValue: requestServce } ], @@ -128,63 +133,182 @@ describe('PoolTaskActionsComponent', () => { expect(btn).toBeDefined(); }); - it('should call claimTask method on claim', fakeAsync(() => { - spyOn(component, 'reload'); - mockDataService.claimTask.and.returnValue(observableOf({hasSucceeded: true})); + it('should call claim task with href of getPoolTaskEndpointById', ((done) => { - component.claim(); - fixture.detectChanges(); + const poolTaskHref = 'poolTaskHref'; + const remoteClaimTaskResponse: any = new ProcessTaskResponse(true, null, null); + const remoteReloadedObjectResponse: any = createSuccessfulRemoteDataObject(new PoolTask()); - fixture.whenStable().then(() => { - expect(mockDataService.claimTask).toHaveBeenCalledWith(mockObject.id); - }); + spyOn(mockDataService, 'getPoolTaskEndpointById').and.returnValue(observableOf(poolTaskHref)); + spyOn(mockClaimedTaskDataService, 'claimTask').and.returnValue(observableOf(remoteClaimTaskResponse)); + spyOn(mockClaimedTaskDataService, 'findByItem').and.returnValue(observableOf(remoteReloadedObjectResponse)); - })); + (component as any).objectDataService = mockDataService; - it('should display a success notification on claim success', async(() => { - spyOn(component, 'reload'); - mockDataService.claimTask.and.returnValue(observableOf({hasSucceeded: true})); + spyOn(component, 'handleReloadableActionResponse').and.callThrough(); - component.claim(); - fixture.detectChanges(); + component.startActionExecution().subscribe( (result) => { + + expect(mockDataService.getPoolTaskEndpointById).toHaveBeenCalledWith(mockObject.id); + expect(mockClaimedTaskDataService.claimTask).toHaveBeenCalledWith(mockObject.id, poolTaskHref); + expect(mockClaimedTaskDataService.findByItem).toHaveBeenCalledWith(component.itemUuid); + + expect(result instanceof PoolTaskSearchResult).toBeTrue(); + + expect(component.handleReloadableActionResponse).toHaveBeenCalledWith(true, result); - fixture.whenStable().then(() => { expect(notificationsServiceStub.success).toHaveBeenCalled(); - }); + + done(); + }) + })); - it('should reload page on claim success', async(() => { - spyOn(router, 'navigateByUrl'); - router.url = 'test.url/test'; - mockDataService.claimTask.and.returnValue(observableOf({hasSucceeded: true})); + // general reload assertion + describe('on reload action init', () => { - component.claim(); - fixture.detectChanges(); - - fixture.whenStable().then(() => { - expect(router.navigateByUrl).toHaveBeenCalledWith('test.url/test'); + beforeEach(() => { + spyOn(component, 'initReloadAnchor').and.returnValue(null); + spyOn(component, 'initObjects'); }); - })); - it('should display an error notification on claim failure', async(() => { - mockDataService.claimTask.and.returnValue(observableOf({hasSucceeded: false})); + it('should call initReloadAnchor and initObjects on init', async(() => { + component.ngOnInit(); - component.claim(); - fixture.detectChanges(); + fixture.detectChanges(); - fixture.whenStable().then(() => { - expect(notificationsServiceStub.error).toHaveBeenCalled(); + fixture.whenStable().then(() => { + expect(component.initReloadAnchor).toHaveBeenCalled(); + expect(component.initObjects).toHaveBeenCalled(); + }); + + })); + + }) + + describe('on action execution fail', () => { + + let remoteClaimTaskErrorResponse; + + beforeEach(() => { + + mockDataService = new PoolTaskDataService(null, null, null, null, null, null, null, null); + + const poolTaskHref = 'poolTaskHref'; + remoteClaimTaskErrorResponse = new ProcessTaskResponse(false, null, null); + const remoteReloadedObjectResponse: any = createSuccessfulRemoteDataObject(new PoolTask()); + + spyOn(mockDataService, 'getPoolTaskEndpointById').and.returnValue(observableOf(poolTaskHref)); + spyOn(mockClaimedTaskDataService, 'findByItem').and.returnValue(observableOf(remoteReloadedObjectResponse)); + spyOn(mockClaimedTaskDataService, 'claimTask').and.returnValue(observableOf(remoteClaimTaskErrorResponse)); + spyOn(component, 'reloadObjectExecution').and.callThrough(); + spyOn(component.processCompleted, 'emit').and.callThrough(); + + (component as any).objectDataService = mockDataService; }); - })); - it('should clear the object cache by href', async(() => { - component.reload(); - fixture.detectChanges(); + it('should show error notification', (done) => { - fixture.whenStable().then(() => { - expect(searchService.getEndpoint).toHaveBeenCalled(); - expect(requestServce.removeByHrefSubstring).toHaveBeenCalledWith('discover/search/objects'); + component.startActionExecution().subscribe( (result) => { + expect(notificationsServiceStub.error).toHaveBeenCalled(); + done(); + }) }); - })); + + it('should not call reloadObject', (done) => { + + component.startActionExecution().subscribe( (result) => { + expect(component.reloadObjectExecution).not.toHaveBeenCalled(); + done(); + }) + + }); + + it('should not emit processCompleted', (done) => { + + component.startActionExecution().subscribe( (result) => { + expect(component.processCompleted.emit).not.toHaveBeenCalled(); + done(); + }) + + }); + + }); + + describe('on action execution success', () => { + + beforeEach(() => { + + mockDataService = new PoolTaskDataService(null, null, null, null, null, null, null, null); + + const poolTaskHref = 'poolTaskHref'; + const remoteClaimTaskResponse: any = new ProcessTaskResponse(true, null, null); + const remoteReloadedObjectResponse: any = createSuccessfulRemoteDataObject(new PoolTask()); + + spyOn(mockDataService, 'getPoolTaskEndpointById').and.returnValue(observableOf(poolTaskHref)); + spyOn(mockClaimedTaskDataService, 'findByItem').and.returnValue(observableOf(remoteReloadedObjectResponse)); + spyOn(mockClaimedTaskDataService, 'claimTask').and.returnValue(observableOf(remoteClaimTaskResponse)); + spyOn(component, 'reloadObjectExecution').and.callThrough(); + spyOn(component, 'convertReloadedObject').and.callThrough(); + spyOn(component.processCompleted, 'emit').and.callThrough(); + + (component as any).objectDataService = mockDataService; + }); + + it('should reloadObject in case of action execution success', (done) => { + + component.startActionExecution().subscribe( (result) => { + expect(component.reloadObjectExecution).toHaveBeenCalled(); + done(); + }) + }); + + it('should convert the reloaded object', (done) => { + + component.startActionExecution().subscribe( (result) => { + expect(component.convertReloadedObject).toHaveBeenCalled(); + done(); + }) + }); + + it('should emit the reloaded object in case of success', (done) => { + + component.startActionExecution().subscribe( (result) => { + expect(component.processCompleted.emit).toHaveBeenCalledWith({result: true, reloadedObject: result as any}); + done(); + }) + }); + + }); + + describe('on action execution success but without a reloadedObject', () => { + + beforeEach(() => { + + mockDataService = new PoolTaskDataService(null, null, null, null, null, null, null, null); + + const poolTaskHref = 'poolTaskHref'; + const remoteClaimTaskResponse: any = new ProcessTaskResponse(true, null, null); + const remoteReloadedObjectResponse: any = createFailedRemoteDataObject(); + + spyOn(mockDataService, 'getPoolTaskEndpointById').and.returnValue(observableOf(poolTaskHref)); + spyOn(mockClaimedTaskDataService, 'findByItem').and.returnValue(observableOf(remoteReloadedObjectResponse)); + spyOn(mockClaimedTaskDataService, 'claimTask').and.returnValue(observableOf(remoteClaimTaskResponse)); + + spyOn(component, 'convertReloadedObject').and.returnValue(null); + spyOn(component, 'reload').and.returnValue(null); + + (component as any).objectDataService = mockDataService; + }); + + it('should call reload method', (done) => { + + component.startActionExecution().subscribe( (result) => { + expect(component.reload).toHaveBeenCalled(); + done(); + }) + }); + + }); }); diff --git a/src/app/shared/mydspace-actions/pool-task/pool-task-actions.component.ts b/src/app/shared/mydspace-actions/pool-task/pool-task-actions.component.ts index 892298d2f7..2a72d1a549 100644 --- a/src/app/shared/mydspace-actions/pool-task/pool-task-actions.component.ts +++ b/src/app/shared/mydspace-actions/pool-task/pool-task-actions.component.ts @@ -1,20 +1,24 @@ import { Component, Injector, Input } from '@angular/core'; import { Router } from '@angular/router'; -import { BehaviorSubject, Observable } from 'rxjs'; -import { filter, map } from 'rxjs/operators'; +import { Observable } from 'rxjs'; +import { filter, map, switchMap } from 'rxjs/operators'; import { TranslateService } from '@ngx-translate/core'; import { WorkflowItem } from '../../../core/submission/models/workflowitem.model'; -import { ProcessTaskResponse } from '../../../core/tasks/models/process-task-response'; import { RemoteData } from '../../../core/data/remote-data'; import { PoolTask } from '../../../core/tasks/models/pool-task-object.model'; import { PoolTaskDataService } from '../../../core/tasks/pool-task-data.service'; import { isNotUndefined } from '../../empty.util'; -import { MyDSpaceActionsComponent } from '../mydspace-actions'; import { NotificationsService } from '../../notifications/notifications.service'; import { RequestService } from '../../../core/data/request.service'; import { SearchService } from '../../../core/shared/search/search.service'; +import { ClaimedTaskDataService } from '../../../core/tasks/claimed-task-data.service'; +import { getFirstSucceededRemoteDataPayload } from '../../../core/shared/operators'; +import { Item } from '../../../core/shared/item.model'; +import { DSpaceObject } from '../../../core/shared/dspace-object.model'; +import { MyDSpaceReloadableActionsComponent } from '../mydspace-reloadable-actions'; +import { ProcessTaskResponse } from '../../../core/tasks/models/process-task-response'; /** * This component represents mydspace actions related to PoolTask object. @@ -24,24 +28,23 @@ import { SearchService } from '../../../core/shared/search/search.service'; styleUrls: ['./pool-task-actions.component.scss'], templateUrl: './pool-task-actions.component.html', }) -export class PoolTaskActionsComponent extends MyDSpaceActionsComponent { +export class PoolTaskActionsComponent extends MyDSpaceReloadableActionsComponent { /** * The PoolTask object */ @Input() object: PoolTask; - /** - * A boolean representing if a claim operation is pending - * @type {BehaviorSubject} - */ - public processingClaim$ = new BehaviorSubject(false); - /** * The workflowitem object that belonging to the PoolTask object */ public workflowitem$: Observable; + /** + * Anchor used to reload the pool task. + */ + public itemUuid: string; + /** * Initialize instance variables * @@ -55,6 +58,7 @@ export class PoolTaskActionsComponent extends MyDSpaceActionsComponent) => rd.payload)); } - /** - * Claim the task. - */ - claim() { - this.processingClaim$.next(true); - this.objectDataService.claimTask(this.object.id) - .subscribe((res: ProcessTaskResponse) => { - this.handleActionResponse(res.hasSucceeded); - this.processingClaim$.next(false); - }); + actionExecution(): Observable { + return this.objectDataService.getPoolTaskEndpointById(this.object.id) + .pipe(switchMap((poolTaskHref) => { + return this.claimedTaskService.claimTask(this.object.id, poolTaskHref); + })) } + + reloadObjectExecution(): Observable | DSpaceObject> { + return this.claimedTaskService.findByItem(this.itemUuid); + } + + /** + * Retrieve the itemUuid. + */ + initReloadAnchor() { + (this.object as any).workflowitem.pipe( + getFirstSucceededRemoteDataPayload(), + switchMap((workflowItem: WorkflowItem) => workflowItem.item.pipe(getFirstSucceededRemoteDataPayload()) + )) + .subscribe((item: Item) => { + this.itemUuid = item.uuid; + }) + } + } diff --git a/src/app/shared/object-collection/shared/claimed-approved-task-search-result.model.ts b/src/app/shared/object-collection/shared/claimed-approved-task-search-result.model.ts new file mode 100644 index 0000000000..7cacd87048 --- /dev/null +++ b/src/app/shared/object-collection/shared/claimed-approved-task-search-result.model.ts @@ -0,0 +1,8 @@ +import { ClaimedTask } from '../../../core/tasks/models/claimed-task-object.model'; +import { SearchResult } from '../../search/search-result.model'; + +/** + * Represents a search result object of an Approved ClaimedTask object + */ +export class ClaimedApprovedTaskSearchResult extends SearchResult { +} diff --git a/src/app/shared/object-collection/shared/claimed-declined-task-search-result.model.ts b/src/app/shared/object-collection/shared/claimed-declined-task-search-result.model.ts new file mode 100644 index 0000000000..ff775be909 --- /dev/null +++ b/src/app/shared/object-collection/shared/claimed-declined-task-search-result.model.ts @@ -0,0 +1,8 @@ +import { ClaimedTask } from '../../../core/tasks/models/claimed-task-object.model'; +import { SearchResult } from '../../search/search-result.model'; + +/** + * Represents a search result object of a Declined ClaimedTask object + */ +export class ClaimedDeclinedTaskSearchResult extends SearchResult { +} diff --git a/src/app/shared/object-collection/shared/listable-object/listable-object-component-loader.component.scss b/src/app/shared/object-collection/shared/listable-object/listable-object-component-loader.component.scss new file mode 100644 index 0000000000..b9bc65ea45 --- /dev/null +++ b/src/app/shared/object-collection/shared/listable-object/listable-object-component-loader.component.scss @@ -0,0 +1,3 @@ +:host { + width: 100%; +} diff --git a/src/app/shared/object-collection/shared/listable-object/listable-object-component-loader.component.spec.ts b/src/app/shared/object-collection/shared/listable-object/listable-object-component-loader.component.spec.ts index de510af0bb..2ede0fabfc 100644 --- a/src/app/shared/object-collection/shared/listable-object/listable-object-component-loader.component.spec.ts +++ b/src/app/shared/object-collection/shared/listable-object/listable-object-component-loader.component.spec.ts @@ -1,4 +1,4 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import {async, ComponentFixture, fakeAsync, TestBed, tick} from '@angular/core/testing'; import { ChangeDetectionStrategy, ComponentFactoryResolver, NO_ERRORS_SCHEMA } from '@angular/core'; import { ListableObjectComponentLoaderComponent } from './listable-object-component-loader.component'; import { ListableObject } from '../listable-object.model'; @@ -9,6 +9,7 @@ import * as listableObjectDecorators from './listable-object.decorator'; import { ItemListElementComponent } from '../../../object-list/item-list-element/item-types/item/item-list-element.component'; import { ListableObjectDirective } from './listable-object.directive'; import { spyOnExported } from '../../../testing/utils.test'; +import { By } from '@angular/platform-browser'; const testType = 'TestType'; const testContext = Context.Search; @@ -55,4 +56,20 @@ describe('ListableObjectComponentLoaderComponent', () => { expect(listableObjectDecorators.getListableObjectComponent).toHaveBeenCalledWith([testType], testViewMode, testContext); }) }); + + describe('When a reloadedObject is emitted', () => { + + it('should re-instantiate the listable component ', fakeAsync(() => { + + spyOn((comp as any), 'instantiateComponent').and.returnValue(null); + + const listableComponent = fixture.debugElement.query(By.css('ds-item-list-element')).componentInstance; + const reloadedObject: any = 'object'; + (listableComponent as any).reloadedObject.emit(reloadedObject); + tick(); + + expect((comp as any).instantiateComponent).toHaveBeenCalledWith(reloadedObject); + })) + + }); }); diff --git a/src/app/shared/object-collection/shared/listable-object/listable-object-component-loader.component.ts b/src/app/shared/object-collection/shared/listable-object/listable-object-component-loader.component.ts index 4525c9d5e0..e7a348fc2b 100644 --- a/src/app/shared/object-collection/shared/listable-object/listable-object-component-loader.component.ts +++ b/src/app/shared/object-collection/shared/listable-object/listable-object-component-loader.component.ts @@ -1,4 +1,4 @@ -import { Component, ComponentFactoryResolver, Input, OnInit, ViewChild } from '@angular/core'; +import { Component, ComponentFactoryResolver, Input, OnDestroy, OnInit, ViewChild } from '@angular/core'; import { ListableObject } from '../listable-object.model'; import { ViewMode } from '../../../../core/shared/view-mode.model'; import { Context } from '../../../../core/shared/context.model'; @@ -6,16 +6,19 @@ import { getListableObjectComponent } from './listable-object.decorator'; import { GenericConstructor } from '../../../../core/shared/generic-constructor'; import { ListableObjectDirective } from './listable-object.directive'; import { CollectionElementLinkType } from '../../collection-element-link.type'; +import { hasValue } from '../../../empty.util'; +import { Subscription } from 'rxjs/internal/Subscription'; +import { DSpaceObject } from '../../../../core/shared/dspace-object.model'; @Component({ selector: 'ds-listable-object-component-loader', - // styleUrls: ['./listable-object-component-loader.component.scss'], + styleUrls: ['./listable-object-component-loader.component.scss'], templateUrl: './listable-object-component-loader.component.html' }) /** * Component for determining what component to use depending on the item's relationship type (relationship.type) */ -export class ListableObjectComponentLoaderComponent implements OnInit { +export class ListableObjectComponentLoaderComponent implements OnInit, OnDestroy { /** * The item or metadata to determine the component for */ @@ -61,6 +64,12 @@ export class ListableObjectComponentLoaderComponent implements OnInit { */ @ViewChild(ListableObjectDirective, {static: true}) listableObjectDirective: ListableObjectDirective; + /** + * Array to track all subscriptions and unsubscribe them onDestroy + * @type {Array} + */ + protected subs: Subscription[] = []; + constructor(private componentFactoryResolver: ComponentFactoryResolver) { } @@ -68,13 +77,23 @@ export class ListableObjectComponentLoaderComponent implements OnInit { * Setup the dynamic child component */ ngOnInit(): void { - const componentFactory = this.componentFactoryResolver.resolveComponentFactory(this.getComponent()); + this.instantiateComponent(this.object); + } + + ngOnDestroy() { + this.subs + .filter((subscription) => hasValue(subscription)) + .forEach((subscription) => subscription.unsubscribe()); + } + + private instantiateComponent(object) { + const componentFactory = this.componentFactoryResolver.resolveComponentFactory(this.getComponent(object)); const viewContainerRef = this.listableObjectDirective.viewContainerRef; viewContainerRef.clear(); const componentRef = viewContainerRef.createComponent(componentFactory); - (componentRef.instance as any).object = this.object; + (componentRef.instance as any).object = object; (componentRef.instance as any).index = this.index; (componentRef.instance as any).linkType = this.linkType; (componentRef.instance as any).listID = this.listID; @@ -82,13 +101,21 @@ export class ListableObjectComponentLoaderComponent implements OnInit { (componentRef.instance as any).context = this.context; (componentRef.instance as any).viewMode = this.viewMode; (componentRef.instance as any).value = this.value; + + if ((componentRef.instance as any).reloadedObject) { + this.subs.push((componentRef.instance as any).reloadedObject.subscribe((reloadedObject: DSpaceObject) => { + if (reloadedObject) { + this.instantiateComponent(reloadedObject); + } + })); + } } /** * Fetch the component depending on the item's relationship type, view mode and context * @returns {GenericConstructor} */ - private getComponent(): GenericConstructor { - return getListableObjectComponent(this.object.getRenderTypes(), this.viewMode, this.context) + private getComponent(object): GenericConstructor { + return getListableObjectComponent(object.getRenderTypes(), this.viewMode, this.context) } } diff --git a/src/app/shared/object-collection/shared/mydspace-item-status/my-dspace-item-status-type.ts b/src/app/shared/object-collection/shared/mydspace-item-status/my-dspace-item-status-type.ts index 48a0a6f4a3..5cf4d91b20 100644 --- a/src/app/shared/object-collection/shared/mydspace-item-status/my-dspace-item-status-type.ts +++ b/src/app/shared/object-collection/shared/mydspace-item-status/my-dspace-item-status-type.ts @@ -3,5 +3,7 @@ export enum MyDspaceItemStatusType { VALIDATION = 'mydspace.status.validation', WAITING_CONTROLLER = 'mydspace.status.waiting-for-controller', WORKSPACE = 'mydspace.status.workspace', - ARCHIVED = 'mydspace.status.archived' + ARCHIVED = 'mydspace.status.archived', + DECLINED = 'mydspace.status.declined', + APPROVED = 'mydspace.status.approved', } diff --git a/src/app/shared/object-collection/shared/object-collection-element/abstract-listable-element.component.ts b/src/app/shared/object-collection/shared/object-collection-element/abstract-listable-element.component.ts index 2c944b92ce..7d4e107b2b 100644 --- a/src/app/shared/object-collection/shared/object-collection-element/abstract-listable-element.component.ts +++ b/src/app/shared/object-collection/shared/object-collection-element/abstract-listable-element.component.ts @@ -1,14 +1,16 @@ -import { Component, Input } from '@angular/core'; +import { Component, EventEmitter, Input, Output } from '@angular/core'; import { ListableObject } from '../listable-object.model'; import { CollectionElementLinkType } from '../../collection-element-link.type'; import { Context } from '../../../../core/shared/context.model'; import { ViewMode } from '../../../../core/shared/view-mode.model'; +import { DSpaceObject } from '../../../../core/shared/dspace-object.model'; @Component({ selector: 'ds-abstract-object-element', template: ``, }) export class AbstractListableElementComponent { + /** * The object to render in this list element */ @@ -49,6 +51,11 @@ export class AbstractListableElementComponent { */ @Input() viewMode: ViewMode; + /** + * Emit when the object has been reloaded. + */ + @Output() reloadedObject = new EventEmitter(); + /** * The available link types */ diff --git a/src/app/shared/object-detail/my-dspace-result-detail-element/claimed-task-search-result/claimed-task-search-result-detail-element.component.html b/src/app/shared/object-detail/my-dspace-result-detail-element/claimed-task-search-result/claimed-task-search-result-detail-element.component.html index a03d8c96fe..1d8f599e65 100644 --- a/src/app/shared/object-detail/my-dspace-result-detail-element/claimed-task-search-result/claimed-task-search-result-detail-element.component.html +++ b/src/app/shared/object-detail/my-dspace-result-detail-element/claimed-task-search-result/claimed-task-search-result-detail-element.component.html @@ -6,5 +6,5 @@ [status]="status"> - + diff --git a/src/app/shared/object-detail/my-dspace-result-detail-element/claimed-task-search-result/claimed-task-search-result-detail-element.component.spec.ts b/src/app/shared/object-detail/my-dspace-result-detail-element/claimed-task-search-result/claimed-task-search-result-detail-element.component.spec.ts index a2010691b6..66173fb1dd 100644 --- a/src/app/shared/object-detail/my-dspace-result-detail-element/claimed-task-search-result/claimed-task-search-result-detail-element.component.spec.ts +++ b/src/app/shared/object-detail/my-dspace-result-detail-element/claimed-task-search-result/claimed-task-search-result-detail-element.component.spec.ts @@ -1,5 +1,5 @@ import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { async, ComponentFixture, fakeAsync, TestBed, tick } from '@angular/core/testing'; import { NoopAnimationsModule } from '@angular/platform-browser/animations'; import { of as observableOf } from 'rxjs'; @@ -14,6 +14,7 @@ import { ClaimedTaskSearchResult } from '../../../object-collection/shared/claim import { VarDirective } from '../../../utils/var.directive'; import { LinkService } from '../../../../core/cache/builders/link.service'; import { getMockLinkService } from '../../../mocks/link-service.mock'; +import { By } from '@angular/platform-browser'; let component: ClaimedTaskSearchResultDetailElementComponent; let fixture: ComponentFixture; @@ -98,4 +99,16 @@ describe('ClaimedTaskSearchResultDetailElementComponent', () => { it('should have properly status', () => { expect(component.status).toEqual(MyDspaceItemStatusType.VALIDATION); }); + + it('should forward claimed-task-actions processComplete event to reloadObject event emitter', fakeAsync(() => { + spyOn(component.reloadedObject, 'emit').and.callThrough(); + const actionPayload: any = { reloadedObject: {}}; + + const actionsComponent = fixture.debugElement.query(By.css('ds-claimed-task-actions')); + actionsComponent.triggerEventHandler('processCompleted', actionPayload) + tick(); + + expect(component.reloadedObject.emit).toHaveBeenCalledWith(actionPayload.reloadedObject); + + })); }); diff --git a/src/app/shared/object-detail/my-dspace-result-detail-element/pool-search-result/pool-search-result-detail-element.component.html b/src/app/shared/object-detail/my-dspace-result-detail-element/pool-search-result/pool-search-result-detail-element.component.html index 61c897e8d5..232b54d4d9 100644 --- a/src/app/shared/object-detail/my-dspace-result-detail-element/pool-search-result/pool-search-result-detail-element.component.html +++ b/src/app/shared/object-detail/my-dspace-result-detail-element/pool-search-result/pool-search-result-detail-element.component.html @@ -5,5 +5,5 @@ [showSubmitter]="showSubmitter" [status]="status"> - + diff --git a/src/app/shared/object-detail/my-dspace-result-detail-element/pool-search-result/pool-search-result-detail-element.component.spec.ts b/src/app/shared/object-detail/my-dspace-result-detail-element/pool-search-result/pool-search-result-detail-element.component.spec.ts index 0c2b3a0a70..294b9b06f6 100644 --- a/src/app/shared/object-detail/my-dspace-result-detail-element/pool-search-result/pool-search-result-detail-element.component.spec.ts +++ b/src/app/shared/object-detail/my-dspace-result-detail-element/pool-search-result/pool-search-result-detail-element.component.spec.ts @@ -1,5 +1,5 @@ import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { async, ComponentFixture, fakeAsync, TestBed, tick } from '@angular/core/testing'; import { NoopAnimationsModule } from '@angular/platform-browser/animations'; import { of as observableOf } from 'rxjs'; @@ -14,6 +14,7 @@ import { PoolTaskSearchResult } from '../../../object-collection/shared/pool-tas import { VarDirective } from '../../../utils/var.directive'; import { LinkService } from '../../../../core/cache/builders/link.service'; import { getMockLinkService } from '../../../mocks/link-service.mock'; +import { By } from '@angular/platform-browser'; let component: PoolSearchResultDetailElementComponent; let fixture: ComponentFixture; @@ -99,4 +100,15 @@ describe('PoolSearchResultDetailElementComponent', () => { it('should have properly status', () => { expect(component.status).toEqual(MyDspaceItemStatusType.WAITING_CONTROLLER); }); + + it('should forward pool-task-actions processCompleted event to the reloadedObject event emitter', fakeAsync(() => { + spyOn(component.reloadedObject, 'emit').and.callThrough(); + const actionPayload: any = { reloadedObject: {}}; + const actionsComponents = fixture.debugElement.query(By.css('ds-pool-task-actions')); + actionsComponents.triggerEventHandler('processCompleted', actionPayload) + tick(); + + expect(component.reloadedObject.emit).toHaveBeenCalledWith(actionPayload.reloadedObject); + + })); }); diff --git a/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/abstract-claimed-search-result-list-element.component.ts b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/abstract-claimed-search-result-list-element.component.ts new file mode 100644 index 0000000000..3dab2f844f --- /dev/null +++ b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/abstract-claimed-search-result-list-element.component.ts @@ -0,0 +1,51 @@ +import { Observable } from 'rxjs'; + +import { RemoteData } from '../../../../core/data/remote-data'; +import { WorkflowItem } from '../../../../core/submission/models/workflowitem.model'; +import { ClaimedTask } from '../../../../core/tasks/models/claimed-task-object.model'; +import { MyDspaceItemStatusType } from '../../../object-collection/shared/mydspace-item-status/my-dspace-item-status-type'; +import { ClaimedTaskSearchResult } from '../../../object-collection/shared/claimed-task-search-result.model'; +import { SearchResultListElementComponent } from '../../search-result-list-element/search-result-list-element.component'; +import { followLink } from '../../../utils/follow-link-config.model'; +import { LinkService } from '../../../../core/cache/builders/link.service'; +import { TruncatableService } from '../../../truncatable/truncatable.service'; + +/** + * This component renders claimed task object for the search result in the list view. + * The task can be claimed, claimed declined or claimed approved. + */ +export abstract class AbstractClaimedSearchResultListElementComponent extends SearchResultListElementComponent { + + /** + * A boolean representing if to show submitter information + */ + public showSubmitter = true; + + /** + * Represent item's status + */ + public status = MyDspaceItemStatusType.VALIDATION; + + /** + * The workflowitem object that belonging to the result object + */ + public workflowitemRD$: Observable>; + + protected constructor( + protected linkService: LinkService, + protected truncatableService: TruncatableService + ) { + super(truncatableService); + } + + /** + * Initialize all instance variables + */ + ngOnInit() { + super.ngOnInit(); + this.linkService.resolveLinks(this.dso, followLink('workflowitem', null, true, + followLink('item'), followLink('submitter') + ), followLink('action')); + this.workflowitemRD$ = this.dso.workflowitem as Observable>; + } +} diff --git a/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-approved-search-result/claimed-approved-search-result-list-element.component.html b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-approved-search-result/claimed-approved-search-result-list-element.component.html new file mode 100644 index 0000000000..8ebcdbd69a --- /dev/null +++ b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-approved-search-result/claimed-approved-search-result-list-element.component.html @@ -0,0 +1,10 @@ + + + diff --git a/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-approved-search-result/claimed-approved-search-result-list-element.component.spec.ts b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-approved-search-result/claimed-approved-search-result-list-element.component.spec.ts new file mode 100644 index 0000000000..e56999472e --- /dev/null +++ b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-approved-search-result/claimed-approved-search-result-list-element.component.spec.ts @@ -0,0 +1,101 @@ +import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { NoopAnimationsModule } from '@angular/platform-browser/animations'; + +import { of as observableOf } from 'rxjs'; + +import { Item } from '../../../../../core/shared/item.model'; +import { createSuccessfulRemoteDataObject } from '../../../../remote-data.utils'; +import { WorkflowItem } from '../../../../../core/submission/models/workflowitem.model'; +import { ClaimedTask } from '../../../../../core/tasks/models/claimed-task-object.model'; +import { getMockLinkService } from '../../../../mocks/link-service.mock'; +import { VarDirective } from '../../../../utils/var.directive'; +import { TruncatableService } from '../../../../truncatable/truncatable.service'; +import { LinkService } from '../../../../../core/cache/builders/link.service'; +import { MyDspaceItemStatusType } from '../../../../object-collection/shared/mydspace-item-status/my-dspace-item-status-type'; +import { ClaimedApprovedTaskSearchResult } from '../../../../object-collection/shared/claimed-approved-task-search-result.model'; +import { ClaimedApprovedSearchResultListElementComponent } from './claimed-approved-search-result-list-element.component'; + +let component: ClaimedApprovedSearchResultListElementComponent; +let fixture: ComponentFixture; + +const mockResultObject: ClaimedApprovedTaskSearchResult = new ClaimedApprovedTaskSearchResult(); +mockResultObject.hitHighlights = {}; + +const item = Object.assign(new Item(), { + bundles: observableOf({}), + metadata: { + 'dc.title': [ + { + language: 'en_US', + value: 'This is just another title' + } + ], + 'dc.type': [ + { + language: null, + value: 'Article' + } + ], + 'dc.contributor.author': [ + { + language: 'en_US', + value: 'Smith, Donald' + } + ], + 'dc.date.issued': [ + { + language: null, + value: '2015-06-26' + } + ] + } +}); +const rdItem = createSuccessfulRemoteDataObject(item); +const workflowitem = Object.assign(new WorkflowItem(), { item: observableOf(rdItem) }); +const rdWorkflowitem = createSuccessfulRemoteDataObject(workflowitem); +mockResultObject.indexableObject = Object.assign(new ClaimedTask(), { workflowitem: observableOf(rdWorkflowitem) }); +const linkService = getMockLinkService(); + +describe('ClaimedApprovedSearchResultListElementComponent', () => { + beforeEach(async(() => { + TestBed.configureTestingModule({ + imports: [NoopAnimationsModule], + declarations: [ClaimedApprovedSearchResultListElementComponent, VarDirective], + providers: [ + { provide: TruncatableService, useValue: {} }, + { provide: LinkService, useValue: linkService } + ], + schemas: [NO_ERRORS_SCHEMA] + }).overrideComponent(ClaimedApprovedSearchResultListElementComponent, { + set: { changeDetection: ChangeDetectionStrategy.Default } + }).compileComponents(); + })); + + beforeEach(async(() => { + fixture = TestBed.createComponent(ClaimedApprovedSearchResultListElementComponent); + component = fixture.componentInstance; + })); + + beforeEach(() => { + component.dso = mockResultObject.indexableObject; + fixture.detectChanges(); + }); + + it('should init workflowitem properly', (done) => { + component.workflowitemRD$.subscribe((workflowitemRD) => { + expect(linkService.resolveLinks).toHaveBeenCalledWith( + component.dso, + jasmine.objectContaining({ name: 'workflowitem' }), + jasmine.objectContaining({ name: 'action' }) + ); + expect(workflowitemRD.payload).toEqual(workflowitem); + done(); + }); + }); + + it('should have properly status', () => { + expect(component.status).toEqual(MyDspaceItemStatusType.APPROVED); + }); + +}); diff --git a/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-approved-search-result/claimed-approved-search-result-list-element.component.ts b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-approved-search-result/claimed-approved-search-result-list-element.component.ts new file mode 100644 index 0000000000..f640a9e36e --- /dev/null +++ b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-approved-search-result/claimed-approved-search-result-list-element.component.ts @@ -0,0 +1,36 @@ +import { Component } from '@angular/core'; +import { LocationStrategy, PathLocationStrategy } from '@angular/common'; +import { ViewMode } from '../../../../../core/shared/view-mode.model'; +import { ClaimedApprovedTaskSearchResult } from '../../../../object-collection/shared/claimed-approved-task-search-result.model'; +import { listableObjectComponent } from '../../../../object-collection/shared/listable-object/listable-object.decorator'; +import { AbstractClaimedSearchResultListElementComponent } from '../abstract-claimed-search-result-list-element.component'; +import { LinkService } from '../../../../../core/cache/builders/link.service'; +import { TruncatableService } from '../../../../truncatable/truncatable.service'; +import { MyDspaceItemStatusType } from '../../../../object-collection/shared/mydspace-item-status/my-dspace-item-status-type'; + +/** + * This component renders claimed task approved object for the search result in the list view. + */ +@Component({ + selector: 'ds-claimed-approved-search-result-list-element', + styleUrls: ['../../../search-result-list-element/search-result-list-element.component.scss'], + templateUrl: './claimed-approved-search-result-list-element.component.html', + providers: [Location, { provide: LocationStrategy, useClass: PathLocationStrategy }] +}) + +@listableObjectComponent(ClaimedApprovedTaskSearchResult, ViewMode.ListElement) +export class ClaimedApprovedSearchResultListElementComponent extends AbstractClaimedSearchResultListElementComponent { + + /** + * Represent item's status + */ + public status = MyDspaceItemStatusType.APPROVED; + + constructor( + protected linkService: LinkService, + protected truncatableService: TruncatableService + ) { + super(linkService, truncatableService); + } + +} diff --git a/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-declined-search-result/claimed-declided-search-result-list-element.component.spec.ts b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-declined-search-result/claimed-declided-search-result-list-element.component.spec.ts new file mode 100644 index 0000000000..8a8d542063 --- /dev/null +++ b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-declined-search-result/claimed-declided-search-result-list-element.component.spec.ts @@ -0,0 +1,101 @@ +import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { NoopAnimationsModule } from '@angular/platform-browser/animations'; + +import { of as observableOf } from 'rxjs'; + +import { ClaimedDeclinedSearchResultListElementComponent } from './claimed-declined-search-result-list-element.component'; +import { ClaimedDeclinedTaskSearchResult } from '../../../../object-collection/shared/claimed-declined-task-search-result.model'; +import { Item } from '../../../../../core/shared/item.model'; +import { createSuccessfulRemoteDataObject } from '../../../../remote-data.utils'; +import { WorkflowItem } from '../../../../../core/submission/models/workflowitem.model'; +import { ClaimedTask } from '../../../../../core/tasks/models/claimed-task-object.model'; +import { getMockLinkService } from '../../../../mocks/link-service.mock'; +import { VarDirective } from '../../../../utils/var.directive'; +import { TruncatableService } from '../../../../truncatable/truncatable.service'; +import { LinkService } from '../../../../../core/cache/builders/link.service'; +import { MyDspaceItemStatusType } from '../../../../object-collection/shared/mydspace-item-status/my-dspace-item-status-type'; + +let component: ClaimedDeclinedSearchResultListElementComponent; +let fixture: ComponentFixture; + +const mockResultObject: ClaimedDeclinedTaskSearchResult = new ClaimedDeclinedTaskSearchResult(); +mockResultObject.hitHighlights = {}; + +const item = Object.assign(new Item(), { + bundles: observableOf({}), + metadata: { + 'dc.title': [ + { + language: 'en_US', + value: 'This is just another title' + } + ], + 'dc.type': [ + { + language: null, + value: 'Article' + } + ], + 'dc.contributor.author': [ + { + language: 'en_US', + value: 'Smith, Donald' + } + ], + 'dc.date.issued': [ + { + language: null, + value: '2015-06-26' + } + ] + } +}); +const rdItem = createSuccessfulRemoteDataObject(item); +const workflowitem = Object.assign(new WorkflowItem(), { item: observableOf(rdItem) }); +const rdWorkflowitem = createSuccessfulRemoteDataObject(workflowitem); +mockResultObject.indexableObject = Object.assign(new ClaimedTask(), { workflowitem: observableOf(rdWorkflowitem) }); +const linkService = getMockLinkService(); + +describe('ClaimedDeclinedSearchResultListElementComponent', () => { + beforeEach(async(() => { + TestBed.configureTestingModule({ + imports: [NoopAnimationsModule], + declarations: [ClaimedDeclinedSearchResultListElementComponent, VarDirective], + providers: [ + { provide: TruncatableService, useValue: {} }, + { provide: LinkService, useValue: linkService } + ], + schemas: [NO_ERRORS_SCHEMA] + }).overrideComponent(ClaimedDeclinedSearchResultListElementComponent, { + set: { changeDetection: ChangeDetectionStrategy.Default } + }).compileComponents(); + })); + + beforeEach(async(() => { + fixture = TestBed.createComponent(ClaimedDeclinedSearchResultListElementComponent); + component = fixture.componentInstance; + })); + + beforeEach(() => { + component.dso = mockResultObject.indexableObject; + fixture.detectChanges(); + }); + + it('should init workflowitem properly', (done) => { + component.workflowitemRD$.subscribe((workflowitemRD) => { + expect(linkService.resolveLinks).toHaveBeenCalledWith( + component.dso, + jasmine.objectContaining({ name: 'workflowitem' }), + jasmine.objectContaining({ name: 'action' }) + ); + expect(workflowitemRD.payload).toEqual(workflowitem); + done(); + }); + }); + + it('should have properly status', () => { + expect(component.status).toEqual(MyDspaceItemStatusType.DECLINED); + }); + +}); diff --git a/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-declined-search-result/claimed-declined-search-result-list-element.component.html b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-declined-search-result/claimed-declined-search-result-list-element.component.html new file mode 100644 index 0000000000..f20696823c --- /dev/null +++ b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-declined-search-result/claimed-declined-search-result-list-element.component.html @@ -0,0 +1,10 @@ + + + diff --git a/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-declined-search-result/claimed-declined-search-result-list-element.component.ts b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-declined-search-result/claimed-declined-search-result-list-element.component.ts new file mode 100644 index 0000000000..14884ebd3d --- /dev/null +++ b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-declined-search-result/claimed-declined-search-result-list-element.component.ts @@ -0,0 +1,37 @@ +import { Component } from '@angular/core'; +import { Location, LocationStrategy, PathLocationStrategy } from '@angular/common'; + +import { AbstractClaimedSearchResultListElementComponent } from '../abstract-claimed-search-result-list-element.component'; +import { listableObjectComponent } from '../../../../object-collection/shared/listable-object/listable-object.decorator'; +import { ClaimedDeclinedTaskSearchResult } from '../../../../object-collection/shared/claimed-declined-task-search-result.model'; +import { ViewMode } from '../../../../../core/shared/view-mode.model'; +import { LinkService } from '../../../../../core/cache/builders/link.service'; +import { TruncatableService } from '../../../../truncatable/truncatable.service'; +import { MyDspaceItemStatusType } from '../../../../object-collection/shared/mydspace-item-status/my-dspace-item-status-type'; + +/** + * This component renders claimed task declined object for the search result in the list view. + */ +@Component({ + selector: 'ds-claimed-declined-search-result-list-element', + styleUrls: ['../../../search-result-list-element/search-result-list-element.component.scss'], + templateUrl: './claimed-declined-search-result-list-element.component.html', + providers: [Location, { provide: LocationStrategy, useClass: PathLocationStrategy }] +}) + +@listableObjectComponent(ClaimedDeclinedTaskSearchResult, ViewMode.ListElement) +export class ClaimedDeclinedSearchResultListElementComponent extends AbstractClaimedSearchResultListElementComponent { + + /** + * Represent item's status + */ + public status = MyDspaceItemStatusType.DECLINED; + + constructor( + protected linkService: LinkService, + protected truncatableService: TruncatableService + ) { + super(linkService, truncatableService); + } + +} diff --git a/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-search-result-list-element.component.html b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-search-result-list-element.component.html index b35a4f8741..30aac357a4 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-search-result-list-element.component.html +++ b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-search-result-list-element.component.html @@ -4,7 +4,6 @@ [object]="object" [showSubmitter]="showSubmitter" [status]="status"> - - + diff --git a/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-search-result-list-element.component.spec.ts b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-search-result-list-element.component.spec.ts index f06f3eac81..fc00775130 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-search-result-list-element.component.spec.ts +++ b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-search-result-list-element.component.spec.ts @@ -1,5 +1,5 @@ import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { async, ComponentFixture, fakeAsync, TestBed, tick} from '@angular/core/testing'; import { NoopAnimationsModule } from '@angular/platform-browser/animations'; import { of as observableOf } from 'rxjs'; @@ -15,12 +15,11 @@ import { TruncatableService } from '../../../truncatable/truncatable.service'; import { VarDirective } from '../../../utils/var.directive'; import { LinkService } from '../../../../core/cache/builders/link.service'; import { getMockLinkService } from '../../../mocks/link-service.mock'; +import { By } from '@angular/platform-browser'; let component: ClaimedSearchResultListElementComponent; let fixture: ComponentFixture; -const compIndex = 1; - const mockResultObject: ClaimedTaskSearchResult = new ClaimedTaskSearchResult(); mockResultObject.hitHighlights = {}; @@ -99,4 +98,16 @@ describe('ClaimedSearchResultListElementComponent', () => { it('should have properly status', () => { expect(component.status).toEqual(MyDspaceItemStatusType.VALIDATION); }); + + it('should forward claimed-task-actions processComplete event to reloadObject event emitter', fakeAsync(() => { + spyOn(component.reloadedObject, 'emit').and.callThrough(); + const actionPayload: any = { reloadedObject: {}}; + + const actionsComponent = fixture.debugElement.query(By.css('ds-claimed-task-actions')); + actionsComponent.triggerEventHandler('processCompleted', actionPayload) + tick(); + + expect(component.reloadedObject.emit).toHaveBeenCalledWith(actionPayload.reloadedObject); + + })); }); diff --git a/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-search-result-list-element.component.ts b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-search-result-list-element.component.ts index d149595514..7c1033ba53 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-search-result-list-element.component.ts +++ b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-search-result-list-element.component.ts @@ -1,63 +1,27 @@ import { Component } from '@angular/core'; import { Location, LocationStrategy, PathLocationStrategy } from '@angular/common'; -import { Observable } from 'rxjs'; - import { ViewMode } from '../../../../core/shared/view-mode.model'; -import { RemoteData } from '../../../../core/data/remote-data'; -import { WorkflowItem } from '../../../../core/submission/models/workflowitem.model'; -import { ClaimedTask } from '../../../../core/tasks/models/claimed-task-object.model'; -import { MyDspaceItemStatusType } from '../../../object-collection/shared/mydspace-item-status/my-dspace-item-status-type'; import { listableObjectComponent } from '../../../object-collection/shared/listable-object/listable-object.decorator'; import { ClaimedTaskSearchResult } from '../../../object-collection/shared/claimed-task-search-result.model'; -import { SearchResultListElementComponent } from '../../search-result-list-element/search-result-list-element.component'; -import { followLink } from '../../../utils/follow-link-config.model'; import { LinkService } from '../../../../core/cache/builders/link.service'; import { TruncatableService } from '../../../truncatable/truncatable.service'; +import { AbstractClaimedSearchResultListElementComponent } from './abstract-claimed-search-result-list-element.component'; -/** - * This component renders claimed task object for the search result in the list view. - */ @Component({ selector: 'ds-claimed-search-result-list-element', styleUrls: ['../../search-result-list-element/search-result-list-element.component.scss'], templateUrl: './claimed-search-result-list-element.component.html', providers: [Location, { provide: LocationStrategy, useClass: PathLocationStrategy }] }) - @listableObjectComponent(ClaimedTaskSearchResult, ViewMode.ListElement) -export class ClaimedSearchResultListElementComponent extends SearchResultListElementComponent { - - /** - * A boolean representing if to show submitter information - */ - public showSubmitter = true; - - /** - * Represent item's status - */ - public status = MyDspaceItemStatusType.VALIDATION; - - /** - * The workflowitem object that belonging to the result object - */ - public workflowitemRD$: Observable>; +export class ClaimedSearchResultListElementComponent extends AbstractClaimedSearchResultListElementComponent { constructor( protected linkService: LinkService, protected truncatableService: TruncatableService ) { - super(truncatableService); + super(linkService, truncatableService); } - /** - * Initialize all instance variables - */ - ngOnInit() { - super.ngOnInit(); - this.linkService.resolveLinks(this.dso, followLink('workflowitem', null, true, - followLink('item'), followLink('submitter') - ), followLink('action')); - this.workflowitemRD$ = this.dso.workflowitem as Observable>; - } } diff --git a/src/app/shared/object-list/my-dspace-result-list-element/item-search-result/item-search-result-list-element-submission.component.html b/src/app/shared/object-list/my-dspace-result-list-element/item-search-result/item-search-result-list-element-submission.component.html index e1b1435481..e422a84641 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/item-search-result/item-search-result-list-element-submission.component.html +++ b/src/app/shared/object-list/my-dspace-result-list-element/item-search-result/item-search-result-list-element-submission.component.html @@ -2,4 +2,4 @@ [object]="object" [status]="status"> - + diff --git a/src/app/shared/object-list/my-dspace-result-list-element/item-search-result/item-search-result-list-element-submission.component.spec.ts b/src/app/shared/object-list/my-dspace-result-list-element/item-search-result/item-search-result-list-element-submission.component.spec.ts index 45af23320f..0149e0a807 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/item-search-result/item-search-result-list-element-submission.component.spec.ts +++ b/src/app/shared/object-list/my-dspace-result-list-element/item-search-result/item-search-result-list-element-submission.component.spec.ts @@ -1,5 +1,5 @@ import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { async, ComponentFixture, fakeAsync, TestBed, tick } from '@angular/core/testing'; import { NoopAnimationsModule } from '@angular/platform-browser/animations'; import { of as observableOf } from 'rxjs'; @@ -9,12 +9,11 @@ import { MyDspaceItemStatusType } from '../../../object-collection/shared/mydspa import { ItemSearchResult } from '../../../object-collection/shared/item-search-result.model'; import { ItemSearchResultListElementSubmissionComponent } from './item-search-result-list-element-submission.component'; import { TruncatableService } from '../../../truncatable/truncatable.service'; +import { By } from '@angular/platform-browser'; let component: ItemSearchResultListElementSubmissionComponent; let fixture: ComponentFixture; -const compIndex = 1; - const mockResultObject: ItemSearchResult = new ItemSearchResult(); mockResultObject.hitHighlights = {}; @@ -75,4 +74,16 @@ describe('ItemMyDSpaceResultListElementComponent', () => { it('should have properly status', () => { expect(component.status).toEqual(MyDspaceItemStatusType.ARCHIVED); }); + + it('should forward item-actions processComplete event to reloadObject event emitter', fakeAsync(() => { + spyOn(component.reloadedObject, 'emit').and.callThrough(); + const actionPayload: any = { reloadedObject: {}}; + + const actionsComponent = fixture.debugElement.query(By.css('ds-item-actions')); + actionsComponent.triggerEventHandler('processCompleted', actionPayload) + tick(); + + expect(component.reloadedObject.emit).toHaveBeenCalledWith(actionPayload.reloadedObject); + + })); }); diff --git a/src/app/shared/object-list/my-dspace-result-list-element/pool-search-result/pool-search-result-list-element.component.html b/src/app/shared/object-list/my-dspace-result-list-element/pool-search-result/pool-search-result-list-element.component.html index 9358e35bed..25e2c4f8c4 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/pool-search-result/pool-search-result-list-element.component.html +++ b/src/app/shared/object-list/my-dspace-result-list-element/pool-search-result/pool-search-result-list-element.component.html @@ -4,6 +4,5 @@ [object]="object" [showSubmitter]="showSubmitter" [status]="status"> - - + diff --git a/src/app/shared/object-list/my-dspace-result-list-element/pool-search-result/pool-search-result-list-element.component.spec.ts b/src/app/shared/object-list/my-dspace-result-list-element/pool-search-result/pool-search-result-list-element.component.spec.ts index fbeb63c667..7f4e50798e 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/pool-search-result/pool-search-result-list-element.component.spec.ts +++ b/src/app/shared/object-list/my-dspace-result-list-element/pool-search-result/pool-search-result-list-element.component.spec.ts @@ -1,5 +1,5 @@ -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import {ChangeDetectionStrategy, Injector, NO_ERRORS_SCHEMA} from '@angular/core'; +import { async, ComponentFixture, fakeAsync, TestBed, tick } from '@angular/core/testing'; import { NoopAnimationsModule } from '@angular/platform-browser/animations'; import { of as observableOf } from 'rxjs'; @@ -15,12 +15,11 @@ import { TruncatableService } from '../../../truncatable/truncatable.service'; import { VarDirective } from '../../../utils/var.directive'; import { LinkService } from '../../../../core/cache/builders/link.service'; import { getMockLinkService } from '../../../mocks/link-service.mock'; +import { By } from '@angular/platform-browser'; let component: PoolSearchResultListElementComponent; let fixture: ComponentFixture; -const compIndex = 1; - const mockResultObject: PoolTaskSearchResult = new PoolTaskSearchResult(); mockResultObject.hitHighlights = {}; @@ -99,4 +98,15 @@ describe('PoolSearchResultListElementComponent', () => { it('should have properly status', () => { expect(component.status).toEqual(MyDspaceItemStatusType.WAITING_CONTROLLER); }); + + it('should forward pool-task-actions processCompleted event to the reloadedObject event emitter', fakeAsync(() => { + spyOn(component.reloadedObject, 'emit').and.callThrough(); + const actionPayload: any = { reloadedObject: {}}; + const actionsComponents = fixture.debugElement.query(By.css('ds-pool-task-actions')); + actionsComponents.triggerEventHandler('processCompleted', actionPayload) + tick(); + + expect(component.reloadedObject.emit).toHaveBeenCalledWith(actionPayload.reloadedObject); + + })); }); diff --git a/src/app/shared/object-list/my-dspace-result-list-element/pool-search-result/pool-search-result-list-element.component.ts b/src/app/shared/object-list/my-dspace-result-list-element/pool-search-result/pool-search-result-list-element.component.ts index 0953af3c76..14e547c173 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/pool-search-result/pool-search-result-list-element.component.ts +++ b/src/app/shared/object-list/my-dspace-result-list-element/pool-search-result/pool-search-result-list-element.component.ts @@ -63,4 +63,5 @@ export class PoolSearchResultListElementComponent extends SearchResultListElemen ), followLink('action')); this.workflowitemRD$ = this.dso.workflowitem as Observable>; } + } diff --git a/src/app/shared/object-list/my-dspace-result-list-element/workflow-item-search-result/workflow-item-search-result-list-element.component.html b/src/app/shared/object-list/my-dspace-result-list-element/workflow-item-search-result/workflow-item-search-result-list-element.component.html index ced2846b4b..74fc5fd06d 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/workflow-item-search-result/workflow-item-search-result-list-element.component.html +++ b/src/app/shared/object-list/my-dspace-result-list-element/workflow-item-search-result/workflow-item-search-result-list-element.component.html @@ -4,7 +4,7 @@ [object]="object" [status]="status"> - + ; -const compIndex = 1; - const mockResultObject: WorkflowItemSearchResult = new WorkflowItemSearchResult(); mockResultObject.hitHighlights = {}; @@ -96,4 +95,16 @@ describe('WorkflowItemSearchResultListElementComponent', () => { it('should have properly status', () => { expect(component.status).toEqual(MyDspaceItemStatusType.WORKFLOW); }); + + it('should forward workflowitem-actions processCompleted event to the reloadedObject event emitter', fakeAsync(() => { + spyOn(component.reloadedObject, 'emit').and.callThrough(); + const actionPayload: any = { reloadedObject: {}}; + + const actionsComponent = fixture.debugElement.query(By.css('ds-workflowitem-actions')); + actionsComponent.triggerEventHandler('processCompleted', actionPayload) + tick(); + + expect(component.reloadedObject.emit).toHaveBeenCalledWith(actionPayload.reloadedObject); + + })); }); diff --git a/src/app/shared/object-list/my-dspace-result-list-element/workspace-item-search-result/workspace-item-search-result-list-element.component.html b/src/app/shared/object-list/my-dspace-result-list-element/workspace-item-search-result/workspace-item-search-result-list-element.component.html index 8966b4b1d8..41d95b87af 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/workspace-item-search-result/workspace-item-search-result-list-element.component.html +++ b/src/app/shared/object-list/my-dspace-result-list-element/workspace-item-search-result/workspace-item-search-result-list-element.component.html @@ -4,7 +4,7 @@ [object]="object" [status]="status"> - + ; -const compIndex = 1; - const mockResultObject: WorkflowItemSearchResult = new WorkflowItemSearchResult(); mockResultObject.hitHighlights = {}; @@ -95,4 +94,17 @@ describe('WorkspaceItemSearchResultListElementComponent', () => { it('should have properly status', () => { expect(component.status).toEqual(MyDspaceItemStatusType.WORKSPACE); }); + + it('should forward workspaceitem-actions processCompleted event to the reloadedObject event emitter', fakeAsync(() => { + + spyOn(component.reloadedObject, 'emit').and.callThrough(); + const actionPayload: any = { reloadedObject: {}}; + + const actionsComponent = fixture.debugElement.query(By.css('ds-workspaceitem-actions')); + actionsComponent.triggerEventHandler('processCompleted', actionPayload) + tick(); + + expect(component.reloadedObject.emit).toHaveBeenCalledWith(actionPayload.reloadedObject); + + })); }); diff --git a/src/app/shared/object-list/search-result-list-element/search-result-list-element.component.ts b/src/app/shared/object-list/search-result-list-element/search-result-list-element.component.ts index 54e8c9de01..93e87d3db7 100644 --- a/src/app/shared/object-list/search-result-list-element/search-result-list-element.component.ts +++ b/src/app/shared/object-list/search-result-list-element/search-result-list-element.component.ts @@ -1,4 +1,4 @@ -import { Component, Inject, OnInit } from '@angular/core'; +import { Component, EventEmitter, OnInit, Output } from '@angular/core'; import { Observable } from 'rxjs'; import { SearchResult } from '../../search/search-result.model'; @@ -12,7 +12,6 @@ import { Metadata } from '../../../core/shared/metadata.utils'; selector: 'ds-search-result-list-element', template: `` }) - export class SearchResultListElementComponent, K extends DSpaceObject> extends AbstractListableElementComponent implements OnInit { /** * The DSpaceObject of the search result diff --git a/src/environments/environment.common.ts b/src/environments/environment.common.ts index eb961a38eb..f107e79c97 100644 --- a/src/environments/environment.common.ts +++ b/src/environments/environment.common.ts @@ -22,9 +22,9 @@ export const environment: GlobalConfig = { // The REST API server settings. // NOTE: these must be "synced" with the 'dspace.server.url' setting in your backend's local.cfg. rest: { - ssl: true, - host: 'dspace7.4science.cloud', - port: 443, + ssl: false, + host: 'localhost', + port: 8080, // NOTE: Space is capitalized because 'namespace' is a reserved string in TypeScript nameSpace: '/server', }, From 8013260f78024be04d1207c6df67bbda59d394e7 Mon Sep 17 00:00:00 2001 From: Alessandro Martelli Date: Tue, 22 Dec 2020 13:28:44 +0100 Subject: [PATCH 002/106] [CSTPER-3620] Workflow Actions refresh entire MyDSpace page instead of just WorkflowItem Task Service implementation. ReloadableAction abstraction. --- ...claimed-task-actions-abstract.component.ts | 5 +- ...imed-task-actions-loader.component.spec.ts | 21 +- .../mydspace-reloadable-actions.spec.ts | 260 ++++++++++++++++++ .../mydspace-reloadable-actions.ts | 10 +- .../pool-task-actions.component.spec.ts | 153 +---------- 5 files changed, 294 insertions(+), 155 deletions(-) create mode 100644 src/app/shared/mydspace-actions/mydspace-reloadable-actions.spec.ts diff --git a/src/app/shared/mydspace-actions/claimed-task/abstract/claimed-task-actions-abstract.component.ts b/src/app/shared/mydspace-actions/claimed-task/abstract/claimed-task-actions-abstract.component.ts index 9e75cf1f5e..eb43a33a20 100644 --- a/src/app/shared/mydspace-actions/claimed-task/abstract/claimed-task-actions-abstract.component.ts +++ b/src/app/shared/mydspace-actions/claimed-task/abstract/claimed-task-actions-abstract.component.ts @@ -79,7 +79,10 @@ export abstract class ClaimedTaskActionsAbstractComponent extends MyDSpaceReload * Retrieve the itemUuid. */ initReloadAnchor() { - (this.object as any).workflowitem.pipe( + if (!(this.object as any).workflowitem) { + return; + } + this.object.workflowitem.pipe( getFirstSucceededRemoteDataPayload(), switchMap((workflowItem: WorkflowItem) => workflowItem.item.pipe(getFirstSucceededRemoteDataPayload()) )) diff --git a/src/app/shared/mydspace-actions/claimed-task/switcher/claimed-task-actions-loader.component.spec.ts b/src/app/shared/mydspace-actions/claimed-task/switcher/claimed-task-actions-loader.component.spec.ts index 036b08634a..fc37cf4fea 100644 --- a/src/app/shared/mydspace-actions/claimed-task/switcher/claimed-task-actions-loader.component.spec.ts +++ b/src/app/shared/mydspace-actions/claimed-task/switcher/claimed-task-actions-loader.component.spec.ts @@ -1,6 +1,6 @@ import { ClaimedTaskActionsLoaderComponent } from './claimed-task-actions-loader.component'; import { async, ComponentFixture, TestBed } from '@angular/core/testing'; -import { ChangeDetectionStrategy, ComponentFactoryResolver, NO_ERRORS_SCHEMA } from '@angular/core'; +import { ChangeDetectionStrategy, ComponentFactoryResolver, Injector, NO_ERRORS_SCHEMA } from '@angular/core'; import * as decorators from './claimed-task-actions-decorator'; import { ClaimedTaskActionsDirective } from './claimed-task-actions.directive'; import { ClaimedTask } from '../../../../core/tasks/models/claimed-task-object.model'; @@ -8,6 +8,19 @@ import { TranslateModule } from '@ngx-translate/core'; import { ClaimedTaskActionsEditMetadataComponent } from '../edit-metadata/claimed-task-actions-edit-metadata.component'; import { ClaimedTaskDataService } from '../../../../core/tasks/claimed-task-data.service'; import { spyOnExported } from '../../../testing/utils.test'; +import { NotificationsService } from '../../../notifications/notifications.service'; +import { NotificationsServiceStub } from '../../../testing/notifications-service.stub'; +import { Router } from '@angular/router'; +import { RouterStub } from '../../../testing/router.stub'; +import { SearchService } from '../../../../core/shared/search/search.service'; +import { RequestService } from '../../../../core/data/request.service'; +import { PoolTaskDataService } from '../../../../core/tasks/pool-task-data.service'; +import { getMockSearchService } from '../../../mocks/search-service.mock'; +import { getMockRequestService } from '../../../mocks/request.service.mock'; + +const searchService = getMockSearchService(); + +const requestService = getMockRequestService(); describe('ClaimedTaskActionsLoaderComponent', () => { let comp: ClaimedTaskActionsLoaderComponent; @@ -23,6 +36,12 @@ describe('ClaimedTaskActionsLoaderComponent', () => { schemas: [NO_ERRORS_SCHEMA], providers: [ { provide: ClaimedTaskDataService, useValue: {} }, + { provide: Injector, useValue: {} }, + { provide: NotificationsService, useValue: new NotificationsServiceStub() }, + { provide: Router, useValue: new RouterStub() }, + { provide: SearchService, useValue: searchService }, + { provide: RequestService, useValue: requestService }, + { provide: PoolTaskDataService, useValue: {} }, ComponentFactoryResolver ] }).overrideComponent(ClaimedTaskActionsLoaderComponent, { diff --git a/src/app/shared/mydspace-actions/mydspace-reloadable-actions.spec.ts b/src/app/shared/mydspace-actions/mydspace-reloadable-actions.spec.ts new file mode 100644 index 0000000000..609dad39d2 --- /dev/null +++ b/src/app/shared/mydspace-actions/mydspace-reloadable-actions.spec.ts @@ -0,0 +1,260 @@ +import { ChangeDetectionStrategy, Injector, NO_ERRORS_SCHEMA } from '@angular/core'; +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { Router } from '@angular/router'; +import { of as observableOf } from 'rxjs'; +import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; +import { PoolTaskDataService } from '../../core/tasks/pool-task-data.service'; +import { ClaimedTaskDataService } from '../../core/tasks/claimed-task-data.service'; +import { PoolTaskActionsComponent } from './pool-task/pool-task-actions.component'; +import { PoolTask } from '../../core/tasks/models/pool-task-object.model'; +import { NotificationsServiceStub } from '../testing/notifications-service.stub'; +import { RouterStub } from '../testing/router.stub'; +import { getMockSearchService } from '../mocks/search-service.mock'; +import { getMockRequestService } from '../mocks/request.service.mock'; +import { Item } from '../../core/shared/item.model'; +import { createFailedRemoteDataObject, createSuccessfulRemoteDataObject } from '../remote-data.utils'; +import { WorkflowItem } from '../../core/submission/models/workflowitem.model'; +import { TranslateLoaderMock } from '../mocks/translate-loader.mock'; +import { NotificationsService } from '../notifications/notifications.service'; +import { SearchService } from '../../core/shared/search/search.service'; +import { RequestService } from '../../core/data/request.service'; +import { ProcessTaskResponse } from '../../core/tasks/models/process-task-response'; + +let mockDataService: PoolTaskDataService; +let mockClaimedTaskDataService: ClaimedTaskDataService; + +let component: PoolTaskActionsComponent; +let fixture: ComponentFixture; + +let mockObject: PoolTask; +let notificationsServiceStub: NotificationsServiceStub; +let router: RouterStub; + +const searchService = getMockSearchService(); + +const requestService = getMockRequestService(); + +const item = Object.assign(new Item(), { + bundles: observableOf({}), + metadata: { + 'dc.title': [ + { + language: 'en_US', + value: 'This is just another title' + } + ], + 'dc.type': [ + { + language: null, + value: 'Article' + } + ], + 'dc.contributor.author': [ + { + language: 'en_US', + value: 'Smith, Donald' + } + ], + 'dc.date.issued': [ + { + language: null, + value: '2015-06-26' + } + ] + } +}); +const rdItem = createSuccessfulRemoteDataObject(item); +const workflowitem = Object.assign(new WorkflowItem(), { item: observableOf(rdItem) }); +const rdWorkflowitem = createSuccessfulRemoteDataObject(workflowitem); +mockObject = Object.assign(new PoolTask(), { workflowitem: observableOf(rdWorkflowitem), id: '1234' }); + +describe('MyDSpaceReloadableActionsComponent', () => { + beforeEach(async(() => { + mockDataService = new PoolTaskDataService(null, null, null, null, null, null, null, null) + mockClaimedTaskDataService = new ClaimedTaskDataService(null, null, null, null, null, null, null, null); + TestBed.configureTestingModule({ + imports: [ + TranslateModule.forRoot({ + loader: { + provide: TranslateLoader, + useClass: TranslateLoaderMock + } + }) + ], + declarations: [PoolTaskActionsComponent], + providers: [ + { provide: Injector, useValue: {} }, + { provide: NotificationsService, useValue: new NotificationsServiceStub() }, + { provide: Router, useValue: new RouterStub() }, + { provide: PoolTaskDataService, useValue: mockDataService }, + { provide: ClaimedTaskDataService, useValue: mockClaimedTaskDataService }, + { provide: SearchService, useValue: searchService }, + { provide: RequestService, useValue: requestService } + ], + schemas: [NO_ERRORS_SCHEMA] + }).overrideComponent(PoolTaskActionsComponent, { + set: { changeDetection: ChangeDetectionStrategy.Default } + }).compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(PoolTaskActionsComponent); + component = fixture.componentInstance; + component.object = mockObject; + notificationsServiceStub = TestBed.get(NotificationsService); + router = TestBed.get(Router); + fixture.detectChanges(); + }); + + afterEach(() => { + fixture = null; + component = null; + }); + + describe('on reload action init', () => { + + beforeEach(() => { + spyOn(component, 'initReloadAnchor').and.returnValue(null); + spyOn(component, 'initObjects'); + }); + + it('should call initReloadAnchor and initObjects on init', async(() => { + component.ngOnInit(); + + fixture.detectChanges(); + + fixture.whenStable().then(() => { + expect(component.initReloadAnchor).toHaveBeenCalled(); + expect(component.initObjects).toHaveBeenCalled(); + }); + + })); + + }) + + describe('on action execution fail', () => { + + let remoteClaimTaskErrorResponse; + + beforeEach(() => { + + mockDataService = new PoolTaskDataService(null, null, null, null, null, null, null, null); + + const poolTaskHref = 'poolTaskHref'; + remoteClaimTaskErrorResponse = new ProcessTaskResponse(false, null, null); + const remoteReloadedObjectResponse: any = createSuccessfulRemoteDataObject(new PoolTask()); + + spyOn(mockDataService, 'getPoolTaskEndpointById').and.returnValue(observableOf(poolTaskHref)); + spyOn(mockClaimedTaskDataService, 'findByItem').and.returnValue(observableOf(remoteReloadedObjectResponse)); + spyOn(mockClaimedTaskDataService, 'claimTask').and.returnValue(observableOf(remoteClaimTaskErrorResponse)); + spyOn(component, 'reloadObjectExecution').and.callThrough(); + spyOn(component.processCompleted, 'emit').and.callThrough(); + + (component as any).objectDataService = mockDataService; + }); + + it('should show error notification', (done) => { + + component.startActionExecution().subscribe( (result) => { + expect(notificationsServiceStub.error).toHaveBeenCalled(); + done(); + }) + }); + + it('should not call reloadObject', (done) => { + + component.startActionExecution().subscribe( (result) => { + expect(component.reloadObjectExecution).not.toHaveBeenCalled(); + done(); + }) + + }); + + it('should not emit processCompleted', (done) => { + + component.startActionExecution().subscribe( (result) => { + expect(component.processCompleted.emit).not.toHaveBeenCalled(); + done(); + }) + + }); + + }); + + describe('on action execution success', () => { + + beforeEach(() => { + + mockDataService = new PoolTaskDataService(null, null, null, null, null, null, null, null); + + const poolTaskHref = 'poolTaskHref'; + const remoteClaimTaskResponse: any = new ProcessTaskResponse(true, null, null); + const remoteReloadedObjectResponse: any = createSuccessfulRemoteDataObject(new PoolTask()); + + spyOn(mockDataService, 'getPoolTaskEndpointById').and.returnValue(observableOf(poolTaskHref)); + spyOn(mockClaimedTaskDataService, 'findByItem').and.returnValue(observableOf(remoteReloadedObjectResponse)); + spyOn(mockClaimedTaskDataService, 'claimTask').and.returnValue(observableOf(remoteClaimTaskResponse)); + spyOn(component, 'reloadObjectExecution').and.callThrough(); + spyOn(component, 'convertReloadedObject').and.callThrough(); + spyOn(component.processCompleted, 'emit').and.callThrough(); + + (component as any).objectDataService = mockDataService; + }); + + it('should reloadObject in case of action execution success', (done) => { + + component.startActionExecution().subscribe( (result) => { + expect(component.reloadObjectExecution).toHaveBeenCalled(); + done(); + }) + }); + + it('should convert the reloaded object', (done) => { + + component.startActionExecution().subscribe( (result) => { + expect(component.convertReloadedObject).toHaveBeenCalled(); + done(); + }) + }); + + it('should emit the reloaded object in case of success', (done) => { + + component.startActionExecution().subscribe( (result) => { + expect(component.processCompleted.emit).toHaveBeenCalledWith({result: true, reloadedObject: result as any}); + done(); + }) + }); + + }); + + describe('on action execution success but without a reloadedObject', () => { + + beforeEach(() => { + + mockDataService = new PoolTaskDataService(null, null, null, null, null, null, null, null); + + const poolTaskHref = 'poolTaskHref'; + const remoteClaimTaskResponse: any = new ProcessTaskResponse(true, null, null); + const remoteReloadedObjectResponse: any = createFailedRemoteDataObject(); + + spyOn(mockDataService, 'getPoolTaskEndpointById').and.returnValue(observableOf(poolTaskHref)); + spyOn(mockClaimedTaskDataService, 'findByItem').and.returnValue(observableOf(remoteReloadedObjectResponse)); + spyOn(mockClaimedTaskDataService, 'claimTask').and.returnValue(observableOf(remoteClaimTaskResponse)); + + spyOn(component, 'convertReloadedObject').and.returnValue(null); + spyOn(component, 'reload').and.returnValue(null); + + (component as any).objectDataService = mockDataService; + }); + + it('should call reload method', (done) => { + + component.startActionExecution().subscribe( (result) => { + expect(component.reload).toHaveBeenCalled(); + done(); + }) + }); + + }); + +}); diff --git a/src/app/shared/mydspace-actions/mydspace-reloadable-actions.ts b/src/app/shared/mydspace-actions/mydspace-reloadable-actions.ts index 4fe3afd833..14928f156c 100644 --- a/src/app/shared/mydspace-actions/mydspace-reloadable-actions.ts +++ b/src/app/shared/mydspace-actions/mydspace-reloadable-actions.ts @@ -15,7 +15,7 @@ import { SearchService } from '../../core/shared/search/search.service'; import { Observable} from 'rxjs/internal/Observable'; import { of} from 'rxjs/internal/observable/of'; import { ProcessTaskResponse } from '../../core/tasks/models/process-task-response'; -import { getFirstSucceededRemoteDataPayload } from '../../core/shared/operators'; +import { getFirstCompletedRemoteData } from '../../core/shared/operators'; import { getSearchResultFor } from '../search/search-result-element-decorator'; import { MyDSpaceActionsComponent } from './mydspace-actions'; @@ -128,9 +128,13 @@ export abstract class MyDSpaceReloadableActionsComponent { return this.reloadObjectExecution().pipe( switchMap((res) => { - return res instanceof RemoteData ? of(res).pipe(getFirstSucceededRemoteDataPayload()) : of(res) + if (res instanceof RemoteData) { + return of(res).pipe(getFirstCompletedRemoteData(), map((completed) => completed.payload)) + } else { + return of(res); + } })).pipe(map((dso) => { - return this.convertReloadedObject(dso); + return dso ? this.convertReloadedObject(dso) : dso; })) } diff --git a/src/app/shared/mydspace-actions/pool-task/pool-task-actions.component.spec.ts b/src/app/shared/mydspace-actions/pool-task/pool-task-actions.component.spec.ts index 3b4eb23430..e8777d7a27 100644 --- a/src/app/shared/mydspace-actions/pool-task/pool-task-actions.component.spec.ts +++ b/src/app/shared/mydspace-actions/pool-task/pool-task-actions.component.spec.ts @@ -16,7 +16,7 @@ import { PoolTaskDataService } from '../../../core/tasks/pool-task-data.service' import { PoolTaskActionsComponent } from './pool-task-actions.component'; import { PoolTask } from '../../../core/tasks/models/pool-task-object.model'; import { WorkflowItem } from '../../../core/submission/models/workflowitem.model'; -import { createFailedRemoteDataObject, createSuccessfulRemoteDataObject } from '../../remote-data.utils'; +import { createSuccessfulRemoteDataObject } from '../../remote-data.utils'; import { getMockRequestService } from '../../mocks/request.service.mock'; import { RequestService } from '../../../core/data/request.service'; import { getMockSearchService } from '../../mocks/search-service.mock'; @@ -37,7 +37,7 @@ let router: RouterStub; const searchService = getMockSearchService(); -const requestServce = getMockRequestService(); +const requestService = getMockRequestService(); const item = Object.assign(new Item(), { bundles: observableOf({}), @@ -94,7 +94,7 @@ describe('PoolTaskActionsComponent', () => { { provide: PoolTaskDataService, useValue: mockDataService }, { provide: ClaimedTaskDataService, useValue: mockClaimedTaskDataService }, { provide: SearchService, useValue: searchService }, - { provide: RequestService, useValue: requestServce } + { provide: RequestService, useValue: requestService } ], schemas: [NO_ERRORS_SCHEMA] }).overrideComponent(PoolTaskActionsComponent, { @@ -164,151 +164,4 @@ describe('PoolTaskActionsComponent', () => { })); - // general reload assertion - describe('on reload action init', () => { - - beforeEach(() => { - spyOn(component, 'initReloadAnchor').and.returnValue(null); - spyOn(component, 'initObjects'); - }); - - it('should call initReloadAnchor and initObjects on init', async(() => { - component.ngOnInit(); - - fixture.detectChanges(); - - fixture.whenStable().then(() => { - expect(component.initReloadAnchor).toHaveBeenCalled(); - expect(component.initObjects).toHaveBeenCalled(); - }); - - })); - - }) - - describe('on action execution fail', () => { - - let remoteClaimTaskErrorResponse; - - beforeEach(() => { - - mockDataService = new PoolTaskDataService(null, null, null, null, null, null, null, null); - - const poolTaskHref = 'poolTaskHref'; - remoteClaimTaskErrorResponse = new ProcessTaskResponse(false, null, null); - const remoteReloadedObjectResponse: any = createSuccessfulRemoteDataObject(new PoolTask()); - - spyOn(mockDataService, 'getPoolTaskEndpointById').and.returnValue(observableOf(poolTaskHref)); - spyOn(mockClaimedTaskDataService, 'findByItem').and.returnValue(observableOf(remoteReloadedObjectResponse)); - spyOn(mockClaimedTaskDataService, 'claimTask').and.returnValue(observableOf(remoteClaimTaskErrorResponse)); - spyOn(component, 'reloadObjectExecution').and.callThrough(); - spyOn(component.processCompleted, 'emit').and.callThrough(); - - (component as any).objectDataService = mockDataService; - }); - - it('should show error notification', (done) => { - - component.startActionExecution().subscribe( (result) => { - expect(notificationsServiceStub.error).toHaveBeenCalled(); - done(); - }) - }); - - it('should not call reloadObject', (done) => { - - component.startActionExecution().subscribe( (result) => { - expect(component.reloadObjectExecution).not.toHaveBeenCalled(); - done(); - }) - - }); - - it('should not emit processCompleted', (done) => { - - component.startActionExecution().subscribe( (result) => { - expect(component.processCompleted.emit).not.toHaveBeenCalled(); - done(); - }) - - }); - - }); - - describe('on action execution success', () => { - - beforeEach(() => { - - mockDataService = new PoolTaskDataService(null, null, null, null, null, null, null, null); - - const poolTaskHref = 'poolTaskHref'; - const remoteClaimTaskResponse: any = new ProcessTaskResponse(true, null, null); - const remoteReloadedObjectResponse: any = createSuccessfulRemoteDataObject(new PoolTask()); - - spyOn(mockDataService, 'getPoolTaskEndpointById').and.returnValue(observableOf(poolTaskHref)); - spyOn(mockClaimedTaskDataService, 'findByItem').and.returnValue(observableOf(remoteReloadedObjectResponse)); - spyOn(mockClaimedTaskDataService, 'claimTask').and.returnValue(observableOf(remoteClaimTaskResponse)); - spyOn(component, 'reloadObjectExecution').and.callThrough(); - spyOn(component, 'convertReloadedObject').and.callThrough(); - spyOn(component.processCompleted, 'emit').and.callThrough(); - - (component as any).objectDataService = mockDataService; - }); - - it('should reloadObject in case of action execution success', (done) => { - - component.startActionExecution().subscribe( (result) => { - expect(component.reloadObjectExecution).toHaveBeenCalled(); - done(); - }) - }); - - it('should convert the reloaded object', (done) => { - - component.startActionExecution().subscribe( (result) => { - expect(component.convertReloadedObject).toHaveBeenCalled(); - done(); - }) - }); - - it('should emit the reloaded object in case of success', (done) => { - - component.startActionExecution().subscribe( (result) => { - expect(component.processCompleted.emit).toHaveBeenCalledWith({result: true, reloadedObject: result as any}); - done(); - }) - }); - - }); - - describe('on action execution success but without a reloadedObject', () => { - - beforeEach(() => { - - mockDataService = new PoolTaskDataService(null, null, null, null, null, null, null, null); - - const poolTaskHref = 'poolTaskHref'; - const remoteClaimTaskResponse: any = new ProcessTaskResponse(true, null, null); - const remoteReloadedObjectResponse: any = createFailedRemoteDataObject(); - - spyOn(mockDataService, 'getPoolTaskEndpointById').and.returnValue(observableOf(poolTaskHref)); - spyOn(mockClaimedTaskDataService, 'findByItem').and.returnValue(observableOf(remoteReloadedObjectResponse)); - spyOn(mockClaimedTaskDataService, 'claimTask').and.returnValue(observableOf(remoteClaimTaskResponse)); - - spyOn(component, 'convertReloadedObject').and.returnValue(null); - spyOn(component, 'reload').and.returnValue(null); - - (component as any).objectDataService = mockDataService; - }); - - it('should call reload method', (done) => { - - component.startActionExecution().subscribe( (result) => { - expect(component.reload).toHaveBeenCalled(); - done(); - }) - }); - - }); - }); From 704d67da79fd7639a9097b56b85a36410e82ada1 Mon Sep 17 00:00:00 2001 From: Alessandro Martelli Date: Tue, 22 Dec 2020 15:53:43 +0100 Subject: [PATCH 003/106] [CSTPER-3620] Workflow Actions refresh entire MyDSpace page instead of just WorkflowItem Removed abstraction on claimed-search-result-list-element components --- ...ed-search-result-list-element.component.ts | 51 ------------------- ...ed-search-result-list-element.component.ts | 38 +++++++++++--- ...ed-search-result-list-element.component.ts | 38 +++++++++++--- ...ed-search-result-list-element.component.ts | 40 +++++++++++++-- .../search-result-list-element.component.ts | 2 +- 5 files changed, 101 insertions(+), 68 deletions(-) delete mode 100644 src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/abstract-claimed-search-result-list-element.component.ts diff --git a/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/abstract-claimed-search-result-list-element.component.ts b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/abstract-claimed-search-result-list-element.component.ts deleted file mode 100644 index 3dab2f844f..0000000000 --- a/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/abstract-claimed-search-result-list-element.component.ts +++ /dev/null @@ -1,51 +0,0 @@ -import { Observable } from 'rxjs'; - -import { RemoteData } from '../../../../core/data/remote-data'; -import { WorkflowItem } from '../../../../core/submission/models/workflowitem.model'; -import { ClaimedTask } from '../../../../core/tasks/models/claimed-task-object.model'; -import { MyDspaceItemStatusType } from '../../../object-collection/shared/mydspace-item-status/my-dspace-item-status-type'; -import { ClaimedTaskSearchResult } from '../../../object-collection/shared/claimed-task-search-result.model'; -import { SearchResultListElementComponent } from '../../search-result-list-element/search-result-list-element.component'; -import { followLink } from '../../../utils/follow-link-config.model'; -import { LinkService } from '../../../../core/cache/builders/link.service'; -import { TruncatableService } from '../../../truncatable/truncatable.service'; - -/** - * This component renders claimed task object for the search result in the list view. - * The task can be claimed, claimed declined or claimed approved. - */ -export abstract class AbstractClaimedSearchResultListElementComponent extends SearchResultListElementComponent { - - /** - * A boolean representing if to show submitter information - */ - public showSubmitter = true; - - /** - * Represent item's status - */ - public status = MyDspaceItemStatusType.VALIDATION; - - /** - * The workflowitem object that belonging to the result object - */ - public workflowitemRD$: Observable>; - - protected constructor( - protected linkService: LinkService, - protected truncatableService: TruncatableService - ) { - super(truncatableService); - } - - /** - * Initialize all instance variables - */ - ngOnInit() { - super.ngOnInit(); - this.linkService.resolveLinks(this.dso, followLink('workflowitem', null, true, - followLink('item'), followLink('submitter') - ), followLink('action')); - this.workflowitemRD$ = this.dso.workflowitem as Observable>; - } -} diff --git a/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-approved-search-result/claimed-approved-search-result-list-element.component.ts b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-approved-search-result/claimed-approved-search-result-list-element.component.ts index f640a9e36e..70b576086d 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-approved-search-result/claimed-approved-search-result-list-element.component.ts +++ b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-approved-search-result/claimed-approved-search-result-list-element.component.ts @@ -3,10 +3,16 @@ import { LocationStrategy, PathLocationStrategy } from '@angular/common'; import { ViewMode } from '../../../../../core/shared/view-mode.model'; import { ClaimedApprovedTaskSearchResult } from '../../../../object-collection/shared/claimed-approved-task-search-result.model'; import { listableObjectComponent } from '../../../../object-collection/shared/listable-object/listable-object.decorator'; -import { AbstractClaimedSearchResultListElementComponent } from '../abstract-claimed-search-result-list-element.component'; import { LinkService } from '../../../../../core/cache/builders/link.service'; import { TruncatableService } from '../../../../truncatable/truncatable.service'; import { MyDspaceItemStatusType } from '../../../../object-collection/shared/mydspace-item-status/my-dspace-item-status-type'; +import { Observable } from 'rxjs'; +import { RemoteData } from '../../../../../core/data/remote-data'; +import { WorkflowItem } from '../../../../../core/submission/models/workflowitem.model'; +import { followLink } from '../../../../utils/follow-link-config.model'; +import { SearchResultListElementComponent } from '../../../search-result-list-element/search-result-list-element.component'; +import { ClaimedTaskSearchResult} from '../../../../object-collection/shared/claimed-task-search-result.model'; +import { ClaimedTask } from '../../../../../core/tasks/models/claimed-task-object.model'; /** * This component renders claimed task approved object for the search result in the list view. @@ -17,20 +23,40 @@ import { MyDspaceItemStatusType } from '../../../../object-collection/shared/myd templateUrl: './claimed-approved-search-result-list-element.component.html', providers: [Location, { provide: LocationStrategy, useClass: PathLocationStrategy }] }) - @listableObjectComponent(ClaimedApprovedTaskSearchResult, ViewMode.ListElement) -export class ClaimedApprovedSearchResultListElementComponent extends AbstractClaimedSearchResultListElementComponent { +export class ClaimedApprovedSearchResultListElementComponent extends SearchResultListElementComponent { + + /** + * A boolean representing if to show submitter information + */ + public showSubmitter = true; /** * Represent item's status */ - public status = MyDspaceItemStatusType.APPROVED; + public status = MyDspaceItemStatusType.VALIDATION; - constructor( + /** + * The workflowitem object that belonging to the result object + */ + public workflowitemRD$: Observable>; + + public constructor( protected linkService: LinkService, protected truncatableService: TruncatableService ) { - super(linkService, truncatableService); + super(truncatableService); + } + + /** + * Initialize all instance variables + */ + ngOnInit() { + super.ngOnInit(); + this.linkService.resolveLinks(this.dso, followLink('workflowitem', null, true, + followLink('item'), followLink('submitter') + ), followLink('action')); + this.workflowitemRD$ = this.dso.workflowitem as Observable>; } } diff --git a/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-declined-search-result/claimed-declined-search-result-list-element.component.ts b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-declined-search-result/claimed-declined-search-result-list-element.component.ts index 14884ebd3d..bfa29b04e1 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-declined-search-result/claimed-declined-search-result-list-element.component.ts +++ b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-declined-search-result/claimed-declined-search-result-list-element.component.ts @@ -1,13 +1,19 @@ import { Component } from '@angular/core'; import { Location, LocationStrategy, PathLocationStrategy } from '@angular/common'; -import { AbstractClaimedSearchResultListElementComponent } from '../abstract-claimed-search-result-list-element.component'; import { listableObjectComponent } from '../../../../object-collection/shared/listable-object/listable-object.decorator'; import { ClaimedDeclinedTaskSearchResult } from '../../../../object-collection/shared/claimed-declined-task-search-result.model'; import { ViewMode } from '../../../../../core/shared/view-mode.model'; import { LinkService } from '../../../../../core/cache/builders/link.service'; import { TruncatableService } from '../../../../truncatable/truncatable.service'; import { MyDspaceItemStatusType } from '../../../../object-collection/shared/mydspace-item-status/my-dspace-item-status-type'; +import { Observable } from 'rxjs'; +import { RemoteData } from '../../../../../core/data/remote-data'; +import { WorkflowItem } from '../../../../../core/submission/models/workflowitem.model'; +import { followLink } from '../../../../utils/follow-link-config.model'; +import { SearchResultListElementComponent } from '../../../search-result-list-element/search-result-list-element.component'; +import { ClaimedTaskSearchResult } from '../../../../object-collection/shared/claimed-task-search-result.model'; +import { ClaimedTask } from '../../../../../core/tasks/models/claimed-task-object.model'; /** * This component renders claimed task declined object for the search result in the list view. @@ -18,20 +24,40 @@ import { MyDspaceItemStatusType } from '../../../../object-collection/shared/myd templateUrl: './claimed-declined-search-result-list-element.component.html', providers: [Location, { provide: LocationStrategy, useClass: PathLocationStrategy }] }) - @listableObjectComponent(ClaimedDeclinedTaskSearchResult, ViewMode.ListElement) -export class ClaimedDeclinedSearchResultListElementComponent extends AbstractClaimedSearchResultListElementComponent { +export class ClaimedDeclinedSearchResultListElementComponent extends SearchResultListElementComponent { + + /** + * A boolean representing if to show submitter information + */ + public showSubmitter = true; /** * Represent item's status */ - public status = MyDspaceItemStatusType.DECLINED; + public status = MyDspaceItemStatusType.VALIDATION; - constructor( + /** + * The workflowitem object that belonging to the result object + */ + public workflowitemRD$: Observable>; + + public constructor( protected linkService: LinkService, protected truncatableService: TruncatableService ) { - super(linkService, truncatableService); + super(truncatableService); + } + + /** + * Initialize all instance variables + */ + ngOnInit() { + super.ngOnInit(); + this.linkService.resolveLinks(this.dso, followLink('workflowitem', null, true, + followLink('item'), followLink('submitter') + ), followLink('action')); + this.workflowitemRD$ = this.dso.workflowitem as Observable>; } } diff --git a/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-search-result-list-element.component.ts b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-search-result-list-element.component.ts index 7c1033ba53..651ed35dc1 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-search-result-list-element.component.ts +++ b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-search-result-list-element.component.ts @@ -6,7 +6,13 @@ import { listableObjectComponent } from '../../../object-collection/shared/lista import { ClaimedTaskSearchResult } from '../../../object-collection/shared/claimed-task-search-result.model'; import { LinkService } from '../../../../core/cache/builders/link.service'; import { TruncatableService } from '../../../truncatable/truncatable.service'; -import { AbstractClaimedSearchResultListElementComponent } from './abstract-claimed-search-result-list-element.component'; +import { MyDspaceItemStatusType } from '../../../object-collection/shared/mydspace-item-status/my-dspace-item-status-type'; +import { Observable } from 'rxjs'; +import { RemoteData } from '../../../../core/data/remote-data'; +import { WorkflowItem } from '../../../../core/submission/models/workflowitem.model'; +import { followLink } from '../../../utils/follow-link-config.model'; +import { SearchResultListElementComponent } from '../../search-result-list-element/search-result-list-element.component'; +import { ClaimedTask } from '../../../../core/tasks/models/claimed-task-object.model'; @Component({ selector: 'ds-claimed-search-result-list-element', @@ -15,13 +21,39 @@ import { AbstractClaimedSearchResultListElementComponent } from './abstract-clai providers: [Location, { provide: LocationStrategy, useClass: PathLocationStrategy }] }) @listableObjectComponent(ClaimedTaskSearchResult, ViewMode.ListElement) -export class ClaimedSearchResultListElementComponent extends AbstractClaimedSearchResultListElementComponent { +export class ClaimedSearchResultListElementComponent extends SearchResultListElementComponent { - constructor( + /** + * A boolean representing if to show submitter information + */ + public showSubmitter = true; + + /** + * Represent item's status + */ + public status = MyDspaceItemStatusType.VALIDATION; + + /** + * The workflowitem object that belonging to the result object + */ + public workflowitemRD$: Observable>; + + public constructor( protected linkService: LinkService, protected truncatableService: TruncatableService ) { - super(linkService, truncatableService); + super(truncatableService); + } + + /** + * Initialize all instance variables + */ + ngOnInit() { + super.ngOnInit(); + this.linkService.resolveLinks(this.dso, followLink('workflowitem', null, true, + followLink('item'), followLink('submitter') + ), followLink('action')); + this.workflowitemRD$ = this.dso.workflowitem as Observable>; } } diff --git a/src/app/shared/object-list/search-result-list-element/search-result-list-element.component.ts b/src/app/shared/object-list/search-result-list-element/search-result-list-element.component.ts index 93e87d3db7..3ad4f5e7e6 100644 --- a/src/app/shared/object-list/search-result-list-element/search-result-list-element.component.ts +++ b/src/app/shared/object-list/search-result-list-element/search-result-list-element.component.ts @@ -1,4 +1,4 @@ -import { Component, EventEmitter, OnInit, Output } from '@angular/core'; +import { Component, OnInit } from '@angular/core'; import { Observable } from 'rxjs'; import { SearchResult } from '../../search/search-result.model'; From e41e7dfa074a4353cc2b2487c0ce9f4e63a161bc Mon Sep 17 00:00:00 2001 From: Alessandro Martelli Date: Tue, 22 Dec 2020 16:25:26 +0100 Subject: [PATCH 004/106] [CSTPER-3620] Workflow Actions refresh entire MyDSpace page instead of just WorkflowItem Cleanup --- ...claimed-approved-search-result-list-element.component.ts | 6 ++---- ...claimed-declined-search-result-list-element.component.ts | 6 ++---- .../claimed-search-result-list-element.component.ts | 4 +--- 3 files changed, 5 insertions(+), 11 deletions(-) diff --git a/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-approved-search-result/claimed-approved-search-result-list-element.component.ts b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-approved-search-result/claimed-approved-search-result-list-element.component.ts index 70b576086d..9eb538ab6a 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-approved-search-result/claimed-approved-search-result-list-element.component.ts +++ b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-approved-search-result/claimed-approved-search-result-list-element.component.ts @@ -1,5 +1,4 @@ import { Component } from '@angular/core'; -import { LocationStrategy, PathLocationStrategy } from '@angular/common'; import { ViewMode } from '../../../../../core/shared/view-mode.model'; import { ClaimedApprovedTaskSearchResult } from '../../../../object-collection/shared/claimed-approved-task-search-result.model'; import { listableObjectComponent } from '../../../../object-collection/shared/listable-object/listable-object.decorator'; @@ -20,8 +19,7 @@ import { ClaimedTask } from '../../../../../core/tasks/models/claimed-task-objec @Component({ selector: 'ds-claimed-approved-search-result-list-element', styleUrls: ['../../../search-result-list-element/search-result-list-element.component.scss'], - templateUrl: './claimed-approved-search-result-list-element.component.html', - providers: [Location, { provide: LocationStrategy, useClass: PathLocationStrategy }] + templateUrl: './claimed-approved-search-result-list-element.component.html' }) @listableObjectComponent(ClaimedApprovedTaskSearchResult, ViewMode.ListElement) export class ClaimedApprovedSearchResultListElementComponent extends SearchResultListElementComponent { @@ -34,7 +32,7 @@ export class ClaimedApprovedSearchResultListElementComponent extends SearchResul /** * Represent item's status */ - public status = MyDspaceItemStatusType.VALIDATION; + public status = MyDspaceItemStatusType.APPROVED; /** * The workflowitem object that belonging to the result object diff --git a/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-declined-search-result/claimed-declined-search-result-list-element.component.ts b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-declined-search-result/claimed-declined-search-result-list-element.component.ts index bfa29b04e1..ee90953c8c 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-declined-search-result/claimed-declined-search-result-list-element.component.ts +++ b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-declined-search-result/claimed-declined-search-result-list-element.component.ts @@ -1,5 +1,4 @@ import { Component } from '@angular/core'; -import { Location, LocationStrategy, PathLocationStrategy } from '@angular/common'; import { listableObjectComponent } from '../../../../object-collection/shared/listable-object/listable-object.decorator'; import { ClaimedDeclinedTaskSearchResult } from '../../../../object-collection/shared/claimed-declined-task-search-result.model'; @@ -21,8 +20,7 @@ import { ClaimedTask } from '../../../../../core/tasks/models/claimed-task-objec @Component({ selector: 'ds-claimed-declined-search-result-list-element', styleUrls: ['../../../search-result-list-element/search-result-list-element.component.scss'], - templateUrl: './claimed-declined-search-result-list-element.component.html', - providers: [Location, { provide: LocationStrategy, useClass: PathLocationStrategy }] + templateUrl: './claimed-declined-search-result-list-element.component.html' }) @listableObjectComponent(ClaimedDeclinedTaskSearchResult, ViewMode.ListElement) export class ClaimedDeclinedSearchResultListElementComponent extends SearchResultListElementComponent { @@ -35,7 +33,7 @@ export class ClaimedDeclinedSearchResultListElementComponent extends SearchResul /** * Represent item's status */ - public status = MyDspaceItemStatusType.VALIDATION; + public status = MyDspaceItemStatusType.DECLINED; /** * The workflowitem object that belonging to the result object diff --git a/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-search-result-list-element.component.ts b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-search-result-list-element.component.ts index 651ed35dc1..05c54ab03c 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-search-result-list-element.component.ts +++ b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-search-result-list-element.component.ts @@ -1,5 +1,4 @@ import { Component } from '@angular/core'; -import { Location, LocationStrategy, PathLocationStrategy } from '@angular/common'; import { ViewMode } from '../../../../core/shared/view-mode.model'; import { listableObjectComponent } from '../../../object-collection/shared/listable-object/listable-object.decorator'; @@ -17,8 +16,7 @@ import { ClaimedTask } from '../../../../core/tasks/models/claimed-task-object.m @Component({ selector: 'ds-claimed-search-result-list-element', styleUrls: ['../../search-result-list-element/search-result-list-element.component.scss'], - templateUrl: './claimed-search-result-list-element.component.html', - providers: [Location, { provide: LocationStrategy, useClass: PathLocationStrategy }] + templateUrl: './claimed-search-result-list-element.component.html' }) @listableObjectComponent(ClaimedTaskSearchResult, ViewMode.ListElement) export class ClaimedSearchResultListElementComponent extends SearchResultListElementComponent { From b80282c2431d850da48ca41924b0cd29932a228d Mon Sep 17 00:00:00 2001 From: Alessandro Martelli Date: Tue, 22 Dec 2020 17:32:56 +0100 Subject: [PATCH 005/106] [CSTPER-3620] Workflow Actions refresh entire MyDSpace page instead of just WorkflowItem Test fix and environment settings restored --- ...imed-task-actions-reject.component.spec.ts | 26 +++++++++++++------ src/environments/environment.common.ts | 6 ++--- 2 files changed, 21 insertions(+), 11 deletions(-) diff --git a/src/app/shared/mydspace-actions/claimed-task/reject/claimed-task-actions-reject.component.spec.ts b/src/app/shared/mydspace-actions/claimed-task/reject/claimed-task-actions-reject.component.spec.ts index d090d12099..8180db9f73 100644 --- a/src/app/shared/mydspace-actions/claimed-task/reject/claimed-task-actions-reject.component.spec.ts +++ b/src/app/shared/mydspace-actions/claimed-task/reject/claimed-task-actions-reject.component.spec.ts @@ -143,17 +143,27 @@ describe('ClaimedTaskActionsRejectComponent', () => { expect(component.startActionExecution).toHaveBeenCalled(); }); - describe('actionExecution', () => { - beforeEach(() => { - component.actionExecution().subscribe(); - fixture.detectChanges(); - }); + }); - it('should call claimedTaskService\'s submitTask', () => { - expect(claimedTaskService.submitTask).toHaveBeenCalledWith(object.id, expectedBody) - }); + describe('actionExecution', () => { + + let expectedBody; + + beforeEach(() => { + spyOn((component.rejectForm as any), 'get').and.returnValue({value: 'required'}); + + expectedBody = { + [component.option]: 'true', + reason: 'required' + }; + + component.actionExecution().subscribe(); + fixture.detectChanges(); }); + it('should call claimedTaskService\'s submitTask with the proper reason', () => { + expect(claimedTaskService.submitTask).toHaveBeenCalledWith(object.id, expectedBody) + }); }); describe('reloadObjectExecution', () => { diff --git a/src/environments/environment.common.ts b/src/environments/environment.common.ts index f107e79c97..eb961a38eb 100644 --- a/src/environments/environment.common.ts +++ b/src/environments/environment.common.ts @@ -22,9 +22,9 @@ export const environment: GlobalConfig = { // The REST API server settings. // NOTE: these must be "synced" with the 'dspace.server.url' setting in your backend's local.cfg. rest: { - ssl: false, - host: 'localhost', - port: 8080, + ssl: true, + host: 'dspace7.4science.cloud', + port: 443, // NOTE: Space is capitalized because 'namespace' is a reserved string in TypeScript nameSpace: '/server', }, From 5700450eec178dc60a4f3105535adfde1df242db Mon Sep 17 00:00:00 2001 From: Alessandro Martelli Date: Tue, 22 Dec 2020 18:20:22 +0100 Subject: [PATCH 006/106] [CSTPER-3620] Workflow Actions refresh entire MyDSpace page instead of just WorkflowItem Failing tests in CI environment refactored --- ...med-task-actions-approve.component.spec.ts | 22 +++++++++++-------- ...imed-task-actions-reject.component.spec.ts | 11 +++++----- 2 files changed, 18 insertions(+), 15 deletions(-) diff --git a/src/app/shared/mydspace-actions/claimed-task/approve/claimed-task-actions-approve.component.spec.ts b/src/app/shared/mydspace-actions/claimed-task/approve/claimed-task-actions-approve.component.spec.ts index afcc01c315..c3db0f71d7 100644 --- a/src/app/shared/mydspace-actions/claimed-task/approve/claimed-task-actions-approve.component.spec.ts +++ b/src/app/shared/mydspace-actions/claimed-task/approve/claimed-task-actions-approve.component.spec.ts @@ -102,18 +102,22 @@ describe('ClaimedTaskActionsApproveComponent', () => { it('should start the action execution', () => { expect(component.startActionExecution).toHaveBeenCalled(); }); + }); - describe('actionExecution', () => { - beforeEach(() => { - component.actionExecution().subscribe(); - fixture.detectChanges(); + describe('actionExecution', () => { + + it('should call claimedTaskService\'s submitTask', (done) => { + + const expectedBody = { + [component.option]: 'true' + }; + + component.actionExecution().subscribe(() => { + expect(claimedTaskService.submitTask).toHaveBeenCalledWith(object.id, expectedBody); + done(); }); - - it('should call claimedTaskService\'s submitTask', () => { - expect(claimedTaskService.submitTask).toHaveBeenCalledWith(object.id, expectedBody) - }); - }); + }); describe('reloadObjectExecution', () => { diff --git a/src/app/shared/mydspace-actions/claimed-task/reject/claimed-task-actions-reject.component.spec.ts b/src/app/shared/mydspace-actions/claimed-task/reject/claimed-task-actions-reject.component.spec.ts index 8180db9f73..e0ab714d85 100644 --- a/src/app/shared/mydspace-actions/claimed-task/reject/claimed-task-actions-reject.component.spec.ts +++ b/src/app/shared/mydspace-actions/claimed-task/reject/claimed-task-actions-reject.component.spec.ts @@ -151,18 +151,17 @@ describe('ClaimedTaskActionsRejectComponent', () => { beforeEach(() => { spyOn((component.rejectForm as any), 'get').and.returnValue({value: 'required'}); - expectedBody = { [component.option]: 'true', reason: 'required' }; - - component.actionExecution().subscribe(); - fixture.detectChanges(); }); - it('should call claimedTaskService\'s submitTask with the proper reason', () => { - expect(claimedTaskService.submitTask).toHaveBeenCalledWith(object.id, expectedBody) + it('should call claimedTaskService\'s submitTask with the proper reason', (done) => { + component.actionExecution().subscribe(() => { + expect(claimedTaskService.submitTask).toHaveBeenCalledWith(object.id, expectedBody); + done(); + }); }); }); From d542072a37148259e338fed28c33d75cf823467f Mon Sep 17 00:00:00 2001 From: Alessandro Martelli Date: Thu, 7 Jan 2021 15:26:55 +0100 Subject: [PATCH 007/106] [CSTPER-3620] Workflow Actions refresh entire MyDSpace page instead of just WorkflowItem Fixed test. Removed unused imports. --- src/app/core/tasks/tasks.service.ts | 9 ++++----- .../abstract/claimed-task-actions-abstract.component.ts | 2 +- .../approve/claimed-task-actions-approve.component.ts | 5 ----- .../reject/claimed-task-actions-reject.component.ts | 5 ----- .../listable-object-component-loader.component.spec.ts | 1 - 5 files changed, 5 insertions(+), 17 deletions(-) diff --git a/src/app/core/tasks/tasks.service.ts b/src/app/core/tasks/tasks.service.ts index 8638bb30e6..ed58eb920e 100644 --- a/src/app/core/tasks/tasks.service.ts +++ b/src/app/core/tasks/tasks.service.ts @@ -1,7 +1,7 @@ import { HttpHeaders } from '@angular/common/http'; -import { merge as observableMerge, Observable, of as observableOf } from 'rxjs'; -import { distinctUntilChanged, filter, find, flatMap, map, mergeMap, switchMap, tap } from 'rxjs/operators'; +import { Observable } from 'rxjs'; +import { distinctUntilChanged, filter, find, flatMap, map, switchMap, tap } from 'rxjs/operators'; import { DataService } from '../data/data.service'; import { @@ -13,12 +13,11 @@ import { } from '../data/request.models'; import { hasValue, isNotEmpty } from '../../shared/empty.util'; import { ProcessTaskResponse } from './models/process-task-response'; -import {getFirstCompletedRemoteData, getResponseFromEntry} from '../shared/operators'; -import { ErrorResponse, MessageResponse, RestResponse } from '../cache/response.models'; +import { getFirstCompletedRemoteData } from '../shared/operators'; import { CacheableObject } from '../cache/object-cache.reducer'; import { RemoteData } from '../data/remote-data'; import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; -import {HttpOptions} from '../dspace-rest/dspace-rest.service'; +import { HttpOptions } from '../dspace-rest/dspace-rest.service'; /** * An abstract class that provides methods to handle task requests. diff --git a/src/app/shared/mydspace-actions/claimed-task/abstract/claimed-task-actions-abstract.component.ts b/src/app/shared/mydspace-actions/claimed-task/abstract/claimed-task-actions-abstract.component.ts index eb43a33a20..b9a424c57f 100644 --- a/src/app/shared/mydspace-actions/claimed-task/abstract/claimed-task-actions-abstract.component.ts +++ b/src/app/shared/mydspace-actions/claimed-task/abstract/claimed-task-actions-abstract.component.ts @@ -10,7 +10,7 @@ import { RequestService} from '../../../../core/data/request.service'; import { Observable} from 'rxjs'; import { RemoteData} from '../../../../core/data/remote-data'; import { WorkflowItem} from '../../../../core/submission/models/workflowitem.model'; -import { map, switchMap } from 'rxjs/operators'; +import { switchMap } from 'rxjs/operators'; import { CLAIMED_TASK } from '../../../../core/tasks/models/claimed-task-object.resource-type'; import { getFirstSucceededRemoteDataPayload } from '../../../../core/shared/operators'; import { Item } from '../../../../core/shared/item.model'; diff --git a/src/app/shared/mydspace-actions/claimed-task/approve/claimed-task-actions-approve.component.ts b/src/app/shared/mydspace-actions/claimed-task/approve/claimed-task-actions-approve.component.ts index 1f4111a14a..d73da460b7 100644 --- a/src/app/shared/mydspace-actions/claimed-task/approve/claimed-task-actions-approve.component.ts +++ b/src/app/shared/mydspace-actions/claimed-task/approve/claimed-task-actions-approve.component.ts @@ -49,9 +49,4 @@ export class ClaimedTaskActionsApproveComponent extends ClaimedTaskActionsAbstra return reloadedObject; } - // mock - actionExecution(): Observable { - return of({ hasSucceeded: true}); - } - } diff --git a/src/app/shared/mydspace-actions/claimed-task/reject/claimed-task-actions-reject.component.ts b/src/app/shared/mydspace-actions/claimed-task/reject/claimed-task-actions-reject.component.ts index 267f978392..911bd385f4 100644 --- a/src/app/shared/mydspace-actions/claimed-task/reject/claimed-task-actions-reject.component.ts +++ b/src/app/shared/mydspace-actions/claimed-task/reject/claimed-task-actions-reject.component.ts @@ -99,9 +99,4 @@ export class ClaimedTaskActionsRejectComponent extends ClaimedTaskActionsAbstrac }); return reloadedObject; } - - // mock - actionExecution(): Observable { - return of({ hasSucceeded: true}); - } } diff --git a/src/app/shared/object-collection/shared/listable-object/listable-object-component-loader.component.spec.ts b/src/app/shared/object-collection/shared/listable-object/listable-object-component-loader.component.spec.ts index 44bc5c28f7..b7221b4632 100644 --- a/src/app/shared/object-collection/shared/listable-object/listable-object-component-loader.component.spec.ts +++ b/src/app/shared/object-collection/shared/listable-object/listable-object-component-loader.component.spec.ts @@ -12,7 +12,6 @@ import { spyOnExported } from '../../../testing/utils.test'; import { TranslateModule } from '@ngx-translate/core'; import { By } from '@angular/platform-browser'; import { Item } from '../../../../core/shared/item.model'; -import { By } from '@angular/platform-browser'; const testType = 'TestType'; const testContext = Context.Search; From 2bd80840466268ee65916568d98f0638f7051b51 Mon Sep 17 00:00:00 2001 From: Alessandro Martelli Date: Mon, 11 Jan 2021 16:49:18 +0100 Subject: [PATCH 008/106] [CSTPER-3620] Workflow Actions refresh entire MyDSpace page instead of just WorkflowItem Provided mock and stub instead of empty objects --- src/app/core/tasks/tasks.service.spec.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/app/core/tasks/tasks.service.spec.ts b/src/app/core/tasks/tasks.service.spec.ts index 17e8cb5983..1bb4ea46a5 100644 --- a/src/app/core/tasks/tasks.service.spec.ts +++ b/src/app/core/tasks/tasks.service.spec.ts @@ -19,6 +19,8 @@ import { ChangeAnalyzer } from '../data/change-analyzer'; import { compare, Operation } from 'fast-json-patch'; import { of as observableOf } from 'rxjs/internal/observable/of'; import { HttpOptions } from '../dspace-rest/dspace-rest.service'; +import { getMockRemoteDataBuildService } from '../../shared/mocks/remote-data-build.service.mock'; +import { NotificationsServiceStub } from '../../shared/testing/notifications-service.stub'; const LINK_NAME = 'test'; @@ -57,8 +59,8 @@ describe('TasksService', () => { const linkPath = 'testTask'; const requestService = getMockRequestService(); const halService: any = new HALEndpointServiceStub(taskEndpoint); - const rdbService = {} as RemoteDataBuildService; - const notificationsService = {} as NotificationsService; + const rdbService = getMockRemoteDataBuildService(); + const notificationsService = new NotificationsServiceStub() as any; const http = {} as HttpClient; const comparator = new DummyChangeAnalyzer() as any; const objectCache = { From 258e48e9a2f3f9e1dc1284276b679bd921c9198f Mon Sep 17 00:00:00 2001 From: Alessandro Martelli Date: Mon, 11 Jan 2021 17:39:35 +0100 Subject: [PATCH 009/106] [CSTPER-3620] Workflow Actions refresh entire MyDSpace page instead of just WorkflowItem Text fix --- src/app/core/tasks/tasks.service.spec.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/app/core/tasks/tasks.service.spec.ts b/src/app/core/tasks/tasks.service.spec.ts index 1bb4ea46a5..a2ba10f320 100644 --- a/src/app/core/tasks/tasks.service.spec.ts +++ b/src/app/core/tasks/tasks.service.spec.ts @@ -21,6 +21,7 @@ import { of as observableOf } from 'rxjs/internal/observable/of'; import { HttpOptions } from '../dspace-rest/dspace-rest.service'; import { getMockRemoteDataBuildService } from '../../shared/mocks/remote-data-build.service.mock'; import { NotificationsServiceStub } from '../../shared/testing/notifications-service.stub'; +import { of } from 'rxjs'; const LINK_NAME = 'test'; @@ -124,7 +125,7 @@ describe('TasksService', () => { it('should call findByHref with the href generated by getSearchByHref', () => { spyOn(service, 'getSearchByHref').and.returnValue(observableOf('generatedHref')); - spyOn(service, 'findByHref').and.returnValue(null); + spyOn(service, 'findByHref').and.returnValue(of(null)); const followLinks = {}; const options = new FindListOptions(); From 2becaca1b0e48ae5e6295cdcc5d431c255346d4c Mon Sep 17 00:00:00 2001 From: Alessandro Martelli Date: Tue, 19 Jan 2021 09:10:24 +0100 Subject: [PATCH 010/106] [CSTPER-3620] Workflow Actions refresh entire MyDSpace page instead of just WorkflowItem Fixes and debug log --- .../core/tasks/claimed-task-data.service.ts | 11 +++++++-- src/app/core/tasks/pool-task-data.service.ts | 6 +++-- src/app/core/tasks/tasks.service.ts | 8 +++++-- ...claimed-task-actions-abstract.component.ts | 18 ++++++++++----- .../claimed-task-actions.component.ts | 13 +++++++---- ...d-task-actions-return-to-pool.component.ts | 6 ++++- .../mydspace-actions/mydspace-actions.ts | 6 +++++ .../mydspace-reloadable-actions.ts | 2 ++ .../pool-task/pool-task-actions.component.ts | 23 ++++++++++++++----- ...table-object-component-loader.component.ts | 2 ++ 10 files changed, 72 insertions(+), 23 deletions(-) diff --git a/src/app/core/tasks/claimed-task-data.service.ts b/src/app/core/tasks/claimed-task-data.service.ts index 99c2f51117..b9c7e9ee54 100644 --- a/src/app/core/tasks/claimed-task-data.service.ts +++ b/src/app/core/tasks/claimed-task-data.service.ts @@ -20,6 +20,7 @@ import { followLink } from '../../shared/utils/follow-link-config.model'; import { FindListOptions } from '../data/request.models'; import { RequestParam } from '../cache/models/request-param.model'; import { HttpOptions } from '../dspace-rest/dspace-rest.service'; +import { getFirstSucceededRemoteData } from '../shared/operators'; /** * The service handling all REST requests for ClaimedTask @@ -28,7 +29,7 @@ import { HttpOptions } from '../dspace-rest/dspace-rest.service'; @dataService(CLAIMED_TASK) export class ClaimedTaskDataService extends TasksService { - protected responseMsToLive = 10 * 1000; + protected responseMsToLive = 1000; /** * The endpoint link name @@ -68,6 +69,8 @@ export class ClaimedTaskDataService extends TasksService { * Emit the server response */ public claimTask(scopeId: string, poolTaskHref: string): Observable { + console.log('=========================================='); + console.log('User ClaimTask request for:', scopeId, poolTaskHref); const options: HttpOptions = Object.create({}); let headers = new HttpHeaders(); headers = headers.append('Content-Type', 'text/uri-list'); @@ -98,6 +101,8 @@ export class ClaimedTaskDataService extends TasksService { * Emit the server response */ public returnToPoolTask(scopeId: string): Observable { + console.log('=========================================='); + console.log('User ReturnToPool request for:', scopeId); return this.deleteById(this.linkPath, scopeId, this.makeHttpOptions()); } @@ -109,11 +114,13 @@ export class ClaimedTaskDataService extends TasksService { * The server response */ public findByItem(uuid: string): Observable> { + console.log('claimedTaskService findByItem', uuid); const options = new FindListOptions(); options.searchParams = [ new RequestParam('uuid', uuid) ]; - return this.searchTask('findByItem', options, followLink('workflowitem')); + return this.searchTask('findByItem', options, followLink('workflowitem')) + .pipe(getFirstSucceededRemoteData()); } } diff --git a/src/app/core/tasks/pool-task-data.service.ts b/src/app/core/tasks/pool-task-data.service.ts index 78348d428f..26eb3e6dad 100644 --- a/src/app/core/tasks/pool-task-data.service.ts +++ b/src/app/core/tasks/pool-task-data.service.ts @@ -18,6 +18,7 @@ import { RemoteData } from '../data/remote-data'; import { followLink } from '../../shared/utils/follow-link-config.model'; import { FindListOptions } from '../data/request.models'; import { RequestParam } from '../cache/models/request-param.model'; +import { getFirstSucceededRemoteData } from '../shared/operators'; /** * The service handling all REST requests for PoolTask @@ -31,7 +32,7 @@ export class PoolTaskDataService extends TasksService { */ protected linkPath = 'pooltasks'; - protected responseMsToLive = 10 * 1000; + protected responseMsToLive = 1000; /** * Initialize instance variables @@ -70,7 +71,8 @@ export class PoolTaskDataService extends TasksService { options.searchParams = [ new RequestParam('uuid', uuid) ]; - return this.searchTask('findByItem', options, followLink('workflowitem')); + return this.searchTask('findByItem', options, followLink('workflowitem')) + .pipe(getFirstSucceededRemoteData()); } /** diff --git a/src/app/core/tasks/tasks.service.ts b/src/app/core/tasks/tasks.service.ts index ed58eb920e..8032238c45 100644 --- a/src/app/core/tasks/tasks.service.ts +++ b/src/app/core/tasks/tasks.service.ts @@ -13,7 +13,7 @@ import { } from '../data/request.models'; import { hasValue, isNotEmpty } from '../../shared/empty.util'; import { ProcessTaskResponse } from './models/process-task-response'; -import { getFirstCompletedRemoteData } from '../shared/operators'; +import {getFirstCompletedRemoteData, getFirstSucceededRemoteData} from '../shared/operators'; import { CacheableObject } from '../cache/object-cache.reducer'; import { RemoteData } from '../data/remote-data'; import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; @@ -140,7 +140,11 @@ export abstract class TasksService extends DataServic const hrefObs = this.getSearchByHref(searchMethod, options, ...linksToFollow); return hrefObs.pipe( find((href: string) => hasValue(href)), - switchMap((href) => this.findByHref(href)) + switchMap((href) => this.findByHref(href).pipe( + getFirstSucceededRemoteData(), + tap(() => { + this.requestService.setStaleByHrefSubstring(searchMethod) + }))), ); } } diff --git a/src/app/shared/mydspace-actions/claimed-task/abstract/claimed-task-actions-abstract.component.ts b/src/app/shared/mydspace-actions/claimed-task/abstract/claimed-task-actions-abstract.component.ts index b9a424c57f..6b3bf0a20b 100644 --- a/src/app/shared/mydspace-actions/claimed-task/abstract/claimed-task-actions-abstract.component.ts +++ b/src/app/shared/mydspace-actions/claimed-task/abstract/claimed-task-actions-abstract.component.ts @@ -1,4 +1,4 @@ -import { Injector } from '@angular/core'; +import {Injector, OnDestroy} from '@angular/core'; import { ClaimedTask } from '../../../../core/tasks/models/claimed-task-object.model'; import { ClaimedTaskDataService } from '../../../../core/tasks/claimed-task-data.service'; import { DSpaceObject} from '../../../../core/shared/dspace-object.model'; @@ -10,7 +10,7 @@ import { RequestService} from '../../../../core/data/request.service'; import { Observable} from 'rxjs'; import { RemoteData} from '../../../../core/data/remote-data'; import { WorkflowItem} from '../../../../core/submission/models/workflowitem.model'; -import { switchMap } from 'rxjs/operators'; +import {switchMap, take} from 'rxjs/operators'; import { CLAIMED_TASK } from '../../../../core/tasks/models/claimed-task-object.resource-type'; import { getFirstSucceededRemoteDataPayload } from '../../../../core/shared/operators'; import { Item } from '../../../../core/shared/item.model'; @@ -23,7 +23,7 @@ import { MyDSpaceReloadableActionsComponent } from '../../mydspace-reloadable-ac * - Add a @rendersWorkflowTaskOption annotation to your component providing the same enum value * - Optionally overwrite createBody if the request body requires more than just the option */ -export abstract class ClaimedTaskActionsAbstractComponent extends MyDSpaceReloadableActionsComponent { +export abstract class ClaimedTaskActionsAbstractComponent extends MyDSpaceReloadableActionsComponent implements OnDestroy { /** * The workflow task option the child component represents @@ -37,6 +37,8 @@ export abstract class ClaimedTaskActionsAbstractComponent extends MyDSpaceReload */ itemUuid: string; + subs = []; + protected constructor(protected injector: Injector, protected router: Router, protected notificationsService: NotificationsService, @@ -50,7 +52,7 @@ export abstract class ClaimedTaskActionsAbstractComponent extends MyDSpaceReload * Submit the action on the claimed object. */ submitTask() { - this.startActionExecution().subscribe(); + this.subs.push(this.startActionExecution().pipe(take(1)).subscribe()); } /** @@ -82,13 +84,17 @@ export abstract class ClaimedTaskActionsAbstractComponent extends MyDSpaceReload if (!(this.object as any).workflowitem) { return; } - this.object.workflowitem.pipe( + this.subs.push(this.object.workflowitem.pipe( getFirstSucceededRemoteDataPayload(), switchMap((workflowItem: WorkflowItem) => workflowItem.item.pipe(getFirstSucceededRemoteDataPayload()) )) .subscribe((item: Item) => { this.itemUuid = item.uuid; - }) + })); + } + + ngOnDestroy() { + this.subs.forEach((sub) => sub.unsubscribe()); } } diff --git a/src/app/shared/mydspace-actions/claimed-task/claimed-task-actions.component.ts b/src/app/shared/mydspace-actions/claimed-task/claimed-task-actions.component.ts index c82154af09..ae801c7586 100644 --- a/src/app/shared/mydspace-actions/claimed-task/claimed-task-actions.component.ts +++ b/src/app/shared/mydspace-actions/claimed-task/claimed-task-actions.component.ts @@ -1,8 +1,8 @@ -import { Component, Injector, Input, OnInit } from '@angular/core'; +import {Component, Injector, Input, OnDestroy, OnInit} from '@angular/core'; import { Router } from '@angular/router'; import { Observable } from 'rxjs'; -import { filter, map } from 'rxjs/operators'; +import { filter, map, take } from 'rxjs/operators'; import { TranslateService } from '@ngx-translate/core'; import { ClaimedTaskDataService } from '../../../core/tasks/claimed-task-data.service'; @@ -26,7 +26,7 @@ import { WORKFLOW_TASK_OPTION_RETURN_TO_POOL } from './return-to-pool/claimed-ta styleUrls: ['./claimed-task-actions.component.scss'], templateUrl: './claimed-task-actions.component.html', }) -export class ClaimedTaskActionsComponent extends MyDSpaceActionsComponent implements OnInit { +export class ClaimedTaskActionsComponent extends MyDSpaceActionsComponent implements OnInit, OnDestroy { /** * The ClaimedTask object @@ -87,7 +87,8 @@ export class ClaimedTaskActionsComponent extends MyDSpaceActionsComponent>).pipe( filter((rd: RemoteData) => ((!rd.isRequestPending) && isNotUndefined(rd.payload))), - map((rd: RemoteData) => rd.payload)); + map((rd: RemoteData) => rd.payload), + take(1)); } /** @@ -99,4 +100,8 @@ export class ClaimedTaskActionsComponent extends MyDSpaceActionsComponent | DSpaceObject> { - return this.poolTaskService.findByItem(this.itemUuid); + return this.poolTaskService.findByItem(this.itemUuid).pipe(take(1), tap((value) => { + console.log('The new PoolTask (found by item) is:', value); + })); } actionExecution(): Observable { diff --git a/src/app/shared/mydspace-actions/mydspace-actions.ts b/src/app/shared/mydspace-actions/mydspace-actions.ts index 373cab9d35..2307f8a430 100644 --- a/src/app/shared/mydspace-actions/mydspace-actions.ts +++ b/src/app/shared/mydspace-actions/mydspace-actions.ts @@ -82,6 +82,8 @@ export abstract class MyDSpaceActionsComponent) => rd.hasSucceeded) @@ -115,6 +119,8 @@ export abstract class MyDSpaceActionsComponent { +export class PoolTaskActionsComponent extends MyDSpaceReloadableActionsComponent implements OnDestroy { /** * The PoolTask object @@ -45,6 +46,8 @@ export class PoolTaskActionsComponent extends MyDSpaceReloadableActionsComponent */ public itemUuid: string; + subs = []; + /** * Initialize instance variables * @@ -69,7 +72,7 @@ export class PoolTaskActionsComponent extends MyDSpaceReloadableActionsComponent * Claim the task. */ claim() { - this.startActionExecution().subscribe(); + this.subs.push(this.startActionExecution().pipe(take(1)).subscribe()); } /** @@ -81,7 +84,8 @@ export class PoolTaskActionsComponent extends MyDSpaceReloadableActionsComponent this.object = object; this.workflowitem$ = (this.object.workflowitem as Observable>).pipe( filter((rd: RemoteData) => ((!rd.isRequestPending) && isNotUndefined(rd.payload))), - map((rd: RemoteData) => rd.payload)); + map((rd: RemoteData) => rd.payload), + take(1)); } actionExecution(): Observable { @@ -92,7 +96,9 @@ export class PoolTaskActionsComponent extends MyDSpaceReloadableActionsComponent } reloadObjectExecution(): Observable | DSpaceObject> { - return this.claimedTaskService.findByItem(this.itemUuid); + return this.claimedTaskService.findByItem(this.itemUuid).pipe(take(1), tap((value) => { + console.log('The new ClaimTask (found by item) is:', value); + })); } /** @@ -108,4 +114,9 @@ export class PoolTaskActionsComponent extends MyDSpaceReloadableActionsComponent }) } + ngOnDestroy() { + this.subs.forEach((sub) => sub.unsubscribe()); + console.log('Destroy of PoolTaskActionsComponent', this.object) + } + } diff --git a/src/app/shared/object-collection/shared/listable-object/listable-object-component-loader.component.ts b/src/app/shared/object-collection/shared/listable-object/listable-object-component-loader.component.ts index 175bdebbab..ee64c63ca5 100644 --- a/src/app/shared/object-collection/shared/listable-object/listable-object-component-loader.component.ts +++ b/src/app/shared/object-collection/shared/listable-object/listable-object-component-loader.component.ts @@ -135,6 +135,8 @@ export class ListableObjectComponentLoaderComponent implements OnInit, OnDestroy if ((componentRef.instance as any).reloadedObject) { this.subs.push((componentRef.instance as any).reloadedObject.subscribe((reloadedObject: DSpaceObject) => { if (reloadedObject) { + console.log('Reloaded Object from/to', this.object, reloadedObject); + this.object = reloadedObject; this.instantiateComponent(reloadedObject); } })); From 64f726bf30cd0ff9a4efa4c67221091e53c30573 Mon Sep 17 00:00:00 2001 From: Kristof De Langhe Date: Mon, 21 Dec 2020 15:40:33 +0100 Subject: [PATCH 011/106] 75316: Deselect relationship on failure + show only enabled externalSources --- .../core/data/relationship-type.service.ts | 2 +- ...namic-lookup-relation-modal.component.html | 2 +- ...dynamic-lookup-relation-modal.component.ts | 34 ++++++++++++----- .../relationship.effects.ts | 37 +++++++++++++++++-- .../models/relationship-options.model.ts | 1 + .../selectable-list.service.ts | 11 ++++++ src/assets/i18n/en.json5 | 6 +++ 7 files changed, 77 insertions(+), 16 deletions(-) diff --git a/src/app/core/data/relationship-type.service.ts b/src/app/core/data/relationship-type.service.ts index 5df11011a3..5ce0720eb2 100644 --- a/src/app/core/data/relationship-type.service.ts +++ b/src/app/core/data/relationship-type.service.ts @@ -60,7 +60,7 @@ export class RelationshipTypeService extends DataService { } else if (type.rightwardType === label) { return this.checkType(type, secondType, firstType); } else { - return []; + return [null]; } }), ); diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/dynamic-lookup-relation-modal.component.html b/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/dynamic-lookup-relation-modal.component.html index 909dcb1934..3442ddb1ba 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/dynamic-lookup-relation-modal.component.html +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/dynamic-lookup-relation-modal.component.html @@ -22,7 +22,7 @@ - >>; + externalSourcesRD$: Observable; /** * The total amount of internal items for the current options @@ -121,6 +126,7 @@ export class DsDynamicLookupRelationModalComponent implements OnInit, OnDestroy private externalSourceService: ExternalSourceService, private lookupRelationService: LookupRelationService, private searchConfigService: SearchConfigurationService, + private rdbService: RemoteDataBuildService, private zone: NgZone, private store: Store, private router: Router, @@ -141,7 +147,18 @@ export class DsDynamicLookupRelationModalComponent implements OnInit, OnDestroy this.context = Context.EntitySearchModal; } - this.externalSourcesRD$ = this.externalSourceService.findAll(); + if (isNotEmpty(this.relationshipOptions.externalSources)) { + this.externalSourcesRD$ = this.rdbService.aggregate( + this.relationshipOptions.externalSources.map((source) => this.externalSourceService.findById(source)) + ).pipe( + getAllSucceededRemoteDataPayload() + ); + } else { + this.externalSourcesRD$ = this.externalSourceService.findAll().pipe( + getAllSucceededRemoteDataPayload(), + map((list: PaginatedList) => list.page) + ); + } this.setTotals(); } @@ -224,16 +241,13 @@ export class DsDynamicLookupRelationModalComponent implements OnInit, OnDestroy ); const externalSourcesAndOptions$ = observableCombineLatest( - this.externalSourcesRD$.pipe( - getAllSucceededRemoteData(), - getRemoteDataPayload() - ), + this.externalSourcesRD$, this.searchConfigService.paginatedSearchOptions ); this.totalExternal$ = externalSourcesAndOptions$.pipe( switchMap(([sources, options]) => - observableCombineLatest(...sources.page.map((source: ExternalSource) => this.lookupRelationService.getTotalExternalResults(source, options)))) + observableCombineLatest(...sources.map((source: ExternalSource) => this.lookupRelationService.getTotalExternalResults(source, options)))) ); } diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/relationship.effects.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/relationship.effects.ts index 86557b806e..65e7cfb574 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/relationship.effects.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/relationship.effects.ts @@ -15,7 +15,7 @@ import { UpdateRelationshipNameVariantAction } from './relationship.actions'; import { Item } from '../../../../../core/shared/item.model'; -import { hasNoValue, hasValue } from '../../../../empty.util'; +import { hasNoValue, hasValue, hasValueOperator } from '../../../../empty.util'; import { Relationship } from '../../../../../core/shared/item-relationships/relationship.model'; import { RelationshipType } from '../../../../../core/shared/item-relationships/relationship-type.model'; import { RelationshipTypeService } from '../../../../../core/data/relationship-type.service'; @@ -30,6 +30,10 @@ import { ServerSyncBufferActionTypes } from '../../../../../core/cache/server-sy import { JsonPatchOperationsActionTypes } from '../../../../../core/json-patch/json-patch-operations.actions'; import { followLink } from '../../../../utils/follow-link-config.model'; import { RemoteData } from '../../../../../core/data/remote-data'; +import { NotificationsService } from '../../../../notifications/notifications.service'; +import { SelectableListService } from '../../../../object-list/selectable-list/selectable-list.service'; +import { TranslateService } from '@ngx-translate/core'; +import { error } from 'util'; const DEBOUNCE_TIME = 500; @@ -152,7 +156,10 @@ export class RelationshipEffects { private submissionObjectService: SubmissionObjectDataService, private store: Store, private objectCache: ObjectCacheService, - private requestService: RequestService + private requestService: RequestService, + private notificationsService: NotificationsService, + private translateService: TranslateService, + private selectableListService: SelectableListService, ) { } @@ -166,6 +173,9 @@ export class RelationshipEffects { return this.relationshipTypeService.getRelationshipTypeByLabelAndTypes(relationshipType, type1, type2) .pipe( mergeMap((type: RelationshipType) => { + if (type === null) { + return [null]; + } else { const isSwitched = type.rightwardType === relationshipType; if (isSwitched) { return this.relationshipService.addRelationship(type.id, item2, item1, nameVariant, undefined); @@ -173,9 +183,28 @@ export class RelationshipEffects { return this.relationshipService.addRelationship(type.id, item1, item2, undefined, nameVariant); } } - ), + }), take(1), - switchMap(() => this.refreshWorkspaceItemInCache(submissionId)), + switchMap((rd: RemoteData) => { + if (hasNoValue(rd) || rd.hasFailed) { + // An error occurred, deselect the object from the selectable list and display an error notification + const listId = `list-${submissionId}-${relationshipType}`; + this.selectableListService.findSelectedByCondition(listId, (object: any) => hasValue(object.indexableObject) && object.indexableObject.uuid === item2.uuid).pipe( + take(1), + hasValueOperator() + ).subscribe((selected) => { + this.selectableListService.deselectSingle(listId, selected); + }); + let errorContent; + if (hasNoValue(rd)) { + errorContent = this.translateService.instant('relationships.add.error.relationship-type.content', { type: relationshipType }); + } else { + errorContent = this.translateService.instant('relationships.add.error.server.content'); + } + this.notificationsService.error(this.translateService.instant('relationships.add.error.title'), errorContent); + } + return this.refreshWorkspaceItemInCache(submissionId); + }), ).subscribe((submissionObject: SubmissionObject) => this.store.dispatch(new SaveSubmissionSectionFormSuccessAction(submissionId, [submissionObject], false))); } diff --git a/src/app/shared/form/builder/models/relationship-options.model.ts b/src/app/shared/form/builder/models/relationship-options.model.ts index 4568aa69ec..eaa62961a2 100644 --- a/src/app/shared/form/builder/models/relationship-options.model.ts +++ b/src/app/shared/form/builder/models/relationship-options.model.ts @@ -8,6 +8,7 @@ export class RelationshipOptions { filter: string; searchConfiguration: string; nameVariants: string; + externalSources: string[]; get metadataField() { return RELATION_METADATA_PREFIX + this.relationshipType; diff --git a/src/app/shared/object-list/selectable-list/selectable-list.service.ts b/src/app/shared/object-list/selectable-list/selectable-list.service.ts index 5a86c0b65d..91ecdf1a1a 100644 --- a/src/app/shared/object-list/selectable-list/selectable-list.service.ts +++ b/src/app/shared/object-list/selectable-list/selectable-list.service.ts @@ -91,4 +91,15 @@ export class SelectableListService { distinctUntilChanged() ); } + + /** + * Find a selected object by a custom condition + * @param id The ID of the selectable list to search in + * @param condition The condition that the required object has to match + */ + findSelectedByCondition(id: string, condition: (object: ListableObject) => boolean): Observable { + return this.getSelectableList(id).pipe( + map((state: SelectableListState) => (hasValue(state) && isNotEmpty(state.selection)) ? state.selection.find((selected) => condition(selected)) : undefined) + ); + } } diff --git a/src/assets/i18n/en.json5 b/src/assets/i18n/en.json5 index 603acb3f48..a99ac57448 100644 --- a/src/assets/i18n/en.json5 +++ b/src/assets/i18n/en.json5 @@ -2654,6 +2654,12 @@ + "relationships.add.error.relationship-type.content": "No suitable match could be found for relationship type {{ type }} between the two items", + + "relationships.add.error.server.content": "The server returned an error", + + "relationships.add.error.title": "Unable to add relationship", + "relationships.isAuthorOf": "Authors", "relationships.isAuthorOf.Person": "Authors (persons)", From a08b515335b5a1777b135d69a5c566f77fa45dfd Mon Sep 17 00:00:00 2001 From: Kristof De Langhe Date: Mon, 21 Dec 2020 15:41:11 +0100 Subject: [PATCH 012/106] 75316: Only show external sources when configured --- .../dynamic-lookup-relation-modal.component.ts | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/dynamic-lookup-relation-modal.component.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/dynamic-lookup-relation-modal.component.ts index c92702a57d..672ab852ee 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/dynamic-lookup-relation-modal.component.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/dynamic-lookup-relation-modal.component.ts @@ -153,11 +153,6 @@ export class DsDynamicLookupRelationModalComponent implements OnInit, OnDestroy ).pipe( getAllSucceededRemoteDataPayload() ); - } else { - this.externalSourcesRD$ = this.externalSourceService.findAll().pipe( - getAllSucceededRemoteDataPayload(), - map((list: PaginatedList) => list.page) - ); } this.setTotals(); From d13eabe3863907e6f95a191b987e39973475fb17 Mon Sep 17 00:00:00 2001 From: Kristof De Langhe Date: Mon, 21 Dec 2020 17:32:24 +0100 Subject: [PATCH 013/106] 75316: Test fixes --- .../core/data/relationship-type.service.spec.ts | 13 +++++++------ ...amic-lookup-relation-modal.component.spec.ts | 12 ++++++++++-- .../relationship.effects.spec.ts | 17 +++++++++++++++++ 3 files changed, 34 insertions(+), 8 deletions(-) diff --git a/src/app/core/data/relationship-type.service.spec.ts b/src/app/core/data/relationship-type.service.spec.ts index 14669e68fa..910b7662dc 100644 --- a/src/app/core/data/relationship-type.service.spec.ts +++ b/src/app/core/data/relationship-type.service.spec.ts @@ -9,10 +9,10 @@ import { import { ObjectCacheService } from '../cache/object-cache.service'; import { ItemType } from '../shared/item-relationships/item-type.model'; import { RelationshipType } from '../shared/item-relationships/relationship-type.model'; -import { PageInfo } from '../shared/page-info.model'; -import { buildPaginatedList } from './paginated-list.model'; import { RelationshipTypeService } from './relationship-type.service'; import { RequestService } from './request.service'; +import { createPaginatedList } from '../../shared/testing/utils.test'; +import { hasValueOperator } from '../../shared/empty.util'; describe('RelationshipTypeService', () => { let service: RelationshipTypeService; @@ -62,7 +62,7 @@ describe('RelationshipTypeService', () => { rightType: createSuccessfulRemoteDataObject$(orgUnitType) }); - buildList = createSuccessfulRemoteDataObject(buildPaginatedList(new PageInfo(), [relationshipType1, relationshipType2])); + buildList = createSuccessfulRemoteDataObject(createPaginatedList([relationshipType1, relationshipType2])); rdbService = getMockRemoteDataBuildService(undefined, observableOf(buildList)); objectCache = Object.assign({ /* tslint:disable:no-empty */ @@ -100,9 +100,10 @@ describe('RelationshipTypeService', () => { describe('getRelationshipTypeByLabelAndTypes', () => { it('should return the type filtered by label and type strings', (done) => { - const expected = service.getRelationshipTypeByLabelAndTypes(relationshipType1.leftwardType, publicationTypeString, personTypeString); - expected.subscribe((e) => { - expect(e).toBe(relationshipType1); + service.getRelationshipTypeByLabelAndTypes(relationshipType1.leftwardType, publicationTypeString, personTypeString).pipe( + hasValueOperator() + ).subscribe((e) => { + expect(e.id).toEqual(relationshipType1.id); done(); }); }); diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/dynamic-lookup-relation-modal.component.spec.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/dynamic-lookup-relation-modal.component.spec.ts index 2b6f3019f4..88763b011c 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/dynamic-lookup-relation-modal.component.spec.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/dynamic-lookup-relation-modal.component.spec.ts @@ -20,6 +20,7 @@ import { createSuccessfulRemoteDataObject$ } from '../../../../remote-data.utils import { createPaginatedList } from '../../../../testing/utils.test'; import { ExternalSourceService } from '../../../../../core/data/external-source.service'; import { LookupRelationService } from '../../../../../core/data/lookup-relation.service'; +import { RemoteDataBuildService } from '../../../../../core/cache/builders/remote-data-build.service'; describe('DsDynamicLookupRelationModalComponent', () => { let component: DsDynamicLookupRelationModalComponent; @@ -38,6 +39,7 @@ describe('DsDynamicLookupRelationModalComponent', () => { let pSearchOptions; let externalSourceService; let lookupRelationService; + let rdbService; let submissionId; const externalSources = [ @@ -68,18 +70,23 @@ describe('DsDynamicLookupRelationModalComponent', () => { filter: 'filter', relationshipType: 'isAuthorOfPublication', nameVariants: true, - searchConfiguration: 'personConfig' + searchConfiguration: 'personConfig', + externalSources: ['orcidV2', 'sherpaPublisher'] }); nameVariant = 'Doe, J.'; metadataField = 'dc.contributor.author'; pSearchOptions = new PaginatedSearchOptions({}); externalSourceService = jasmine.createSpyObj('externalSourceService', { - findAll: createSuccessfulRemoteDataObject$(createPaginatedList(externalSources)) + findAll: createSuccessfulRemoteDataObject$(createPaginatedList(externalSources)), + findById: createSuccessfulRemoteDataObject$(externalSources[0]) }); lookupRelationService = jasmine.createSpyObj('lookupRelationService', { getTotalLocalResults: observableOf(totalLocal), getTotalExternalResults: observableOf(totalExternal) }); + rdbService = jasmine.createSpyObj('rdbService', { + aggregate: createSuccessfulRemoteDataObject$(externalSources) + }); submissionId = '1234'; } @@ -103,6 +110,7 @@ describe('DsDynamicLookupRelationModalComponent', () => { provide: RelationshipService, useValue: { getNameVariant: () => observableOf(nameVariant) } }, { provide: RelationshipTypeService, useValue: {} }, + { provide: RemoteDataBuildService, useValue: rdbService }, { provide: Store, useValue: { // tslint:disable-next-line:no-empty diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/relationship.effects.spec.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/relationship.effects.spec.ts index 215049e408..432ac44859 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/relationship.effects.spec.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/relationship.effects.spec.ts @@ -20,6 +20,9 @@ import { SubmissionObjectDataService } from '../../../../../core/submission/subm import { WorkspaceItem } from '../../../../../core/submission/models/workspaceitem.model'; import { ObjectCacheService } from '../../../../../core/cache/object-cache.service'; import { RequestService } from '../../../../../core/data/request.service'; +import { NotificationsService } from '../../../../notifications/notifications.service'; +import { TranslateService } from '@ngx-translate/core'; +import { SelectableListService } from '../../../../object-list/selectable-list/selectable-list.service'; describe('RelationshipEffects', () => { let relationEffects: RelationshipEffects; @@ -45,6 +48,9 @@ describe('RelationshipEffects', () => { let relationship; let mockRelationshipService; let mockRelationshipTypeService; + let notificationsService; + let translateService; + let selectableListService; let testScheduler: TestScheduler; function init() { @@ -95,6 +101,14 @@ describe('RelationshipEffects', () => { getRelationshipTypeByLabelAndTypes: () => observableOf(relationshipType) }; + notificationsService = jasmine.createSpyObj('notificationsService', ['error']); + translateService = jasmine.createSpyObj('translateService', { + instant: 'translated-message' + }); + selectableListService = jasmine.createSpyObj('selectableListService', { + findSelectedByCondition: observableOf({}), + deselectSingle: {} + }); } beforeEach(waitForAsync(() => { @@ -114,6 +128,9 @@ describe('RelationshipEffects', () => { { provide: Store, useValue: jasmine.createSpyObj('store', ['dispatch']) }, { provide: ObjectCacheService, useValue: {} }, { provide: RequestService, useValue: {} }, + { provide: NotificationsService, useValue: notificationsService }, + { provide: TranslateService, useValue: translateService }, + { provide: SelectableListService, useValue: selectableListService }, ], }); })); From e4d518fca7acd958865f1f844f2379b9f59fe78b Mon Sep 17 00:00:00 2001 From: Art Lowel Date: Wed, 13 Jan 2021 14:24:06 +0100 Subject: [PATCH 014/106] fix issue where a relationshiptype wouldn't be found if the subscriber unsubscribed before all types were checked --- .../core/data/relationship-type.service.ts | 86 ++++++++++++++----- 1 file changed, 65 insertions(+), 21 deletions(-) diff --git a/src/app/core/data/relationship-type.service.ts b/src/app/core/data/relationship-type.service.ts index 5ce0720eb2..818a46cc2a 100644 --- a/src/app/core/data/relationship-type.service.ts +++ b/src/app/core/data/relationship-type.service.ts @@ -2,9 +2,9 @@ import { HttpClient } from '@angular/common/http'; import { Injectable } from '@angular/core'; import { Store } from '@ngrx/store'; import { combineLatest as observableCombineLatest, Observable } from 'rxjs'; -import { filter, find, map, mergeMap, switchMap } from 'rxjs/operators'; +import { map, mergeMap, switchMap, toArray } from 'rxjs/operators'; import { AppState } from '../../app.reducer'; -import { isNotUndefined } from '../../shared/empty.util'; +import { hasValue } from '../../shared/empty.util'; import { NotificationsService } from '../../shared/notifications/notifications.service'; import { followLink } from '../../shared/utils/follow-link-config.model'; import { dataService } from '../cache/builders/build-decorators'; @@ -15,7 +15,7 @@ import { HALEndpointService } from '../shared/hal-endpoint.service'; import { ItemType } from '../shared/item-relationships/item-type.model'; import { RelationshipType } from '../shared/item-relationships/relationship-type.model'; import { RELATIONSHIP_TYPE } from '../shared/item-relationships/relationship-type.resource-type'; -import { getFirstSucceededRemoteData } from '../shared/operators'; +import { getFirstSucceededRemoteData, getFirstCompletedRemoteData } from '../shared/operators'; import { DataService } from './data.service'; import { DefaultChangeAnalyzer } from './default-change-analyzer.service'; import { ItemDataService } from './item-data.service'; @@ -23,6 +23,16 @@ import { PaginatedList } from './paginated-list.model'; import { RemoteData } from './remote-data'; import { RequestService } from './request.service'; + +/** + * Check if one side of a RelationshipType is the ItemType with the given label + * + * @param typeRd the RemoteData for an ItemType + * @param label the label to check. e.g. Author + */ +const checkSide = (typeRd: RemoteData, label: string): boolean => + typeRd.hasSucceeded && typeRd.payload.label === label; + /** * The service handling all relationship type requests */ @@ -45,36 +55,70 @@ export class RelationshipTypeService extends DataService { } /** - * Get the RelationshipType for a relationship type by label - * @param label + * Find a RelationshipType object by its label, and the types of the items on either side. + * + * TODO this should be implemented as a rest endpoint, we shouldn't have logic on the client that + * requires using a huge page-size in order to process "everything". + * + * @param relationshipTypeLabel The name of the relationType we're looking for + * e.g. isAuthorOfPublication + * @param firstItemType The type of one of the sides of the relationship e.g. Publication + * @param secondItemType The type of the other side of the relationship e.g. Author */ - getRelationshipTypeByLabelAndTypes(label: string, firstType: string, secondType: string): Observable { + getRelationshipTypeByLabelAndTypes(relationshipTypeLabel: string, firstItemType: string, secondItemType: string): Observable { + // Retrieve all relationship types from the server in a single page return this.findAll({ currentPage: 1, elementsPerPage: 9999 }, true, true, followLink('leftType'), followLink('rightType')) .pipe( getFirstSucceededRemoteData(), - /* Flatten the page so we can treat it like an observable */ + // Emit each type in the page array separately switchMap((typeListRD: RemoteData>) => typeListRD.payload.page), - mergeMap((type: RelationshipType) => { - if (type.leftwardType === label) { - return this.checkType(type, firstType, secondType); - } else if (type.rightwardType === label) { - return this.checkType(type, secondType, firstType); + // Check each type individually, to see if it matches the provided types + mergeMap((relationshipType: RelationshipType) => { + if (relationshipType.leftwardType === relationshipTypeLabel) { + return this.checkType(relationshipType, firstItemType, secondItemType); + } else if (relationshipType.rightwardType === relationshipTypeLabel) { + return this.checkType(relationshipType, secondItemType, firstItemType); } else { return [null]; } }), + // Wait for all types to be checked and emit once, with the results combined back into an + // array + toArray(), + // Look for a match in the array and emit it if found, or null if one isn't found + map((types: RelationshipType[]) => { + const match = types.find((type: RelationshipType) => hasValue(type)); + if (hasValue(match)) { + return match + } else { + return null; + } + }) ); } - // Check if relationship type matches the given types - // returns a void observable if there's not match - // returns an observable that emits the relationship type when there is a match - private checkType(type: RelationshipType, firstType: string, secondType: string): Observable { - const entityTypes = observableCombineLatest([type.leftType.pipe(getFirstSucceededRemoteData()), type.rightType.pipe(getFirstSucceededRemoteData())]); - return entityTypes.pipe( - find(([leftTypeRD, rightTypeRD]: [RemoteData, RemoteData]) => leftTypeRD.payload.label === firstType && rightTypeRD.payload.label === secondType), - filter((types) => isNotUndefined(types)), - map(() => type) + /** + * Check if the given RelationshipType has the given itemTypes on its left and right sides. + * Returns an observable of the given RelationshipType if it matches, null if it doesn't + * + * @param type The RelationshipType to check + * @param leftItemType The item type that should be on the left side + * @param rightItemType The item type that should be on the right side + * @private + */ + private checkType(type: RelationshipType, leftItemType: string, rightItemType: string): Observable { + return observableCombineLatest([ + type.leftType.pipe(getFirstCompletedRemoteData()), + type.rightType.pipe(getFirstCompletedRemoteData()) + ]).pipe( + map(([leftTypeRD, rightTypeRD]: [RemoteData, RemoteData]) => { + if (checkSide(leftTypeRD, leftItemType) && checkSide(rightTypeRD, rightItemType) + ) { + return type; + } else { + return null; + } + }) ); } } From 3ffef2bffad6bb5a5d104405366ec3344fb578c0 Mon Sep 17 00:00:00 2001 From: Kristof De Langhe Date: Thu, 14 Jan 2021 13:27:49 +0100 Subject: [PATCH 015/106] 75316: TSLint fix --- src/app/core/data/relationship-type.service.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/app/core/data/relationship-type.service.ts b/src/app/core/data/relationship-type.service.ts index 818a46cc2a..b55a0ade8a 100644 --- a/src/app/core/data/relationship-type.service.ts +++ b/src/app/core/data/relationship-type.service.ts @@ -23,7 +23,6 @@ import { PaginatedList } from './paginated-list.model'; import { RemoteData } from './remote-data'; import { RequestService } from './request.service'; - /** * Check if one side of a RelationshipType is the ItemType with the given label * From 3c296620c69ed3ba42f47a30712f491975b62192 Mon Sep 17 00:00:00 2001 From: Kristof De Langhe Date: Wed, 27 Jan 2021 10:43:14 +0100 Subject: [PATCH 016/106] v1.22.10 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index d92afb4a40..ef5c3c5e68 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "dspace-angular", - "version": "0.0.0", + "version": "1.22.10", "scripts": { "ng": "ng", "config:dev": "ts-node --project ./tsconfig.ts-node.json scripts/set-env.ts --dev", From 28ffe18b07067a7f259190da0b155d4e74495b17 Mon Sep 17 00:00:00 2001 From: Kristof De Langhe Date: Wed, 27 Jan 2021 11:20:07 +0100 Subject: [PATCH 017/106] 75316: Build error fix --- .../relation-lookup-modal/relationship.effects.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/relationship.effects.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/relationship.effects.ts index 65e7cfb574..e68152f74d 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/relationship.effects.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/relationship.effects.ts @@ -33,7 +33,6 @@ import { RemoteData } from '../../../../../core/data/remote-data'; import { NotificationsService } from '../../../../notifications/notifications.service'; import { SelectableListService } from '../../../../object-list/selectable-list/selectable-list.service'; import { TranslateService } from '@ngx-translate/core'; -import { error } from 'util'; const DEBOUNCE_TIME = 500; From d69bde132750d56a166e8b48b604b42afffb9839 Mon Sep 17 00:00:00 2001 From: Kristof De Langhe Date: Wed, 27 Jan 2021 11:24:40 +0100 Subject: [PATCH 018/106] 75316: TSlint error fix --- src/app/core/data/relationship-type.service.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/core/data/relationship-type.service.ts b/src/app/core/data/relationship-type.service.ts index b55a0ade8a..4dac044090 100644 --- a/src/app/core/data/relationship-type.service.ts +++ b/src/app/core/data/relationship-type.service.ts @@ -88,7 +88,7 @@ export class RelationshipTypeService extends DataService { map((types: RelationshipType[]) => { const match = types.find((type: RelationshipType) => hasValue(type)); if (hasValue(match)) { - return match + return match; } else { return null; } From f2da1fa59e907be9638fdad422e62624e4452df9 Mon Sep 17 00:00:00 2001 From: Yana De Pauw Date: Mon, 11 Jan 2021 11:45:01 +0100 Subject: [PATCH 019/106] 75894: Angular - Routing --- src/app/app-routing.module.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index e14672f1f5..5e5c5f5413 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -86,6 +86,11 @@ import { ForbiddenComponent } from './forbidden/forbidden.component'; .then((m) => m.ItemPageModule), canActivate: [EndUserAgreementCurrentUserGuard] }, + { path: 'entities/:entity-type', + loadChildren: () => import('./+item-page/item-page.module') + .then((m) => m.ItemPageModule), + canActivate: [EndUserAgreementCurrentUserGuard] + }, { path: BITSTREAM_MODULE_PATH, loadChildren: () => import('./+bitstream-page/bitstream-page.module') From 1942e0e2bab386391e70661a9e6672876d97e4de Mon Sep 17 00:00:00 2001 From: Yana De Pauw Date: Tue, 12 Jan 2021 11:25:37 +0100 Subject: [PATCH 020/106] 75895: Angular - Handle redirects --- .../data/dso-redirect-data.service.spec.ts | 17 ++ .../core/data/dso-redirect-data.service.ts | 13 +- .../mocks/mock-publication-response.json | 198 ++++++++++++++++++ .../mocks/mock-untyped-item-response.json | 180 ++++++++++++++++ .../dspace-rest/mocks/response-map.mock.ts | 4 + 5 files changed, 410 insertions(+), 2 deletions(-) create mode 100644 src/app/shared/mocks/dspace-rest/mocks/mock-publication-response.json create mode 100644 src/app/shared/mocks/dspace-rest/mocks/mock-untyped-item-response.json diff --git a/src/app/core/data/dso-redirect-data.service.spec.ts b/src/app/core/data/dso-redirect-data.service.spec.ts index 602a447d52..714774d808 100644 --- a/src/app/core/data/dso-redirect-data.service.spec.ts +++ b/src/app/core/data/dso-redirect-data.service.spec.ts @@ -116,6 +116,23 @@ describe('DsoRedirectDataService', () => { scheduler.flush(); expect(router.navigate).toHaveBeenCalledWith([remoteData.payload.type + 's/' + remoteData.payload.uuid]); }); + it('should navigate to entities route with the corresponding entity type', () => { + remoteData.payload.type = 'item'; + remoteData.payload.metadata = { + 'relationship.type': [ + { + language: 'en_US', + value: 'Publication' + } + ], + }; + const redir = service.findByIdAndIDType(dsoHandle, IdentifierType.HANDLE); + // The framework would normally subscribe but do it here so we can test navigation. + redir.subscribe(); + scheduler.schedule(() => redir); + scheduler.flush(); + expect(router.navigate).toHaveBeenCalledWith(['entities/publication/' + remoteData.payload.uuid]); + }); it('should navigate to collections route', () => { remoteData.payload.type = 'collection'; diff --git a/src/app/core/data/dso-redirect-data.service.ts b/src/app/core/data/dso-redirect-data.service.ts index 9fb5135d34..688c3e1963 100644 --- a/src/app/core/data/dso-redirect-data.service.ts +++ b/src/app/core/data/dso-redirect-data.service.ts @@ -18,6 +18,8 @@ import { IdentifierType } from './request.models'; import { RequestService } from './request.service'; import { getFirstCompletedRemoteData } from '../shared/operators'; import { DSpaceObject } from '../shared/dspace-object.model'; +import { Item } from '../shared/item.model'; +import { Metadata } from '../shared/metadata.utils'; @Injectable() export class DsoRedirectDataService extends DataService { @@ -60,8 +62,15 @@ export class DsoRedirectDataService extends DataService { getFirstCompletedRemoteData(), tap((response) => { if (response.hasSucceeded) { - const uuid = response.payload.uuid; - const newRoute = this.getEndpointFromDSOType(response.payload.type); + const dso = response.payload; + const uuid = dso.uuid; + let newRoute = this.getEndpointFromDSOType(response.payload.type); + if (dso.type.startsWith('item')) { + const relation = Metadata.firstValue(dso.metadata, 'relationship.type'); + if (hasValue(relation)) { + newRoute = `entities/${relation.toLowerCase()}`; + } + } if (hasValue(uuid) && hasValue(newRoute)) { this.router.navigate([newRoute + '/' + uuid]); } diff --git a/src/app/shared/mocks/dspace-rest/mocks/mock-publication-response.json b/src/app/shared/mocks/dspace-rest/mocks/mock-publication-response.json new file mode 100644 index 0000000000..d298812e5d --- /dev/null +++ b/src/app/shared/mocks/dspace-rest/mocks/mock-publication-response.json @@ -0,0 +1,198 @@ +{ + "id": "0136fe00-43ca-439e-ae6c-b2b08c2b8f5e", + "uuid": "0136fe00-43ca-439e-ae6c-b2b08c2b8f5e", + "name": "The pathogenesis of dengue", + "handle": "123456789/156", + "metadata": { + "dc.contributor.author": [ + { + "value": "Simmons, Cameron", + "language": null, + "authority": "virtual::1586", + "confidence": -1, + "place": 0 + } + ], + "dc.date.accessioned": [ + { + "value": "2018-09-14T11:15:00Z", + "language": null, + "authority": null, + "confidence": -1, + "place": 0 + } + ], + "dc.date.available": [ + { + "value": "2017-07-12T04:44:34Z", + "language": null, + "authority": null, + "confidence": -1, + "place": 0 + }, + { + "value": "2011-07-06", + "language": "en_US", + "authority": null, + "confidence": -1, + "place": 1 + }, + { + "value": "2011-07-06", + "language": "en_US", + "authority": null, + "confidence": -1, + "place": 2 + }, + { + "value": "2011-07-06", + "language": "en_US", + "authority": null, + "confidence": -1, + "place": 3 + }, + { + "value": "2011-07-06", + "language": "en_US", + "authority": null, + "confidence": -1, + "place": 4 + }, + { + "value": "2011-07-06", + "language": "en_US", + "authority": null, + "confidence": -1, + "place": 5 + }, + { + "value": "2011-07-06", + "language": "en_US", + "authority": null, + "confidence": -1, + "place": 6 + }, + { + "value": "2011-07-06", + "language": "en_US", + "authority": null, + "confidence": -1, + "place": 7 + }, + { + "value": "2011-07-06", + "language": "en_US", + "authority": null, + "confidence": -1, + "place": 8 + }, + { + "value": "2018-09-14T11:15:00Z", + "language": null, + "authority": null, + "confidence": -1, + "place": 9 + } + ], + "dc.date.issued": [ + { + "value": "2011-09-23", + "language": "en_US", + "authority": null, + "confidence": -1, + "place": 0 + } + ], + "dc.description.abstract": [ + { + "value": "Dengue is an important cause of childhood and adult morbidity in Asian and Latin American countries and its geographic footprint is growing. The clinical manifestations of dengue are the expression of a constellation of host and viral factors, some acquired, others intrinsic to the individual. The virulence of the virus plus the flavivirus infection history, age, gender and genotype of the host all appear to help shape the severity of infection. Similarly, the characteristics of the innate and acquired host immune response subsequent to infection are also likely determinants of outcome. This review summarises recent developments in the understanding of dengue pathogenesis and their relevance to dengue vaccine development.", + "language": null, + "authority": null, + "confidence": -1, + "place": 0 + } + ], + "dc.identifier.uri": [ + { + "value": "http://localhost:8080/dspace7/handle/123456789/156", + "language": null, + "authority": null, + "confidence": -1, + "place": 0 + } + ], + "dc.language": [ + { + "value": "English", + "language": "en_US", + "authority": null, + "confidence": -1, + "place": 0 + } + ], + "dc.title": [ + { + "value": "The pathogenesis of dengue", + "language": "en_US", + "authority": null, + "confidence": -1, + "place": 0 + } + ], + "dc.type": [ + { + "value": "Journal Article", + "language": null, + "authority": null, + "confidence": -1, + "place": 0 + } + ], + "relation.isAuthorOfPublication": [ + { + "value": "b1b2c768-bda1-448a-a073-fc541e8b24d9", + "language": null, + "authority": "virtual::1586", + "confidence": -1, + "place": 0 + } + ], + "relationship.type": [ + { + "value": "Publication", + "language": null, + "authority": null, + "confidence": -1, + "place": 0 + } + ] + }, + "inArchive": true, + "discoverable": true, + "withdrawn": false, + "lastModified": "2019-05-06T15:24:25.037+0000", + "type": "item", + "_links": { + "bundles": { + "href": "https://dspace7.4science.cloud/server/api/core/items/0136fe00-43ca-439e-ae6c-b2b08c2b8f5e/bundles" + }, + "mappedCollections": { + "href": "https://dspace7.4science.cloud/server/api/core/items/0136fe00-43ca-439e-ae6c-b2b08c2b8f5e/mappedCollections" + }, + "owningCollection": { + "href": "https://dspace7.4science.cloud/server/api/core/items/0136fe00-43ca-439e-ae6c-b2b08c2b8f5e/owningCollection" + }, + "relationships": { + "href": "https://dspace7.4science.cloud/server/api/core/items/0136fe00-43ca-439e-ae6c-b2b08c2b8f5e/relationships" + }, + "version": { + "href": "https://dspace7.4science.cloud/server/api/core/items/0136fe00-43ca-439e-ae6c-b2b08c2b8f5e/version" + }, + "templateItemOf": { + "href": "https://dspace7.4science.cloud/server/api/core/items/0136fe00-43ca-439e-ae6c-b2b08c2b8f5e/templateItemOf" + }, + "self": { + "href": "https://dspace7.4science.cloud/server/api/core/items/0136fe00-43ca-439e-ae6c-b2b08c2b8f5e" + } + } +} \ No newline at end of file diff --git a/src/app/shared/mocks/dspace-rest/mocks/mock-untyped-item-response.json b/src/app/shared/mocks/dspace-rest/mocks/mock-untyped-item-response.json new file mode 100644 index 0000000000..0501e18b9e --- /dev/null +++ b/src/app/shared/mocks/dspace-rest/mocks/mock-untyped-item-response.json @@ -0,0 +1,180 @@ +{ + "id": "0136fe00-43ca-439e-ae6c-b2b08c2b8f5e", + "uuid": "0136fe00-43ca-439e-ae6c-b2b08c2b8f5e", + "name": "The pathogenesis of dengue", + "handle": "123456789/156", + "metadata": { + "dc.contributor.author": [ + { + "value": "Simmons, Cameron", + "language": null, + "authority": "null", + "confidence": -1, + "place": 0 + } + ], + "dc.date.accessioned": [ + { + "value": "2018-09-14T11:15:00Z", + "language": null, + "authority": null, + "confidence": -1, + "place": 0 + } + ], + "dc.date.available": [ + { + "value": "2017-07-12T04:44:34Z", + "language": null, + "authority": null, + "confidence": -1, + "place": 0 + }, + { + "value": "2011-07-06", + "language": "en_US", + "authority": null, + "confidence": -1, + "place": 1 + }, + { + "value": "2011-07-06", + "language": "en_US", + "authority": null, + "confidence": -1, + "place": 2 + }, + { + "value": "2011-07-06", + "language": "en_US", + "authority": null, + "confidence": -1, + "place": 3 + }, + { + "value": "2011-07-06", + "language": "en_US", + "authority": null, + "confidence": -1, + "place": 4 + }, + { + "value": "2011-07-06", + "language": "en_US", + "authority": null, + "confidence": -1, + "place": 5 + }, + { + "value": "2011-07-06", + "language": "en_US", + "authority": null, + "confidence": -1, + "place": 6 + }, + { + "value": "2011-07-06", + "language": "en_US", + "authority": null, + "confidence": -1, + "place": 7 + }, + { + "value": "2011-07-06", + "language": "en_US", + "authority": null, + "confidence": -1, + "place": 8 + }, + { + "value": "2018-09-14T11:15:00Z", + "language": null, + "authority": null, + "confidence": -1, + "place": 9 + } + ], + "dc.date.issued": [ + { + "value": "2011-09-23", + "language": "en_US", + "authority": null, + "confidence": -1, + "place": 0 + } + ], + "dc.description.abstract": [ + { + "value": "Dengue is an important cause of childhood and adult morbidity in Asian and Latin American countries and its geographic footprint is growing. The clinical manifestations of dengue are the expression of a constellation of host and viral factors, some acquired, others intrinsic to the individual. The virulence of the virus plus the flavivirus infection history, age, gender and genotype of the host all appear to help shape the severity of infection. Similarly, the characteristics of the innate and acquired host immune response subsequent to infection are also likely determinants of outcome. This review summarises recent developments in the understanding of dengue pathogenesis and their relevance to dengue vaccine development.", + "language": null, + "authority": null, + "confidence": -1, + "place": 0 + } + ], + "dc.identifier.uri": [ + { + "value": "http://localhost:8080/dspace7/handle/123456789/156", + "language": null, + "authority": null, + "confidence": -1, + "place": 0 + } + ], + "dc.language": [ + { + "value": "English", + "language": "en_US", + "authority": null, + "confidence": -1, + "place": 0 + } + ], + "dc.title": [ + { + "value": "The pathogenesis of dengue", + "language": "en_US", + "authority": null, + "confidence": -1, + "place": 0 + } + ], + "dc.type": [ + { + "value": "Journal Article", + "language": null, + "authority": null, + "confidence": -1, + "place": 0 + } + ] +}, + "inArchive": true, + "discoverable": true, + "withdrawn": false, + "lastModified": "2019-05-06T15:24:25.037+0000", + "type": "item", + "_links": { + "bundles": { + "href": "https://dspace7.4science.cloud/server/api/core/items/0136fe00-43ca-439e-ae6c-b2b08c2b8f5e/bundles" + }, + "mappedCollections": { + "href": "https://dspace7.4science.cloud/server/api/core/items/0136fe00-43ca-439e-ae6c-b2b08c2b8f5e/mappedCollections" + }, + "owningCollection": { + "href": "https://dspace7.4science.cloud/server/api/core/items/0136fe00-43ca-439e-ae6c-b2b08c2b8f5e/owningCollection" + }, + "relationships": { + "href": "https://dspace7.4science.cloud/server/api/core/items/0136fe00-43ca-439e-ae6c-b2b08c2b8f5e/relationships" + }, + "version": { + "href": "https://dspace7.4science.cloud/server/api/core/items/0136fe00-43ca-439e-ae6c-b2b08c2b8f5e/version" + }, + "templateItemOf": { + "href": "https://dspace7.4science.cloud/server/api/core/items/0136fe00-43ca-439e-ae6c-b2b08c2b8f5e/templateItemOf" + }, + "self": { + "href": "https://dspace7.4science.cloud/server/api/core/items/0136fe00-43ca-439e-ae6c-b2b08c2b8f5e" + } + } +} \ No newline at end of file diff --git a/src/app/shared/mocks/dspace-rest/mocks/response-map.mock.ts b/src/app/shared/mocks/dspace-rest/mocks/response-map.mock.ts index c1fb68853d..92f04a7bc5 100644 --- a/src/app/shared/mocks/dspace-rest/mocks/response-map.mock.ts +++ b/src/app/shared/mocks/dspace-rest/mocks/response-map.mock.ts @@ -1,5 +1,7 @@ import { InjectionToken } from '@angular/core'; // import mockSubmissionResponse from './mock-submission-response.json'; +// import mockPublicationResponse from './mock-publication-response.json'; +// import mockUntypedItemResponse from './mock-untyped-item-response.json'; export class ResponseMapMock extends Map {} @@ -12,4 +14,6 @@ export const MOCK_RESPONSE_MAP: InjectionToken = new InjectionT */ export const mockResponseMap: ResponseMapMock = new Map([ // [ '/config/submissionforms/traditionalpageone', mockSubmissionResponse ] + // [ '/api/pid/find', mockPublicationResponse ], + // [ '/api/pid/find', mockUntypedItemResponse ], ]); From 8e7513208618ef701d8f92e6110203ae4c7a6af7 Mon Sep 17 00:00:00 2001 From: Kristof De Langhe Date: Fri, 15 Jan 2021 16:33:27 +0100 Subject: [PATCH 021/106] 75939: (edit) item links refactored to contain entity types --- ...in-search-result-actions.component.spec.ts | 14 +++++----- ...m-admin-search-result-actions.component.ts | 2 +- .../edit-bitstream-page.component.spec.ts | 16 +++++++---- .../edit-bitstream-page.component.ts | 16 ++++++++--- .../collection-page.component.html | 2 +- .../collection-page.component.ts | 18 +++++++++++- .../community-page.component.html | 2 +- .../community-page.component.ts | 13 ++++++++- .../upload/upload-bitstream.component.ts | 13 +++++++-- .../abstract-item-update.component.ts | 7 +++++ .../edit-item-page.component.ts | 2 +- .../item-bitstreams.component.html | 2 +- .../item-edit-bitstream-bundle.component.html | 2 +- .../item-edit-bitstream-bundle.component.ts | 7 +++++ .../item-collection-mapper.component.spec.ts | 3 +- .../item-collection-mapper.component.ts | 3 +- .../item-delete/item-delete.component.html | 2 +- .../item-delete/item-delete.component.spec.ts | 2 +- .../item-delete/item-delete.component.ts | 2 +- .../item-move/item-move.component.html | 4 +-- .../item-move/item-move.component.spec.ts | 9 ++++-- .../item-move/item-move.component.ts | 21 ++++++++++---- .../item-reinstate.component.spec.ts | 4 +-- .../item-status/item-status.component.html | 2 +- .../item-status/item-status.component.spec.ts | 3 +- .../item-status/item-status.component.ts | 21 +++++++------- ...abstract-simple-item-action.component.html | 4 +-- ...tract-simple-item-action.component.spec.ts | 8 +++--- .../abstract-simple-item-action.component.ts | 12 ++++++-- .../full/full-item-page.component.html | 4 +-- src/app/+item-page/item-page-routing-paths.ts | 28 ++++++++++++++++--- .../+item-page/simple/item-page.component.ts | 12 +++++++- .../publication/publication.component.html | 4 +-- .../item-types/shared/item.component.ts | 14 ++++++++-- .../untyped-item/untyped-item.component.html | 4 +-- src/app/app-routing-paths.ts | 2 +- .../data/dso-redirect-data.service.spec.ts | 9 +++--- .../core/data/dso-redirect-data.service.ts | 18 ++++++------ ...-search-result-grid-element.component.html | 4 +-- ...ue-search-result-grid-element.component.ts | 6 ++-- ...-search-result-grid-element.component.html | 4 +-- ...me-search-result-grid-element.component.ts | 6 ++-- ...-search-result-grid-element.component.html | 4 +-- ...al-search-result-grid-element.component.ts | 6 ++-- ...-search-result-list-element.component.html | 2 +- ...ue-search-result-list-element.component.ts | 6 ++-- ...-search-result-list-element.component.html | 2 +- ...me-search-result-list-element.component.ts | 6 ++-- ...-search-result-list-element.component.html | 2 +- ...al-search-result-list-element.component.ts | 6 ++-- .../journal-issue.component.html | 4 +-- .../journal-volume.component.html | 4 +-- .../item-pages/journal/journal.component.html | 4 +-- ...-search-result-grid-element.component.html | 4 +-- ...it-search-result-grid-element.component.ts | 6 ++-- ...-search-result-grid-element.component.html | 4 +-- ...on-search-result-grid-element.component.ts | 6 ++-- ...-search-result-grid-element.component.html | 4 +-- ...ct-search-result-grid-element.component.ts | 6 ++-- ...-search-result-list-element.component.html | 2 +- ...it-search-result-list-element.component.ts | 6 ++-- ...-search-result-list-element.component.html | 2 +- ...on-search-result-list-element.component.ts | 6 ++-- ...-search-result-list-element.component.html | 2 +- ...ct-search-result-list-element.component.ts | 6 ++-- .../org-unit/org-unit.component.html | 4 +-- .../item-pages/person/person.component.html | 4 +-- .../item-pages/project/project.component.html | 4 +-- ...-item-metadata-list-element.component.html | 2 +- ...-item-metadata-list-element.component.html | 2 +- .../dso-page-edit-button.component.html | 2 +- .../dso-page-edit-button.component.spec.ts | 2 +- .../dso-page-edit-button.component.ts | 2 +- .../edit-item-selector.component.ts | 3 +- .../item-versions.component.html | 2 +- .../item-versions/item-versions.component.ts | 25 ++++++++++++++++- .../notice/item-versions-notice.component.ts | 2 +- .../item/item-actions.component.html | 2 +- .../item/item-actions.component.ts | 24 +++++++++++++--- ...-search-result-grid-element.component.html | 4 +-- ...em-search-result-grid-element.component.ts | 10 +++++++ ...a-representation-list-element.component.ts | 14 ++++++++-- ...-search-result-list-element.component.html | 2 +- ...em-search-result-list-element.component.ts | 10 +++++++ .../item-select/item-select.component.html | 2 +- .../item-select/item-select.component.ts | 24 +++++++++++++++- .../publication/publication.component.html | 2 +- .../journal-issue.component.html | 2 +- .../journal-volume.component.html | 2 +- .../item-pages/journal/journal.component.html | 2 +- .../org-unit/org-unit.component.html | 2 +- .../item-pages/person/person.component.html | 2 +- .../item-pages/project/project.component.html | 2 +- 93 files changed, 392 insertions(+), 199 deletions(-) diff --git a/src/app/+admin/admin-search-page/admin-search-results/item-admin-search-result-actions.component.spec.ts b/src/app/+admin/admin-search-page/admin-search-results/item-admin-search-result-actions.component.spec.ts index 52a9366ecc..2696e621de 100644 --- a/src/app/+admin/admin-search-page/admin-search-results/item-admin-search-result-actions.component.spec.ts +++ b/src/app/+admin/admin-search-page/admin-search-results/item-admin-search-result-actions.component.spec.ts @@ -56,19 +56,19 @@ describe('ItemAdminSearchResultActionsComponent', () => { it('should render an edit button with the correct link', () => { const button = fixture.debugElement.query(By.css('a.edit-link')); const link = button.nativeElement.href; - expect(link).toContain(getItemEditRoute(id)); + expect(link).toContain(getItemEditRoute(item)); }); it('should render a delete button with the correct link', () => { const button = fixture.debugElement.query(By.css('a.delete-link')); const link = button.nativeElement.href; - expect(link).toContain(new URLCombiner(getItemEditRoute(id), ITEM_EDIT_DELETE_PATH).toString()); + expect(link).toContain(new URLCombiner(getItemEditRoute(item), ITEM_EDIT_DELETE_PATH).toString()); }); it('should render a move button with the correct link', () => { const a = fixture.debugElement.query(By.css('a.move-link')); const link = a.nativeElement.href; - expect(link).toContain(new URLCombiner(getItemEditRoute(id), ITEM_EDIT_MOVE_PATH).toString()); + expect(link).toContain(new URLCombiner(getItemEditRoute(item), ITEM_EDIT_MOVE_PATH).toString()); }); describe('when the item is not withdrawn', () => { @@ -80,7 +80,7 @@ describe('ItemAdminSearchResultActionsComponent', () => { it('should render a withdraw button with the correct link', () => { const a = fixture.debugElement.query(By.css('a.withdraw-link')); const link = a.nativeElement.href; - expect(link).toContain(new URLCombiner(getItemEditRoute(id), ITEM_EDIT_WITHDRAW_PATH).toString()); + expect(link).toContain(new URLCombiner(getItemEditRoute(item), ITEM_EDIT_WITHDRAW_PATH).toString()); }); it('should not render a reinstate button with the correct link', () => { @@ -103,7 +103,7 @@ describe('ItemAdminSearchResultActionsComponent', () => { it('should render a reinstate button with the correct link', () => { const a = fixture.debugElement.query(By.css('a.reinstate-link')); const link = a.nativeElement.href; - expect(link).toContain(new URLCombiner(getItemEditRoute(id), ITEM_EDIT_REINSTATE_PATH).toString()); + expect(link).toContain(new URLCombiner(getItemEditRoute(item), ITEM_EDIT_REINSTATE_PATH).toString()); }); }); @@ -116,7 +116,7 @@ describe('ItemAdminSearchResultActionsComponent', () => { it('should render a make private button with the correct link', () => { const a = fixture.debugElement.query(By.css('a.private-link')); const link = a.nativeElement.href; - expect(link).toContain(new URLCombiner(getItemEditRoute(id), ITEM_EDIT_PRIVATE_PATH).toString()); + expect(link).toContain(new URLCombiner(getItemEditRoute(item), ITEM_EDIT_PRIVATE_PATH).toString()); }); it('should not render a make public button with the correct link', () => { @@ -139,7 +139,7 @@ describe('ItemAdminSearchResultActionsComponent', () => { it('should render a make private button with the correct link', () => { const a = fixture.debugElement.query(By.css('a.public-link')); const link = a.nativeElement.href; - expect(link).toContain(new URLCombiner(getItemEditRoute(id), ITEM_EDIT_PUBLIC_PATH).toString()); + expect(link).toContain(new URLCombiner(getItemEditRoute(item), ITEM_EDIT_PUBLIC_PATH).toString()); }); }); }); diff --git a/src/app/+admin/admin-search-page/admin-search-results/item-admin-search-result-actions.component.ts b/src/app/+admin/admin-search-page/admin-search-results/item-admin-search-result-actions.component.ts index 3142f5b11a..cded519796 100644 --- a/src/app/+admin/admin-search-page/admin-search-results/item-admin-search-result-actions.component.ts +++ b/src/app/+admin/admin-search-page/admin-search-results/item-admin-search-result-actions.component.ts @@ -34,7 +34,7 @@ export class ItemAdminSearchResultActionsComponent { * Returns the path to the edit page of this item */ getEditRoute(): string { - return getItemEditRoute(this.item.uuid); + return getItemEditRoute(this.item); } /** diff --git a/src/app/+bitstream-page/edit-bitstream-page/edit-bitstream-page.component.spec.ts b/src/app/+bitstream-page/edit-bitstream-page/edit-bitstream-page.component.spec.ts index 49fdfc6115..2e7eb4e1d1 100644 --- a/src/app/+bitstream-page/edit-bitstream-page/edit-bitstream-page.component.spec.ts +++ b/src/app/+bitstream-page/edit-bitstream-page/edit-bitstream-page.component.spec.ts @@ -18,10 +18,14 @@ import { hasValue } from '../../shared/empty.util'; import { FormControl, FormGroup } from '@angular/forms'; import { FileSizePipe } from '../../shared/utils/file-size-pipe'; import { VarDirective } from '../../shared/utils/var.directive'; -import { createSuccessfulRemoteDataObject, createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; +import { + createSuccessfulRemoteDataObject, + createSuccessfulRemoteDataObject$ +} from '../../shared/remote-data.utils'; import { RouterStub } from '../../shared/testing/router.stub'; -import { getItemEditRoute } from '../../+item-page/item-page-routing-paths'; +import { getEntityEditRoute, getItemEditRoute } from '../../+item-page/item-page-routing-paths'; import { createPaginatedList } from '../../shared/testing/utils.test'; +import { Item } from '../../core/shared/item.model'; const infoNotification: INotification = new Notification('id', NotificationType.Info, 'info'); const warningNotification: INotification = new Notification('id', NotificationType.Warning, 'warning'); @@ -109,9 +113,9 @@ describe('EditBitstreamPageComponent', () => { self: 'bitstream-selflink' }, bundle: createSuccessfulRemoteDataObject$({ - item: createSuccessfulRemoteDataObject$({ + item: createSuccessfulRemoteDataObject$(Object.assign(new Item(), { uuid: 'some-uuid' - }) + })) }) }); bitstreamService = jasmine.createSpyObj('bitstreamService', { @@ -237,14 +241,14 @@ describe('EditBitstreamPageComponent', () => { it('should redirect to the item edit page on the bitstreams tab with the itemId from the component', () => { comp.itemId = 'some-uuid1'; comp.navigateToItemEditBitstreams(); - expect(routerStub.navigate).toHaveBeenCalledWith([getItemEditRoute('some-uuid1'), 'bitstreams']); + expect(routerStub.navigate).toHaveBeenCalledWith([getEntityEditRoute(null, 'some-uuid1'), 'bitstreams']); }); }); describe('when navigateToItemEditBitstreams is called, and the component does not have an itemId', () => { it('should redirect to the item edit page on the bitstreams tab with the itemId from the bundle links ', () => { comp.itemId = undefined; comp.navigateToItemEditBitstreams(); - expect(routerStub.navigate).toHaveBeenCalledWith([getItemEditRoute('some-uuid'), 'bitstreams']); + expect(routerStub.navigate).toHaveBeenCalledWith([getEntityEditRoute(null, 'some-uuid'), 'bitstreams']); }); }); }); diff --git a/src/app/+bitstream-page/edit-bitstream-page/edit-bitstream-page.component.ts b/src/app/+bitstream-page/edit-bitstream-page/edit-bitstream-page.component.ts index 8db4e28f50..8a4d584647 100644 --- a/src/app/+bitstream-page/edit-bitstream-page/edit-bitstream-page.component.ts +++ b/src/app/+bitstream-page/edit-bitstream-page/edit-bitstream-page.component.ts @@ -33,9 +33,8 @@ import { Metadata } from '../../core/shared/metadata.utils'; import { Location } from '@angular/common'; import { RemoteData } from '../../core/data/remote-data'; import { PaginatedList } from '../../core/data/paginated-list.model'; -import { getItemEditRoute } from '../../+item-page/item-page-routing-paths'; +import { getEntityEditRoute, getItemEditRoute } from '../../+item-page/item-page-routing-paths'; import { Bundle } from '../../core/shared/bundle.model'; -import { Item } from '../../core/shared/item.model'; @Component({ selector: 'ds-edit-bitstream-page', @@ -264,9 +263,17 @@ export class EditBitstreamPageComponent implements OnInit, OnDestroy { /** * The ID of the item the bitstream originates from * Taken from the current query parameters when present + * This will determine the route of the item edit page to return to */ itemId: string; + /** + * The entity type of the item the bitstream originates from + * Taken from the current query parameters when present + * This will determine the route of the item edit page to return to + */ + entityType: string; + /** * Array to track all subscriptions and unsubscribe them onDestroy * @type {Array} @@ -293,6 +300,7 @@ export class EditBitstreamPageComponent implements OnInit, OnDestroy { this.formGroup = this.formService.createFormGroup(this.formModel); this.itemId = this.route.snapshot.queryParams.itemId; + this.entityType = this.route.snapshot.queryParams.entityType; this.bitstreamRD$ = this.route.data.pipe(map((data) => data.bitstream)); this.bitstreamFormatsRD$ = this.bitstreamFormatService.findAll(this.findAllOptions); @@ -499,10 +507,10 @@ export class EditBitstreamPageComponent implements OnInit, OnDestroy { */ navigateToItemEditBitstreams() { if (hasValue(this.itemId)) { - this.router.navigate([getItemEditRoute(this.itemId), 'bitstreams']); + this.router.navigate([getEntityEditRoute(this.entityType, this.itemId), 'bitstreams']); } else { this.bitstream.bundle.pipe(getFirstSucceededRemoteDataPayload(), - mergeMap((bundle: Bundle) => bundle.item.pipe(getFirstSucceededRemoteDataPayload(), map((item: Item) => item.uuid)))) + mergeMap((bundle: Bundle) => bundle.item.pipe(getFirstSucceededRemoteDataPayload()))) .subscribe((item) => { this.router.navigate(([getItemEditRoute(item), 'bitstreams'])); }); diff --git a/src/app/+collection-page/collection-page.component.html b/src/app/+collection-page/collection-page.component.html index beb7413415..bbe2cb5e66 100644 --- a/src/app/+collection-page/collection-page.component.html +++ b/src/app/+collection-page/collection-page.component.html @@ -35,7 +35,7 @@
- +
diff --git a/src/app/+collection-page/collection-page.component.ts b/src/app/+collection-page/collection-page.component.ts index b3c10b12df..734d84e6b7 100644 --- a/src/app/+collection-page/collection-page.component.ts +++ b/src/app/+collection-page/collection-page.component.ts @@ -15,12 +15,18 @@ import { Bitstream } from '../core/shared/bitstream.model'; import { Collection } from '../core/shared/collection.model'; import { DSpaceObjectType } from '../core/shared/dspace-object-type.model'; import { Item } from '../core/shared/item.model'; -import { getFirstSucceededRemoteData, redirectOn4xx, toDSpaceObjectListRD } from '../core/shared/operators'; +import { + getAllSucceededRemoteDataPayload, + getFirstSucceededRemoteData, + redirectOn4xx, + toDSpaceObjectListRD +} from '../core/shared/operators'; import { fadeIn, fadeInOut } from '../shared/animations/fade'; import { hasValue, isNotEmpty } from '../shared/empty.util'; import { PaginationComponentOptions } from '../shared/pagination/pagination-component-options.model'; import { AuthService } from '../core/auth/auth.service'; +import { getCollectionPageRoute } from './collection-page-routing-paths'; @Component({ selector: 'ds-collection-page', @@ -43,6 +49,11 @@ export class CollectionPageComponent implements OnInit { sortConfig: SortOptions }>; + /** + * Route to the community page + */ + collectionPageRoute$: Observable; + constructor( private collectionDataService: CollectionDataService, private searchService: SearchService, @@ -93,6 +104,11 @@ export class CollectionPageComponent implements OnInit { ) ); + this.collectionPageRoute$ = this.collectionRD$.pipe( + getAllSucceededRemoteDataPayload(), + map((collection) => getCollectionPageRoute(collection.id)) + ); + this.route.queryParams.pipe(take(1)).subscribe((params) => { this.metadata.processRemoteData(this.collectionRD$); this.onPaginationChange(params); diff --git a/src/app/+community-page/community-page.component.html b/src/app/+community-page/community-page.component.html index 418e69ed10..1b4f90a52b 100644 --- a/src/app/+community-page/community-page.component.html +++ b/src/app/+community-page/community-page.component.html @@ -21,7 +21,7 @@
- +
diff --git a/src/app/+community-page/community-page.component.ts b/src/app/+community-page/community-page.component.ts index e4812e6514..7ba8dfc6c0 100644 --- a/src/app/+community-page/community-page.component.ts +++ b/src/app/+community-page/community-page.component.ts @@ -13,8 +13,9 @@ import { MetadataService } from '../core/metadata/metadata.service'; import { fadeInOut } from '../shared/animations/fade'; import { hasValue } from '../shared/empty.util'; -import { redirectOn4xx } from '../core/shared/operators'; +import { getAllSucceededRemoteDataPayload, redirectOn4xx } from '../core/shared/operators'; import { AuthService } from '../core/auth/auth.service'; +import { getCommunityPageRoute } from './community-page-routing-paths'; @Component({ selector: 'ds-community-page', @@ -36,6 +37,12 @@ export class CommunityPageComponent implements OnInit { * The logo of this community */ logoRD$: Observable>; + + /** + * Route to the community page + */ + communityPageRoute$: Observable; + constructor( private communityDataService: CommunityDataService, private metadata: MetadataService, @@ -55,6 +62,10 @@ export class CommunityPageComponent implements OnInit { map((rd: RemoteData) => rd.payload), filter((community: Community) => hasValue(community)), mergeMap((community: Community) => community.logo)); + this.communityPageRoute$ = this.communityRD$.pipe( + getAllSucceededRemoteDataPayload(), + map((community) => getCommunityPageRoute(community.id)) + ); } } diff --git a/src/app/+item-page/bitstreams/upload/upload-bitstream.component.ts b/src/app/+item-page/bitstreams/upload/upload-bitstream.component.ts index f1b5fadf12..7635758463 100644 --- a/src/app/+item-page/bitstreams/upload/upload-bitstream.component.ts +++ b/src/app/+item-page/bitstreams/upload/upload-bitstream.component.ts @@ -17,7 +17,7 @@ import { getFirstSucceededRemoteDataPayload } from '../../../core/shared/operato import { UploaderComponent } from '../../../shared/uploader/uploader.component'; import { RequestService } from '../../../core/data/request.service'; import { getBitstreamModuleRoute } from '../../../app-routing-paths'; -import { getItemEditRoute } from '../../item-page-routing-paths'; +import { getEntityEditRoute } from '../../item-page-routing-paths'; @Component({ selector: 'ds-upload-bitstream', @@ -37,6 +37,12 @@ export class UploadBitstreamComponent implements OnInit, OnDestroy { */ itemId: string; + /** + * The entity type of the item + * This is fetched from the current URL and will determine the item's page route + */ + entityType: string; + /** * The item to upload a bitstream to */ @@ -100,6 +106,7 @@ export class UploadBitstreamComponent implements OnInit, OnDestroy { */ ngOnInit(): void { this.itemId = this.route.snapshot.params.id; + this.entityType = this.route.snapshot.params['entity-type']; this.itemRD$ = this.route.data.pipe(map((data) => data.dso)); this.bundlesRD$ = this.itemRD$.pipe( switchMap((itemRD: RemoteData) => itemRD.payload.bundles) @@ -167,7 +174,7 @@ export class UploadBitstreamComponent implements OnInit, OnDestroy { }); // Bring over the item ID as a query parameter - const queryParams = { itemId: this.itemId }; + const queryParams = { itemId: this.itemId, entityType: this.entityType }; this.router.navigate([getBitstreamModuleRoute(), bitstream.id, 'edit'], { queryParams: queryParams }); } @@ -193,7 +200,7 @@ export class UploadBitstreamComponent implements OnInit, OnDestroy { * When cancel is clicked, navigate back to the item's edit bitstreams page */ onCancel() { - this.router.navigate([getItemEditRoute(this.itemId), 'bitstreams']); + this.router.navigate([getEntityEditRoute(this.entityType, this.itemId), 'bitstreams']); } /** diff --git a/src/app/+item-page/edit-item-page/abstract-item-update/abstract-item-update.component.ts b/src/app/+item-page/edit-item-page/abstract-item-update/abstract-item-update.component.ts index 7c20de42e3..38abbecb66 100644 --- a/src/app/+item-page/edit-item-page/abstract-item-update/abstract-item-update.component.ts +++ b/src/app/+item-page/edit-item-page/abstract-item-update/abstract-item-update.component.ts @@ -11,6 +11,7 @@ import { first, map } from 'rxjs/operators'; import { RemoteData } from '../../../core/data/remote-data'; import { AbstractTrackableComponent } from '../../../shared/trackable/abstract-trackable.component'; import { environment } from '../../../../environments/environment'; +import { getItemPageRoute } from '../../item-page-routing-paths'; @Component({ selector: 'ds-abstract-item-update', @@ -30,6 +31,11 @@ export class AbstractItemUpdateComponent extends AbstractTrackableComponent impl */ updates$: Observable; + /** + * Route to the item's page + */ + itemPageRoute: string; + constructor( public itemService: ItemDataService, public objectUpdatesService: ObjectUpdatesService, @@ -52,6 +58,7 @@ export class AbstractItemUpdateComponent extends AbstractTrackableComponent impl map((data: RemoteData) => data.payload) ).subscribe((item: Item) => { this.item = item; + this.itemPageRoute = getItemPageRoute(this.item); this.postItemInit(); }); diff --git a/src/app/+item-page/edit-item-page/edit-item-page.component.ts b/src/app/+item-page/edit-item-page/edit-item-page.component.ts index 218a60a2de..ec7cdb022d 100644 --- a/src/app/+item-page/edit-item-page/edit-item-page.component.ts +++ b/src/app/+item-page/edit-item-page/edit-item-page.component.ts @@ -55,6 +55,6 @@ export class EditItemPageComponent implements OnInit { * @param item The item for which the url is requested */ getItemPage(item: Item): string { - return getItemPageRoute(item.id); + return getItemPageRoute(item); } } diff --git a/src/app/+item-page/edit-item-page/item-bitstreams/item-bitstreams.component.html b/src/app/+item-page/edit-item-page/item-bitstreams/item-bitstreams.component.html index 82ca1f58d9..9ab2029896 100644 --- a/src/app/+item-page/edit-item-page/item-bitstreams/item-bitstreams.component.html +++ b/src/app/+item-page/edit-item-page/item-bitstreams/item-bitstreams.component.html @@ -1,7 +1,7 @@
diff --git a/src/app/+item-page/edit-item-page/item-bitstreams/item-edit-bitstream-bundle/item-edit-bitstream-bundle.component.html b/src/app/+item-page/edit-item-page/item-bitstreams/item-edit-bitstream-bundle/item-edit-bitstream-bundle.component.html index c28ef9b525..b732e6a950 100644 --- a/src/app/+item-page/edit-item-page/item-bitstreams/item-edit-bitstream-bundle/item-edit-bitstream-bundle.component.html +++ b/src/app/+item-page/edit-item-page/item-bitstreams/item-edit-bitstream-bundle/item-edit-bitstream-bundle.component.html @@ -8,7 +8,7 @@
- - diff --git a/src/app/+item-page/edit-item-page/item-delete/item-delete.component.spec.ts b/src/app/+item-page/edit-item-page/item-delete/item-delete.component.spec.ts index ef78d11de5..116a0feb21 100644 --- a/src/app/+item-page/edit-item-page/item-delete/item-delete.component.spec.ts +++ b/src/app/+item-page/edit-item-page/item-delete/item-delete.component.spec.ts @@ -183,7 +183,7 @@ describe('ItemDeleteComponent', () => { describe('notify', () => { it('should navigate to the item edit page on failed deletion of the item', () => { comp.notify(false); - expect(routerStub.navigate).toHaveBeenCalledWith([getItemEditRoute('fake-id')]); + expect(routerStub.navigate).toHaveBeenCalledWith([getItemEditRoute(mockItem)]); }); }); }); diff --git a/src/app/+item-page/edit-item-page/item-delete/item-delete.component.ts b/src/app/+item-page/edit-item-page/item-delete/item-delete.component.ts index ff8e8540d5..366b22bec7 100644 --- a/src/app/+item-page/edit-item-page/item-delete/item-delete.component.ts +++ b/src/app/+item-page/edit-item-page/item-delete/item-delete.component.ts @@ -355,7 +355,7 @@ export class ItemDeleteComponent this.router.navigate(['']); } else { this.notificationsService.error(this.translateService.get('item.edit.' + this.messageKey + '.error')); - this.router.navigate([getItemEditRoute(this.item.id)]); + this.router.navigate([getItemEditRoute(this.item)]); } } } diff --git a/src/app/+item-page/edit-item-page/item-move/item-move.component.html b/src/app/+item-page/edit-item-page/item-move/item-move.component.html index cf5ada77cf..74ca9aae4e 100644 --- a/src/app/+item-page/edit-item-page/item-move/item-move.component.html +++ b/src/app/+item-page/edit-item-page/item-move/item-move.component.html @@ -19,7 +19,7 @@
-
+

@@ -39,7 +39,7 @@ {{'item.edit.move.processing' | translate}} - diff --git a/src/app/+item-page/edit-item-page/item-move/item-move.component.spec.ts b/src/app/+item-page/edit-item-page/item-move/item-move.component.spec.ts index 7f9b53f7ba..dd91c65e1e 100644 --- a/src/app/+item-page/edit-item-page/item-move/item-move.component.spec.ts +++ b/src/app/+item-page/edit-item-page/item-move/item-move.component.spec.ts @@ -57,9 +57,9 @@ describe('ItemMoveComponent', () => { const routeStub = { data: observableOf({ - dso: createSuccessfulRemoteDataObject({ + dso: createSuccessfulRemoteDataObject(Object.assign(new Item(), { id: 'item1' - }) + })) }) }; @@ -122,7 +122,10 @@ describe('ItemMoveComponent', () => { }); describe('moveCollection', () => { it('should call itemDataService.moveToCollection', () => { - comp.itemId = 'item-id'; + comp.item = Object.assign(new Item(), { + id: 'item-id', + uuid: 'item-id', + }); comp.selectedCollectionName = 'selected-collection-id'; comp.selectedCollection = collection1; comp.moveCollection(); diff --git a/src/app/+item-page/edit-item-page/item-move/item-move.component.ts b/src/app/+item-page/edit-item-page/item-move/item-move.component.ts index c63caef3ea..b1ed121b40 100644 --- a/src/app/+item-page/edit-item-page/item-move/item-move.component.ts +++ b/src/app/+item-page/edit-item-page/item-move/item-move.component.ts @@ -10,7 +10,7 @@ import { NotificationsService } from '../../../shared/notifications/notification import { TranslateService } from '@ngx-translate/core'; import { getFirstSucceededRemoteData, - getFirstCompletedRemoteData + getFirstCompletedRemoteData, getAllSucceededRemoteDataPayload } from '../../../core/shared/operators'; import { ItemDataService } from '../../../core/data/item-data.service'; import { Observable, of as observableOf } from 'rxjs'; @@ -19,7 +19,7 @@ import { PaginationComponentOptions } from '../../../shared/pagination/paginatio import { SearchService } from '../../../core/shared/search/search.service'; import { PaginatedSearchOptions } from '../../../shared/search/paginated-search-options.model'; import { SearchResult } from '../../../shared/search/search-result.model'; -import { getItemEditRoute } from '../../item-page-routing-paths'; +import { getItemEditRoute, getItemPageRoute } from '../../item-page-routing-paths'; @Component({ selector: 'ds-item-move', @@ -43,11 +43,16 @@ export class ItemMoveComponent implements OnInit { selectedCollection: Collection; canSubmit = false; - itemId: string; + item: Item; processing = false; pagination = new PaginationComponentOptions(); + /** + * Route to the item's page + */ + itemPageRoute$: Observable; + constructor(private route: ActivatedRoute, private router: Router, private notificationsService: NotificationsService, @@ -58,8 +63,12 @@ export class ItemMoveComponent implements OnInit { ngOnInit(): void { this.itemRD$ = this.route.data.pipe(map((data) => data.dso), getFirstSucceededRemoteData()) as Observable>; + this.itemPageRoute$ = this.itemRD$.pipe( + getAllSucceededRemoteDataPayload(), + map((item) => getItemPageRoute(item)) + ); this.itemRD$.subscribe((rd) => { - this.itemId = rd.payload.id; + this.item = rd.payload; } ); this.pagination.pageSize = 5; @@ -116,9 +125,9 @@ export class ItemMoveComponent implements OnInit { */ moveCollection() { this.processing = true; - this.itemDataService.moveToCollection(this.itemId, this.selectedCollection).pipe(getFirstCompletedRemoteData()).subscribe( + this.itemDataService.moveToCollection(this.item.id, this.selectedCollection).pipe(getFirstCompletedRemoteData()).subscribe( (response: RemoteData) => { - this.router.navigate([getItemEditRoute(this.itemId)]); + this.router.navigate([getItemEditRoute(this.item)]); if (response.hasSucceeded) { this.notificationsService.success(this.translateService.get('item.edit.move.success')); } else { diff --git a/src/app/+item-page/edit-item-page/item-reinstate/item-reinstate.component.spec.ts b/src/app/+item-page/edit-item-page/item-reinstate/item-reinstate.component.spec.ts index 8e08b333ce..594e7b806a 100644 --- a/src/app/+item-page/edit-item-page/item-reinstate/item-reinstate.component.spec.ts +++ b/src/app/+item-page/edit-item-page/item-reinstate/item-reinstate.component.spec.ts @@ -47,9 +47,9 @@ describe('ItemReinstateComponent', () => { routeStub = { data: observableOf({ - dso: createSuccessfulRemoteDataObject({ + dso: createSuccessfulRemoteDataObject(Object.assign(new Item(), { id: 'fake-id' - }) + })) }) }; diff --git a/src/app/+item-page/edit-item-page/item-status/item-status.component.html b/src/app/+item-page/edit-item-page/item-status/item-status.component.html index 3fcf10a2f5..d4f61c99c1 100644 --- a/src/app/+item-page/edit-item-page/item-status/item-status.component.html +++ b/src/app/+item-page/edit-item-page/item-status/item-status.component.html @@ -12,7 +12,7 @@ {{'item.edit.tabs.status.labels.itemPage' | translate}}:

diff --git a/src/app/+item-page/edit-item-page/item-status/item-status.component.spec.ts b/src/app/+item-page/edit-item-page/item-status/item-status.component.spec.ts index 63d15d62d8..0829480670 100644 --- a/src/app/+item-page/edit-item-page/item-status/item-status.component.spec.ts +++ b/src/app/+item-page/edit-item-page/item-status/item-status.component.spec.ts @@ -20,6 +20,7 @@ describe('ItemStatusComponent', () => { const mockItem = Object.assign(new Item(), { id: 'fake-id', + uuid: 'fake-id', handle: 'fake/handle', lastModified: '2018', _links: { @@ -27,7 +28,7 @@ describe('ItemStatusComponent', () => { } }); - const itemPageUrl = `items/${mockItem.id}`; + const itemPageUrl = `/items/${mockItem.uuid}`; const routeStub = { parent: { diff --git a/src/app/+item-page/edit-item-page/item-status/item-status.component.ts b/src/app/+item-page/edit-item-page/item-status/item-status.component.ts index 498a39d160..2745fc8df7 100644 --- a/src/app/+item-page/edit-item-page/item-status/item-status.component.ts +++ b/src/app/+item-page/edit-item-page/item-status/item-status.component.ts @@ -10,6 +10,7 @@ import { getItemEditRoute, getItemPageRoute } from '../../item-page-routing-path import { AuthorizationDataService } from '../../../core/data/feature-authorization/authorization-data.service'; import { FeatureID } from '../../../core/data/feature-authorization/feature-id'; import { hasValue } from '../../../shared/empty.util'; +import { getAllSucceededRemoteDataPayload } from '../../../core/shared/operators'; @Component({ selector: 'ds-item-status', @@ -50,6 +51,11 @@ export class ItemStatusComponent implements OnInit { */ actionsKeys; + /** + * Route to the item's page + */ + itemPageRoute$: Observable; + constructor(private route: ActivatedRoute, private authorizationService: AuthorizationDataService) { } @@ -109,15 +115,10 @@ export class ItemStatusComponent implements OnInit { }); } }); - - } - - /** - * Get the url to the simple item page - * @returns {string} url - */ - getItemPage(item: Item): string { - return getItemPageRoute(item.id); + this.itemPageRoute$ = this.itemRD$.pipe( + getAllSucceededRemoteDataPayload(), + map((item) => getItemPageRoute(item)) + ); } /** @@ -125,7 +126,7 @@ export class ItemStatusComponent implements OnInit { * @returns {string} url */ getCurrentUrl(item: Item): string { - return getItemEditRoute(item.id); + return getItemEditRoute(item); } trackOperation(index: number, operation: ItemOperation) { diff --git a/src/app/+item-page/edit-item-page/simple-item-action/abstract-simple-item-action.component.html b/src/app/+item-page/edit-item-page/simple-item-action/abstract-simple-item-action.component.html index fef76231c6..73793ede05 100644 --- a/src/app/+item-page/edit-item-page/simple-item-action/abstract-simple-item-action.component.html +++ b/src/app/+item-page/edit-item-page/simple-item-action/abstract-simple-item-action.component.html @@ -6,11 +6,11 @@ -
- \ No newline at end of file + diff --git a/src/app/+item-page/edit-item-page/simple-item-action/abstract-simple-item-action.component.spec.ts b/src/app/+item-page/edit-item-page/simple-item-action/abstract-simple-item-action.component.spec.ts index 78ef2def9e..9a19837665 100644 --- a/src/app/+item-page/edit-item-page/simple-item-action/abstract-simple-item-action.component.spec.ts +++ b/src/app/+item-page/edit-item-page/simple-item-action/abstract-simple-item-action.component.spec.ts @@ -74,9 +74,9 @@ describe('AbstractSimpleItemActionComponent', () => { routeStub = { data: observableOf({ - dso: createSuccessfulRemoteDataObject({ + dso: createSuccessfulRemoteDataObject(Object.assign(new Item(), { id: 'fake-id' - }) + })) }) }; @@ -136,14 +136,14 @@ describe('AbstractSimpleItemActionComponent', () => { comp.processRestResponse(successfulRemoteData); expect(notificationsServiceStub.success).toHaveBeenCalled(); - expect(routerStub.navigate).toHaveBeenCalledWith([getItemEditRoute(mockItem.id)]); + expect(routerStub.navigate).toHaveBeenCalledWith([getItemEditRoute(mockItem)]); }); it('should process a RemoteData to navigate and display success notification', () => { comp.processRestResponse(failedRemoteData); expect(notificationsServiceStub.error).toHaveBeenCalled(); - expect(routerStub.navigate).toHaveBeenCalledWith([getItemEditRoute(mockItem.id)]); + expect(routerStub.navigate).toHaveBeenCalledWith([getItemEditRoute(mockItem)]); }); }); diff --git a/src/app/+item-page/edit-item-page/simple-item-action/abstract-simple-item-action.component.ts b/src/app/+item-page/edit-item-page/simple-item-action/abstract-simple-item-action.component.ts index 7d374e85e0..f4028354de 100644 --- a/src/app/+item-page/edit-item-page/simple-item-action/abstract-simple-item-action.component.ts +++ b/src/app/+item-page/edit-item-page/simple-item-action/abstract-simple-item-action.component.ts @@ -9,7 +9,7 @@ import { Observable } from 'rxjs'; import { getFirstSucceededRemoteData } from '../../../core/shared/operators'; import { first, map } from 'rxjs/operators'; import { findSuccessfulAccordingTo } from '../edit-item-operators'; -import { getItemEditRoute } from '../../item-page-routing-paths'; +import { getItemEditRoute, getItemPageRoute } from '../../item-page-routing-paths'; /** * Component to render and handle simple item edit actions such as withdrawal and reinstatement. @@ -30,6 +30,11 @@ export class AbstractSimpleItemActionComponent implements OnInit { headerMessage: string; descriptionMessage: string; + /** + * Route to the item's page + */ + itemPageRoute: string; + protected predicate: Predicate>; constructor(protected route: ActivatedRoute, @@ -47,6 +52,7 @@ export class AbstractSimpleItemActionComponent implements OnInit { this.itemRD$.pipe(first()).subscribe((rd) => { this.item = rd.payload; + this.itemPageRoute = getItemPageRoute(this.item); } ); @@ -71,11 +77,11 @@ export class AbstractSimpleItemActionComponent implements OnInit { this.itemDataService.findById(this.item.id).pipe( findSuccessfulAccordingTo(this.predicate)).subscribe(() => { this.notificationsService.success(this.translateService.get('item.edit.' + this.messageKey + '.success')); - this.router.navigate([getItemEditRoute(this.item.id)]); + this.router.navigate([getItemEditRoute(this.item)]); }); } else { this.notificationsService.error(this.translateService.get('item.edit.' + this.messageKey + '.error')); - this.router.navigate([getItemEditRoute(this.item.id)]); + this.router.navigate([getItemEditRoute(this.item)]); } } diff --git a/src/app/+item-page/full/full-item-page.component.html b/src/app/+item-page/full/full-item-page.component.html index 762390c7d4..349dd1c928 100644 --- a/src/app/+item-page/full/full-item-page.component.html +++ b/src/app/+item-page/full/full-item-page.component.html @@ -7,11 +7,11 @@
- +
diff --git a/src/app/+item-page/item-page-routing-paths.ts b/src/app/+item-page/item-page-routing-paths.ts index 1a7c23c430..0cf6907ac2 100644 --- a/src/app/+item-page/item-page-routing-paths.ts +++ b/src/app/+item-page/item-page-routing-paths.ts @@ -1,4 +1,6 @@ import { URLCombiner } from '../core/url-combiner/url-combiner'; +import { Item } from '../core/shared/item.model'; +import { isNotEmpty } from '../shared/empty.util'; export const ITEM_MODULE_PATH = 'items'; @@ -6,12 +8,30 @@ export function getItemModuleRoute() { return `/${ITEM_MODULE_PATH}`; } -export function getItemPageRoute(itemId: string) { - return new URLCombiner(getItemModuleRoute(), itemId).toString(); +/** + * Get the route to an item's page + * Depending on the item's relationship type, the route will either start with /items or /entities + * @param item The item to retrieve the route for + */ +export function getItemPageRoute(item: Item) { + const type = item.firstMetadataValue('relationship.type'); + return getEntityPageRoute(type, item.uuid); } -export function getItemEditRoute(id: string) { - return new URLCombiner(getItemModuleRoute(), id, ITEM_EDIT_PATH).toString(); +export function getItemEditRoute(item: Item) { + return new URLCombiner(getItemPageRoute(item), ITEM_EDIT_PATH).toString() +} + +export function getEntityPageRoute(entityType: string, itemId: string) { + if (isNotEmpty(entityType)) { + return new URLCombiner('/entities', entityType, itemId).toString(); + } else { + return new URLCombiner(getItemModuleRoute(), itemId).toString(); + } +} + +export function getEntityEditRoute(entityType: string, itemId: string) { + return new URLCombiner(getEntityPageRoute(entityType, itemId), ITEM_EDIT_PATH).toString(); } export const ITEM_EDIT_PATH = 'edit'; diff --git a/src/app/+item-page/simple/item-page.component.ts b/src/app/+item-page/simple/item-page.component.ts index 3267cf743a..67e278c2fb 100644 --- a/src/app/+item-page/simple/item-page.component.ts +++ b/src/app/+item-page/simple/item-page.component.ts @@ -11,9 +11,10 @@ import { Item } from '../../core/shared/item.model'; import { MetadataService } from '../../core/metadata/metadata.service'; import { fadeInOut } from '../../shared/animations/fade'; -import { redirectOn4xx } from '../../core/shared/operators'; +import { getAllSucceededRemoteDataPayload, redirectOn4xx } from '../../core/shared/operators'; import { ViewMode } from '../../core/shared/view-mode.model'; import { AuthService } from '../../core/auth/auth.service'; +import { getItemPageRoute } from '../item-page-routing-paths'; /** * This component renders a simple item page. @@ -44,6 +45,11 @@ export class ItemPageComponent implements OnInit { */ viewMode = ViewMode.StandalonePage; + /** + * Route to the item's page + */ + itemPageRoute$: Observable; + constructor( private route: ActivatedRoute, private router: Router, @@ -61,5 +67,9 @@ export class ItemPageComponent implements OnInit { redirectOn4xx(this.router, this.authService) ); this.metadataService.processRemoteData(this.itemRD$); + this.itemPageRoute$ = this.itemRD$.pipe( + getAllSucceededRemoteDataPayload(), + map((item) => getItemPageRoute(item)) + ); } } diff --git a/src/app/+item-page/simple/item-types/publication/publication.component.html b/src/app/+item-page/simple/item-types/publication/publication.component.html index ae3d62a108..fc8d06ac10 100644 --- a/src/app/+item-page/simple/item-types/publication/publication.component.html +++ b/src/app/+item-page/simple/item-types/publication/publication.component.html @@ -3,7 +3,7 @@ {{'publication.page.titleprefix' | translate}}
- +
@@ -74,7 +74,7 @@ diff --git a/src/app/+item-page/simple/item-types/shared/item.component.ts b/src/app/+item-page/simple/item-types/shared/item.component.ts index a3dfbee814..a8119c8565 100644 --- a/src/app/+item-page/simple/item-types/shared/item.component.ts +++ b/src/app/+item-page/simple/item-types/shared/item.component.ts @@ -1,9 +1,10 @@ -import { Component, Input } from '@angular/core'; +import { Component, Input, OnInit } from '@angular/core'; import { Observable } from 'rxjs'; import { BitstreamDataService } from '../../../../core/data/bitstream-data.service'; import { Bitstream } from '../../../../core/shared/bitstream.model'; import { Item } from '../../../../core/shared/item.model'; import { getFirstSucceededRemoteDataPayload } from '../../../../core/shared/operators'; +import { getItemPageRoute } from '../../../item-page-routing-paths'; @Component({ selector: 'ds-item', @@ -12,12 +13,21 @@ import { getFirstSucceededRemoteDataPayload } from '../../../../core/shared/oper /** * A generic component for displaying metadata and relations of an item */ -export class ItemComponent { +export class ItemComponent implements OnInit { @Input() object: Item; + /** + * Route to the item page + */ + itemPageRoute: string; + constructor(protected bitstreamDataService: BitstreamDataService) { } + ngOnInit(): void { + this.itemPageRoute = getItemPageRoute(this.object); + } + // TODO refactor to return RemoteData, and thumbnail template to deal with loading getThumbnail(): Observable { return this.bitstreamDataService.getThumbnailFor(this.object).pipe( diff --git a/src/app/+item-page/simple/item-types/untyped-item/untyped-item.component.html b/src/app/+item-page/simple/item-types/untyped-item/untyped-item.component.html index dcb73fad10..241696f688 100644 --- a/src/app/+item-page/simple/item-types/untyped-item/untyped-item.component.html +++ b/src/app/+item-page/simple/item-types/untyped-item/untyped-item.component.html @@ -3,7 +3,7 @@
- +
@@ -59,7 +59,7 @@ diff --git a/src/app/app-routing-paths.ts b/src/app/app-routing-paths.ts index 8db4ba5aa7..949990ba43 100644 --- a/src/app/app-routing-paths.ts +++ b/src/app/app-routing-paths.ts @@ -51,7 +51,7 @@ export function getDSORoute(dso: DSpaceObject): string { case Collection.type.value: return getCollectionPageRoute(dso.uuid); case Item.type.value: - return getItemPageRoute(dso.uuid); + return getItemPageRoute(dso as Item); } } diff --git a/src/app/core/data/dso-redirect-data.service.spec.ts b/src/app/core/data/dso-redirect-data.service.spec.ts index 714774d808..574920746f 100644 --- a/src/app/core/data/dso-redirect-data.service.spec.ts +++ b/src/app/core/data/dso-redirect-data.service.spec.ts @@ -12,6 +12,7 @@ import { DsoRedirectDataService } from './dso-redirect-data.service'; import { GetRequest, IdentifierType } from './request.models'; import { RequestService } from './request.service'; import { createSuccessfulRemoteDataObject } from '../../shared/remote-data.utils'; +import { Item } from '../shared/item.model'; describe('DsoRedirectDataService', () => { let scheduler: TestScheduler; @@ -48,10 +49,10 @@ describe('DsoRedirectDataService', () => { navigate: jasmine.createSpy('navigate') }; - remoteData = createSuccessfulRemoteDataObject({ + remoteData = createSuccessfulRemoteDataObject(Object.assign(new Item(), { type: 'item', uuid: '123456789' - }); + })); rdbService = jasmine.createSpyObj('rdbService', { buildSingle: cold('a', { @@ -114,7 +115,7 @@ describe('DsoRedirectDataService', () => { redir.subscribe(); scheduler.schedule(() => redir); scheduler.flush(); - expect(router.navigate).toHaveBeenCalledWith([remoteData.payload.type + 's/' + remoteData.payload.uuid]); + expect(router.navigate).toHaveBeenCalledWith(['/items/' + remoteData.payload.uuid]); }); it('should navigate to entities route with the corresponding entity type', () => { remoteData.payload.type = 'item'; @@ -131,7 +132,7 @@ describe('DsoRedirectDataService', () => { redir.subscribe(); scheduler.schedule(() => redir); scheduler.flush(); - expect(router.navigate).toHaveBeenCalledWith(['entities/publication/' + remoteData.payload.uuid]); + expect(router.navigate).toHaveBeenCalledWith(['/entities/Publication/' + remoteData.payload.uuid]); }); it('should navigate to collections route', () => { diff --git a/src/app/core/data/dso-redirect-data.service.ts b/src/app/core/data/dso-redirect-data.service.ts index 688c3e1963..ffe260fd8e 100644 --- a/src/app/core/data/dso-redirect-data.service.ts +++ b/src/app/core/data/dso-redirect-data.service.ts @@ -20,6 +20,7 @@ import { getFirstCompletedRemoteData } from '../shared/operators'; import { DSpaceObject } from '../shared/dspace-object.model'; import { Item } from '../shared/item.model'; import { Metadata } from '../shared/metadata.utils'; +import { getItemPageRoute } from '../../+item-page/item-page-routing-paths'; @Injectable() export class DsoRedirectDataService extends DataService { @@ -64,15 +65,16 @@ export class DsoRedirectDataService extends DataService { if (response.hasSucceeded) { const dso = response.payload; const uuid = dso.uuid; - let newRoute = this.getEndpointFromDSOType(response.payload.type); - if (dso.type.startsWith('item')) { - const relation = Metadata.firstValue(dso.metadata, 'relationship.type'); - if (hasValue(relation)) { - newRoute = `entities/${relation.toLowerCase()}`; + if (hasValue(uuid)) { + let newRoute = this.getEndpointFromDSOType(response.payload.type); + if (dso.type.startsWith('item')) { + newRoute = getItemPageRoute(dso as Item); + } else if (hasValue(newRoute)) { + newRoute += '/' + uuid; + } + if (hasValue(newRoute)) { + this.router.navigate([newRoute]); } - } - if (hasValue(uuid) && hasValue(newRoute)) { - this.router.navigate([newRoute + '/' + uuid]); } } }) diff --git a/src/app/entity-groups/journal-entities/item-grid-elements/search-result-grid-elements/journal-issue/journal-issue-search-result-grid-element.component.html b/src/app/entity-groups/journal-entities/item-grid-elements/search-result-grid-elements/journal-issue/journal-issue-search-result-grid-element.component.html index 8d1ed60733..df6c9e60c0 100644 --- a/src/app/entity-groups/journal-entities/item-grid-elements/search-result-grid-elements/journal-issue/journal-issue-search-result-grid-element.component.html +++ b/src/app/entity-groups/journal-entities/item-grid-elements/search-result-grid-elements/journal-issue/journal-issue-search-result-grid-element.component.html @@ -5,7 +5,7 @@
diff --git a/src/app/entity-groups/journal-entities/item-grid-elements/search-result-grid-elements/journal-issue/journal-issue-search-result-grid-element.component.ts b/src/app/entity-groups/journal-entities/item-grid-elements/search-result-grid-elements/journal-issue/journal-issue-search-result-grid-element.component.ts index 9d27842c16..a2a6c91d2d 100644 --- a/src/app/entity-groups/journal-entities/item-grid-elements/search-result-grid-elements/journal-issue/journal-issue-search-result-grid-element.component.ts +++ b/src/app/entity-groups/journal-entities/item-grid-elements/search-result-grid-elements/journal-issue/journal-issue-search-result-grid-element.component.ts @@ -2,9 +2,7 @@ import { Component } from '@angular/core'; import { ViewMode } from '../../../../../core/shared/view-mode.model'; import { listableObjectComponent } from '../../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; import { focusShadow } from '../../../../../shared/animations/focus'; -import { SearchResultGridElementComponent } from '../../../../../shared/object-grid/search-result-grid-element/search-result-grid-element.component'; -import { ItemSearchResult } from '../../../../../shared/object-collection/shared/item-search-result.model'; -import { Item } from '../../../../../core/shared/item.model'; +import { ItemSearchResultGridElementComponent } from '../../../../../shared/object-grid/search-result-grid-element/item-search-result/item/item-search-result-grid-element.component'; @listableObjectComponent('JournalIssueSearchResult', ViewMode.GridElement) @Component({ @@ -16,5 +14,5 @@ import { Item } from '../../../../../core/shared/item.model'; /** * The component for displaying a grid element for an item search result of the type Journal Issue */ -export class JournalIssueSearchResultGridElementComponent extends SearchResultGridElementComponent { +export class JournalIssueSearchResultGridElementComponent extends ItemSearchResultGridElementComponent { } diff --git a/src/app/entity-groups/journal-entities/item-grid-elements/search-result-grid-elements/journal-volume/journal-volume-search-result-grid-element.component.html b/src/app/entity-groups/journal-entities/item-grid-elements/search-result-grid-elements/journal-volume/journal-volume-search-result-grid-element.component.html index 82f483e3cf..cdc19b7f14 100644 --- a/src/app/entity-groups/journal-entities/item-grid-elements/search-result-grid-elements/journal-volume/journal-volume-search-result-grid-element.component.html +++ b/src/app/entity-groups/journal-entities/item-grid-elements/search-result-grid-elements/journal-volume/journal-volume-search-result-grid-element.component.html @@ -5,7 +5,7 @@ diff --git a/src/app/entity-groups/journal-entities/item-grid-elements/search-result-grid-elements/journal-volume/journal-volume-search-result-grid-element.component.ts b/src/app/entity-groups/journal-entities/item-grid-elements/search-result-grid-elements/journal-volume/journal-volume-search-result-grid-element.component.ts index 802a6d8692..17c8575a0e 100644 --- a/src/app/entity-groups/journal-entities/item-grid-elements/search-result-grid-elements/journal-volume/journal-volume-search-result-grid-element.component.ts +++ b/src/app/entity-groups/journal-entities/item-grid-elements/search-result-grid-elements/journal-volume/journal-volume-search-result-grid-element.component.ts @@ -1,10 +1,8 @@ import { Component } from '@angular/core'; -import { SearchResultGridElementComponent } from '../../../../../shared/object-grid/search-result-grid-element/search-result-grid-element.component'; -import { ItemSearchResult } from '../../../../../shared/object-collection/shared/item-search-result.model'; -import { Item } from '../../../../../core/shared/item.model'; import { ViewMode } from '../../../../../core/shared/view-mode.model'; import { listableObjectComponent } from '../../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; import { focusShadow } from '../../../../../shared/animations/focus'; +import { ItemSearchResultGridElementComponent } from '../../../../../shared/object-grid/search-result-grid-element/item-search-result/item/item-search-result-grid-element.component'; @listableObjectComponent('JournalVolumeSearchResult', ViewMode.GridElement) @Component({ @@ -16,5 +14,5 @@ import { focusShadow } from '../../../../../shared/animations/focus'; /** * The component for displaying a grid element for an item search result of the type Journal Volume */ -export class JournalVolumeSearchResultGridElementComponent extends SearchResultGridElementComponent { +export class JournalVolumeSearchResultGridElementComponent extends ItemSearchResultGridElementComponent { } diff --git a/src/app/entity-groups/journal-entities/item-grid-elements/search-result-grid-elements/journal/journal-search-result-grid-element.component.html b/src/app/entity-groups/journal-entities/item-grid-elements/search-result-grid-elements/journal/journal-search-result-grid-element.component.html index 2da30076d4..bacd657663 100644 --- a/src/app/entity-groups/journal-entities/item-grid-elements/search-result-grid-elements/journal/journal-search-result-grid-element.component.html +++ b/src/app/entity-groups/journal-entities/item-grid-elements/search-result-grid-elements/journal/journal-search-result-grid-element.component.html @@ -5,7 +5,7 @@ diff --git a/src/app/entity-groups/journal-entities/item-grid-elements/search-result-grid-elements/journal/journal-search-result-grid-element.component.ts b/src/app/entity-groups/journal-entities/item-grid-elements/search-result-grid-elements/journal/journal-search-result-grid-element.component.ts index 97d43356c6..4fa554ff3b 100644 --- a/src/app/entity-groups/journal-entities/item-grid-elements/search-result-grid-elements/journal/journal-search-result-grid-element.component.ts +++ b/src/app/entity-groups/journal-entities/item-grid-elements/search-result-grid-elements/journal/journal-search-result-grid-element.component.ts @@ -2,9 +2,7 @@ import { Component } from '@angular/core'; import { focusShadow } from '../../../../../shared/animations/focus'; import { listableObjectComponent } from '../../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; import { ViewMode } from '../../../../../core/shared/view-mode.model'; -import { SearchResultGridElementComponent } from '../../../../../shared/object-grid/search-result-grid-element/search-result-grid-element.component'; -import { ItemSearchResult } from '../../../../../shared/object-collection/shared/item-search-result.model'; -import { Item } from '../../../../../core/shared/item.model'; +import { ItemSearchResultGridElementComponent } from '../../../../../shared/object-grid/search-result-grid-element/item-search-result/item/item-search-result-grid-element.component'; @listableObjectComponent('JournalSearchResult', ViewMode.GridElement) @Component({ @@ -16,5 +14,5 @@ import { Item } from '../../../../../core/shared/item.model'; /** * The component for displaying a grid element for an item search result of the type Journal */ -export class JournalSearchResultGridElementComponent extends SearchResultGridElementComponent { +export class JournalSearchResultGridElementComponent extends ItemSearchResultGridElementComponent { } diff --git a/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal-issue/journal-issue-search-result-list-element.component.html b/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal-issue/journal-issue-search-result-list-element.component.html index 3ddf3611d1..0e783a4843 100644 --- a/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal-issue/journal-issue-search-result-list-element.component.html +++ b/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal-issue/journal-issue-search-result-list-element.component.html @@ -1,7 +1,7 @@ { +export class JournalIssueSearchResultListElementComponent extends ItemSearchResultListElementComponent { } diff --git a/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal-volume/journal-volume-search-result-list-element.component.html b/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal-volume/journal-volume-search-result-list-element.component.html index 778877fbe2..9bdb9a30cd 100644 --- a/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal-volume/journal-volume-search-result-list-element.component.html +++ b/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal-volume/journal-volume-search-result-list-element.component.html @@ -1,7 +1,7 @@ { +export class JournalVolumeSearchResultListElementComponent extends ItemSearchResultListElementComponent { } diff --git a/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal/journal-search-result-list-element.component.html b/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal/journal-search-result-list-element.component.html index a18d75275b..9692d30192 100644 --- a/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal/journal-search-result-list-element.component.html +++ b/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal/journal-search-result-list-element.component.html @@ -1,7 +1,7 @@ { +export class JournalSearchResultListElementComponent extends ItemSearchResultListElementComponent { } diff --git a/src/app/entity-groups/journal-entities/item-pages/journal-issue/journal-issue.component.html b/src/app/entity-groups/journal-entities/item-pages/journal-issue/journal-issue.component.html index c5eb3ba59e..5749c5797d 100644 --- a/src/app/entity-groups/journal-entities/item-pages/journal-issue/journal-issue.component.html +++ b/src/app/entity-groups/journal-entities/item-pages/journal-issue/journal-issue.component.html @@ -3,7 +3,7 @@ {{'journalissue.page.titleprefix' | translate}}
- +
@@ -53,7 +53,7 @@ [label]="'journalissue.page.keyword'"> diff --git a/src/app/entity-groups/journal-entities/item-pages/journal-volume/journal-volume.component.html b/src/app/entity-groups/journal-entities/item-pages/journal-volume/journal-volume.component.html index 38a201df16..2c2a4995c2 100644 --- a/src/app/entity-groups/journal-entities/item-pages/journal-volume/journal-volume.component.html +++ b/src/app/entity-groups/journal-entities/item-pages/journal-volume/journal-volume.component.html @@ -3,7 +3,7 @@ {{'journalvolume.page.titleprefix' | translate}}
- +
@@ -36,7 +36,7 @@ [label]="'journalvolume.page.description'"> diff --git a/src/app/entity-groups/journal-entities/item-pages/journal/journal.component.html b/src/app/entity-groups/journal-entities/item-pages/journal/journal.component.html index 874f748049..49fdc935c5 100644 --- a/src/app/entity-groups/journal-entities/item-pages/journal/journal.component.html +++ b/src/app/entity-groups/journal-entities/item-pages/journal/journal.component.html @@ -3,7 +3,7 @@ {{'journal.page.titleprefix' | translate}}
- +
@@ -35,7 +35,7 @@ [label]="'journal.page.description'"> diff --git a/src/app/entity-groups/research-entities/item-grid-elements/search-result-grid-elements/org-unit/org-unit-search-result-grid-element.component.html b/src/app/entity-groups/research-entities/item-grid-elements/search-result-grid-elements/org-unit/org-unit-search-result-grid-element.component.html index c2e1efc7c9..2c3087d701 100644 --- a/src/app/entity-groups/research-entities/item-grid-elements/search-result-grid-elements/org-unit/org-unit-search-result-grid-element.component.html +++ b/src/app/entity-groups/research-entities/item-grid-elements/search-result-grid-elements/org-unit/org-unit-search-result-grid-element.component.html @@ -5,7 +5,7 @@
diff --git a/src/app/entity-groups/research-entities/item-grid-elements/search-result-grid-elements/org-unit/org-unit-search-result-grid-element.component.ts b/src/app/entity-groups/research-entities/item-grid-elements/search-result-grid-elements/org-unit/org-unit-search-result-grid-element.component.ts index 64b4be4a11..872b4b27e3 100644 --- a/src/app/entity-groups/research-entities/item-grid-elements/search-result-grid-elements/org-unit/org-unit-search-result-grid-element.component.ts +++ b/src/app/entity-groups/research-entities/item-grid-elements/search-result-grid-elements/org-unit/org-unit-search-result-grid-element.component.ts @@ -2,9 +2,7 @@ import { Component } from '@angular/core'; import { listableObjectComponent } from '../../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; import { ViewMode } from '../../../../../core/shared/view-mode.model'; import { focusShadow } from '../../../../../shared/animations/focus'; -import { SearchResultGridElementComponent } from '../../../../../shared/object-grid/search-result-grid-element/search-result-grid-element.component'; -import { ItemSearchResult } from '../../../../../shared/object-collection/shared/item-search-result.model'; -import { Item } from '../../../../../core/shared/item.model'; +import { ItemSearchResultGridElementComponent } from '../../../../../shared/object-grid/search-result-grid-element/item-search-result/item/item-search-result-grid-element.component'; @listableObjectComponent('OrgUnitSearchResult', ViewMode.GridElement) @Component({ @@ -16,5 +14,5 @@ import { Item } from '../../../../../core/shared/item.model'; /** * The component for displaying a grid element for an item search result of the type Organisation Unit */ -export class OrgUnitSearchResultGridElementComponent extends SearchResultGridElementComponent { +export class OrgUnitSearchResultGridElementComponent extends ItemSearchResultGridElementComponent { } diff --git a/src/app/entity-groups/research-entities/item-grid-elements/search-result-grid-elements/person/person-search-result-grid-element.component.html b/src/app/entity-groups/research-entities/item-grid-elements/search-result-grid-elements/person/person-search-result-grid-element.component.html index ff0afcbdb2..005fa9cc83 100644 --- a/src/app/entity-groups/research-entities/item-grid-elements/search-result-grid-elements/person/person-search-result-grid-element.component.html +++ b/src/app/entity-groups/research-entities/item-grid-elements/search-result-grid-elements/person/person-search-result-grid-element.component.html @@ -5,7 +5,7 @@ diff --git a/src/app/entity-groups/research-entities/item-grid-elements/search-result-grid-elements/person/person-search-result-grid-element.component.ts b/src/app/entity-groups/research-entities/item-grid-elements/search-result-grid-elements/person/person-search-result-grid-element.component.ts index 55bc4f5a0d..851d900755 100644 --- a/src/app/entity-groups/research-entities/item-grid-elements/search-result-grid-elements/person/person-search-result-grid-element.component.ts +++ b/src/app/entity-groups/research-entities/item-grid-elements/search-result-grid-elements/person/person-search-result-grid-element.component.ts @@ -2,9 +2,7 @@ import { Component } from '@angular/core'; import { listableObjectComponent } from '../../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; import { ViewMode } from '../../../../../core/shared/view-mode.model'; import { focusShadow } from '../../../../../shared/animations/focus'; -import { SearchResultGridElementComponent } from '../../../../../shared/object-grid/search-result-grid-element/search-result-grid-element.component'; -import { ItemSearchResult } from '../../../../../shared/object-collection/shared/item-search-result.model'; -import { Item } from '../../../../../core/shared/item.model'; +import { ItemSearchResultGridElementComponent } from '../../../../../shared/object-grid/search-result-grid-element/item-search-result/item/item-search-result-grid-element.component'; @listableObjectComponent('PersonSearchResult', ViewMode.GridElement) @Component({ @@ -16,5 +14,5 @@ import { Item } from '../../../../../core/shared/item.model'; /** * The component for displaying a grid element for an item search result of the type Person */ -export class PersonSearchResultGridElementComponent extends SearchResultGridElementComponent { +export class PersonSearchResultGridElementComponent extends ItemSearchResultGridElementComponent { } diff --git a/src/app/entity-groups/research-entities/item-grid-elements/search-result-grid-elements/project/project-search-result-grid-element.component.html b/src/app/entity-groups/research-entities/item-grid-elements/search-result-grid-elements/project/project-search-result-grid-element.component.html index 61f9b44a44..e84e8c49d0 100644 --- a/src/app/entity-groups/research-entities/item-grid-elements/search-result-grid-elements/project/project-search-result-grid-element.component.html +++ b/src/app/entity-groups/research-entities/item-grid-elements/search-result-grid-elements/project/project-search-result-grid-element.component.html @@ -5,7 +5,7 @@ diff --git a/src/app/entity-groups/research-entities/item-grid-elements/search-result-grid-elements/project/project-search-result-grid-element.component.ts b/src/app/entity-groups/research-entities/item-grid-elements/search-result-grid-elements/project/project-search-result-grid-element.component.ts index a352d2dcb0..6dfbe93e3e 100644 --- a/src/app/entity-groups/research-entities/item-grid-elements/search-result-grid-elements/project/project-search-result-grid-element.component.ts +++ b/src/app/entity-groups/research-entities/item-grid-elements/search-result-grid-elements/project/project-search-result-grid-element.component.ts @@ -1,10 +1,8 @@ import { Component } from '@angular/core'; -import { SearchResultGridElementComponent } from '../../../../../shared/object-grid/search-result-grid-element/search-result-grid-element.component'; -import { Item } from '../../../../../core/shared/item.model'; -import { ItemSearchResult } from '../../../../../shared/object-collection/shared/item-search-result.model'; import { listableObjectComponent } from '../../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; import { ViewMode } from '../../../../../core/shared/view-mode.model'; import { focusShadow } from '../../../../../shared/animations/focus'; +import { ItemSearchResultGridElementComponent } from '../../../../../shared/object-grid/search-result-grid-element/item-search-result/item/item-search-result-grid-element.component'; @listableObjectComponent('ProjectSearchResult', ViewMode.GridElement) @Component({ @@ -16,5 +14,5 @@ import { focusShadow } from '../../../../../shared/animations/focus'; /** * The component for displaying a grid element for an item search result of the type Project */ -export class ProjectSearchResultGridElementComponent extends SearchResultGridElementComponent { +export class ProjectSearchResultGridElementComponent extends ItemSearchResultGridElementComponent { } diff --git a/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/org-unit/org-unit-search-result-list-element.component.html b/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/org-unit/org-unit-search-result-list-element.component.html index c0d98ccf43..fb0ad21b6e 100644 --- a/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/org-unit/org-unit-search-result-list-element.component.html +++ b/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/org-unit/org-unit-search-result-list-element.component.html @@ -1,7 +1,7 @@ { +export class OrgUnitSearchResultListElementComponent extends ItemSearchResultListElementComponent { } diff --git a/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/person/person-search-result-list-element.component.html b/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/person/person-search-result-list-element.component.html index 634acf1024..c8a9ea9e28 100644 --- a/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/person/person-search-result-list-element.component.html +++ b/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/person/person-search-result-list-element.component.html @@ -1,7 +1,7 @@ { +export class PersonSearchResultListElementComponent extends ItemSearchResultListElementComponent { get name() { return this.value ? diff --git a/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/project/project-search-result-list-element.component.html b/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/project/project-search-result-list-element.component.html index b881c70600..4f82e78739 100644 --- a/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/project/project-search-result-list-element.component.html +++ b/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/project/project-search-result-list-element.component.html @@ -1,7 +1,7 @@ { +export class ProjectSearchResultListElementComponent extends ItemSearchResultListElementComponent { } diff --git a/src/app/entity-groups/research-entities/item-pages/org-unit/org-unit.component.html b/src/app/entity-groups/research-entities/item-pages/org-unit/org-unit.component.html index 4d90b85133..822d4858ce 100644 --- a/src/app/entity-groups/research-entities/item-pages/org-unit/org-unit.component.html +++ b/src/app/entity-groups/research-entities/item-pages/org-unit/org-unit.component.html @@ -3,7 +3,7 @@ {{'orgunit.page.titleprefix' | translate}}
- +
@@ -39,7 +39,7 @@ [label]="'orgunit.page.description'"> diff --git a/src/app/entity-groups/research-entities/item-pages/person/person.component.html b/src/app/entity-groups/research-entities/item-pages/person/person.component.html index 2d751eeabb..e1c776f366 100644 --- a/src/app/entity-groups/research-entities/item-pages/person/person.component.html +++ b/src/app/entity-groups/research-entities/item-pages/person/person.component.html @@ -3,7 +3,7 @@ {{'person.page.titleprefix' | translate}}
- +
@@ -52,7 +52,7 @@ [label]="'person.page.firstname'"> diff --git a/src/app/entity-groups/research-entities/item-pages/project/project.component.html b/src/app/entity-groups/research-entities/item-pages/project/project.component.html index 4d681bb172..9967b940ac 100644 --- a/src/app/entity-groups/research-entities/item-pages/project/project.component.html +++ b/src/app/entity-groups/research-entities/item-pages/project/project.component.html @@ -3,7 +3,7 @@ {{'project.page.titleprefix' | translate}}
- +
@@ -59,7 +59,7 @@ [label]="'project.page.keyword'"> diff --git a/src/app/entity-groups/research-entities/metadata-representations/org-unit/org-unit-item-metadata-list-element.component.html b/src/app/entity-groups/research-entities/metadata-representations/org-unit/org-unit-item-metadata-list-element.component.html index c862507bc4..1771f3d2bc 100644 --- a/src/app/entity-groups/research-entities/metadata-representations/org-unit/org-unit-item-metadata-list-element.component.html +++ b/src/app/entity-groups/research-entities/metadata-representations/org-unit/org-unit-item-metadata-list-element.component.html @@ -6,7 +6,7 @@ - diff --git a/src/app/entity-groups/research-entities/metadata-representations/person/person-item-metadata-list-element.component.html b/src/app/entity-groups/research-entities/metadata-representations/person/person-item-metadata-list-element.component.html index 7a7509cb39..97632117f4 100644 --- a/src/app/entity-groups/research-entities/metadata-representations/person/person-item-metadata-list-element.component.html +++ b/src/app/entity-groups/research-entities/metadata-representations/person/person-item-metadata-list-element.component.html @@ -9,7 +9,7 @@ - diff --git a/src/app/shared/dso-page/dso-page-edit-button/dso-page-edit-button.component.html b/src/app/shared/dso-page/dso-page-edit-button/dso-page-edit-button.component.html index b0bb013c1b..36661c895a 100644 --- a/src/app/shared/dso-page/dso-page-edit-button/dso-page-edit-button.component.html +++ b/src/app/shared/dso-page/dso-page-edit-button/dso-page-edit-button.component.html @@ -1,5 +1,5 @@ diff --git a/src/app/shared/dso-page/dso-page-edit-button/dso-page-edit-button.component.spec.ts b/src/app/shared/dso-page/dso-page-edit-button/dso-page-edit-button.component.spec.ts index d3f9ec98ae..5949a98f71 100644 --- a/src/app/shared/dso-page/dso-page-edit-button/dso-page-edit-button.component.spec.ts +++ b/src/app/shared/dso-page/dso-page-edit-button/dso-page-edit-button.component.spec.ts @@ -40,7 +40,7 @@ describe('DsoPageEditButtonComponent', () => { fixture = TestBed.createComponent(DsoPageEditButtonComponent); component = fixture.componentInstance; component.dso = dso; - component.pageRoutePrefix = 'test'; + component.pageRoute = 'test'; fixture.detectChanges(); }); diff --git a/src/app/shared/dso-page/dso-page-edit-button/dso-page-edit-button.component.ts b/src/app/shared/dso-page/dso-page-edit-button/dso-page-edit-button.component.ts index 230855a5a2..ebdb5e5181 100644 --- a/src/app/shared/dso-page/dso-page-edit-button/dso-page-edit-button.component.ts +++ b/src/app/shared/dso-page/dso-page-edit-button/dso-page-edit-button.component.ts @@ -21,7 +21,7 @@ export class DsoPageEditButtonComponent implements OnInit { /** * The prefix of the route to the edit page (before the object's UUID, e.g. "items") */ - @Input() pageRoutePrefix: string; + @Input() pageRoute: string; /** * A message for the tooltip on the button diff --git a/src/app/shared/dso-selector/modal-wrappers/edit-item-selector/edit-item-selector.component.ts b/src/app/shared/dso-selector/modal-wrappers/edit-item-selector/edit-item-selector.component.ts index 5288c1a197..f79a067ea7 100644 --- a/src/app/shared/dso-selector/modal-wrappers/edit-item-selector/edit-item-selector.component.ts +++ b/src/app/shared/dso-selector/modal-wrappers/edit-item-selector/edit-item-selector.component.ts @@ -5,6 +5,7 @@ import { DSpaceObject } from '../../../../core/shared/dspace-object.model'; import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; import { DSOSelectorModalWrapperComponent, SelectorActionType } from '../dso-selector-modal-wrapper.component'; import { getItemEditRoute } from '../../../../+item-page/item-page-routing-paths'; +import { Item } from '../../../../core/shared/item.model'; /** * Component to wrap a list of existing items inside a modal @@ -28,6 +29,6 @@ export class EditItemSelectorComponent extends DSOSelectorModalWrapperComponent * Navigate to the item edit page */ navigate(dso: DSpaceObject) { - this.router.navigate([getItemEditRoute(dso.uuid)]); + this.router.navigate([getItemEditRoute(dso as Item)]); } } diff --git a/src/app/shared/item/item-versions/item-versions.component.html b/src/app/shared/item/item-versions/item-versions.component.html index 6e93f4c7ca..44fc2a1023 100644 --- a/src/app/shared/item/item-versions/item-versions.component.html +++ b/src/app/shared/item/item-versions/item-versions.component.html @@ -25,7 +25,7 @@ {{version?.version}} - {{item?.handle}} + {{item?.handle}} * diff --git a/src/app/shared/item/item-versions/item-versions.component.ts b/src/app/shared/item/item-versions/item-versions.component.ts index 9c4682642a..b7ba823b9a 100644 --- a/src/app/shared/item/item-versions/item-versions.component.ts +++ b/src/app/shared/item/item-versions/item-versions.component.ts @@ -4,7 +4,11 @@ import { Version } from '../../../core/shared/version.model'; import { RemoteData } from '../../../core/data/remote-data'; import { BehaviorSubject, combineLatest as observableCombineLatest, Observable } from 'rxjs'; import { VersionHistory } from '../../../core/shared/version-history.model'; -import { getAllSucceededRemoteData, getRemoteDataPayload } from '../../../core/shared/operators'; +import { + getAllSucceededRemoteData, + getAllSucceededRemoteDataPayload, + getRemoteDataPayload +} from '../../../core/shared/operators'; import { map, startWith, switchMap } from 'rxjs/operators'; import { PaginatedList } from '../../../core/data/paginated-list.model'; import { PaginationComponentOptions } from '../../pagination/pagination-component-options.model'; @@ -13,6 +17,7 @@ import { PaginatedSearchOptions } from '../../search/paginated-search-options.mo import { AlertType } from '../../alert/aletr-type'; import { followLink } from '../../utils/follow-link-config.model'; import { hasValueOperator } from '../../empty.util'; +import { getItemPageRoute } from '../../../+item-page/item-page-routing-paths'; @Component({ selector: 'ds-item-versions', @@ -86,6 +91,15 @@ export class ItemVersionsComponent implements OnInit { */ currentPage$ = new BehaviorSubject(1); + /** + * The routes to the versions their item pages + * Key: Item ID + * Value: Route to item page + */ + itemPageRoutes$: Observable<{ + [itemId: string]: string + }> + constructor(private versionHistoryService: VersionHistoryDataService) { } @@ -118,6 +132,15 @@ export class ItemVersionsComponent implements OnInit { map((versions: PaginatedList) => versions.page.filter((version: Version) => version.eperson !== undefined).length > 0), startWith(false) ); + this.itemPageRoutes$ = this.versionsRD$.pipe( + getAllSucceededRemoteDataPayload(), + switchMap((versions) => observableCombineLatest(...versions.page.map((version) => version.item.pipe(getAllSucceededRemoteDataPayload())))), + map((versions) => { + const itemPageRoutes = {}; + versions.forEach((item) => itemPageRoutes[item.uuid] = getItemPageRoute(item)); + return itemPageRoutes; + }) + ); } /** diff --git a/src/app/shared/item/item-versions/notice/item-versions-notice.component.ts b/src/app/shared/item/item-versions/notice/item-versions-notice.component.ts index d631cc35da..e4dbe0b838 100644 --- a/src/app/shared/item/item-versions/notice/item-versions-notice.component.ts +++ b/src/app/shared/item/item-versions/notice/item-versions-notice.component.ts @@ -109,7 +109,7 @@ export class ItemVersionsNoticeComponent implements OnInit { */ getItemPage(item: Item): string { if (hasValue(item)) { - return getItemPageRoute(item.id); + return getItemPageRoute(item); } } } diff --git a/src/app/shared/mydspace-actions/item/item-actions.component.html b/src/app/shared/mydspace-actions/item/item-actions.component.html index 91993466b6..0f085c453e 100644 --- a/src/app/shared/mydspace-actions/item/item-actions.component.html +++ b/src/app/shared/mydspace-actions/item/item-actions.component.html @@ -1,5 +1,5 @@ diff --git a/src/app/shared/mydspace-actions/item/item-actions.component.ts b/src/app/shared/mydspace-actions/item/item-actions.component.ts index 8026303c61..c4ae0544fc 100644 --- a/src/app/shared/mydspace-actions/item/item-actions.component.ts +++ b/src/app/shared/mydspace-actions/item/item-actions.component.ts @@ -1,14 +1,13 @@ -import { Component, Injector, Input } from '@angular/core'; +import { Component, Injector, Input, OnInit } from '@angular/core'; import { Router } from '@angular/router'; - import { TranslateService } from '@ngx-translate/core'; - import { MyDSpaceActionsComponent } from '../mydspace-actions'; import { ItemDataService } from '../../../core/data/item-data.service'; import { Item } from '../../../core/shared/item.model'; import { NotificationsService } from '../../notifications/notifications.service'; import { RequestService } from '../../../core/data/request.service'; import { SearchService } from '../../../core/shared/search/search.service'; +import { getItemPageRoute } from '../../../+item-page/item-page-routing-paths'; /** * This component represents mydspace actions related to Item object. @@ -19,13 +18,18 @@ import { SearchService } from '../../../core/shared/search/search.service'; templateUrl: './item-actions.component.html', }) -export class ItemActionsComponent extends MyDSpaceActionsComponent { +export class ItemActionsComponent extends MyDSpaceActionsComponent implements OnInit { /** * The Item object */ @Input() object: Item; + /** + * Route to the item's page + */ + itemPageRoute: string; + /** * Initialize instance variables * @@ -45,6 +49,10 @@ export class ItemActionsComponent extends MyDSpaceActionsComponent
- diff --git a/src/app/shared/object-grid/search-result-grid-element/item-search-result/item/item-search-result-grid-element.component.ts b/src/app/shared/object-grid/search-result-grid-element/item-search-result/item/item-search-result-grid-element.component.ts index e729756452..619a980e9b 100644 --- a/src/app/shared/object-grid/search-result-grid-element/item-search-result/item/item-search-result-grid-element.component.ts +++ b/src/app/shared/object-grid/search-result-grid-element/item-search-result/item/item-search-result-grid-element.component.ts @@ -5,6 +5,7 @@ import { listableObjectComponent } from '../../../../object-collection/shared/li import { SearchResultGridElementComponent } from '../../search-result-grid-element.component'; import { Item } from '../../../../../core/shared/item.model'; import { ItemSearchResult } from '../../../../object-collection/shared/item-search-result.model'; +import { getItemPageRoute } from '../../../../../+item-page/item-page-routing-paths'; @listableObjectComponent('PublicationSearchResult', ViewMode.GridElement) @listableObjectComponent(ItemSearchResult, ViewMode.GridElement) @@ -18,4 +19,13 @@ import { ItemSearchResult } from '../../../../object-collection/shared/item-sear * The component for displaying a grid element for an item search result of the type Publication */ export class ItemSearchResultGridElementComponent extends SearchResultGridElementComponent { + /** + * Route to the item's page + */ + itemPageRoute: string; + + ngOnInit(): void { + super.ngOnInit(); + this.itemPageRoute = getItemPageRoute(this.dso); + } } diff --git a/src/app/shared/object-list/metadata-representation-list-element/item/item-metadata-representation-list-element.component.ts b/src/app/shared/object-list/metadata-representation-list-element/item/item-metadata-representation-list-element.component.ts index 6c4d300e99..51fd6f8d36 100644 --- a/src/app/shared/object-list/metadata-representation-list-element/item/item-metadata-representation-list-element.component.ts +++ b/src/app/shared/object-list/metadata-representation-list-element/item/item-metadata-representation-list-element.component.ts @@ -1,6 +1,7 @@ import { MetadataRepresentationListElementComponent } from '../metadata-representation-list-element.component'; -import { Component } from '@angular/core'; +import { Component, OnInit } from '@angular/core'; import { ItemMetadataRepresentation } from '../../../../core/shared/metadata-representation/item/item-metadata-representation.model'; +import { getItemPageRoute } from '../../../../+item-page/item-page-routing-paths'; @Component({ selector: 'ds-item-metadata-representation-list-element', @@ -9,6 +10,15 @@ import { ItemMetadataRepresentation } from '../../../../core/shared/metadata-rep /** * An abstract class for displaying a single ItemMetadataRepresentation */ -export class ItemMetadataRepresentationListElementComponent extends MetadataRepresentationListElementComponent { +export class ItemMetadataRepresentationListElementComponent extends MetadataRepresentationListElementComponent implements OnInit { metadataRepresentation: ItemMetadataRepresentation; + + /** + * Route to the item's page + */ + itemPageRoute: string; + + ngOnInit(): void { + this.itemPageRoute = getItemPageRoute(this.metadataRepresentation); + } } diff --git a/src/app/shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component.html b/src/app/shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component.html index 880f4393cd..01a026eec9 100644 --- a/src/app/shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component.html +++ b/src/app/shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component.html @@ -2,7 +2,7 @@ diff --git a/src/app/shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component.ts b/src/app/shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component.ts index b4b658cb96..a955be558f 100644 --- a/src/app/shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component.ts +++ b/src/app/shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component.ts @@ -4,6 +4,7 @@ import { ViewMode } from '../../../../../../core/shared/view-mode.model'; import { ItemSearchResult } from '../../../../../object-collection/shared/item-search-result.model'; import { SearchResultListElementComponent } from '../../../search-result-list-element.component'; import { Item } from '../../../../../../core/shared/item.model'; +import { getItemPageRoute } from '../../../../../../+item-page/item-page-routing-paths'; @listableObjectComponent('PublicationSearchResult', ViewMode.ListElement) @listableObjectComponent(ItemSearchResult, ViewMode.ListElement) @@ -16,4 +17,13 @@ import { Item } from '../../../../../../core/shared/item.model'; * The component for displaying a list element for an item search result of the type Publication */ export class ItemSearchResultListElementComponent extends SearchResultListElementComponent { + /** + * Route to the item's page + */ + itemPageRoute: string; + + ngOnInit(): void { + super.ngOnInit(); + this.itemPageRoute = getItemPageRoute(this.dso); + } } diff --git a/src/app/shared/object-select/item-select/item-select.component.html b/src/app/shared/object-select/item-select/item-select.component.html index da31dbac65..dab5b2f715 100644 --- a/src/app/shared/object-select/item-select/item-select.component.html +++ b/src/app/shared/object-select/item-select/item-select.component.html @@ -26,7 +26,7 @@
{{item.firstMetadataValue(['dc.contributor.author', 'dc.creator', 'dc.contributor.*'])}} - {{item.firstMetadataValue("dc.title")}} + {{item.firstMetadataValue("dc.title")}} diff --git a/src/app/shared/object-select/item-select/item-select.component.ts b/src/app/shared/object-select/item-select/item-select.component.ts index 7dd8239960..f4e07dc1f8 100644 --- a/src/app/shared/object-select/item-select/item-select.component.ts +++ b/src/app/shared/object-select/item-select/item-select.component.ts @@ -2,7 +2,11 @@ import { Component, Input } from '@angular/core'; import { Item } from '../../../core/shared/item.model'; import { ObjectSelectService } from '../object-select.service'; import { ObjectSelectComponent } from '../object-select/object-select.component'; -import { isNotEmpty } from '../../empty.util'; +import { hasValueOperator, isNotEmpty } from '../../empty.util'; +import { Observable } from 'rxjs'; +import { getAllSucceededRemoteDataPayload } from '../../../core/shared/operators'; +import { map } from 'rxjs/operators'; +import { getItemPageRoute } from '../../../+item-page/item-page-routing-paths'; @Component({ selector: 'ds-item-select', @@ -20,6 +24,15 @@ export class ItemSelectComponent extends ObjectSelectComponent { @Input() hideCollection = false; + /** + * The routes to the items their pages + * Key: Item ID + * Value: Route to item page + */ + itemPageRoutes$: Observable<{ + [itemId: string]: string + }> + constructor(protected objectSelectService: ObjectSelectService) { super(objectSelectService); } @@ -29,6 +42,15 @@ export class ItemSelectComponent extends ObjectSelectComponent { if (!isNotEmpty(this.confirmButton)) { this.confirmButton = 'item.select.confirm'; } + this.itemPageRoutes$ = this.dsoRD$.pipe( + hasValueOperator(), + getAllSucceededRemoteDataPayload(), + map((items) => { + const itemPageRoutes = {}; + items.page.forEach((item) => itemPageRoutes[item.uuid] = getItemPageRoute(item)); + return itemPageRoutes; + }) + ); } } diff --git a/themes/mantis/app/+item-page/simple/item-types/publication/publication.component.html b/themes/mantis/app/+item-page/simple/item-types/publication/publication.component.html index adecd9e1af..705d40a7c7 100644 --- a/themes/mantis/app/+item-page/simple/item-types/publication/publication.component.html +++ b/themes/mantis/app/+item-page/simple/item-types/publication/publication.component.html @@ -8,7 +8,7 @@ a
diff --git a/themes/mantis/app/entity-groups/journal-entities/item-pages/journal-issue/journal-issue.component.html b/themes/mantis/app/entity-groups/journal-entities/item-pages/journal-issue/journal-issue.component.html index 78a0eba13e..eb872ca175 100644 --- a/themes/mantis/app/entity-groups/journal-entities/item-pages/journal-issue/journal-issue.component.html +++ b/themes/mantis/app/entity-groups/journal-entities/item-pages/journal-issue/journal-issue.component.html @@ -8,7 +8,7 @@ diff --git a/themes/mantis/app/entity-groups/journal-entities/item-pages/journal-volume/journal-volume.component.html b/themes/mantis/app/entity-groups/journal-entities/item-pages/journal-volume/journal-volume.component.html index 3dca7dfbba..bc11d4ba74 100644 --- a/themes/mantis/app/entity-groups/journal-entities/item-pages/journal-volume/journal-volume.component.html +++ b/themes/mantis/app/entity-groups/journal-entities/item-pages/journal-volume/journal-volume.component.html @@ -8,7 +8,7 @@ diff --git a/themes/mantis/app/entity-groups/journal-entities/item-pages/journal/journal.component.html b/themes/mantis/app/entity-groups/journal-entities/item-pages/journal/journal.component.html index ed542c7840..cf4cef27de 100644 --- a/themes/mantis/app/entity-groups/journal-entities/item-pages/journal/journal.component.html +++ b/themes/mantis/app/entity-groups/journal-entities/item-pages/journal/journal.component.html @@ -7,7 +7,7 @@ diff --git a/themes/mantis/app/entity-groups/research-entities/item-pages/org-unit/org-unit.component.html b/themes/mantis/app/entity-groups/research-entities/item-pages/org-unit/org-unit.component.html index ae003e31a8..114443468a 100644 --- a/themes/mantis/app/entity-groups/research-entities/item-pages/org-unit/org-unit.component.html +++ b/themes/mantis/app/entity-groups/research-entities/item-pages/org-unit/org-unit.component.html @@ -9,7 +9,7 @@ diff --git a/themes/mantis/app/entity-groups/research-entities/item-pages/person/person.component.html b/themes/mantis/app/entity-groups/research-entities/item-pages/person/person.component.html index dbcb76a292..077ac1b9f1 100644 --- a/themes/mantis/app/entity-groups/research-entities/item-pages/person/person.component.html +++ b/themes/mantis/app/entity-groups/research-entities/item-pages/person/person.component.html @@ -9,7 +9,7 @@ diff --git a/themes/mantis/app/entity-groups/research-entities/item-pages/project/project.component.html b/themes/mantis/app/entity-groups/research-entities/item-pages/project/project.component.html index b31353ef76..e5b0884f14 100644 --- a/themes/mantis/app/entity-groups/research-entities/item-pages/project/project.component.html +++ b/themes/mantis/app/entity-groups/research-entities/item-pages/project/project.component.html @@ -9,7 +9,7 @@ From 1d9d174f872af6d4255745945f90f925edab87b2 Mon Sep 17 00:00:00 2001 From: Kristof De Langhe Date: Tue, 19 Jan 2021 11:38:11 +0100 Subject: [PATCH 022/106] 75940: Item page redirects --- src/app/+item-page/item-page.resolver.ts | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/src/app/+item-page/item-page.resolver.ts b/src/app/+item-page/item-page.resolver.ts index 44c86f3b9c..2f5af075a8 100644 --- a/src/app/+item-page/item-page.resolver.ts +++ b/src/app/+item-page/item-page.resolver.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { ActivatedRouteSnapshot, Resolve, RouterStateSnapshot } from '@angular/router'; +import { ActivatedRouteSnapshot, Resolve, Router, RouterStateSnapshot } from '@angular/router'; import { Observable } from 'rxjs'; import { RemoteData } from '../core/data/remote-data'; import { ItemDataService } from '../core/data/item-data.service'; @@ -7,13 +7,17 @@ import { Item } from '../core/shared/item.model'; import { followLink } from '../shared/utils/follow-link-config.model'; import { FindListOptions } from '../core/data/request.models'; import { getFirstCompletedRemoteData } from '../core/shared/operators'; +import { map } from 'rxjs/operators'; +import { hasValue } from '../shared/empty.util'; +import { getItemPageRoute } from './item-page-routing-paths'; /** * This class represents a resolver that requests a specific item before the route is activated */ @Injectable() export class ItemPageResolver implements Resolve> { - constructor(private itemService: ItemDataService) { + constructor(private itemService: ItemDataService, + private router: Router) { } /** @@ -33,6 +37,18 @@ export class ItemPageResolver implements Resolve> { followLink('version', undefined, true, true, true, followLink('versionhistory')), ).pipe( getFirstCompletedRemoteData(), + map((rd: RemoteData) => { + if (rd.hasSucceeded && hasValue(rd.payload)) { + const itemRoute = getItemPageRoute(rd.payload); + const thisRoute = state.url; + if (!thisRoute.startsWith(itemRoute)) { + const itemId = rd.payload.uuid; + const subRoute = thisRoute.substring(thisRoute.indexOf(itemId) + itemId.length, thisRoute.length); + this.router.navigateByUrl(itemRoute + subRoute); + } + } + return rd; + }) ); } } From 694d45fd2c9b8982217d5d2c124864eb42702685 Mon Sep 17 00:00:00 2001 From: Kristof De Langhe Date: Fri, 22 Jan 2021 17:07:15 +0100 Subject: [PATCH 023/106] 75939: Encode and lowercase entity type url --- src/app/+item-page/item-page-routing-paths.ts | 2 +- src/app/core/data/dso-redirect-data.service.spec.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/app/+item-page/item-page-routing-paths.ts b/src/app/+item-page/item-page-routing-paths.ts index 0cf6907ac2..b153f53c26 100644 --- a/src/app/+item-page/item-page-routing-paths.ts +++ b/src/app/+item-page/item-page-routing-paths.ts @@ -24,7 +24,7 @@ export function getItemEditRoute(item: Item) { export function getEntityPageRoute(entityType: string, itemId: string) { if (isNotEmpty(entityType)) { - return new URLCombiner('/entities', entityType, itemId).toString(); + return new URLCombiner('/entities', encodeURIComponent(entityType.toLowerCase()), itemId).toString(); } else { return new URLCombiner(getItemModuleRoute(), itemId).toString(); } diff --git a/src/app/core/data/dso-redirect-data.service.spec.ts b/src/app/core/data/dso-redirect-data.service.spec.ts index 574920746f..43489fbf6d 100644 --- a/src/app/core/data/dso-redirect-data.service.spec.ts +++ b/src/app/core/data/dso-redirect-data.service.spec.ts @@ -132,7 +132,7 @@ describe('DsoRedirectDataService', () => { redir.subscribe(); scheduler.schedule(() => redir); scheduler.flush(); - expect(router.navigate).toHaveBeenCalledWith(['/entities/Publication/' + remoteData.payload.uuid]); + expect(router.navigate).toHaveBeenCalledWith(['/entities/publication/' + remoteData.payload.uuid]); }); it('should navigate to collections route', () => { From 7ce8b3d460d826aec7d2021d794a4afb76e416a1 Mon Sep 17 00:00:00 2001 From: Kristof De Langhe Date: Wed, 27 Jan 2021 12:58:38 +0100 Subject: [PATCH 024/106] 75940: missing semicolons --- src/app/+item-page/item-page-routing-paths.ts | 2 +- src/app/shared/item/item-versions/item-versions.component.ts | 2 +- .../shared/object-select/item-select/item-select.component.ts | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/app/+item-page/item-page-routing-paths.ts b/src/app/+item-page/item-page-routing-paths.ts index b153f53c26..8ad5583269 100644 --- a/src/app/+item-page/item-page-routing-paths.ts +++ b/src/app/+item-page/item-page-routing-paths.ts @@ -19,7 +19,7 @@ export function getItemPageRoute(item: Item) { } export function getItemEditRoute(item: Item) { - return new URLCombiner(getItemPageRoute(item), ITEM_EDIT_PATH).toString() + return new URLCombiner(getItemPageRoute(item), ITEM_EDIT_PATH).toString(); } export function getEntityPageRoute(entityType: string, itemId: string) { diff --git a/src/app/shared/item/item-versions/item-versions.component.ts b/src/app/shared/item/item-versions/item-versions.component.ts index b7ba823b9a..d25fdaa4f1 100644 --- a/src/app/shared/item/item-versions/item-versions.component.ts +++ b/src/app/shared/item/item-versions/item-versions.component.ts @@ -98,7 +98,7 @@ export class ItemVersionsComponent implements OnInit { */ itemPageRoutes$: Observable<{ [itemId: string]: string - }> + }>; constructor(private versionHistoryService: VersionHistoryDataService) { } diff --git a/src/app/shared/object-select/item-select/item-select.component.ts b/src/app/shared/object-select/item-select/item-select.component.ts index f4e07dc1f8..b4918ada99 100644 --- a/src/app/shared/object-select/item-select/item-select.component.ts +++ b/src/app/shared/object-select/item-select/item-select.component.ts @@ -31,7 +31,7 @@ export class ItemSelectComponent extends ObjectSelectComponent { */ itemPageRoutes$: Observable<{ [itemId: string]: string - }> + }>; constructor(protected objectSelectService: ObjectSelectService) { super(objectSelectService); From f1407b7f5b1d66febc8a9f0feb2e0c1b289a0638 Mon Sep 17 00:00:00 2001 From: Marie Verdonck Date: Thu, 14 Jan 2021 16:20:04 +0100 Subject: [PATCH 025/106] 75832: Groups registry refactor --- .../group-form/group-form.component.ts | 8 +-- .../members-list/members-list.component.html | 42 ++++++++-------- .../members-list/members-list.component.ts | 50 +++++++++++++++---- .../subgroup-list/subgroups-list.component.ts | 2 +- .../groups-registry.component.html | 8 ++- .../groups-registry.component.ts | 21 +++----- src/app/core/eperson/eperson-data.service.ts | 6 +-- .../core/eperson/models/eperson-dto.model.ts | 4 ++ .../core/eperson/models/group-dto.model.ts | 15 +++++- src/app/core/eperson/models/group.model.ts | 10 +++- src/app/core/shared/dspace-object.model.ts | 2 +- src/assets/i18n/en.json5 | 2 - 12 files changed, 106 insertions(+), 64 deletions(-) diff --git a/src/app/+admin/admin-access-control/group-registry/group-form/group-form.component.ts b/src/app/+admin/admin-access-control/group-registry/group-form/group-form.component.ts index 81e9513433..7984fc50d1 100644 --- a/src/app/+admin/admin-access-control/group-registry/group-form/group-form.component.ts +++ b/src/app/+admin/admin-access-control/group-registry/group-form/group-form.component.ts @@ -143,7 +143,9 @@ export class GroupFormComponent implements OnInit, OnDestroy { initialisePage() { this.subs.push(this.route.params.subscribe((params) => { - this.setActiveGroup(params.groupId); + if (params.groupId !== 'newGroup') { + this.setActiveGroup(params.groupId); + } })); this.canEdit$ = this.groupDataService.getActiveGroup().pipe( hasValueOperator(), @@ -225,14 +227,12 @@ export class GroupFormComponent implements OnInit, OnDestroy { { value: this.groupDescription.value } - ], + ] }, }; if (group === null) { - console.log('createNewGroup', values); this.createNewGroup(values); } else { - console.log('editGroup', group); this.editGroup(group); } } diff --git a/src/app/+admin/admin-access-control/group-registry/group-form/members-list/members-list.component.html b/src/app/+admin/admin-access-control/group-registry/group-form/members-list/members-list.component.html index 0ac67aff75..8e2d23f8d5 100644 --- a/src/app/+admin/admin-access-control/group-registry/group-form/members-list/members-list.component.html +++ b/src/app/+admin/admin-access-control/group-registry/group-form/members-list/members-list.component.html @@ -24,10 +24,10 @@
- @@ -42,23 +42,23 @@ - - {{ePerson.id}} - {{ePerson.name}} + + {{ePerson.eperson.id}} + {{ePerson.eperson.name}}
- -
@@ -70,7 +70,7 @@
- @@ -45,7 +45,6 @@ {{messagePrefix + 'table.id' | translate}} {{messagePrefix + 'table.name' | translate}} {{messagePrefix + 'table.members' | translate}} - {{messagePrefix + 'table.edit' | translate}} @@ -53,8 +52,7 @@ {{groupDto.group.id}} {{groupDto.group.name}} - {{(getMembers(groupDto.group) | async)?.payload?.totalElements + (getSubgroups(groupDto.group) | async)?.payload?.totalElements}} - + {{groupDto.epersons?.totalElements + groupDto.subgroups?.totalElements}}
diff --git a/src/app/+admin/admin-access-control/group-registry/groups-registry.component.ts b/src/app/+admin/admin-access-control/group-registry/groups-registry.component.ts index db5b1d3e3b..7a8e670267 100644 --- a/src/app/+admin/admin-access-control/group-registry/groups-registry.component.ts +++ b/src/app/+admin/admin-access-control/group-registry/groups-registry.component.ts @@ -169,16 +169,16 @@ export class GroupsRegistryComponent implements OnInit, OnDestroy { /** * Delete Group */ - deleteGroup(group: Group) { - if (hasValue(group.id)) { - this.groupService.delete(group.id).pipe(getFirstCompletedRemoteData()) + deleteGroup(group: GroupDtoModel) { + if (hasValue(group.group.id)) { + this.groupService.delete(group.group.id).pipe(getFirstCompletedRemoteData()) .subscribe((rd: RemoteData) => { if (rd.hasSucceeded) { - this.notificationsService.success(this.translateService.get(this.messagePrefix + 'notification.deleted.success', { name: group.name })); + this.notificationsService.success(this.translateService.get(this.messagePrefix + 'notification.deleted.success', { name: group.group.name })); this.reset(); } else { this.notificationsService.error( - this.translateService.get(this.messagePrefix + 'notification.deleted.failure.title', { name: group.name }), + this.translateService.get(this.messagePrefix + 'notification.deleted.failure.title', { name: group.group.name }), this.translateService.get(this.messagePrefix + 'notification.deleted.failure.content', { cause: rd.errorMessage })); } }); @@ -194,7 +194,7 @@ export class GroupsRegistryComponent implements OnInit, OnDestroy { ).subscribe((href: string) => { this.requestService.setStaleByHrefSubstring(href); }); - } +} /** * Get the members (epersons embedded value of a group) @@ -233,15 +233,6 @@ export class GroupsRegistryComponent implements OnInit, OnDestroy { this.search({ query: '' }); } - /** - * Extract optional UUID from a group name => To be resolved to community or collection with link - * (Or will be resolved in backend and added to group object, tbd) //TODO - * @param groupName - */ - getOptionalComColFromName(groupName: string): string { - return this.groupService.getUUIDFromString(groupName); - } - /** * Unsub all subscriptions */ diff --git a/src/app/core/eperson/eperson-data.service.ts b/src/app/core/eperson/eperson-data.service.ts index 9d1be80366..79df246833 100644 --- a/src/app/core/eperson/eperson-data.service.ts +++ b/src/app/core/eperson/eperson-data.service.ts @@ -63,10 +63,10 @@ export class EPersonDataService extends DataService { * @param query Query of search * @param options Options of search request */ - public searchByScope(scope: string, query: string, options: FindListOptions = {}): Observable>> { + public searchByScope(scope: string, query: string, options: FindListOptions = {}, useCachedVersionIfAvailable?: boolean): Observable>> { switch (scope) { case 'metadata': - return this.getEpeopleByMetadata(query.trim(), options); + return this.getEpeopleByMetadata(query.trim(), options, useCachedVersionIfAvailable); case 'email': return this.getEPersonByEmail(query.trim()).pipe( map((rd: RemoteData) => { @@ -100,7 +100,7 @@ export class EPersonDataService extends DataService { }) ); default: - return this.getEpeopleByMetadata(query.trim(), options); + return this.getEpeopleByMetadata(query.trim(), options, useCachedVersionIfAvailable); } } diff --git a/src/app/core/eperson/models/eperson-dto.model.ts b/src/app/core/eperson/models/eperson-dto.model.ts index f491f6f8be..0e79902196 100644 --- a/src/app/core/eperson/models/eperson-dto.model.ts +++ b/src/app/core/eperson/models/eperson-dto.model.ts @@ -13,5 +13,9 @@ export class EpersonDtoModel { * Whether or not the linked EPerson is able to be deleted */ public ableToDelete: boolean; + /** + * Whether or not this EPerson is member of group on page it is being used on + */ + public memberOfGroup: boolean; } diff --git a/src/app/core/eperson/models/group-dto.model.ts b/src/app/core/eperson/models/group-dto.model.ts index db167dc6b2..47a70cf326 100644 --- a/src/app/core/eperson/models/group-dto.model.ts +++ b/src/app/core/eperson/models/group-dto.model.ts @@ -1,7 +1,9 @@ +import { PaginatedList } from '../../data/paginated-list.model'; +import { EPerson } from './eperson.model'; import { Group } from './group.model'; /** - * This class serves as a Data Transfer Model that contains the Group and whether or not it's able to be deleted + * This class serves as a Data Transfer Model that contains the Group, whether or not it's able to be deleted and its members */ export class GroupDtoModel { @@ -9,9 +11,20 @@ export class GroupDtoModel { * The Group linked to this object */ public group: Group; + /** * Whether or not the linked Group is able to be deleted */ public ableToDelete: boolean; + /** + * List of subgroups of this group + */ + public subgroups: PaginatedList; + + /** + * List of members of this group + */ + public epersons: PaginatedList; + } diff --git a/src/app/core/eperson/models/group.model.ts b/src/app/core/eperson/models/group.model.ts index 9e13627116..f147cc53a6 100644 --- a/src/app/core/eperson/models/group.model.ts +++ b/src/app/core/eperson/models/group.model.ts @@ -1,4 +1,4 @@ -import { autoserialize, deserialize, inheritSerialization } from 'cerialize'; +import { autoserialize, autoserializeAs, deserialize, inheritSerialization } from 'cerialize'; import { Observable } from 'rxjs'; import { link, typedObject } from '../../cache/builders/build-decorators'; import { PaginatedList } from '../../data/paginated-list.model'; @@ -10,12 +10,20 @@ import { HALLink } from '../../shared/hal-link.model'; import { EPerson } from './eperson.model'; import { EPERSON } from './eperson.resource-type'; import { GROUP } from './group.resource-type'; +import { excludeFromEquals } from '../../utilities/equals.decorators'; @typedObject @inheritSerialization(DSpaceObject) export class Group extends DSpaceObject { static type = GROUP; + /** + * A string representing the unique name of this Group + */ + @excludeFromEquals + @autoserializeAs('name') + protected _name: string; + /** * A string representing the unique handle of this Group */ diff --git a/src/app/core/shared/dspace-object.model.ts b/src/app/core/shared/dspace-object.model.ts index b88adfe861..9d1fba4f86 100644 --- a/src/app/core/shared/dspace-object.model.ts +++ b/src/app/core/shared/dspace-object.model.ts @@ -29,7 +29,7 @@ export class DSpaceObject extends ListableObject implements CacheableObject { @excludeFromEquals @deserializeAs('name') - private _name: string; + protected _name: string; /** * The human-readable identifier of this DSpaceObject diff --git a/src/assets/i18n/en.json5 b/src/assets/i18n/en.json5 index 603acb3f48..5ddde2a307 100644 --- a/src/assets/i18n/en.json5 +++ b/src/assets/i18n/en.json5 @@ -308,8 +308,6 @@ "admin.access-control.groups.table.members": "Members", - "admin.access-control.groups.table.comcol": "Community / Collection", - "admin.access-control.groups.table.edit": "Edit", "admin.access-control.groups.table.edit.buttons.edit": "Edit \"{{name}}\"", From c65dfc7303211580de9011fb7bfb4f6271a0f54d Mon Sep 17 00:00:00 2001 From: Alessandro Martelli Date: Fri, 29 Jan 2021 18:45:41 +0100 Subject: [PATCH 026/106] [CSTPER-3620] Workflow Actions refresh entire MyDSpace page instead of just WorkflowItem Fixed test after angular 10 migration --- src/app/+my-dspace-page/my-dspace-search.module.ts | 4 ++++ src/app/core/tasks/tasks.service.ts | 11 +++++------ .../claimed-task-actions-abstract.component.ts | 14 +++++++------- .../claimed-task-actions-reject.component.spec.ts | 4 +--- ...d-task-actions-return-to-pool.component.spec.ts | 6 +++--- .../claimed-task-actions-loader.component.spec.ts | 14 +++++--------- .../claimed-task-actions-loader.component.ts | 7 ++++++- .../shared/mydspace-actions/mydspace-actions.ts | 10 +++++----- .../mydspace-reloadable-actions.ts | 13 ++++++++----- ...table-object-component-loader.component.spec.ts | 11 ++++------- .../listable-object-component-loader.component.ts | 8 +++++--- ...-search-result-detail-element.component.spec.ts | 4 ++-- 12 files changed, 55 insertions(+), 51 deletions(-) diff --git a/src/app/+my-dspace-page/my-dspace-search.module.ts b/src/app/+my-dspace-page/my-dspace-search.module.ts index 2fe1cd2a55..a97f2207e7 100644 --- a/src/app/+my-dspace-page/my-dspace-search.module.ts +++ b/src/app/+my-dspace-page/my-dspace-search.module.ts @@ -14,12 +14,16 @@ import { ClaimedTaskSearchResultDetailElementComponent } from '../shared/object- import { ItemSearchResultListElementSubmissionComponent } from '../shared/object-list/my-dspace-result-list-element/item-search-result/item-search-result-list-element-submission.component'; import { WorkflowItemSearchResultListElementComponent } from '../shared/object-list/my-dspace-result-list-element/workflow-item-search-result/workflow-item-search-result-list-element.component'; import { PoolSearchResultDetailElementComponent } from '../shared/object-detail/my-dspace-result-detail-element/pool-search-result/pool-search-result-detail-element.component'; +import { ClaimedApprovedSearchResultListElementComponent } from '../shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-approved-search-result/claimed-approved-search-result-list-element.component'; +import { ClaimedDeclinedSearchResultListElementComponent } from '../shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-declined-search-result/claimed-declined-search-result-list-element.component'; const ENTRY_COMPONENTS = [ // put only entry components that use custom decorator WorkspaceItemSearchResultListElementComponent, WorkflowItemSearchResultListElementComponent, ClaimedSearchResultListElementComponent, + ClaimedApprovedSearchResultListElementComponent, + ClaimedDeclinedSearchResultListElementComponent, PoolSearchResultListElementComponent, ItemSearchResultDetailElementComponent, WorkspaceItemSearchResultDetailElementComponent, diff --git a/src/app/core/tasks/tasks.service.ts b/src/app/core/tasks/tasks.service.ts index 014e2ba9d3..842a98301f 100644 --- a/src/app/core/tasks/tasks.service.ts +++ b/src/app/core/tasks/tasks.service.ts @@ -1,18 +1,17 @@ import { HttpHeaders } from '@angular/common/http'; import { Observable } from 'rxjs'; -import { distinctUntilChanged, filter, map, mergeMap, tap } from 'rxjs/operators'; +import { distinctUntilChanged, filter, find, map, mergeMap, switchMap, tap } from 'rxjs/operators'; import { DataService } from '../data/data.service'; -import { DeleteRequest, PostRequest, TaskDeleteRequest, TaskPostRequest } from '../data/request.models'; -import { isNotEmpty } from '../../shared/empty.util'; +import { DeleteRequest, FindListOptions, PostRequest, TaskDeleteRequest, TaskPostRequest } from '../data/request.models'; +import { hasValue, isNotEmpty } from '../../shared/empty.util'; import { HttpOptions } from '../dspace-rest/dspace-rest.service'; import { ProcessTaskResponse } from './models/process-task-response'; import { getFirstCompletedRemoteData, getFirstSucceededRemoteData } from '../shared/operators'; import { CacheableObject } from '../cache/object-cache.reducer'; import { RemoteData } from '../data/remote-data'; import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; -import { HttpOptions } from '../dspace-rest/dspace-rest.service'; /** * An abstract class that provides methods to handle task requests. @@ -131,14 +130,14 @@ export abstract class TasksService extends DataServic * @param linksToFollow * links to follow */ - public searchTask(searchMethod: string, options: FindListOptions = {}, ...linksToFollow: Array>): Observable> { + public searchTask(searchMethod: string, options: FindListOptions = {}, ...linksToFollow: FollowLinkConfig[]): Observable> { const hrefObs = this.getSearchByHref(searchMethod, options, ...linksToFollow); return hrefObs.pipe( find((href: string) => hasValue(href)), switchMap((href) => this.findByHref(href).pipe( getFirstSucceededRemoteData(), tap(() => { - this.requestService.setStaleByHrefSubstring(searchMethod) + this.requestService.setStaleByHrefSubstring(searchMethod); }))), ); } diff --git a/src/app/shared/mydspace-actions/claimed-task/abstract/claimed-task-actions-abstract.component.ts b/src/app/shared/mydspace-actions/claimed-task/abstract/claimed-task-actions-abstract.component.ts index fdf13e4f2c..fb23b4feb1 100644 --- a/src/app/shared/mydspace-actions/claimed-task/abstract/claimed-task-actions-abstract.component.ts +++ b/src/app/shared/mydspace-actions/claimed-task/abstract/claimed-task-actions-abstract.component.ts @@ -1,4 +1,4 @@ -import {Injector, OnDestroy} from '@angular/core'; +import { Component, Injector, OnDestroy } from '@angular/core'; import { ClaimedTask } from '../../../../core/tasks/models/claimed-task-object.model'; import { ClaimedTaskDataService } from '../../../../core/tasks/claimed-task-data.service'; import { DSpaceObject} from '../../../../core/shared/dspace-object.model'; @@ -10,7 +10,7 @@ import { RequestService} from '../../../../core/data/request.service'; import { Observable} from 'rxjs'; import { RemoteData} from '../../../../core/data/remote-data'; import { WorkflowItem} from '../../../../core/submission/models/workflowitem.model'; -import {switchMap, take} from 'rxjs/operators'; +import { switchMap, take } from 'rxjs/operators'; import { CLAIMED_TASK } from '../../../../core/tasks/models/claimed-task-object.resource-type'; import { getFirstSucceededRemoteDataPayload } from '../../../../core/shared/operators'; import { Item } from '../../../../core/shared/item.model'; @@ -23,10 +23,10 @@ import { MyDSpaceReloadableActionsComponent } from '../../mydspace-reloadable-ac * - Add a @rendersWorkflowTaskOption annotation to your component providing the same enum value * - Optionally overwrite createBody if the request body requires more than just the option */ -// @Component({ -// selector: 'ds-calim-task-action-abstract', -// template: '' -// }) +@Component({ + selector: 'ds-claimed-task-action-abstract', + template: '' +}) export abstract class ClaimedTaskActionsAbstractComponent extends MyDSpaceReloadableActionsComponent implements OnDestroy { /** @@ -74,7 +74,7 @@ export abstract class ClaimedTaskActionsAbstractComponent extends MyDSpaceReload } actionExecution(): Observable { - return this.objectDataService.submitTask(this.object.id, this.createbody()) + return this.objectDataService.submitTask(this.object.id, this.createbody()); } initObjects(object: ClaimedTask) { diff --git a/src/app/shared/mydspace-actions/claimed-task/reject/claimed-task-actions-reject.component.spec.ts b/src/app/shared/mydspace-actions/claimed-task/reject/claimed-task-actions-reject.component.spec.ts index 206d7b4720..5d3a2ec127 100644 --- a/src/app/shared/mydspace-actions/claimed-task/reject/claimed-task-actions-reject.component.spec.ts +++ b/src/app/shared/mydspace-actions/claimed-task/reject/claimed-task-actions-reject.component.spec.ts @@ -1,6 +1,4 @@ import { ChangeDetectionStrategy, Injector, NO_ERRORS_SCHEMA } from '@angular/core'; -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; -import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { FormBuilder, FormGroup, ReactiveFormsModule } from '@angular/forms'; import { By } from '@angular/platform-browser'; @@ -39,7 +37,7 @@ let mockPoolTaskDataService: PoolTaskDataService; describe('ClaimedTaskActionsRejectComponent', () => { const object = Object.assign(new ClaimedTask(), { id: 'claimed-task-1' }); const claimedTaskService = jasmine.createSpyObj('claimedTaskService', { - submitTask: observableOf(new ProcessTaskResponse(true)) + submitTask: of(new ProcessTaskResponse(true)) }); beforeEach(waitForAsync(() => { diff --git a/src/app/shared/mydspace-actions/claimed-task/return-to-pool/claimed-task-actions-return-to-pool.component.spec.ts b/src/app/shared/mydspace-actions/claimed-task/return-to-pool/claimed-task-actions-return-to-pool.component.spec.ts index b2d949b18c..e53daccf0d 100644 --- a/src/app/shared/mydspace-actions/claimed-task/return-to-pool/claimed-task-actions-return-to-pool.component.spec.ts +++ b/src/app/shared/mydspace-actions/claimed-task/return-to-pool/claimed-task-actions-return-to-pool.component.spec.ts @@ -1,5 +1,5 @@ import { ChangeDetectionStrategy, Injector, NO_ERRORS_SCHEMA } from '@angular/core'; -import { async, ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { ComponentFixture, fakeAsync, TestBed, waitForAsync } from '@angular/core/testing'; import { By } from '@angular/platform-browser'; import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; @@ -31,7 +31,7 @@ let mockPoolTaskDataService: PoolTaskDataService; describe('ClaimedTaskActionsReturnToPoolComponent', () => { const object = Object.assign(new ClaimedTask(), { id: 'claimed-task-1' }); const claimedTaskService = jasmine.createSpyObj('claimedTaskService', { - returnToPoolTask: observableOf(new ProcessTaskResponse(true)) + returnToPoolTask: of(new ProcessTaskResponse(true)) }); beforeEach(waitForAsync(() => { @@ -91,7 +91,7 @@ describe('ClaimedTaskActionsReturnToPoolComponent', () => { }); it('should call claimedTaskService\'s returnToPoolTask', () => { - expect(claimedTaskService.returnToPoolTask).toHaveBeenCalledWith(object.id) + expect(claimedTaskService.returnToPoolTask).toHaveBeenCalledWith(object.id); }); }); diff --git a/src/app/shared/mydspace-actions/claimed-task/switcher/claimed-task-actions-loader.component.spec.ts b/src/app/shared/mydspace-actions/claimed-task/switcher/claimed-task-actions-loader.component.spec.ts index d972721338..6de2056fe8 100644 --- a/src/app/shared/mydspace-actions/claimed-task/switcher/claimed-task-actions-loader.component.spec.ts +++ b/src/app/shared/mydspace-actions/claimed-task/switcher/claimed-task-actions-loader.component.spec.ts @@ -1,13 +1,11 @@ import { ClaimedTaskActionsLoaderComponent } from './claimed-task-actions-loader.component'; import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; -import { ChangeDetectionStrategy, ComponentFactoryResolver, Injector, NO_ERRORS_SCHEMA } from '@angular/core'; -import * as decorators from './claimed-task-actions-decorator'; +import { ChangeDetectionStrategy, Injector, NO_ERRORS_SCHEMA } from '@angular/core'; import { ClaimedTaskActionsDirective } from './claimed-task-actions.directive'; import { ClaimedTask } from '../../../../core/tasks/models/claimed-task-object.model'; import { TranslateModule } from '@ngx-translate/core'; import { ClaimedTaskActionsEditMetadataComponent } from '../edit-metadata/claimed-task-actions-edit-metadata.component'; import { ClaimedTaskDataService } from '../../../../core/tasks/claimed-task-data.service'; -import { spyOnExported } from '../../../testing/utils.test'; import { NotificationsService } from '../../../notifications/notifications.service'; import { NotificationsServiceStub } from '../../../testing/notifications-service.stub'; import { Router } from '@angular/router'; @@ -22,7 +20,6 @@ const searchService = getMockSearchService(); const requestService = getMockRequestService(); -//xdescribe describe('ClaimedTaskActionsLoaderComponent', () => { let comp: ClaimedTaskActionsLoaderComponent; let fixture: ComponentFixture; @@ -42,8 +39,7 @@ describe('ClaimedTaskActionsLoaderComponent', () => { { provide: Router, useValue: new RouterStub() }, { provide: SearchService, useValue: searchService }, { provide: RequestService, useValue: requestService }, - { provide: PoolTaskDataService, useValue: {} }, - ComponentFactoryResolver + { provide: PoolTaskDataService, useValue: {} } ] }).overrideComponent(ClaimedTaskActionsLoaderComponent, { set: { @@ -56,16 +52,16 @@ describe('ClaimedTaskActionsLoaderComponent', () => { beforeEach(waitForAsync(() => { fixture = TestBed.createComponent(ClaimedTaskActionsLoaderComponent); comp = fixture.componentInstance; - comp.object = object; comp.option = option; - spyOnExported(decorators, 'getComponentByWorkflowTaskOption').and.returnValue(ClaimedTaskActionsEditMetadataComponent); + spyOn(comp, 'getComponentByWorkflowTaskOption').and.returnValue(ClaimedTaskActionsEditMetadataComponent); + fixture.detectChanges(); })); describe('When the component is rendered', () => { it('should call the getComponentByWorkflowTaskOption function with the right option', () => { - expect(decorators.getComponentByWorkflowTaskOption).toHaveBeenCalledWith(option); + expect(comp.getComponentByWorkflowTaskOption).toHaveBeenCalledWith(option); }); }); }); diff --git a/src/app/shared/mydspace-actions/claimed-task/switcher/claimed-task-actions-loader.component.ts b/src/app/shared/mydspace-actions/claimed-task/switcher/claimed-task-actions-loader.component.ts index d9b2bf2985..68c597a41c 100644 --- a/src/app/shared/mydspace-actions/claimed-task/switcher/claimed-task-actions-loader.component.ts +++ b/src/app/shared/mydspace-actions/claimed-task/switcher/claimed-task-actions-loader.component.ts @@ -59,7 +59,8 @@ export class ClaimedTaskActionsLoaderComponent implements OnInit, OnDestroy { * Fetch, create and initialize the relevant component */ ngOnInit(): void { - const comp = getComponentByWorkflowTaskOption(this.option); + + const comp = this.getComponentByWorkflowTaskOption(this.option); if (hasValue(comp)) { const componentFactory = this.componentFactoryResolver.resolveComponentFactory(comp); @@ -75,6 +76,10 @@ export class ClaimedTaskActionsLoaderComponent implements OnInit, OnDestroy { } } + getComponentByWorkflowTaskOption(option: string) { + return getComponentByWorkflowTaskOption(option); + } + /** * Unsubscribe from open subscriptions */ diff --git a/src/app/shared/mydspace-actions/mydspace-actions.ts b/src/app/shared/mydspace-actions/mydspace-actions.ts index f567e760a0..bc47b61a01 100644 --- a/src/app/shared/mydspace-actions/mydspace-actions.ts +++ b/src/app/shared/mydspace-actions/mydspace-actions.ts @@ -1,5 +1,5 @@ import { Router } from '@angular/router'; -import { EventEmitter, Injector, Input, Output } from '@angular/core'; +import { Component, EventEmitter, Injector, Input, Output } from '@angular/core'; import { find, take, tap } from 'rxjs/operators'; @@ -23,10 +23,10 @@ export interface MyDSpaceActionsResult { /** * Abstract class for all different representations of mydspace actions */ -// @Component({ -// selector: 'ds-mydspace-actions-abstract', -// template: '' -// }) +@Component({ + selector: 'ds-mydspace-actions-abstract', + template: '' +}) export abstract class MyDSpaceActionsComponent> { /** diff --git a/src/app/shared/mydspace-actions/mydspace-reloadable-actions.ts b/src/app/shared/mydspace-actions/mydspace-reloadable-actions.ts index 05585101e6..2a9a14a341 100644 --- a/src/app/shared/mydspace-actions/mydspace-reloadable-actions.ts +++ b/src/app/shared/mydspace-actions/mydspace-reloadable-actions.ts @@ -1,5 +1,5 @@ import { Router } from '@angular/router'; -import { Injector, OnInit } from '@angular/core'; +import { Component, Injector, OnInit } from '@angular/core'; import { map, switchMap, tap} from 'rxjs/operators'; @@ -18,11 +18,14 @@ import { ProcessTaskResponse } from '../../core/tasks/models/process-task-respon import { getFirstCompletedRemoteData } from '../../core/shared/operators'; import { getSearchResultFor } from '../search/search-result-element-decorator'; import { MyDSpaceActionsComponent } from './mydspace-actions'; -import {Subscription} from 'rxjs/internal/Subscription'; /** * Abstract class for all different representations of mydspace actions */ +@Component({ + selector: 'ds-mydspace-reloadable-actions', + template: '' +}) export abstract class MyDSpaceReloadableActionsComponent> extends MyDSpaceActionsComponent implements OnInit { @@ -71,7 +74,7 @@ export abstract class MyDSpaceReloadableActionsComponent { if (res instanceof RemoteData) { - return of(res).pipe(getFirstCompletedRemoteData(), map((completed) => completed.payload)) + return of(res).pipe(getFirstCompletedRemoteData(), map((completed) => completed.payload)); } else { return of(res); } })).pipe(map((dso) => { return dso ? this.convertReloadedObject(dso) : dso; - })) + })); } } diff --git a/src/app/shared/object-collection/shared/listable-object/listable-object-component-loader.component.spec.ts b/src/app/shared/object-collection/shared/listable-object/listable-object-component-loader.component.spec.ts index 46d6ba2c56..74dc0be623 100644 --- a/src/app/shared/object-collection/shared/listable-object/listable-object-component-loader.component.spec.ts +++ b/src/app/shared/object-collection/shared/listable-object/listable-object-component-loader.component.spec.ts @@ -5,10 +5,8 @@ import { ListableObject } from '../listable-object.model'; import { GenericConstructor } from '../../../../core/shared/generic-constructor'; import { Context } from '../../../../core/shared/context.model'; import { ViewMode } from '../../../../core/shared/view-mode.model'; -import * as listableObjectDecorators from './listable-object.decorator'; import { ItemListElementComponent } from '../../../object-list/item-list-element/item-types/item/item-list-element.component'; import { ListableObjectDirective } from './listable-object.directive'; -import { spyOnExported } from '../../../testing/utils.test'; import { TranslateModule } from '@ngx-translate/core'; import { By } from '@angular/platform-browser'; import { Item } from '../../../../core/shared/item.model'; @@ -23,7 +21,6 @@ class TestType extends ListableObject { } } -//xdescribe describe('ListableObjectComponentLoaderComponent', () => { let comp: ListableObjectComponentLoaderComponent; let fixture: ComponentFixture; @@ -33,7 +30,7 @@ describe('ListableObjectComponentLoaderComponent', () => { imports: [TranslateModule.forRoot()], declarations: [ListableObjectComponentLoaderComponent, ItemListElementComponent, ListableObjectDirective], schemas: [NO_ERRORS_SCHEMA], - providers: [ComponentFactoryResolver] + providers: [] }).overrideComponent(ListableObjectComponentLoaderComponent, { set: { changeDetection: ChangeDetectionStrategy.Default, @@ -49,14 +46,14 @@ describe('ListableObjectComponentLoaderComponent', () => { comp.object = new TestType(); comp.viewMode = testViewMode; comp.context = testContext; - spyOnExported(listableObjectDecorators, 'getListableObjectComponent').and.returnValue(ItemListElementComponent); + spyOn(comp, 'getComponent').and.returnValue(ItemListElementComponent as any); fixture.detectChanges(); })); describe('When the component is rendered', () => { it('should call the getListableObjectComponent function with the right types, view mode and context', () => { - expect(listableObjectDecorators.getListableObjectComponent).toHaveBeenCalledWith([testType], testViewMode, testContext); + expect(comp.getComponent).toHaveBeenCalledWith([testType], testViewMode, testContext); }); }); @@ -130,7 +127,7 @@ describe('ListableObjectComponentLoaderComponent', () => { tick(); expect((comp as any).instantiateComponent).toHaveBeenCalledWith(reloadedObject); - })) + })); }); diff --git a/src/app/shared/object-collection/shared/listable-object/listable-object-component-loader.component.ts b/src/app/shared/object-collection/shared/listable-object/listable-object-component-loader.component.ts index a701e10340..28a906f2fe 100644 --- a/src/app/shared/object-collection/shared/listable-object/listable-object-component-loader.component.ts +++ b/src/app/shared/object-collection/shared/listable-object/listable-object-component-loader.component.ts @@ -111,7 +111,9 @@ export class ListableObjectComponentLoaderComponent implements OnInit, OnDestroy this.initBadges(); - const componentFactory = this.componentFactoryResolver.resolveComponentFactory(this.getComponent(object)); + const component = this.getComponent(object.getRenderTypes(), this.viewMode, this.context); + + const componentFactory = this.componentFactoryResolver.resolveComponentFactory(component); const viewContainerRef = this.listableObjectDirective.viewContainerRef; viewContainerRef.clear(); @@ -160,7 +162,7 @@ export class ListableObjectComponentLoaderComponent implements OnInit, OnDestroy * Fetch the component depending on the item's relationship type, view mode and context * @returns {GenericConstructor} */ - private getComponent(object): GenericConstructor { - return getListableObjectComponent(object.getRenderTypes(), this.viewMode, this.context); + getComponent(object, viewMode: ViewMode, context: Context): GenericConstructor { + return getListableObjectComponent(object.getRenderTypes(), viewMode, context); } } diff --git a/src/app/shared/object-detail/my-dspace-result-detail-element/claimed-task-search-result/claimed-task-search-result-detail-element.component.spec.ts b/src/app/shared/object-detail/my-dspace-result-detail-element/claimed-task-search-result/claimed-task-search-result-detail-element.component.spec.ts index b570e59ae6..a6a3e2020b 100644 --- a/src/app/shared/object-detail/my-dspace-result-detail-element/claimed-task-search-result/claimed-task-search-result-detail-element.component.spec.ts +++ b/src/app/shared/object-detail/my-dspace-result-detail-element/claimed-task-search-result/claimed-task-search-result-detail-element.component.spec.ts @@ -1,5 +1,5 @@ import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; -import { ComponentFixture, TestBed, waitForAsyncfakeAsync, tick } from '@angular/core/testing'; +import { ComponentFixture, TestBed, tick, waitForAsync, fakeAsync} from '@angular/core/testing'; import { NoopAnimationsModule } from '@angular/platform-browser/animations'; import { of as observableOf } from 'rxjs'; @@ -105,7 +105,7 @@ describe('ClaimedTaskSearchResultDetailElementComponent', () => { const actionPayload: any = { reloadedObject: {}}; const actionsComponent = fixture.debugElement.query(By.css('ds-claimed-task-actions')); - actionsComponent.triggerEventHandler('processCompleted', actionPayload) + actionsComponent.triggerEventHandler('processCompleted', actionPayload); tick(); expect(component.reloadedObject.emit).toHaveBeenCalledWith(actionPayload.reloadedObject); From 54c405994cfa1737611c15e26db489058f017af6 Mon Sep 17 00:00:00 2001 From: Alessandro Martelli Date: Fri, 29 Jan 2021 19:31:54 +0100 Subject: [PATCH 027/106] [CSTPER-3620] Workflow Actions refresh entire MyDSpace page instead of just WorkflowItem Lint --- .../claimed-task-actions.component.ts | 2 +- .../mydspace-actions/mydspace-actions.ts | 6 ++--- .../mydspace-reloadable-actions.spec.ts | 24 +++++++++---------- .../pool-task-actions.component.spec.ts | 6 ++--- .../pool-task/pool-task-actions.component.ts | 8 +++---- ...table-object-component-loader.component.ts | 6 +++-- ...ch-result-detail-element.component.spec.ts | 2 +- ...arch-result-list-element.component.spec.ts | 4 ++-- ...-list-element-submission.component.spec.ts | 2 +- ...arch-result-list-element.component.spec.ts | 4 ++-- ...arch-result-list-element.component.spec.ts | 2 +- ...arch-result-list-element.component.spec.ts | 2 +- 12 files changed, 34 insertions(+), 34 deletions(-) diff --git a/src/app/shared/mydspace-actions/claimed-task/claimed-task-actions.component.ts b/src/app/shared/mydspace-actions/claimed-task/claimed-task-actions.component.ts index ae801c7586..afb50c8351 100644 --- a/src/app/shared/mydspace-actions/claimed-task/claimed-task-actions.component.ts +++ b/src/app/shared/mydspace-actions/claimed-task/claimed-task-actions.component.ts @@ -101,7 +101,7 @@ export class ClaimedTaskActionsComponent extends MyDSpaceActionsComponent { - beforeEach(async(() => { - mockDataService = new PoolTaskDataService(null, null, null, null, null, null, null, null) + beforeEach(fakeAsync(() => { + mockDataService = new PoolTaskDataService(null, null, null, null, null, null, null, null); mockClaimedTaskDataService = new ClaimedTaskDataService(null, null, null, null, null, null, null, null); TestBed.configureTestingModule({ imports: [ @@ -118,7 +118,7 @@ describe('MyDSpaceReloadableActionsComponent', () => { spyOn(component, 'initObjects'); }); - it('should call initReloadAnchor and initObjects on init', async(() => { + it('should call initReloadAnchor and initObjects on init', fakeAsync(() => { component.ngOnInit(); fixture.detectChanges(); @@ -130,7 +130,7 @@ describe('MyDSpaceReloadableActionsComponent', () => { })); - }) + }); describe('on action execution fail', () => { @@ -158,7 +158,7 @@ describe('MyDSpaceReloadableActionsComponent', () => { component.startActionExecution().subscribe( (result) => { expect(notificationsServiceStub.error).toHaveBeenCalled(); done(); - }) + }); }); it('should not call reloadObject', (done) => { @@ -166,7 +166,7 @@ describe('MyDSpaceReloadableActionsComponent', () => { component.startActionExecution().subscribe( (result) => { expect(component.reloadObjectExecution).not.toHaveBeenCalled(); done(); - }) + }); }); @@ -175,7 +175,7 @@ describe('MyDSpaceReloadableActionsComponent', () => { component.startActionExecution().subscribe( (result) => { expect(component.processCompleted.emit).not.toHaveBeenCalled(); done(); - }) + }); }); @@ -206,7 +206,7 @@ describe('MyDSpaceReloadableActionsComponent', () => { component.startActionExecution().subscribe( (result) => { expect(component.reloadObjectExecution).toHaveBeenCalled(); done(); - }) + }); }); it('should convert the reloaded object', (done) => { @@ -214,7 +214,7 @@ describe('MyDSpaceReloadableActionsComponent', () => { component.startActionExecution().subscribe( (result) => { expect(component.convertReloadedObject).toHaveBeenCalled(); done(); - }) + }); }); it('should emit the reloaded object in case of success', (done) => { @@ -222,7 +222,7 @@ describe('MyDSpaceReloadableActionsComponent', () => { component.startActionExecution().subscribe( (result) => { expect(component.processCompleted.emit).toHaveBeenCalledWith({result: true, reloadedObject: result as any}); done(); - }) + }); }); }); @@ -252,7 +252,7 @@ describe('MyDSpaceReloadableActionsComponent', () => { component.startActionExecution().subscribe( (result) => { expect(component.reload).toHaveBeenCalled(); done(); - }) + }); }); }); diff --git a/src/app/shared/mydspace-actions/pool-task/pool-task-actions.component.spec.ts b/src/app/shared/mydspace-actions/pool-task/pool-task-actions.component.spec.ts index 74e3c6748b..bce1f1a467 100644 --- a/src/app/shared/mydspace-actions/pool-task/pool-task-actions.component.spec.ts +++ b/src/app/shared/mydspace-actions/pool-task/pool-task-actions.component.spec.ts @@ -1,5 +1,5 @@ import { ChangeDetectionStrategy, Injector, NO_ERRORS_SCHEMA } from '@angular/core'; -import { waitForAsync, ComponentFixture, fakeAsync, TestBed } from '@angular/core/testing'; +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; import { Router } from '@angular/router'; import { By } from '@angular/platform-browser'; @@ -75,7 +75,7 @@ mockObject = Object.assign(new PoolTask(), { workflowitem: observableOf(rdWorkfl describe('PoolTaskActionsComponent', () => { beforeEach(waitForAsync(() => { - mockDataService = new PoolTaskDataService(null, null, null, null, null, null, null, null) + mockDataService = new PoolTaskDataService(null, null, null, null, null, null, null, null); mockClaimedTaskDataService = new ClaimedTaskDataService(null, null, null, null, null, null, null, null); TestBed.configureTestingModule({ imports: [ @@ -160,7 +160,7 @@ describe('PoolTaskActionsComponent', () => { expect(notificationsServiceStub.success).toHaveBeenCalled(); done(); - }) + }); })); diff --git a/src/app/shared/mydspace-actions/pool-task/pool-task-actions.component.ts b/src/app/shared/mydspace-actions/pool-task/pool-task-actions.component.ts index f36883b05f..19f257f512 100644 --- a/src/app/shared/mydspace-actions/pool-task/pool-task-actions.component.ts +++ b/src/app/shared/mydspace-actions/pool-task/pool-task-actions.component.ts @@ -1,4 +1,4 @@ -import {Component, Injector, Input, OnDestroy} from '@angular/core'; +import { Component, Injector, Input, OnDestroy } from '@angular/core'; import { Router } from '@angular/router'; import { Observable } from 'rxjs'; @@ -92,7 +92,7 @@ export class PoolTaskActionsComponent extends MyDSpaceReloadableActionsComponent return this.objectDataService.getPoolTaskEndpointById(this.object.id) .pipe(switchMap((poolTaskHref) => { return this.claimedTaskService.claimTask(this.object.id, poolTaskHref); - })) + })); } reloadObjectExecution(): Observable | DSpaceObject> { @@ -111,12 +111,12 @@ export class PoolTaskActionsComponent extends MyDSpaceReloadableActionsComponent )) .subscribe((item: Item) => { this.itemUuid = item.uuid; - }) + }); } ngOnDestroy() { this.subs.forEach((sub) => sub.unsubscribe()); - console.log('Destroy of PoolTaskActionsComponent', this.object) + console.log('Destroy of PoolTaskActionsComponent', this.object); } } diff --git a/src/app/shared/object-collection/shared/listable-object/listable-object-component-loader.component.ts b/src/app/shared/object-collection/shared/listable-object/listable-object-component-loader.component.ts index 28a906f2fe..9fc27d65bf 100644 --- a/src/app/shared/object-collection/shared/listable-object/listable-object-component-loader.component.ts +++ b/src/app/shared/object-collection/shared/listable-object/listable-object-component-loader.component.ts @@ -162,7 +162,9 @@ export class ListableObjectComponentLoaderComponent implements OnInit, OnDestroy * Fetch the component depending on the item's relationship type, view mode and context * @returns {GenericConstructor} */ - getComponent(object, viewMode: ViewMode, context: Context): GenericConstructor { - return getListableObjectComponent(object.getRenderTypes(), viewMode, context); + getComponent(renderTypes: (string | GenericConstructor)[], + viewMode: ViewMode, + context: Context): GenericConstructor { + return getListableObjectComponent(renderTypes, viewMode, context); } } diff --git a/src/app/shared/object-detail/my-dspace-result-detail-element/pool-search-result/pool-search-result-detail-element.component.spec.ts b/src/app/shared/object-detail/my-dspace-result-detail-element/pool-search-result/pool-search-result-detail-element.component.spec.ts index 1f5d7e0f7c..f5f19fc041 100644 --- a/src/app/shared/object-detail/my-dspace-result-detail-element/pool-search-result/pool-search-result-detail-element.component.spec.ts +++ b/src/app/shared/object-detail/my-dspace-result-detail-element/pool-search-result/pool-search-result-detail-element.component.spec.ts @@ -105,7 +105,7 @@ describe('PoolSearchResultDetailElementComponent', () => { spyOn(component.reloadedObject, 'emit').and.callThrough(); const actionPayload: any = { reloadedObject: {}}; const actionsComponents = fixture.debugElement.query(By.css('ds-pool-task-actions')); - actionsComponents.triggerEventHandler('processCompleted', actionPayload) + actionsComponents.triggerEventHandler('processCompleted', actionPayload); tick(); expect(component.reloadedObject.emit).toHaveBeenCalledWith(actionPayload.reloadedObject); diff --git a/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-search-result-list-element.component.spec.ts b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-search-result-list-element.component.spec.ts index 07ffe28360..5dad421f68 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-search-result-list-element.component.spec.ts +++ b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-search-result-list-element.component.spec.ts @@ -1,5 +1,5 @@ import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; -import { async, ComponentFixture, fakeAsync, TestBed, tick, waitForAsync } from '@angular/core/testing'; +import { ComponentFixture, fakeAsync, TestBed, tick, waitForAsync } from '@angular/core/testing'; import { NoopAnimationsModule } from '@angular/platform-browser/animations'; import { of as observableOf } from 'rxjs'; @@ -104,7 +104,7 @@ describe('ClaimedSearchResultListElementComponent', () => { const actionPayload: any = { reloadedObject: {}}; const actionsComponent = fixture.debugElement.query(By.css('ds-claimed-task-actions')); - actionsComponent.triggerEventHandler('processCompleted', actionPayload) + actionsComponent.triggerEventHandler('processCompleted', actionPayload); tick(); expect(component.reloadedObject.emit).toHaveBeenCalledWith(actionPayload.reloadedObject); diff --git a/src/app/shared/object-list/my-dspace-result-list-element/item-search-result/item-search-result-list-element-submission.component.spec.ts b/src/app/shared/object-list/my-dspace-result-list-element/item-search-result/item-search-result-list-element-submission.component.spec.ts index 0d02a80976..e2017e8748 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/item-search-result/item-search-result-list-element-submission.component.spec.ts +++ b/src/app/shared/object-list/my-dspace-result-list-element/item-search-result/item-search-result-list-element-submission.component.spec.ts @@ -80,7 +80,7 @@ describe('ItemMyDSpaceResultListElementComponent', () => { const actionPayload: any = { reloadedObject: {}}; const actionsComponent = fixture.debugElement.query(By.css('ds-item-actions')); - actionsComponent.triggerEventHandler('processCompleted', actionPayload) + actionsComponent.triggerEventHandler('processCompleted', actionPayload); tick(); expect(component.reloadedObject.emit).toHaveBeenCalledWith(actionPayload.reloadedObject); diff --git a/src/app/shared/object-list/my-dspace-result-list-element/pool-search-result/pool-search-result-list-element.component.spec.ts b/src/app/shared/object-list/my-dspace-result-list-element/pool-search-result/pool-search-result-list-element.component.spec.ts index a474d866cd..e55b45aed7 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/pool-search-result/pool-search-result-list-element.component.spec.ts +++ b/src/app/shared/object-list/my-dspace-result-list-element/pool-search-result/pool-search-result-list-element.component.spec.ts @@ -1,4 +1,4 @@ -import { ChangeDetectionStrategy, Injector, NO_ERRORS_SCHEMA } from '@angular/core'; +import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; import { waitForAsync, ComponentFixture, fakeAsync, TestBed, tick } from '@angular/core/testing'; import { NoopAnimationsModule } from '@angular/platform-browser/animations'; @@ -103,7 +103,7 @@ describe('PoolSearchResultListElementComponent', () => { spyOn(component.reloadedObject, 'emit').and.callThrough(); const actionPayload: any = { reloadedObject: {}}; const actionsComponents = fixture.debugElement.query(By.css('ds-pool-task-actions')); - actionsComponents.triggerEventHandler('processCompleted', actionPayload) + actionsComponents.triggerEventHandler('processCompleted', actionPayload); tick(); expect(component.reloadedObject.emit).toHaveBeenCalledWith(actionPayload.reloadedObject); diff --git a/src/app/shared/object-list/my-dspace-result-list-element/workflow-item-search-result/workflow-item-search-result-list-element.component.spec.ts b/src/app/shared/object-list/my-dspace-result-list-element/workflow-item-search-result/workflow-item-search-result-list-element.component.spec.ts index 1de3f42264..3743a9bd22 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/workflow-item-search-result/workflow-item-search-result-list-element.component.spec.ts +++ b/src/app/shared/object-list/my-dspace-result-list-element/workflow-item-search-result/workflow-item-search-result-list-element.component.spec.ts @@ -101,7 +101,7 @@ describe('WorkflowItemSearchResultListElementComponent', () => { const actionPayload: any = { reloadedObject: {}}; const actionsComponent = fixture.debugElement.query(By.css('ds-workflowitem-actions')); - actionsComponent.triggerEventHandler('processCompleted', actionPayload) + actionsComponent.triggerEventHandler('processCompleted', actionPayload); tick(); expect(component.reloadedObject.emit).toHaveBeenCalledWith(actionPayload.reloadedObject); diff --git a/src/app/shared/object-list/my-dspace-result-list-element/workspace-item-search-result/workspace-item-search-result-list-element.component.spec.ts b/src/app/shared/object-list/my-dspace-result-list-element/workspace-item-search-result/workspace-item-search-result-list-element.component.spec.ts index ee1be01fe4..b1f2a2aeb9 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/workspace-item-search-result/workspace-item-search-result-list-element.component.spec.ts +++ b/src/app/shared/object-list/my-dspace-result-list-element/workspace-item-search-result/workspace-item-search-result-list-element.component.spec.ts @@ -101,7 +101,7 @@ describe('WorkspaceItemSearchResultListElementComponent', () => { const actionPayload: any = { reloadedObject: {}}; const actionsComponent = fixture.debugElement.query(By.css('ds-workspaceitem-actions')); - actionsComponent.triggerEventHandler('processCompleted', actionPayload) + actionsComponent.triggerEventHandler('processCompleted', actionPayload); tick(); expect(component.reloadedObject.emit).toHaveBeenCalledWith(actionPayload.reloadedObject); From d574ffafa44138b63f9daaac4eb49bb354237440 Mon Sep 17 00:00:00 2001 From: Bruno Roemers Date: Mon, 1 Feb 2021 19:10:15 +0100 Subject: [PATCH 028/106] 76634: Implement GoogleAnalyticsService --- src/app/app.component.ts | 9 ++++- .../google-analytics.service.spec.ts | 16 ++++++++ .../statistics/google-analytics.service.ts | 40 +++++++++++++++++++ src/config/global-config.interface.ts | 1 - src/environments/environment.common.ts | 2 - src/environments/mock-environment.ts | 2 - src/main.browser.ts | 16 -------- src/modules/app/browser-app.module.ts | 5 +++ 8 files changed, 68 insertions(+), 23 deletions(-) create mode 100644 src/app/statistics/google-analytics.service.spec.ts create mode 100644 src/app/statistics/google-analytics.service.ts diff --git a/src/app/app.component.ts b/src/app/app.component.ts index 10cda90755..1ef5c868a6 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -33,6 +33,7 @@ import { models } from './core/core.module'; import { LocaleService } from './core/locale/locale.service'; import { hasValue } from './shared/empty.util'; import { KlaroService } from './shared/cookies/klaro.service'; +import {GoogleAnalyticsService} from './statistics/google-analytics.service'; @Component({ selector: 'ds-app', @@ -70,7 +71,8 @@ export class AppComponent implements OnInit, AfterViewInit { private menuService: MenuService, private windowService: HostWindowService, private localeService: LocaleService, - @Optional() private cookiesService: KlaroService + @Optional() private cookiesService: KlaroService, + @Optional() private googleAnalyticsService: GoogleAnalyticsService, ) { /* Use models object so all decorators are actually called */ @@ -84,7 +86,10 @@ export class AppComponent implements OnInit, AfterViewInit { // set the current language code this.localeService.setCurrentLanguageCode(); - angulartics2GoogleAnalytics.startTracking(); + // analytics + if (hasValue(googleAnalyticsService)) { + googleAnalyticsService.addTrackingIdToPage(); + } angulartics2DSpace.startTracking(); metadata.listenForRouteChange(); diff --git a/src/app/statistics/google-analytics.service.spec.ts b/src/app/statistics/google-analytics.service.spec.ts new file mode 100644 index 0000000000..3329024a18 --- /dev/null +++ b/src/app/statistics/google-analytics.service.spec.ts @@ -0,0 +1,16 @@ +import { TestBed } from '@angular/core/testing'; + +import { GoogleAnalyticsService } from './google-analytics.service'; + +describe('GoogleAnalyticsService', () => { + let service: GoogleAnalyticsService; + + beforeEach(() => { + TestBed.configureTestingModule({}); + service = TestBed.inject(GoogleAnalyticsService); + }); + + it('should be created', () => { + expect(service).toBeTruthy(); + }); +}); diff --git a/src/app/statistics/google-analytics.service.ts b/src/app/statistics/google-analytics.service.ts new file mode 100644 index 0000000000..ec780bda2b --- /dev/null +++ b/src/app/statistics/google-analytics.service.ts @@ -0,0 +1,40 @@ +import { Injectable } from '@angular/core'; +import {Angulartics2GoogleAnalytics} from 'angulartics2/ga'; +import {ConfigurationDataService} from '../core/data/configuration-data.service'; +import {getFirstCompletedRemoteData} from '../core/shared/operators'; +import {isEmpty, isNotEmpty} from '../shared/empty.util'; + +@Injectable() +export class GoogleAnalyticsService { + + constructor( + private angulartics: Angulartics2GoogleAnalytics, + private configService: ConfigurationDataService, + ) { } + + addTrackingIdToPage() { + this.configService.findByPropertyName('google.analytics.key').pipe( + getFirstCompletedRemoteData(), + ).subscribe((remoteData) => { + // make sure we got a success response from the backend + if (!remoteData.hasSucceeded) { return; } + + const trackingId = remoteData.payload.values[0]; + + // make sure we received a tracking id + if (isEmpty(trackingId)) { return; } + + // add trackingId snippet to page + const keyScript = document.createElement('script'); + keyScript.innerHTML = `(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ + (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), + m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) + })(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); + 'ga('create', '${trackingId}', 'auto');`; + document.body.appendChild(keyScript); + + // start tracking + this.angulartics.startTracking(); + }); + } +} diff --git a/src/config/global-config.interface.ts b/src/config/global-config.interface.ts index 0bc3d5eec4..5c6e56babb 100644 --- a/src/config/global-config.interface.ts +++ b/src/config/global-config.interface.ts @@ -23,7 +23,6 @@ export interface GlobalConfig extends Config { notifications: INotificationBoardOptions; submission: SubmissionConfig; universal: UniversalConfig; - gaTrackingId: string; logDirectory: string; debug: boolean; defaultLanguage: string; diff --git a/src/environments/environment.common.ts b/src/environments/environment.common.ts index d47c3cfcef..a0fe851cb4 100644 --- a/src/environments/environment.common.ts +++ b/src/environments/environment.common.ts @@ -132,8 +132,6 @@ export const environment: GlobalConfig = { async: true, time: false }, - // Google Analytics tracking id - gaTrackingId: '', // Log directory logDirectory: '.', // NOTE: will log all redux actions and transfers in console diff --git a/src/environments/mock-environment.ts b/src/environments/mock-environment.ts index b220c46083..ef3eb86cc2 100644 --- a/src/environments/mock-environment.ts +++ b/src/environments/mock-environment.ts @@ -110,8 +110,6 @@ export const environment: Partial = { async: true, time: false }, - // Google Analytics tracking id - gaTrackingId: '', // Log directory logDirectory: '.', // NOTE: will log all redux actions and transfers in console diff --git a/src/main.browser.ts b/src/main.browser.ts index 5149014d88..6e3a7ad602 100644 --- a/src/main.browser.ts +++ b/src/main.browser.ts @@ -25,25 +25,9 @@ export function main() { } }); - addGoogleAnalytics(); - return platformBrowserDynamic().bootstrapModule(BrowserAppModule, {preserveWhitespaces:true}); } -function addGoogleAnalytics() { - // Add google analytics if key is present in config - const trackingId = environment.gaTrackingId; - if (isNotEmpty(trackingId)) { - const keyScript = document.createElement('script'); - keyScript.innerHTML = `(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ - (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), - m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) - })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');` - + 'ga(\'create\', \'' + environment.gaTrackingId + '\', \'auto\');'; - document.body.appendChild(keyScript); - } -} - // support async tag or hmr if (hasValue(environment.universal) && environment.universal.preboot === false) { bootloader(main); diff --git a/src/modules/app/browser-app.module.ts b/src/modules/app/browser-app.module.ts index 3aa6bf244b..e0bd7b5ca1 100644 --- a/src/modules/app/browser-app.module.ts +++ b/src/modules/app/browser-app.module.ts @@ -30,6 +30,7 @@ import { LocationToken } from '../../app/core/services/browser-hard-redirect.service'; import { LocaleService } from '../../app/core/locale/locale.service'; +import {GoogleAnalyticsService} from '../../app/statistics/google-analytics.service'; export const REQ_KEY = makeStateKey('req'); @@ -99,6 +100,10 @@ export function getRequest(transferState: TransferState): any { provide: HardRedirectService, useClass: BrowserHardRedirectService, }, + { + provide: GoogleAnalyticsService, + useClass: GoogleAnalyticsService, + }, { provide: LocationToken, useFactory: locationProvider, From 20f896e9397af62e8267220739225ca3e3156042 Mon Sep 17 00:00:00 2001 From: Bruno Roemers Date: Tue, 2 Feb 2021 11:02:17 +0100 Subject: [PATCH 029/106] 76634: Inject document into GoogleAnalyticsService --- src/app/statistics/google-analytics.service.ts | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/app/statistics/google-analytics.service.ts b/src/app/statistics/google-analytics.service.ts index ec780bda2b..20d0078225 100644 --- a/src/app/statistics/google-analytics.service.ts +++ b/src/app/statistics/google-analytics.service.ts @@ -1,8 +1,9 @@ -import { Injectable } from '@angular/core'; +import {Inject, Injectable} from '@angular/core'; import {Angulartics2GoogleAnalytics} from 'angulartics2/ga'; import {ConfigurationDataService} from '../core/data/configuration-data.service'; import {getFirstCompletedRemoteData} from '../core/shared/operators'; -import {isEmpty, isNotEmpty} from '../shared/empty.util'; +import {isEmpty} from '../shared/empty.util'; +import {DOCUMENT} from '@angular/common'; @Injectable() export class GoogleAnalyticsService { @@ -10,6 +11,7 @@ export class GoogleAnalyticsService { constructor( private angulartics: Angulartics2GoogleAnalytics, private configService: ConfigurationDataService, + @Inject(DOCUMENT) private document: Document ) { } addTrackingIdToPage() { @@ -25,13 +27,13 @@ export class GoogleAnalyticsService { if (isEmpty(trackingId)) { return; } // add trackingId snippet to page - const keyScript = document.createElement('script'); + const keyScript = this.document.createElement('script'); keyScript.innerHTML = `(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); 'ga('create', '${trackingId}', 'auto');`; - document.body.appendChild(keyScript); + this.document.body.appendChild(keyScript); // start tracking this.angulartics.startTracking(); From ce5da5723bf2096ff6f74f18972781834fdc56d5 Mon Sep 17 00:00:00 2001 From: Bruno Roemers Date: Tue, 2 Feb 2021 11:54:52 +0100 Subject: [PATCH 030/106] 76634: Write tests for GoogleAnalyticsService --- .../google-analytics.service.spec.ts | 120 +++++++++++++++++- 1 file changed, 116 insertions(+), 4 deletions(-) diff --git a/src/app/statistics/google-analytics.service.spec.ts b/src/app/statistics/google-analytics.service.spec.ts index 3329024a18..5a62b02334 100644 --- a/src/app/statistics/google-analytics.service.spec.ts +++ b/src/app/statistics/google-analytics.service.spec.ts @@ -1,16 +1,128 @@ -import { TestBed } from '@angular/core/testing'; - import { GoogleAnalyticsService } from './google-analytics.service'; +import {Angulartics2GoogleAnalytics} from 'angulartics2/ga'; +import {ConfigurationDataService} from '../core/data/configuration-data.service'; +import {createFailedRemoteDataObject$, createSuccessfulRemoteDataObject$} from '../shared/remote-data.utils'; +import {ConfigurationProperty} from '../core/shared/configuration-property.model'; describe('GoogleAnalyticsService', () => { + const trackingIdProp = 'google.analytics.key'; + const trackingIdTestValue = 'mock-tracking-id'; + const innerHTMLTestValue = 'mock-script-inner-html'; let service: GoogleAnalyticsService; + let angularticsSpy: Angulartics2GoogleAnalytics; + let configSpy: ConfigurationDataService; + let scriptElementMock: any; + let innerHTMLSpy: any; + let bodyElementSpy: HTMLBodyElement; + let documentSpy: Document; + + const createConfigSuccessSpy = (...values: string[]) => jasmine.createSpyObj('configurationDataService', { + findByPropertyName: createSuccessfulRemoteDataObject$({ + ... new ConfigurationProperty(), + name: trackingIdProp, + values: values, + }), + }); beforeEach(() => { - TestBed.configureTestingModule({}); - service = TestBed.inject(GoogleAnalyticsService); + angularticsSpy = jasmine.createSpyObj('angulartics2GoogleAnalytics', [ + 'startTracking', + ]); + + configSpy = createConfigSuccessSpy(trackingIdTestValue); + + scriptElementMock = { + set innerHTML(newVal) { /* noop */ }, + get innerHTML() { return innerHTMLTestValue; } + }; + + innerHTMLSpy = spyOnProperty(scriptElementMock, 'innerHTML', 'set'); + + bodyElementSpy = jasmine.createSpyObj('body', { + appendChild: scriptElementMock, + }); + + documentSpy = jasmine.createSpyObj('document', { + createElement: scriptElementMock, + }, { + body: bodyElementSpy, + }); + + service = new GoogleAnalyticsService(angularticsSpy, configSpy, documentSpy); }); it('should be created', () => { expect(service).toBeTruthy(); }); + + describe('addTrackingIdToPage()', () => { + it(`should request the ${trackingIdProp} property`, () => { + service.addTrackingIdToPage(); + expect(configSpy.findByPropertyName).toHaveBeenCalledTimes(1); + expect(configSpy.findByPropertyName).toHaveBeenCalledWith(trackingIdProp); + }); + + describe('when the request fails', () => { + beforeEach(() => { + configSpy = jasmine.createSpyObj('configurationDataService', { + findByPropertyName: createFailedRemoteDataObject$(), + }); + + service = new GoogleAnalyticsService(angularticsSpy, configSpy, documentSpy); + }); + + it('should NOT add a script to the body', () => { + service.addTrackingIdToPage(); + expect(bodyElementSpy.appendChild).toHaveBeenCalledTimes(0); + }); + + it('should NOT start tracking', () => { + service.addTrackingIdToPage(); + expect(angularticsSpy.startTracking).toHaveBeenCalledTimes(0); + }); + }); + + describe('when the request succeeds', () => { + describe('when the tracking id is empty', () => { + beforeEach(() => { + configSpy = createConfigSuccessSpy(); + service = new GoogleAnalyticsService(angularticsSpy, configSpy, documentSpy); + }); + + it('should NOT add a script to the body', () => { + service.addTrackingIdToPage(); + expect(bodyElementSpy.appendChild).toHaveBeenCalledTimes(0); + }); + + it('should NOT start tracking', () => { + service.addTrackingIdToPage(); + expect(angularticsSpy.startTracking).toHaveBeenCalledTimes(0); + }); + }); + + describe('when the tracking id is non-empty', () => { + it('should create a script tag whose innerHTML contains the tracking id', () => { + service.addTrackingIdToPage(); + expect(documentSpy.createElement).toHaveBeenCalledTimes(1); + expect(documentSpy.createElement).toHaveBeenCalledWith('script'); + + // sanity check + expect(documentSpy.createElement('script')).toBe(scriptElementMock); + + expect(innerHTMLSpy).toHaveBeenCalledTimes(1); + expect(innerHTMLSpy.calls.argsFor(0)[0]).toContain(trackingIdTestValue); + }); + + it('should add a script to the body', () => { + service.addTrackingIdToPage(); + expect(bodyElementSpy.appendChild).toHaveBeenCalledTimes(1); + }); + + it('should start tracking', () => { + service.addTrackingIdToPage(); + expect(angularticsSpy.startTracking).toHaveBeenCalledTimes(1); + }); + }); + }); + }); }); From 3f6cf777b628addf0ff94b8867e9a65d113ffac1 Mon Sep 17 00:00:00 2001 From: Bruno Roemers Date: Tue, 2 Feb 2021 12:28:26 +0100 Subject: [PATCH 031/106] 76634: Update tests for AppComponent --- src/app/app.component.spec.ts | 90 ++++++++++++------- .../statistics/google-analytics.service.ts | 2 +- 2 files changed, 61 insertions(+), 31 deletions(-) diff --git a/src/app/app.component.spec.ts b/src/app/app.component.spec.ts index 7eec1c0ff9..233f15ccea 100644 --- a/src/app/app.component.spec.ts +++ b/src/app/app.component.spec.ts @@ -32,6 +32,7 @@ import { storeModuleConfig } from './app.reducer'; import { LocaleService } from './core/locale/locale.service'; import { authReducer } from './core/auth/auth.reducer'; import { provideMockStore } from '@ngrx/store/testing'; +import {GoogleAnalyticsService} from './statistics/google-analytics.service'; let comp: AppComponent; let fixture: ComponentFixture; @@ -48,38 +49,40 @@ describe('App component', () => { }); } + const defaultTestBedConf = { + imports: [ + CommonModule, + StoreModule.forRoot(authReducer, storeModuleConfig), + TranslateModule.forRoot({ + loader: { + provide: TranslateLoader, + useClass: TranslateLoaderMock + } + }), + ], + declarations: [AppComponent], // declare the test component + providers: [ + { provide: NativeWindowService, useValue: new NativeWindowRef() }, + { provide: MetadataService, useValue: new MetadataServiceMock() }, + { provide: Angulartics2GoogleAnalytics, useValue: new AngularticsProviderMock() }, + { provide: Angulartics2DSpace, useValue: new AngularticsProviderMock() }, + { provide: AuthService, useValue: new AuthServiceMock() }, + { provide: Router, useValue: new RouterMock() }, + { provide: ActivatedRoute, useValue: new MockActivatedRoute() }, + { provide: MenuService, useValue: menuService }, + { provide: CSSVariableService, useClass: CSSVariableServiceStub }, + { provide: HostWindowService, useValue: new HostWindowServiceStub(800) }, + { provide: LocaleService, useValue: getMockLocaleService() }, + provideMockStore({ initialState }), + AppComponent, + RouteService + ], + schemas: [CUSTOM_ELEMENTS_SCHEMA] + }; + // waitForAsync beforeEach beforeEach(waitForAsync(() => { - return TestBed.configureTestingModule({ - imports: [ - CommonModule, - StoreModule.forRoot(authReducer, storeModuleConfig), - TranslateModule.forRoot({ - loader: { - provide: TranslateLoader, - useClass: TranslateLoaderMock - } - }), - ], - declarations: [AppComponent], // declare the test component - providers: [ - { provide: NativeWindowService, useValue: new NativeWindowRef() }, - { provide: MetadataService, useValue: new MetadataServiceMock() }, - { provide: Angulartics2GoogleAnalytics, useValue: new AngularticsProviderMock() }, - { provide: Angulartics2DSpace, useValue: new AngularticsProviderMock() }, - { provide: AuthService, useValue: new AuthServiceMock() }, - { provide: Router, useValue: new RouterMock() }, - { provide: ActivatedRoute, useValue: new MockActivatedRoute() }, - { provide: MenuService, useValue: menuService }, - { provide: CSSVariableService, useClass: CSSVariableServiceStub }, - { provide: HostWindowService, useValue: new HostWindowServiceStub(800) }, - { provide: LocaleService, useValue: getMockLocaleService() }, - provideMockStore({ initialState }), - AppComponent, - RouteService - ], - schemas: [CUSTOM_ELEMENTS_SCHEMA] - }); + return TestBed.configureTestingModule(defaultTestBedConf); })); // synchronous beforeEach @@ -113,4 +116,31 @@ describe('App component', () => { }); }); + + describe('when GoogleAnalyticsService is provided', () => { + let googleAnalyticsSpy; + + beforeEach(() => { + // NOTE: Cannot override providers once components have been compiled, so TestBed needs to be reset + TestBed.resetTestingModule(); + TestBed.configureTestingModule(defaultTestBedConf); + googleAnalyticsSpy = jasmine.createSpyObj('googleAnalyticsService', [ + 'addTrackingIdToPage', + ]); + TestBed.overrideProvider(GoogleAnalyticsService, {useValue: googleAnalyticsSpy}); + fixture = TestBed.createComponent(AppComponent); + comp = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create component', () => { + expect(comp).toBeTruthy(); + }); + + describe('the constructor', () => { + it('should call googleAnalyticsService.addTrackingIdToPage()', () => { + expect(googleAnalyticsSpy.addTrackingIdToPage).toHaveBeenCalledTimes(1); + }); + }); + }); }); diff --git a/src/app/statistics/google-analytics.service.ts b/src/app/statistics/google-analytics.service.ts index 20d0078225..2392184b35 100644 --- a/src/app/statistics/google-analytics.service.ts +++ b/src/app/statistics/google-analytics.service.ts @@ -14,7 +14,7 @@ export class GoogleAnalyticsService { @Inject(DOCUMENT) private document: Document ) { } - addTrackingIdToPage() { + addTrackingIdToPage(): void { this.configService.findByPropertyName('google.analytics.key').pipe( getFirstCompletedRemoteData(), ).subscribe((remoteData) => { From 3a486eb81f0ba4caac29e5c335f5a0d323c1577c Mon Sep 17 00:00:00 2001 From: Bruno Roemers Date: Tue, 2 Feb 2021 14:40:56 +0100 Subject: [PATCH 032/106] 76634: Add documentation --- src/app/statistics/google-analytics.service.ts | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/app/statistics/google-analytics.service.ts b/src/app/statistics/google-analytics.service.ts index 2392184b35..1a35300315 100644 --- a/src/app/statistics/google-analytics.service.ts +++ b/src/app/statistics/google-analytics.service.ts @@ -5,6 +5,10 @@ import {getFirstCompletedRemoteData} from '../core/shared/operators'; import {isEmpty} from '../shared/empty.util'; import {DOCUMENT} from '@angular/common'; +/** + * Set up Google Analytics on the client side. + * See: {@link addTrackingIdToPage}. + */ @Injectable() export class GoogleAnalyticsService { @@ -14,6 +18,12 @@ export class GoogleAnalyticsService { @Inject(DOCUMENT) private document: Document ) { } + /** + * Call this method once when Angular initializes on the client side. + * It requests a Google Analytics tracking id from the rest backend + * (property: google.analytics.key), adds the tracking snippet to the + * page and starts tracking. + */ addTrackingIdToPage(): void { this.configService.findByPropertyName('google.analytics.key').pipe( getFirstCompletedRemoteData(), From ed98e7e39d37aa1ade95451edf7553eb4c1c5ba0 Mon Sep 17 00:00:00 2001 From: Bruno Roemers Date: Tue, 2 Feb 2021 14:41:36 +0100 Subject: [PATCH 033/106] 76634: Bugfixes --- src/app/statistics/google-analytics.service.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/app/statistics/google-analytics.service.ts b/src/app/statistics/google-analytics.service.ts index 1a35300315..ce4073bea5 100644 --- a/src/app/statistics/google-analytics.service.ts +++ b/src/app/statistics/google-analytics.service.ts @@ -15,7 +15,7 @@ export class GoogleAnalyticsService { constructor( private angulartics: Angulartics2GoogleAnalytics, private configService: ConfigurationDataService, - @Inject(DOCUMENT) private document: Document + @Inject(DOCUMENT) private document: any, ) { } /** @@ -42,7 +42,7 @@ export class GoogleAnalyticsService { (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); - 'ga('create', '${trackingId}', 'auto');`; + ga('create', '${trackingId}', 'auto');`; this.document.body.appendChild(keyScript); // start tracking From dde149aceacdd2b658c4632f72098a5b0b7120cd Mon Sep 17 00:00:00 2001 From: Marie Verdonck Date: Thu, 4 Feb 2021 12:11:18 +0100 Subject: [PATCH 034/106] 75832: [Issue 962]: Fix unnecessary calls creating/deleting groups - feedback --- .../members-list/members-list.component.ts | 163 ++++++++++-------- src/assets/i18n/en.json5 | 2 + 2 files changed, 96 insertions(+), 69 deletions(-) diff --git a/src/app/+admin/admin-access-control/group-registry/group-form/members-list/members-list.component.ts b/src/app/+admin/admin-access-control/group-registry/group-form/members-list/members-list.component.ts index 7a09f6ac8b..d01d117a86 100644 --- a/src/app/+admin/admin-access-control/group-registry/group-form/members-list/members-list.component.ts +++ b/src/app/+admin/admin-access-control/group-registry/group-form/members-list/members-list.component.ts @@ -2,8 +2,14 @@ import { Component, Input, OnDestroy, OnInit } from '@angular/core'; import { FormBuilder } from '@angular/forms'; import { Router } from '@angular/router'; import { TranslateService } from '@ngx-translate/core'; -import { Observable, of as observableOf, Subscription, BehaviorSubject, ObservedValueOf, combineLatest as observableCombineLatest} from 'rxjs'; -import { map, mergeMap, take } from 'rxjs/operators'; +import { + Observable, + of as observableOf, + Subscription, + BehaviorSubject, + combineLatest as observableCombineLatest, ObservedValueOf, +} from 'rxjs'; +import { map, mergeMap, switchMap, take } from 'rxjs/operators'; import {buildPaginatedList, PaginatedList} from '../../../../../core/data/paginated-list.model'; import { RemoteData } from '../../../../../core/data/remote-data'; import { EPersonDataService } from '../../../../../core/eperson/eperson-data.service'; @@ -13,7 +19,7 @@ import { Group } from '../../../../../core/eperson/models/group.model'; import { getRemoteDataPayload, getFirstSucceededRemoteData, - getFirstCompletedRemoteData + getFirstCompletedRemoteData, getAllCompletedRemoteData } from '../../../../../core/shared/operators'; import { NotificationsService } from '../../../../../shared/notifications/notifications.service'; import { PaginationComponentOptions } from '../../../../../shared/pagination/pagination-component-options.model'; @@ -23,9 +29,7 @@ import {EpersonDtoModel} from '../../../../../core/eperson/models/eperson-dto.mo * Keys to keep track of specific subscriptions */ enum SubKey { - Members, ActiveGroup, - SearchResults, MembersDTO, SearchResultsDTO, } @@ -45,12 +49,10 @@ export class MembersListComponent implements OnInit, OnDestroy { /** * EPeople being displayed in search result, initially all members, after search result of search */ - searchResults$: BehaviorSubject>> = new BehaviorSubject(undefined); ePeopleSearchDtos: BehaviorSubject> = new BehaviorSubject>(undefined); /** * List of EPeople members of currently active group being edited */ - members$: BehaviorSubject>> = new BehaviorSubject(undefined); ePeopleMembersOfGroupDtos: BehaviorSubject> = new BehaviorSubject>(undefined); /** @@ -135,17 +137,58 @@ export class MembersListComponent implements OnInit, OnDestroy { * @private */ private retrieveMembers(page: number) { - this.unsubFrom(SubKey.Members); - this.subs.set( - SubKey.Members, - this.ePersonDataService.findAllByHref(this.groupBeingEdited._links.epersons.href, { - currentPage: page, - elementsPerPage: this.config.pageSize - } - ).subscribe((rd: RemoteData>) => { - this.members$.next(rd); - if (rd.payload !== undefined) { - this.setEpersonDTOsFromResult(rd, this.ePeopleMembersOfGroupDtos, SubKey.MembersDTO); + this.unsubFrom(SubKey.MembersDTO); + this.subs.set(SubKey.MembersDTO, this.ePersonDataService.findAllByHref(this.groupBeingEdited._links.epersons.href, { + currentPage: page, + elementsPerPage: this.config.pageSize + }).pipe( + getAllCompletedRemoteData(), + map((rd: RemoteData) => { + if (rd.hasFailed) { + this.notificationsService.error(this.translateService.get(this.messagePrefix + '.notification.failure', {cause: rd.errorMessage})); + } else { + return rd; + } + }), + switchMap((epersonListRD: RemoteData>) => { + const dtos$ = observableCombineLatest(...epersonListRD.payload.page.map((member: EPerson) => { + const dto$: Observable = observableCombineLatest( + this.isMemberOfGroup(member), (isMember: ObservedValueOf>) => { + const epersonDtoModel: EpersonDtoModel = new EpersonDtoModel(); + epersonDtoModel.eperson = member; + epersonDtoModel.memberOfGroup = isMember; + return epersonDtoModel; + }); + return dto$; + })); + return dtos$.pipe(map((dtos: EpersonDtoModel[]) => { + return buildPaginatedList(epersonListRD.payload.pageInfo, dtos); + })) + })) + .subscribe((paginatedListOfDTOs: PaginatedList) => { + this.ePeopleMembersOfGroupDtos.next(paginatedListOfDTOs); + })); + } + + /** + * Whether or not the given ePerson is a member of the group currently being edited + * @param possibleMember EPerson that is a possible member (being tested) of the group currently being edited + */ + isMemberOfGroup(possibleMember: EPerson): Observable { + return this.groupDataService.getActiveGroup().pipe(take(1), + mergeMap((group: Group) => { + if (group != null) { + return this.ePersonDataService.findAllByHref(group._links.epersons.href, { + currentPage: 1, + elementsPerPage: 9999 + }, false) + .pipe( + getFirstSucceededRemoteData(), + getRemoteDataPayload(), + map((listEPeopleInGroup: PaginatedList) => listEPeopleInGroup.page.filter((ePersonInList: EPerson) => ePersonInList.id === possibleMember.id)), + map((epeople: EPerson[]) => epeople.length > 0)); + } else { + return observableOf(false); } })); } @@ -173,6 +216,7 @@ export class MembersListComponent implements OnInit, OnDestroy { if (activeGroup != null) { const response = this.groupDataService.deleteMemberFromGroup(activeGroup, ePerson.eperson); this.showNotifications('deleteMember', response, ePerson.eperson.name, activeGroup); + this.search({ scope: this.currentSearchScope, query: this.currentSearchQuery }); } else { this.notificationsService.error(this.translateService.get(this.messagePrefix + '.notification.failure.noActiveGroup')); } @@ -195,29 +239,6 @@ export class MembersListComponent implements OnInit, OnDestroy { }); } - /** - * Whether or not the given ePerson is a member of the group currently being edited - * @param possibleMember EPerson that is a possible member (being tested) of the group currently being edited - */ - isMemberOfGroup(possibleMember: EPerson): Observable { - return this.groupDataService.getActiveGroup().pipe(take(1), - mergeMap((group: Group) => { - if (group != null) { - return this.ePersonDataService.findAllByHref(group._links.epersons.href, { - currentPage: 1, - elementsPerPage: 9999 - }) - .pipe( - getFirstSucceededRemoteData(), - getRemoteDataPayload(), - map((listEPeopleInGroup: PaginatedList) => listEPeopleInGroup.page.filter((ePersonInList: EPerson) => ePersonInList.id === possibleMember.id)), - map((epeople: EPerson[]) => epeople.length > 0)); - } else { - return observableOf(false); - } - })); - } - /** * Search in the EPeople by name, email or metadata * @param data Contains scope and query param @@ -237,34 +258,38 @@ export class MembersListComponent implements OnInit, OnDestroy { } this.searchDone = true; - this.unsubFrom(SubKey.SearchResults); - this.subs.set(SubKey.SearchResults, this.ePersonDataService.searchByScope(this.currentSearchScope, this.currentSearchQuery, { - currentPage: this.configSearch.currentPage, - elementsPerPage: this.configSearch.pageSize - }).subscribe((rd: RemoteData>) => { - this.searchResults$.next(rd); - if (rd.payload !== undefined) { - this.setEpersonDTOsFromResult(rd, this.ePeopleSearchDtos, SubKey.SearchResultsDTO); - } - })); - } - - private setEpersonDTOsFromResult(rd: RemoteData>, addTo: BehaviorSubject>, subkey) { - this.unsubFrom(subkey); - const dtos$ = observableCombineLatest(...rd.payload.page.map((member: EPerson) => { - const dto$: Observable = observableCombineLatest( - this.isMemberOfGroup(member), (isMember: ObservedValueOf>) => { - const epersonDtoModel: EpersonDtoModel = new EpersonDtoModel(); - epersonDtoModel.eperson = member; - epersonDtoModel.memberOfGroup = isMember; - return epersonDtoModel; - }); - return dto$; - })); - this.subs.set(subkey,dtos$.pipe(map((dtos: EpersonDtoModel[]) => { - const paginatedListOfDTOs = buildPaginatedList(rd.payload.pageInfo, dtos); - addTo.next(paginatedListOfDTOs); - })).subscribe()); + this.unsubFrom(SubKey.SearchResultsDTO); + this.subs.set(SubKey.SearchResultsDTO, + this.ePersonDataService.searchByScope(this.currentSearchScope, this.currentSearchQuery, { + currentPage: this.configSearch.currentPage, + elementsPerPage: this.configSearch.pageSize + }, false).pipe( + getAllCompletedRemoteData(), + map((rd: RemoteData) => { + if (rd.hasFailed) { + this.notificationsService.error(this.translateService.get(this.messagePrefix + '.notification.failure', {cause: rd.errorMessage})); + } else { + return rd; + } + }), + switchMap((epersonListRD: RemoteData>) => { + const dtos$ = observableCombineLatest(...epersonListRD.payload.page.map((member: EPerson) => { + const dto$: Observable = observableCombineLatest( + this.isMemberOfGroup(member), (isMember: ObservedValueOf>) => { + const epersonDtoModel: EpersonDtoModel = new EpersonDtoModel(); + epersonDtoModel.eperson = member; + epersonDtoModel.memberOfGroup = isMember; + return epersonDtoModel; + }); + return dto$; + })); + return dtos$.pipe(map((dtos: EpersonDtoModel[]) => { + return buildPaginatedList(epersonListRD.payload.pageInfo, dtos); + })) + })) + .subscribe((paginatedListOfDTOs: PaginatedList) => { + this.ePeopleSearchDtos.next(paginatedListOfDTOs); + })); } /** diff --git a/src/assets/i18n/en.json5 b/src/assets/i18n/en.json5 index 5ddde2a307..cb1453beed 100644 --- a/src/assets/i18n/en.json5 +++ b/src/assets/i18n/en.json5 @@ -402,6 +402,8 @@ "admin.access-control.groups.form.members-list.no-items": "No EPeople found in that search", + "admin.access-control.groups.form.subgroups-list.notification.failure": "Something went wrong: \"{{cause}}\"", + "admin.access-control.groups.form.subgroups-list.head": "Groups", "admin.access-control.groups.form.subgroups-list.search.head": "Add Subgroup", From 6105e038b176474a42f8db69264580772e56832f Mon Sep 17 00:00:00 2001 From: Nagy Akos Date: Thu, 4 Feb 2021 21:26:18 +0200 Subject: [PATCH 035/106] Translate new lines to Hungarian --- src/assets/i18n/hu.json5 | 1058 ++++++++++++++++++++++++++++++++++++-- 1 file changed, 1002 insertions(+), 56 deletions(-) diff --git a/src/assets/i18n/hu.json5 b/src/assets/i18n/hu.json5 index 400d14968c..6bad2a83f4 100644 --- a/src/assets/i18n/hu.json5 +++ b/src/assets/i18n/hu.json5 @@ -1,5 +1,27 @@ { +// "401.help": "You're not authorized to access this page. You can use the button below to get back to the home page.", + "401.help": "Nincs jogosultsága az oldal eléréséhez. Az alábbi gombbal vissza tud lépni a főoldalra.", + +// "401.link.home-page": "Take me to the home page", + "401.link.home-page": "Vissza a főoldalra", + +// "401.unauthorized": "unauthorized", + "401.unauthorized": "jogosulatlan", + + + +// "403.help": "You don't have permission to access this page. You can use the button below to get back to the home page.", + "403.help": "Nincs jogosultsága az oldal eléréséhez. Az alábbi gombbal vissza tud lépni a főoldalra.", + +// "403.link.home-page": "Take me to the home page", + "403.link.home-page": "Vissza a főoldalra", + +// "403.forbidden": "forbidden", + "403.forbidden": "elérhetetlen", + + + // "404.help": "We can't find the page you're looking for. The page may have been moved or deleted. You can use the button below to get back to the home page. ", "404.help": "A keresett oldal nem található. Az oldalt elköltöztették, vagy letörölték. Az alsó gombbal visszakerülhet a honlapra ", @@ -9,7 +31,20 @@ // "404.page-not-found": "page not found", "404.page-not-found": "oldal nem található", +// "admin.curation-tasks.breadcrumbs": "System curation tasks", + "admin.curation-tasks.breadcrumbs": "Karbantartási feladatok", +// "admin.curation-tasks.title": "System curation tasks", + "admin.curation-tasks.title": "Karbantartási feladatok", + +// "admin.curation-tasks.header": "System curation tasks", + "admin.curation-tasks.header": "Karbantartási feladatok", + +// "admin.registries.bitstream-formats.breadcrumbs": "Format registry", + "admin.registries.bitstream-formats.breadcrumbs": "Formátum regiszter", + +// "admin.registries.bitstream-formats.create.breadcrumbs": "Bitstream format", + "admin.registries.bitstream-formats.create.breadcrumbs": "Bitfolyam formátum", // "admin.registries.bitstream-formats.create.failure.content": "An error occurred while creating the new bitstream format.", "admin.registries.bitstream-formats.create.failure.content": "Bitfolyam létrehozása közben hiba történt", @@ -114,7 +149,7 @@ "admin.registries.bitstream-formats.table.internal": "belső", // "admin.registries.bitstream-formats.table.mimetype": "MIME Type", - "admin.registries.bitstream-formats.table.mimetype": "MIME Típus", + "admin.registries.bitstream-formats.table.mimetype": "MIME típus", // "admin.registries.bitstream-formats.table.name": "Name", "admin.registries.bitstream-formats.table.name": "Név", @@ -139,8 +174,11 @@ +// "admin.registries.metadata.breadcrumbs": "Metadata registry", + "admin.registries.metadata.breadcrumbs": "Metaadat leíró adatbázis", + // "admin.registries.metadata.description": "The metadata registry maintains a list of all metadata fields available in the repository. These fields may be divided amongst multiple schemas. However, DSpace requires the qualified Dublin Core schema.", - "admin.registries.metadata.description": "TA metaadat leíró adatbázis tartalmazza a tárban fellelhető valamennyi metaadat mező listáját. Ezek a mezők több sémára oszthatók. Viszont a DSpace a minősített Dublin Core sémát kéri.", + "admin.registries.metadata.description": "A metaadat leíró adatbázis tartalmazza a tárban fellelhető valamennyi metaadat mező listáját. Ezek a mezők több sémára oszthatók. Viszont a DSpace a minősített Dublin Core sémát kéri.", // "admin.registries.metadata.form.create": "Create metadata schema", "admin.registries.metadata.form.create": "Metaadat séma létrehozása", @@ -177,6 +215,9 @@ +// "admin.registries.schema.breadcrumbs": "Metadata schema", + "admin.registries.schema.breadcrumbs": "Metaadat séma", + // "admin.registries.schema.description": "This is the metadata schema for \"{{namespace}}\".", "admin.registries.schema.description": "Ez a metaadat séma a következőhöz \"{{namespace}}\".", @@ -251,16 +292,16 @@ -// "admin.access-control.epeople.actions.delete": "Delete EPerson", +// "admin.access-control.epeople.actions.delete": "Delete EPerson", "admin.access-control.epeople.actions.delete": "EPerson törlése", -// "admin.access-control.epeople.actions.impersonate": "Impersonate EPerson", +// "admin.access-control.epeople.actions.impersonate": "Impersonate EPerson", "admin.access-control.epeople.actions.impersonate": "EPerson megszemélyesítése", -// "admin.access-control.epeople.actions.reset": "Reset password", +// "admin.access-control.epeople.actions.reset": "Reset password", "admin.access-control.epeople.actions.reset": "Jelszó visszaállítása", -// "admin.access-control.epeople.actions.stop-impersonating": "Stop impersonating EPerson", +// "admin.access-control.epeople.actions.stop-impersonating": "Stop impersonating EPerson", "admin.access-control.epeople.actions.stop-impersonating": "EPerson megszemélyesítésének befejezése", // "admin.access-control.epeople.title": "DSpace Angular :: EPeople", @@ -422,6 +463,13 @@ "admin.access-control.groups.notification.deleted.failure": "\"{{name}}\" csoport törlése nem sikerült", + +// "admin.access-control.groups.form.alert.permanent": "This group is permanent, so it can't be edited or deleted. You can still add and remove group members using this page.", + "admin.access-control.groups.form.alert.permanent": "Ez a csoport állandó, nem szerkeszthető vagy törölhető. Ugyanakor a csoporttagság szerkeszthető.", + +// "admin.access-control.groups.form.alert.workflowGroup": "This group can’t be modified or deleted because it corresponds to a role in the submission and workflow process in the \"{{name}}\" {{comcol}}. You can delete it from the \"assign roles\" tab on the edit {{comcol}} page. You can still add and remove group members using this page.", + "admin.access-control.groups.form.alert.workflowGroup": "A csoport nem módosítható vagy törölhető, mert használva van egy szerepkörben vagy egy folyamatban a(z) \"{{name}}\" {{comcol}} helyen. Törölheti a \"szerepkör hozzárendelése\" fülön a szerkesztés oldalon: {{comcol}}. Ugyanakkor ezen az oldalon, szerkesztheti a csoporttagokat.", + // "admin.access-control.groups.form.head.create": "Create group", "admin.access-control.groups.form.head.create": "Csoport létrehozása", @@ -621,6 +669,34 @@ +// "admin.metadata-import.breadcrumbs": "Import Metadata", + "admin.metadata-import.breadcrumbs": "Metaadat importálása", + +// "admin.metadata-import.title": "Import Metadata", + "admin.metadata-import.title": "Metaadat importálása", + +// "admin.metadata-import.page.header": "Import Metadata", + "admin.metadata-import.page.header": "Metaadat importálása", + +// "admin.metadata-import.page.help": "You can drop or browse CSV files that contain batch metadata operations on files here", + "admin.metadata-import.page.help": "Becsatolhat vagy kikereshet CSV fájlokat, amelyek az itt tárolt fájlokra vonatkozó műveleteket tárolnak", + +// "admin.metadata-import.page.dropMsg": "Drop a metadata CSV to import", + "admin.metadata-import.page.dropMsg": "Húzzon ide egy metaadat CSV-t az importáláshoz", + +// "admin.metadata-import.page.dropMsgReplace": "Drop to replace the metadata CSV to import", + "admin.metadata-import.page.dropMsgReplace": "Húzzon ide egy metaadat CSV-t az importálás felülírásához", + +// "admin.metadata-import.page.button.return": "Return", + "admin.metadata-import.page.button.return": "Vissza", + +// "admin.metadata-import.page.button.proceed": "Proceed", + "admin.metadata-import.page.button.proceed": "Folytassa", + +// "admin.metadata-import.page.error.addFile": "Select file first!", + "admin.metadata-import.page.error.addFile": "Előbb válassza ki a fájlt!", + + // "auth.errors.invalid-user": "Invalid email address or password.", "auth.errors.invalid-user": "Érvénytelen email cím, vagy jelszó.", @@ -989,6 +1065,38 @@ +// "collection.edit.template.add-button": "Add", + "collection.edit.template.add-button": "Hozzáad", + +// "collection.edit.template.breadcrumbs": "Item template", + "collection.edit.template.breadcrumbs": "Elemsablon", + +// "collection.edit.template.cancel": "Cancel", + "collection.edit.template.cancel": "Mégsem", + +// "collection.edit.template.delete-button": "Delete", + "collection.edit.template.delete-button": "Töröl", + +// "collection.edit.template.edit-button": "Edit", + "collection.edit.template.edit-button": "Szerkeszt", + +// "collection.edit.template.head": "Edit Template Item for Collection \"{{ collection }}\"", + "collection.edit.template.head": "Gyűjtemény elemsablon szerkesztése: \"{{ collection }}\"", + +// "collection.edit.template.label": "Template item", + "collection.edit.template.label": "Elemsablon", + +// "collection.edit.template.notifications.delete.error": "Failed to delete the item template", + "collection.edit.template.notifications.delete.error": "Nem sikerült törölni az elemsablont", + +// "collection.edit.template.notifications.delete.success": "Successfully deleted the item template", + "collection.edit.template.notifications.delete.success": "Sikeresen töröltük az elemsablont", + +// "collection.edit.template.title": "Edit Template Item", + "collection.edit.template.title": "Elemsablon szerkesztése", + + + // "collection.form.abstract": "Short Description", "collection.form.abstract": "Rövid leírás", @@ -1015,12 +1123,20 @@ +// "collection.listelement.badge": "Collection", + "collection.listelement.badge": "Gyűjtemény", + + + // "collection.page.browse.recent.head": "Recent Submissions", "collection.page.browse.recent.head": "Friss feltöltések", // "collection.page.browse.recent.empty": "No items to show", "collection.page.browse.recent.empty": "Nincs tárgy", +// "collection.page.edit": "Edit this collection", + "collection.page.edit": "Gyűjtemény szerkesztése", + // "collection.page.handle": "Permanent URI for this collection", "collection.page.handle": "Állandó URI ehhez a gyűjteményhez", @@ -1125,6 +1241,10 @@ // "community.edit.notifications.success": "Successfully edited the Community", "community.edit.notifications.success": "Közösség szerkesztése sikerült", +// "community.edit.notifications.unauthorized": "You do not have privileges to make this change", + +// "community.edit.notifications.error": "An error occured while editing the Community", + // "community.edit.return": "Return", "community.edit.return": "Vissza", @@ -1148,6 +1268,17 @@ // "community.edit.tabs.roles.title": "Community Edit - Roles", "community.edit.tabs.roles.title": "Közösség szerkesztése - Feladatok", +// "community.edit.tabs.authorizations.head": "Authorizations", + "community.edit.tabs.authorizations.head": "Jogosultásgok", + +// "community.edit.tabs.authorizations.title": "Community Edit - Authorizations", + "community.edit.tabs.authorizations.title": "Közösségi szerkesztés - Jogosultásgok", + + + +// "community.listelement.badge": "Community", + "community.listelement.badge": "Közösség", + // "comcol-role.edit.no-group": "None", @@ -1264,9 +1395,145 @@ +// "cookies.consent.accept-all": "Accept all", + "cookies.consent.accept-all": "Mind elfogad", + +// "cookies.consent.accept-selected": "Accept selected", + "cookies.consent.accept-selected": "Kiválasztottat elfogad", + +// "cookies.consent.app.opt-out.description": "This app is loaded by default (but you can opt out)", + "cookies.consent.app.opt-out.description": "Ez az app alaból betöltődik (de letilthatja)", + +// "cookies.consent.app.opt-out.title": "(opt-out)", + "cookies.consent.app.opt-out.title": "(letilt)", + +// "cookies.consent.app.purpose": "purpose", + "cookies.consent.app.purpose": "cél", + +// "cookies.consent.app.required.description": "This application is always required", + "cookies.consent.app.required.description": "Ez egy szükséges alkalmazás", + +// "cookies.consent.app.required.title": "(always required)", + "cookies.consent.app.required.title": "(mindig szükséges)", + +// "cookies.consent.update": "There were changes since your last visit, please update your consent.", + "cookies.consent.update": "Változások történtek az utolsó látogatása óta, frissítse a beleegyezését.", + +// "cookies.consent.close": "Close", + "cookies.consent.close": "Bezár", + +// "cookies.consent.decline": "Decline", + "cookies.consent.decline": "Elutasít", + +// "cookies.consent.content-notice.description": "We collect and process your personal information for the following purposes: Authentication, Preferences, Acknowledgement and Statistics.
To learn more, please read our {privacyPolicy}.", + "cookies.consent.content-notice.description": "Mi gyűjtjük és feldolgozzuk a személyes adatait a következő célból: Hitelesítés, Beállítások, Elismerés és Statisztikák.
Részletekért olvassa el: {privacyPolicy}.", + +// "cookies.consent.content-notice.learnMore": "Customize", + "cookies.consent.content-notice.learnMore": "Személyreszab", + +// "cookies.consent.content-modal.description": "Here you can see and customize the information that we collect about you.", + "cookies.consent.content-modal.description": "Itt láthatja és személyre szabhatja az Önről gyűjtött adatokat.", + +// "cookies.consent.content-modal.privacy-policy.name": "privacy policy", + "cookies.consent.content-modal.privacy-policy.name": "Adatvédelmi irányelvek", + +// "cookies.consent.content-modal.privacy-policy.text": "To learn more, please read our {privacyPolicy}.", + "cookies.consent.content-modal.privacy-policy.text": "Továbbiakért olvassa el: {privacyPolicy}.", + +// "cookies.consent.content-modal.title": "Information that we collect", + "cookies.consent.content-modal.title": "Gyűjtött adatok", + + + +// "cookies.consent.app.title.authentication": "Authentication", + "cookies.consent.app.title.authentication": "Hitelesítés", + +// "cookies.consent.app.description.authentication": "Required for signing you in", + "cookies.consent.app.description.authentication": "Szükséges a beléptetéséhez", + + +// "cookies.consent.app.title.preferences": "Preferences", + "cookies.consent.app.title.preferences": "Beállítások", + +// "cookies.consent.app.description.preferences": "Required for saving your preferences", + "cookies.consent.app.description.preferences": "Szükséges a beállítások mentéséhez", + + + +// "cookies.consent.app.title.acknowledgement": "Acknowledgement", + "cookies.consent.app.title.acknowledgement": "Elismerés", + +// "cookies.consent.app.description.acknowledgement": "Required for saving your acknowledgements and consents", + "cookies.consent.app.description.acknowledgement": "Szükséges az elismerésének és beleegyezésének a mentéséhez", + + + +// "cookies.consent.app.title.google-analytics": "Google Analytics", + "cookies.consent.app.title.google-analytics": "Google Analytics", + +// "cookies.consent.app.description.google-analytics": "Allows us to track statistical data", + "cookies.consent.app.description.google-analytics": "Engedélyezi statisztikai adatok gyűjtését", + + + +// "cookies.consent.purpose.functional": "Functional", + "cookies.consent.purpose.functional": "Funkcionális", + +// "cookies.consent.purpose.statistical": "Statistical", + "cookies.consent.purpose.statistical": "Statisztikai", + + +// "curation-task.task.checklinks.label": "Check Links in Metadata", + "curation-task.task.checklinks.label": "Hivatkozások ellenőrzése a metaadatokban", + +// "curation-task.task.noop.label": "NOOP", + "curation-task.task.noop.label": "NOOP", + +// "curation-task.task.profileformats.label": "Profile Bitstream Formats", + "curation-task.task.profileformats.label": "A profil bitfolyam formátumai", + +// "curation-task.task.requiredmetadata.label": "Check for Required Metadata", + "curation-task.task.requiredmetadata.label": "Szükséges metaadatok ellenőrzése", + +// "curation-task.task.translate.label": "Microsoft Translator", + "curation-task.task.translate.label": "Microsoft fordító", + +// "curation-task.task.vscan.label": "Virus Scan", + "curation-task.task.vscan.label": "Virus ellenőrzés", + + + +// "curation.form.task-select.label": "Task:", + "curation.form.task-select.label": "Feladat:", + +// "curation.form.submit": "Start", + "curation.form.submit": "Start", + +// "curation.form.submit.success.head": "The curation task has been started successfully", + "curation.form.submit.success.head": "A kurátor feladat siskersen elkezdődött", + +// "curation.form.submit.success.content": "You will be redirected to the corresponding process page.", + "curation.form.submit.success.content": "Át lesz irányítva a megfelelő folyamatoldalra.", + +// "curation.form.submit.error.head": "Running the curation task failed", + "curation.form.submit.error.head": "A kurátor feladat futtatása sikertelen", + +// "curation.form.submit.error.content": "An error occured when trying to start the curation task.", + "curation.form.submit.error.content": "Hiba történt a kurátor feladat elindításakor.", + +// "curation.form.handle.label": "Handle:", + "curation.form.handle.label": "Handle:", + +// "curation.form.handle.hint": "Hint: Enter [your-handle-prefix]/0 to run a task across entire site (not all tasks may support this capability)", + "curation.form.handle.hint": "Hint: Írja be a(z) [your-handle-prefix]/0 hogy futtasson egy feladatok az egész oldalon (nem minden feladat alakalmas a futtatásra)", + + + // "dso-selector.create.collection.head": "New collection", "dso-selector.create.collection.head": "Új gyűjtemény", +// "dso-selector.create.collection.sub-level": "Create a new collection in", + // "dso-selector.create.community.head": "New community", "dso-selector.create.community.head": "Új közösség", @@ -1279,6 +1546,12 @@ // "dso-selector.create.item.head": "New item", "dso-selector.create.item.head": "Új tárgy", +// "dso-selector.create.item.sub-level": "Create a new item in", + "dso-selector.create.item.sub-level": "Új elem létrehozása, itt", + +// "dso-selector.create.submission.head": "New submission", + "dso-selector.create.submission.head": "Új beküldés", + // "dso-selector.edit.collection.head": "Edit collection", "dso-selector.edit.collection.head": "Szerkessze a gyűjteményt", @@ -1288,6 +1561,9 @@ // "dso-selector.edit.item.head": "Edit item", "dso-selector.edit.item.head": "Szerkessze a tárgyat", +// "dso-selector.export-metadata.dspaceobject.head": "Export metadata from", + "dso-selector.export-metadata.dspaceobject.head": "Metaadat exportálása innen", + // "dso-selector.no-results": "No {{ type }} found", "dso-selector.no-results": "Nincs {{ type }} találat", @@ -1296,6 +1572,32 @@ +// "confirmation-modal.export-metadata.header": "Export metadata for {{ dsoName }}", + "confirmation-modal.export-metadata.header": "Metaadat exportálásának célja {{ dsoName }}", + +// "confirmation-modal.export-metadata.info": "Are you sure you want to export metadata for {{ dsoName }}", + "confirmation-modal.export-metadata.info": "Biztos benne, hogy exportálni szeretné a metaadatok a követkő céllal: {{ dsoName }}", + +// "confirmation-modal.export-metadata.cancel": "Cancel", + "confirmation-modal.export-metadata.cancel": "Mégsem", + +// "confirmation-modal.export-metadata.confirm": "Export", + "confirmation-modal.export-metadata.confirm": "Export", + +// "confirmation-modal.delete-eperson.header": "Delete EPerson \"{{ dsoName }}\"", + "confirmation-modal.delete-eperson.header": "EPerson törlése \"{{ dsoName }}\"", + +// "confirmation-modal.delete-eperson.info": "Are you sure you want to delete EPerson \"{{ dsoName }}\"", + "confirmation-modal.delete-eperson.info": "Biztos benne, hogy törli: EPerson \"{{ dsoName }}\"", + +// "confirmation-modal.delete-eperson.cancel": "Cancel", + "confirmation-modal.delete-eperson.cancel": "Mégsem", + +// "confirmation-modal.delete-eperson.confirm": "Delete", + "confirmation-modal.delete-eperson.confirm": "Töröl", + + + // "error.bitstream": "Error fetching bitstream", "error.bitstream": "Bitfolyam megjelenítése közben hiba történt", @@ -1355,6 +1657,11 @@ +// "file-section.error.header": "Error obtaining files for this item", + "file-section.error.header": "Hiba történ az elemhez tartozó fájlok beszerzésekor", + + + // "footer.copyright": "copyright © 2002-{{ year }}", "footer.copyright": "szerzői jog © 2002-{{ year }}", @@ -1364,6 +1671,98 @@ // "footer.link.duraspace": "DuraSpace", "footer.link.duraspace": "DuraSpace", +// "footer.link.cookies": "Cookie settings", + "footer.link.cookies": "Süti beállítások", + +// "footer.link.privacy-policy": "Privacy policy", + "footer.link.privacy-policy": "Privacy policy", + +// "footer.link.end-user-agreement":"End User Agreement", + "footer.link.end-user-agreement":"End User Agreement", + + + +// "forgot-email.form.header": "Forgot Password", + "forgot-email.form.header": "Elfelejtettem a jelszót", + +// "forgot-email.form.info": "Enter Register an account to subscribe to collections for email updates, and submit new items to DSpace.", + "forgot-email.form.info": "Lépjen be a Fiók létrehozásába, hogy feliratkozhasson gyűjtemények e-mail értesítésére, és új elemeket tölthessen fel a DSpace-be.", + +// "forgot-email.form.email": "Email Address *", + "forgot-email.form.email": "Email Cím *", + +// "forgot-email.form.email.error.required": "Please fill in an email address", + "forgot-email.form.email.error.required": "Írjon be egy e-mail címet", + +// "forgot-email.form.email.error.pattern": "Please fill in a valid email address", + "forgot-email.form.email.error.pattern": "Írjon be egy érvényes e-mail címet", + +// "forgot-email.form.email.hint": "This address will be verified and used as your login name.", + "forgot-email.form.email.hint": "Ellenőrizni fogjuk a címet és ezt fogja használni a bejelentkezéshez.", + +// "forgot-email.form.submit": "Submit", + "forgot-email.form.submit": "Beküld", + +// "forgot-email.form.success.head": "Verification email sent", + "forgot-email.form.success.head": "Ellenőrző e-mail kiküldve", + +// "forgot-email.form.success.content": "An email has been sent to {{ email }} containing a special URL and further instructions.", + "forgot-email.form.success.content": "Egy levél ki lett küldve a(z) {{ email }} címre, ami tartalmaz egy speciális hivatkozást a következő lépéshez.", + +// "forgot-email.form.error.head": "Error when trying to register email", + "forgot-email.form.error.head": "Hiba történt az e-mail cím regisztrációjánál", + +// "forgot-email.form.error.content": "An error occured when registering the following email address: {{ email }}", + "forgot-email.form.error.content": "Hiba történt a következő e-mail cím regisztrációjánál: {{ email }}", + + + +// "forgot-password.title": "Forgot Password", + "forgot-password.title": "Elfelejtettem a jelszót", + +// "forgot-password.form.head": "Forgot Password", + "forgot-password.form.head": "Elfelejtettem a jelszót", + +// "forgot-password.form.info": "Enter a new password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", + "forgot-password.form.info": "Írjon be egy új jelszót a lenti mezőbe, és igazolja a második mezőbe újraírva azt. Legalább hat karakter hosszú kell legyen.", + +// "forgot-password.form.card.security": "Security", + "forgot-password.form.card.security": "Biztonság", + +// "forgot-password.form.identification.header": "Identify", + "forgot-password.form.identification.header": "Azonosítás", + +// "forgot-password.form.identification.email": "Email address: ", + "forgot-password.form.identification.email": "E-mail cím: ", + +// "forgot-password.form.label.password": "Password", + "forgot-password.form.label.password": "Jelszó", + +// "forgot-password.form.label.passwordrepeat": "Retype to confirm", + "forgot-password.form.label.passwordrepeat": "Írja újra a visszaigazoláshoz", + +// "forgot-password.form.error.empty-password": "Please enter a password in the box below.", + "forgot-password.form.error.empty-password": "Írja be a jelszót a lenti mezőbe.", + +// "forgot-password.form.error.matching-passwords": "The passwords do not match.", + "forgot-password.form.error.matching-passwords": "A jelszavak nem egyeznek.", + +// "forgot-password.form.error.password-length": "The password should be at least 6 characters long.", + "forgot-password.form.error.password-length": "A jelszó legalább 6 karakter hosszú kell legyen.", + +// "forgot-password.form.notification.error.title": "Error when trying to submit new password", + "forgot-password.form.notification.error.title": "Hiba történt a jelszó beküldésekor", + +// "forgot-password.form.notification.success.content": "The password reset was successful. You have been logged in as the created user.", + "forgot-password.form.notification.success.content": "A jelszóvisszaállítás sikeres volt. Beléphet a létrehozott felhasználóval.", + +// "forgot-password.form.notification.success.title": "Password reset completed", + "forgot-password.form.notification.success.title": "Jelszóvisszaállítás befejeződött", + +// "forgot-password.form.submit": "Submit password", + "forgot-password.form.submit": "Jelszó beküldése", + + // "form.add": "Add", "form.add": "Hozzáadás", @@ -1445,6 +1844,9 @@ // "home.description": "", "home.description": "", +// "home.breadcrumbs": "Home", + "home.breadcrumbs": "Haza", + // "home.title": "DSpace Angular :: Home", "home.title": "DSpace Angular :: Haza", @@ -1456,14 +1858,65 @@ -// "item.edit.authorizations.heading": "With this editor you can view and alter the policies of an item, plus alter policies of individual item components: bundles and bitstreams. Briefly, an item is a container of bundles, and bundles are containers of bitstreams. Containers usually have ADD/REMOVE/READ/WRITE policies, while bitstreams only have READ/WRITE policies.", +// "info.end-user-agreement.accept": "I have read and I agree to the End User Agreement", + "info.end-user-agreement.accept": "Elolvastam és elfogadom a felhasználói feltételeket", + +// "info.end-user-agreement.accept.error": "An error occurred accepting the End User Agreement", + "info.end-user-agreement.accept.error": "Hiba történt a felhasználói feltételek elfogadásakor", + +// "info.end-user-agreement.accept.success": "Successfully updated the End User Agreement", + "info.end-user-agreement.accept.success": "Sikeresen frissítette a felhasználói feltételeket", + +// "info.end-user-agreement.breadcrumbs": "End User Agreement", + "info.end-user-agreement.breadcrumbs": "Felhasználói feltételek", + +// "info.end-user-agreement.buttons.cancel": "Cancel", + "info.end-user-agreement.buttons.cancel": "Mégsem", + +// "info.end-user-agreement.buttons.save": "Save", + "info.end-user-agreement.buttons.save": "Mentés", + +// "info.end-user-agreement.head": "End User Agreement", + "info.end-user-agreement.head": "Felhasználói feltételek", + +// "info.end-user-agreement.title": "End User Agreement", + "info.end-user-agreement.title": "Felhasználói feltételek", + +// "info.privacy.breadcrumbs": "Privacy Statement", + "info.privacy.breadcrumbs": "Adatvédelmi nyilatkozat", + +// "info.privacy.head": "Privacy Statement", + "info.privacy.head": "Adatvédelmi nyilatkozat", + +// "info.privacy.title": "Privacy Statement", + "info.privacy.title": "Adatvédelmi nyilatkozat", + + + +// "item.alerts.private": "This item is private", + "item.alerts.private": "Ez az elem privát", + +// "item.alerts.withdrawn": "This item has been withdrawn", + "item.alerts.withdrawn": "Ez az elem vissza lett vonva", + + + +// "item.edit.authorizations.heading": "With this editor you can view and alter the policies of an item, plus alter policies of individual item components: bundles and bitstreams. Briefly, an item is a container of bundles, and bundles are containers of bitstreams. Containers usually have ADD/REMOVE/READ/WRITE policies, while bitstreams only have READ/WRITE policies.", "item.edit.authorizations.heading": "Evvel a szerkesztővel megnézheti vagy szerkesztheti egy elem jogosutságát, és szerkesztheti egy egyedi elem componenseinek jogosutságát: bundles és bitstreams. Röviden, egy elem a kötegek gyűjteménye, és a kötegek a bitsteramek gyűjteménye. A kötegeknek többnyire van ADD/REMOVE/READ/WRITE jogosultsága, miközben a bitstreameknek csak READ/WRITE jogosultsága.", -// "item.edit.authorizations.title": "Edit item's Policies", +// "item.edit.authorizations.title": "Edit item's Policies", "item.edit.authorizations.title": "Jogosultásgok elem szerkesztése", +// "item.badge.private": "Private", + "item.badge.private": "Privát", + +// "item.badge.withdrawn": "Withdrawn", + "item.badge.withdrawn": "Visszavont", + + + // "item.bitstreams.upload.bundle": "Bundle", "item.bitstreams.upload.bundle": "Csomag", @@ -1844,12 +2297,18 @@ // "item.edit.relationships.discard-button": "Discard", "item.edit.relationships.discard-button": "Elvetés", +// "item.edit.relationships.edit.buttons.add": "Add", + "item.edit.relationships.edit.buttons.add": "Hozzáad", + // "item.edit.relationships.edit.buttons.remove": "Remove", "item.edit.relationships.edit.buttons.remove": "Eltávolítás", // "item.edit.relationships.edit.buttons.undo": "Undo changes", "item.edit.relationships.edit.buttons.undo": "Visszamódosítás", +// "item.edit.relationships.no-relationships": "No relationships", + "item.edit.relationships.no-relationships": "Nincs kapcsolat", + // "item.edit.relationships.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", "item.edit.relationships.notifications.discarded.content": "Módosításai elvetve. Visszaállításukhoz kattintson a 'Visszaállítás' gombra", @@ -1877,6 +2336,9 @@ // "item.edit.relationships.save-button": "Save", "item.edit.relationships.save-button": "Mentés", +// "item.edit.relationships.no-entity-type": "Add 'relationship.type' metadata to enable relationships for this item", + "item.edit.relationships.no-entity-type": "Adja hozzá a 'relationship.type' metaadatot ezen elem hivatkozásánek engedélyezéséhez", + // "item.edit.tabs.bitstreams.head": "Bitstreams", @@ -2009,6 +2471,38 @@ +// "item.listelement.badge": "Item", + "item.listelement.badge": "Elem", + +// "item.page.description": "Description", + "item.page.description": "Leírás", + +// "item.page.edit": "Edit this item", + "item.page.edit": "Elem szerkesztése", + +// "item.page.journal-issn": "Journal ISSN", + "item.page.journal-issn": "Folyóirat ISSN", + +// "item.page.journal-title": "Journal Title", + "item.page.journal-title": "Folyóirat címe", + +// "item.page.publisher": "Publisher", + "item.page.publisher": "Kiadó", + +// "item.page.titleprefix": "Item: ", + "item.page.titleprefix": "Elem: ", + +// "item.page.volume-title": "Volume Title", + "item.page.volume-title": "Kötet címe", + +// "item.search.results.head": "Item Search Results", + "item.search.results.head": "Elem keresésének eredménye", + +// "item.search.title": "DSpace Angular :: Item Search", + "item.search.title": "DSpace Angular :: Elem Keresése", + + + // "item.page.abstract": "Abstract", "item.page.abstract": "Kivonat", @@ -2078,6 +2572,50 @@ // "item.page.uri": "URI", "item.page.uri": "URI", +// "item.page.bitstreams.view-more": "Show more", + "item.page.bitstreams.view-more": "Mutass többet", + +// "item.page.bitstreams.collapse": "Collapse", + "item.page.bitstreams.collapse": "Bezár", + +// "item.page.filesection.original.bundle" : "Original bundle", + "item.page.filesection.original.bundle" : "Eredeti csomag", + +// "item.page.filesection.license.bundle" : "License bundle", + "item.page.filesection.license.bundle" : "Licenccsomag", + +// "item.preview.dc.identifier.uri": "Identifier:", + "item.preview.dc.identifier.uri": "Azonosító:", + +// "item.preview.dc.contributor.author": "Authors:", + "item.preview.dc.contributor.author": "Szerzők:", + +// "item.preview.dc.date.issued": "Published date:", + "item.preview.dc.date.issued": "Kiadás dátuma:", + +// "item.preview.dc.description.abstract": "Abstract:", + "item.preview.dc.description.abstract": "Kivonat:", + +// "item.preview.dc.identifier.other": "Other identifier:", + "item.preview.dc.identifier.other": "Más azonosító:", + +// "item.preview.dc.language.iso": "Language:", + "item.preview.dc.language.iso": "Nyelv:", + +// "item.preview.dc.subject": "Subjects:", + "item.preview.dc.subject": "Téma:", + +// "item.preview.dc.title": "Title:", + "item.preview.dc.title": "Cím:", + +// "item.preview.person.familyName": "Surname:", + "item.preview.person.familyName": "Keresztnév:", + +// "item.preview.person.givenName": "Name:", + "item.preview.person.givenName": "Vezetéknév:", + +// "item.preview.person.identifier.orcid": "ORCID:", + "item.preview.person.identifier.orcid": "ORCID:", // "item.select.confirm": "Confirm selected", @@ -2463,6 +3001,9 @@ // "menu.section.new_item_version": "Item Version", "menu.section.new_item_version": "Tárgy változat", +// "menu.section.new_process": "Process", + "menu.section.new_process": "Folyamat", + // "menu.section.pin": "Pin sidebar", @@ -2473,8 +3014,13 @@ +// "menu.section.processes": "Processes", + "menu.section.processes": "Folyamatok", + + + // "menu.section.registries": "Registries", - "menu.section.registries": "leíró adatbázisok", + "menu.section.registries": "Leíró adatbázisok", // "menu.section.registries_format": "Format", "menu.section.registries_format": "Formátum", @@ -2530,8 +3076,8 @@ // "mydspace.description": "", "mydspace.description": "", -// "mydspace.general.text-here": "HERE", - "mydspace.general.text-here": "ITT", +// "mydspace.general.text-here": "here", + "mydspace.general.text-here": "itt", // "mydspace.messages.controller-help": "Select this option to send a message to item's submitter.", "mydspace.messages.controller-help": "Válassza ezt, hogy üzenjen a tárgy feltöltőjének.", @@ -2629,6 +3175,12 @@ // "mydspace.upload.upload-failed": "Error creating new workspace. Please verify the content uploaded before retry.", "mydspace.upload.upload-failed": "Új munkafelület létrehozásakor hiba történt. Kérjük ellenőrizze a tartalmat mielőtt újra próbálkozna.", +// "mydspace.upload.upload-failed-manyentries": "Unprocessable file. Detected too many entries but allowed only one for file.", + "mydspace.upload.upload-failed-manyentries": "Feldolgozhatalan fájl. Több elem észlelve, de fájlonként csak egy engedélyezve.", + +// "mydspace.upload.upload-failed-moreonefile": "Unprocessable request. Only one file is allowed.", + "mydspace.upload.upload-failed-moreonefile": "Feldolgozhatalan kérés. Csak egy fájl van engedélyezve.", + // "mydspace.upload.upload-multiple-successful": "{{qty}} new workspace items created.", "mydspace.upload.upload-multiple-successful": "{{qty}} Új munkafelület tárgyak létrehozva.", @@ -2667,7 +3219,7 @@ // "nav.statistics.header": "Statistics", "nav.statistics.header": "Statisztika", -// "nav.stop-impersonating": "Stop impersonating EPerson", +// "nav.stop-impersonating": "Stop impersonating EPerson", "nav.stop-impersonating": "EPerson megszemélyesítésének leállítása", @@ -2687,6 +3239,9 @@ // "orgunit.page.description": "Description", "orgunit.page.description": "Leírás", +// "orgunit.page.edit": "Edit this item", + "orgunit.page.edit": "Elem szerkesztése", + // "orgunit.page.id": "ID", "orgunit.page.id": "Azonosító", @@ -2747,6 +3302,141 @@ +// "process.new.select-parameters": "Parameters", + "process.new.select-parameters": "Paraméterek", + +// "process.new.cancel": "Cancel", + "process.new.cancel": "Mégsem", + +// "process.new.submit": "Submit", + "process.new.submit": "Beküld", + +// "process.new.select-script": "Script", + "process.new.select-script": "Szkript", + +// "process.new.select-script.placeholder": "Choose a script...", + "process.new.select-script.placeholder": "Szkript kiválasztása...", + +// "process.new.select-script.required": "Script is required", + "process.new.select-script.required": "Szkript szükséges", + +// "process.new.parameter.file.upload-button": "Select file...", + "process.new.parameter.file.upload-button": "Fájl kiválasztása...", + +// "process.new.parameter.file.required": "Please select a file", + "process.new.parameter.file.required": "Kérem válasszon egy fájlt", + +// "process.new.parameter.string.required": "Parameter value is required", + "process.new.parameter.string.required": "Szüséges egy paraméter érték", + +// "process.new.parameter.type.value": "value", + "process.new.parameter.type.value": "érték", + +// "process.new.parameter.type.file": "file", + "process.new.parameter.type.file": "fájl", + +// "process.new.parameter.required.missing": "The following parameters are required but still missing:", + "process.new.parameter.required.missing": "A következő paraméter szükséges:", + +// "process.new.notification.success.title": "Success", + "process.new.notification.success.title": "Sikerült", + +// "process.new.notification.success.content": "The process was successfully created", + "process.new.notification.success.content": "A folyamat sikeresen létrehozva", + +// "process.new.notification.error.title": "Error", + "process.new.notification.error.title": "Hiba", + +// "process.new.notification.error.content": "An error occurred while creating this process", + "process.new.notification.error.content": "Hiba történt a folyamat létrehozásakor", + +// "process.new.header": "Create a new process", + "process.new.header": "Új folyamat létrehozása", + +// "process.new.title": "Create a new process", + "process.new.title": "Új folyamat létrehozása", + +// "process.new.breadcrumbs": "Create a new process", + "process.new.breadcrumbs": "Új folyamat létrehozása", + + + +// "process.detail.arguments" : "Arguments", + "process.detail.arguments" : "Érvek", + +// "process.detail.arguments.empty" : "This process doesn't contain any arguments", + "process.detail.arguments.empty" : "Ez a folyamat nem tartalmaz érveket", + +// "process.detail.back" : "Back", + "process.detail.back" : "Vissza", + +// "process.detail.output" : "Process Output", + "process.detail.output" : "Folyamat eredménye", + +// "process.detail.logs.button": "Retrieve process output", + "process.detail.logs.button": "Folyamatkimenet lekérése", + +// "process.detail.logs.loading": "Retrieving", + "process.detail.logs.loading": "Lekérés", + +// "process.detail.logs.none": "This process has no output", + "process.detail.logs.none": "Ennek a folyamatnak nincs kimenete", + +// "process.detail.output-files" : "Output Files", + "process.detail.output-files" : "Kimeneti fájlok", + +// "process.detail.output-files.empty" : "This process doesn't contain any output files", + "process.detail.output-files.empty" : "Ennek a folyamatnak nincsenek kimeneti fájljai", + +// "process.detail.script" : "Script", + "process.detail.script" : "Szkript", + +// "process.detail.title" : "Process: {{ id }} - {{ name }}", + "process.detail.title" : "Folyamat: {{ id }} - {{ name }}", + +// "process.detail.start-time" : "Start time", + "process.detail.start-time" : "Kezdési idő", + +// "process.detail.end-time" : "Finish time", + "process.detail.end-time" : "Végzési idő", + +// "process.detail.status" : "Status", + "process.detail.status" : "Állapot", + +// "process.detail.create" : "Create similar process", + "process.detail.create" : "Hasonló folyamat létrehozása", + + + +// "process.overview.table.finish" : "Finish time", + "process.overview.table.finish" : "Végzési idő", + +// "process.overview.table.id" : "Process ID", + "process.overview.table.id" : "Folyamat ID", + +// "process.overview.table.name" : "Name", + "process.overview.table.name" : "Név", + +// "process.overview.table.start" : "Start time", + "process.overview.table.start" : "Kezdési idő", + +// "process.overview.table.status" : "Status", + "process.overview.table.status" : "Állapot", + +// "process.overview.table.user" : "User", + "process.overview.table.user" : "Felhasználó", + +// "process.overview.title": "Processes Overview", + "process.overview.title": "Folyaamt áttekintő", + +// "process.overview.breadcrumbs": "Processes Overview", + "process.overview.breadcrumbs": "Folyamat áttekintő", + +// "process.overview.new": "New", + "process.overview.new": "Új", + + + // "profile.breadcrumbs": "Update Profile", "profile.breadcrumbs": "Profil frissítése", @@ -2928,6 +3618,9 @@ // "project.page.description": "Description", "project.page.description": "Leírás", +// "project.page.edit": "Edit this item", + "project.page.edit": "Elem szerkesztése", + // "project.page.expectedcompletion": "Expected Completion", "project.page.expectedcompletion": "Várható befejezés", @@ -2957,6 +3650,9 @@ // "publication.page.description": "Description", "publication.page.description": "Leírás", +// "publication.page.edit": "Edit this item", + "publication.page.edit": "Elem szerkesztése", + // "publication.page.journal-issn": "Journal ISSN", "publication.page.journal-issn": "Folyóirat ISSN", @@ -2980,6 +3676,108 @@ +// "register-email.title": "New user registration", + "register-email.title": "Új felhasználó regisztrálása", + +// "register-page.create-profile.header": "Create Profile", + "register-page.create-profile.header": "Profil létrehozása", + +// "register-page.create-profile.identification.header": "Identify", + "register-page.create-profile.identification.header": "Azonosítás", + +// "register-page.create-profile.identification.email": "Email Address", + "register-page.create-profile.identification.email": "E-mail cím", + +// "register-page.create-profile.identification.first-name": "First Name *", + "register-page.create-profile.identification.first-name": "Keresztnév *", + +// "register-page.create-profile.identification.first-name.error": "Please fill in a First Name", + "register-page.create-profile.identification.first-name.error": "Írja be a keresztnevet", + +// "register-page.create-profile.identification.last-name": "Last Name *", + "register-page.create-profile.identification.last-name": "Családnév *", + +// "register-page.create-profile.identification.last-name.error": "Please fill in a Last Name", + "register-page.create-profile.identification.last-name.error": "Írja be a családnevet", + +// "register-page.create-profile.identification.contact": "Contact Telephone", + "register-page.create-profile.identification.contact": "Telefonszám", + +// "register-page.create-profile.identification.language": "Language", + "register-page.create-profile.identification.language": "Nyelv", + +// "register-page.create-profile.security.header": "Security", + "register-page.create-profile.security.header": "Biztonság", + +// "register-page.create-profile.security.info": "Please enter a password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", + "register-page.create-profile.security.info": "Írjon be egy jelszót a lenti mezőbe, és írja be újra az alatta levőbe. Legalább hat karakter hosszú kell legyen.", + +// "register-page.create-profile.security.label.password": "Password *", + "register-page.create-profile.security.label.password": "Jelszó *", + +// "register-page.create-profile.security.label.passwordrepeat": "Retype to confirm *", + "register-page.create-profile.security.label.passwordrepeat": "Jelszó visszaigazolása *", + +// "register-page.create-profile.security.error.empty-password": "Please enter a password in the box below.", + "register-page.create-profile.security.error.empty-password": "Írja be a jelszót a lenti mezőbe.", + +// "register-page.create-profile.security.error.matching-passwords": "The passwords do not match.", + "register-page.create-profile.security.error.matching-passwords": "A jelszavak nem egyeznek.", + +// "register-page.create-profile.security.error.password-length": "The password should be at least 6 characters long.", + "register-page.create-profile.security.error.password-length": "A jelszó legalább 6 karakter hosszú kell legyen.", + +// "register-page.create-profile.submit": "Complete Registration", + "register-page.create-profile.submit": "Regisztráció befejezése", + +// "register-page.create-profile.submit.error.content": "Something went wrong while registering a new user.", + "register-page.create-profile.submit.error.content": "Hiba történt a regisztrációs folyamat során.", + +// "register-page.create-profile.submit.error.head": "Registration failed", + "register-page.create-profile.submit.error.head": "Hibás regisztráció", + +// "register-page.create-profile.submit.success.content": "The registration was successful. You have been logged in as the created user.", + "register-page.create-profile.submit.success.content": "Sikeres regisztráció. Beléphet a létrehozott felhasználóval.", + +// "register-page.create-profile.submit.success.head": "Registration completed", + "register-page.create-profile.submit.success.head": "Sikeres regisztráció", + + +// "register-page.registration.header": "New user registration", + "register-page.registration.header": "Új felhasználó regisztrálása", + +// "register-page.registration.info": "Register an account to subscribe to collections for email updates, and submit new items to DSpace.", + "register-page.registration.info": "Hozzon létre egy felhasználót, hogy feliratkozhasson gyűjtemények e-mail értesítésére, és új elemeket tölthessen fel a DSpace-be.", + +// "register-page.registration.email": "Email Address *", + "register-page.registration.email": "E-mail cím *", + +// "register-page.registration.email.error.required": "Please fill in an email address", + "register-page.registration.email.error.required": "Töltse ki az e-mail címet", + +// "register-page.registration.email.error.pattern": "Please fill in a valid email address", + "register-page.registration.email.error.pattern": "Írjon be egy érvényes e-mail címet", + +// "register-page.registration.email.hint": "This address will be verified and used as your login name.", + "register-page.registration.email.hint": "Az e-mail cím ellenőrizve lesz és evvel tud belépni a rendszerbe.", + +// "register-page.registration.submit": "Register", + "register-page.registration.submit": "Regisztráció", + +// "register-page.registration.success.head": "Verification email sent", + "register-page.registration.success.head": "Ellenőrző e-mail elküldve", + +// "register-page.registration.success.content": "An email has been sent to {{ email }} containing a special URL and further instructions.", + "register-page.registration.success.content": "Egy e-mail elküldve a(z) {{ email }} címre, tartalmaz egy speciális címet a további utasításokhoz.", + +// "register-page.registration.error.head": "Error when trying to register email", + "register-page.registration.error.head": "Hiba történt az e-mail cím regisztrációjakor", + +// "register-page.registration.error.content": "An error occured when registering the following email address: {{ email }}", + "register-page.registration.error.content": "Hiba történt a következő e-mail cím regisztrációjakor: {{ email }}", + + + // "relationships.isAuthorOf": "Authors", "relationships.isAuthorOf": "Szerzők", @@ -3027,138 +3825,140 @@ // "resource-policies.add.for.": "Add a new policy", "resource-policies.add.for.": "Új szabály", -// "resource-policies.add.for.bitstream": "Add a new Bitstream policy", +// "resource-policies.add.for.bitstream": "Add a new Bitstream policy", "resource-policies.add.for.bitstream": "Új Bitstream szabály", -// "resource-policies.add.for.bundle": "Add a new Bundle policy", +// "resource-policies.add.for.bundle": "Add a new Bundle policy", "resource-policies.add.for.bundle": "Új Bundle szabály", -// "resource-policies.add.for.item": "Add a new Item policy", +// "resource-policies.add.for.item": "Add a new Item policy", "resource-policies.add.for.item": "Új elem szabály", -// "resource-policies.create.page.heading": "Create new resource policy for ", +// "resource-policies.create.page.heading": "Create new resource policy for ", "resource-policies.create.page.heading": "Új erőforráa szabály ...", -// "resource-policies.create.page.failure.content": "An error occurred while creating the resource policy.", +// "resource-policies.create.page.failure.content": "An error occurred while creating the resource policy.", "resource-policies.create.page.failure.content": "Hiba történt az erőforrás szabály létrehozásakor.", -// "resource-policies.create.page.success.content": "Operation successful", +// "resource-policies.create.page.success.content": "Operation successful", "resource-policies.create.page.success.content": "A művelet sikeres", -// "resource-policies.create.page.title": "Create new resource policy", +// "resource-policies.create.page.title": "Create new resource policy", "resource-policies.create.page.title": "Új erőforráa szabály", -// "resource-policies.delete.btn": "Delete selected", +// "resource-policies.delete.btn": "Delete selected", "resource-policies.delete.btn": "Kijelöltek törlése", -// "resource-policies.delete.btn.title": "Delete selected resource policies", +// "resource-policies.delete.btn.title": "Delete selected resource policies", "resource-policies.delete.btn.title": "Kijelölt erőforrás szabályok törlése", -// "resource-policies.delete.failure.content": "An error occurred while deleting selected resource policies.", +// "resource-policies.delete.failure.content": "An error occurred while deleting selected resource policies.", "resource-policies.delete.failure.content": "Hiba történt az erőforrás szabályok törlésekor.", -// "resource-policies.delete.success.content": "Operation successful", +// "resource-policies.delete.success.content": "Operation successful", "resource-policies.delete.success.content": "A művelet sikeres", -// "resource-policies.edit.page.heading": "Edit resource policy ", +// "resource-policies.edit.page.heading": "Edit resource policy ", "resource-policies.edit.page.heading": "Erőfforás szabály szerkesztése ", -// "resource-policies.edit.page.failure.content": "An error occurred while editing the resource policy.", +// "resource-policies.edit.page.failure.content": "An error occurred while editing the resource policy.", "resource-policies.edit.page.failure.content": "Hiba történt az erőforrás szabály szerkesztésekor.", -// "resource-policies.edit.page.success.content": "Operation successful", +// "resource-policies.edit.page.success.content": "Operation successful", "resource-policies.edit.page.success.content": "A művelet sikeres", -// "resource-policies.edit.page.title": "Edit resource policy", +// "resource-policies.edit.page.title": "Edit resource policy", "resource-policies.edit.page.title": "Erőfforás szabály szerkesztése", -// "resource-policies.form.action-type.label": "Select the action type", +// "resource-policies.form.action-type.label": "Select the action type", "resource-policies.form.action-type.label": "Művelet típus kiválasztása", -// "resource-policies.form.action-type.required": "You must select the resource policy action.", +// "resource-policies.form.action-type.required": "You must select the resource policy action.", "resource-policies.form.action-type.required": "Ki kell válasszon egy műveletet.", -// "resource-policies.form.eperson-group-list.label": "The eperson or group that will be grant of the permission", +// "resource-policies.form.eperson-group-list.label": "The eperson or group that will be grant of the permission", "resource-policies.form.eperson-group-list.label": "Az eperson vagy csoport amihez rendeli a jogosultságot", -// "resource-policies.form.eperson-group-list.select.btn": "Select", +// "resource-policies.form.eperson-group-list.select.btn": "Select", "resource-policies.form.eperson-group-list.select.btn": "Kiválaszt", -// "resource-policies.form.eperson-group-list.tab.eperson": "Search for a ePerson", +// "resource-policies.form.eperson-group-list.tab.eperson": "Search for a ePerson", "resource-policies.form.eperson-group-list.tab.eperson": "ePerson keresése", -// "resource-policies.form.eperson-group-list.tab.group": "Search for a group", +// "resource-policies.form.eperson-group-list.tab.group": "Search for a group", "resource-policies.form.eperson-group-list.tab.group": "Csoport keresése", -// "resource-policies.form.eperson-group-list.table.headers.action": "Action", +// "resource-policies.form.eperson-group-list.table.headers.action": "Action", "resource-policies.form.eperson-group-list.table.headers.action": "Művelet", -// "resource-policies.form.eperson-group-list.table.headers.id": "ID", +// "resource-policies.form.eperson-group-list.table.headers.id": "ID", "resource-policies.form.eperson-group-list.table.headers.id": "ID", -// "resource-policies.form.eperson-group-list.table.headers.name": "Name", +// "resource-policies.form.eperson-group-list.table.headers.name": "Name", "resource-policies.form.eperson-group-list.table.headers.name": "Név", -// "resource-policies.form.date.end.label": "End Date", +// "resource-policies.form.date.end.label": "End Date", "resource-policies.form.date.end.label": "Végső dátum", -// "resource-policies.form.date.start.label": "Start Date", +// "resource-policies.form.date.start.label": "Start Date", "resource-policies.form.date.start.label": "Kezdő dátum", -// "resource-policies.form.description.label": "Description", +// "resource-policies.form.description.label": "Description", "resource-policies.form.description.label": "Leírás", -// "resource-policies.form.name.label": "Name", +// "resource-policies.form.name.label": "Name", "resource-policies.form.name.label": "Név", -// "resource-policies.form.policy-type.label": "Select the policy type", +// "resource-policies.form.policy-type.label": "Select the policy type", "resource-policies.form.policy-type.label": "Szabály típus kiválasztása", -// "resource-policies.form.policy-type.required": "You must select the resource policy type.", +// "resource-policies.form.policy-type.required": "You must select the resource policy type.", "resource-policies.form.policy-type.required": "Ki kell válasszon egy szabálytípust.", -// "resource-policies.table.headers.action": "Action", +// "resource-policies.table.headers.action": "Action", "resource-policies.table.headers.action": "Művelet", -// "resource-policies.table.headers.date.end": "End Date", +// "resource-policies.table.headers.date.end": "End Date", "resource-policies.table.headers.date.end": "Végső dátum", -// "resource-policies.table.headers.date.start": "Start Date", +// "resource-policies.table.headers.date.start": "Start Date", "resource-policies.table.headers.date.start": "Kezdő dátum", -// "resource-policies.table.headers.edit": "Edit", +// "resource-policies.table.headers.edit": "Edit", "resource-policies.table.headers.edit": "Szerkeszt", -// "resource-policies.table.headers.edit.group": "Edit group", +// "resource-policies.table.headers.edit.group": "Edit group", "resource-policies.table.headers.edit.group": "Csoport módosítása", -// "resource-policies.table.headers.edit.policy": "Edit policy", +// "resource-policies.table.headers.edit.policy": "Edit policy", "resource-policies.table.headers.edit.policy": "Szabály módosítása", -// "resource-policies.table.headers.eperson": "EPerson", +// "resource-policies.table.headers.eperson": "EPerson", "resource-policies.table.headers.eperson": "EPerson", -// "resource-policies.table.headers.group": "Group", +// "resource-policies.table.headers.group": "Group", "resource-policies.table.headers.group": "Csoport", -// "resource-policies.table.headers.id": "ID", +// "resource-policies.table.headers.id": "ID", "resource-policies.table.headers.id": "ID", -// "resource-policies.table.headers.name": "Name", +// "resource-policies.table.headers.name": "Name", "resource-policies.table.headers.name": "Név", -// "resource-policies.table.headers.policyType": "type", +// "resource-policies.table.headers.policyType": "type", "resource-policies.table.headers.policyType": "típus", -// "resource-policies.table.headers.title.for.bitstream": "Policies for Bitstream", +// "resource-policies.table.headers.title.for.bitstream": "Policies for Bitstream", "resource-policies.table.headers.title.for.bitstream": "Bitstream szabály", -// "resource-policies.table.headers.title.for.bundle": "Policies for Bundle", +// "resource-policies.table.headers.title.for.bundle": "Policies for Bundle", "resource-policies.table.headers.title.for.bundle": "Bundle szabály", -// "resource-policies.table.headers.title.for.item": "Policies for Item", +// "resource-policies.table.headers.title.for.item": "Policies for Item", "resource-policies.table.headers.title.for.item": "Elem szabály", + + // "search.description": "", "search.description": "", @@ -3454,6 +4254,12 @@ +// "sorting.ASC": "Ascending", + "sorting.ASC": "Növekvő", + +// "sorting.DESC": "Descending", + "sorting.DESC": "Csökkenő", + // "sorting.dc.title.ASC": "Title Ascending", "sorting.dc.title.ASC": "Cím növekvő sorrendben", @@ -3465,6 +4271,41 @@ +// "statistics.title": "Statistics", + "statistics.title": "Statisztikák", + +// "statistics.header": "Statistics for {{ scope }}", + "statistics.header": "Statisztikák: {{ scope }}", + +// "statistics.breadcrumbs": "Statistics", + "statistics.breadcrumbs": "Statisztikák", + +// "statistics.page.no-data": "No data available", + "statistics.page.no-data": "Nincsenek adatok", + +// "statistics.table.no-data": "No data available", + "statistics.table.no-data": "Nincsenek adatok", + +// "statistics.table.title.TotalVisits": "Total visits", + "statistics.table.title.TotalVisits": "Összes látogatás", + +// "statistics.table.title.TotalVisitsPerMonth": "Total visits per month", + "statistics.table.title.TotalVisitsPerMonth": "Összes látogató a hónapban", + +// "statistics.table.title.TotalDownloads": "File Visits", + "statistics.table.title.TotalDownloads": "Fájl elérések", + +// "statistics.table.title.TopCountries": "Top country views", + "statistics.table.title.TopCountries": "Elérések országok szerint", + +// "statistics.table.title.TopCities": "Top city views", + "statistics.table.title.TopCities": "Elérések városok szerint", + +// "statistics.table.header.views": "Views", + "statistics.table.header.views": "Látogatások", + + + // "submission.edit.title": "Edit Submission", "submission.edit.title": "Feltöltés szerkesztése", @@ -3497,6 +4338,66 @@ +// "submission.import-external.page.title": "Import metadata from an external source", + "submission.import-external.page.title": "Metaadatok importálása külső forrásból", + +// "submission.import-external.title": "Import metadata from an external source", + "submission.import-external.title": "Metaadatok importálása külső forrásból", + +// "submission.import-external.page.hint": "Enter a query above to find items from the web to import in to DSpace.", + "submission.import-external.page.hint": "Írjon be egy lekérést hogy elemeket találjon a web-en amiket importálhat DSpace-be.", + +// "submission.import-external.back-to-my-dspace": "Back to MyDSpace", + "submission.import-external.back-to-my-dspace": "Vissza a MyDSpacehez", + +// "submission.import-external.search.placeholder": "Search the external source", + "submission.import-external.search.placeholder": "Külső forrás keresése", + +// "submission.import-external.search.button": "Search", + "submission.import-external.search.button": "Keresés", + +// "submission.import-external.search.button.hint": "Write some words to search", + "submission.import-external.search.button.hint": "Írjon be keresési szavakat", + +// "submission.import-external.search.source.hint": "Pick an external source", + "submission.import-external.search.source.hint": "Válasszon egy külső forrást", + +// "submission.import-external.source.arxiv": "arXiv", + "submission.import-external.source.arxiv": "arXiv", + +// "submission.import-external.source.loading": "Loading ...", + "submission.import-external.source.loading": "Betöltés ...", + +// "submission.import-external.source.sherpaJournal": "SHERPA Journals", + "submission.import-external.source.sherpaJournal": "SHERPA Journals", + +// "submission.import-external.source.sherpaPublisher": "SHERPA Publishers", + "submission.import-external.source.sherpaPublisher": "SHERPA Publishers", + +// "submission.import-external.source.orcid": "ORCID", + "submission.import-external.source.orcid": "ORCID", + +// "submission.import-external.source.pubmed": "Pubmed", + "submission.import-external.source.pubmed": "Pubmed", + +// "submission.import-external.source.lcname": "Library of Congress Names", + "submission.import-external.source.lcname": "Library of Congress Names", + +// "submission.import-external.preview.title": "Item Preview", + "submission.import-external.preview.title": "Elem előnézet", + +// "submission.import-external.preview.subtitle": "The metadata below was imported from an external source. It will be pre-filled when you start the submission.", + "submission.import-external.preview.subtitle": "A lentebbi metaadat importálva a külső forrásból. Ki lesz töltve ha elkezdi a beküldési folyamatot.", + +// "submission.import-external.preview.button.import": "Start submission", + "submission.import-external.preview.button.import": "Beküldés elkezdése", + +// "submission.import-external.preview.error.import.title": "Submission error", + "submission.import-external.preview.error.import.title": "Beküldési hiba", + +// "submission.import-external.preview.error.import.body": "An error occurs during the external source entry import process.", + "submission.import-external.preview.error.import.body": "Hiba történt a külső forrásból történő importálás folyamán.", + // "submission.sections.describe.relationship-lookup.close": "Close", "submission.sections.describe.relationship-lookup.close": "Bezárás", @@ -3704,6 +4605,27 @@ // "submission.sections.describe.relationship-lookup.name-variant.notification.decline": "Use only for this submission", "submission.sections.describe.relationship-lookup.name-variant.notification.decline": "Használja csak ehhez a feltöltéshez", +// "submission.sections.ccLicense.type": "License Type", + "submission.sections.ccLicense.type": "Licenc típus", + +// "submission.sections.ccLicense.select": "Select a license type…", + "submission.sections.ccLicense.select": "Válasszon ki egy licenc típust…", + +// "submission.sections.ccLicense.change": "Change your license type…", + "submission.sections.ccLicense.change": "Válassza ki a licenc típusát…", + +// "submission.sections.ccLicense.none": "No licenses available", + "submission.sections.ccLicense.none": "Nincs elérhető licenc", + +// "submission.sections.ccLicense.option.select": "Select an option…", + "submission.sections.ccLicense.option.select": "Válasszon ki valamit…", + +// "submission.sections.ccLicense.link": "You’ve selected the following license:", + "submission.sections.ccLicense.link": "A következő licencet választotta ki:", + +// "submission.sections.ccLicense.confirmation": "I grant the license above", + "submission.sections.ccLicense.confirmation": "Engedélyezem a lentebbi licencet", + // "submission.sections.general.add-more": "Add more", "submission.sections.general.add-more": "Több hozzáadása", @@ -3940,6 +4862,30 @@ "title": "DSpace", + +// "vocabulary-treeview.header": "Hierarchical tree view", + "vocabulary-treeview.header": "Hierarchikus fa nézet", + +// "vocabulary-treeview.load-more": "Load more", + "vocabulary-treeview.load-more": "Továbbiak betöltése", + +// "vocabulary-treeview.search.form.reset": "Reset", + "vocabulary-treeview.search.form.reset": "Reset", + +// "vocabulary-treeview.search.form.search": "Search", + "vocabulary-treeview.search.form.search": "Keresés", + +// "vocabulary-treeview.search.no-result": "There were no items to show", + "vocabulary-treeview.search.no-result": "Nincsenek megjelenítendő elemek", + +// "vocabulary-treeview.tree.description.nsi": "The Norwegian Science Index", + "vocabulary-treeview.tree.description.nsi": "Norvégiai tudományos index", + +// "vocabulary-treeview.tree.description.srsc": "Research Subject Categories", + "vocabulary-treeview.tree.description.srsc": "Kutatási tárgy kategóriák", + + + // "administrativeView.search.results.head": "Administrative Search", "administrativeView.search.results.head": "Adminisztratív keresés", From 3044a91cae1387bbf5c85cd2afd991b39e6e8947 Mon Sep 17 00:00:00 2001 From: Nagy Akos Date: Thu, 4 Feb 2021 22:53:05 +0200 Subject: [PATCH 036/106] Match all lines with English version --- src/assets/i18n/hu.json5 | 314 +++++++++++++++++++++++++++++++++------ 1 file changed, 271 insertions(+), 43 deletions(-) diff --git a/src/assets/i18n/hu.json5 b/src/assets/i18n/hu.json5 index 6bad2a83f4..49aa153ef3 100644 --- a/src/assets/i18n/hu.json5 +++ b/src/assets/i18n/hu.json5 @@ -391,6 +391,12 @@ // "admin.access-control.epeople.form.notification.edited.failure": "Failed to edit EPerson \"{{name}}\"", "admin.access-control.epeople.form.notification.edited.failure": "EPerson \"{{name}}\" szerkesztése nem sikerült", +// "admin.access-control.epeople.form.notification.deleted.success": "Successfully deleted EPerson \"{{name}}\"", + "admin.access-control.epeople.form.notification.deleted.success": "Sikeresen törölve: EPerson \"{{name}}\"", + +// "admin.access-control.epeople.form.notification.deleted.failure": "Failed to delete EPerson \"{{name}}\"", + "admin.access-control.epeople.form.notification.deleted.failure": "Nem sikerült törülni: EPerson \"{{name}}\"", + // "admin.access-control.epeople.form.groupsEPersonIsMemberOf": "Member of these groups:", "admin.access-control.epeople.form.groupsEPersonIsMemberOf": "Tagja a következő csoportoknak:", @@ -417,6 +423,12 @@ // "admin.access-control.groups.title": "DSpace Angular :: Groups", "admin.access-control.groups.title": "DSpace Angular :: Csoportok", +// "admin.access-control.groups.title.singleGroup": "DSpace Angular :: Edit Group", + "admin.access-control.groups.title.singleGroup": "DSpace Angular :: Csoport szerkesztése", + +// "admin.access-control.groups.title.addGroup": "DSpace Angular :: New Group", + "admin.access-control.groups.title.addGroup": "DSpace Angular :: Új csoport", + // "admin.access-control.groups.head": "Groups", "admin.access-control.groups.head": "Csoportok", @@ -460,7 +472,10 @@ "admin.access-control.groups.notification.deleted.success": "\"{{name}}\" csoport törlése sikerült", // "admin.access-control.groups.notification.deleted.failure": "Failed to delete group \"{{name}}\"", - "admin.access-control.groups.notification.deleted.failure": "\"{{name}}\" csoport törlése nem sikerült", + "admin.access-control.groups.notification.deleted.failure.title": "\"{{name}}\" csoport törlése nem sikerült", + +// "admin.access-control.groups.notification.deleted.failure.content": "Cause: \"{{cause}}\"", + "admin.access-control.groups.notification.deleted.failure.content": "Ok: \"{{cause}}\"", @@ -491,6 +506,39 @@ // "admin.access-control.groups.form.notification.created.failure.groupNameInUse": "Failed to create Group with name: \"{{name}}\", make sure the name is not already in use.", "admin.access-control.groups.form.notification.created.failure.groupNameInUse": "Nem sikerült csoport létrehozása a következő névvel: \"{{name}}\", győződjön meg róla, hogy a név nincs már használatban.", +// "admin.access-control.groups.form.notification.edited.failure": "Failed to edit Group \"{{name}}\"", + "admin.access-control.groups.form.notification.edited.failure": "Nem sikerült szerkeszteni a csoportot \"{{name}}\"", + +// "admin.access-control.groups.form.notification.edited.failure.groupNameInUse": "Name \"{{name}}\" already in use!", + "admin.access-control.groups.form.notification.edited.failure.groupNameInUse": "A(z) \"{{name}}\" név már foglalt!", + +// "admin.access-control.groups.form.notification.edited.success": "Successfully edited Group \"{{name}}\"", + "admin.access-control.groups.form.notification.edited.success": "Sikeresen szerkesztett csoport: \"{{name}}\"", + +// "admin.access-control.groups.form.actions.delete": "Delete Group", + "admin.access-control.groups.form.actions.delete": "Csoport törlése", + +// "admin.access-control.groups.form.delete-group.modal.header": "Delete Group \"{{ dsoName }}\"", + "admin.access-control.groups.form.delete-group.modal.header": "Csoport törlése: \"{{ dsoName }}\"", + +// "admin.access-control.groups.form.delete-group.modal.info": "Are you sure you want to delete Group \"{{ dsoName }}\"", + "admin.access-control.groups.form.delete-group.modal.info": "Biztos törli a csoportot: \"{{ dsoName }}\"", + +// "admin.access-control.groups.form.delete-group.modal.cancel": "Cancel", + "admin.access-control.groups.form.delete-group.modal.cancel": "Mégsem", + +// "admin.access-control.groups.form.delete-group.modal.confirm": "Delete", + "admin.access-control.groups.form.delete-group.modal.confirm": "Törlés", + +// "admin.access-control.groups.form.notification.deleted.success": "Successfully deleted group \"{{ name }}\"", + "admin.access-control.groups.form.notification.deleted.success": "Csoport sikeresen törölve: \"{{ name }}\"", + +// "admin.access-control.groups.form.notification.deleted.failure.title": "Failed to delete group \"{{ name }}\"", + "admin.access-control.groups.form.notification.deleted.failure.title": "Nem sikerült törölni a csoportot: \"{{ name }}\"", + +// "admin.access-control.groups.form.notification.deleted.failure.content": "Cause: \"{{ cause }}\"", + "admin.access-control.groups.form.notification.deleted.failure.content": "Ok: \"{{ cause }}\"", + // "admin.access-control.groups.form.members-list.head": "EPeople", "admin.access-control.groups.form.members-list.head": "EPeople", @@ -634,18 +682,12 @@ // "admin.search.item.move": "Move", "admin.search.item.move": "Költöztetés", -// "admin.search.item.private": "Private", - "admin.search.item.private": "Privát", - // "admin.search.item.reinstate": "Reinstate", "admin.search.item.reinstate": "Visszaállítás", // "admin.search.item.withdraw": "Withdraw", "admin.search.item.withdraw": "Visszavonás", -// "admin.search.item.withdrawn": "Withdrawn", - "admin.search.item.withdrawn": "Visszavonva", - // "admin.search.title": "Administrative Search", "admin.search.title": "Adminisztratív keresés", @@ -698,6 +740,7 @@ + // "auth.errors.invalid-user": "Invalid email address or password.", "auth.errors.invalid-user": "Érvénytelen email cím, vagy jelszó.", @@ -876,6 +919,9 @@ // "collection.create.sub-head": "Create a Collection for Community {{ parent }}", "collection.create.sub-head": "Hozzon létre gyűjteményt a közösség számára {{ parent }}", +// "collection.curate.header": "Curate Collection: {{collection}}", + "collection.curate.header": "Gyűjtemény gondozója: {{collection}}", + // "collection.delete.cancel": "Cancel", "collection.delete.cancel": "Mégse", @@ -1003,6 +1049,12 @@ // "collection.edit.tabs.metadata.title": "Collection Edit - Metadata", "collection.edit.tabs.metadata.title": "Gyűjtemény szerkesztés - Metaadat", +// "collection.edit.tabs.roles.head": "Assign Roles", + "collection.edit.tabs.roles.head": "Jogok hozzárendelése", + +// "collection.edit.tabs.roles.title": "Collection Edit - Roles", + "collection.edit.tabs.roles.title": "Gyűjtemény szerkesztése - Jogok", + // "collection.edit.tabs.roles.head": "Assign Roles", "collection.edit.tabs.roles.head": "Feladatok kijelölése", @@ -1187,6 +1239,9 @@ // "community.create.sub-head": "Create a Sub-Community for Community {{ parent }}", "community.create.sub-head": "Hozzon létre egy alközösséget a közösségben {{ parent }}", +// "community.curate.header": "Curate Community: {{community}}", + "community.curate.header": "Közösség gondozása: {{community}}", + // "community.delete.cancel": "Cancel", "community.delete.cancel": "Mégse", @@ -1242,8 +1297,10 @@ "community.edit.notifications.success": "Közösség szerkesztése sikerült", // "community.edit.notifications.unauthorized": "You do not have privileges to make this change", + "community.edit.notifications.unauthorized": "Nincs meg a szükséges jogosultsága a változtatáshoz", // "community.edit.notifications.error": "An error occured while editing the Community", + "community.edit.notifications.error": "Hiba történt a közösség szerkesztésekor", // "community.edit.return": "Return", "community.edit.return": "Vissza", @@ -1375,6 +1432,9 @@ // "community.form.title": "Name", "community.form.title": "Név", +// "community.page.edit": "Edit this community", + "community.page.edit": "Közösség szerkesztése", + // "community.page.handle": "Permanent URI for this community", "community.page.handle": "Állandó URI ehhez a közösséghez", @@ -1533,6 +1593,7 @@ "dso-selector.create.collection.head": "Új gyűjtemény", // "dso-selector.create.collection.sub-level": "Create a new collection in", + "dso-selector.create.collection.sub-level": "Új közösség létrehozása benne", // "dso-selector.create.community.head": "New community", "dso-selector.create.community.head": "Új közösség", @@ -1597,7 +1658,6 @@ "confirmation-modal.delete-eperson.confirm": "Töröl", - // "error.bitstream": "Error fetching bitstream", "error.bitstream": "Bitfolyam megjelenítése közben hiba történt", @@ -2141,6 +2201,9 @@ // "item.edit.metadata.edit.buttons.unedit": "Stop editing", "item.edit.metadata.edit.buttons.unedit": "Szerkesztés leállítása", +// "item.edit.metadata.empty": "The item currently doesn't contain any metadata. Click Add to start adding a metadata value.", + "item.edit.metadata.empty": "Az elem jelenleg nem tartalmaz metaadatot. Kattintson a Hozzáad-ra metaadatok hozzáadásához.", + // "item.edit.metadata.headers.edit": "Edit", "item.edit.metadata.headers.edit": "Szerkesztés", @@ -2162,6 +2225,9 @@ // "item.edit.metadata.notifications.discarded.title": "Changed discarded", "item.edit.metadata.notifications.discarded.title": "Módosítva elvetve", +// "item.edit.metadata.notifications.error.title": "An error occurred", + "item.edit.metadata.notifications.error.title": "Hiba történt", + // "item.edit.metadata.notifications.invalid.content": "Your changes were not saved. Please make sure all fields are valid before you save.", "item.edit.metadata.notifications.invalid.content": "Módosításai nincsenek elmentve, Kérjük mentés előtt ellenőrizze, hogy valamennyi mező érvényes.", @@ -2518,6 +2584,9 @@ // "item.page.date": "Date", "item.page.date": "Dátum", +// "item.page.edit": "Edit this item", + "item.page.edit": "Elem szerkesztése", + // "item.page.files": "Files", "item.page.files": "Állományok", @@ -2674,6 +2743,9 @@ // "journal.page.description": "Description", "journal.page.description": "Leírás", +// "journal.page.edit": "Edit this item", + "journal.page.edit": "Elem szerkesztése", + // "journal.page.editor": "Editor-in-Chief", "journal.page.editor": "Főszerkesztő", @@ -2700,6 +2772,9 @@ // "journalissue.page.description": "Description", "journalissue.page.description": "Leírás", +// "journalissue.page.edit": "Edit this item", + "journalissue.page.edit": "Elem szerkesztése", + // "journalissue.page.issuedate": "Issue Date", "journalissue.page.issuedate": "Megjelenés dátuma", @@ -2726,6 +2801,9 @@ // "journalvolume.page.description": "Description", "journalvolume.page.description": "Leírás", +// "journalvolume.page.edit": "Edit this item", + "journalvolume.page.edit": "Elem szerkesztése", + // "journalvolume.page.issuedate": "Issue Date", "journalvolume.page.issuedate": "Megjelenés dátuma", @@ -2964,6 +3042,9 @@ // "menu.section.icon.pin": "Pin sidebar", "menu.section.icon.pin": "Oldalsáv rögzítése", +// "menu.section.icon.processes": "Processes menu section", + "menu.section.icon.processes": "Menü felület feldolgozása", + // "menu.section.icon.registries": "Registries menu section", "menu.section.icon.registries": "Leíró adatbázis menü felület", @@ -3121,6 +3202,12 @@ // "mydspace.new-submission": "New submission", "mydspace.new-submission": "Új feltöltés", +// "mydspace.new-submission-external": "Import metadata from external source", + "mydspace.new-submission-external": "Metaadat importálása külső forrásból", + +// "mydspace.new-submission-external-short": "Import metadata", + "mydspace.new-submission-external-short": "Metaadat importálása", + // "mydspace.results.head": "Your submissions", "mydspace.results.head": "Az ön feltöltései", @@ -3267,9 +3354,15 @@ // "person.listelement.badge": "Person", "person.listelement.badge": "Személy", +// "person.listelement.no-title": "No name found", + "person.listelement.no-title": "A névre nincs találat", + // "person.page.birthdate": "Birth Date", "person.page.birthdate": "Születés dátuma", +// "person.page.edit": "Edit this item", + "person.page.edit": "Elem szerkesztése", + // "person.page.email": "Email Address", "person.page.email": "Email cím", @@ -3781,6 +3874,12 @@ // "relationships.isAuthorOf": "Authors", "relationships.isAuthorOf": "Szerzők", +// "relationships.isAuthorOf.Person": "Authors (persons)", + "relationships.isAuthorOf.Person": "Szerzők (személye)", + +// "relationships.isAuthorOf.OrgUnit": "Authors (organizational units)", + "relationships.isAuthorOf.OrgUnit": "Szerzők (szervezeti egységek)", + // "relationships.isIssueOf": "Journal Issues", "relationships.isIssueOf": "Folyóirat számok", @@ -3834,6 +3933,12 @@ // "resource-policies.add.for.item": "Add a new Item policy", "resource-policies.add.for.item": "Új elem szabály", +// "resource-policies.add.for.community": "Add a new Community policy", + "resource-policies.add.for.community": "Új közösségi szabály hozzáadása", + +// "resource-policies.add.for.collection": "Add a new Collection policy", + "resource-policies.add.for.collection": "Új gyűjtemény szabály hozzáadása", + // "resource-policies.create.page.heading": "Create new resource policy for ", "resource-policies.create.page.heading": "Új erőforráa szabály ...", @@ -3957,6 +4062,12 @@ // "resource-policies.table.headers.title.for.item": "Policies for Item", "resource-policies.table.headers.title.for.item": "Elem szabály", +// "resource-policies.table.headers.title.for.community": "Policies for Community", + "resource-policies.table.headers.title.for.community": "Közösségi szabályok", + +// "resource-policies.table.headers.title.for.collection": "Policies for Collection", + "resource-policies.table.headers.title.for.collection": "Gyűjtemény szabályok", + // "search.description": "", @@ -4446,8 +4557,8 @@ // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.lcname": "Importing from LC Name", "submission.sections.describe.relationship-lookup.external-source.import-modal.head.lcname": "LC Nnévről importál", -// "submission.sections.describe.relationship-lookup.external-source.import-modal.head.orcidV2": "Importing from ORCID", - "submission.sections.describe.relationship-lookup.external-source.import-modal.head.orcidV2": "ORCID-ról importál", +// "submission.sections.describe.relationship-lookup.external-source.import-modal.head.orcid": "Importing from ORCID", + "submission.sections.describe.relationship-lookup.external-source.import-modal.head.orcid": "ORCID-ról importál", // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.sherpaJournal": "Importing from Sherpa Journal", "submission.sections.describe.relationship-lookup.external-source.import-modal.head.sherpaJournal": "Sherpa Journal-ról importál", @@ -4455,6 +4566,12 @@ // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.sherpaPublisher": "Importing from Sherpa Publisher", "submission.sections.describe.relationship-lookup.external-source.import-modal.head.sherpaPublisher": "Sherpa Publisher-ről importál", +// "submission.sections.describe.relationship-lookup.external-source.import-modal.head.pubmed": "Importing from PubMed", + "submission.sections.describe.relationship-lookup.external-source.import-modal.head.pubmed": "PubMed-ről importál", + +// "submission.sections.describe.relationship-lookup.external-source.import-modal.head.arxiv": "Importing from arXiv", + "submission.sections.describe.relationship-lookup.external-source.import-modal.head.arxiv": "arXiv-ről importál", + // "submission.sections.describe.relationship-lookup.external-source.import-modal.import": "Import", "submission.sections.describe.relationship-lookup.external-source.import-modal.import": "Importál", @@ -4512,17 +4629,44 @@ // "submission.sections.describe.relationship-lookup.selected": "Selected {{ size }} items", "submission.sections.describe.relationship-lookup.selected": "Kiválasztott {{ size }} tárgyak", -// "submission.sections.describe.relationship-lookup.search-tab.tab-title.Author": "Local Authors ({{ count }})", - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Author": "Helyi szerzők ({{ count }})", +// "submission.sections.describe.relationship-lookup.search-tab.tab-title.isAuthorOfPublication": "Local Authors ({{ count }})", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isAuthorOfPublication": "Helyi szerzők ({{ count }})", + +// "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalOfPublication": "Local Journals ({{ count }})", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalOfPublication": "Helyi folyóiratok ({{ count }})", + +// "submission.sections.describe.relationship-lookup.search-tab.tab-title.Project": "Local Projects ({{ count }})", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.Project": "Helyi projektek ({{ count }})", + +// "submission.sections.describe.relationship-lookup.search-tab.tab-title.Publication": "Local Publications ({{ count }})", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.Publication": "Helyi kiadványok ({{ count }})", + +// "submission.sections.describe.relationship-lookup.search-tab.tab-title.Person": "Local Authors ({{ count }})", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.Person": "Helyi szerzők ({{ count }})", + +// "submission.sections.describe.relationship-lookup.search-tab.tab-title.OrgUnit": "Local Organizational Units ({{ count }})", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.OrgUnit": "Helyi szervezeti egységek ({{ count }})", + +// "submission.sections.describe.relationship-lookup.search-tab.tab-title.DataPackage": "Local Data Packages ({{ count }})", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.DataPackage": "Helyi adat csomagok ({{ count }})", + +// "submission.sections.describe.relationship-lookup.search-tab.tab-title.DataFile": "Local Data Files ({{ count }})", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.DataFile": "Helyi adatállományok ({{ count }})", // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal": "Local Journals ({{ count }})", "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal": "Helyi folyóiratok ({{ count }})", -// "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal Issue": "Local Journal Issues ({{ count }})", - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal Issue": "Helyi folyóiratszámok ({{ count }})", +// "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalIssueOfPublication": "Local Journal Issues ({{ count }})", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalIssueOfPublication": "Helyi folyóiratszámok ({{ count }})", -// "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal Volume": "Local Journal Volumes ({{ count }})", - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal Volume": "Helyi folyóiratkötetek ({{ count }})", +// "submission.sections.describe.relationship-lookup.search-tab.tab-title.JournalIssue": "Local Journal Issues ({{ count }})", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.JournalIssue": "Helyi folyóiratszámok ({{ count }})", + +// "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalVolumeOfPublication": "Local Journal Volumes ({{ count }})", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalVolumeOfPublication": "Helyi folyóiratkötetek ({{ count }})", + +// "submission.sections.describe.relationship-lookup.search-tab.tab-title.JournalVolume": "Local Journal Volumes ({{ count }})", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.JournalVolume": "Helyi folyóiratkötetek ({{ count }})", // "submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaJournal": "Sherpa Journals ({{ count }})", "submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaJournal": "Sherpa folyóiratok ({{ count }})", @@ -4530,38 +4674,77 @@ // "submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaPublisher": "Sherpa Publishers ({{ count }})", "submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaPublisher": "Sherpa kiadók ({{ count }})", -// "submission.sections.describe.relationship-lookup.search-tab.tab-title.orcidV2": "ORCID ({{ count }})", - "submission.sections.describe.relationship-lookup.search-tab.tab-title.orcidV2": "ORCID ({{ count }})", +// "submission.sections.describe.relationship-lookup.search-tab.tab-title.orcid": "ORCID ({{ count }})", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.orcid": "ORCID ({{ count }})", // "submission.sections.describe.relationship-lookup.search-tab.tab-title.lcname": "LC Names ({{ count }})", - "submission.sections.describe.relationship-lookup.search-tab.tab-title.lcname": "LC Nevek ({{ count }})", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.lcname": "LC Names ({{ count }})", -// "submission.sections.describe.relationship-lookup.search-tab.tab-title.Funding Agency": "Search for Funding Agencies", - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Funding Agency": "Támogató szervezetek keresése", +// "submission.sections.describe.relationship-lookup.search-tab.tab-title.pubmed": "PubMed ({{ count }})", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.pubmed": "PubMed ({{ count }})", -// "submission.sections.describe.relationship-lookup.search-tab.tab-title.Funding": "Search for Funding", - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Funding": "Támogatás keresése", +// "submission.sections.describe.relationship-lookup.search-tab.tab-title.arxiv": "arXiv ({{ count }})", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.arxiv": "arXiv ({{ count }})", + +// "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingAgencyOfPublication": "Search for Funding Agencies", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingAgencyOfPublication": "Támogató szervezetek keresése", + +// "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingOfPublication": "Search for Funding", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingOfPublication": "Támogatás keresése", + +// "submission.sections.describe.relationship-lookup.search-tab.tab-title.isChildOrgUnitOf": "Search for Organizational Units", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isChildOrgUnitOf": "Intézményi egységek kereséset", // "submission.sections.describe.relationship-lookup.selection-tab.tab-title": "Current Selection ({{ count }})", "submission.sections.describe.relationship-lookup.selection-tab.tab-title": "Jelenleg kiválasztott ({{ count }})", -// "submission.sections.describe.relationship-lookup.title.Journal Issue": "Journal Issues", - "submission.sections.describe.relationship-lookup.title.Journal Issue": "Folyóirat számok", +// "submission.sections.describe.relationship-lookup.title.isJournalIssueOfPublication": "Journal Issues", + "submission.sections.describe.relationship-lookup.title.isJournalIssueOfPublication": "Folyóirat számok", -// "submission.sections.describe.relationship-lookup.title.Journal Volume": "Journal Volumes", - "submission.sections.describe.relationship-lookup.title.Journal Volume": "Folyóirat kötetek", +// "submission.sections.describe.relationship-lookup.title.JournalIssue": "Journal Issues", + "submission.sections.describe.relationship-lookup.title.JournalIssue": "Folyóirat számok", -// "submission.sections.describe.relationship-lookup.title.Journal": "Journals", - "submission.sections.describe.relationship-lookup.title.Journal": "Folyóiratok", +// "submission.sections.describe.relationship-lookup.title.isJournalVolumeOfPublication": "Journal Volumes", + "submission.sections.describe.relationship-lookup.title.isJournalVolumeOfPublication": "Folyóirat kötetek", -// "submission.sections.describe.relationship-lookup.title.Author": "Authors", - "submission.sections.describe.relationship-lookup.title.Author": "Szerzők", +// "submission.sections.describe.relationship-lookup.title.JournalVolume": "Journal Volumes", + "submission.sections.describe.relationship-lookup.title.JournalVolume": "Folyóirat kötetek", + +// "submission.sections.describe.relationship-lookup.title.isJournalOfPublication": "Journals", + "submission.sections.describe.relationship-lookup.title.isJournalOfPublication": "Folyóiratok", + +// "submission.sections.describe.relationship-lookup.title.isAuthorOfPublication": "Authors", + "submission.sections.describe.relationship-lookup.title.isAuthorOfPublication": "Szerzők", + +// "submission.sections.describe.relationship-lookup.title.isFundingAgencyOfPublication": "Funding Agency", + "submission.sections.describe.relationship-lookup.title.isFundingAgencyOfPublication": "Támogató szervezet", + +// "submission.sections.describe.relationship-lookup.title.Project": "Projects", + "submission.sections.describe.relationship-lookup.title.Project": "Projektek", + +// "submission.sections.describe.relationship-lookup.title.Publication": "Publications", + "submission.sections.describe.relationship-lookup.title.Publication": "Kiadványok", + +// "submission.sections.describe.relationship-lookup.title.Person": "Authors", + "submission.sections.describe.relationship-lookup.title.Person": "Szerzők", + +// "submission.sections.describe.relationship-lookup.title.OrgUnit": "Organizational Units", + "submission.sections.describe.relationship-lookup.title.OrgUnit": "Szervezeti egységek", + +// "submission.sections.describe.relationship-lookup.title.DataPackage": "Data Packages", + "submission.sections.describe.relationship-lookup.title.DataPackage": "Adatcsomagok", + +// "submission.sections.describe.relationship-lookup.title.DataFile": "Data Files", + "submission.sections.describe.relationship-lookup.title.DataFile": "Adatállományok", // "submission.sections.describe.relationship-lookup.title.Funding Agency": "Funding Agency", "submission.sections.describe.relationship-lookup.title.Funding Agency": "Támogató szervezet", -// "submission.sections.describe.relationship-lookup.title.Funding": "Funding", - "submission.sections.describe.relationship-lookup.title.Funding": "Támogatás", +// "submission.sections.describe.relationship-lookup.title.isFundingOfPublication": "Funding", + "submission.sections.describe.relationship-lookup.title.isFundingOfPublication": "Támogatás", + +// "submission.sections.describe.relationship-lookup.title.isChildOrgUnitOf": "Parent Organizational Unit", + "submission.sections.describe.relationship-lookup.title.isChildOrgUnitOf": "Szülő szervezeti egység", // "submission.sections.describe.relationship-lookup.search-tab.toggle-dropdown": "Toggle dropdown", "submission.sections.describe.relationship-lookup.search-tab.toggle-dropdown": "Lenyíló menü váltás", @@ -4572,29 +4755,74 @@ // "submission.sections.describe.relationship-lookup.selection-tab.no-selection": "Your selection is currently empty.", "submission.sections.describe.relationship-lookup.selection-tab.no-selection": "Amit kiválasztott az jelenleg üres.", -// "submission.sections.describe.relationship-lookup.selection-tab.title.Author": "Selected Authors", - "submission.sections.describe.relationship-lookup.selection-tab.title.Author": "Választott szerzők", +// "submission.sections.describe.relationship-lookup.selection-tab.title.isAuthorOfPublication": "Selected Authors", + "submission.sections.describe.relationship-lookup.selection-tab.title.isAuthorOfPublication": "Kiválasztott szerzők", + +// "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalOfPublication": "Selected Journals", + "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalOfPublication": "Választott folyóirat", + +// "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalVolumeOfPublication": "Selected Journal Volume", + "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalVolumeOfPublication": "Választott folyóirat kötet", + +// "submission.sections.describe.relationship-lookup.selection-tab.title.Project": "Selected Projects", + "submission.sections.describe.relationship-lookup.selection-tab.title.Project": "Választott projektek", + +// "submission.sections.describe.relationship-lookup.selection-tab.title.Publication": "Selected Publications", + "submission.sections.describe.relationship-lookup.selection-tab.title.Publication": "Választott kiadványok", + +// "submission.sections.describe.relationship-lookup.selection-tab.title.Person": "Selected Authors", + "submission.sections.describe.relationship-lookup.selection-tab.title.Person": "Választott szerzők", + +// "submission.sections.describe.relationship-lookup.selection-tab.title.OrgUnit": "Selected Organizational Units", + "submission.sections.describe.relationship-lookup.selection-tab.title.OrgUnit": "Választott szervezeti egységek", + +// "submission.sections.describe.relationship-lookup.selection-tab.title.DataPackage": "Selected Data Packages", + "submission.sections.describe.relationship-lookup.selection-tab.title.DataPackage": "Választott adatcsomagok", + +// "submission.sections.describe.relationship-lookup.selection-tab.title.DataFile": "Selected Data Files", + "submission.sections.describe.relationship-lookup.selection-tab.title.DataFile": "Választott adatfájlok", // "submission.sections.describe.relationship-lookup.selection-tab.title.Journal": "Selected Journals", "submission.sections.describe.relationship-lookup.selection-tab.title.Journal": "Választott folyóiratok", -// "submission.sections.describe.relationship-lookup.selection-tab.title.Journal Volume": "Selected Journal Volume", - "submission.sections.describe.relationship-lookup.selection-tab.title.Journal Volume": "Választott folyóirat kötet", +// "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalIssueOfPublication": "Selected Issue", + "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalIssueOfPublication": "Választott szám", -// "submission.sections.describe.relationship-lookup.selection-tab.title.Journal Issue": "Selected Issue", - "submission.sections.describe.relationship-lookup.selection-tab.title.Journal Issue": "Választott szám", +// "submission.sections.describe.relationship-lookup.selection-tab.title.JournalVolume": "Selected Journal Volume", + "submission.sections.describe.relationship-lookup.selection-tab.title.JournalVolume": "Választott folyóirat kötet", + +// "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingAgencyOfPublication": "Selected Funding Agency", + "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingAgencyOfPublication": "Választott támogató szervezet", + +// "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingOfPublication": "Selected Funding", + "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingOfPublication": "Választott támogatás", + +// "submission.sections.describe.relationship-lookup.selection-tab.title.JournalIssue": "Selected Issue", + "submission.sections.describe.relationship-lookup.selection-tab.title.JournalIssue": "Választott szám", + +// "submission.sections.describe.relationship-lookup.selection-tab.title.isChildOrgUnitOf": "Selected Organizational Unit", + "submission.sections.describe.relationship-lookup.selection-tab.title.isChildOrgUnitOf": "Választott szervezeti egység", // "submission.sections.describe.relationship-lookup.selection-tab.title.sherpaJournal": "Search Results", "submission.sections.describe.relationship-lookup.selection-tab.title.sherpaJournal": "Keresési eredmények", // "submission.sections.describe.relationship-lookup.selection-tab.title.sherpaPublisher": "Search Results", - "submission.sections.describe.relationship-lookup.selection-tab.title.sherpaPublisher": "Keresési eredmények", + "submission.sections.describe.relationship-lookup.selection-tab.title.sherpaPublisher": "Keresése eredmények", -// "submission.sections.describe.relationship-lookup.selection-tab.title.orcidV2": "Search Results", - "submission.sections.describe.relationship-lookup.selection-tab.title.orcidV2": "Keresési eredmények", +// "submission.sections.describe.relationship-lookup.selection-tab.title.orcid": "Search Results", + "submission.sections.describe.relationship-lookup.selection-tab.title.orcid": "Keresése eredmények", + +// "submission.sections.describe.relationship-lookup.selection-tab.title.orcidv2": "Search Results", + "submission.sections.describe.relationship-lookup.selection-tab.title.orcidv2": "Keresése eredmények", // "submission.sections.describe.relationship-lookup.selection-tab.title.lcname": "Search Results", - "submission.sections.describe.relationship-lookup.selection-tab.title.lcname": "Keresési eredmények", + "submission.sections.describe.relationship-lookup.selection-tab.title.lcname": "Keresése eredmények", + +// "submission.sections.describe.relationship-lookup.selection-tab.title.pubmed": "Search Results", + "submission.sections.describe.relationship-lookup.selection-tab.title.pubmed": "Keresése eredmények", + +// "submission.sections.describe.relationship-lookup.selection-tab.title.arxiv": "Search Results", + "submission.sections.describe.relationship-lookup.selection-tab.title.arxiv": "Keresése eredmények", // "submission.sections.describe.relationship-lookup.name-variant.notification.content": "Would you like to save \"{{ value }}\" as a name variant for this person so you and others can reuse it for future submissions? If you don\'t you can still use it for this submission.", "submission.sections.describe.relationship-lookup.name-variant.notification.content": "Óhajtja-e elmenteni \"{{ value }}\" névváltozatként ennek a személynek, hogy később ön is és mások is újrahasználhassák feltöltéshez? Amennyiben nem, még mindig használhatja ehhez a feltöltéshez.", From 569f35437068b5bf9d93db93e4b4ced00a4df3d3 Mon Sep 17 00:00:00 2001 From: Marie Verdonck Date: Mon, 8 Feb 2021 15:00:44 +0100 Subject: [PATCH 037/106] 75832: [Issue 962]: Members total in Group registry fixed with GroupDTO --- .../group-form/members-list/members-list.component.ts | 4 ++-- .../group-registry/groups-registry.component.ts | 9 +++++++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/app/+admin/admin-access-control/group-registry/group-form/members-list/members-list.component.ts b/src/app/+admin/admin-access-control/group-registry/group-form/members-list/members-list.component.ts index d01d117a86..f1d25725d6 100644 --- a/src/app/+admin/admin-access-control/group-registry/group-form/members-list/members-list.component.ts +++ b/src/app/+admin/admin-access-control/group-registry/group-form/members-list/members-list.component.ts @@ -163,7 +163,7 @@ export class MembersListComponent implements OnInit, OnDestroy { })); return dtos$.pipe(map((dtos: EpersonDtoModel[]) => { return buildPaginatedList(epersonListRD.payload.pageInfo, dtos); - })) + })); })) .subscribe((paginatedListOfDTOs: PaginatedList) => { this.ePeopleMembersOfGroupDtos.next(paginatedListOfDTOs); @@ -285,7 +285,7 @@ export class MembersListComponent implements OnInit, OnDestroy { })); return dtos$.pipe(map((dtos: EpersonDtoModel[]) => { return buildPaginatedList(epersonListRD.payload.pageInfo, dtos); - })) + })); })) .subscribe((paginatedListOfDTOs: PaginatedList) => { this.ePeopleSearchDtos.next(paginatedListOfDTOs); diff --git a/src/app/+admin/admin-access-control/group-registry/groups-registry.component.ts b/src/app/+admin/admin-access-control/group-registry/groups-registry.component.ts index 7a8e670267..06fe2d56be 100644 --- a/src/app/+admin/admin-access-control/group-registry/groups-registry.component.ts +++ b/src/app/+admin/admin-access-control/group-registry/groups-registry.component.ts @@ -111,12 +111,17 @@ export class GroupsRegistryComponent implements OnInit, OnDestroy { return observableCombineLatest(groups.page.map((group: Group) => { return observableCombineLatest([ this.authorizationService.isAuthorized(FeatureID.CanDelete, hasValue(group) ? group.self : undefined), - this.hasLinkedDSO(group) + this.hasLinkedDSO(group), + this.getSubgroups(group), + this.getMembers(group) ]).pipe( - map(([isAuthorized, hasLinkedDSO]: boolean[]) => { + map(([isAuthorized, hasLinkedDSO, subgroups, members]: + [boolean, boolean, RemoteData>, RemoteData>]) => { const groupDtoModel: GroupDtoModel = new GroupDtoModel(); groupDtoModel.ableToDelete = isAuthorized && !hasLinkedDSO; groupDtoModel.group = group; + groupDtoModel.subgroups = subgroups.payload; + groupDtoModel.epersons = members.payload; return groupDtoModel; } ) From 5f6ad03f6f73841969f2a32e80c11f0cff2e8d69 Mon Sep 17 00:00:00 2001 From: Alessandro Martelli Date: Tue, 9 Feb 2021 14:42:38 +0100 Subject: [PATCH 038/106] [CSTPER-3620] Workflow Actions refresh entire MyDSpace page instead of just WorkflowItem Merge cache part 2 --- src/app/core/tasks/claimed-task-data.service.ts | 6 +++++- src/app/core/tasks/pool-task-data.service.ts | 6 +++++- src/app/core/tasks/tasks.service.ts | 7 ++++++- .../claimed-task/claimed-task-actions.component.ts | 8 ++------ ...laimed-task-actions-return-to-pool.component.ts | 5 +---- .../mydspace-reloadable-actions.ts | 2 -- .../pool-task/pool-task-actions.component.ts | 6 +----- ...pproved-search-result-list-element.component.ts | 14 +++++++++++--- ...eclined-search-result-list-element.component.ts | 13 ++++++++++--- 9 files changed, 41 insertions(+), 26 deletions(-) diff --git a/src/app/core/tasks/claimed-task-data.service.ts b/src/app/core/tasks/claimed-task-data.service.ts index b9c7e9ee54..c8ab170bfe 100644 --- a/src/app/core/tasks/claimed-task-data.service.ts +++ b/src/app/core/tasks/claimed-task-data.service.ts @@ -119,7 +119,11 @@ export class ClaimedTaskDataService extends TasksService { options.searchParams = [ new RequestParam('uuid', uuid) ]; - return this.searchTask('findByItem', options, followLink('workflowitem')) + return this.searchTask('findByItem', options, followLink('workflowitem', + null, + true, + false, + true)) .pipe(getFirstSucceededRemoteData()); } diff --git a/src/app/core/tasks/pool-task-data.service.ts b/src/app/core/tasks/pool-task-data.service.ts index 26eb3e6dad..83aad10fe5 100644 --- a/src/app/core/tasks/pool-task-data.service.ts +++ b/src/app/core/tasks/pool-task-data.service.ts @@ -71,7 +71,11 @@ export class PoolTaskDataService extends TasksService { options.searchParams = [ new RequestParam('uuid', uuid) ]; - return this.searchTask('findByItem', options, followLink('workflowitem')) + return this.searchTask('findByItem', options, followLink('workflowitem', + null, + true, + false, + true)) .pipe(getFirstSucceededRemoteData()); } diff --git a/src/app/core/tasks/tasks.service.ts b/src/app/core/tasks/tasks.service.ts index ddc262d9b2..851112aa42 100644 --- a/src/app/core/tasks/tasks.service.ts +++ b/src/app/core/tasks/tasks.service.ts @@ -131,14 +131,19 @@ export abstract class TasksService extends DataServic * links to follow */ public searchTask(searchMethod: string, options: FindListOptions = {}, ...linksToFollow: FollowLinkConfig[]): Observable> { + const correlationId = Math.floor(Math.random() * 1000); const hrefObs = this.getSearchByHref(searchMethod, options, ...linksToFollow); return hrefObs.pipe( + tap(href => console.log('CorrelationId: ' + correlationId, 'SearchTaskHref', href)), find((href: string) => hasValue(href)), - switchMap((href) => this.findByHref(href).pipe( + switchMap((href) => this.findByHref(href, false, true).pipe( getFirstSucceededRemoteData(), tap(() => { this.requestService.setStaleByHrefSubstring(searchMethod); }))), + tap((response) => { + console.log('CorrelationId: ' + correlationId, 'SearchTaskResponse', response.payload); + }) ); } } diff --git a/src/app/shared/mydspace-actions/claimed-task/claimed-task-actions.component.ts b/src/app/shared/mydspace-actions/claimed-task/claimed-task-actions.component.ts index afb50c8351..b610232279 100644 --- a/src/app/shared/mydspace-actions/claimed-task/claimed-task-actions.component.ts +++ b/src/app/shared/mydspace-actions/claimed-task/claimed-task-actions.component.ts @@ -1,4 +1,4 @@ -import {Component, Injector, Input, OnDestroy, OnInit} from '@angular/core'; +import { Component, Injector, Input, OnInit } from '@angular/core'; import { Router } from '@angular/router'; import { Observable } from 'rxjs'; @@ -26,7 +26,7 @@ import { WORKFLOW_TASK_OPTION_RETURN_TO_POOL } from './return-to-pool/claimed-ta styleUrls: ['./claimed-task-actions.component.scss'], templateUrl: './claimed-task-actions.component.html', }) -export class ClaimedTaskActionsComponent extends MyDSpaceActionsComponent implements OnInit, OnDestroy { +export class ClaimedTaskActionsComponent extends MyDSpaceActionsComponent implements OnInit { /** * The ClaimedTask object @@ -100,8 +100,4 @@ export class ClaimedTaskActionsComponent extends MyDSpaceActionsComponent | DSpaceObject> { - return this.poolTaskService.findByItem(this.itemUuid).pipe(take(1), tap((value) => { - console.log('The new PoolTask (found by item) is:', value); - })); + return this.poolTaskService.findByItem(this.itemUuid).pipe(take(1)); } actionExecution(): Observable { diff --git a/src/app/shared/mydspace-actions/mydspace-reloadable-actions.ts b/src/app/shared/mydspace-actions/mydspace-reloadable-actions.ts index 2a9a14a341..c24d493d6b 100644 --- a/src/app/shared/mydspace-actions/mydspace-reloadable-actions.ts +++ b/src/app/shared/mydspace-actions/mydspace-reloadable-actions.ts @@ -53,7 +53,6 @@ export abstract class MyDSpaceReloadableActionsComponent { this.processing$.next(false); this.handleReloadableActionResponse(res.hasSucceeded, reloadedObject); - return reloadedObject; }) ); } else { diff --git a/src/app/shared/mydspace-actions/pool-task/pool-task-actions.component.ts b/src/app/shared/mydspace-actions/pool-task/pool-task-actions.component.ts index 19f257f512..92086ac817 100644 --- a/src/app/shared/mydspace-actions/pool-task/pool-task-actions.component.ts +++ b/src/app/shared/mydspace-actions/pool-task/pool-task-actions.component.ts @@ -19,7 +19,6 @@ import { Item } from '../../../core/shared/item.model'; import { DSpaceObject } from '../../../core/shared/dspace-object.model'; import { MyDSpaceReloadableActionsComponent } from '../mydspace-reloadable-actions'; import { ProcessTaskResponse } from '../../../core/tasks/models/process-task-response'; -import { tap } from 'rxjs/internal/operators/tap'; /** * This component represents mydspace actions related to PoolTask object. @@ -96,9 +95,7 @@ export class PoolTaskActionsComponent extends MyDSpaceReloadableActionsComponent } reloadObjectExecution(): Observable | DSpaceObject> { - return this.claimedTaskService.findByItem(this.itemUuid).pipe(take(1), tap((value) => { - console.log('The new ClaimTask (found by item) is:', value); - })); + return this.claimedTaskService.findByItem(this.itemUuid).pipe(take(1)); } /** @@ -116,7 +113,6 @@ export class PoolTaskActionsComponent extends MyDSpaceReloadableActionsComponent ngOnDestroy() { this.subs.forEach((sub) => sub.unsubscribe()); - console.log('Destroy of PoolTaskActionsComponent', this.object); } } diff --git a/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-approved-search-result/claimed-approved-search-result-list-element.component.ts b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-approved-search-result/claimed-approved-search-result-list-element.component.ts index 9eb538ab6a..5423722160 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-approved-search-result/claimed-approved-search-result-list-element.component.ts +++ b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-approved-search-result/claimed-approved-search-result-list-element.component.ts @@ -51,9 +51,17 @@ export class ClaimedApprovedSearchResultListElementComponent extends SearchResul */ ngOnInit() { super.ngOnInit(); - this.linkService.resolveLinks(this.dso, followLink('workflowitem', null, true, - followLink('item'), followLink('submitter') - ), followLink('action')); + this.linkService.resolveLinks(this.dso, + followLink('workflowitem', + null, + true, + false, + true, + followLink('item'), + followLink('submitter') + ), + followLink('action') + ); this.workflowitemRD$ = this.dso.workflowitem as Observable>; } diff --git a/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-declined-search-result/claimed-declined-search-result-list-element.component.ts b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-declined-search-result/claimed-declined-search-result-list-element.component.ts index ee90953c8c..7db12c1725 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-declined-search-result/claimed-declined-search-result-list-element.component.ts +++ b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-declined-search-result/claimed-declined-search-result-list-element.component.ts @@ -52,9 +52,16 @@ export class ClaimedDeclinedSearchResultListElementComponent extends SearchResul */ ngOnInit() { super.ngOnInit(); - this.linkService.resolveLinks(this.dso, followLink('workflowitem', null, true, - followLink('item'), followLink('submitter') - ), followLink('action')); + this.linkService.resolveLinks(this.dso, + followLink('workflowitem', + null, + true, + false, + true, + followLink('item'), + followLink('submitter') + ), + followLink('action')); this.workflowitemRD$ = this.dso.workflowitem as Observable>; } From 6424654e6e6e610920228c6965a6c92b232b2642 Mon Sep 17 00:00:00 2001 From: Bruno Roemers Date: Tue, 9 Feb 2021 14:49:26 +0100 Subject: [PATCH 039/106] Fix LGTM Alert for PR #1014 --- src/main.browser.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main.browser.ts b/src/main.browser.ts index 6e3a7ad602..1f399b858a 100644 --- a/src/main.browser.ts +++ b/src/main.browser.ts @@ -6,7 +6,7 @@ import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; import { bootloader } from '@angularclass/bootloader'; import { load as loadWebFont } from 'webfontloader'; -import { hasValue, isNotEmpty } from './app/shared/empty.util'; +import { hasValue } from './app/shared/empty.util'; import { BrowserAppModule } from './modules/app/browser-app.module'; From d015b6caefa06dfc72ce649e6f716cf1ea2c9095 Mon Sep 17 00:00:00 2001 From: Alessandro Martelli Date: Tue, 9 Feb 2021 16:19:07 +0100 Subject: [PATCH 040/106] [CSTPER-3620] Workflow Actions refresh entire MyDSpace page instead of just WorkflowItem Test fixes --- src/app/core/tasks/claimed-task-data.service.spec.ts | 11 +++++++++-- src/app/core/tasks/pool-task-data.service.spec.ts | 10 ++++++++-- src/app/core/tasks/tasks.service.spec.ts | 2 +- 3 files changed, 18 insertions(+), 5 deletions(-) diff --git a/src/app/core/tasks/claimed-task-data.service.spec.ts b/src/app/core/tasks/claimed-task-data.service.spec.ts index b9f38706e1..977590fbed 100644 --- a/src/app/core/tasks/claimed-task-data.service.spec.ts +++ b/src/app/core/tasks/claimed-task-data.service.spec.ts @@ -15,6 +15,7 @@ import { followLink } from '../../shared/utils/follow-link-config.model'; import { getTestScheduler } from 'jasmine-marbles'; import { TestScheduler } from 'rxjs/testing'; import { HttpOptions } from '../dspace-rest/dspace-rest.service'; +import {createSuccessfulRemoteDataObject$} from '../../shared/remote-data.utils'; describe('ClaimedTaskDataService', () => { let scheduler: TestScheduler; @@ -109,7 +110,7 @@ describe('ClaimedTaskDataService', () => { describe('findByItem', () => { it('should call searchTask method', () => { - spyOn(service, 'searchTask').and.returnValue(observableOf(null)); + spyOn((service as any), 'searchTask').and.returnValue(observableOf(createSuccessfulRemoteDataObject$({}))); scheduler.schedule(() => service.findByItem('a0db0fde-1d12-4d43-bd0d-0f43df8d823c').subscribe()); scheduler.flush(); @@ -119,7 +120,13 @@ describe('ClaimedTaskDataService', () => { new RequestParam('uuid', 'a0db0fde-1d12-4d43-bd0d-0f43df8d823c') ]; - expect(service.searchTask).toHaveBeenCalledWith('findByItem', findListOptions, followLink('workflowitem')); + expect(service.searchTask).toHaveBeenCalledWith('findByItem', + findListOptions, + followLink('workflowitem', + null, + true, + false, + true)); }); }); }); diff --git a/src/app/core/tasks/pool-task-data.service.spec.ts b/src/app/core/tasks/pool-task-data.service.spec.ts index 98461864a9..07fa5a9d66 100644 --- a/src/app/core/tasks/pool-task-data.service.spec.ts +++ b/src/app/core/tasks/pool-task-data.service.spec.ts @@ -15,6 +15,7 @@ import { followLink } from '../../shared/utils/follow-link-config.model'; import { FindListOptions } from '../data/request.models'; import { RequestParam } from '../cache/models/request-param.model'; import { HttpOptions } from '../dspace-rest/dspace-rest.service'; +import {createSuccessfulRemoteDataObject$} from '../../shared/remote-data.utils'; describe('PoolTaskDataService', () => { let scheduler: TestScheduler; @@ -63,7 +64,7 @@ describe('PoolTaskDataService', () => { describe('findByItem', () => { it('should call searchTask method', () => { - spyOn(service, 'searchTask').and.returnValue(observableOf(null)); + spyOn((service as any), 'searchTask').and.returnValue(observableOf(createSuccessfulRemoteDataObject$({}))); scheduler.schedule(() => service.findByItem('a0db0fde-1d12-4d43-bd0d-0f43df8d823c').subscribe()); scheduler.flush(); @@ -73,7 +74,12 @@ describe('PoolTaskDataService', () => { new RequestParam('uuid', 'a0db0fde-1d12-4d43-bd0d-0f43df8d823c') ]; - expect(service.searchTask).toHaveBeenCalledWith('findByItem', findListOptions, followLink('workflowitem')); + expect(service.searchTask).toHaveBeenCalledWith('findByItem', findListOptions, + followLink('workflowitem', + null, + true, + false, + true)); }); }); diff --git a/src/app/core/tasks/tasks.service.spec.ts b/src/app/core/tasks/tasks.service.spec.ts index 619b9f263a..f0c86d2abf 100644 --- a/src/app/core/tasks/tasks.service.spec.ts +++ b/src/app/core/tasks/tasks.service.spec.ts @@ -136,7 +136,7 @@ describe('TasksService', () => { scheduler.flush(); expect(service.getSearchByHref).toHaveBeenCalledWith('method', options, followLinks as any); - expect(service.findByHref).toHaveBeenCalledWith('generatedHref'); + expect(service.findByHref).toHaveBeenCalledWith('generatedHref', false, true); }); }); From f0a710a9fcd60cdf4643ba65545cf753b70484ad Mon Sep 17 00:00:00 2001 From: Andrew Wood Date: Tue, 3 Nov 2020 13:55:31 -0500 Subject: [PATCH 041/106] fix #869 Submission embargo bug --- .../config-access-condition-option.model.ts | 10 --- ...sion-upload-file-access-condition.model.ts | 5 -- src/app/shared/mocks/submission.mock.ts | 66 ------------------- ...on-upload-access-conditions.component.html | 1 - ...section-upload-file-edit.component.spec.ts | 9 --- .../section-upload-file-edit.component.ts | 59 +---------------- .../edit/section-upload-file-edit.model.ts | 29 -------- .../file/section-upload-file.component.html | 1 - .../section-upload-file.component.spec.ts | 7 +- .../file/section-upload-file.component.ts | 21 +----- .../upload/section-upload.component.html | 2 +- .../upload/section-upload.component.spec.ts | 4 -- .../upload/section-upload.component.ts | 61 ++--------------- 13 files changed, 15 insertions(+), 260 deletions(-) diff --git a/src/app/core/config/models/config-access-condition-option.model.ts b/src/app/core/config/models/config-access-condition-option.model.ts index 46bf1b60ce..334ff8f34e 100644 --- a/src/app/core/config/models/config-access-condition-option.model.ts +++ b/src/app/core/config/models/config-access-condition-option.model.ts @@ -8,16 +8,6 @@ export class AccessConditionOption { */ name: string; - /** - * The uuid of the Group this Access Condition applies to - */ - groupUUID: string; - - /** - * The uuid of the Group that contains set of groups this Resource Policy applies to - */ - selectGroupUUID: string; - /** * A boolean representing if this Access Condition has a start date */ diff --git a/src/app/core/submission/models/submission-upload-file-access-condition.model.ts b/src/app/core/submission/models/submission-upload-file-access-condition.model.ts index 8b89397f24..fa4d9b9062 100644 --- a/src/app/core/submission/models/submission-upload-file-access-condition.model.ts +++ b/src/app/core/submission/models/submission-upload-file-access-condition.model.ts @@ -13,11 +13,6 @@ export class SubmissionUploadFileAccessConditionObject { */ name: string; - /** - * The access group UUID defined in this access condition - */ - groupUUID: string; - /** * Possible start date of the access condition */ diff --git a/src/app/shared/mocks/submission.mock.ts b/src/app/shared/mocks/submission.mock.ts index 036df92d2e..16cc9b6262 100644 --- a/src/app/shared/mocks/submission.mock.ts +++ b/src/app/shared/mocks/submission.mock.ts @@ -1284,27 +1284,23 @@ export const mockUploadConfigResponse = { accessConditionOptions: [ { name: 'openaccess', - groupUUID: '123456-g', hasStartDate: false, hasEndDate: false }, { name: 'lease', - groupUUID: '123456-g', hasStartDate: false, hasEndDate: true, maxEndDate: '2019-07-12T14:40:06.308+0000' }, { name: 'embargo', - groupUUID: '123456-g', hasStartDate: true, hasEndDate: false, maxStartDate: '2022-01-12T14:40:06.308+0000' }, { name: 'administrator', - groupUUID: '0f2773dd-1741-475f-80e7-ccdef153d655', hasStartDate: false, hasEndDate: false } @@ -1323,35 +1319,6 @@ export const mockUploadConfigResponse = { // Clone the object and change one property export const mockUploadConfigResponseNotRequired = Object.assign({}, mockUploadConfigResponse, { required: false }); -export const mockAccessConditionOptions = [ - { - name: 'openaccess', - groupUUID: '123456-g', - hasStartDate: false, - hasEndDate: false - }, - { - name: 'lease', - groupUUID: '123456-g', - hasStartDate: false, - hasEndDate: true, - maxEndDate: '2019-07-12T14:40:06.308+0000' - }, - { - name: 'embargo', - groupUUID: '123456-g', - hasStartDate: true, - hasEndDate: false, - maxStartDate: '2022-01-12T14:40:06.308+0000' - }, - { - name: 'administrator', - groupUUID: '0f2773dd-1741-475f-80e7-ccdef153d655', - hasStartDate: false, - hasEndDate: false - } -]; - export const mockGroup = Object.assign(new Group(), { handle: null, permanent: true, @@ -1478,17 +1445,6 @@ export const mockFileFormData = { otherInformation: null } ], - groupUUID: [ - { - value: '123456-g', - language: null, - authority: null, - display: '123456-g', - confidence: -1, - place: 0, - otherInformation: null - } - ] } , { @@ -1522,17 +1478,6 @@ export const mockFileFormData = { otherInformation: null } ], - groupUUID: [ - { - value: '123456-g', - language: null, - authority: null, - display: '123456-g', - confidence: -1, - place: 0, - otherInformation: null - } - ] } , { @@ -1566,17 +1511,6 @@ export const mockFileFormData = { otherInformation: null } ], - groupUUID: [ - { - value: '123456-g', - language: null, - authority: null, - display: '123456-g', - confidence: -1, - place: 0, - otherInformation: null - } - ] } ] }; diff --git a/src/app/submission/sections/upload/accessConditions/submission-section-upload-access-conditions.component.html b/src/app/submission/sections/upload/accessConditions/submission-section-upload-access-conditions.component.html index ae4c74e2eb..7c5a979eed 100644 --- a/src/app/submission/sections/upload/accessConditions/submission-section-upload-access-conditions.component.html +++ b/src/app/submission/sections/upload/accessConditions/submission-section-upload-access-conditions.component.html @@ -2,7 +2,6 @@ {{accessCondition.name}} {{accessCondition.startDate}} {{accessCondition.endDate}} - {{accessCondition.name}} {{accessCondition.name}} from {{accessCondition.endDate}} {{accessCondition.name}} until {{accessCondition.startDate}}
diff --git a/src/app/submission/sections/upload/file/edit/section-upload-file-edit.component.spec.ts b/src/app/submission/sections/upload/file/edit/section-upload-file-edit.component.spec.ts index 919752f89f..a644cf8270 100644 --- a/src/app/submission/sections/upload/file/edit/section-upload-file-edit.component.spec.ts +++ b/src/app/submission/sections/upload/file/edit/section-upload-file-edit.component.spec.ts @@ -43,10 +43,6 @@ describe('SubmissionSectionUploadFileEditComponent test suite', () => { const sectionId = 'upload'; const collectionId = mockSubmissionCollectionId; const availableAccessConditionOptions = mockUploadConfigResponse.accessConditionOptions; - const availableGroupsMap: Map = new Map([ - [mockUploadConfigResponse.accessConditionOptions[1].name, [mockGroup as any]], - [mockUploadConfigResponse.accessConditionOptions[2].name, [mockGroup as any]], - ]); const collectionPolicyType = POLICY_DEFAULT_WITH_LIST; const configMetadataForm: any = mockUploadConfigResponseMetadata; const fileIndex = '0'; @@ -123,7 +119,6 @@ describe('SubmissionSectionUploadFileEditComponent test suite', () => { comp.collectionId = collectionId; comp.sectionId = sectionId; comp.availableAccessConditionOptions = availableAccessConditionOptions; - comp.availableAccessConditionGroups = availableGroupsMap; comp.collectionPolicyType = collectionPolicyType; comp.fileIndex = fileIndex; comp.fileId = fileId; @@ -180,18 +175,15 @@ describe('SubmissionSectionUploadFileEditComponent test suite', () => { control.value = 'openaccess'; comp.setOptions(model, control); - expect(formbuilderService.findById).not.toHaveBeenCalledWith('groupUUID', (model.parent as DynamicFormArrayGroupModel).group); expect(formbuilderService.findById).not.toHaveBeenCalledWith('endDate', (model.parent as DynamicFormArrayGroupModel).group); expect(formbuilderService.findById).not.toHaveBeenCalledWith('startDate', (model.parent as DynamicFormArrayGroupModel).group); control.value = 'lease'; comp.setOptions(model, control); - expect(formbuilderService.findById).toHaveBeenCalledWith('groupUUID', (model.parent as DynamicFormArrayGroupModel).group); expect(formbuilderService.findById).toHaveBeenCalledWith('endDate', (model.parent as DynamicFormArrayGroupModel).group); control.value = 'embargo'; comp.setOptions(model, control); - expect(formbuilderService.findById).toHaveBeenCalledWith('groupUUID', (model.parent as DynamicFormArrayGroupModel).group); expect(formbuilderService.findById).toHaveBeenCalledWith('startDate', (model.parent as DynamicFormArrayGroupModel).group); }); }); @@ -208,7 +200,6 @@ class TestComponent { availableAccessConditionOptions; collectionId = mockSubmissionCollectionId; collectionPolicyType; - configMetadataForm$; fileIndexes = []; fileList = []; fileNames = []; diff --git a/src/app/submission/sections/upload/file/edit/section-upload-file-edit.component.ts b/src/app/submission/sections/upload/file/edit/section-upload-file-edit.component.ts index 89a70f626f..512453d84e 100644 --- a/src/app/submission/sections/upload/file/edit/section-upload-file-edit.component.ts +++ b/src/app/submission/sections/upload/file/edit/section-upload-file-edit.component.ts @@ -22,8 +22,6 @@ import { BITSTREAM_ACCESS_CONDITIONS_FORM_ARRAY_LAYOUT, BITSTREAM_FORM_ACCESS_CONDITION_END_DATE_CONFIG, BITSTREAM_FORM_ACCESS_CONDITION_END_DATE_LAYOUT, - BITSTREAM_FORM_ACCESS_CONDITION_GROUPS_CONFIG, - BITSTREAM_FORM_ACCESS_CONDITION_GROUPS_LAYOUT, BITSTREAM_FORM_ACCESS_CONDITION_START_DATE_CONFIG, BITSTREAM_FORM_ACCESS_CONDITION_START_DATE_LAYOUT, BITSTREAM_FORM_ACCESS_CONDITION_TYPE_CONFIG, @@ -32,14 +30,13 @@ import { BITSTREAM_METADATA_FORM_GROUP_LAYOUT } from './section-upload-file-edit.model'; import { POLICY_DEFAULT_WITH_LIST } from '../../section-upload.component'; -import { isNotEmpty, isNotUndefined } from '../../../../../shared/empty.util'; +import { isNotEmpty } from '../../../../../shared/empty.util'; import { SubmissionFormsModel } from '../../../../../core/config/models/config-submission-forms.model'; import { FormFieldModel } from '../../../../../shared/form/builder/models/form-field.model'; import { AccessConditionOption } from '../../../../../core/config/models/config-access-condition-option.model'; import { SubmissionService } from '../../../../submission.service'; import { FormService } from '../../../../../shared/form/form.service'; import { FormComponent } from '../../../../../shared/form/form.component'; -import { Group } from '../../../../../core/eperson/models/group.model'; /** * This component represents the edit form for bitstream @@ -56,12 +53,6 @@ export class SubmissionSectionUploadFileEditComponent implements OnChanges { */ @Input() availableAccessConditionOptions: any[]; - /** - * The list of available groups for an access condition - * @type {Array} - */ - @Input() availableAccessConditionGroups: Map; - /** * The submission id * @type {string} @@ -210,19 +201,16 @@ export class SubmissionSectionUploadFileEditComponent implements OnChanges { }); const confStart = { relations: [{ match: MATCH_ENABLED, operator: OR_OPERATOR, when: hasStart }] }; const confEnd = { relations: [{ match: MATCH_ENABLED, operator: OR_OPERATOR, when: hasEnd }] }; - const confGroup = { relations: [{ match: MATCH_ENABLED, operator: OR_OPERATOR, when: hasGroups }] }; accessConditionsArrayConfig.groupFactory = () => { const type = new DynamicSelectModel(accessConditionTypeModelConfig, BITSTREAM_FORM_ACCESS_CONDITION_TYPE_LAYOUT); const startDateConfig = Object.assign({}, BITSTREAM_FORM_ACCESS_CONDITION_START_DATE_CONFIG, confStart); const endDateConfig = Object.assign({}, BITSTREAM_FORM_ACCESS_CONDITION_END_DATE_CONFIG, confEnd); - const groupsConfig = Object.assign({}, BITSTREAM_FORM_ACCESS_CONDITION_GROUPS_CONFIG, confGroup); const startDate = new DynamicDatePickerModel(startDateConfig, BITSTREAM_FORM_ACCESS_CONDITION_START_DATE_LAYOUT); const endDate = new DynamicDatePickerModel(endDateConfig, BITSTREAM_FORM_ACCESS_CONDITION_END_DATE_LAYOUT); - const groups = new DynamicSelectModel(groupsConfig, BITSTREAM_FORM_ACCESS_CONDITION_GROUPS_LAYOUT); - return [type, startDate, endDate, groups]; + return [type, startDate, endDate]; }; // Number of access conditions blocks in form @@ -244,19 +232,11 @@ export class SubmissionSectionUploadFileEditComponent implements OnChanges { */ public initModelData(formModel: DynamicFormControlModel[]) { this.fileData.accessConditions.forEach((accessCondition, index) => { - Array.of('name', 'groupUUID', 'startDate', 'endDate') + Array.of('name', 'startDate', 'endDate') .filter((key) => accessCondition.hasOwnProperty(key)) .forEach((key) => { const metadataModel: any = this.formBuilderService.findById(key, formModel, index); if (metadataModel) { - if (key === 'groupUUID' && this.availableAccessConditionGroups.get(accessCondition.name)) { - this.availableAccessConditionGroups.get(accessCondition.name).forEach((group) => { - metadataModel.options.push({ - label: group.name, - value: group.uuid - }); - }); - } if (metadataModel.type === DYNAMIC_FORM_CONTROL_TYPE_DATEPICKER) { const date = new Date(accessCondition[key]); metadataModel.value = { @@ -299,51 +279,18 @@ export class SubmissionSectionUploadFileEditComponent implements OnChanges { if (isNotEmpty(accessCondition)) { const showGroups: boolean = accessCondition.hasStartDate === true || accessCondition.hasEndDate === true; - const groupControl: FormControl = control.parent.get('groupUUID') as FormControl; const startDateControl: FormControl = control.parent.get('startDate') as FormControl; const endDateControl: FormControl = control.parent.get('endDate') as FormControl; // Clear previous state - groupControl.markAsUntouched(); startDateControl.markAsUntouched(); endDateControl.markAsUntouched(); - // Clear previous values - if (showGroups) { - groupControl.setValue(null); - } else { - groupControl.clearValidators(); - groupControl.setValue(accessCondition.groupUUID); - } startDateControl.setValue(null); control.parent.markAsDirty(); endDateControl.setValue(null); if (showGroups) { - if (isNotUndefined(accessCondition.groupUUID) || isNotUndefined(accessCondition.selectGroupUUID)) { - - const groupOptions = []; - if (isNotUndefined(this.availableAccessConditionGroups.get(accessCondition.name))) { - const groupModel = this.formBuilderService.findById( - 'groupUUID', - (model.parent as DynamicFormArrayGroupModel).group) as DynamicSelectModel; - - this.availableAccessConditionGroups.get(accessCondition.name).forEach((group) => { - groupOptions.push({ - label: group.name, - value: group.uuid - }); - }); - - // Due to a bug can't dynamically change the select options, so replace the model with a new one - const confGroup = { relation: groupModel.relations }; - const groupsConfig = Object.assign({}, BITSTREAM_FORM_ACCESS_CONDITION_GROUPS_CONFIG, confGroup); - groupsConfig.options = groupOptions; - (model.parent as DynamicFormGroupModel).group.pop(); - (model.parent as DynamicFormGroupModel).group.push(new DynamicSelectModel(groupsConfig, BITSTREAM_FORM_ACCESS_CONDITION_GROUPS_LAYOUT)); - } - - } if (accessCondition.hasStartDate) { const startDateModel = this.formBuilderService.findById( 'startDate', diff --git a/src/app/submission/sections/upload/file/edit/section-upload-file-edit.model.ts b/src/app/submission/sections/upload/file/edit/section-upload-file-edit.model.ts index dd2ac7a2a7..096954659e 100644 --- a/src/app/submission/sections/upload/file/edit/section-upload-file-edit.model.ts +++ b/src/app/submission/sections/upload/file/edit/section-upload-file-edit.model.ts @@ -108,32 +108,3 @@ export const BITSTREAM_FORM_ACCESS_CONDITION_END_DATE_LAYOUT: DynamicFormControl host: 'col-md-4' } }; - -export const BITSTREAM_FORM_ACCESS_CONDITION_GROUPS_CONFIG: DynamicSelectModelConfig = { - id: 'groupUUID', - label: 'submission.sections.upload.form.group-label', - options: [], - relations: [ - { - match: MATCH_ENABLED, - operator: OR_OPERATOR, - when: [] - } - ], - required: true, - validators: { - required: null - }, - errorMessages: { - required: 'submission.sections.upload.form.group-required' - } -}; -export const BITSTREAM_FORM_ACCESS_CONDITION_GROUPS_LAYOUT: DynamicFormControlLayout = { - element: { - container: 'p-0', - label: 'col-form-label' - }, - grid: { - host: 'col-sm-10' - } -}; diff --git a/src/app/submission/sections/upload/file/section-upload-file.component.html b/src/app/submission/sections/upload/file/section-upload-file.component.html index ea23340e9a..64df1155bf 100644 --- a/src/app/submission/sections/upload/file/section-upload-file.component.html +++ b/src/app/submission/sections/upload/file/section-upload-file.component.html @@ -37,7 +37,6 @@ { comp.collectionId = collectionId; comp.sectionId = sectionId; comp.availableAccessConditionOptions = availableAccessConditionOptions; - comp.availableAccessConditionGroups = availableGroupsMap; comp.collectionPolicyType = collectionPolicyType; comp.fileIndex = fileIndex; comp.fileId = fileId; @@ -258,9 +257,9 @@ describe('SubmissionSectionUploadFileComponent test suite', () => { operationsService.jsonPatchByResourceID.and.returnValue(observableOf(response)); const accessConditionsToSave = [ - { name: 'openaccess', groupUUID: '123456-g' }, - { name: 'lease', endDate: '2019-01-16T00:00:00Z', groupUUID: '123456-g' }, - { name: 'embargo', startDate: '2019-01-16T00:00:00Z', groupUUID: '123456-g' } + { name: 'openaccess' }, + { name: 'lease', endDate: '2019-01-16T00:00:00Z' }, + { name: 'embargo', startDate: '2019-01-16T00:00:00Z' }, ]; comp.saveBitstreamData(event); tick(); diff --git a/src/app/submission/sections/upload/file/section-upload-file.component.ts b/src/app/submission/sections/upload/file/section-upload-file.component.ts index ebaf438125..80945bc1fd 100644 --- a/src/app/submission/sections/upload/file/section-upload-file.component.ts +++ b/src/app/submission/sections/upload/file/section-upload-file.component.ts @@ -12,7 +12,6 @@ import { JsonPatchOperationsBuilder } from '../../../../core/json-patch/builder/ import { JsonPatchOperationPathCombiner } from '../../../../core/json-patch/builder/json-patch-operation-path-combiner'; import { WorkspaceitemSectionUploadFileObject } from '../../../../core/submission/models/workspaceitem-section-upload-file.model'; import { SubmissionFormsModel } from '../../../../core/config/models/config-submission-forms.model'; -import { deleteProperty } from '../../../../shared/object.util'; import { dateToISOFormat } from '../../../../shared/date.util'; import { SubmissionService } from '../../../submission.service'; import { FileService } from '../../../../core/shared/file.service'; @@ -21,7 +20,6 @@ import { SubmissionJsonPatchOperationsService } from '../../../../core/submissio import { SubmissionObject } from '../../../../core/submission/models/submission-object.model'; import { WorkspaceitemSectionUploadObject } from '../../../../core/submission/models/workspaceitem-section-upload.model'; import { SubmissionSectionUploadFileEditComponent } from './edit/section-upload-file-edit.component'; -import { Group } from '../../../../core/eperson/models/group.model'; /** * This component represents a single bitstream contained in the submission @@ -39,12 +37,6 @@ export class SubmissionSectionUploadFileComponent implements OnChanges, OnInit { */ @Input() availableAccessConditionOptions: any[]; - /** - * The list of available groups for an access condition - * @type {Array} - */ - @Input() availableAccessConditionGroups: Map; - /** * The submission id * @type {string} @@ -172,7 +164,7 @@ export class SubmissionSectionUploadFileComponent implements OnChanges, OnInit { * Retrieve bitstream's metadata */ ngOnChanges() { - if (this.availableAccessConditionOptions && this.availableAccessConditionGroups) { + if (this.availableAccessConditionOptions) { // Retrieve file state this.subscriptions.push( this.uploadService @@ -272,28 +264,17 @@ export class SubmissionSectionUploadFileComponent implements OnChanges, OnInit { .forEach((element) => accessConditionOpt = element); if (accessConditionOpt) { - - if (accessConditionOpt.hasStartDate !== true && accessConditionOpt.hasEndDate !== true) { - accessConditionOpt = deleteProperty(accessConditionOpt, 'hasStartDate'); - - accessConditionOpt = deleteProperty(accessConditionOpt, 'hasEndDate'); - accessConditionsToSave.push(accessConditionOpt); - } else { accessConditionOpt = Object.assign({}, accessCondition); accessConditionOpt.name = this.retrieveValueFromField(accessCondition.name); - accessConditionOpt.groupUUID = this.retrieveValueFromField(accessCondition.groupUUID); if (accessCondition.startDate) { const startDate = this.retrieveValueFromField(accessCondition.startDate); accessConditionOpt.startDate = dateToISOFormat(startDate); - accessConditionOpt = deleteProperty(accessConditionOpt, 'endDate'); } if (accessCondition.endDate) { const endDate = this.retrieveValueFromField(accessCondition.endDate); accessConditionOpt.endDate = dateToISOFormat(endDate); - accessConditionOpt = deleteProperty(accessConditionOpt, 'startDate'); } accessConditionsToSave.push(accessConditionOpt); - } } }); diff --git a/src/app/submission/sections/upload/section-upload.component.html b/src/app/submission/sections/upload/section-upload.component.html index f07c524b8a..8a19f66220 100644 --- a/src/app/submission/sections/upload/section-upload.component.html +++ b/src/app/submission/sections/upload/section-upload.component.html @@ -28,7 +28,7 @@
- { expect(comp.availableAccessConditionOptions).toEqual(mockUploadConfigResponse.accessConditionOptions as any); expect(comp.required$.getValue()).toBe(true); expect(compAsAny.subs.length).toBe(2); - expect(compAsAny.availableGroups.size).toBe(2); - expect(compAsAny.availableGroups).toEqual(expectedGroupsMap); expect(compAsAny.fileList).toEqual([]); expect(compAsAny.fileIndexes).toEqual([]); expect(compAsAny.fileNames).toEqual([]); @@ -298,8 +296,6 @@ describe('SubmissionSectionUploadComponent test suite', () => { expect(comp.availableAccessConditionOptions).toEqual(mockUploadConfigResponse.accessConditionOptions as any); expect(comp.required$.getValue()).toBe(true); expect(compAsAny.subs.length).toBe(2); - expect(compAsAny.availableGroups.size).toBe(2); - expect(compAsAny.availableGroups).toEqual(expectedGroupsMap); expect(compAsAny.fileList).toEqual(mockUploadFiles); expect(compAsAny.fileIndexes).toEqual(['123456-test-upload']); expect(compAsAny.fileNames).toEqual(['123456-test-upload.jpg']); diff --git a/src/app/submission/sections/upload/section-upload.component.ts b/src/app/submission/sections/upload/section-upload.component.ts index deffc93466..07a2cb11fa 100644 --- a/src/app/submission/sections/upload/section-upload.component.ts +++ b/src/app/submission/sections/upload/section-upload.component.ts @@ -1,7 +1,7 @@ import { ChangeDetectorRef, Component, Inject } from '@angular/core'; import { BehaviorSubject, combineLatest as observableCombineLatest, Observable, Subscription } from 'rxjs'; -import { distinctUntilChanged, filter, find, map, mergeMap, reduce, switchMap, tap } from 'rxjs/operators'; +import { distinctUntilChanged, filter, map, mergeMap, switchMap, tap } from 'rxjs/operators'; import { SectionModelComponent } from '../models/section.model'; import { hasValue, isNotEmpty, isNotUndefined, isUndefined } from '../../../shared/empty.util'; @@ -23,7 +23,6 @@ import { SectionsService } from '../sections.service'; import { SubmissionService } from '../../submission.service'; import { Collection } from '../../../core/shared/collection.model'; import { AccessConditionOption } from '../../../core/config/models/config-access-condition-option.model'; -import { PaginatedList } from '../../../core/data/paginated-list.model'; import { followLink } from '../../../shared/utils/follow-link-config.model'; import { getFirstSucceededRemoteData } from '../../../core/shared/operators'; @@ -100,11 +99,6 @@ export class SubmissionSectionUploadComponent extends SectionModelComponent { */ public availableAccessConditionOptions: AccessConditionOption[]; // List of accessConditions that an user can select - /** - * List of Groups available for every access condition - */ - public availableGroups: Map; // Groups for any policy - /** * Is the upload required * @type {boolean} @@ -184,53 +178,12 @@ export class SubmissionSectionUploadComponent extends SectionModelComponent { } }),*/ mergeMap(() => config$), - mergeMap((config: SubmissionUploadsModel) => { - this.required$.next(config.required); - this.availableAccessConditionOptions = isNotEmpty(config.accessConditionOptions) ? config.accessConditionOptions : []; - - this.collectionPolicyType = this.availableAccessConditionOptions.length > 0 - ? POLICY_DEFAULT_WITH_LIST - : POLICY_DEFAULT_NO_LIST; - - this.availableGroups = new Map(); - const mapGroups$: Observable[] = []; - // Retrieve Groups for accessCondition Policies - this.availableAccessConditionOptions.forEach((accessCondition: AccessConditionOption) => { - if (accessCondition.hasEndDate === true || accessCondition.hasStartDate === true) { - if (accessCondition.groupUUID) { - mapGroups$.push( - this.groupService.findById(accessCondition.groupUUID).pipe( - find((rd: RemoteData) => !rd.isResponsePending && rd.hasSucceeded), - map((rd: RemoteData) => ({ - accessCondition: accessCondition.name, - groups: [rd.payload] - } as AccessConditionGroupsMapEntry))) - ); - } else if (accessCondition.selectGroupUUID) { - mapGroups$.push( - this.groupService.findById(accessCondition.selectGroupUUID).pipe( - find((rd: RemoteData) => !rd.isResponsePending && rd.hasSucceeded), - mergeMap((group: RemoteData) => group.payload.subgroups), - find((rd: RemoteData>) => !rd.isResponsePending && rd.hasSucceeded), - map((rd: RemoteData>) => ({ - accessCondition: accessCondition.name, - groups: rd.payload.page - } as AccessConditionGroupsMapEntry)) - )); - } - } - }); - return mapGroups$; - }), - mergeMap((entry) => entry), - reduce((acc: any[], entry: AccessConditionGroupsMapEntry) => { - acc.push(entry); - return acc; - }, []), - ).subscribe((entries: AccessConditionGroupsMapEntry[]) => { - entries.forEach((entry: AccessConditionGroupsMapEntry) => { - this.availableGroups.set(entry.accessCondition, entry.groups); - }); + ).subscribe((config: SubmissionUploadsModel) => { + this.required$.next(config.required); + this.availableAccessConditionOptions = isNotEmpty(config.accessConditionOptions) ? config.accessConditionOptions : []; + this.collectionPolicyType = this.availableAccessConditionOptions.length > 0 + ? POLICY_DEFAULT_WITH_LIST + : POLICY_DEFAULT_NO_LIST; this.changeDetectorRef.detectChanges(); }), From dd241c86b2e1d4b21c57a8127efcbdcfc11964f5 Mon Sep 17 00:00:00 2001 From: Marie Verdonck Date: Thu, 11 Feb 2021 12:36:32 +0100 Subject: [PATCH 042/106] 75832: [Issue 962]: Fix no change in search result if no results & fix 404 messages at delete in registry --- .../groups-registry.component.ts | 80 +++++++++---------- 1 file changed, 39 insertions(+), 41 deletions(-) diff --git a/src/app/+admin/admin-access-control/group-registry/groups-registry.component.ts b/src/app/+admin/admin-access-control/group-registry/groups-registry.component.ts index 06fe2d56be..305da75eeb 100644 --- a/src/app/+admin/admin-access-control/group-registry/groups-registry.component.ts +++ b/src/app/+admin/admin-access-control/group-registry/groups-registry.component.ts @@ -26,7 +26,7 @@ import { DSpaceObject } from '../../../core/shared/dspace-object.model'; import { getAllSucceededRemoteDataPayload, getFirstCompletedRemoteData, - getAllSucceededRemoteData + getFirstSucceededRemoteData } from '../../../core/shared/operators'; import { PageInfo } from '../../../core/shared/page-info.model'; import { hasValue } from '../../../shared/empty.util'; @@ -55,15 +55,12 @@ export class GroupsRegistryComponent implements OnInit, OnDestroy { currentPage: 1 }); - /** - * A list of all the current Groups within the repository or the result of the search - */ - groups$: BehaviorSubject>> = new BehaviorSubject>>({} as any); /** * A BehaviorSubject with the list of GroupDtoModel objects made from the Groups in the repository or * as the result of the search */ groupsDto$: BehaviorSubject> = new BehaviorSubject>({} as any); + deletedGroupsIds: string[] = []; /** * An observable for the pageInfo, needed to pass to the pagination component @@ -104,35 +101,6 @@ export class GroupsRegistryComponent implements OnInit, OnDestroy { ngOnInit() { this.search({ query: this.currentSearchQuery }); - - this.subs.push(this.groups$.pipe( - getAllSucceededRemoteDataPayload(), - switchMap((groups: PaginatedList) => { - return observableCombineLatest(groups.page.map((group: Group) => { - return observableCombineLatest([ - this.authorizationService.isAuthorized(FeatureID.CanDelete, hasValue(group) ? group.self : undefined), - this.hasLinkedDSO(group), - this.getSubgroups(group), - this.getMembers(group) - ]).pipe( - map(([isAuthorized, hasLinkedDSO, subgroups, members]: - [boolean, boolean, RemoteData>, RemoteData>]) => { - const groupDtoModel: GroupDtoModel = new GroupDtoModel(); - groupDtoModel.ableToDelete = isAuthorized && !hasLinkedDSO; - groupDtoModel.group = group; - groupDtoModel.subgroups = subgroups.payload; - groupDtoModel.epersons = members.payload; - return groupDtoModel; - } - ) - ); - })).pipe(map((dtos: GroupDtoModel[]) => { - return buildPaginatedList(groups.pageInfo, dtos); - })); - })).subscribe((value: PaginatedList) => { - this.groupsDto$.next(value); - this.pageInfoState$.next(value.pageInfo); - })); } /** @@ -159,14 +127,42 @@ export class GroupsRegistryComponent implements OnInit, OnDestroy { this.searchSub.unsubscribe(); this.subs = this.subs.filter((sub: Subscription) => sub !== this.searchSub); } + this.searchSub = this.groupService.searchGroups(this.currentSearchQuery.trim(), { currentPage: this.config.currentPage, elementsPerPage: this.config.pageSize }).pipe( - getAllSucceededRemoteData() - ).subscribe((groupsRD: RemoteData>) => { - this.groups$.next(groupsRD); - this.pageInfoState$.next(groupsRD.payload.pageInfo); + getAllSucceededRemoteDataPayload(), + switchMap((groups: PaginatedList) => { + if (groups.page.length === 0) { + return observableOf(buildPaginatedList(groups.pageInfo, [])); + } + return observableCombineLatest(groups.page.map((group: Group) => { + if (!this.deletedGroupsIds.includes(group.id)) { + return observableCombineLatest([ + this.authorizationService.isAuthorized(FeatureID.CanDelete, hasValue(group) ? group.self : undefined), + this.hasLinkedDSO(group), + this.getSubgroups(group), + this.getMembers(group) + ]).pipe( + map(([isAuthorized, hasLinkedDSO, subgroups, members]: + [boolean, boolean, RemoteData>, RemoteData>]) => { + const groupDtoModel: GroupDtoModel = new GroupDtoModel(); + groupDtoModel.ableToDelete = isAuthorized && !hasLinkedDSO; + groupDtoModel.group = group; + groupDtoModel.subgroups = subgroups.payload; + groupDtoModel.epersons = members.payload; + return groupDtoModel; + } + ) + ); + } + })).pipe(map((dtos: GroupDtoModel[]) => { + return buildPaginatedList(groups.pageInfo, dtos); + })); + })).subscribe((value: PaginatedList) => { + this.groupsDto$.next(value); + this.pageInfoState$.next(value.pageInfo); }); this.subs.push(this.searchSub); } @@ -179,6 +175,7 @@ export class GroupsRegistryComponent implements OnInit, OnDestroy { this.groupService.delete(group.group.id).pipe(getFirstCompletedRemoteData()) .subscribe((rd: RemoteData) => { if (rd.hasSucceeded) { + this.deletedGroupsIds = [...this.deletedGroupsIds, group.group.id]; this.notificationsService.success(this.translateService.get(this.messagePrefix + 'notification.deleted.success', { name: group.group.name })); this.reset(); } else { @@ -199,14 +196,14 @@ export class GroupsRegistryComponent implements OnInit, OnDestroy { ).subscribe((href: string) => { this.requestService.setStaleByHrefSubstring(href); }); -} + } /** * Get the members (epersons embedded value of a group) * @param group */ getMembers(group: Group): Observable>> { - return this.ePersonDataService.findAllByHref(group._links.epersons.href); + return this.ePersonDataService.findAllByHref(group._links.epersons.href).pipe(getFirstSucceededRemoteData()); } /** @@ -214,7 +211,7 @@ export class GroupsRegistryComponent implements OnInit, OnDestroy { * @param group */ getSubgroups(group: Group): Observable>> { - return this.groupService.findAllByHref(group._links.subgroups.href); + return this.groupService.findAllByHref(group._links.subgroups.href).pipe(getFirstSucceededRemoteData()); } /** @@ -223,6 +220,7 @@ export class GroupsRegistryComponent implements OnInit, OnDestroy { */ hasLinkedDSO(group: Group): Observable { return this.dSpaceObjectDataService.findByHref(group._links.object.href).pipe( + getFirstSucceededRemoteData(), map((rd: RemoteData) => hasValue(rd) && hasValue(rd.payload)), catchError(() => observableOf(false)), ); From 216e09f889cec0bf3e45fcc44050444322ad23c5 Mon Sep 17 00:00:00 2001 From: Kristof De Langhe Date: Thu, 11 Feb 2021 17:04:38 +0100 Subject: [PATCH 043/106] 75316: Feedback 2021-02-11 - import fixes --- package.json | 2 +- .../dynamic-lookup-relation-modal.component.ts | 10 ++-------- src/app/submission/submission.module.ts | 6 +++++- 3 files changed, 8 insertions(+), 10 deletions(-) diff --git a/package.json b/package.json index ef5c3c5e68..d92afb4a40 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "dspace-angular", - "version": "1.22.10", + "version": "0.0.0", "scripts": { "ng": "ng", "config:dev": "ts-node --project ./tsconfig.ts-node.json scripts/set-env.ts --dev", diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/dynamic-lookup-relation-modal.component.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/dynamic-lookup-relation-modal.component.ts index 672ab852ee..83b756157c 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/dynamic-lookup-relation-modal.component.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/dynamic-lookup-relation-modal.component.ts @@ -1,5 +1,5 @@ import { Component, EventEmitter, NgZone, OnDestroy, OnInit, Output } from '@angular/core'; -import { combineLatest as observableCombineLatest, Observable, Subscription, zip } from 'rxjs'; +import { combineLatest as observableCombineLatest, Observable, Subscription } from 'rxjs'; import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; import { hasValue, isNotEmpty } from '../../../../empty.util'; import { map, skip, switchMap, take } from 'rxjs/operators'; @@ -11,11 +11,7 @@ import { ListableObject } from '../../../../object-collection/shared/listable-ob import { RelationshipOptions } from '../../models/relationship-options.model'; import { SearchResult } from '../../../../search/search-result.model'; import { Item } from '../../../../../core/shared/item.model'; -import { - getAllSucceededRemoteData, - getAllSucceededRemoteDataPayload, - getRemoteDataPayload -} from '../../../../../core/shared/operators'; +import { getAllSucceededRemoteDataPayload } from '../../../../../core/shared/operators'; import { AddRelationshipAction, RemoveRelationshipAction, UpdateRelationshipNameVariantAction } from './relationship.actions'; import { RelationshipService } from '../../../../../core/data/relationship.service'; import { RelationshipTypeService } from '../../../../../core/data/relationship-type.service'; @@ -23,8 +19,6 @@ import { Store } from '@ngrx/store'; import { AppState } from '../../../../../app.reducer'; import { Context } from '../../../../../core/shared/context.model'; import { LookupRelationService } from '../../../../../core/data/lookup-relation.service'; -import { RemoteData } from '../../../../../core/data/remote-data'; -import { PaginatedList } from '../../../../../core/data/paginated-list.model'; import { ExternalSource } from '../../../../../core/shared/external-source.model'; import { ExternalSourceService } from '../../../../../core/data/external-source.service'; import { Router } from '@angular/router'; diff --git a/src/app/submission/submission.module.ts b/src/app/submission/submission.module.ts index 951ddae4ac..32c11d6673 100644 --- a/src/app/submission/submission.module.ts +++ b/src/app/submission/submission.module.ts @@ -32,6 +32,8 @@ import { SubmissionImportExternalSearchbarComponent } from './import-external/im import { SubmissionImportExternalPreviewComponent } from './import-external/import-external-preview/submission-import-external-preview.component'; import { SubmissionImportExternalCollectionComponent } from './import-external/import-external-collection/submission-import-external-collection.component'; import { SubmissionSectionCcLicensesComponent } from './sections/cc-license/submission-section-cc-licenses.component'; +import { JournalEntitiesModule } from '../entity-groups/journal-entities/journal-entities.module'; +import { ResearchEntitiesModule } from '../entity-groups/research-entities/research-entities.module'; @NgModule({ imports: [ @@ -39,7 +41,9 @@ import { SubmissionSectionCcLicensesComponent } from './sections/cc-license/subm CoreModule.forRoot(), SharedModule, StoreModule.forFeature('submission', submissionReducers, storeModuleConfig as StoreConfig), - EffectsModule.forFeature(submissionEffects) + EffectsModule.forFeature(submissionEffects), + JournalEntitiesModule.withEntryComponents(), + ResearchEntitiesModule.withEntryComponents(), ], declarations: [ SubmissionSectionUploadAccessConditionsComponent, From 91b647e6e5f703cc1a826c66b20ef4fa0250e993 Mon Sep 17 00:00:00 2001 From: Kristof De Langhe Date: Thu, 11 Feb 2021 17:42:53 +0100 Subject: [PATCH 044/106] 75940: Unused import fix --- src/app/core/data/dso-redirect-data.service.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/app/core/data/dso-redirect-data.service.ts b/src/app/core/data/dso-redirect-data.service.ts index ffe260fd8e..693ae0b41a 100644 --- a/src/app/core/data/dso-redirect-data.service.ts +++ b/src/app/core/data/dso-redirect-data.service.ts @@ -19,7 +19,6 @@ import { RequestService } from './request.service'; import { getFirstCompletedRemoteData } from '../shared/operators'; import { DSpaceObject } from '../shared/dspace-object.model'; import { Item } from '../shared/item.model'; -import { Metadata } from '../shared/metadata.utils'; import { getItemPageRoute } from '../../+item-page/item-page-routing-paths'; @Injectable() From 6b69f82d6d695ba2093ba08c44c6165a3246b7e2 Mon Sep 17 00:00:00 2001 From: reetagithub <51482276+reetagithub@users.noreply.github.com> Date: Mon, 15 Feb 2021 09:56:39 +0200 Subject: [PATCH 045/106] Update fi.json5 Changed the Finnish translations of two 'has files' translation keys, namely search.filters.filter.has_content_in_original_bundle.head and search.filters.applied.f.has_content_in_original_bundle --- src/assets/i18n/fi.json5 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/assets/i18n/fi.json5 b/src/assets/i18n/fi.json5 index fdc1a491ef..8fe22e654e 100644 --- a/src/assets/i18n/fi.json5 +++ b/src/assets/i18n/fi.json5 @@ -2847,7 +2847,7 @@ "search.filters.applied.f.entityType": "Tietueen tyyppi", // "search.filters.applied.f.has_content_in_original_bundle": "Has files", - "search.filters.applied.f.has_content_in_original_bundle": "Tiedostot:", + "search.filters.applied.f.has_content_in_original_bundle": "On tiedostoja", // "search.filters.applied.f.itemtype": "Type", "search.filters.applied.f.itemtype": "Tyyppi", @@ -2939,7 +2939,7 @@ "search.filters.filter.entityType.placeholder": "Tietueen tyyppi", // "search.filters.filter.has_content_in_original_bundle.head": "Has files", - "search.filters.filter.has_content_in_original_bundle.head": "Tiedostot:", + "search.filters.filter.has_content_in_original_bundle.head": "On tiedostoja", // "search.filters.filter.itemtype.head": "Type", "search.filters.filter.itemtype.head": "Tyyppi", From be09ea939c0b4cc21c79249ae440c99c7969df41 Mon Sep 17 00:00:00 2001 From: reetagithub <51482276+reetagithub@users.noreply.github.com> Date: Mon, 15 Feb 2021 10:29:51 +0200 Subject: [PATCH 046/106] Update fi.json5 Due to different grammar in Finnish, removed comma from the key "uploader.or" --- src/assets/i18n/fi.json5 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/assets/i18n/fi.json5 b/src/assets/i18n/fi.json5 index 8fe22e654e..24946bfb0c 100644 --- a/src/assets/i18n/fi.json5 +++ b/src/assets/i18n/fi.json5 @@ -3611,7 +3611,7 @@ "uploader.drag-message": "Raahaa tiedostot tähän", // "uploader.or": ", or", - "uploader.or": ", tai", + "uploader.or": " tai", // "uploader.processing": "Processing", "uploader.processing": "Käsitellään", From 4f0a630e8783f01baa80d1770c7a91b886c172c7 Mon Sep 17 00:00:00 2001 From: Yura Bondarenko Date: Mon, 15 Feb 2021 11:47:34 +0100 Subject: [PATCH 047/106] 76922: Reset router parameters on destroy ConfigurationSearchPageComponent --- .../configuration-search-page.component.ts | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/app/+search-page/configuration-search-page.component.ts b/src/app/+search-page/configuration-search-page.component.ts index befac7f331..a1286ec3cf 100644 --- a/src/app/+search-page/configuration-search-page.component.ts +++ b/src/app/+search-page/configuration-search-page.component.ts @@ -1,7 +1,7 @@ import { HostWindowService } from '../shared/host-window.service'; import { SidebarService } from '../shared/sidebar/sidebar.service'; import { SearchComponent } from './search.component'; -import { ChangeDetectionStrategy, Component, Inject, Input, OnInit } from '@angular/core'; +import { ChangeDetectionStrategy, Component, Inject, Input, OnDestroy, OnInit } from '@angular/core'; import { pushInOut } from '../shared/animations/push'; import { SEARCH_CONFIG_SERVICE } from '../+my-dspace-page/my-dspace-page.component'; import { SearchConfigurationService } from '../core/shared/search/search-configuration.service'; @@ -27,7 +27,7 @@ import { Router } from '@angular/router'; ] }) -export class ConfigurationSearchPageComponent extends SearchComponent implements OnInit { +export class ConfigurationSearchPageComponent extends SearchComponent implements OnInit, OnDestroy { /** * The configuration to use for the search options * If empty, the configuration will be determined by the route parameter called 'configuration' @@ -65,4 +65,17 @@ export class ConfigurationSearchPageComponent extends SearchComponent implements this.routeService.setParameter('fixedFilterQuery', this.fixedFilterQuery); } } + + /** + * Reset the updated query/configuration set in ngOnInit() + */ + ngOnDestroy(): void { + super.ngOnDestroy(); + if (hasValue(this.configuration)) { + this.routeService.setParameter('configuration', undefined); + } + if (hasValue(this.fixedFilterQuery)) { + this.routeService.setParameter('fixedFilterQuery', undefined); + } + } } From fd11ab37519b7129502a1f02ff8ed290d4d9f383 Mon Sep 17 00:00:00 2001 From: Yura Bondarenko Date: Mon, 15 Feb 2021 12:39:49 +0100 Subject: [PATCH 048/106] 76922: Add unit tests for ConfigurationSearchPageComponent --- ...onfiguration-search-page.component.spec.ts | 53 +++++++++++++++++-- src/app/+search-page/search.component.spec.ts | 4 +- 2 files changed, 50 insertions(+), 7 deletions(-) diff --git a/src/app/+search-page/configuration-search-page.component.spec.ts b/src/app/+search-page/configuration-search-page.component.spec.ts index f49d329edd..8ce4154c66 100644 --- a/src/app/+search-page/configuration-search-page.component.spec.ts +++ b/src/app/+search-page/configuration-search-page.component.spec.ts @@ -2,20 +2,63 @@ import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { configureSearchComponentTestingModule } from './search.component.spec'; import { ConfigurationSearchPageComponent } from './configuration-search-page.component'; import { SearchConfigurationService } from '../core/shared/search/search-configuration.service'; +import { Component, ViewChild } from '@angular/core'; +import { Router } from '@angular/router'; +import { RouteService } from '../core/services/route.service'; +import createSpy = jasmine.createSpy; + +const CONFIGURATION = 'test-configuration'; +const QUERY = 'test query'; + +@Component({ + template: ` + + + `, +}) +class HostComponent { + @ViewChild('configurationSearchPage') configurationSearchPage: ConfigurationSearchPageComponent; +} describe('ConfigurationSearchPageComponent', () => { let comp: ConfigurationSearchPageComponent; - let fixture: ComponentFixture; + let fixture: ComponentFixture; let searchConfigService: SearchConfigurationService; + let routeService: RouteService; beforeEach(waitForAsync(() => { - configureSearchComponentTestingModule(ConfigurationSearchPageComponent); + configureSearchComponentTestingModule(ConfigurationSearchPageComponent, [HostComponent]); })); beforeEach(() => { - fixture = TestBed.createComponent(ConfigurationSearchPageComponent); - comp = fixture.componentInstance; - searchConfigService = (comp as any).searchConfigService; + fixture = TestBed.createComponent(HostComponent); + + // Set router url to a dummy value for SearchComponent#ngOnInit + spyOnProperty(TestBed.inject(Router), 'url', 'get').and.returnValue('some/url/here'); + + routeService = TestBed.inject(RouteService); + routeService.setParameter = createSpy('setParameter'); + fixture.detectChanges(); + + comp = fixture.componentInstance.configurationSearchPage; + searchConfigService = (comp as any).searchConfigService; + }); + + it('should set route parameters on init', () => { + expect(comp.configuration).toBe(CONFIGURATION); + expect(comp.fixedFilterQuery).toBe(QUERY); + + expect(routeService.setParameter).toHaveBeenCalledWith('configuration', CONFIGURATION); + expect(routeService.setParameter).toHaveBeenCalledWith('fixedFilterQuery', QUERY); + }); + + it('should reset route parameters on destroy', () => { + fixture.destroy(); + + expect(routeService.setParameter).toHaveBeenCalledWith('configuration', undefined); + expect(routeService.setParameter).toHaveBeenCalledWith('fixedFilterQuery', undefined); }); }); diff --git a/src/app/+search-page/search.component.spec.ts b/src/app/+search-page/search.component.spec.ts index 2ad497aa49..989aed403d 100644 --- a/src/app/+search-page/search.component.spec.ts +++ b/src/app/+search-page/search.component.spec.ts @@ -84,10 +84,10 @@ const routeServiceStub = { } }; -export function configureSearchComponentTestingModule(compType) { +export function configureSearchComponentTestingModule(compType, additionalDeclarations: any[] = []) { TestBed.configureTestingModule({ imports: [TranslateModule.forRoot(), RouterTestingModule.withRoutes([]), NoopAnimationsModule, NgbCollapseModule], - declarations: [compType], + declarations: [compType, ...additionalDeclarations], providers: [ { provide: SearchService, useValue: searchServiceStub }, { From 8b57610be4ab38685b43f4a2a806876a8bc50fa2 Mon Sep 17 00:00:00 2001 From: Giuseppe Digilio Date: Fri, 19 Feb 2021 12:09:12 +0100 Subject: [PATCH 049/106] [CST-3620] Add component destroy on reload of loaded object within the listable-object-component-loader.component.ts --- .../listable-object-component-loader.component.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/app/shared/object-collection/shared/listable-object/listable-object-component-loader.component.ts b/src/app/shared/object-collection/shared/listable-object/listable-object-component-loader.component.ts index 9fc27d65bf..ff85c59885 100644 --- a/src/app/shared/object-collection/shared/listable-object/listable-object-component-loader.component.ts +++ b/src/app/shared/object-collection/shared/listable-object/listable-object-component-loader.component.ts @@ -1,4 +1,4 @@ -import { Component, ComponentFactoryResolver, Input, OnDestroy, OnInit, ViewChild, ElementRef } from '@angular/core'; +import { Component, ComponentFactoryResolver, ElementRef, Input, OnDestroy, OnInit, ViewChild } from '@angular/core'; import { ListableObject } from '../listable-object.model'; import { ViewMode } from '../../../../core/shared/view-mode.model'; import { Context } from '../../../../core/shared/context.model'; @@ -9,6 +9,7 @@ import { CollectionElementLinkType } from '../../collection-element-link.type'; import { hasValue } from '../../../empty.util'; import { Subscription } from 'rxjs/internal/Subscription'; import { DSpaceObject } from '../../../../core/shared/dspace-object.model'; +import { take } from 'rxjs/operators'; @Component({ selector: 'ds-listable-object-component-loader', @@ -135,13 +136,14 @@ export class ListableObjectComponentLoaderComponent implements OnInit, OnDestroy (componentRef.instance as any).value = this.value; if ((componentRef.instance as any).reloadedObject) { - this.subs.push((componentRef.instance as any).reloadedObject.subscribe((reloadedObject: DSpaceObject) => { + (componentRef.instance as any).reloadedObject.pipe(take(1)).subscribe((reloadedObject: DSpaceObject) => { if (reloadedObject) { + componentRef.destroy(); console.log('Reloaded Object from/to', this.object, reloadedObject); this.object = reloadedObject; this.instantiateComponent(reloadedObject); } - })); + }); } } From 27905b2038e937d4bf1640288204a74de23438fb Mon Sep 17 00:00:00 2001 From: Giuseppe Digilio Date: Fri, 19 Feb 2021 13:08:38 +0100 Subject: [PATCH 050/106] [CST-3620] Fix issue with TasksService findByItem method that returns stale response when second request is made --- src/app/core/tasks/tasks.service.ts | 89 +++++++++++++++-------------- 1 file changed, 45 insertions(+), 44 deletions(-) diff --git a/src/app/core/tasks/tasks.service.ts b/src/app/core/tasks/tasks.service.ts index 851112aa42..f23c71e65e 100644 --- a/src/app/core/tasks/tasks.service.ts +++ b/src/app/core/tasks/tasks.service.ts @@ -1,14 +1,20 @@ import { HttpHeaders } from '@angular/common/http'; import { Observable } from 'rxjs'; -import { distinctUntilChanged, filter, find, map, mergeMap, switchMap, tap } from 'rxjs/operators'; +import { distinctUntilChanged, filter, find, map, mergeMap, tap } from 'rxjs/operators'; import { DataService } from '../data/data.service'; -import { DeleteRequest, FindListOptions, PostRequest, TaskDeleteRequest, TaskPostRequest } from '../data/request.models'; +import { + DeleteRequest, + FindListOptions, + PostRequest, + TaskDeleteRequest, + TaskPostRequest +} from '../data/request.models'; import { hasValue, isNotEmpty } from '../../shared/empty.util'; import { HttpOptions } from '../dspace-rest/dspace-rest.service'; import { ProcessTaskResponse } from './models/process-task-response'; -import { getFirstCompletedRemoteData, getFirstSucceededRemoteData } from '../shared/operators'; +import { getAllCompletedRemoteData, getFirstCompletedRemoteData } from '../shared/operators'; import { CacheableObject } from '../cache/object-cache.reducer'; import { RemoteData } from '../data/remote-data'; import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; @@ -18,27 +24,6 @@ import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; */ export abstract class TasksService extends DataService { - /** - * Fetch a RestRequest - * - * @param requestId - * The base endpoint for the type of object - * @return Observable - * server response - */ - protected fetchRequest(requestId: string): Observable { - return this.rdbService.buildFromRequestUUID(requestId).pipe( - getFirstCompletedRemoteData(), - map((response: RemoteData) => { - if (response.hasFailed) { - return new ProcessTaskResponse(false, response.statusCode, response.errorMessage); - } else { - return new ProcessTaskResponse(true, response.statusCode); - } - }) - ); - } - /** * Create the HREF for a specific submission object based on its identifier * @@ -98,17 +83,6 @@ export abstract class TasksService extends DataServic distinctUntilChanged()); } - /** - * Create a new HttpOptions - */ - protected makeHttpOptions() { - const options: HttpOptions = Object.create({}); - let headers = new HttpHeaders(); - headers = headers.append('Content-Type', 'application/x-www-form-urlencoded'); - options.headers = headers; - return options; - } - /** * Get the endpoint of a task by scopeId. * @param linkPath @@ -131,19 +105,46 @@ export abstract class TasksService extends DataServic * links to follow */ public searchTask(searchMethod: string, options: FindListOptions = {}, ...linksToFollow: FollowLinkConfig[]): Observable> { - const correlationId = Math.floor(Math.random() * 1000); const hrefObs = this.getSearchByHref(searchMethod, options, ...linksToFollow); return hrefObs.pipe( - tap(href => console.log('CorrelationId: ' + correlationId, 'SearchTaskHref', href)), find((href: string) => hasValue(href)), - switchMap((href) => this.findByHref(href, false, true).pipe( - getFirstSucceededRemoteData(), - tap(() => { - this.requestService.setStaleByHrefSubstring(searchMethod); - }))), - tap((response) => { - console.log('CorrelationId: ' + correlationId, 'SearchTaskResponse', response.payload); + mergeMap((href) => this.findByHref(href, false, true).pipe( + getAllCompletedRemoteData(), + filter((rd: RemoteData) => !rd.isSuccessStale), + tap(() => this.requestService.setStaleByHrefSubstring(href))) + ) + ); + } + + /** + * Fetch a RestRequest + * + * @param requestId + * The base endpoint for the type of object + * @return Observable + * server response + */ + protected fetchRequest(requestId: string): Observable { + return this.rdbService.buildFromRequestUUID(requestId).pipe( + getFirstCompletedRemoteData(), + map((response: RemoteData) => { + if (response.hasFailed) { + return new ProcessTaskResponse(false, response.statusCode, response.errorMessage); + } else { + return new ProcessTaskResponse(true, response.statusCode); + } }) ); } + + /** + * Create a new HttpOptions + */ + protected makeHttpOptions() { + const options: HttpOptions = Object.create({}); + let headers = new HttpHeaders(); + headers = headers.append('Content-Type', 'application/x-www-form-urlencoded'); + options.headers = headers; + return options; + } } From c78cd9ad71cc361cf6f9bc6aca68ff46e614f161 Mon Sep 17 00:00:00 2001 From: Giuseppe Digilio Date: Fri, 19 Feb 2021 13:09:38 +0100 Subject: [PATCH 051/106] [CST-3620] Remove console logs --- src/app/core/tasks/claimed-task-data.service.ts | 7 ++----- .../listable-object-component-loader.component.ts | 1 - 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/src/app/core/tasks/claimed-task-data.service.ts b/src/app/core/tasks/claimed-task-data.service.ts index c8ab170bfe..f2d5c94585 100644 --- a/src/app/core/tasks/claimed-task-data.service.ts +++ b/src/app/core/tasks/claimed-task-data.service.ts @@ -65,12 +65,12 @@ export class ClaimedTaskDataService extends TasksService { * * @param scopeId * The task id + * @param poolTaskHref + * The pool task Href * @return {Observable} * Emit the server response */ public claimTask(scopeId: string, poolTaskHref: string): Observable { - console.log('=========================================='); - console.log('User ClaimTask request for:', scopeId, poolTaskHref); const options: HttpOptions = Object.create({}); let headers = new HttpHeaders(); headers = headers.append('Content-Type', 'text/uri-list'); @@ -101,8 +101,6 @@ export class ClaimedTaskDataService extends TasksService { * Emit the server response */ public returnToPoolTask(scopeId: string): Observable { - console.log('=========================================='); - console.log('User ReturnToPool request for:', scopeId); return this.deleteById(this.linkPath, scopeId, this.makeHttpOptions()); } @@ -114,7 +112,6 @@ export class ClaimedTaskDataService extends TasksService { * The server response */ public findByItem(uuid: string): Observable> { - console.log('claimedTaskService findByItem', uuid); const options = new FindListOptions(); options.searchParams = [ new RequestParam('uuid', uuid) diff --git a/src/app/shared/object-collection/shared/listable-object/listable-object-component-loader.component.ts b/src/app/shared/object-collection/shared/listable-object/listable-object-component-loader.component.ts index ff85c59885..fb58c2c83d 100644 --- a/src/app/shared/object-collection/shared/listable-object/listable-object-component-loader.component.ts +++ b/src/app/shared/object-collection/shared/listable-object/listable-object-component-loader.component.ts @@ -139,7 +139,6 @@ export class ListableObjectComponentLoaderComponent implements OnInit, OnDestroy (componentRef.instance as any).reloadedObject.pipe(take(1)).subscribe((reloadedObject: DSpaceObject) => { if (reloadedObject) { componentRef.destroy(); - console.log('Reloaded Object from/to', this.object, reloadedObject); this.object = reloadedObject; this.instantiateComponent(reloadedObject); } From 523b7a497cbac5a08cf8dae9fcf85051d5d2648b Mon Sep 17 00:00:00 2001 From: Alessandro Martelli Date: Mon, 22 Feb 2021 16:56:29 +0100 Subject: [PATCH 052/106] [CSTPER-3620] Fixed workspace followlink and search filters update --- .../my-dspace-page.component.html | 5 ++- .../my-dspace-page.component.ts | 16 ++++++++- .../my-dspace-results.component.html | 3 +- .../my-dspace-results.component.ts | 8 ++++- .../tasks/claimed-task-data.service.spec.ts | 11 ++---- .../core/tasks/claimed-task-data.service.ts | 8 +---- .../core/tasks/pool-task-data.service.spec.ts | 10 ++---- src/app/core/tasks/pool-task-data.service.ts | 10 ++---- .../mydspace-reloadable-actions.ts | 5 +-- .../object-collection.component.html | 1 + .../object-collection.component.ts | 5 +++ ...table-object-component-loader.component.ts | 18 +++++++++- .../object-list/object-list.component.html | 4 ++- .../object-list/object-list.component.ts | 5 +++ .../search-filters.component.spec.ts | 24 ++++++++++++- .../search-filters.component.ts | 36 ++++++++++++++++--- .../search-sidebar.component.html | 2 +- .../search-sidebar.component.ts | 6 ++++ 18 files changed, 130 insertions(+), 47 deletions(-) diff --git a/src/app/+my-dspace-page/my-dspace-page.component.html b/src/app/+my-dspace-page/my-dspace-page.component.html index 6f1cc41a1e..55d1e304d0 100644 --- a/src/app/+my-dspace-page/my-dspace-page.component.html +++ b/src/app/+my-dspace-page/my-dspace-page.component.html @@ -6,6 +6,7 @@ [configurationList]="(configurationList$ | async)" [resultCount]="(resultsRD$ | async)?.payload.totalElements" [viewModeList]="viewModeList" + [refreshFilters]="refreshFilters.asObservable()" [inPlaceSearch]="inPlaceSearch">
@@ -39,7 +41,8 @@
+ [context]="context$ | async" + (contentChange)="onResultsContentChange()">
diff --git a/src/app/+my-dspace-page/my-dspace-page.component.ts b/src/app/+my-dspace-page/my-dspace-page.component.ts index 0f08795cdc..5ee2a47d9f 100644 --- a/src/app/+my-dspace-page/my-dspace-page.component.ts +++ b/src/app/+my-dspace-page/my-dspace-page.component.ts @@ -7,7 +7,7 @@ import { OnInit } from '@angular/core'; -import { BehaviorSubject, Observable, Subscription } from 'rxjs'; +import { BehaviorSubject, Observable, Subject, Subscription } from 'rxjs'; import { map, switchMap, tap, } from 'rxjs/operators'; import { PaginatedList } from '../core/data/paginated-list.model'; @@ -101,6 +101,11 @@ export class MyDSpacePageComponent implements OnInit { */ context$: Observable; + /** + * Emit an event every time search sidebars must refresh their contents. + */ + refreshFilters: Subject = new Subject(); + constructor(private service: SearchService, private sidebarService: SidebarService, private windowService: HostWindowService, @@ -148,6 +153,14 @@ export class MyDSpacePageComponent implements OnInit { } + /** + * Handle the contentChange event from within the my dspace content. + * Notify search sidebars to refresh their content. + */ + onResultsContentChange() { + this.refreshFilters.next(); + } + /** * Set the sidebar to a collapsed state */ @@ -184,5 +197,6 @@ export class MyDSpacePageComponent implements OnInit { if (hasValue(this.sub)) { this.sub.unsubscribe(); } + this.refreshFilters.complete(); } } diff --git a/src/app/+my-dspace-page/my-dspace-results/my-dspace-results.component.html b/src/app/+my-dspace-page/my-dspace-results/my-dspace-results.component.html index 3a829e6ece..2710285f0d 100644 --- a/src/app/+my-dspace-page/my-dspace-results/my-dspace-results.component.html +++ b/src/app/+my-dspace-page/my-dspace-results/my-dspace-results.component.html @@ -5,7 +5,8 @@ [sortConfig]="searchConfig.sort" [objects]="searchResults" [hideGear]="true" - [context]="context"> + [context]="context" + (contentChange)="contentChange.emit()"> diff --git a/src/app/+my-dspace-page/my-dspace-results/my-dspace-results.component.ts b/src/app/+my-dspace-page/my-dspace-results/my-dspace-results.component.ts index 35b13c8bae..32b6d9c9f7 100644 --- a/src/app/+my-dspace-page/my-dspace-results/my-dspace-results.component.ts +++ b/src/app/+my-dspace-page/my-dspace-results/my-dspace-results.component.ts @@ -1,4 +1,4 @@ -import { Component, Input } from '@angular/core'; +import { Component, EventEmitter, Input, Output } from '@angular/core'; import { RemoteData } from '../../core/data/remote-data'; import { DSpaceObject } from '../../core/shared/dspace-object.model'; import { fadeIn, fadeInOut } from '../../shared/animations/fade'; @@ -41,6 +41,12 @@ export class MyDSpaceResultsComponent { * The current context for the search results */ @Input() context: Context; + + /** + * Emit when one of the results has changed. + */ + @Output() contentChange = new EventEmitter(); + /** * A boolean representing if search results entry are separated by a line */ diff --git a/src/app/core/tasks/claimed-task-data.service.spec.ts b/src/app/core/tasks/claimed-task-data.service.spec.ts index 977590fbed..ab9727592e 100644 --- a/src/app/core/tasks/claimed-task-data.service.spec.ts +++ b/src/app/core/tasks/claimed-task-data.service.spec.ts @@ -11,11 +11,10 @@ import { ClaimedTaskDataService } from './claimed-task-data.service'; import { of as observableOf } from 'rxjs/internal/observable/of'; import { FindListOptions } from '../data/request.models'; import { RequestParam } from '../cache/models/request-param.model'; -import { followLink } from '../../shared/utils/follow-link-config.model'; import { getTestScheduler } from 'jasmine-marbles'; import { TestScheduler } from 'rxjs/testing'; import { HttpOptions } from '../dspace-rest/dspace-rest.service'; -import {createSuccessfulRemoteDataObject$} from '../../shared/remote-data.utils'; +import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; describe('ClaimedTaskDataService', () => { let scheduler: TestScheduler; @@ -120,13 +119,7 @@ describe('ClaimedTaskDataService', () => { new RequestParam('uuid', 'a0db0fde-1d12-4d43-bd0d-0f43df8d823c') ]; - expect(service.searchTask).toHaveBeenCalledWith('findByItem', - findListOptions, - followLink('workflowitem', - null, - true, - false, - true)); + expect(service.searchTask).toHaveBeenCalledWith('findByItem', findListOptions); }); }); }); diff --git a/src/app/core/tasks/claimed-task-data.service.ts b/src/app/core/tasks/claimed-task-data.service.ts index f2d5c94585..9cfd5a44d6 100644 --- a/src/app/core/tasks/claimed-task-data.service.ts +++ b/src/app/core/tasks/claimed-task-data.service.ts @@ -16,7 +16,6 @@ import { CLAIMED_TASK } from './models/claimed-task-object.resource-type'; import { ProcessTaskResponse } from './models/process-task-response'; import { TasksService } from './tasks.service'; import { RemoteData } from '../data/remote-data'; -import { followLink } from '../../shared/utils/follow-link-config.model'; import { FindListOptions } from '../data/request.models'; import { RequestParam } from '../cache/models/request-param.model'; import { HttpOptions } from '../dspace-rest/dspace-rest.service'; @@ -116,12 +115,7 @@ export class ClaimedTaskDataService extends TasksService { options.searchParams = [ new RequestParam('uuid', uuid) ]; - return this.searchTask('findByItem', options, followLink('workflowitem', - null, - true, - false, - true)) - .pipe(getFirstSucceededRemoteData()); + return this.searchTask('findByItem', options).pipe(getFirstSucceededRemoteData()); } } diff --git a/src/app/core/tasks/pool-task-data.service.spec.ts b/src/app/core/tasks/pool-task-data.service.spec.ts index 07fa5a9d66..7279c96e5c 100644 --- a/src/app/core/tasks/pool-task-data.service.spec.ts +++ b/src/app/core/tasks/pool-task-data.service.spec.ts @@ -11,11 +11,10 @@ import { PoolTaskDataService } from './pool-task-data.service'; import { getTestScheduler } from 'jasmine-marbles'; import { TestScheduler } from 'rxjs/testing'; import { of as observableOf } from 'rxjs/internal/observable/of'; -import { followLink } from '../../shared/utils/follow-link-config.model'; import { FindListOptions } from '../data/request.models'; import { RequestParam } from '../cache/models/request-param.model'; import { HttpOptions } from '../dspace-rest/dspace-rest.service'; -import {createSuccessfulRemoteDataObject$} from '../../shared/remote-data.utils'; +import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; describe('PoolTaskDataService', () => { let scheduler: TestScheduler; @@ -74,12 +73,7 @@ describe('PoolTaskDataService', () => { new RequestParam('uuid', 'a0db0fde-1d12-4d43-bd0d-0f43df8d823c') ]; - expect(service.searchTask).toHaveBeenCalledWith('findByItem', findListOptions, - followLink('workflowitem', - null, - true, - false, - true)); + expect(service.searchTask).toHaveBeenCalledWith('findByItem', findListOptions); }); }); diff --git a/src/app/core/tasks/pool-task-data.service.ts b/src/app/core/tasks/pool-task-data.service.ts index 83aad10fe5..d44e402e7f 100644 --- a/src/app/core/tasks/pool-task-data.service.ts +++ b/src/app/core/tasks/pool-task-data.service.ts @@ -15,10 +15,9 @@ import { PoolTask } from './models/pool-task-object.model'; import { POOL_TASK } from './models/pool-task-object.resource-type'; import { TasksService } from './tasks.service'; import { RemoteData } from '../data/remote-data'; -import { followLink } from '../../shared/utils/follow-link-config.model'; import { FindListOptions } from '../data/request.models'; import { RequestParam } from '../cache/models/request-param.model'; -import { getFirstSucceededRemoteData } from '../shared/operators'; +import { getFirstCompletedRemoteData } from '../shared/operators'; /** * The service handling all REST requests for PoolTask @@ -71,12 +70,7 @@ export class PoolTaskDataService extends TasksService { options.searchParams = [ new RequestParam('uuid', uuid) ]; - return this.searchTask('findByItem', options, followLink('workflowitem', - null, - true, - false, - true)) - .pipe(getFirstSucceededRemoteData()); + return this.searchTask('findByItem', options).pipe(getFirstCompletedRemoteData()); } /** diff --git a/src/app/shared/mydspace-actions/mydspace-reloadable-actions.ts b/src/app/shared/mydspace-actions/mydspace-reloadable-actions.ts index c24d493d6b..7043191915 100644 --- a/src/app/shared/mydspace-actions/mydspace-reloadable-actions.ts +++ b/src/app/shared/mydspace-actions/mydspace-reloadable-actions.ts @@ -1,7 +1,7 @@ import { Router } from '@angular/router'; import { Component, Injector, OnInit } from '@angular/core'; -import { map, switchMap, tap} from 'rxjs/operators'; +import { map, switchMap, take, tap } from 'rxjs/operators'; import { RemoteData } from '../../core/data/remote-data'; import { DataService } from '../../core/data/data.service'; @@ -64,6 +64,7 @@ export abstract class MyDSpaceReloadableActionsComponent { this.processing$.next(true); return this.actionExecution().pipe( + take(1), switchMap((res: ProcessTaskResponse) => { if (res.hasSucceeded) { return this._reloadObject().pipe( @@ -137,7 +138,7 @@ export abstract class MyDSpaceReloadableActionsComponent { - return dso ? this.convertReloadedObject(dso) : dso; + return dso ? this.convertReloadedObject(dso) : dso; })); } diff --git a/src/app/shared/object-collection/object-collection.component.html b/src/app/shared/object-collection/object-collection.component.html index e696170a6f..f2778757ef 100644 --- a/src/app/shared/object-collection/object-collection.component.html +++ b/src/app/shared/object-collection/object-collection.component.html @@ -18,6 +18,7 @@ [importable]="importable" [importConfig]="importConfig" (importObject)="importObject.emit($event)" + (contentChange)="contentChange.emit()" *ngIf="(currentMode$ | async) === viewModeEnum.ListElement"> diff --git a/src/app/shared/object-collection/object-collection.component.ts b/src/app/shared/object-collection/object-collection.component.ts index ffb5c42880..52881f5eaf 100644 --- a/src/app/shared/object-collection/object-collection.component.ts +++ b/src/app/shared/object-collection/object-collection.component.ts @@ -53,6 +53,11 @@ export class ObjectCollectionComponent implements OnInit { @Output() deselectObject: EventEmitter = new EventEmitter(); @Output() selectObject: EventEmitter = new EventEmitter(); + /** + * Emit when one of the collection's object has changed. + */ + @Output() contentChange = new EventEmitter(); + /** * Whether or not to add an import button to the object elements */ diff --git a/src/app/shared/object-collection/shared/listable-object/listable-object-component-loader.component.ts b/src/app/shared/object-collection/shared/listable-object/listable-object-component-loader.component.ts index fb58c2c83d..51468993c1 100644 --- a/src/app/shared/object-collection/shared/listable-object/listable-object-component-loader.component.ts +++ b/src/app/shared/object-collection/shared/listable-object/listable-object-component-loader.component.ts @@ -1,4 +1,14 @@ -import { Component, ComponentFactoryResolver, ElementRef, Input, OnDestroy, OnInit, ViewChild } from '@angular/core'; +import { + Component, + ComponentFactoryResolver, + ElementRef, + Input, + OnDestroy, + OnInit, + Output, + ViewChild, + EventEmitter +} from '@angular/core'; import { ListableObject } from '../listable-object.model'; import { ViewMode } from '../../../../core/shared/view-mode.model'; import { Context } from '../../../../core/shared/context.model'; @@ -76,6 +86,11 @@ export class ListableObjectComponentLoaderComponent implements OnInit, OnDestroy */ @ViewChild('badges', { static: true }) badges: ElementRef; + /** + * Emit when the listable object has been reloaded. + */ + @Output() contentChange = new EventEmitter(); + /** * Whether or not the "Private" badge should be displayed for this listable object */ @@ -141,6 +156,7 @@ export class ListableObjectComponentLoaderComponent implements OnInit, OnDestroy componentRef.destroy(); this.object = reloadedObject; this.instantiateComponent(reloadedObject); + this.contentChange.emit(reloadedObject); } }); } diff --git a/src/app/shared/object-list/object-list.component.html b/src/app/shared/object-list/object-list.component.html index 4aecaaac8f..331ff1cb28 100644 --- a/src/app/shared/object-list/object-list.component.html +++ b/src/app/shared/object-list/object-list.component.html @@ -22,7 +22,9 @@ [importConfig]="importConfig" (importObject)="importObject.emit($event)"> + [listID]="selectionConfig?.listId" + (contentChange)="contentChange.emit()" + > diff --git a/src/app/shared/object-list/object-list.component.ts b/src/app/shared/object-list/object-list.component.ts index b58c8b358e..6f4caae939 100644 --- a/src/app/shared/object-list/object-list.component.ts +++ b/src/app/shared/object-list/object-list.component.ts @@ -76,6 +76,11 @@ export class ObjectListComponent { */ @Input() importConfig: { importLabel: string }; + /** + * Emit when one of the listed object has changed. + */ + @Output() contentChange = new EventEmitter(); + /** * The current listable objects */ diff --git a/src/app/shared/search/search-filters/search-filters.component.spec.ts b/src/app/shared/search/search-filters/search-filters.component.spec.ts index aaea82df27..2dd810db63 100644 --- a/src/app/shared/search/search-filters/search-filters.component.spec.ts +++ b/src/app/shared/search/search-filters/search-filters.component.spec.ts @@ -7,7 +7,7 @@ import { NoopAnimationsModule } from '@angular/platform-browser/animations'; import { SearchFilterService } from '../../../core/shared/search/search-filter.service'; import { SearchFiltersComponent } from './search-filters.component'; import { SearchService } from '../../../core/shared/search/search.service'; -import { of as observableOf } from 'rxjs'; +import { of as observableOf, Subject } from 'rxjs'; import { SEARCH_CONFIG_SERVICE } from '../../../+my-dspace-page/my-dspace-page.component'; import { SearchConfigurationServiceStub } from '../../testing/search-configuration-service.stub'; @@ -66,4 +66,26 @@ describe('SearchFiltersComponent', () => { }); }); + describe('when refreshSearch observable is present and emit events', () => { + + let refreshFiltersEmitter: Subject; + + beforeEach(() => { + spyOn(comp, 'initFilters').and.callFake(() => { /****/}); + + refreshFiltersEmitter = new Subject(); + comp.refreshFilters = refreshFiltersEmitter.asObservable(); + comp.ngOnInit(); + }); + + it('should reinitialize search filters', () => { + + expect(comp.initFilters).toHaveBeenCalledTimes(1); + + refreshFiltersEmitter.next(); + + expect(comp.initFilters).toHaveBeenCalledTimes(2); + }); + }); + }); diff --git a/src/app/shared/search/search-filters/search-filters.component.ts b/src/app/shared/search/search-filters/search-filters.component.ts index 5daa0f17e0..348af6743d 100644 --- a/src/app/shared/search/search-filters/search-filters.component.ts +++ b/src/app/shared/search/search-filters/search-filters.component.ts @@ -1,4 +1,4 @@ -import { Component, Inject, Input, OnInit } from '@angular/core'; +import { Component, Inject, Input, OnDestroy, OnInit } from '@angular/core'; import { Observable } from 'rxjs'; import { map, switchMap } from 'rxjs/operators'; @@ -12,17 +12,19 @@ import { getFirstSucceededRemoteData } from '../../../core/shared/operators'; import { SEARCH_CONFIG_SERVICE } from '../../../+my-dspace-page/my-dspace-page.component'; import { currentPath } from '../../utils/route.utils'; import { Router } from '@angular/router'; +import { hasValue } from '../../empty.util'; @Component({ selector: 'ds-search-filters', styleUrls: ['./search-filters.component.scss'], templateUrl: './search-filters.component.html', + }) /** * This component represents the part of the search sidebar that contains filters. */ -export class SearchFiltersComponent implements OnInit { +export class SearchFiltersComponent implements OnInit, OnDestroy { /** * An observable containing configuration about which filters are shown and how they are shown */ @@ -39,11 +41,18 @@ export class SearchFiltersComponent implements OnInit { */ @Input() inPlaceSearch; + /** + * Emits when the search filters values may be stale, and so they must be refreshed. + */ + @Input() refreshFilters: Observable; + /** * Link to the search page */ searchLink: string; + subs = []; + /** * Initialize instance variables * @param {SearchService} searchService @@ -58,9 +67,12 @@ export class SearchFiltersComponent implements OnInit { } ngOnInit(): void { - this.filters = this.searchConfigService.searchOptions.pipe( - switchMap((options) => this.searchService.getConfig(options.scope, options.configuration).pipe(getFirstSucceededRemoteData())), - ); + + this.initFilters(); + + if (this.refreshFilters) { + this.subs.push(this.refreshFilters.subscribe(() => this.initFilters())); + } this.clearParams = this.searchConfigService.getCurrentFrontendFilters().pipe(map((filters) => { Object.keys(filters).forEach((f) => filters[f] = null); @@ -69,6 +81,12 @@ export class SearchFiltersComponent implements OnInit { this.searchLink = this.getSearchLink(); } + initFilters() { + this.filters = this.searchConfigService.searchOptions.pipe( + switchMap((options) => this.searchService.getConfig(options.scope, options.configuration).pipe(getFirstSucceededRemoteData())), + ); + } + /** * @returns {string} The base path to the search page, or the current page when inPlaceSearch is true */ @@ -85,4 +103,12 @@ export class SearchFiltersComponent implements OnInit { trackUpdate(index, config: SearchFilterConfig) { return config ? config.name : undefined; } + + ngOnDestroy() { + this.subs.forEach((sub) => { + if (hasValue(sub)) { + sub.unsubscribe(); + } + }); + } } diff --git a/src/app/shared/search/search-sidebar/search-sidebar.component.html b/src/app/shared/search/search-sidebar/search-sidebar.component.html index 638aed7834..74abeadfd8 100644 --- a/src/app/shared/search/search-sidebar/search-sidebar.component.html +++ b/src/app/shared/search/search-sidebar/search-sidebar.component.html @@ -11,7 +11,7 @@ diff --git a/src/app/shared/search/search-sidebar/search-sidebar.component.ts b/src/app/shared/search/search-sidebar/search-sidebar.component.ts index 42e8a444bc..2060e0f345 100644 --- a/src/app/shared/search/search-sidebar/search-sidebar.component.ts +++ b/src/app/shared/search/search-sidebar/search-sidebar.component.ts @@ -1,6 +1,7 @@ import { Component, EventEmitter, Input, Output } from '@angular/core'; import { SearchConfigurationOption } from '../search-switch-configuration/search-configuration-option.model'; +import { Observable } from 'rxjs'; /** * This component renders a simple item page. @@ -44,6 +45,11 @@ export class SearchSidebarComponent { */ @Input() inPlaceSearch; + /** + * Emits when the search filters values may be stale, and so they must be refreshed. + */ + @Input() refreshFilters: Observable; + /** * Emits event when the user clicks a button to open or close the sidebar */ From be96c6bee60b8f6c8fac66e4a6781c8232f3b0f8 Mon Sep 17 00:00:00 2001 From: Tim Donohue Date: Tue, 23 Feb 2021 11:44:22 -0600 Subject: [PATCH 053/106] Comment out tabs which are not yet implemented. --- .../edit-item-page/edit-item-page.routing.module.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/app/+item-page/edit-item-page/edit-item-page.routing.module.ts b/src/app/+item-page/edit-item-page/edit-item-page.routing.module.ts index 20056a9ea4..da10d33add 100644 --- a/src/app/+item-page/edit-item-page/edit-item-page.routing.module.ts +++ b/src/app/+item-page/edit-item-page/edit-item-page.routing.module.ts @@ -74,18 +74,18 @@ import { ItemPageWithdrawGuard } from './item-page-withdraw.guard'; component: ItemRelationshipsComponent, data: { title: 'item.edit.tabs.relationships.title', showBreadcrumbs: true } }, + /* TODO - uncomment & fix when view page exists { path: 'view', - /* TODO - change when view page exists */ component: ItemBitstreamsComponent, data: { title: 'item.edit.tabs.view.title', showBreadcrumbs: true } - }, + }, */ + /* TODO - uncomment & fix when curate page exists { path: 'curate', - /* TODO - change when curate page exists */ component: ItemBitstreamsComponent, data: { title: 'item.edit.tabs.curate.title', showBreadcrumbs: true } - }, + }, */ { path: 'versionhistory', component: ItemVersionHistoryComponent, From 1537b4e444bdb721532ce6cf8ed9c22bca49ce02 Mon Sep 17 00:00:00 2001 From: Tim Donohue Date: Tue, 23 Feb 2021 17:00:59 -0600 Subject: [PATCH 054/106] Cleanup duplicative or incorrect i18n keys --- src/assets/i18n/en.json5 | 68 ++-------------------------------------- 1 file changed, 2 insertions(+), 66 deletions(-) diff --git a/src/assets/i18n/en.json5 b/src/assets/i18n/en.json5 index e1010ab43e..a16d41a9e3 100644 --- a/src/assets/i18n/en.json5 +++ b/src/assets/i18n/en.json5 @@ -468,6 +468,8 @@ "admin.search.title": "Administrative Search", + "administrativeView.search.results.head": "Administrative Search", + @@ -2489,64 +2491,6 @@ - "profile.breadcrumbs": "Update Profile", - - "profile.card.identify": "Identify", - - "profile.card.security": "Security", - - "profile.form.submit": "Update Profile", - - "profile.groups.head": "Authorization groups you belong to", - - "profile.head": "Update Profile", - - "profile.metadata.form.error.firstname.required": "First Name is required", - - "profile.metadata.form.error.lastname.required": "Last Name is required", - - "profile.metadata.form.label.email": "Email Address", - - "profile.metadata.form.label.firstname": "First Name", - - "profile.metadata.form.label.language": "Language", - - "profile.metadata.form.label.lastname": "Last Name", - - "profile.metadata.form.label.phone": "Contact Telephone", - - "profile.metadata.form.notifications.success.content": "Your changes to the profile were saved.", - - "profile.metadata.form.notifications.success.title": "Profile saved", - - "profile.notifications.warning.no-changes.content": "No changes were made to the Profile.", - - "profile.notifications.warning.no-changes.title": "No changes", - - "profile.security.form.error.matching-passwords": "The passwords do not match.", - - "profile.security.form.error.password-length": "The password should be at least 6 characters long.", - - "profile.security.form.info": "Optionally, you can enter a new password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", - - "profile.security.form.label.password": "Password", - - "profile.security.form.label.passwordrepeat": "Retype to confirm", - - "profile.security.form.notifications.success.content": "Your changes to the password were saved.", - - "profile.security.form.notifications.success.title": "Password saved", - - "profile.security.form.notifications.error.title": "Error changing passwords", - - "profile.security.form.notifications.error.not-long-enough": "The password has to be at least 6 characters long.", - - "profile.security.form.notifications.error.not-same": "The provided passwords are not the same.", - - "profile.title": "Update Profile", - - - "project.listelement.badge": "Research Project", "project.page.contributor": "Contributors", @@ -3485,7 +3429,6 @@ - "vocabulary-treeview.header": "Hierarchical tree view", "vocabulary-treeview.load-more": "Load more", @@ -3502,12 +3445,6 @@ - "administrativeView.search.results.head": "Administrative Search", - - "menu.section.admin_search": "Admin Search", - - - "uploader.browse": "browse", "uploader.drag-message": "Drag & Drop your files here", @@ -3563,4 +3500,3 @@ "workflow-item.send-back.button.confirm": "Send back" } - From 7e6755bd0a13dad85c2fbe3cfb973bcf8ce50e67 Mon Sep 17 00:00:00 2001 From: Art Lowel Date: Fri, 26 Feb 2021 10:17:16 +0100 Subject: [PATCH 055/106] remove ng-high-memory --- package.json | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index d92afb4a40..90ac7db0d9 100644 --- a/package.json +++ b/package.json @@ -23,13 +23,12 @@ "build": "ng build", "build:prod": "yarn run build:ssr", "build:ssr": "yarn run build:client-and-server-bundles && yarn run compile:server", - "ng-high-memory": "node --max_old_space_size=8192 node_modules/@angular/cli/bin/ng", - "build:client-and-server-bundles": "npm run ng-high-memory -- build --prod && npm run ng-high-memory -- run dspace-angular:server:production --bundleDependencies true", + "build:client-and-server-bundles": "ng build --prod && ng run dspace-angular:server:production --bundleDependencies true", "test:watch": "npm-run-all --parallel config:test:watch test", - "test": "npm run ng-high-memory -- test --sourceMap=true --watch=true", - "test:headless": "npm run ng-high-memory -- test --watch=false --sourceMap=true --browsers=ChromeHeadless --code-coverage", + "test": "ng test --sourceMap=true --watch=true", + "test:headless": "ng test --watch=false --sourceMap=true --browsers=ChromeHeadless --code-coverage", "lint": "ng lint", - "lint-fix": "npm run ng-high-memory -- lint --fix=true", + "lint-fix": "ng lint --fix=true", "e2e": "ng e2e", "e2e:ci": "ng e2e --protractor-config=./e2e/protractor-ci.conf.js", "compile:server": "webpack --config webpack.server.config.js --progress --color", From f54e582297b80156b60ff47f78b17d16f93e65bd Mon Sep 17 00:00:00 2001 From: Art Lowel Date: Fri, 26 Feb 2021 16:24:31 +0100 Subject: [PATCH 056/106] bump supported node versions to 12 and 14 --- .github/workflows/build.yml | 2 +- README.md | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0495f51fc2..fb17a43575 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -19,7 +19,7 @@ jobs: strategy: # Create a matrix of Node versions to test against (in parallel) matrix: - node-version: [10.x, 12.x] + node-version: [12.x, 14.x] # Do NOT exit immediately if one matrix job fails fail-fast: false # These are the actual CI steps to perform per job diff --git a/README.md b/README.md index 9a7bdbbbdb..ec8956033c 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ You can find additional information on the DSpace 7 Angular UI on the [wiki](htt Quick start ----------- -**Ensure you're running [Node](https://nodejs.org) `v10.x` or `v12.x`, [npm](https://www.npmjs.com/) >= `v5.x` and [yarn](https://yarnpkg.com) >= `v1.x`** +**Ensure you're running [Node](https://nodejs.org) `v12.x` or `v14.x`, [npm](https://www.npmjs.com/) >= `v5.x` and [yarn](https://yarnpkg.com) >= `v1.x`** ```bash # clone the repo @@ -65,7 +65,7 @@ Requirements ------------ - [Node.js](https://nodejs.org) and [yarn](https://yarnpkg.com) -- Ensure you're running node `v10.x` or `v12.x` and yarn >= `v1.x` +- Ensure you're running node `v12.x` or `v14.x` and yarn >= `v1.x` If you have [`nvm`](https://github.com/creationix/nvm#install-script) or [`nvm-windows`](https://github.com/coreybutler/nvm-windows) installed, which is highly recommended, you can run `nvm install --lts && nvm use` to install and start using the latest Node LTS. From 913ead60199dd2e26f3ee7873221a040d6e416f4 Mon Sep 17 00:00:00 2001 From: lotte Date: Fri, 26 Feb 2021 17:27:02 +0100 Subject: [PATCH 057/106] 77237: overwriteMerge environment files merge --- scripts/set-env.ts | 8 ++++---- src/app/core/shared/metadata.utils.ts | 2 ++ 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/scripts/set-env.ts b/scripts/set-env.ts index 5eee22a4be..b3516ae68f 100644 --- a/scripts/set-env.ts +++ b/scripts/set-env.ts @@ -10,7 +10,7 @@ const targetPath = './src/environments/environment.ts'; const colors = require('colors'); require('dotenv').config(); const merge = require('deepmerge'); - +const mergeOptions = { arrayMerge: (destinationArray, sourceArray, options) => sourceArray }; const environment = process.argv[2]; let environmentFilePath; let production = false; @@ -45,10 +45,10 @@ const processEnv = { } as GlobalConfig; import(environmentFilePath) - .then((file) => generateEnvironmentFile(merge.all([commonEnv, file.environment, processEnv]))) + .then((file) => generateEnvironmentFile(merge.all([commonEnv, file.environment, processEnv], mergeOptions))) .catch(() => { console.log(colors.yellow.bold(`No specific environment file found for ` + environment)); - generateEnvironmentFile(merge(commonEnv, processEnv)) + generateEnvironmentFile(merge(commonEnv, processEnv, mergeOptions)) }); function generateEnvironmentFile(file: GlobalConfig): void { @@ -65,7 +65,7 @@ function generateEnvironmentFile(file: GlobalConfig): void { } // allow to override a few important options by environment variables -function createServerConfig(host?: string, port?: string, nameSpace?: string, ssl?: string): ServerConfig { +function createServerConfig(host?: string, port?: string, nameSpace?: string, ssl?: string): ServerConfig { const result = {} as any; if (hasValue(host)) { result.host = host; diff --git a/src/app/core/shared/metadata.utils.ts b/src/app/core/shared/metadata.utils.ts index 612fba1d4a..41e6afd7f2 100644 --- a/src/app/core/shared/metadata.utils.ts +++ b/src/app/core/shared/metadata.utils.ts @@ -156,7 +156,9 @@ export class Metadata { const outputKeys: string[] = []; for (const inputKey of inputKeys) { if (inputKey.includes('*')) { + const inputKeyRegex = new RegExp('^' + inputKey.replace('.', '\.').replace('*', '.*') + '$'); + for (const mapKey of Object.keys(mdMap)) { if (!outputKeys.includes(mapKey) && inputKeyRegex.test(mapKey)) { outputKeys.push(mapKey); From eb7d110683ec70d3f0992533b2ce314f89833a21 Mon Sep 17 00:00:00 2001 From: Tim Donohue Date: Wed, 17 Feb 2021 15:53:32 -0600 Subject: [PATCH 058/106] Export all XSRF constants so they can be used elsewhere --- src/app/core/xsrf/xsrf.interceptor.ts | 28 ++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/src/app/core/xsrf/xsrf.interceptor.ts b/src/app/core/xsrf/xsrf.interceptor.ts index 7b5a66f27a..0301a70994 100644 --- a/src/app/core/xsrf/xsrf.interceptor.ts +++ b/src/app/core/xsrf/xsrf.interceptor.ts @@ -6,6 +6,13 @@ import { RESTURLCombiner } from '../url-combiner/rest-url-combiner'; import { CookieService } from '../services/cookie.service'; import { throwError } from 'rxjs'; +// Name of XSRF header we may send in requests to backend (this is a standard name defined by Angular) +export const XSRF_REQUEST_HEADER = 'X-XSRF-TOKEN'; +// Name of XSRF header we may receive in responses from backend +export const XSRF_RESPONSE_HEADER = 'DSPACE-XSRF-TOKEN'; +// Name of cookie where we store the XSRF token +export const XSRF_COOKIE = 'XSRF-TOKEN'; + /** * Custom Http Interceptor intercepting Http Requests & Responses to * exchange XSRF/CSRF tokens with the backend. @@ -43,11 +50,6 @@ export class XsrfInterceptor implements HttpInterceptor { * @param next */ intercept(req: HttpRequest, next: HttpHandler): Observable> { - // Name of XSRF header we may send in requests to backend (this is a standard name defined by Angular) - const requestCsrfHeader = 'X-XSRF-TOKEN'; - // Name of XSRF header we may receive in responses from backend - const responseCsrfHeader = 'DSPACE-XSRF-TOKEN'; - // Ensure EVERY request from Angular includes "withCredentials: true". // This allows Angular to receive & send cookies via a CORS request (to // the backend). ONLY requests with credentials will: @@ -71,8 +73,8 @@ export class XsrfInterceptor implements HttpInterceptor { const token = this.tokenExtractor.getToken() as string; // send token in request's X-XSRF-TOKEN header (anti-CSRF security) to backend - if (token !== null && !req.headers.has(requestCsrfHeader)) { - req = req.clone({ headers: req.headers.set(requestCsrfHeader, token) }); + if (token !== null && !req.headers.has(XSRF_REQUEST_HEADER)) { + req = req.clone({ headers: req.headers.set(XSRF_REQUEST_HEADER, token) }); } } // Pass to next interceptor, but intercept EVERY response event as well @@ -82,9 +84,9 @@ export class XsrfInterceptor implements HttpInterceptor { if (response instanceof HttpResponse) { // For every response that comes back, check for the custom // DSPACE-XSRF-TOKEN header sent from the backend. - if (response.headers.has(responseCsrfHeader)) { + if (response.headers.has(XSRF_RESPONSE_HEADER)) { // value of header is a new XSRF token - this.saveXsrfToken(response.headers.get(responseCsrfHeader)); + this.saveXsrfToken(response.headers.get(XSRF_RESPONSE_HEADER)); } } }), @@ -92,9 +94,9 @@ export class XsrfInterceptor implements HttpInterceptor { if (error instanceof HttpErrorResponse) { // For every error that comes back, also check for the custom // DSPACE-XSRF-TOKEN header sent from the backend. - if (error.headers.has(responseCsrfHeader)) { + if (error.headers.has(XSRF_RESPONSE_HEADER)) { // value of header is a new XSRF token - this.saveXsrfToken(error.headers.get(responseCsrfHeader)); + this.saveXsrfToken(error.headers.get(XSRF_RESPONSE_HEADER)); } } // Return error response as is. @@ -111,7 +113,7 @@ export class XsrfInterceptor implements HttpInterceptor { // Save token value as a *new* value of our client-side XSRF-TOKEN cookie. // This is the cookie that is parsed by Angular's tokenExtractor(), // which we will send back in the X-XSRF-TOKEN header per Angular best practices. - this.cookieService.remove('XSRF-TOKEN'); - this.cookieService.set('XSRF-TOKEN', token); + this.cookieService.remove(XSRF_COOKIE); + this.cookieService.set(XSRF_COOKIE, token); } } From 5589016a4e8008f5fd62a71a2a6c71d4a3bff7c1 Mon Sep 17 00:00:00 2001 From: Tim Donohue Date: Wed, 17 Feb 2021 15:54:08 -0600 Subject: [PATCH 059/106] Add XSRF support to uploader component --- src/app/shared/uploader/uploader.component.ts | 43 ++++++++++++++++--- 1 file changed, 37 insertions(+), 6 deletions(-) diff --git a/src/app/shared/uploader/uploader.component.ts b/src/app/shared/uploader/uploader.component.ts index ac5c5c65a2..1264dd44e4 100644 --- a/src/app/shared/uploader/uploader.component.ts +++ b/src/app/shared/uploader/uploader.component.ts @@ -18,6 +18,9 @@ import { UploaderOptions } from './uploader-options.model'; import { hasValue, isNotEmpty, isUndefined } from '../empty.util'; import { UploaderService } from './uploader.service'; import { UploaderProperties } from './uploader-properties.model'; +import { HttpXsrfTokenExtractor } from '@angular/common/http'; +import { XSRF_REQUEST_HEADER, XSRF_RESPONSE_HEADER, XSRF_COOKIE } from '../../core/xsrf/xsrf.interceptor'; +import { CookieService } from '../../core/services/cookie.service'; @Component({ selector: 'ds-uploader', @@ -91,7 +94,9 @@ export class UploaderComponent { } } - constructor(private cdr: ChangeDetectorRef, private scrollToService: ScrollToService, private uploaderService: UploaderService) { + constructor(private cdr: ChangeDetectorRef, private scrollToService: ScrollToService, + private uploaderService: UploaderService, private tokenExtractor: HttpXsrfTokenExtractor, + private cookieService: CookieService) { } /** @@ -108,7 +113,9 @@ export class UploaderComponent { removeAfterUpload: true, autoUpload: this.uploadFilesOptions.autoUpload, method: this.uploadFilesOptions.method, - queueLimit: this.uploadFilesOptions.maxFileNumber + queueLimit: this.uploadFilesOptions.maxFileNumber, + // Ensure the current XSRF token is included in every upload request + headers: [{ name: XSRF_REQUEST_HEADER, value: this.tokenExtractor.getToken() }] }); if (isUndefined(this.enableDragOverDocument)) { @@ -123,10 +130,6 @@ export class UploaderComponent { } ngAfterViewInit() { - // Maybe to remove: needed to avoid CORS issue with our temp upload server - this.uploader.onAfterAddingFile = ((item) => { - item.withCredentials = false; - }); this.uploader.onAfterAddingAll = ((items) => { this.onFileSelected.emit(items); }); @@ -153,11 +156,25 @@ export class UploaderComponent { } this.uploader.onCompleteItem = (item: any, response: any, status: any, headers: any) => { if (isNotEmpty(response)) { + // Check for a changed XSRF token in response & save new token if found + // NOTE: this is only necessary because ng2-file-upload doesn't use an Http service and therefore never + // triggers our xsrf.interceptor.ts. See this bug: https://github.com/valor-software/ng2-file-upload/issues/950 + const token = headers[XSRF_RESPONSE_HEADER.toLowerCase()]; + if (isNotEmpty(token)) { + this.saveXsrfToken(token); + } const responsePath = JSON.parse(response); this.onCompleteItem.emit(responsePath); } }; this.uploader.onErrorItem = (item: any, response: any, status: any, headers: any) => { + // Check for a changed XSRF token in response & save new token if found + // NOTE: this is only necessary because ng2-file-upload doesn't use an Http service and therefore never + // triggers our xsrf.interceptor.ts. See this bug: https://github.com/valor-software/ng2-file-upload/issues/950 + const token = headers[XSRF_RESPONSE_HEADER.toLowerCase()]; + if (isNotEmpty(token)) { + this.saveXsrfToken(token); + } this.onUploadError.emit({ item: item, response: response, status: status, headers: headers }); this.uploader.cancelAll(); }; @@ -201,4 +218,18 @@ export class UploaderComponent { } } + /** + * Save XSRF token found in response. This is a temporary copy of the method in xsrf.interceptor.ts + * It can be removed once ng2-file-upload supports interceptors (see https://github.com/valor-software/ng2-file-upload/issues/950), + * or we switch to a new upload library (see https://github.com/DSpace/dspace-angular/issues/820) + * @param token token found + */ + private saveXsrfToken(token: string) { + // Save token value as a *new* value of our client-side XSRF-TOKEN cookie. + // This is the cookie that is parsed by Angular's tokenExtractor(), + // which we will send back in the X-XSRF-TOKEN header per Angular best practices. + this.cookieService.remove(XSRF_COOKIE); + this.cookieService.set(XSRF_COOKIE, token); + } + } From 59676b7c52e80bb8eec14be14444fc559fe8985a Mon Sep 17 00:00:00 2001 From: Tim Donohue Date: Wed, 17 Feb 2021 17:40:31 -0600 Subject: [PATCH 060/106] Fix broken tests via a new HttpXsrfTokenExtractorMock class. --- ...my-dspace-new-submission.component.spec.ts | 6 ++++++ src/app/core/xsrf/xsrf.interceptor.spec.ts | 20 ++++--------------- .../mocks/http-xsrf-token-extractor.mock.ts | 12 +++++++++++ .../uploader/uploader.component.spec.ts | 8 +++++++- 4 files changed, 29 insertions(+), 17 deletions(-) create mode 100644 src/app/shared/mocks/http-xsrf-token-extractor.mock.ts diff --git a/src/app/+my-dspace-page/my-dspace-new-submission/my-dspace-new-submission.component.spec.ts b/src/app/+my-dspace-page/my-dspace-new-submission/my-dspace-new-submission.component.spec.ts index 4ff31d67cf..7c6d8918cb 100644 --- a/src/app/+my-dspace-page/my-dspace-new-submission/my-dspace-new-submission.component.spec.ts +++ b/src/app/+my-dspace-page/my-dspace-new-submission/my-dspace-new-submission.component.spec.ts @@ -21,6 +21,10 @@ import { UploaderService } from '../../shared/uploader/uploader.service'; import { HostWindowService } from '../../shared/host-window.service'; import { HostWindowServiceStub } from '../../shared/testing/host-window-service.stub'; import { UploaderComponent } from '../../shared/uploader/uploader.component'; +import { HttpXsrfTokenExtractor } from '@angular/common/http'; +import { CookieService } from '../../core/services/cookie.service'; +import { CookieServiceMock } from '../../shared/mocks/cookie.service.mock'; +import { HttpXsrfTokenExtractorMock } from '../../shared/mocks/http-xsrf-token-extractor.mock'; describe('MyDSpaceNewSubmissionComponent test', () => { @@ -55,6 +59,8 @@ describe('MyDSpaceNewSubmissionComponent test', () => { ChangeDetectorRef, MyDSpaceNewSubmissionComponent, UploaderService, + { provide: HttpXsrfTokenExtractor, useValue: new HttpXsrfTokenExtractorMock('mock-token') }, + { provide: CookieService, useValue: new CookieServiceMock() }, { provide: HostWindowService, useValue: new HostWindowServiceStub(800) }, ], schemas: [NO_ERRORS_SCHEMA] diff --git a/src/app/core/xsrf/xsrf.interceptor.spec.ts b/src/app/core/xsrf/xsrf.interceptor.spec.ts index 84f10b9e13..742c4a4a45 100644 --- a/src/app/core/xsrf/xsrf.interceptor.spec.ts +++ b/src/app/core/xsrf/xsrf.interceptor.spec.ts @@ -1,32 +1,20 @@ import { TestBed } from '@angular/core/testing'; import { HttpClientTestingModule, HttpTestingController } from '@angular/common/http/testing'; -import { HttpHeaders, HTTP_INTERCEPTORS, HttpResponse, HttpXsrfTokenExtractor, HttpErrorResponse } from '@angular/common/http'; +import { HttpHeaders, HTTP_INTERCEPTORS, HttpXsrfTokenExtractor } from '@angular/common/http'; import { DspaceRestService } from '../dspace-rest/dspace-rest.service'; import { RestRequestMethod } from '../data/rest-request-method'; import { CookieService } from '../services/cookie.service'; import { CookieServiceMock } from '../../shared/mocks/cookie.service.mock'; import { XsrfInterceptor } from './xsrf.interceptor'; - -/** - * A Mock TokenExtractor which just returns whatever token it is initialized with. - * This mock object is injected into our XsrfInterceptor, so that it always finds - * the same fake XSRF token. - */ -class MockTokenExtractor extends HttpXsrfTokenExtractor { - constructor(private token: string | null) { super(); } - - getToken(): string | null { return this.token; } -} +import { HttpXsrfTokenExtractorMock } from '../../shared/mocks/http-xsrf-token-extractor.mock'; describe(`XsrfInterceptor`, () => { let service: DspaceRestService; let httpMock: HttpTestingController; let cookieService: CookieService; - // Create a MockTokenExtractor which always returns "test-token". This will - // be used as the test HttpXsrfTokenExtractor, see below. + // mock XSRF token const testToken = 'test-token'; - const mockTokenExtractor = new MockTokenExtractor(testToken); // Mock payload/statuses are dummy content as we are not testing the results // of any below requests. We are only testing for X-XSRF-TOKEN header. @@ -46,7 +34,7 @@ describe(`XsrfInterceptor`, () => { useClass: XsrfInterceptor, multi: true, }, - { provide: HttpXsrfTokenExtractor, useValue: mockTokenExtractor }, + { provide: HttpXsrfTokenExtractor, useValue: new HttpXsrfTokenExtractorMock(testToken) }, { provide: CookieService, useValue: new CookieServiceMock() } ], }); diff --git a/src/app/shared/mocks/http-xsrf-token-extractor.mock.ts b/src/app/shared/mocks/http-xsrf-token-extractor.mock.ts new file mode 100644 index 0000000000..78766a0b31 --- /dev/null +++ b/src/app/shared/mocks/http-xsrf-token-extractor.mock.ts @@ -0,0 +1,12 @@ +import { HttpXsrfTokenExtractor } from '@angular/common/http'; + +/** + * A Mock TokenExtractor which just returns whatever token it is initialized with. + * This mock object is injected into our XsrfInterceptor, so that it always finds + * the same fake XSRF token. + */ +export class HttpXsrfTokenExtractorMock extends HttpXsrfTokenExtractor { + constructor(private token: string | null) { super(); } + + getToken(): string | null { return this.token; } +} diff --git a/src/app/shared/uploader/uploader.component.spec.ts b/src/app/shared/uploader/uploader.component.spec.ts index d33c27b897..6ff54578b5 100644 --- a/src/app/shared/uploader/uploader.component.spec.ts +++ b/src/app/shared/uploader/uploader.component.spec.ts @@ -10,6 +10,10 @@ import { UploaderComponent } from './uploader.component'; import { FileUploadModule } from 'ng2-file-upload'; import { TranslateModule } from '@ngx-translate/core'; import { createTestComponent } from '../testing/utils.test'; +import { HttpXsrfTokenExtractor } from '@angular/common/http'; +import { CookieService } from '../../core/services/cookie.service'; +import { CookieServiceMock } from '../mocks/cookie.service.mock'; +import { HttpXsrfTokenExtractorMock } from '../mocks/http-xsrf-token-extractor.mock'; describe('Chips component', () => { @@ -33,7 +37,9 @@ describe('Chips component', () => { ChangeDetectorRef, ScrollToService, UploaderComponent, - UploaderService + UploaderService, + { provide: HttpXsrfTokenExtractor, useValue: new HttpXsrfTokenExtractorMock('mock-token') }, + { provide: CookieService, useValue: new CookieServiceMock() }, ], schemas: [CUSTOM_ELEMENTS_SCHEMA] }); From 4a72cb033bcead0f83a6599b9b2dd0b9b92eba5a Mon Sep 17 00:00:00 2001 From: Tim Donohue Date: Fri, 19 Feb 2021 10:58:47 -0600 Subject: [PATCH 061/106] Bug fix. Ensure we check for changed token in empty responses. Also ensure we send token before each upload (as it might change between uploads) --- src/app/shared/uploader/uploader.component.ts | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/src/app/shared/uploader/uploader.component.ts b/src/app/shared/uploader/uploader.component.ts index 1264dd44e4..05baa735bd 100644 --- a/src/app/shared/uploader/uploader.component.ts +++ b/src/app/shared/uploader/uploader.component.ts @@ -114,8 +114,6 @@ export class UploaderComponent { autoUpload: this.uploadFilesOptions.autoUpload, method: this.uploadFilesOptions.method, queueLimit: this.uploadFilesOptions.maxFileNumber, - // Ensure the current XSRF token is included in every upload request - headers: [{ name: XSRF_REQUEST_HEADER, value: this.tokenExtractor.getToken() }] }); if (isUndefined(this.enableDragOverDocument)) { @@ -140,6 +138,8 @@ export class UploaderComponent { if (item.url !== this.uploader.options.url) { item.url = this.uploader.options.url; } + // Ensure the current XSRF token is included in every upload request (token may change between items uploaded) + this.uploader.options.headers = [{ name: XSRF_REQUEST_HEADER, value: this.tokenExtractor.getToken() }]; this.onBeforeUpload(); this.isOverDocumentDropZone = observableOf(false); @@ -155,14 +155,15 @@ export class UploaderComponent { }; } this.uploader.onCompleteItem = (item: any, response: any, status: any, headers: any) => { + // Check for a changed XSRF token in response & save new token if found + // NOTE: this is only necessary because ng2-file-upload doesn't use an Http service and therefore never + // triggers our xsrf.interceptor.ts. See this bug: https://github.com/valor-software/ng2-file-upload/issues/950 + const token = headers[XSRF_RESPONSE_HEADER.toLowerCase()]; + if (isNotEmpty(token)) { + this.saveXsrfToken(token); + } + if (isNotEmpty(response)) { - // Check for a changed XSRF token in response & save new token if found - // NOTE: this is only necessary because ng2-file-upload doesn't use an Http service and therefore never - // triggers our xsrf.interceptor.ts. See this bug: https://github.com/valor-software/ng2-file-upload/issues/950 - const token = headers[XSRF_RESPONSE_HEADER.toLowerCase()]; - if (isNotEmpty(token)) { - this.saveXsrfToken(token); - } const responsePath = JSON.parse(response); this.onCompleteItem.emit(responsePath); } From 5a6e4b12787ee21c16745a5c419167700fae1e9a Mon Sep 17 00:00:00 2001 From: Art Lowel Date: Thu, 25 Feb 2021 15:04:32 +0100 Subject: [PATCH 062/106] Add support for dynamic themes --- README.md | 1 - angular.json | 18 +- package.json | 4 +- postcss.config.js | 2 +- scripts/sync-build-dir.js | 22 - ...arch-result-grid-element.component.spec.ts | 5 + ...in-search-result-grid-element.component.ts | 4 +- .../admin-sidebar.component.scss | 30 +- ...dable-admin-sidebar-section.component.scss | 4 +- ...in-workflow-grid-element.component.spec.ts | 5 + ...t-admin-workflow-grid-element.component.ts | 14 +- .../edit-bitstream-page.component.scss | 2 +- .../collection-page.resolver.spec.ts | 8 +- .../collection-page.resolver.ts | 33 +- .../community-page.resolver.spec.ts | 8 +- .../community-page.resolver.ts | 32 +- ...page-sub-collection-list.component.spec.ts | 6 + ...-page-sub-community-list.component.spec.ts | 6 + .../home-news/home-news.component.scss | 6 +- .../home-news/home-news.component.ts | 3 +- .../home-news/themed-home-news.component.scss | 0 .../home-news/themed-home-news.component.ts | 27 + .../+home-page/home-page-routing.module.ts | 4 +- src/app/+home-page/home-page.component.html | 2 +- src/app/+home-page/home-page.component.ts | 6 +- src/app/+home-page/home-page.module.ts | 19 +- .../+home-page/themed-home-page.component.ts | 26 + ...top-level-community-list.component.spec.ts | 6 + .../edit-item-page.component.scss | 2 +- .../item-bitstreams.component.scss | 14 +- .../edit-in-place-field.component.scss | 10 +- .../item-metadata.component.scss | 12 +- .../edit-relationship-list.component.scss | 6 +- .../edit-relationship.component.scss | 4 +- .../item-relationships.component.scss | 10 +- .../full-file-section.component.scss | 4 +- src/app/+item-page/item-page.module.ts | 41 +- src/app/+item-page/item-page.resolver.ts | 24 +- src/app/+login-page/login-page.component.scss | 4 +- src/app/+search-page/search.component.scss | 2 +- src/app/app-routing-paths.ts | 17 +- src/app/app.component.html | 31 +- src/app/app.component.scss | 53 -- src/app/app.component.ts | 76 +- src/app/app.effects.ts | 2 + src/app/app.module.ts | 10 +- src/app/app.reducer.ts | 28 +- .../collection-breadcrumb.resolver.ts | 9 +- .../community-breadcrumb.resolver.ts | 7 +- .../breadcrumbs/dso-breadcrumbs.service.ts | 2 +- src/app/core/breadcrumbs/dso-name.service.ts | 2 +- .../breadcrumbs/item-breadcrumb.resolver.ts | 12 +- src/app/core/cache/builders/link.service.ts | 32 +- .../cache/server-sync-buffer.effects.spec.ts | 9 +- .../core/cache/server-sync-buffer.effects.ts | 3 +- .../object-updates.effects.spec.ts | 8 +- .../object-updates/object-updates.effects.ts | 6 +- src/app/core/index/index.effects.spec.ts | 5 +- src/app/core/index/index.effects.ts | 3 +- src/app/core/resolving/resolver.actions.ts | 27 + src/app/core/shared/context.model.ts | 2 +- ...ult-list-submission-element.component.scss | 4 +- ...ult-list-submission-element.component.scss | 4 +- src/app/footer/footer.component.scss | 54 +- .../header-navbar-wrapper.component.scss | 6 +- src/app/header/header.component.scss | 10 +- .../expandable-navbar-section.component.scss | 8 +- src/app/navbar/navbar.component.scss | 18 +- src/app/navbar/navbar.component.ts | 1 - src/app/navbar/navbar.effects.ts | 3 +- src/app/navbar/navbar.module.ts | 2 + src/app/root/root.component.html | 30 + .../app/root/root.component.scss | 0 src/app/root/root.component.spec.ts | 77 ++ src/app/root/root.component.ts | 79 ++ src/app/root/themed-root.component.ts | 35 + .../search-navbar.component.scss | 4 +- src/app/shared/chips/chips.component.scss | 2 +- .../collection-dropdown.component.scss | 6 +- .../dso-page-edit-button.component.scss | 2 +- .../dso-selector/dso-selector.component.scss | 2 +- .../file-dropzone-no-uploader.scss | 14 +- ...sting-metadata-list-element.component.scss | 2 +- ...sting-relation-list-element.component.scss | 2 +- .../dynamic-form-array.component.scss | 18 +- .../lookup/dynamic-lookup.component.scss | 8 +- .../onebox/dynamic-onebox.component.scss | 8 +- ...dynamic-scrollable-dropdown.component.scss | 12 +- .../models/tag/dynamic-tag.component.scss | 8 +- ...-lookup-relation-search-tab.component.scss | 4 +- src/app/shared/form/form.component.scss | 6 +- .../input-suggestions.component.scss | 2 +- .../container/log-in-container.component.scss | 12 +- ...etadata-representation-loader.component.ts | 8 +- .../metadata-representation.decorator.ts | 40 +- src/app/shared/mocks/theme-service.mock.ts | 7 + src/app/shared/ngrx/no-op.action.ts | 14 + .../notification/notification.component.scss | 10 +- .../notifications-board.component.scss | 4 +- ...table-object-component-loader.component.ts | 17 +- .../listable-object.decorator.ts | 42 +- .../object-detail.component.scss | 2 +- .../object-grid/object-grid.component.scss | 18 +- .../page-size-selector.component.scss | 2 +- .../search-form/search-form.component.scss | 4 +- .../search-authority-filter.component.scss | 4 +- .../search-boolean-filter.component.scss | 2 +- .../search-facet-option.component.scss | 4 +- .../search-facet-range-option.component.scss | 6 +- ...earch-facet-selected-option.component.scss | 4 +- .../search-filter.component.scss | 4 +- .../search-hierarchy-filter.component.scss | 2 +- .../search-range-filter.component.scss | 15 +- .../search-text-filter.component.scss | 2 +- .../search-settings.component.scss | 2 +- .../search-sidebar.component.scss | 8 +- ...ebar-filter-selected-option.component.scss | 2 +- .../filter/sidebar-filter.component.scss | 4 +- .../sidebar/page-with-sidebar.component.scss | 6 +- .../sidebar/sidebar-dropdown.component.scss | 2 +- .../date/starts-with-date.component.scss | 4 +- .../text/starts-with-text.component.scss | 4 +- src/app/shared/theme-support/theme.actions.ts | 22 + .../shared/theme-support/theme.constants.ts | 1 + .../theme-support/theme.effects.spec.ts | 173 ++++ src/app/shared/theme-support/theme.effects.ts | 185 ++++ .../theme-support/theme.reducer.spec.ts | 18 + src/app/shared/theme-support/theme.reducer.ts | 22 + src/app/shared/theme-support/theme.service.ts | 46 + .../theme-support/themed.component.html | 1 + .../theme-support/themed.component.scss | 0 .../shared/theme-support/themed.component.ts | 116 +++ .../truncatable-part.component.scss | 1 + .../shared/uploader/uploader.component.scss | 18 +- src/app/store.actions.ts | 2 +- .../submission-form-collection.component.scss | 6 +- ...submission-form-section-add.component.scss | 2 +- .../form/submission-form.component.scss | 14 +- ...n-import-external-searchbar.component.scss | 8 +- .../section-container.component.scss | 12 +- .../file/section-upload-file.component.scss | 6 +- src/config/global-config.interface.ts | 8 +- src/config/theme.inferface.ts | 5 - src/config/theme.model.spec.ts | 122 +++ src/config/theme.model.ts | 92 ++ src/environments/environment.common.ts | 38 +- src/environments/mock-environment.ts | 35 +- src/index.html | 1 + src/modules/app/browser-app.module.ts | 15 +- src/modules/app/server-app.module.ts | 7 +- src/styles.scss | 1 - src/styles/_bootstrap_variables_mapping.scss | 826 ++++++++++++++++++ src/styles/_custom_variables.scss | 78 +- src/styles/_exposed_variables.scss | 18 +- src/styles/_global-styles.scss | 49 ++ src/styles/_mixins.scss | 12 +- src/styles/_variables.scss | 2 - src/styles/base-theme.scss | 6 + .../home-news/home-news.component.html | 0 .../home-news/home-news.component.scss | 0 .../home-news/home-news.component.ts | 16 + .../app/+home-page/home-page.component.html | 0 .../app/+home-page/home-page.component.scss | 0 .../app/+home-page/home-page.component.ts | 13 + .../publication/publication.component.html | 0 .../publication/publication.component.scss | 0 .../publication/publication.component.ts | 22 + .../custom/app/root/root.component.html | 0 .../custom/app/root/root.component.scss | 0 src/themes/custom/app/root/root.component.ts | 15 + src/themes/custom/entry-components.ts | 5 + src/themes/custom/styles/_global-styles.scss | 4 + .../styles/_theme_css_variable_overrides.scss | 8 + .../_theme_sass_variable_overrides.scss | 16 + src/themes/custom/styles/theme.scss | 12 + src/themes/custom/theme.module.ts | 96 ++ .../home-news/home-news.component.html | 0 .../home-news/home-news.component.scss | 17 + .../app/+home-page/home-page.component.html | 0 .../app/+home-page/home-page.component.scss | 18 +- .../simple/item-page.component.html | 0 .../publication/publication.component.html | 0 .../publication/publication.component.scss | 30 + .../journal-issue.component.html | 0 .../journal-issue.component.scss | 30 + .../journal-volume.component.html | 0 .../journal-volume.component.scss | 30 + .../item-pages/journal/journal.component.html | 0 .../item-pages/journal/journal.component.scss | 38 + .../org-unit/org-unit.component.html | 0 .../org-unit/org-unit.component.scss | 30 + .../item-pages/person/person.component.html | 0 .../item-pages/person/person.component.scss | 38 + .../item-pages/project/project.component.html | 0 .../item-pages/project/project.component.scss | 30 + .../mantis/app/navbar/navbar.component.html | 0 .../mantis/app/navbar/navbar.component.scss | 0 .../search-form/search-form.component.html | 0 .../search-facet-option.component.html | 0 .../search-facet-range-option.component.html | 0 .../search-filter.component.html | 0 .../search-filter.component.scss | 4 +- .../search-range-filter.component.scss | 2 +- .../search-filters.component.html | 0 .../search-settings.component.html | 0 .../search-settings.component.scss | 4 +- src/themes/mantis/readme.md | 2 + .../styles/_themed_bootstrap_variables.scss | 0 .../styles/_themed_custom_variables.scss | 4 + src/themes/themed-entry-component.module.ts | 23 + .../home-news/home-news.component.scss | 15 - .../publication/publication.component.scss | 30 - .../journal-issue.component.scss | 30 - .../journal-volume.component.scss | 30 - .../item-pages/journal/journal.component.scss | 38 - .../org-unit/org-unit.component.scss | 30 - .../item-pages/person/person.component.scss | 38 - .../item-pages/project/project.component.scss | 30 - .../styles/_themed_custom_variables.scss | 2 - tsconfig.app.json | 3 +- webpack/helpers.ts | 65 +- webpack/webpack.common.ts | 59 +- webpack/webpack.prod.ts | 4 +- yarn.lock | 131 ++- 224 files changed, 3429 insertions(+), 1017 deletions(-) delete mode 100644 scripts/sync-build-dir.js rename themes/default/styles/_themed_bootstrap_variables.scss => src/app/+home-page/home-news/themed-home-news.component.scss (100%) create mode 100644 src/app/+home-page/home-news/themed-home-news.component.ts create mode 100644 src/app/+home-page/themed-home-page.component.ts create mode 100644 src/app/core/resolving/resolver.actions.ts create mode 100644 src/app/root/root.component.html rename themes/default/styles/_themed_custom_variables.scss => src/app/root/root.component.scss (100%) create mode 100644 src/app/root/root.component.spec.ts create mode 100644 src/app/root/root.component.ts create mode 100644 src/app/root/themed-root.component.ts create mode 100644 src/app/shared/mocks/theme-service.mock.ts create mode 100644 src/app/shared/ngrx/no-op.action.ts create mode 100644 src/app/shared/theme-support/theme.actions.ts create mode 100644 src/app/shared/theme-support/theme.constants.ts create mode 100644 src/app/shared/theme-support/theme.effects.spec.ts create mode 100644 src/app/shared/theme-support/theme.effects.ts create mode 100644 src/app/shared/theme-support/theme.reducer.spec.ts create mode 100644 src/app/shared/theme-support/theme.reducer.ts create mode 100644 src/app/shared/theme-support/theme.service.ts create mode 100644 src/app/shared/theme-support/themed.component.html create mode 100644 src/app/shared/theme-support/themed.component.scss create mode 100644 src/app/shared/theme-support/themed.component.ts delete mode 100644 src/config/theme.inferface.ts create mode 100644 src/config/theme.model.spec.ts create mode 100644 src/config/theme.model.ts delete mode 100644 src/styles.scss create mode 100644 src/styles/_bootstrap_variables_mapping.scss create mode 100644 src/styles/_global-styles.scss create mode 100644 src/styles/base-theme.scss create mode 100644 src/themes/custom/app/+home-page/home-news/home-news.component.html create mode 100644 src/themes/custom/app/+home-page/home-news/home-news.component.scss create mode 100644 src/themes/custom/app/+home-page/home-news/home-news.component.ts create mode 100644 src/themes/custom/app/+home-page/home-page.component.html create mode 100644 src/themes/custom/app/+home-page/home-page.component.scss create mode 100644 src/themes/custom/app/+home-page/home-page.component.ts create mode 100644 src/themes/custom/app/+item-page/simple/item-types/publication/publication.component.html create mode 100644 src/themes/custom/app/+item-page/simple/item-types/publication/publication.component.scss create mode 100644 src/themes/custom/app/+item-page/simple/item-types/publication/publication.component.ts create mode 100644 src/themes/custom/app/root/root.component.html create mode 100644 src/themes/custom/app/root/root.component.scss create mode 100644 src/themes/custom/app/root/root.component.ts create mode 100644 src/themes/custom/entry-components.ts create mode 100644 src/themes/custom/styles/_global-styles.scss create mode 100644 src/themes/custom/styles/_theme_css_variable_overrides.scss create mode 100644 src/themes/custom/styles/_theme_sass_variable_overrides.scss create mode 100644 src/themes/custom/styles/theme.scss create mode 100644 src/themes/custom/theme.module.ts rename {themes => src/themes}/mantis/app/+home-page/home-news/home-news.component.html (100%) create mode 100644 src/themes/mantis/app/+home-page/home-news/home-news.component.scss rename {themes => src/themes}/mantis/app/+home-page/home-page.component.html (100%) rename {themes => src/themes}/mantis/app/+home-page/home-page.component.scss (56%) rename {themes => src/themes}/mantis/app/+item-page/simple/item-page.component.html (100%) rename {themes => src/themes}/mantis/app/+item-page/simple/item-types/publication/publication.component.html (100%) create mode 100644 src/themes/mantis/app/+item-page/simple/item-types/publication/publication.component.scss rename {themes => src/themes}/mantis/app/entity-groups/journal-entities/item-pages/journal-issue/journal-issue.component.html (100%) create mode 100644 src/themes/mantis/app/entity-groups/journal-entities/item-pages/journal-issue/journal-issue.component.scss rename {themes => src/themes}/mantis/app/entity-groups/journal-entities/item-pages/journal-volume/journal-volume.component.html (100%) create mode 100644 src/themes/mantis/app/entity-groups/journal-entities/item-pages/journal-volume/journal-volume.component.scss rename {themes => src/themes}/mantis/app/entity-groups/journal-entities/item-pages/journal/journal.component.html (100%) create mode 100644 src/themes/mantis/app/entity-groups/journal-entities/item-pages/journal/journal.component.scss rename {themes => src/themes}/mantis/app/entity-groups/research-entities/item-pages/org-unit/org-unit.component.html (100%) create mode 100644 src/themes/mantis/app/entity-groups/research-entities/item-pages/org-unit/org-unit.component.scss rename {themes => src/themes}/mantis/app/entity-groups/research-entities/item-pages/person/person.component.html (100%) create mode 100644 src/themes/mantis/app/entity-groups/research-entities/item-pages/person/person.component.scss rename {themes => src/themes}/mantis/app/entity-groups/research-entities/item-pages/project/project.component.html (100%) create mode 100644 src/themes/mantis/app/entity-groups/research-entities/item-pages/project/project.component.scss rename {themes => src/themes}/mantis/app/navbar/navbar.component.html (100%) rename {themes => src/themes}/mantis/app/navbar/navbar.component.scss (100%) rename {themes => src/themes}/mantis/app/shared/search-form/search-form.component.html (100%) rename {themes => src/themes}/mantis/app/shared/search/search-filters/search-filter/search-facet-filter-options/search-facet-option/search-facet-option.component.html (100%) rename {themes => src/themes}/mantis/app/shared/search/search-filters/search-filter/search-facet-filter-options/search-facet-range-option/search-facet-range-option.component.html (100%) rename {themes => src/themes}/mantis/app/shared/search/search-filters/search-filter/search-filter.component.html (100%) rename {themes => src/themes}/mantis/app/shared/search/search-filters/search-filter/search-filter.component.scss (63%) rename {themes => src/themes}/mantis/app/shared/search/search-filters/search-filter/search-range-filter/search-range-filter.component.scss (82%) rename {themes => src/themes}/mantis/app/shared/search/search-filters/search-filters.component.html (100%) rename {themes => src/themes}/mantis/app/shared/search/search-settings/search-settings.component.html (100%) rename {themes => src/themes}/mantis/app/shared/search/search-settings/search-settings.component.scss (61%) create mode 100644 src/themes/mantis/readme.md rename {themes => src/themes}/mantis/styles/_themed_bootstrap_variables.scss (100%) create mode 100644 src/themes/mantis/styles/_themed_custom_variables.scss create mode 100644 src/themes/themed-entry-component.module.ts delete mode 100644 themes/mantis/app/+home-page/home-news/home-news.component.scss delete mode 100644 themes/mantis/app/+item-page/simple/item-types/publication/publication.component.scss delete mode 100644 themes/mantis/app/entity-groups/journal-entities/item-pages/journal-issue/journal-issue.component.scss delete mode 100644 themes/mantis/app/entity-groups/journal-entities/item-pages/journal-volume/journal-volume.component.scss delete mode 100644 themes/mantis/app/entity-groups/journal-entities/item-pages/journal/journal.component.scss delete mode 100644 themes/mantis/app/entity-groups/research-entities/item-pages/org-unit/org-unit.component.scss delete mode 100644 themes/mantis/app/entity-groups/research-entities/item-pages/person/person.component.scss delete mode 100644 themes/mantis/app/entity-groups/research-entities/item-pages/project/project.component.scss delete mode 100644 themes/mantis/styles/_themed_custom_variables.scss diff --git a/README.md b/README.md index ec8956033c..3f5351ec82 100644 --- a/README.md +++ b/README.md @@ -339,7 +339,6 @@ dspace-angular ├── tslint.json * TSLint (https://palantir.github.io/tslint/) configuration ├── typedoc.json * TYPEDOC configuration ├── webpack * Webpack (https://webpack.github.io/) config directory -│   ├── helpers.js * │   ├── webpack.aot.js * Webpack (https://webpack.github.io/) config for AoT build │   ├── webpack.client.js * Webpack (https://webpack.github.io/) config for client build │   ├── webpack.common.js * diff --git a/angular.json b/angular.json index 8555fe9c2d..19cbe94be6 100644 --- a/angular.json +++ b/angular.json @@ -17,6 +17,7 @@ "build": { "builder": "@angular-builders/custom-webpack:browser", "options": { + "extractCss": true, "preserveSymlinks": true, "customWebpackConfig": { "path": "./webpack/webpack.browser.ts", @@ -46,7 +47,16 @@ "src/robots.txt" ], "styles": [ - "src/styles.scss" + { + "input": "src/styles/base-theme.scss", + "inject": false, + "bundleName": "base-theme" + }, + { + "input": "src/themes/custom/styles/theme.scss", + "inject": false, + "bundleName": "custom-theme" + } ], "scripts": [] }, @@ -116,7 +126,11 @@ "src/assets" ], "styles": [ - "src/styles.scss" + { + "input": "src/styles/base-theme.scss", + "inject": false, + "bundleName": "base-theme" + } ], "scripts": [] } diff --git a/package.json b/package.json index 90ac7db0d9..d221d373fd 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,9 @@ "serve": "ts-node --project ./tsconfig.ts-node.json scripts/serve.ts", "start:dev": "npm-run-all --parallel config:dev:watch serve", "start:prod": "yarn run build:prod && yarn run serve:ssr", + "analyze": "webpack-bundle-analyzer dist/browser/stats.json", "build": "ng build", + "build:stats": "ng build --stats-json", "build:prod": "yarn run build:ssr", "build:ssr": "yarn run build:client-and-server-bundles && yarn run compile:server", "build:client-and-server-bundles": "ng build --prod && ng run dspace-angular:server:production --bundleDependencies true", @@ -179,7 +181,7 @@ "tslint": "^6.1.3", "typescript": "~4.0.5", "webpack": "^4.44.2", - "webpack-bundle-analyzer": "^3.3.2", + "webpack-bundle-analyzer": "^4.4.0", "webpack-cli": "^4.2.0", "webpack-node-externals": "1.7.2" } diff --git a/postcss.config.js b/postcss.config.js index 1c46e245ea..df092d1d39 100644 --- a/postcss.config.js +++ b/postcss.config.js @@ -1,7 +1,7 @@ module.exports = { plugins: [ require('postcss-import')(), - require('postcss-cssnext')(), + require('postcss-preset-env')(), require('postcss-apply')(), require('postcss-responsive-type')() ] diff --git a/scripts/sync-build-dir.js b/scripts/sync-build-dir.js deleted file mode 100644 index c147f139a5..0000000000 --- a/scripts/sync-build-dir.js +++ /dev/null @@ -1,22 +0,0 @@ -const syncBuildDir = require('copyfiles'); -const path = require('path'); -const { - projectRoot, - theme, - themePath, -} = require('../webpack/helpers'); - -const projectDepth = projectRoot('./').split(path.sep).length; - -let callback; - -if (theme !== null && theme !== undefined) { - callback = () => { - syncBuildDir([path.join(themePath, '**/*'), 'build'], { up: projectDepth + 2 }, () => {}) - } -} -else { - callback = () => {}; -} - -syncBuildDir([projectRoot('src/**/*'), 'build'], { up: projectDepth + 1 }, callback); diff --git a/src/app/+admin/admin-search-page/admin-search-results/admin-search-result-grid-element/item-search-result/item-admin-search-result-grid-element.component.spec.ts b/src/app/+admin/admin-search-page/admin-search-results/admin-search-result-grid-element/item-search-result/item-admin-search-result-grid-element.component.spec.ts index ccd893e6f0..dedada5f5f 100644 --- a/src/app/+admin/admin-search-page/admin-search-results/admin-search-result-grid-element/item-search-result/item-admin-search-result-grid-element.component.spec.ts +++ b/src/app/+admin/admin-search-page/admin-search-results/admin-search-result-grid-element/item-search-result/item-admin-search-result-grid-element.component.spec.ts @@ -16,6 +16,8 @@ import { RouterTestingModule } from '@angular/router/testing'; import { ItemSearchResult } from '../../../../../shared/object-collection/shared/item-search-result.model'; import { ItemAdminSearchResultGridElementComponent } from './item-admin-search-result-grid-element.component'; import { createSuccessfulRemoteDataObject$ } from '../../../../../shared/remote-data.utils'; +import { getMockThemeService } from '../../../../../shared/mocks/theme-service.mock'; +import { ThemeService } from '../../../../../shared/theme-support/theme.service'; describe('ItemAdminSearchResultGridElementComponent', () => { let component: ItemAdminSearchResultGridElementComponent; @@ -29,6 +31,8 @@ describe('ItemAdminSearchResultGridElementComponent', () => { } }; + const mockThemeService = getMockThemeService(); + function init() { id = '780b2588-bda5-4112-a1cd-0b15000a5339'; searchResult = new ItemSearchResult(); @@ -50,6 +54,7 @@ describe('ItemAdminSearchResultGridElementComponent', () => { providers: [ { provide: TruncatableService, useValue: mockTruncatableService }, { provide: BitstreamDataService, useValue: mockBitstreamDataService }, + { provide: ThemeService, useValue: mockThemeService }, ], schemas: [NO_ERRORS_SCHEMA] }) diff --git a/src/app/+admin/admin-search-page/admin-search-results/admin-search-result-grid-element/item-search-result/item-admin-search-result-grid-element.component.ts b/src/app/+admin/admin-search-page/admin-search-results/admin-search-result-grid-element/item-search-result/item-admin-search-result-grid-element.component.ts index 68ef5ffc5e..13158204c5 100644 --- a/src/app/+admin/admin-search-page/admin-search-results/admin-search-result-grid-element/item-search-result/item-admin-search-result-grid-element.component.ts +++ b/src/app/+admin/admin-search-page/admin-search-results/admin-search-result-grid-element/item-search-result/item-admin-search-result-grid-element.component.ts @@ -12,6 +12,7 @@ import { TruncatableService } from '../../../../../shared/truncatable/truncatabl import { BitstreamDataService } from '../../../../../core/data/bitstream-data.service'; import { GenericConstructor } from '../../../../../core/shared/generic-constructor'; import { ListableObjectDirective } from '../../../../../shared/object-collection/shared/listable-object/listable-object.directive'; +import { ThemeService } from '../../../../../shared/theme-support/theme.service'; @listableObjectComponent(ItemSearchResult, ViewMode.GridElement, Context.AdminSearch) @Component({ @@ -29,6 +30,7 @@ export class ItemAdminSearchResultGridElementComponent extends SearchResultGridE constructor(protected truncatableService: TruncatableService, protected bitstreamDataService: BitstreamDataService, + private themeService: ThemeService, private componentFactoryResolver: ComponentFactoryResolver ) { super(truncatableService, bitstreamDataService); @@ -63,6 +65,6 @@ export class ItemAdminSearchResultGridElementComponent extends SearchResultGridE * @returns {GenericConstructor} */ private getComponent(): GenericConstructor { - return getListableObjectComponent(this.object.getRenderTypes(), ViewMode.GridElement, undefined); + return getListableObjectComponent(this.object.getRenderTypes(), ViewMode.GridElement, undefined, this.themeService.getThemeName()); } } diff --git a/src/app/+admin/admin-sidebar/admin-sidebar.component.scss b/src/app/+admin/admin-sidebar/admin-sidebar.component.scss index 36355fcab9..e6eb4a7037 100644 --- a/src/app/+admin/admin-sidebar/admin-sidebar.component.scss +++ b/src/app/+admin/admin-sidebar/admin-sidebar.component.scss @@ -1,12 +1,12 @@ -$icon-z-index: 10; - :host { + --ds-icon-z-index: 10; + left: 0; top: 0; height: 100vh; flex: 1 1 auto; nav { - background-color: $admin-sidebar-bg; + background-color: var(--ds-admin-sidebar-bg); height: 100%; flex-direction: column; > div { @@ -19,12 +19,12 @@ $icon-z-index: 10; } &.inactive ::ng-deep .sidebar-collapsible { - margin-left: -#{$sidebar-items-width}; + margin-left: calc(-1 * var(--ds-sidebar-items-width)); } .navbar-nav { .admin-menu-header { - background-color: $admin-sidebar-header-bg; + background-color: var(--ds-admin-sidebar-header-bg); .logo-wrapper { img { height: 20px; @@ -43,29 +43,29 @@ $icon-z-index: 10; .sidebar-section { display: flex; align-content: stretch; - background-color: $admin-sidebar-bg; + background-color: var(--ds-admin-sidebar-bg); .nav-item { - padding-top: $spacer; - padding-bottom: $spacer; + padding-top: var(--bs-spacer); + padding-bottom: var(--bs-spacer); } .shortcut-icon { - padding-left: $icon-padding; - padding-right: $icon-padding; + padding-left: var(--ds-icon-padding); + padding-right: var(--ds-icon-padding); } .shortcut-icon, .icon-wrapper { background-color: inherit; - z-index: $icon-z-index; + z-index: var(--ds-icon-z-index); } .sidebar-collapsible { - width: $sidebar-items-width; + width: var(--ds-sidebar-items-width); position: relative; a { - padding-right: $spacer; + padding-right: var(--bs-spacer); width: 100%; } } &.active > .sidebar-collapsible > .nav-link { - color: $navbar-dark-active-color; + color: var(--bs-navbar-dark-active-color); } } } @@ -73,4 +73,4 @@ $icon-z-index: 10; } -} \ No newline at end of file +} diff --git a/src/app/+admin/admin-sidebar/expandable-admin-sidebar-section/expandable-admin-sidebar-section.component.scss b/src/app/+admin/admin-sidebar/expandable-admin-sidebar-section/expandable-admin-sidebar-section.component.scss index 1f6e288608..e3a807a14f 100644 --- a/src/app/+admin/admin-sidebar/expandable-admin-sidebar-section/expandable-admin-sidebar-section.component.scss +++ b/src/app/+admin/admin-sidebar/expandable-admin-sidebar-section/expandable-admin-sidebar-section.component.scss @@ -1,13 +1,13 @@ :host ::ng-deep { .fa-chevron-right { - padding-left: $spacer/2; + padding-left: calc(var(--bs-spacer) / 2); font-size: 0.5rem; line-height: 3; } .sidebar-sub-level-items { list-style: disc; - color: $navbar-dark-color; + color: var(--bs-navbar-dark-color); overflow: hidden; } diff --git a/src/app/+admin/admin-workflow-page/admin-workflow-search-results/admin-workflow-search-result-grid-element/workflow-item/workflow-item-search-result-admin-workflow-grid-element.component.spec.ts b/src/app/+admin/admin-workflow-page/admin-workflow-search-results/admin-workflow-search-result-grid-element/workflow-item/workflow-item-search-result-admin-workflow-grid-element.component.spec.ts index fe3e0ff3de..0b933d0859 100644 --- a/src/app/+admin/admin-workflow-page/admin-workflow-search-results/admin-workflow-search-result-grid-element/workflow-item/workflow-item-search-result-admin-workflow-grid-element.component.spec.ts +++ b/src/app/+admin/admin-workflow-page/admin-workflow-search-results/admin-workflow-search-result-grid-element/workflow-item/workflow-item-search-result-admin-workflow-grid-element.component.spec.ts @@ -19,6 +19,8 @@ import { BitstreamDataService } from '../../../../../core/data/bitstream-data.se import { createSuccessfulRemoteDataObject$ } from '../../../../../shared/remote-data.utils'; import { getMockLinkService } from '../../../../../shared/mocks/link-service.mock'; import { of as observableOf } from 'rxjs'; +import { getMockThemeService } from '../../../../../shared/mocks/theme-service.mock'; +import { ThemeService } from '../../../../../shared/theme-support/theme.service'; describe('WorkflowItemAdminWorkflowGridElementComponent', () => { let component: WorkflowItemSearchResultAdminWorkflowGridElementComponent; @@ -28,6 +30,7 @@ describe('WorkflowItemAdminWorkflowGridElementComponent', () => { let itemRD$; let linkService; let object; + let themeService; function init() { itemRD$ = createSuccessfulRemoteDataObject$(new Item()); @@ -37,6 +40,7 @@ describe('WorkflowItemAdminWorkflowGridElementComponent', () => { wfi.item = itemRD$; object.indexableObject = wfi; linkService = getMockLinkService(); + themeService = getMockThemeService(); } beforeEach(waitForAsync(() => { @@ -51,6 +55,7 @@ describe('WorkflowItemAdminWorkflowGridElementComponent', () => { ], providers: [ { provide: LinkService, useValue: linkService }, + { provide: ThemeService, useValue: themeService }, { provide: TruncatableService, useValue: { isCollapsed: () => observableOf(true), diff --git a/src/app/+admin/admin-workflow-page/admin-workflow-search-results/admin-workflow-search-result-grid-element/workflow-item/workflow-item-search-result-admin-workflow-grid-element.component.ts b/src/app/+admin/admin-workflow-page/admin-workflow-search-results/admin-workflow-search-result-grid-element/workflow-item/workflow-item-search-result-admin-workflow-grid-element.component.ts index 67a961b330..cf5746391c 100644 --- a/src/app/+admin/admin-workflow-page/admin-workflow-search-results/admin-workflow-search-result-grid-element/workflow-item/workflow-item-search-result-admin-workflow-grid-element.component.ts +++ b/src/app/+admin/admin-workflow-page/admin-workflow-search-results/admin-workflow-search-result-grid-element/workflow-item/workflow-item-search-result-admin-workflow-grid-element.component.ts @@ -1,7 +1,10 @@ import { Component, ComponentFactoryResolver, ElementRef, ViewChild } from '@angular/core'; import { Item } from '../../../../../core/shared/item.model'; import { ViewMode } from '../../../../../core/shared/view-mode.model'; -import { getListableObjectComponent, listableObjectComponent } from '../../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; +import { + getListableObjectComponent, + listableObjectComponent +} from '../../../../../shared/object-collection/shared/listable-object/listable-object.decorator'; import { Context } from '../../../../../core/shared/context.model'; import { SearchResultGridElementComponent } from '../../../../../shared/object-grid/search-result-grid-element/search-result-grid-element.component'; import { TruncatableService } from '../../../../../shared/truncatable/truncatable.service'; @@ -13,9 +16,13 @@ import { Observable } from 'rxjs'; import { LinkService } from '../../../../../core/cache/builders/link.service'; import { followLink } from '../../../../../shared/utils/follow-link-config.model'; import { RemoteData } from '../../../../../core/data/remote-data'; -import { getAllSucceededRemoteData, getRemoteDataPayload } from '../../../../../core/shared/operators'; +import { + getAllSucceededRemoteData, + getRemoteDataPayload +} from '../../../../../core/shared/operators'; import { take } from 'rxjs/operators'; import { WorkflowItemSearchResult } from '../../../../../shared/object-collection/shared/workflow-item-search-result.model'; +import { ThemeService } from '../../../../../shared/theme-support/theme.service'; @listableObjectComponent(WorkflowItemSearchResult, ViewMode.GridElement, Context.AdminWorkflowSearch) @Component({ @@ -51,6 +58,7 @@ export class WorkflowItemSearchResultAdminWorkflowGridElementComponent extends S private componentFactoryResolver: ComponentFactoryResolver, private linkService: LinkService, protected truncatableService: TruncatableService, + private themeService: ThemeService, protected bitstreamDataService: BitstreamDataService ) { super(truncatableService, bitstreamDataService); @@ -92,7 +100,7 @@ export class WorkflowItemSearchResultAdminWorkflowGridElementComponent extends S * @returns {GenericConstructor} */ private getComponent(item: Item): GenericConstructor { - return getListableObjectComponent(item.getRenderTypes(), ViewMode.GridElement, undefined); + return getListableObjectComponent(item.getRenderTypes(), ViewMode.GridElement, undefined, this.themeService.getThemeName()); } } diff --git a/src/app/+bitstream-page/edit-bitstream-page/edit-bitstream-page.component.scss b/src/app/+bitstream-page/edit-bitstream-page/edit-bitstream-page.component.scss index d212b5347c..13de59700c 100644 --- a/src/app/+bitstream-page/edit-bitstream-page/edit-bitstream-page.component.scss +++ b/src/app/+bitstream-page/edit-bitstream-page/edit-bitstream-page.component.scss @@ -2,7 +2,7 @@ ::ng-deep { .switch { position: absolute; - top: $spacer*2.5; + top: calc(var(--bs-spacer) * 2.5); } } } diff --git a/src/app/+collection-page/collection-page.resolver.spec.ts b/src/app/+collection-page/collection-page.resolver.spec.ts index 5ded339fb8..4b1ea9834c 100644 --- a/src/app/+collection-page/collection-page.resolver.spec.ts +++ b/src/app/+collection-page/collection-page.resolver.spec.ts @@ -6,17 +6,21 @@ describe('CollectionPageResolver', () => { describe('resolve', () => { let resolver: CollectionPageResolver; let collectionService: any; + let store: any; const uuid = '1234-65487-12354-1235'; beforeEach(() => { collectionService = { findById: (id: string) => createSuccessfulRemoteDataObject$({ id }) }; - resolver = new CollectionPageResolver(collectionService); + store = jasmine.createSpyObj('store', { + dispatch: {}, + }); + resolver = new CollectionPageResolver(collectionService, store); }); it('should resolve a collection with the correct id', (done) => { - resolver.resolve({ params: { id: uuid } } as any, undefined) + resolver.resolve({ params: { id: uuid } } as any, { url: 'current-url' } as any) .pipe(first()) .subscribe( (resolved) => { diff --git a/src/app/+collection-page/collection-page.resolver.ts b/src/app/+collection-page/collection-page.resolver.ts index 44d238fc97..f6f87f117c 100644 --- a/src/app/+collection-page/collection-page.resolver.ts +++ b/src/app/+collection-page/collection-page.resolver.ts @@ -4,15 +4,31 @@ import { Collection } from '../core/shared/collection.model'; import { Observable } from 'rxjs'; import { CollectionDataService } from '../core/data/collection-data.service'; import { RemoteData } from '../core/data/remote-data'; -import { followLink } from '../shared/utils/follow-link-config.model'; +import { followLink, FollowLinkConfig } from '../shared/utils/follow-link-config.model'; import { getFirstCompletedRemoteData } from '../core/shared/operators'; +import { Store } from '@ngrx/store'; +import { ResolvedAction } from '../core/resolving/resolver.actions'; + +/** + * The self links defined in this list are expected to be requested somewhere in the near future + * Requesting them as embeds will limit the number of requests + */ +export const COLLECTION_PAGE_LINKS_TO_FOLLOW: FollowLinkConfig[] = [ + followLink('parentCommunity', undefined, true, true, true, + followLink('parentCommunity') + ), + followLink('logo') +]; /** * This class represents a resolver that requests a specific collection before the route is activated */ @Injectable() export class CollectionPageResolver implements Resolve> { - constructor(private collectionService: CollectionDataService) { + constructor( + private collectionService: CollectionDataService, + private store: Store + ) { } /** @@ -23,8 +39,19 @@ export class CollectionPageResolver implements Resolve> { * or an error if something went wrong */ resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable> { - return this.collectionService.findById(route.params.id, true, false, followLink('logo')).pipe( + const collectionRD$ = this.collectionService.findById( + route.params.id, + true, + false, + ...COLLECTION_PAGE_LINKS_TO_FOLLOW + ).pipe( getFirstCompletedRemoteData() ); + + collectionRD$.subscribe((collectionRD: RemoteData) => { + this.store.dispatch(new ResolvedAction(state.url, collectionRD.payload)); + }); + + return collectionRD$; } } diff --git a/src/app/+community-page/community-page.resolver.spec.ts b/src/app/+community-page/community-page.resolver.spec.ts index e75f5ad57e..f181dbfff6 100644 --- a/src/app/+community-page/community-page.resolver.spec.ts +++ b/src/app/+community-page/community-page.resolver.spec.ts @@ -6,17 +6,21 @@ describe('CommunityPageResolver', () => { describe('resolve', () => { let resolver: CommunityPageResolver; let communityService: any; + let store: any; const uuid = '1234-65487-12354-1235'; beforeEach(() => { communityService = { findById: (id: string) => createSuccessfulRemoteDataObject$({ id }) }; - resolver = new CommunityPageResolver(communityService); + store = jasmine.createSpyObj('store', { + dispatch: {}, + }); + resolver = new CommunityPageResolver(communityService, store); }); it('should resolve a community with the correct id', (done) => { - resolver.resolve({ params: { id: uuid } } as any, undefined) + resolver.resolve({ params: { id: uuid } } as any, { url: 'current-url' } as any) .pipe(first()) .subscribe( (resolved) => { diff --git a/src/app/+community-page/community-page.resolver.ts b/src/app/+community-page/community-page.resolver.ts index c5780f0a0f..01de9294f3 100644 --- a/src/app/+community-page/community-page.resolver.ts +++ b/src/app/+community-page/community-page.resolver.ts @@ -4,15 +4,31 @@ import { Observable } from 'rxjs'; import { RemoteData } from '../core/data/remote-data'; import { Community } from '../core/shared/community.model'; import { CommunityDataService } from '../core/data/community-data.service'; -import { followLink } from '../shared/utils/follow-link-config.model'; +import { followLink, FollowLinkConfig } from '../shared/utils/follow-link-config.model'; import { getFirstCompletedRemoteData } from '../core/shared/operators'; +import { ResolvedAction } from '../core/resolving/resolver.actions'; +import { Store } from '@ngrx/store'; + +/** + * The self links defined in this list are expected to be requested somewhere in the near future + * Requesting them as embeds will limit the number of requests + */ +export const COMMUNITY_PAGE_LINKS_TO_FOLLOW: FollowLinkConfig[] = [ + followLink('logo'), + followLink('subcommunities'), + followLink('collections'), + followLink('parentCommunity') +]; /** * This class represents a resolver that requests a specific community before the route is activated */ @Injectable() export class CommunityPageResolver implements Resolve> { - constructor(private communityService: CommunityDataService) { + constructor( + private communityService: CommunityDataService, + private store: Store + ) { } /** @@ -23,15 +39,19 @@ export class CommunityPageResolver implements Resolve> { * or an error if something went wrong */ resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable> { - return this.communityService.findById( + const communityRD$ = this.communityService.findById( route.params.id, true, false, - followLink('logo'), - followLink('subcommunities'), - followLink('collections') + ...COMMUNITY_PAGE_LINKS_TO_FOLLOW ).pipe( getFirstCompletedRemoteData(), ); + + communityRD$.subscribe((communityRD: RemoteData) => { + this.store.dispatch(new ResolvedAction(state.url, communityRD.payload)); + }); + + return communityRD$; } } diff --git a/src/app/+community-page/sub-collection-list/community-page-sub-collection-list.component.spec.ts b/src/app/+community-page/sub-collection-list/community-page-sub-collection-list.component.spec.ts index 73e96fcc9c..13a91563c8 100644 --- a/src/app/+community-page/sub-collection-list/community-page-sub-collection-list.component.spec.ts +++ b/src/app/+community-page/sub-collection-list/community-page-sub-collection-list.component.spec.ts @@ -18,11 +18,14 @@ import { PageInfo } from '../../core/shared/page-info.model'; import { HostWindowService } from '../../shared/host-window.service'; import { HostWindowServiceStub } from '../../shared/testing/host-window-service.stub'; import { SelectableListService } from '../../shared/object-list/selectable-list/selectable-list.service'; +import { getMockThemeService } from '../../shared/mocks/theme-service.mock'; +import { ThemeService } from '../../shared/theme-support/theme.service'; describe('CommunityPageSubCollectionList Component', () => { let comp: CommunityPageSubCollectionListComponent; let fixture: ComponentFixture; let collectionDataServiceStub: any; + let themeService; let subCollList = []; const collections = [Object.assign(new Community(), { @@ -110,6 +113,8 @@ describe('CommunityPageSubCollectionList Component', () => { } }; + themeService = getMockThemeService(); + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ imports: [ @@ -124,6 +129,7 @@ describe('CommunityPageSubCollectionList Component', () => { { provide: CollectionDataService, useValue: collectionDataServiceStub }, { provide: HostWindowService, useValue: new HostWindowServiceStub(0) }, { provide: SelectableListService, useValue: {} }, + { provide: ThemeService, useValue: themeService }, ], schemas: [NO_ERRORS_SCHEMA] }).compileComponents(); diff --git a/src/app/+community-page/sub-community-list/community-page-sub-community-list.component.spec.ts b/src/app/+community-page/sub-community-list/community-page-sub-community-list.component.spec.ts index b52df64db7..21ba1b28b0 100644 --- a/src/app/+community-page/sub-community-list/community-page-sub-community-list.component.spec.ts +++ b/src/app/+community-page/sub-community-list/community-page-sub-community-list.component.spec.ts @@ -18,11 +18,14 @@ import { HostWindowService } from '../../shared/host-window.service'; import { HostWindowServiceStub } from '../../shared/testing/host-window-service.stub'; import { CommunityDataService } from '../../core/data/community-data.service'; import { SelectableListService } from '../../shared/object-list/selectable-list/selectable-list.service'; +import { getMockThemeService } from '../../shared/mocks/theme-service.mock'; +import { ThemeService } from '../../shared/theme-support/theme.service'; describe('CommunityPageSubCommunityListComponent Component', () => { let comp: CommunityPageSubCommunityListComponent; let fixture: ComponentFixture; let communityDataServiceStub: any; + let themeService; let subCommList = []; const subcommunities = [Object.assign(new Community(), { @@ -111,6 +114,8 @@ describe('CommunityPageSubCommunityListComponent Component', () => { } }; + themeService = getMockThemeService(); + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ imports: [ @@ -125,6 +130,7 @@ describe('CommunityPageSubCommunityListComponent Component', () => { { provide: CommunityDataService, useValue: communityDataServiceStub }, { provide: HostWindowService, useValue: new HostWindowServiceStub(0) }, { provide: SelectableListService, useValue: {} }, + { provide: ThemeService, useValue: themeService }, ], schemas: [NO_ERRORS_SCHEMA] }).compileComponents(); diff --git a/src/app/+home-page/home-news/home-news.component.scss b/src/app/+home-page/home-news/home-news.component.scss index 50d3619ad1..e58dd08ccf 100644 --- a/src/app/+home-page/home-news/home-news.component.scss +++ b/src/app/+home-page/home-news/home-news.component.scss @@ -1,7 +1,7 @@ :host { display: block; - margin-top: -$content-spacing; - margin-bottom: -$content-spacing; + margin-top: calc(-1 * var(--ds-content-spacing)); + margin-bottom: calc(-1 * var(--ds-content-spacing)); } .display-3 { @@ -11,4 +11,4 @@ .dspace-logo { height: 110px; width: 110px; -} \ No newline at end of file +} diff --git a/src/app/+home-page/home-news/home-news.component.ts b/src/app/+home-page/home-news/home-news.component.ts index cebe217623..62c8e94671 100644 --- a/src/app/+home-page/home-news/home-news.component.ts +++ b/src/app/+home-page/home-news/home-news.component.ts @@ -1,4 +1,4 @@ -import { Component } from '@angular/core'; +import { Component, } from '@angular/core'; @Component({ selector: 'ds-home-news', @@ -10,5 +10,4 @@ import { Component } from '@angular/core'; * Component to render the news section on the home page */ export class HomeNewsComponent { - } diff --git a/themes/default/styles/_themed_bootstrap_variables.scss b/src/app/+home-page/home-news/themed-home-news.component.scss similarity index 100% rename from themes/default/styles/_themed_bootstrap_variables.scss rename to src/app/+home-page/home-news/themed-home-news.component.scss diff --git a/src/app/+home-page/home-news/themed-home-news.component.ts b/src/app/+home-page/home-news/themed-home-news.component.ts new file mode 100644 index 0000000000..09abbf8935 --- /dev/null +++ b/src/app/+home-page/home-news/themed-home-news.component.ts @@ -0,0 +1,27 @@ +import { Component } from '@angular/core'; +import { ThemedComponent } from '../../shared/theme-support/themed.component'; +import { HomeNewsComponent } from './home-news.component'; + +@Component({ + selector: 'ds-themed-home-news', + styleUrls: [], + templateUrl: '../../shared/theme-support/themed.component.html', +}) + +/** + * Component to render the news section on the home page + */ +export class ThemedHomeNewsComponent extends ThemedComponent { + protected getComponentName(): string { + return 'HomeNewsComponent'; + } + + protected importThemedComponent(themeName: string): Promise { + return import(`../../../themes/${themeName}/app/+home-page/home-news/home-news.component`); + } + + protected importUnthemedComponent(): Promise { + return import(`./home-news.component`); + } + +} diff --git a/src/app/+home-page/home-page-routing.module.ts b/src/app/+home-page/home-page-routing.module.ts index c94df56643..ec6a547359 100644 --- a/src/app/+home-page/home-page-routing.module.ts +++ b/src/app/+home-page/home-page-routing.module.ts @@ -1,17 +1,17 @@ import { NgModule } from '@angular/core'; import { RouterModule } from '@angular/router'; -import { HomePageComponent } from './home-page.component'; import { HomePageResolver } from './home-page.resolver'; import { MenuItemType } from '../shared/menu/initial-menus-state'; import { LinkMenuItemModel } from '../shared/menu/menu-item/models/link.model'; +import { ThemedHomePageComponent } from './themed-home-page.component'; @NgModule({ imports: [ RouterModule.forChild([ { path: '', - component: HomePageComponent, + component: ThemedHomePageComponent, pathMatch: 'full', data: { title: 'home.title', diff --git a/src/app/+home-page/home-page.component.html b/src/app/+home-page/home-page.component.html index 5515df595b..5902fa30af 100644 --- a/src/app/+home-page/home-page.component.html +++ b/src/app/+home-page/home-page.component.html @@ -1,4 +1,4 @@ - +
diff --git a/src/app/+home-page/home-page.component.ts b/src/app/+home-page/home-page.component.ts index 65caa01430..797b209405 100644 --- a/src/app/+home-page/home-page.component.ts +++ b/src/app/+home-page/home-page.component.ts @@ -10,7 +10,7 @@ import { Site } from '../core/shared/site.model'; templateUrl: './home-page.component.html' }) export class HomePageComponent implements OnInit { - + testInput = 'Bingo!'; site$: Observable; constructor( @@ -23,4 +23,8 @@ export class HomePageComponent implements OnInit { map((data) => data.site as Site), ); } + + onOutput(event: string) { + console.log('testOutput:', event); + } } diff --git a/src/app/+home-page/home-page.module.ts b/src/app/+home-page/home-page.module.ts index 51e978bbfe..d304c78696 100644 --- a/src/app/+home-page/home-page.module.ts +++ b/src/app/+home-page/home-page.module.ts @@ -7,6 +7,16 @@ import { HomePageRoutingModule } from './home-page-routing.module'; import { HomePageComponent } from './home-page.component'; import { TopLevelCommunityListComponent } from './top-level-community-list/top-level-community-list.component'; import { StatisticsModule } from '../statistics/statistics.module'; +import { ThemedHomeNewsComponent } from './home-news/themed-home-news.component'; +import { ThemedHomePageComponent } from './themed-home-page.component'; + +const DECLARATIONS = [ + HomePageComponent, + ThemedHomePageComponent, + TopLevelCommunityListComponent, + ThemedHomeNewsComponent, + HomeNewsComponent, +]; @NgModule({ imports: [ @@ -16,10 +26,11 @@ import { StatisticsModule } from '../statistics/statistics.module'; StatisticsModule.forRoot() ], declarations: [ - HomePageComponent, - TopLevelCommunityListComponent, - HomeNewsComponent, - ] + ...DECLARATIONS, + ], + exports: [ + ...DECLARATIONS, + ], }) export class HomePageModule { diff --git a/src/app/+home-page/themed-home-page.component.ts b/src/app/+home-page/themed-home-page.component.ts new file mode 100644 index 0000000000..69d6a60908 --- /dev/null +++ b/src/app/+home-page/themed-home-page.component.ts @@ -0,0 +1,26 @@ +import { ThemedComponent } from '../shared/theme-support/themed.component'; +import { HomePageComponent } from './home-page.component'; +import { Component } from '@angular/core'; + +@Component({ + selector: 'ds-themed-home-page', + styleUrls: [], + templateUrl: '../shared/theme-support/themed.component.html', +}) +export class ThemedHomePageComponent extends ThemedComponent { + protected inAndOutputNames: (keyof HomePageComponent & keyof this)[]; + + + protected getComponentName(): string { + return 'HomePageComponent'; + } + + protected importThemedComponent(themeName: string): Promise { + return import(`../../themes/${themeName}/app/+home-page/home-page.component`); + } + + protected importUnthemedComponent(): Promise { + return import(`./home-page.component`); + } + +} diff --git a/src/app/+home-page/top-level-community-list/top-level-community-list.component.spec.ts b/src/app/+home-page/top-level-community-list/top-level-community-list.component.spec.ts index 4e0b8d4d22..0daa0a0ae0 100644 --- a/src/app/+home-page/top-level-community-list/top-level-community-list.component.spec.ts +++ b/src/app/+home-page/top-level-community-list/top-level-community-list.component.spec.ts @@ -18,11 +18,14 @@ import { HostWindowService } from '../../shared/host-window.service'; import { HostWindowServiceStub } from '../../shared/testing/host-window-service.stub'; import { CommunityDataService } from '../../core/data/community-data.service'; import { SelectableListService } from '../../shared/object-list/selectable-list/selectable-list.service'; +import { getMockThemeService } from '../../shared/mocks/theme-service.mock'; +import { ThemeService } from '../../shared/theme-support/theme.service'; describe('TopLevelCommunityList Component', () => { let comp: TopLevelCommunityListComponent; let fixture: ComponentFixture; let communityDataServiceStub: any; + let themeService; const topCommList = [Object.assign(new Community(), { id: '123456789-1', @@ -101,6 +104,8 @@ describe('TopLevelCommunityList Component', () => { } }; + themeService = getMockThemeService(); + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ imports: [ @@ -115,6 +120,7 @@ describe('TopLevelCommunityList Component', () => { { provide: CommunityDataService, useValue: communityDataServiceStub }, { provide: HostWindowService, useValue: new HostWindowServiceStub(0) }, { provide: SelectableListService, useValue: {} }, + { provide: ThemeService, useValue: themeService }, ], schemas: [NO_ERRORS_SCHEMA] }).compileComponents(); diff --git a/src/app/+item-page/edit-item-page/edit-item-page.component.scss b/src/app/+item-page/edit-item-page/edit-item-page.component.scss index bb3bdaaeb0..7fd08c83af 100644 --- a/src/app/+item-page/edit-item-page/edit-item-page.component.scss +++ b/src/app/+item-page/edit-item-page/edit-item-page.component.scss @@ -1,3 +1,3 @@ .btn { - min-width: $edit-item-button-min-width; + min-width: var(--ds-edit-item-button-min-width); } diff --git a/src/app/+item-page/edit-item-page/item-bitstreams/item-bitstreams.component.scss b/src/app/+item-page/edit-item-page/item-bitstreams/item-bitstreams.component.scss index 0400e765de..1fcbe99702 100644 --- a/src/app/+item-page/edit-item-page/item-bitstreams/item-bitstreams.component.scss +++ b/src/app/+item-page/edit-item-page/item-bitstreams/item-bitstreams.component.scss @@ -1,19 +1,19 @@ .header-row { - color: $table-dark-color; - background-color: $table-dark-bg; - border-color: $table-dark-border-color; + color: var(--bs-table-dark-color); + background-color: var(--bs-table-dark-bg); + border-color: var(--bs-table-dark-border-color); } .bundle-row { - color: $table-head-color; - background-color: $table-head-bg; - border-color: $table-border-color; + color: var(--bs-table-head-color); + background-color: var(--bs-table-head-bg); + border-color: var(--bs-table-border-color); } .row-element { padding: 12px; padding: 0.75em; - border-bottom: $table-border-width solid $table-border-color; + border-bottom: var(--bs-table-border-width) solid var(--bs-table-border-color); } .drag-handle { diff --git a/src/app/+item-page/edit-item-page/item-metadata/edit-in-place-field/edit-in-place-field.component.scss b/src/app/+item-page/edit-item-page/item-metadata/edit-in-place-field/edit-in-place-field.component.scss index 1790157fa5..a2a6786b36 100644 --- a/src/app/+item-page/edit-item-page/item-metadata/edit-in-place-field/edit-in-place-field.component.scss +++ b/src/app/+item-page/edit-item-page/item-metadata/edit-in-place-field/edit-in-place-field.component.scss @@ -1,13 +1,13 @@ .btn[disabled] { - color: $gray-600; - border-color: $gray-600; + color: var(--bs-gray-600); + border-color: var(--bs-gray-600); z-index: 0; // prevent border colors jumping on hover } .metadata-field { - width: $edit-item-metadata-field-width; + width: var(--ds-edit-item-metadata-field-width); } .language-field { - width: $edit-item-language-field-width; -} \ No newline at end of file + width: var(--ds-edit-item-language-field-width); +} diff --git a/src/app/+item-page/edit-item-page/item-metadata/item-metadata.component.scss b/src/app/+item-page/edit-item-page/item-metadata/item-metadata.component.scss index a74ecb8f47..c502f69f98 100644 --- a/src/app/+item-page/edit-item-page/item-metadata/item-metadata.component.scss +++ b/src/app/+item-page/edit-item-page/item-metadata/item-metadata.component.scss @@ -1,20 +1,20 @@ .button-row { .btn { - margin-right: 0.5 * $spacer; + margin-right: calc(0.5 * var(--bs-spacer)); &:last-child { margin-right: 0; } - @media screen and (min-width: map-get($grid-breakpoints, sm)) { - min-width: $edit-item-button-min-width; + @media screen and (min-width: var(--ds-grid-breakpoints-sm)) { + min-width: var(--ds-edit-item-button-min-width); } } &.top .btn { - margin-top: $spacer/2; - margin-bottom: $spacer/2; + margin-top: calc(var(--bs-spacer) / 2); + margin-bottom: calc(var(--bs-spacer) / 2); } -} \ No newline at end of file +} diff --git a/src/app/+item-page/edit-item-page/item-relationships/edit-relationship-list/edit-relationship-list.component.scss b/src/app/+item-page/edit-item-page/item-relationships/edit-relationship-list/edit-relationship-list.component.scss index 54498499d7..1466447116 100644 --- a/src/app/+item-page/edit-item-page/item-relationships/edit-relationship-list/edit-relationship-list.component.scss +++ b/src/app/+item-page/edit-item-page/item-relationships/edit-relationship-list/edit-relationship-list.component.scss @@ -1,10 +1,10 @@ .relationship-row:not(.alert) { - padding: $alert-padding-y 0; + padding: var(--bs-alert-padding-y) 0; } .relationship-row.alert { - margin-left: -$alert-padding-x; - margin-right: -$alert-padding-x; + margin-left: calc(-1 * var(--bs-alert-padding-x)); + margin-right: calc(-1 * var(--bs-alert-padding-x)); margin-top: -1px; margin-bottom: -1px; } diff --git a/src/app/+item-page/edit-item-page/item-relationships/edit-relationship/edit-relationship.component.scss b/src/app/+item-page/edit-item-page/item-relationships/edit-relationship/edit-relationship.component.scss index a974ec9a17..b1b8ca22a3 100644 --- a/src/app/+item-page/edit-item-page/item-relationships/edit-relationship/edit-relationship.component.scss +++ b/src/app/+item-page/edit-item-page/item-relationships/edit-relationship/edit-relationship.component.scss @@ -1,6 +1,6 @@ .btn[disabled] { - color: $gray-600; - border-color: $gray-600; + color: var(--bs-gray-600); + border-color: var(--bs-gray-600); z-index: 0; // prevent border colors jumping on hover } diff --git a/src/app/+item-page/edit-item-page/item-relationships/item-relationships.component.scss b/src/app/+item-page/edit-item-page/item-relationships/item-relationships.component.scss index 39ad631342..033cea8eea 100644 --- a/src/app/+item-page/edit-item-page/item-relationships/item-relationships.component.scss +++ b/src/app/+item-page/edit-item-page/item-relationships/item-relationships.component.scss @@ -1,19 +1,19 @@ .button-row { .btn { - margin-right: 0.5 * $spacer; + margin-right: calc(0.5 * var(--bs-spacer)); &:last-child { margin-right: 0; } - @media screen and (min-width: map-get($grid-breakpoints, sm)) { - min-width: $edit-item-button-min-width; + @media screen and (min-width: var(--ds-grid-breakpoints-sm)) { + min-width: var(--ds-edit-item-button-min-width); } } &.top .btn { - margin-top: $spacer/2; - margin-bottom: $spacer/2; + margin-top: calc(var(--bs-spacer) / 2); + margin-bottom: calc(var(--bs-spacer) / 2); } diff --git a/src/app/+item-page/full/field-components/file-section/full-file-section.component.scss b/src/app/+item-page/full/field-components/file-section/full-file-section.component.scss index 5bb04cac2f..c60f2f9ff9 100644 --- a/src/app/+item-page/full/field-components/file-section/full-file-section.component.scss +++ b/src/app/+item-page/full/field-components/file-section/full-file-section.component.scss @@ -1,5 +1,5 @@ -@media screen and (min-width: map-get($grid-breakpoints, md)) { +@media screen and (min-width: var(--ds-grid-breakpoints-md)) { dt { text-align: right; } -} \ No newline at end of file +} diff --git a/src/app/+item-page/item-page.module.ts b/src/app/+item-page/item-page.module.ts index 299048e094..ed8d872b36 100644 --- a/src/app/+item-page/item-page.module.ts +++ b/src/app/+item-page/item-page.module.ts @@ -32,6 +32,26 @@ const ENTRY_COMPONENTS = [ UntypedItemComponent ]; +const DECLARATIONS = [ + ItemPageComponent, + FullItemPageComponent, + MetadataUriValuesComponent, + ItemPageAuthorFieldComponent, + ItemPageDateFieldComponent, + ItemPageAbstractFieldComponent, + ItemPageUriFieldComponent, + ItemPageTitleFieldComponent, + ItemPageFieldComponent, + FileSectionComponent, + CollectionsComponent, + FullFileSectionComponent, + PublicationComponent, + UntypedItemComponent, + ItemComponent, + UploadBitstreamComponent, + AbstractIncrementalListComponent, +]; + @NgModule({ imports: [ CommonModule, @@ -43,23 +63,10 @@ const ENTRY_COMPONENTS = [ ResearchEntitiesModule.withEntryComponents() ], declarations: [ - ItemPageComponent, - FullItemPageComponent, - MetadataUriValuesComponent, - ItemPageAuthorFieldComponent, - ItemPageDateFieldComponent, - ItemPageAbstractFieldComponent, - ItemPageUriFieldComponent, - ItemPageTitleFieldComponent, - ItemPageFieldComponent, - FileSectionComponent, - CollectionsComponent, - FullFileSectionComponent, - PublicationComponent, - UntypedItemComponent, - ItemComponent, - UploadBitstreamComponent, - AbstractIncrementalListComponent, + ...DECLARATIONS + ], + exports: [ + ...DECLARATIONS ] }) export class ItemPageModule { diff --git a/src/app/+item-page/item-page.resolver.ts b/src/app/+item-page/item-page.resolver.ts index d90806bfc3..4bf353fffd 100644 --- a/src/app/+item-page/item-page.resolver.ts +++ b/src/app/+item-page/item-page.resolver.ts @@ -7,9 +7,18 @@ import { Item } from '../core/shared/item.model'; import { followLink, FollowLinkConfig } from '../shared/utils/follow-link-config.model'; import { FindListOptions } from '../core/data/request.models'; import { getFirstCompletedRemoteData } from '../core/shared/operators'; +import { Store } from '@ngrx/store'; +import { ResolvedAction } from '../core/resolving/resolver.actions'; +/** + * The self links defined in this list are expected to be requested somewhere in the near future + * Requesting them as embeds will limit the number of requests + */ export const ITEM_PAGE_LINKS_TO_FOLLOW: FollowLinkConfig[] = [ - followLink('owningCollection'), + followLink('owningCollection', undefined, true, true, true, + followLink('parentCommunity', undefined, true, true, true, + followLink('parentCommunity')) + ), followLink('bundles', new FindListOptions(), true, true, true, followLink('bitstreams')), followLink('relationships'), followLink('version', undefined, true, true, true, followLink('versionhistory')), @@ -20,7 +29,10 @@ export const ITEM_PAGE_LINKS_TO_FOLLOW: FollowLinkConfig[] = [ */ @Injectable() export class ItemPageResolver implements Resolve> { - constructor(private itemService: ItemDataService) { + constructor( + private itemService: ItemDataService, + private store: Store + ) { } /** @@ -31,12 +43,18 @@ export class ItemPageResolver implements Resolve> { * or an error if something went wrong */ resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable> { - return this.itemService.findById(route.params.id, + const itemRD$ = this.itemService.findById(route.params.id, true, false, ...ITEM_PAGE_LINKS_TO_FOLLOW ).pipe( getFirstCompletedRemoteData(), ); + + itemRD$.subscribe((itemRD: RemoteData) => { + this.store.dispatch(new ResolvedAction(state.url, itemRD.payload)); + }); + + return itemRD$; } } diff --git a/src/app/+login-page/login-page.component.scss b/src/app/+login-page/login-page.component.scss index 58e7272e5f..d628a5089f 100644 --- a/src/app/+login-page/login-page.component.scss +++ b/src/app/+login-page/login-page.component.scss @@ -1,4 +1,4 @@ .login-logo { - height: $login-logo-height; - width: $login-logo-width; + height: var(--ds-login-logo-height); + width: var(--ds-login-logo-width); } diff --git a/src/app/+search-page/search.component.scss b/src/app/+search-page/search.component.scss index 44d4aabd13..82de1f4772 100644 --- a/src/app/+search-page/search.component.scss +++ b/src/app/+search-page/search.component.scss @@ -6,5 +6,5 @@ } ::ng-deep .search-controls { - margin-bottom: $spacer; + margin-bottom: var(--bs-spacer); } diff --git a/src/app/app-routing-paths.ts b/src/app/app-routing-paths.ts index 8db4ba5aa7..64c7e8e0a6 100644 --- a/src/app/app-routing-paths.ts +++ b/src/app/app-routing-paths.ts @@ -5,6 +5,7 @@ import { Item } from './core/shared/item.model'; import { getCommunityPageRoute } from './+community-page/community-page-routing-paths'; import { getCollectionPageRoute } from './+collection-page/collection-page-routing-paths'; import { getItemPageRoute } from './+item-page/item-page-routing-paths'; +import { hasValue } from './shared/empty.util'; export const BITSTREAM_MODULE_PATH = 'bitstreams'; @@ -45,13 +46,15 @@ export function getWorkflowItemModuleRoute() { } export function getDSORoute(dso: DSpaceObject): string { - switch ((dso as any).type) { - case Community.type.value: - return getCommunityPageRoute(dso.uuid); - case Collection.type.value: - return getCollectionPageRoute(dso.uuid); - case Item.type.value: - return getItemPageRoute(dso.uuid); + if (hasValue(dso)) { + switch ((dso as any).type) { + case Community.type.value: + return getCommunityPageRoute(dso.uuid); + case Collection.type.value: + return getCollectionPageRoute(dso.uuid); + case Item.type.value: + return getItemPageRoute(dso.uuid); + } } } diff --git a/src/app/app.component.html b/src/app/app.component.html index fa534855e7..a40e5ea163 100644 --- a/src/app/app.component.html +++ b/src/app/app.component.html @@ -1,30 +1 @@ -
- -
- - - - -
-
- -
- -
- -
- -
- - -
-
- -
- -
-
+ diff --git a/src/app/app.component.scss b/src/app/app.component.scss index b18e7e1402..e69de29bb2 100644 --- a/src/app/app.component.scss +++ b/src/app/app.component.scss @@ -1,53 +0,0 @@ -@import '../styles/helpers/font_awesome_imports.scss'; -@import '../../node_modules/bootstrap/scss/bootstrap.scss'; -@import '../../node_modules/nouislider/distribute/nouislider.min'; - -html { - position: relative; - min-height: 100%; -} - -body { - overflow-x: hidden; -} - -// Sticky Footer -.outer-wrapper { - display: flex; - margin: 0; -} - -.inner-wrapper { - flex: 1 1 auto; - flex-flow: column nowrap; - display: flex; - min-height: 100vh; - flex-direction: column; - width: 100%; - position: relative; -} - -.main-content { - z-index: $main-z-index; - flex: 1 1 100%; - margin-top: $content-spacing; - margin-bottom: $content-spacing; -} - -.alert.hide { - padding: 0; - margin: 0; -} - -ds-header-navbar-wrapper { - z-index: $nav-z-index; -} - -ds-admin-sidebar { - position: fixed; - z-index: $sidebar-z-index; -} - -.ds-full-screen-loader { - height: 100vh; -} diff --git a/src/app/app.component.ts b/src/app/app.component.ts index 1ef5c868a6..8a38d14fe3 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -5,12 +5,12 @@ import { Component, HostListener, Inject, - OnInit, Optional, - ViewEncapsulation + OnInit, + Optional, } from '@angular/core'; import { NavigationCancel, NavigationEnd, NavigationStart, Router } from '@angular/router'; -import { BehaviorSubject, combineLatest as combineLatestObservable, Observable, of } from 'rxjs'; +import { BehaviorSubject, Observable, of } from 'rxjs'; import { select, Store } from '@ngrx/store'; import { TranslateService } from '@ngx-translate/core'; import { Angulartics2GoogleAnalytics } from 'angulartics2/ga'; @@ -23,25 +23,25 @@ import { isAuthenticationBlocking } from './core/auth/selectors'; import { AuthService } from './core/auth/auth.service'; import { CSSVariableService } from './shared/sass-helper/sass-helper.service'; import { MenuService } from './shared/menu/menu.service'; -import { MenuID } from './shared/menu/initial-menus-state'; -import { slideSidebarPadding } from './shared/animations/slide'; import { HostWindowService } from './shared/host-window.service'; -import { Theme } from '../config/theme.inferface'; +import { ThemeConfig } from '../config/theme.model'; import { Angulartics2DSpace } from './statistics/angulartics/dspace-provider'; import { environment } from '../environments/environment'; import { models } from './core/core.module'; import { LocaleService } from './core/locale/locale.service'; -import { hasValue } from './shared/empty.util'; +import { hasValue, isNotEmpty } from './shared/empty.util'; import { KlaroService } from './shared/cookies/klaro.service'; -import {GoogleAnalyticsService} from './statistics/google-analytics.service'; +import { GoogleAnalyticsService } from './statistics/google-analytics.service'; +import { DOCUMENT } from '@angular/common'; +import { ThemeService } from './shared/theme-support/theme.service'; +import { BASE_THEME_NAME } from './shared/theme-support/theme.constants'; +import { DEFAULT_THEME_CONFIG } from './shared/theme-support/theme.effects'; @Component({ selector: 'ds-app', templateUrl: './app.component.html', styleUrls: ['./app.component.scss'], changeDetection: ChangeDetectionStrategy.OnPush, - encapsulation: ViewEncapsulation.None, - animations: [slideSidebarPadding] }) export class AppComponent implements OnInit, AfterViewInit { isLoading$: BehaviorSubject = new BehaviorSubject(true); @@ -49,7 +49,7 @@ export class AppComponent implements OnInit, AfterViewInit { slideSidebarOver: Observable; collapsedSidebarWidth: Observable; totalSidebarWidth: Observable; - theme: Observable = of({} as any); + theme: Observable = of({} as any); notificationOptions = environment.notifications; models; @@ -60,6 +60,8 @@ export class AppComponent implements OnInit, AfterViewInit { constructor( @Inject(NativeWindowService) private _window: NativeWindowRef, + @Inject(DOCUMENT) private document: any, + private themeService: ThemeService, private translate: TranslateService, private store: Store, private metadata: MetadataService, @@ -77,6 +79,17 @@ export class AppComponent implements OnInit, AfterViewInit { /* Use models object so all decorators are actually called */ this.models = models; + + this.themeService.getThemeName$().subscribe((themeName: string) => { + if (hasValue(themeName)) { + this.setThemeCss(themeName); + } else if (hasValue(DEFAULT_THEME_CONFIG)) { + this.setThemeCss(DEFAULT_THEME_CONFIG.name); + } else { + this.setThemeCss(BASE_THEME_NAME); + } + }); + // Load all the languages that are defined as active from the config file translate.addLangs(environment.languages.filter((LangConfig) => LangConfig.active === true).map((a) => a.code)); @@ -116,17 +129,6 @@ export class AppComponent implements OnInit, AfterViewInit { const color: string = environment.production ? 'red' : 'green'; console.info(`Environment: %c${env}`, `color: ${color}; font-weight: bold;`); this.dispatchWindowSize(this._window.nativeWindow.innerWidth, this._window.nativeWindow.innerHeight); - - this.sidebarVisible = this.menuService.isMenuVisible(MenuID.ADMIN); - - this.collapsedSidebarWidth = this.cssService.getVariable('collapsedSidebarWidth'); - this.totalSidebarWidth = this.cssService.getVariable('totalSidebarWidth'); - - const sidebarCollapsed = this.menuService.isMenuCollapsed(MenuID.ADMIN); - this.slideSidebarOver = combineLatestObservable(sidebarCollapsed, this.windowService.isXsOrSm()) - .pipe( - map(([collapsed, mobile]) => collapsed || mobile) - ); } private storeCSSVariables() { @@ -177,4 +179,34 @@ export class AppComponent implements OnInit, AfterViewInit { this.cookiesService.initialize(); } } + + /** + * Update the theme css file in + * + * @param themeName The name of the new theme + * @private + */ + private setThemeCss(themeName: string): void { + const head = this.document.getElementsByTagName('head')[0]; + // Array.from to ensure we end up with an array, not an HTMLCollection, which would be + // automatically updated if we add nodes later + const currentThemeLinks = Array.from(this.document.getElementsByClassName('theme-css')); + const link = this.document.createElement('link'); + link.setAttribute('rel', 'stylesheet'); + link.setAttribute('type', 'text/css'); + link.setAttribute('class', 'theme-css'); + link.setAttribute('href', `/${encodeURIComponent(themeName)}-theme.css`); + // wait for the new css to download before removing the old one to prevent a + // flash of unstyled content + link.onload = () => { + if (isNotEmpty(currentThemeLinks)) { + currentThemeLinks.forEach((currentThemeLink: any) => { + if (hasValue(currentThemeLink)) { + currentThemeLink.remove(); + } + }); + } + }; + head.appendChild(link); + } } diff --git a/src/app/app.effects.ts b/src/app/app.effects.ts index 64573609c7..871fae8d6b 100644 --- a/src/app/app.effects.ts +++ b/src/app/app.effects.ts @@ -3,11 +3,13 @@ import { NotificationsEffects } from './shared/notifications/notifications.effec import { NavbarEffects } from './navbar/navbar.effects'; import { SidebarEffects } from './shared/sidebar/sidebar-effects.service'; import { RelationshipEffects } from './shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/relationship.effects'; +import { ThemeEffects } from './shared/theme-support/theme.effects'; export const appEffects = [ StoreEffects, NavbarEffects, NotificationsEffects, SidebarEffects, + ThemeEffects, RelationshipEffects ]; diff --git a/src/app/app.module.ts b/src/app/app.module.ts index be1233fd98..cc428483c9 100755 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -43,6 +43,9 @@ import { ForbiddenComponent } from './forbidden/forbidden.component'; import { AuthInterceptor } from './core/auth/auth.interceptor'; import { LocaleInterceptor } from './core/locale/locale.interceptor'; import { XsrfInterceptor } from './core/xsrf/xsrf.interceptor'; +import { RootComponent } from './root/root.component'; +import { ThemedRootComponent } from './root/themed-root.component'; +import { ThemedEntryComponentModule } from '../themes/themed-entry-component.module'; export function getBase() { return environment.ui.nameSpace; @@ -65,6 +68,7 @@ const IMPORTS = [ EffectsModule.forRoot(appEffects), StoreModule.forRoot(appReducers, storeModuleConfig), StoreRouterConnectingModule.forRoot(), + ThemedEntryComponentModule.withEntryComponents(), ]; IMPORTS.push( @@ -120,6 +124,8 @@ const PROVIDERS = [ const DECLARATIONS = [ AppComponent, + RootComponent, + ThemedRootComponent, HeaderComponent, HeaderNavbarWrapperComponent, AdminSidebarComponent, @@ -135,7 +141,6 @@ const DECLARATIONS = [ ]; const EXPORTS = [ - AppComponent ]; @NgModule({ @@ -150,7 +155,8 @@ const EXPORTS = [ ...DECLARATIONS, ], exports: [ - ...EXPORTS + ...EXPORTS, + ...DECLARATIONS, ] }) export class AppModule { diff --git a/src/app/app.reducer.ts b/src/app/app.reducer.ts index 813b8d0f4f..5dffda5e94 100644 --- a/src/app/app.reducer.ts +++ b/src/app/app.reducer.ts @@ -12,7 +12,10 @@ import { metadataRegistryReducer, MetadataRegistryState } from './+admin/admin-registries/metadata-registry/metadata-registry.reducers'; -import { CommunityListReducer, CommunityListState } from './community-list-page/community-list.reducer'; +import { + CommunityListReducer, + CommunityListState +} from './community-list-page/community-list.reducer'; import { hasValue } from './shared/empty.util'; import { NameVariantListsState, @@ -20,19 +23,32 @@ import { } from './shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/name-variant.reducer'; import { formReducer, FormState } from './shared/form/form.reducer'; import { menusReducer, MenusState } from './shared/menu/menu.reducer'; -import { notificationsReducer, NotificationsState } from './shared/notifications/notifications.reducers'; +import { + notificationsReducer, + NotificationsState +} from './shared/notifications/notifications.reducers'; import { selectableListReducer, SelectableListsState } from './shared/object-list/selectable-list/selectable-list.reducer'; -import { ObjectSelectionListState, objectSelectionReducer } from './shared/object-select/object-select.reducer'; +import { + ObjectSelectionListState, + objectSelectionReducer +} from './shared/object-select/object-select.reducer'; import { cssVariablesReducer, CSSVariablesState } from './shared/sass-helper/sass-helper.reducer'; import { hostWindowReducer, HostWindowState } from './shared/search/host-window.reducer'; -import { filterReducer, SearchFiltersState } from './shared/search/search-filters/search-filter/search-filter.reducer'; -import { sidebarFilterReducer, SidebarFiltersState } from './shared/sidebar/filter/sidebar-filter.reducer'; +import { + filterReducer, + SearchFiltersState +} from './shared/search/search-filters/search-filter/search-filter.reducer'; +import { + sidebarFilterReducer, + SidebarFiltersState +} from './shared/sidebar/filter/sidebar-filter.reducer'; import { sidebarReducer, SidebarState } from './shared/sidebar/sidebar.reducer'; import { truncatableReducer, TruncatablesState } from './shared/truncatable/truncatable.reducer'; +import { ThemeState, themeReducer } from './shared/theme-support/theme.reducer'; export interface AppState { router: fromRouter.RouterReducerState; @@ -45,6 +61,7 @@ export interface AppState { searchFilter: SearchFiltersState; truncatable: TruncatablesState; cssVariables: CSSVariablesState; + theme: ThemeState; menus: MenusState; objectSelection: ObjectSelectionListState; selectableLists: SelectableListsState; @@ -65,6 +82,7 @@ export const appReducers: ActionReducerMap = { searchFilter: filterReducer, truncatable: truncatableReducer, cssVariables: cssVariablesReducer, + theme: themeReducer, menus: menusReducer, objectSelection: objectSelectionReducer, selectableLists: selectableListReducer, diff --git a/src/app/core/breadcrumbs/collection-breadcrumb.resolver.ts b/src/app/core/breadcrumbs/collection-breadcrumb.resolver.ts index 8e0638cddb..d41446c185 100644 --- a/src/app/core/breadcrumbs/collection-breadcrumb.resolver.ts +++ b/src/app/core/breadcrumbs/collection-breadcrumb.resolver.ts @@ -3,7 +3,8 @@ import { DSOBreadcrumbsService } from './dso-breadcrumbs.service'; import { DSOBreadcrumbResolver } from './dso-breadcrumb.resolver'; import { Collection } from '../shared/collection.model'; import { CollectionDataService } from '../data/collection-data.service'; -import { followLink, FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; +import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; +import { COLLECTION_PAGE_LINKS_TO_FOLLOW } from '../../+collection-page/collection-page.resolver'; /** * The class that resolves the BreadcrumbConfig object for a Collection @@ -22,10 +23,6 @@ export class CollectionBreadcrumbResolver extends DSOBreadcrumbResolver[] { - return [ - followLink('parentCommunity', undefined, true, true, true, - followLink('parentCommunity') - ) - ]; + return COLLECTION_PAGE_LINKS_TO_FOLLOW; } } diff --git a/src/app/core/breadcrumbs/community-breadcrumb.resolver.ts b/src/app/core/breadcrumbs/community-breadcrumb.resolver.ts index e9d8b9879c..27cc207c58 100644 --- a/src/app/core/breadcrumbs/community-breadcrumb.resolver.ts +++ b/src/app/core/breadcrumbs/community-breadcrumb.resolver.ts @@ -3,7 +3,8 @@ import { DSOBreadcrumbsService } from './dso-breadcrumbs.service'; import { DSOBreadcrumbResolver } from './dso-breadcrumb.resolver'; import { CommunityDataService } from '../data/community-data.service'; import { Community } from '../shared/community.model'; -import { followLink, FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; +import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; +import { COMMUNITY_PAGE_LINKS_TO_FOLLOW } from '../../+community-page/community-page.resolver'; /** * The class that resolves the BreadcrumbConfig object for a Community @@ -22,8 +23,6 @@ export class CommunityBreadcrumbResolver extends DSOBreadcrumbResolver[] { - return [ - followLink('parentCommunity') - ]; + return COMMUNITY_PAGE_LINKS_TO_FOLLOW; } } diff --git a/src/app/core/breadcrumbs/dso-breadcrumbs.service.ts b/src/app/core/breadcrumbs/dso-breadcrumbs.service.ts index cfc04ff513..f822a953a8 100644 --- a/src/app/core/breadcrumbs/dso-breadcrumbs.service.ts +++ b/src/app/core/breadcrumbs/dso-breadcrumbs.service.ts @@ -28,7 +28,7 @@ export class DSOBreadcrumbsService implements BreadcrumbsService { return `${dso.firstMetadataValue('person.familyName')}, ${dso.firstMetadataValue('person.givenName')}`; }, diff --git a/src/app/core/breadcrumbs/item-breadcrumb.resolver.ts b/src/app/core/breadcrumbs/item-breadcrumb.resolver.ts index e4d7e81e98..2b9bbd6b3d 100644 --- a/src/app/core/breadcrumbs/item-breadcrumb.resolver.ts +++ b/src/app/core/breadcrumbs/item-breadcrumb.resolver.ts @@ -3,7 +3,8 @@ import { DSOBreadcrumbsService } from './dso-breadcrumbs.service'; import { ItemDataService } from '../data/item-data.service'; import { Item } from '../shared/item.model'; import { DSOBreadcrumbResolver } from './dso-breadcrumb.resolver'; -import { followLink, FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; +import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; +import { ITEM_PAGE_LINKS_TO_FOLLOW } from '../../+item-page/item-page.resolver'; /** * The class that resolves the BreadcrumbConfig object for an Item @@ -22,13 +23,6 @@ export class ItemBreadcrumbResolver extends DSOBreadcrumbResolver { * Requesting them as embeds will limit the number of requests */ get followLinks(): FollowLinkConfig[] { - return [ - followLink('owningCollection', undefined, true, true, true, - followLink('parentCommunity', undefined, true, true, true, - followLink('parentCommunity')) - ), - followLink('bundles'), - followLink('relationships') - ]; + return ITEM_PAGE_LINKS_TO_FOLLOW; } } diff --git a/src/app/core/cache/builders/link.service.ts b/src/app/core/cache/builders/link.service.ts index d340eec9d5..56a1154b77 100644 --- a/src/app/core/cache/builders/link.service.ts +++ b/src/app/core/cache/builders/link.service.ts @@ -3,7 +3,15 @@ import { hasNoValue, hasValue, isNotEmpty } from '../../../shared/empty.util'; import { FollowLinkConfig } from '../../../shared/utils/follow-link-config.model'; import { GenericConstructor } from '../../shared/generic-constructor'; import { HALResource } from '../../shared/hal-resource.model'; -import { getDataServiceFor, getLinkDefinition, getLinkDefinitions, LinkDefinition } from './build-decorators'; +import { + getDataServiceFor, + getLinkDefinition, + getLinkDefinitions, + LinkDefinition +} from './build-decorators'; +import { RemoteData } from '../../data/remote-data'; +import { Observable } from 'rxjs/internal/Observable'; +import { EMPTY } from 'rxjs'; /** * A Service to handle the resolving and removing @@ -33,12 +41,14 @@ export class LinkService { } /** - * Resolve the given {@link FollowLinkConfig} for the given model + * Resolve the given {@link FollowLinkConfig} for the given model and return the result. This does + * not attach the link result to the property on the model. Useful when you're working with a + * readonly object * * @param model the {@link HALResource} to resolve the link for * @param linkToFollow the {@link FollowLinkConfig} to resolve */ - public resolveLink(model, linkToFollow: FollowLinkConfig): T { + public resolveLinkWithoutAttaching(model, linkToFollow: FollowLinkConfig): Observable> { const matchingLinkDef = getLinkDefinition(model.constructor, linkToFollow.name); if (hasNoValue(matchingLinkDef)) { @@ -61,9 +71,9 @@ export class LinkService { try { if (matchingLinkDef.isList) { - model[linkToFollow.name] = service.findAllByHref(href, linkToFollow.findListOptions, linkToFollow.useCachedVersionIfAvailable, linkToFollow.reRequestOnStale, ...linkToFollow.linksToFollow); + return service.findAllByHref(href, linkToFollow.findListOptions, linkToFollow.useCachedVersionIfAvailable, linkToFollow.reRequestOnStale, ...linkToFollow.linksToFollow); } else { - model[linkToFollow.name] = service.findByHref(href, linkToFollow.useCachedVersionIfAvailable, linkToFollow.reRequestOnStale, ...linkToFollow.linksToFollow); + return service.findByHref(href, linkToFollow.useCachedVersionIfAvailable, linkToFollow.reRequestOnStale, ...linkToFollow.linksToFollow); } } catch (e) { console.error(`Something went wrong when using @dataService(${matchingLinkDef.resourceType.value}) ${hasValue(service) ? '' : '(undefined) '}to resolve link ${linkToFollow.name} at ${href}`); @@ -71,6 +81,18 @@ export class LinkService { } } } + return EMPTY; + } + + /** + * Resolve the given {@link FollowLinkConfig} for the given model and return the model with the + * link property attached. + * + * @param model the {@link HALResource} to resolve the link for + * @param linkToFollow the {@link FollowLinkConfig} to resolve + */ + public resolveLink(model, linkToFollow: FollowLinkConfig): T { + model[linkToFollow.name] = this.resolveLinkWithoutAttaching(model, linkToFollow); return model; } diff --git a/src/app/core/cache/server-sync-buffer.effects.spec.ts b/src/app/core/cache/server-sync-buffer.effects.spec.ts index a236d3bb71..a53c6af982 100644 --- a/src/app/core/cache/server-sync-buffer.effects.spec.ts +++ b/src/app/core/cache/server-sync-buffer.effects.spec.ts @@ -13,9 +13,14 @@ import { RestRequestMethod } from '../data/rest-request-method'; import { DSpaceObject } from '../shared/dspace-object.model'; import { ApplyPatchObjectCacheAction } from './object-cache.actions'; import { ObjectCacheService } from './object-cache.service'; -import { CommitSSBAction, EmptySSBAction, ServerSyncBufferActionTypes } from './server-sync-buffer.actions'; +import { + CommitSSBAction, + EmptySSBAction, + ServerSyncBufferActionTypes +} from './server-sync-buffer.actions'; import { ServerSyncBufferEffects } from './server-sync-buffer.effects'; import { storeModuleConfig } from '../../app.reducer'; +import { NoOpAction } from '../../shared/ngrx/no-op.action'; describe('ServerSyncBufferEffects', () => { let ssbEffects: ServerSyncBufferEffects; @@ -143,7 +148,7 @@ describe('ServerSyncBufferEffects', () => { payload: { method: RestRequestMethod.PATCH } } }); - const expected = cold('b', { b: { type: 'NO_ACTION' } }); + const expected = cold('b', { b: new NoOpAction() }); expect(ssbEffects.commitServerSyncBuffer).toBeObservable(expected); }); diff --git a/src/app/core/cache/server-sync-buffer.effects.ts b/src/app/core/cache/server-sync-buffer.effects.ts index 363d566e00..d8ed88e12c 100644 --- a/src/app/core/cache/server-sync-buffer.effects.ts +++ b/src/app/core/cache/server-sync-buffer.effects.ts @@ -21,6 +21,7 @@ import { RestRequestMethod } from '../data/rest-request-method'; import { environment } from '../../../environments/environment'; import { ObjectCacheEntry } from './object-cache.reducer'; import { Operation } from 'fast-json-patch'; +import { NoOpAction } from '../../shared/ngrx/no-op.action'; @Injectable() export class ServerSyncBufferEffects { @@ -80,7 +81,7 @@ export class ServerSyncBufferEffects { switchMap((array) => [...array, new EmptySSBAction(action.payload)]) ); } else { - return observableOf({ type: 'NO_ACTION' }); + return observableOf(new NoOpAction()); } }) ); diff --git a/src/app/core/data/object-updates/object-updates.effects.spec.ts b/src/app/core/data/object-updates/object-updates.effects.spec.ts index 8c4467c0c0..ffd20a7300 100644 --- a/src/app/core/data/object-updates/object-updates.effects.spec.ts +++ b/src/app/core/data/object-updates/object-updates.effects.spec.ts @@ -11,10 +11,14 @@ import { RemoveFieldUpdateAction, RemoveObjectUpdatesAction } from './object-updates.actions'; -import { INotification, Notification } from '../../../shared/notifications/models/notification.model'; +import { + INotification, + Notification +} from '../../../shared/notifications/models/notification.model'; import { NotificationType } from '../../../shared/notifications/models/notification-type'; import { filter } from 'rxjs/operators'; import { hasValue } from '../../../shared/empty.util'; +import { NoOpAction } from '../../../shared/ngrx/no-op.action'; describe('ObjectUpdatesEffects', () => { let updatesEffects: ObjectUpdatesEffects; @@ -97,7 +101,7 @@ describe('ObjectUpdatesEffects', () => { actions = hot('a', { a: new DiscardObjectUpdatesAction(testURL, infoNotification) }); actions = hot('b', { b: new ReinstateObjectUpdatesAction(testURL) }); updatesEffects.removeAfterDiscardOrReinstateOnUndo$.subscribe((t) => { - expect(t).toEqual({ type: 'NO_ACTION' }); + expect(t).toEqual(new NoOpAction()); } ); }); diff --git a/src/app/core/data/object-updates/object-updates.effects.ts b/src/app/core/data/object-updates/object-updates.effects.ts index 169fa89cd3..c9c3237ef5 100644 --- a/src/app/core/data/object-updates/object-updates.effects.ts +++ b/src/app/core/data/object-updates/object-updates.effects.ts @@ -3,7 +3,8 @@ import { Actions, Effect, ofType } from '@ngrx/effects'; import { DiscardObjectUpdatesAction, ObjectUpdatesAction, - ObjectUpdatesActionTypes, RemoveAllObjectUpdatesAction, + ObjectUpdatesActionTypes, + RemoveAllObjectUpdatesAction, RemoveObjectUpdatesAction } from './object-updates.actions'; import { delay, filter, map, switchMap, take, tap } from 'rxjs/operators'; @@ -17,6 +18,7 @@ import { RemoveNotificationAction } from '../../../shared/notifications/notifications.actions'; import { Action } from '@ngrx/store'; +import { NoOpAction } from '../../../shared/ngrx/no-op.action'; /** * NGRX effects for ObjectUpdatesActions @@ -111,7 +113,7 @@ export class ObjectUpdatesEffects { map((updateAction: ObjectUpdatesAction) => { if (updateAction.type === ObjectUpdatesActionTypes.REINSTATE) { // If someone reinstated, do nothing, just let the reinstating happen - return { type: 'NO_ACTION' }; + return new NoOpAction(); } // If someone performed another action, assume the user does not want to reinstate and remove all changes return removeAction; diff --git a/src/app/core/index/index.effects.spec.ts b/src/app/core/index/index.effects.spec.ts index 6e2bcac24f..efca0ae364 100644 --- a/src/app/core/index/index.effects.spec.ts +++ b/src/app/core/index/index.effects.spec.ts @@ -8,6 +8,7 @@ import { Item } from '../shared/item.model'; import { AddToIndexAction } from './index.actions'; import { IndexName } from './index.reducer'; import { provideMockStore } from '@ngrx/store/testing'; +import { NoOpAction } from '../../shared/ngrx/no-op.action'; describe('ObjectUpdatesEffects', () => { let indexEffects: UUIDIndexEffects; @@ -79,14 +80,14 @@ describe('ObjectUpdatesEffects', () => { it('should emit NO_ACTION when a AddToObjectCacheAction without an alternativeLink is dispatched', () => { action = new AddToObjectCacheAction(objectToCache, timeCompleted, msToLive, requestUUID, undefined); actions = hot('--a-', { a: action }); - const expected = cold('--b-', { b: { type: 'NO_ACTION' } }); + const expected = cold('--b-', { b: new NoOpAction() }); expect(indexEffects.addAlternativeObjectLink$).toBeObservable(expected); }); it('should emit NO_ACTION when a AddToObjectCacheAction with an alternativeLink that\'s the same as the objectToCache\'s selfLink is dispatched', () => { action = new AddToObjectCacheAction(objectToCache, timeCompleted, msToLive, requestUUID, objectToCache._links.self.href); actions = hot('--a-', { a: action }); - const expected = cold('--b-', { b: { type: 'NO_ACTION' } }); + const expected = cold('--b-', { b: new NoOpAction() }); expect(indexEffects.addAlternativeObjectLink$).toBeObservable(expected); }); }); diff --git a/src/app/core/index/index.effects.ts b/src/app/core/index/index.effects.ts index 61abe90be9..a1ab0b20a8 100644 --- a/src/app/core/index/index.effects.ts +++ b/src/app/core/index/index.effects.ts @@ -19,6 +19,7 @@ import { RestRequestMethod } from '../data/rest-request-method'; import { getUrlWithoutEmbedParams, uuidFromHrefSelector } from './index.selectors'; import { Store, select } from '@ngrx/store'; import { CoreState } from '../core.reducers'; +import { NoOpAction } from '../../shared/ngrx/no-op.action'; @Injectable() export class UUIDIndexEffects { @@ -53,7 +54,7 @@ export class UUIDIndexEffects { selfLink ); } else { - return { type: 'NO_ACTION' }; + return new NoOpAction(); } }) ); diff --git a/src/app/core/resolving/resolver.actions.ts b/src/app/core/resolving/resolver.actions.ts new file mode 100644 index 0000000000..db41d20b6e --- /dev/null +++ b/src/app/core/resolving/resolver.actions.ts @@ -0,0 +1,27 @@ +import { type } from '../../shared/ngrx/type'; +import { Action } from '@ngrx/store'; +import { DSpaceObject } from '../shared/dspace-object.model'; + +export const ResolverActionTypes = { + RESOLVED: type('dspace/resolver/RESOLVED') +}; + +/** + * An action that indicates a route object has been resolved. + * + * It isn't used in a reducer for now. Its purpose is to be able to be notified that an object + * has been resolved in an effect. + */ +export class ResolvedAction implements Action { + type = ResolverActionTypes.RESOLVED; + payload: { + url: string, + dso: DSpaceObject + }; + + constructor(url: string, dso: DSpaceObject) { + this.payload = { url, dso }; + } +} + +export type ResolverAction = ResolvedAction; diff --git a/src/app/core/shared/context.model.ts b/src/app/core/shared/context.model.ts index 3613a143bd..126896e3e1 100644 --- a/src/app/core/shared/context.model.ts +++ b/src/app/core/shared/context.model.ts @@ -3,7 +3,7 @@ */ export enum Context { - Undefined = 'undefined', + Any = 'undefined', ItemPage = 'itemPage', Search = 'search', Workflow = 'workflow', diff --git a/src/app/entity-groups/research-entities/submission/item-list-elements/org-unit/org-unit-search-result-list-submission-element.component.scss b/src/app/entity-groups/research-entities/submission/item-list-elements/org-unit/org-unit-search-result-list-submission-element.component.scss index 78cc32591b..2272183e51 100644 --- a/src/app/entity-groups/research-entities/submission/item-list-elements/org-unit/org-unit-search-result-list-submission-element.component.scss +++ b/src/app/entity-groups/research-entities/submission/item-list-elements/org-unit/org-unit-search-result-list-submission-element.component.scss @@ -1,5 +1,3 @@ -$submission-relationship-thumbnail-width: 80px; - .person-thumbnail { - width: $submission-relationship-thumbnail-width; + width: var(--ds-submission-relationship-thumbnail-width); } diff --git a/src/app/entity-groups/research-entities/submission/item-list-elements/person/person-search-result-list-submission-element.component.scss b/src/app/entity-groups/research-entities/submission/item-list-elements/person/person-search-result-list-submission-element.component.scss index 78cc32591b..28da0b74cd 100644 --- a/src/app/entity-groups/research-entities/submission/item-list-elements/person/person-search-result-list-submission-element.component.scss +++ b/src/app/entity-groups/research-entities/submission/item-list-elements/person/person-search-result-list-submission-element.component.scss @@ -1,5 +1,3 @@ -$submission-relationship-thumbnail-width: 80px; - .person-thumbnail { - width: $submission-relationship-thumbnail-width; + width: var(--ds-submission-relationship-thumbnail-width); } diff --git a/src/app/footer/footer.component.scss b/src/app/footer/footer.component.scss index fb51fc258d..5020ae17b1 100644 --- a/src/app/footer/footer.component.scss +++ b/src/app/footer/footer.component.scss @@ -1,40 +1,42 @@ -$footer-bg: $gray-100; -$footer-border: 1px solid darken($footer-bg, 10%); -$footer-padding: $spacer * 1.5; -$footer-logo-height: 55px; +:host { + --ds-footer-bg: var(--bs-gray-100); + --ds-footer-border: 1px solid var(--bs-gray-300); + --ds-footer-padding: calc(var(--bs-spacer) * 1.5); + --ds-footer-logo-height: 55px; -.footer { - background-color: $footer-bg; - border-top: $footer-border; + .footer { + background-color: var(--ds-footer-bg); + border-top: var(--ds-footer-border); text-align: center; - padding: $footer-padding; - padding-bottom: $spacer; + padding: var(--ds-footer-padding); + padding-bottom: var(--bs-spacer); p { - margin: 0; + margin: 0; } img { - height: $footer-logo-height; + height: var(--ds-footer-logo-height); } ul { - padding-top: $spacer * 0.5; + padding-top: calc(var(--bs-spacer) * 0.5); - li { - display: inline-flex; - a { - padding: 0 $spacer/2; - color: inherit - } - - &:not(:last-child) { - &:after { - content: ''; - border-right: 1px map-get($theme-colors, secondary) solid; - } - - } + li { + display: inline-flex; + a { + padding: 0 calc(var(--bs-spacer) / 2); + color: inherit } + + &:not(:last-child) { + &:after { + content: ''; + border-right: 1px var(--bs-secondary) solid; + } + + } + } } + } } diff --git a/src/app/header-nav-wrapper/header-navbar-wrapper.component.scss b/src/app/header-nav-wrapper/header-navbar-wrapper.component.scss index c3eba35b79..152c8dbaee 100644 --- a/src/app/header-nav-wrapper/header-navbar-wrapper.component.scss +++ b/src/app/header-nav-wrapper/header-navbar-wrapper.component.scss @@ -1,7 +1,7 @@ -@media screen and (max-width: map-get($grid-breakpoints, md)) { +@media screen and (max-width: var(--ds-grid-breakpoints-md)) { :host.open { - background-color: $white; + background-color: var(--bs-white); top: 0; position: sticky; } -} \ No newline at end of file +} diff --git a/src/app/header/header.component.scss b/src/app/header/header.component.scss index 70c66f119d..c1d31e4e60 100644 --- a/src/app/header/header.component.scss +++ b/src/app/header/header.component.scss @@ -1,7 +1,7 @@ .navbar-brand img { - height: $header-logo-height; - @media screen and (max-width: map-get($grid-breakpoints, sm)) { - height: $header-logo-height-xs; + height: var(--ds-header-logo-height); + @media screen and (max-width: var(--ds-grid-breakpoints-sm)) { + height: var(--ds-header-logo-height-xs); } } .navbar-toggler .navbar-toggler-icon { @@ -11,10 +11,10 @@ .navbar ::ng-deep { a { - color: $header-icon-color; + color: var(--ds-header-icon-color); &:hover, &focus { - color: darken($header-icon-color, 15%); + color: var(--ds-header-icon-color-hover); } } } diff --git a/src/app/navbar/expandable-navbar-section/expandable-navbar-section.component.scss b/src/app/navbar/expandable-navbar-section/expandable-navbar-section.component.scss index f724c3e751..044c196545 100644 --- a/src/app/navbar/expandable-navbar-section/expandable-navbar-section.component.scss +++ b/src/app/navbar/expandable-navbar-section/expandable-navbar-section.component.scss @@ -4,18 +4,18 @@ border-top-left-radius: 0; border-top-right-radius: 0; ::ng-deep a.nav-link { - padding-right: $spacer; - padding-left: $spacer; + padding-right: var(--bs-spacer); + padding-left: var(--bs-spacer); white-space: nowrap; } } /** Mobile menu styling **/ -@media screen and (max-width: map-get($grid-breakpoints, md)) { +@media screen and (max-width: var(--ds-grid-breakpoints-md)) { .dropdown-toggle { &:after { float: right; - margin-top: $spacer/2; + margin-top: calc(var(--bs-spacer) / 2); } } .dropdown-menu { diff --git a/src/app/navbar/navbar.component.scss b/src/app/navbar/navbar.component.scss index d0fa04991d..2fa35a6f4b 100644 --- a/src/app/navbar/navbar.component.scss +++ b/src/app/navbar/navbar.component.scss @@ -1,13 +1,13 @@ nav.navbar { - border-bottom: 1px $gray-400 solid; + border-bottom: 1px var(--bs-gray-400) solid; align-items: baseline; } /** Mobile menu styling **/ -@media screen and (max-width: map-get($grid-breakpoints, md)) { +@media screen and (max-width: var(--ds-grid-breakpoints-md)) { .navbar { width: 100%; - background-color: $white; + background-color: var(--bs-white); position: absolute; overflow: hidden; height: 0; @@ -17,19 +17,19 @@ nav.navbar { } } -@media screen and (min-width: map-get($grid-breakpoints, md)) { +@media screen and (min-width: var(--ds-grid-breakpoints-md)) { .reset-padding-md { - margin-left: -$spacer/2; - margin-right: -$spacer/2; + margin-left: -calc(var(--bs-spacer) / 2); + margin-right: -calc(var(--bs-spacer) / 2); } } /* TODO remove when https://github.com/twbs/bootstrap/issues/24726 is fixed */ .navbar-expand-md.navbar-container { - @media screen and (max-width: map-get($grid-breakpoints, md)) { + @media screen and (max-width: var(--ds-grid-breakpoints-md)) { > .container { - padding: 0 $spacer; + padding: 0 var(--bs-spacer); } padding: 0; } -} \ No newline at end of file +} diff --git a/src/app/navbar/navbar.component.ts b/src/app/navbar/navbar.component.ts index 06b493c80a..1a306ea932 100644 --- a/src/app/navbar/navbar.component.ts +++ b/src/app/navbar/navbar.component.ts @@ -85,5 +85,4 @@ export class NavbarComponent extends MenuComponent { }))); } - } diff --git a/src/app/navbar/navbar.effects.ts b/src/app/navbar/navbar.effects.ts index a50b2df5ad..6cb11f21c0 100644 --- a/src/app/navbar/navbar.effects.ts +++ b/src/app/navbar/navbar.effects.ts @@ -12,6 +12,7 @@ import { import { MenuID } from '../shared/menu/initial-menus-state'; import { MenuService } from '../shared/menu/menu.service'; import { MenuState } from '../shared/menu/menu.reducer'; +import { NoOpAction } from '../shared/ngrx/no-op.action'; @Injectable() export class NavbarEffects { @@ -51,7 +52,7 @@ export class NavbarEffects { return new CollapseMenuAction(MenuID.PUBLIC); } } - return { type: 'NO_ACTION' }; + return new NoOpAction(); })); }) ); diff --git a/src/app/navbar/navbar.module.ts b/src/app/navbar/navbar.module.ts index 795b0541e7..5e1e11d10f 100644 --- a/src/app/navbar/navbar.module.ts +++ b/src/app/navbar/navbar.module.ts @@ -9,6 +9,7 @@ import { NavbarSectionComponent } from './navbar-section/navbar-section.componen import { ExpandableNavbarSectionComponent } from './expandable-navbar-section/expandable-navbar-section.component'; import { NavbarComponent } from './navbar.component'; import { MenuModule } from '../shared/menu/menu.module'; +import { FormsModule } from '@angular/forms'; const effects = [ NavbarEffects @@ -24,6 +25,7 @@ const ENTRY_COMPONENTS = [ imports: [ CommonModule, MenuModule, + FormsModule, EffectsModule.forFeature(effects), CoreModule.forRoot() ], diff --git a/src/app/root/root.component.html b/src/app/root/root.component.html new file mode 100644 index 0000000000..96439cd999 --- /dev/null +++ b/src/app/root/root.component.html @@ -0,0 +1,30 @@ +
+ +
+ + + + +
+
+ +
+ +
+ +
+ +
+ + +
+
+ +
+ +
+
diff --git a/themes/default/styles/_themed_custom_variables.scss b/src/app/root/root.component.scss similarity index 100% rename from themes/default/styles/_themed_custom_variables.scss rename to src/app/root/root.component.scss diff --git a/src/app/root/root.component.spec.ts b/src/app/root/root.component.spec.ts new file mode 100644 index 0000000000..c945a35764 --- /dev/null +++ b/src/app/root/root.component.spec.ts @@ -0,0 +1,77 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; +import { RootComponent } from './root.component'; +import { CommonModule } from '@angular/common'; +import { StoreModule } from '@ngrx/store'; +import { authReducer } from '../core/auth/auth.reducer'; +import { storeModuleConfig } from '../app.reducer'; +import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; +import { TranslateLoaderMock } from '../shared/mocks/translate-loader.mock'; +import { NativeWindowRef, NativeWindowService } from '../core/services/window.service'; +import { MetadataService } from '../core/metadata/metadata.service'; +import { MetadataServiceMock } from '../shared/mocks/metadata-service.mock'; +import { Angulartics2GoogleAnalytics } from 'angulartics2/ga'; +import { AngularticsProviderMock } from '../shared/mocks/angulartics-provider.service.mock'; +import { Angulartics2DSpace } from '../statistics/angulartics/dspace-provider'; +import { AuthService } from '../core/auth/auth.service'; +import { AuthServiceMock } from '../shared/mocks/auth.service.mock'; +import { ActivatedRoute, Router } from '@angular/router'; +import { RouterMock } from '../shared/mocks/router.mock'; +import { MockActivatedRoute } from '../shared/mocks/active-router.mock'; +import { MenuService } from '../shared/menu/menu.service'; +import { CSSVariableService } from '../shared/sass-helper/sass-helper.service'; +import { CSSVariableServiceStub } from '../shared/testing/css-variable-service.stub'; +import { HostWindowService } from '../shared/host-window.service'; +import { HostWindowServiceStub } from '../shared/testing/host-window-service.stub'; +import { LocaleService } from '../core/locale/locale.service'; +import { provideMockStore } from '@ngrx/store/testing'; +import { RouteService } from '../core/services/route.service'; +import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; +import { MenuServiceStub } from '../shared/testing/menu-service.stub'; + +describe('RootComponent', () => { + let component: RootComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + imports: [ + CommonModule, + StoreModule.forRoot(authReducer, storeModuleConfig), + TranslateModule.forRoot({ + loader: { + provide: TranslateLoader, + useClass: TranslateLoaderMock + } + }), + ], + declarations: [RootComponent], // declare the test component + providers: [ + { provide: NativeWindowService, useValue: new NativeWindowRef() }, + { provide: MetadataService, useValue: new MetadataServiceMock() }, + { provide: Angulartics2GoogleAnalytics, useValue: new AngularticsProviderMock() }, + { provide: Angulartics2DSpace, useValue: new AngularticsProviderMock() }, + { provide: AuthService, useValue: new AuthServiceMock() }, + { provide: Router, useValue: new RouterMock() }, + { provide: ActivatedRoute, useValue: new MockActivatedRoute() }, + { provide: MenuService, useValue: new MenuServiceStub() }, + { provide: CSSVariableService, useClass: CSSVariableServiceStub }, + { provide: HostWindowService, useValue: new HostWindowServiceStub(800) }, + { provide: LocaleService, useValue: {} }, + provideMockStore({ core: { auth: { loading: false } } } as any), + RootComponent, + RouteService + ], + schemas: [CUSTOM_ELEMENTS_SCHEMA] + }).compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(RootComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/root/root.component.ts b/src/app/root/root.component.ts new file mode 100644 index 0000000000..f9c475a8fa --- /dev/null +++ b/src/app/root/root.component.ts @@ -0,0 +1,79 @@ +import { map } from 'rxjs/operators'; +import { Component, Inject, OnInit, Optional, Input } from '@angular/core'; +import { Router } from '@angular/router'; + +import { combineLatest as combineLatestObservable, Observable, of } from 'rxjs'; +import { Store } from '@ngrx/store'; +import { TranslateService } from '@ngx-translate/core'; +import { Angulartics2GoogleAnalytics } from 'angulartics2/ga'; + +import { MetadataService } from '../core/metadata/metadata.service'; +import { HostWindowState } from '../shared/search/host-window.reducer'; +import { NativeWindowRef, NativeWindowService } from '../core/services/window.service'; +import { AuthService } from '../core/auth/auth.service'; +import { CSSVariableService } from '../shared/sass-helper/sass-helper.service'; +import { MenuService } from '../shared/menu/menu.service'; +import { MenuID } from '../shared/menu/initial-menus-state'; +import { HostWindowService } from '../shared/host-window.service'; +import { ThemeConfig } from '../../config/theme.model'; +import { Angulartics2DSpace } from '../statistics/angulartics/dspace-provider'; +import { environment } from '../../environments/environment'; +import { LocaleService } from '../core/locale/locale.service'; +import { KlaroService } from '../shared/cookies/klaro.service'; +import { slideSidebarPadding } from '../shared/animations/slide'; + +@Component({ + selector: 'ds-root', + templateUrl: './root.component.html', + styleUrls: ['./root.component.scss'], + animations: [slideSidebarPadding], +}) +export class RootComponent implements OnInit { + sidebarVisible: Observable; + slideSidebarOver: Observable; + collapsedSidebarWidth: Observable; + totalSidebarWidth: Observable; + theme: Observable = of({} as any); + notificationOptions = environment.notifications; + models; + + /** + * Whether or not the authentication is currently blocking the UI + */ + @Input() isNotAuthBlocking: boolean; + + /** + * Whether or not the the application is loading; + */ + @Input() isLoading: boolean; + + constructor( + @Inject(NativeWindowService) private _window: NativeWindowRef, + private translate: TranslateService, + private store: Store, + private metadata: MetadataService, + private angulartics2GoogleAnalytics: Angulartics2GoogleAnalytics, + private angulartics2DSpace: Angulartics2DSpace, + private authService: AuthService, + private router: Router, + private cssService: CSSVariableService, + private menuService: MenuService, + private windowService: HostWindowService, + private localeService: LocaleService, + @Optional() private cookiesService: KlaroService + ) { + } + + ngOnInit() { + this.sidebarVisible = this.menuService.isMenuVisible(MenuID.ADMIN); + + this.collapsedSidebarWidth = this.cssService.getVariable('collapsedSidebarWidth'); + this.totalSidebarWidth = this.cssService.getVariable('totalSidebarWidth'); + + const sidebarCollapsed = this.menuService.isMenuCollapsed(MenuID.ADMIN); + this.slideSidebarOver = combineLatestObservable(sidebarCollapsed, this.windowService.isXsOrSm()) + .pipe( + map(([collapsed, mobile]) => collapsed || mobile) + ); + } +} diff --git a/src/app/root/themed-root.component.ts b/src/app/root/themed-root.component.ts new file mode 100644 index 0000000000..43aacc416f --- /dev/null +++ b/src/app/root/themed-root.component.ts @@ -0,0 +1,35 @@ +import { ThemedComponent } from '../shared/theme-support/themed.component'; +import { RootComponent } from './root.component'; +import { Component, Input } from '@angular/core'; + +@Component({ + selector: 'ds-themed-root', + styleUrls: [], + templateUrl: '../shared/theme-support/themed.component.html', +}) +export class ThemedRootComponent extends ThemedComponent { + /** + * Whether or not the authentication is currently blocking the UI + */ + @Input() isNotAuthBlocking: boolean; + + /** + * Whether or not the the application is loading; + */ + @Input() isLoading: boolean; + + protected inAndOutputNames: (keyof RootComponent & keyof this)[] = ['isLoading', 'isNotAuthBlocking']; + + protected getComponentName(): string { + return 'RootComponent'; + } + + protected importThemedComponent(themeName: string): Promise { + return import(`../../themes/${themeName}/app/root/root.component`); + } + + protected importUnthemedComponent(): Promise { + return import(`./root.component`); + } + +} diff --git a/src/app/search-navbar/search-navbar.component.scss b/src/app/search-navbar/search-navbar.component.scss index 3606c47afc..4de51a36dd 100644 --- a/src/app/search-navbar/search-navbar.component.scss +++ b/src/app/search-navbar/search-navbar.component.scss @@ -1,5 +1,5 @@ input[type="text"] { - margin-top: -0.5 * $font-size-base; + margin-top: calc(-0.5 * var(--bs-font-size-base)); &:focus { background-color: rgba(255, 255, 255, 0.5) !important; @@ -16,7 +16,7 @@ a.submit-icon { -@media screen and (max-width: map-get($grid-breakpoints, sm)) { +@media screen and (max-width: var(--ds-grid-breakpoints-sm)) { #query:focus { max-width: 250px !important; width: 40vw !important; diff --git a/src/app/shared/chips/chips.component.scss b/src/app/shared/chips/chips.component.scss index 76be755920..a79deb0f2f 100644 --- a/src/app/shared/chips/chips.component.scss +++ b/src/app/shared/chips/chips.component.scss @@ -1,5 +1,5 @@ .chip-selected { - background-color: map-get($theme-colors, info) !important; + background-color: var(--bs-info) !important; } .chip-label { diff --git a/src/app/shared/collection-dropdown/collection-dropdown.component.scss b/src/app/shared/collection-dropdown/collection-dropdown.component.scss index deecc39510..907a111900 100644 --- a/src/app/shared/collection-dropdown/collection-dropdown.component.scss +++ b/src/app/shared/collection-dropdown/collection-dropdown.component.scss @@ -1,15 +1,15 @@ .scrollable-menu { height: auto; - max-height: $dropdown-menu-max-height; + max-height: var(--ds-dropdown-menu-max-height); overflow-x: hidden; } .collection-item { - border-bottom: $dropdown-border-width solid $dropdown-border-color; + border-bottom: var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color); } #collectionControlsDropdownMenu { outline: 0; left: 0 !important; - box-shadow: $btn-focus-box-shadow; + box-shadow: var(--bs-btn-focus-box-shadow); } diff --git a/src/app/shared/dso-page/dso-page-edit-button/dso-page-edit-button.component.scss b/src/app/shared/dso-page/dso-page-edit-button/dso-page-edit-button.component.scss index c308aa71b9..e8b7d689a3 100644 --- a/src/app/shared/dso-page/dso-page-edit-button/dso-page-edit-button.component.scss +++ b/src/app/shared/dso-page/dso-page-edit-button/dso-page-edit-button.component.scss @@ -1,3 +1,3 @@ .btn-dark { - background-color: $admin-sidebar-bg; + background-color: var(--ds-admin-sidebar-bg); } diff --git a/src/app/shared/dso-selector/dso-selector/dso-selector.component.scss b/src/app/shared/dso-selector/dso-selector/dso-selector.component.scss index 37d2ebeca7..6bc70532df 100644 --- a/src/app/shared/dso-selector/dso-selector/dso-selector.component.scss +++ b/src/app/shared/dso-selector/dso-selector/dso-selector.component.scss @@ -1,5 +1,5 @@ .scrollable-menu { height: auto; - max-height: $dso-selector-list-max-height; + max-height: var(--ds-dso-selector-list-max-height); overflow-x: hidden; } diff --git a/src/app/shared/file-dropzone-no-uploader/file-dropzone-no-uploader.scss b/src/app/shared/file-dropzone-no-uploader/file-dropzone-no-uploader.scss index 94b0fefb4b..5d06cd5718 100644 --- a/src/app/shared/file-dropzone-no-uploader/file-dropzone-no-uploader.scss +++ b/src/app/shared/file-dropzone-no-uploader/file-dropzone-no-uploader.scss @@ -1,5 +1,5 @@ .ds-base-drop-zone { - border: 2px dashed $gray-600; + border: 2px dashed var(--bs-gray-600); } .ds-document-drop-zone { @@ -9,21 +9,21 @@ } .ds-document-drop-zone-active { - z-index: $drop-zone-area-z-index !important; + z-index: var(--ds-drop-zone-area-z-index) !important; } .ds-document-drop-zone-inner { - background-color: rgba($white, 0.7); - z-index: $drop-zone-area-inner-z-index; + background-color: rgba(255, 255, 255, 0.7); + z-index: var(--ds-drop-zone-area-inner-z-index); top: 0; left: 0; } .ds-document-drop-zone-inner-content { - border: 4px dashed map-get($theme-colors, primary); - z-index: $drop-zone-area-inner-z-index; + border: 4px dashed var(--bs-primary); + z-index: var(--ds-drop-zone-area-inner-z-index); } .ds-document-drop-zone-inner-content p { - font-size: ($font-size-lg * 2.5); + font-size: calc(var(--bs-font-size-lg) * 2.5); } diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/existing-metadata-list-element/existing-metadata-list-element.component.scss b/src/app/shared/form/builder/ds-dynamic-form-ui/existing-metadata-list-element/existing-metadata-list-element.component.scss index ab63e324bd..1146e55750 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/existing-metadata-list-element/existing-metadata-list-element.component.scss +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/existing-metadata-list-element/existing-metadata-list-element.component.scss @@ -1,3 +1,3 @@ span.text-contents{ - padding: $btn-padding-y 0; + padding: var(--bs-btn-padding-y) 0; } diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/existing-relation-list-element/existing-relation-list-element.component.scss b/src/app/shared/form/builder/ds-dynamic-form-ui/existing-relation-list-element/existing-relation-list-element.component.scss index ab63e324bd..1146e55750 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/existing-relation-list-element/existing-relation-list-element.component.scss +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/existing-relation-list-element/existing-relation-list-element.component.scss @@ -1,3 +1,3 @@ span.text-contents{ - padding: $btn-padding-y 0; + padding: var(--bs-btn-padding-y) 0; } diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/models/array-group/dynamic-form-array.component.scss b/src/app/shared/form/builder/ds-dynamic-form-ui/models/array-group/dynamic-form-array.component.scss index b61bb9232b..8fb13f9c55 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/models/array-group/dynamic-form-array.component.scss +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/models/array-group/dynamic-form-array.component.scss @@ -5,16 +5,16 @@ } .cdk-drag { - margin-left: -(2 * $spacer); - margin-right: -(0.5 * $spacer); - padding-right: (0.5 * $spacer); + margin-left: calc(-2 * var(--bs-spacer)); + margin-right: calc(-0.5 * var(--bs-spacer)); + padding-right: calc(0.5 * var(--bs-spacer)); .drag-icon { visibility: hidden; - width: (2 * $spacer); - color: $gray-600; - margin: $btn-padding-y 0; - line-height: $btn-line-height; - text-indent: 0.5 * $spacer + width: calc(2 * var(--bs-spacer)); + color: var(--bs-gray-600); + margin: var(--bs-btn-padding-y) 0; + line-height: var(--bs-btn-line-height); + text-indent: calc(0.5 * var(--bs-spacer)) } &:hover, &:focus { @@ -37,7 +37,7 @@ .cdk-drag-preview { background-color: white; - border-radius: $border-radius-sm; + border-radius: var(--bs-border-radius-sm); margin-left: 0; box-shadow: 0 5px 5px 0px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/models/lookup/dynamic-lookup.component.scss b/src/app/shared/form/builder/ds-dynamic-form-ui/models/lookup/dynamic-lookup.component.scss index e1ba2442e5..dee03647de 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/models/lookup/dynamic-lookup.component.scss +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/models/lookup/dynamic-lookup.component.scss @@ -5,7 +5,7 @@ :host ::ng-deep .dropdown-menu { left: 0 !important; width: 100% !important; - max-height: $dropdown-menu-max-height; + max-height: var(--ds-dropdown-menu-max-height); overflow-y: auto !important; overflow-x: hidden; } @@ -14,8 +14,8 @@ :host ::ng-deep .dropdown-item:active, :host ::ng-deep .dropdown-item:focus, :host ::ng-deep .dropdown-item:hover { - color: $dropdown-link-hover-color !important; - background-color: $dropdown-link-hover-bg !important; + color: var(--bs-dropdown-link-hover-color) !important; + background-color: var(--bs-dropdown-link-hover-bg) !important; } div { @@ -23,5 +23,5 @@ div { } .lookup-item { - border-bottom: $dropdown-border-width solid $dropdown-border-color; + border-bottom: var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color); } diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/models/onebox/dynamic-onebox.component.scss b/src/app/shared/form/builder/ds-dynamic-form-ui/models/onebox/dynamic-onebox.component.scss index d6ce88eed9..e4a5a64ea3 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/models/onebox/dynamic-onebox.component.scss +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/models/onebox/dynamic-onebox.component.scss @@ -1,20 +1,20 @@ :host ::ng-deep .dropdown-menu { width: 100% !important; - max-height: $dropdown-menu-max-height; + max-height: var(--ds-dropdown-menu-max-height); overflow-y: auto !important; overflow-x: hidden; } :host ::ng-deep .dropdown-item { - border-bottom: $dropdown-border-width solid $dropdown-border-color; + border-bottom: var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color); } :host ::ng-deep .dropdown-item.active, :host ::ng-deep .dropdown-item:active, :host ::ng-deep .dropdown-item:focus, :host ::ng-deep .dropdown-item:hover { - color: $dropdown-link-hover-color !important; - background-color: $dropdown-link-hover-bg !important; + color: var(--bs-dropdown-link-hover-color) !important; + background-color: var(--bs-dropdown-link-hover-bg) !important; } .treeview .modal-body { diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/models/scrollable-dropdown/dynamic-scrollable-dropdown.component.scss b/src/app/shared/form/builder/ds-dynamic-form-ui/models/scrollable-dropdown/dynamic-scrollable-dropdown.component.scss index 34c5a84220..021453c74b 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/models/scrollable-dropdown/dynamic-scrollable-dropdown.component.scss +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/models/scrollable-dropdown/dynamic-scrollable-dropdown.component.scss @@ -2,25 +2,25 @@ .scrollable-menu { height: auto; - max-height: $dropdown-menu-max-height; + max-height: var(--ds-dropdown-menu-max-height); overflow-x: hidden; } .collection-item { - border-bottom: $dropdown-border-width solid $dropdown-border-color; + border-bottom: var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color); } .scrollable-dropdown-loading { - background-color: map-get($theme-colors, primary); + background-color: var(--bs-primary); color: white; - height: $spacer * 2 !important; - line-height: $spacer * 2; + height: calc(var(--bs-spacer) * 2) !important; + line-height: calc(var(--bs-spacer) * 2); position: sticky; bottom: 0; } .scrollable-dropdown-menu { left: 0 !important; - margin-bottom: $spacer; + margin-bottom: var(--bs-spacer); z-index: 1000; } diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/models/tag/dynamic-tag.component.scss b/src/app/shared/form/builder/ds-dynamic-form-ui/models/tag/dynamic-tag.component.scss index 032596207a..e87b8ffdb4 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/models/tag/dynamic-tag.component.scss +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/models/tag/dynamic-tag.component.scss @@ -10,19 +10,19 @@ :host ::ng-deep .dropdown-menu { width: 100% !important; - max-height: $dropdown-menu-max-height; + max-height: var(--ds-dropdown-menu-max-height); overflow-y: scroll; overflow-x: hidden; left: 0 !important; - margin-top: $spacer !important; + margin-top: var(--bs-spacer) !important; } :host ::ng-deep .dropdown-item.active, :host ::ng-deep .dropdown-item:active, :host ::ng-deep .dropdown-item:focus, :host ::ng-deep .dropdown-item:hover { - color: $dropdown-link-hover-color !important; - background-color: $dropdown-link-hover-bg !important; + color: var(--bs-dropdown-link-hover-color) !important; + background-color: var(--bs-dropdown-link-hover-bg) !important; } .tag-input { diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/search-tab/dynamic-lookup-relation-search-tab.component.scss b/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/search-tab/dynamic-lookup-relation-search-tab.component.scss index 4562a95080..f73f8b8c34 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/search-tab/dynamic-lookup-relation-search-tab.component.scss +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/search-tab/dynamic-lookup-relation-search-tab.component.scss @@ -1,3 +1,3 @@ .position-absolute { - right: $spacer; -} \ No newline at end of file + right: var(--bs-spacer); +} diff --git a/src/app/shared/form/form.component.scss b/src/app/shared/form/form.component.scss index 01cf09576f..33f34fdc3c 100644 --- a/src/app/shared/form/form.component.scss +++ b/src/app/shared/form/form.component.scss @@ -5,7 +5,7 @@ } .ds-form-input-btn { - border: $input-btn-border-width solid $input-border-color; + border: var(--bs-input-btn-border-width) solid var(--bs-input-border-color); border-top-left-radius: 0; border-bottom-left-radius: 0; border-left: 0; @@ -36,9 +36,9 @@ /* add padding */ .left-addon input { - padding-left: $spacer * 2.25; + padding-left: calc(var(--bs-spacer) * 2.25); } .right-addon input { - padding-right: $spacer * 2.25; + padding-right: calc(var(--bs-spacer) * 2.25); } diff --git a/src/app/shared/input-suggestions/input-suggestions.component.scss b/src/app/shared/input-suggestions/input-suggestions.component.scss index 28cc7e8a49..fd7f26a29c 100644 --- a/src/app/shared/input-suggestions/input-suggestions.component.scss +++ b/src/app/shared/input-suggestions/input-suggestions.component.scss @@ -4,7 +4,7 @@ .dropdown-item { white-space: normal; word-break: break-word; - padding: $input-padding-y $input-padding-x; + padding: var(--bs-input-padding-y) var(--bs-input-padding-x); &:focus { outline: none; } diff --git a/src/app/shared/log-in/container/log-in-container.component.scss b/src/app/shared/log-in/container/log-in-container.component.scss index 0255b71dac..f3e0ab6cf4 100644 --- a/src/app/shared/log-in/container/log-in-container.component.scss +++ b/src/app/shared/log-in/container/log-in-container.component.scss @@ -1,18 +1,18 @@ :host ::ng-deep .card { - margin-bottom: $submission-sections-margin-bottom; + margin-bottom: var(--ds-submission-sections-margin-bottom); overflow: unset; } .section-focus { - border-radius: $border-radius; - box-shadow: $btn-focus-box-shadow; + border-radius: var(--bs-border-radius); + box-shadow: var(--bs-btn-focus-box-shadow); } // TODO to remove the following when upgrading @ng-bootstrap :host ::ng-deep .card:first-of-type { - border-bottom: $card-border-width solid $card-border-color !important; - border-bottom-left-radius: $card-border-radius !important; - border-bottom-right-radius: $card-border-radius !important; + border-bottom: var(--bs-card-border-width) solid var(--bs-card-border-color) !important; + border-bottom-left-radius: var(--bs-card-border-radius) !important; + border-bottom-right-radius: var(--bs-card-border-radius) !important; } :host ::ng-deep .card-header button { diff --git a/src/app/shared/metadata-representation/metadata-representation-loader.component.ts b/src/app/shared/metadata-representation/metadata-representation-loader.component.ts index fd094f7797..40fae2e5a6 100644 --- a/src/app/shared/metadata-representation/metadata-representation-loader.component.ts +++ b/src/app/shared/metadata-representation/metadata-representation-loader.component.ts @@ -6,6 +6,7 @@ import { GenericConstructor } from '../../core/shared/generic-constructor'; import { MetadataRepresentationListElementComponent } from '../object-list/metadata-representation-list-element/metadata-representation-list-element.component'; import { MetadataRepresentationDirective } from './metadata-representation.directive'; import { hasValue } from '../empty.util'; +import { ThemeService } from '../theme-support/theme.service'; @Component({ selector: 'ds-metadata-representation-loader', @@ -42,7 +43,10 @@ export class MetadataRepresentationLoaderComponent implements OnInit { */ @ViewChild(MetadataRepresentationDirective, {static: true}) mdRepDirective: MetadataRepresentationDirective; - constructor(private componentFactoryResolver: ComponentFactoryResolver) { + constructor( + private componentFactoryResolver: ComponentFactoryResolver, + private themeService: ThemeService + ) { } /** @@ -64,6 +68,6 @@ export class MetadataRepresentationLoaderComponent implements OnInit { * @returns {string} */ private getComponent(): GenericConstructor { - return getMetadataRepresentationComponent(this.mdRepresentation.itemType, this.mdRepresentation.representationType, this.context); + return getMetadataRepresentationComponent(this.mdRepresentation.itemType, this.mdRepresentation.representationType, this.context, this.themeService.getThemeName()); } } diff --git a/src/app/shared/metadata-representation/metadata-representation.decorator.ts b/src/app/shared/metadata-representation/metadata-representation.decorator.ts index a74c75385d..30bb507b49 100644 --- a/src/app/shared/metadata-representation/metadata-representation.decorator.ts +++ b/src/app/shared/metadata-representation/metadata-representation.decorator.ts @@ -6,15 +6,17 @@ export const map = new Map(); export const DEFAULT_ENTITY_TYPE = 'Publication'; export const DEFAULT_REPRESENTATION_TYPE = MetadataRepresentationType.PlainText; -export const DEFAULT_CONTEXT = Context.Undefined; +export const DEFAULT_CONTEXT = Context.Any; +export const DEFAULT_THEME = '*'; /** * Decorator function to store metadata representation mapping * @param entityType The entity type the component represents * @param mdRepresentationType The metadata representation type the component represents * @param context The optional context the component represents + * @param theme The optional theme for the component */ -export function metadataRepresentationComponent(entityType: string, mdRepresentationType: MetadataRepresentationType, context: Context = DEFAULT_CONTEXT) { +export function metadataRepresentationComponent(entityType: string, mdRepresentationType: MetadataRepresentationType, context: Context = DEFAULT_CONTEXT, theme = DEFAULT_THEME) { return function decorator(component: any) { if (hasNoValue(map.get(entityType))) { map.set(entityType, new Map()); @@ -23,10 +25,14 @@ export function metadataRepresentationComponent(entityType: string, mdRepresenta map.get(entityType).set(mdRepresentationType, new Map()); } - if (hasValue(map.get(entityType).get(mdRepresentationType).get(context))) { + if (hasNoValue(map.get(entityType).get(mdRepresentationType).get(context))) { + map.get(entityType).get(mdRepresentationType).set(context, new Map()); + } + + if (hasValue(map.get(entityType).get(mdRepresentationType).get(context).get(theme))) { throw new Error(`There can't be more than one component to render Entity of type "${entityType}" in MetadataRepresentation "${mdRepresentationType}" with context "${context}"`); } - map.get(entityType).get(mdRepresentationType).set(context, component); + map.get(entityType).get(mdRepresentationType).get(context).set(theme, component); }; } @@ -35,22 +41,32 @@ export function metadataRepresentationComponent(entityType: string, mdRepresenta * @param entityType The entity type to match * @param mdRepresentationType The metadata representation to match * @param context The context to match + * @param theme the theme to match */ -export function getMetadataRepresentationComponent(entityType: string, mdRepresentationType: MetadataRepresentationType, context: Context = DEFAULT_CONTEXT) { +export function getMetadataRepresentationComponent(entityType: string, mdRepresentationType: MetadataRepresentationType, context: Context = DEFAULT_CONTEXT, theme = DEFAULT_THEME) { const mapForEntity = map.get(entityType); if (hasValue(mapForEntity)) { const entityAndMDRepMap = mapForEntity.get(mdRepresentationType); if (hasValue(entityAndMDRepMap)) { - if (hasValue(entityAndMDRepMap.get(context))) { - return entityAndMDRepMap.get(context); + const contextMap = entityAndMDRepMap.get(context); + if (hasValue(contextMap)) { + if (hasValue(contextMap.get(theme))) { + return contextMap.get(theme); + } + if (hasValue(contextMap.get(DEFAULT_THEME))) { + return contextMap.get(DEFAULT_THEME); + } } - if (hasValue(entityAndMDRepMap.get(DEFAULT_CONTEXT))) { - return entityAndMDRepMap.get(DEFAULT_CONTEXT); + if (hasValue(entityAndMDRepMap.get(DEFAULT_CONTEXT)) && + hasValue(entityAndMDRepMap.get(DEFAULT_CONTEXT).get(DEFAULT_THEME))) { + return entityAndMDRepMap.get(DEFAULT_CONTEXT).get(DEFAULT_THEME); } } - if (hasValue(mapForEntity.get(DEFAULT_REPRESENTATION_TYPE))) { - return mapForEntity.get(DEFAULT_REPRESENTATION_TYPE).get(DEFAULT_CONTEXT); + if (hasValue(mapForEntity.get(DEFAULT_REPRESENTATION_TYPE)) && + hasValue(mapForEntity.get(DEFAULT_REPRESENTATION_TYPE).get(DEFAULT_CONTEXT)) && + hasValue(mapForEntity.get(DEFAULT_REPRESENTATION_TYPE).get(DEFAULT_CONTEXT).get(DEFAULT_THEME))) { + return mapForEntity.get(DEFAULT_REPRESENTATION_TYPE).get(DEFAULT_CONTEXT).get(DEFAULT_THEME); } } - return map.get(DEFAULT_ENTITY_TYPE).get(DEFAULT_REPRESENTATION_TYPE).get(DEFAULT_CONTEXT); + return map.get(DEFAULT_ENTITY_TYPE).get(DEFAULT_REPRESENTATION_TYPE).get(DEFAULT_CONTEXT).get(DEFAULT_THEME); } diff --git a/src/app/shared/mocks/theme-service.mock.ts b/src/app/shared/mocks/theme-service.mock.ts new file mode 100644 index 0000000000..fd54e80ad2 --- /dev/null +++ b/src/app/shared/mocks/theme-service.mock.ts @@ -0,0 +1,7 @@ +import { ThemeService } from '../theme-support/theme.service'; + +export function getMockThemeService(): ThemeService { + return jasmine.createSpyObj('themeService', { + getThemeName: 'base' + }); +} diff --git a/src/app/shared/ngrx/no-op.action.ts b/src/app/shared/ngrx/no-op.action.ts new file mode 100644 index 0000000000..cd05c9c05f --- /dev/null +++ b/src/app/shared/ngrx/no-op.action.ts @@ -0,0 +1,14 @@ +import { Action } from '@ngrx/store'; +import { type } from './type'; + +export const NO_OP_ACTION_TYPE = type('dspace/ngrx/NO_OP_ACTION'); + +/** + * An action to use when nothing needs to happen, but you're forced to dispatch an action anyway. + * e.g. an effect that needs to do something if a certain check succeeds, and nothing otherwise. + * + * It should not be used in any reducer or listened for in any effect. + */ +export class NoOpAction implements Action { + public readonly type = NO_OP_ACTION_TYPE; +} diff --git a/src/app/shared/notifications/notification/notification.component.scss b/src/app/shared/notifications/notification/notification.component.scss index a5ebb72b0b..0321644585 100644 --- a/src/app/shared/notifications/notification/notification.component.scss +++ b/src/app/shared/notifications/notification/notification.component.scss @@ -1,6 +1,6 @@ .alert { display: inline-block; - min-width: $modal-sm; + min-width: var(--bs-modal-sm); text-align: left; } @@ -19,14 +19,14 @@ } .alert-success .notification-progress-loader span { - background: darken(adjust-hue(map-get($theme-colors, success), -10), 10%); + background: var(--ds-notification-bg-success); } .alert-danger .notification-progress-loader span { - background: darken(adjust-hue(map-get($theme-colors, danger), -10), 10%); + background: var(--ds-notification-bg-danger); } .alert-info .notification-progress-loader span { - background: darken(adjust-hue(map-get($theme-colors, info), -10), 10%); + background: var(--ds-notification-bg-info); } .alert-warning .notification-progress-loader span { - background: darken(adjust-hue(map-get($theme-colors, warning), -10), 10%); + background: var(--ds-notification-bg-warning); } diff --git a/src/app/shared/notifications/notifications-board/notifications-board.component.scss b/src/app/shared/notifications/notifications-board/notifications-board.component.scss index 1101393e59..c0b1a917f4 100644 --- a/src/app/shared/notifications/notifications-board/notifications-board.component.scss +++ b/src/app/shared/notifications/notifications-board/notifications-board.component.scss @@ -1,5 +1,5 @@ .notifications-wrapper { - z-index: $zindex-popover; + z-index: var(--bs-zindex-popover); text-align: right; @include word-wrap; .notification { @@ -37,7 +37,7 @@ transform: translate(-50%, -50%); } -@media screen and (max-width: map-get($grid-breakpoints, sm)) { +@media screen and (max-width: var(--ds-grid-breakpoints-sm)) { .notifications-wrapper { width: auto; left: 0; diff --git a/src/app/shared/object-collection/shared/listable-object/listable-object-component-loader.component.ts b/src/app/shared/object-collection/shared/listable-object/listable-object-component-loader.component.ts index 5e367654a7..14a5459a98 100644 --- a/src/app/shared/object-collection/shared/listable-object/listable-object-component-loader.component.ts +++ b/src/app/shared/object-collection/shared/listable-object/listable-object-component-loader.component.ts @@ -1,4 +1,11 @@ -import { Component, ComponentFactoryResolver, ElementRef, Input, OnInit, ViewChild } from '@angular/core'; +import { + Component, + ComponentFactoryResolver, + ElementRef, + Input, + OnInit, + ViewChild +} from '@angular/core'; import { ListableObject } from '../listable-object.model'; import { ViewMode } from '../../../../core/shared/view-mode.model'; import { Context } from '../../../../core/shared/context.model'; @@ -7,6 +14,7 @@ import { GenericConstructor } from '../../../../core/shared/generic-constructor' import { ListableObjectDirective } from './listable-object.directive'; import { CollectionElementLinkType } from '../../collection-element-link.type'; import { hasValue } from '../../../empty.util'; +import { ThemeService } from '../../../theme-support/theme.service'; @Component({ selector: 'ds-listable-object-component-loader', @@ -83,7 +91,10 @@ export class ListableObjectComponentLoaderComponent implements OnInit { */ withdrawnBadge = false; - constructor(private componentFactoryResolver: ComponentFactoryResolver) { + constructor( + private componentFactoryResolver: ComponentFactoryResolver, + private themeService: ThemeService + ) { } /** @@ -132,6 +143,6 @@ export class ListableObjectComponentLoaderComponent implements OnInit { * @returns {GenericConstructor} */ private getComponent(): GenericConstructor { - return getListableObjectComponent(this.object.getRenderTypes(), this.viewMode, this.context); + return getListableObjectComponent(this.object.getRenderTypes(), this.viewMode, this.context, this.themeService.getThemeName()); } } diff --git a/src/app/shared/object-collection/shared/listable-object/listable-object.decorator.ts b/src/app/shared/object-collection/shared/listable-object/listable-object.decorator.ts index 4e4567eaff..91140f0ea1 100644 --- a/src/app/shared/object-collection/shared/listable-object/listable-object.decorator.ts +++ b/src/app/shared/object-collection/shared/listable-object/listable-object.decorator.ts @@ -1,7 +1,10 @@ import { ViewMode } from '../../../../core/shared/view-mode.model'; import { Context } from '../../../../core/shared/context.model'; import { hasNoValue, hasValue } from '../../../empty.util'; -import { DEFAULT_CONTEXT } from '../../../metadata-representation/metadata-representation.decorator'; +import { + DEFAULT_CONTEXT, + DEFAULT_THEME +} from '../../../metadata-representation/metadata-representation.decorator'; import { GenericConstructor } from '../../../../core/shared/generic-constructor'; import { ListableObject } from '../listable-object.model'; @@ -11,11 +14,12 @@ const map = new Map(); /** * Decorator used for rendering a listable object - * @param type The object type or entity type the component represents + * @param objectType The object type or entity type the component represents * @param viewMode The view mode the component represents * @param context The optional context the component represents + * @param theme The optional theme for the component */ -export function listableObjectComponent(objectType: string | GenericConstructor, viewMode: ViewMode, context: Context = DEFAULT_CONTEXT) { +export function listableObjectComponent(objectType: string | GenericConstructor, viewMode: ViewMode, context: Context = DEFAULT_CONTEXT, theme = DEFAULT_THEME) { return function decorator(component: any) { if (hasNoValue(objectType)) { return; @@ -26,7 +30,10 @@ export function listableObjectComponent(objectType: string | GenericConstructor< if (hasNoValue(map.get(objectType).get(viewMode))) { map.get(objectType).set(viewMode, new Map()); } - map.get(objectType).get(viewMode).set(context, component); + if (hasNoValue(map.get(objectType).get(viewMode).get(context))) { + map.get(objectType).get(viewMode).set(context, new Map()); + } + map.get(objectType).get(viewMode).get(context).set(theme, component); }; } @@ -35,8 +42,9 @@ export function listableObjectComponent(objectType: string | GenericConstructor< * @param types The types of which one should match the listable component * @param viewMode The view mode that should match the components * @param context The context that should match the components + * @param theme The theme that should match the components */ -export function getListableObjectComponent(types: (string | GenericConstructor)[], viewMode: ViewMode, context: Context = DEFAULT_CONTEXT) { +export function getListableObjectComponent(types: (string | GenericConstructor)[], viewMode: ViewMode, context: Context = DEFAULT_CONTEXT, theme: string = DEFAULT_THEME) { let bestMatch; let bestMatchValue = 0; for (const type of types) { @@ -44,17 +52,29 @@ export function getListableObjectComponent(types: (string | GenericConstructor img { - height: $card-thumbnail-height; + height: var(--ds-card-thumbnail-height); width: 100%; } } diff --git a/src/app/shared/object-grid/object-grid.component.scss b/src/app/shared/object-grid/object-grid.component.scss index 53d64bc60c..46675615f0 100644 --- a/src/app/shared/object-grid/object-grid.component.scss +++ b/src/app/shared/object-grid/object-grid.component.scss @@ -1,8 +1,8 @@ -$ds-wrapper-grid-spacing: $spacer/2; - :host ::ng-deep { + --ds-wrapper-grid-spacing: calc(var(--bs-spacer) / 2); + div.thumbnail > img { - height: $card-thumbnail-height; + height: var(--ds-card-thumbnail-height); width: 100%; display: block; min-width: 100%; @@ -11,19 +11,19 @@ $ds-wrapper-grid-spacing: $spacer/2; object-position: 50% 15%; } div.card { - margin-top: $ds-wrapper-grid-spacing; - margin-bottom: $ds-wrapper-grid-spacing; + margin-top: var(--ds-wrapper-grid-spacing); + margin-bottom: var(--ds-wrapper-grid-spacing); } } .card-columns { - margin-left: -$ds-wrapper-grid-spacing; - margin-right: -$ds-wrapper-grid-spacing; + margin-left: calc(-1 * var(--ds-wrapper-grid-spacing)); + margin-right: calc(-1 * var(--ds-wrapper-grid-spacing)); column-gap: 0; .card-column { - padding-left: $ds-wrapper-grid-spacing; - padding-right: $ds-wrapper-grid-spacing; + padding-left: var(--ds-wrapper-grid-spacing); + padding-right: var(--ds-wrapper-grid-spacing); } } diff --git a/src/app/shared/page-size-selector/page-size-selector.component.scss b/src/app/shared/page-size-selector/page-size-selector.component.scss index cd18456888..b1a3c083ef 100644 --- a/src/app/shared/page-size-selector/page-size-selector.component.scss +++ b/src/app/shared/page-size-selector/page-size-selector.component.scss @@ -1,3 +1,3 @@ .setting-option { - border: 1px solid map-get($theme-colors, light); + border: 1px solid var(--bs-light); } diff --git a/src/app/shared/search-form/search-form.component.scss b/src/app/shared/search-form/search-form.component.scss index 64b97aebd8..4576be4b28 100644 --- a/src/app/shared/search-form/search-form.component.scss +++ b/src/app/shared/search-form/search-form.component.scss @@ -1,5 +1,5 @@ // temporary fix for bootstrap 4 beta btn color issue .btn-secondary { - background-color: $input-bg; - color: $input-color; + background-color: var(--bs-input-bg); + color: var(--bs-input-color); } diff --git a/src/app/shared/search/search-filters/search-filter/search-authority-filter/search-authority-filter.component.scss b/src/app/shared/search/search-filters/search-filter/search-authority-filter/search-authority-filter.component.scss index 4bf21aa33f..8f61f5ebf1 100644 --- a/src/app/shared/search/search-filters/search-filter/search-authority-filter/search-authority-filter.component.scss +++ b/src/app/shared/search/search-filters/search-filter/search-authority-filter/search-authority-filter.component.scss @@ -1,6 +1,6 @@ .filters { a { - color: $body-color; + color: var(--bs-body-color); &:hover, &focus { text-decoration: none; } @@ -9,7 +9,7 @@ } } .toggle-more-filters a { - color: $link-color; + color: var(--bs-link-color); text-decoration: underline; cursor: pointer; } diff --git a/src/app/shared/search/search-filters/search-filter/search-boolean-filter/search-boolean-filter.component.scss b/src/app/shared/search/search-filters/search-filter/search-boolean-filter/search-boolean-filter.component.scss index 9bfd380441..005b9b2581 100644 --- a/src/app/shared/search/search-filters/search-filter/search-boolean-filter/search-boolean-filter.component.scss +++ b/src/app/shared/search/search-filters/search-filter/search-boolean-filter/search-boolean-filter.component.scss @@ -1,6 +1,6 @@ .filters { .toggle-more-filters a { - color: $link-color; + color: var(--bs-link-color); text-decoration: underline; cursor: pointer; } diff --git a/src/app/shared/search/search-filters/search-filter/search-facet-filter-options/search-facet-option/search-facet-option.component.scss b/src/app/shared/search/search-filters/search-filter/search-facet-filter-options/search-facet-option/search-facet-option.component.scss index c5a38f24a7..74cede54a8 100644 --- a/src/app/shared/search/search-filters/search-filter/search-facet-filter-options/search-facet-option/search-facet-option.component.scss +++ b/src/app/shared/search/search-filters/search-filter/search-facet-filter-options/search-facet-option/search-facet-option.component.scss @@ -1,9 +1,9 @@ a { - color: $body-color; + color: var(--bs-body-color); &:hover, &focus { text-decoration: none; } span.badge { vertical-align: text-top; } -} \ No newline at end of file +} diff --git a/src/app/shared/search/search-filters/search-filter/search-facet-filter-options/search-facet-range-option/search-facet-range-option.component.scss b/src/app/shared/search/search-filters/search-filter/search-facet-filter-options/search-facet-range-option/search-facet-range-option.component.scss index 93d85fcba8..1e151b14ce 100644 --- a/src/app/shared/search/search-filters/search-filter/search-facet-filter-options/search-facet-range-option/search-facet-range-option.component.scss +++ b/src/app/shared/search/search-filters/search-filter/search-facet-filter-options/search-facet-range-option/search-facet-range-option.component.scss @@ -1,11 +1,11 @@ a { - color: $link-color; + color: var(--bs-link-color); &:hover { text-decoration: underline; - color: $link-hover-color; + color: var(--bs-link-hover-color); } span.badge { vertical-align: text-top; } -} \ No newline at end of file +} diff --git a/src/app/shared/search/search-filters/search-filter/search-facet-filter-options/search-facet-selected-option/search-facet-selected-option.component.scss b/src/app/shared/search/search-filters/search-filter/search-facet-filter-options/search-facet-selected-option/search-facet-selected-option.component.scss index c5a38f24a7..74cede54a8 100644 --- a/src/app/shared/search/search-filters/search-filter/search-facet-filter-options/search-facet-selected-option/search-facet-selected-option.component.scss +++ b/src/app/shared/search/search-filters/search-filter/search-facet-filter-options/search-facet-selected-option/search-facet-selected-option.component.scss @@ -1,9 +1,9 @@ a { - color: $body-color; + color: var(--bs-body-color); &:hover, &focus { text-decoration: none; } span.badge { vertical-align: text-top; } -} \ No newline at end of file +} diff --git a/src/app/shared/search/search-filters/search-filter/search-filter.component.scss b/src/app/shared/search/search-filters/search-filter/search-filter.component.scss index c94edb01bb..518e7c9d5f 100644 --- a/src/app/shared/search/search-filters/search-filter/search-filter.component.scss +++ b/src/app/shared/search/search-filters/search-filter/search-filter.component.scss @@ -1,10 +1,10 @@ :host .facet-filter { - border: 1px solid map-get($theme-colors, light); + border: 1px solid var(--bs-light); cursor: pointer; .search-filter-wrapper.closed { overflow: hidden; } .filter-toggle { - line-height: $line-height-base; + line-height: var(--bs-line-height-base); } } diff --git a/src/app/shared/search/search-filters/search-filter/search-hierarchy-filter/search-hierarchy-filter.component.scss b/src/app/shared/search/search-filters/search-filter/search-hierarchy-filter/search-hierarchy-filter.component.scss index 489b7bab63..4e2df779a2 100644 --- a/src/app/shared/search/search-filters/search-filter/search-hierarchy-filter/search-hierarchy-filter.component.scss +++ b/src/app/shared/search/search-filters/search-filter/search-hierarchy-filter/search-hierarchy-filter.component.scss @@ -1,6 +1,6 @@ .filters { .toggle-more-filters a { - color: $link-color; + color: var(--bs-link-color); text-decoration: underline; cursor: pointer; } diff --git a/src/app/shared/search/search-filters/search-filter/search-range-filter/search-range-filter.component.scss b/src/app/shared/search/search-filters/search-filter/search-range-filter/search-range-filter.component.scss index 9e536626b0..71d19dbdf8 100644 --- a/src/app/shared/search/search-filters/search-filter/search-range-filter/search-range-filter.component.scss +++ b/src/app/shared/search/search-filters/search-filter/search-range-filter/search-range-filter.component.scss @@ -1,27 +1,28 @@ .filters { .toggle-more-filters a { - color: $link-color; + color: var(--bs-link-color); text-decoration: underline; cursor: pointer; } } -$slider-handle-width: 18px; ::ng-deep { + --ds-slider-handle-width: 18px; + html:not([dir=rtl]) .noUi-horizontal .noUi-handle { - right: -$slider-handle-width/2; + right: calc(var(--ds-slider-handle-width) / -2); } .noUi-horizontal .noUi-handle { - width: $slider-handle-width; + width: var(--ds-slider-handle-width); &:before { - left: ($slider-handle-width - 2)/2 - 2; + left: calc(calc(calc(var(--ds-slider-handle-width) - 2) / 2) - 2); } &:after { - left: ($slider-handle-width - 2)/2 + 2; + left: calc(calc(calc(var(--ds-slider-handle-width) - 2) / 2) + 2); } &:focus { outline: none; } } -} \ No newline at end of file +} diff --git a/src/app/shared/search/search-filters/search-filter/search-text-filter/search-text-filter.component.scss b/src/app/shared/search/search-filters/search-filter/search-text-filter/search-text-filter.component.scss index 1d062960c7..815ff35642 100644 --- a/src/app/shared/search/search-filters/search-filter/search-text-filter/search-text-filter.component.scss +++ b/src/app/shared/search/search-filters/search-filter/search-text-filter/search-text-filter.component.scss @@ -1,7 +1,7 @@ .filters { .toggle-more-filters a { - color: $link-color; + color: var(--bs-link-color); text-decoration: underline; cursor: pointer; } diff --git a/src/app/shared/search/search-settings/search-settings.component.scss b/src/app/shared/search/search-settings/search-settings.component.scss index cd18456888..b1a3c083ef 100644 --- a/src/app/shared/search/search-settings/search-settings.component.scss +++ b/src/app/shared/search/search-settings/search-settings.component.scss @@ -1,3 +1,3 @@ .setting-option { - border: 1px solid map-get($theme-colors, light); + border: 1px solid var(--bs-light); } diff --git a/src/app/shared/search/search-sidebar/search-sidebar.component.scss b/src/app/shared/search/search-sidebar/search-sidebar.component.scss index 38e742bca4..130ec91aec 100644 --- a/src/app/shared/search/search-sidebar/search-sidebar.component.scss +++ b/src/app/shared/search/search-sidebar/search-sidebar.component.scss @@ -1,16 +1,16 @@ :host { .results { - line-height: $button-height; + line-height: var(--ds-button-height); } ds-view-mode-switch { - margin-bottom: $spacer; + margin-bottom: var(--bs-spacer); } .sidebar-content > *:not(:last-child):not(ds-search-switch-configuration) { - margin-bottom: 4*$spacer; + margin-bottom: calc(4 * var(--bs-spacer)); display: block; } ds-search-switch-configuration { - margin-bottom: 2*$spacer; + margin-bottom: calc(2 * var(--bs-spacer)); display: block; } } diff --git a/src/app/shared/sidebar/filter/sidebar-filter-selected-option.component.scss b/src/app/shared/sidebar/filter/sidebar-filter-selected-option.component.scss index b4e9cd340c..30ab8912d3 100644 --- a/src/app/shared/sidebar/filter/sidebar-filter-selected-option.component.scss +++ b/src/app/shared/sidebar/filter/sidebar-filter-selected-option.component.scss @@ -1,5 +1,5 @@ a { - color: $body-color; + color: var(--bs-body-color); &:hover, &focus { text-decoration: none; diff --git a/src/app/shared/sidebar/filter/sidebar-filter.component.scss b/src/app/shared/sidebar/filter/sidebar-filter.component.scss index 68949f3450..bf7a089cb1 100644 --- a/src/app/shared/sidebar/filter/sidebar-filter.component.scss +++ b/src/app/shared/sidebar/filter/sidebar-filter.component.scss @@ -1,5 +1,5 @@ :host .facet-filter { - border: 1px solid map-get($theme-colors, light); + border: 1px solid var(--bs-light); cursor: pointer; .sidebar-filter-wrapper.closed { @@ -7,6 +7,6 @@ } .filter-toggle { - line-height: $line-height-base; + line-height: var(--bs-line-height-base); } } diff --git a/src/app/shared/sidebar/page-with-sidebar.component.scss b/src/app/shared/sidebar/page-with-sidebar.component.scss index 8be48cea2b..4949694313 100644 --- a/src/app/shared/sidebar/page-with-sidebar.component.scss +++ b/src/app/shared/sidebar/page-with-sidebar.component.scss @@ -43,9 +43,9 @@ position: sticky; position: -webkit-sticky; top: 0; - z-index: $zindex-sticky; - padding-top: $content-spacing; - margin-top: -$content-spacing; + z-index: var(--bs-zindex-sticky); + padding-top: var(--ds-content-spacing); + margin-top: calc(-1 * var(--ds-content-spacing)); align-self: flex-start; display: block; } diff --git a/src/app/shared/sidebar/sidebar-dropdown.component.scss b/src/app/shared/sidebar/sidebar-dropdown.component.scss index 1c025095dd..2da7be11b5 100644 --- a/src/app/shared/sidebar/sidebar-dropdown.component.scss +++ b/src/app/shared/sidebar/sidebar-dropdown.component.scss @@ -1,3 +1,3 @@ .setting-option { - border: 1px solid map-get($theme-colors, light); + border: 1px solid var(--bs-light); } diff --git a/src/app/shared/starts-with/date/starts-with-date.component.scss b/src/app/shared/starts-with/date/starts-with-date.component.scss index 64b97aebd8..4576be4b28 100644 --- a/src/app/shared/starts-with/date/starts-with-date.component.scss +++ b/src/app/shared/starts-with/date/starts-with-date.component.scss @@ -1,5 +1,5 @@ // temporary fix for bootstrap 4 beta btn color issue .btn-secondary { - background-color: $input-bg; - color: $input-color; + background-color: var(--bs-input-bg); + color: var(--bs-input-color); } diff --git a/src/app/shared/starts-with/text/starts-with-text.component.scss b/src/app/shared/starts-with/text/starts-with-text.component.scss index 64b97aebd8..4576be4b28 100644 --- a/src/app/shared/starts-with/text/starts-with-text.component.scss +++ b/src/app/shared/starts-with/text/starts-with-text.component.scss @@ -1,5 +1,5 @@ // temporary fix for bootstrap 4 beta btn color issue .btn-secondary { - background-color: $input-bg; - color: $input-color; + background-color: var(--bs-input-bg); + color: var(--bs-input-color); } diff --git a/src/app/shared/theme-support/theme.actions.ts b/src/app/shared/theme-support/theme.actions.ts new file mode 100644 index 0000000000..dbc885772d --- /dev/null +++ b/src/app/shared/theme-support/theme.actions.ts @@ -0,0 +1,22 @@ +import { Action } from '@ngrx/store'; +import { type } from '../ngrx/type'; + +export const ThemeActionTypes = { + SET: type('dspace/theme/SET'), +}; + +/** + * An action to set the current theme + */ +export class SetThemeAction implements Action { + type = ThemeActionTypes.SET; + payload: { + name: string + }; + + constructor(name: string) { + this.payload = { name }; + } +} + +export type ThemeAction = SetThemeAction; diff --git a/src/app/shared/theme-support/theme.constants.ts b/src/app/shared/theme-support/theme.constants.ts new file mode 100644 index 0000000000..2304461d92 --- /dev/null +++ b/src/app/shared/theme-support/theme.constants.ts @@ -0,0 +1 @@ +export const BASE_THEME_NAME = 'base'; diff --git a/src/app/shared/theme-support/theme.effects.spec.ts b/src/app/shared/theme-support/theme.effects.spec.ts new file mode 100644 index 0000000000..94d1645912 --- /dev/null +++ b/src/app/shared/theme-support/theme.effects.spec.ts @@ -0,0 +1,173 @@ +import { ThemeEffects } from './theme.effects'; +import { Observable } from 'rxjs'; +import { TestBed } from '@angular/core/testing'; +import { provideMockActions } from '@ngrx/effects/testing'; +import { LinkService } from '../../core/cache/builders/link.service'; +import { getMockLinkService } from '../mocks/link-service.mock'; +import { cold, hot } from 'jasmine-marbles'; +import { ROOT_EFFECTS_INIT } from '@ngrx/effects'; +import { SetThemeAction } from './theme.actions'; +import { Theme } from '../../../config/theme.model'; +import { provideMockStore } from '@ngrx/store/testing'; +import { ROUTER_NAVIGATED } from '@ngrx/router-store'; +import { ResolverActionTypes } from '../../core/resolving/resolver.actions'; +import { Community } from '../../core/shared/community.model'; +import { COMMUNITY } from '../../core/shared/community.resource-type'; +import { NoOpAction } from '../ngrx/no-op.action'; +import { ITEM } from '../../core/shared/item.resource-type'; +import { DSpaceObject } from '../../core/shared/dspace-object.model'; +import { Item } from '../../core/shared/item.model'; +import { Collection } from '../../core/shared/collection.model'; +import { COLLECTION } from '../../core/shared/collection.resource-type'; +import { BASE_THEME_NAME } from './theme.constants'; + +describe('ThemeEffects', () => { + let themeEffects: ThemeEffects; + let linkService: LinkService; + let initialState; + let actions: Observable; + + function init() { + linkService = getMockLinkService(); + initialState = { + currentTheme: 'custom', + }; + } + + beforeEach(() => { + init(); + TestBed.configureTestingModule({ + providers: [ + ThemeEffects, + { provide: LinkService, useValue: linkService }, + provideMockStore({ initialState }), + provideMockActions(() => actions) + ] + }); + + themeEffects = TestBed.inject(ThemeEffects); + }); + + describe('initTheme$', () => { + it('should set the default theme', () => { + actions = hot('--a-', { + a: { + type: ROOT_EFFECTS_INIT + } + }); + + const expected = cold('--b-', { + b: new SetThemeAction(BASE_THEME_NAME) + }); + + expect(themeEffects.initTheme$).toBeObservable(expected); + }); + }); + + // TODO: Fix test + xdescribe('updateThemeOnRouteChange$', () => { + it('test', () => { + const url = '/test/route'; + const dso = Object.assign(new Community(), { + type: COMMUNITY.value, + uuid: '0958c910-2037-42a9-81c7-dca80e3892b4', + }); + actions = hot('--ab-', { + a: { + type: ROUTER_NAVIGATED, + payload: { routerState: { url } }, + }, + b: { + type: ResolverActionTypes.RESOLVED, + payload: { url, dso }, + } + }); + + const expected = cold('--b-', { + b: new SetThemeAction('Publications community (uuid)') + }); + + expect(themeEffects.initTheme$).toBeObservable(expected); + }); + }); + + describe('getActionForMatch', () => { + it('should return a SET action if the name doesn\'t match', () => { + const theme = new Theme({ name: 'new-theme' }); + expect((themeEffects as any).getActionForMatch(theme, 'not-matching')).toEqual(new SetThemeAction('new-theme')); + }); + + it('should return an empty action if the name matches', () => { + const theme = new Theme({ name: 'new-theme' }); + expect((themeEffects as any).getActionForMatch(theme, 'new-theme')).toEqual(new NoOpAction()); + }); + }); + + describe('matchThemeToDSOs', () => { + let themes: Theme[]; + let nonMatchingTheme: Theme; + let itemMatchingTheme: Theme; + let communityMatchingTheme: Theme; + let dsos: DSpaceObject[]; + + beforeEach(() => { + nonMatchingTheme = Object.assign(new Theme({ name: 'non-matching-theme' }), { + matches: () => false + }); + itemMatchingTheme = Object.assign(new Theme({ name: 'item-matching-theme' }), { + matches: (url, dso) => (dso as any).type === ITEM.value + }); + communityMatchingTheme = Object.assign(new Theme({ name: 'community-matching-theme' }), { + matches: (url, dso) => (dso as any).type === COMMUNITY.value + }); + dsos = [ + Object.assign(new Item(), { + type: ITEM.value, + uuid: 'item-uuid', + }), + Object.assign(new Collection(), { + type: COLLECTION.value, + uuid: 'collection-uuid', + }), + Object.assign(new Community(), { + type: COMMUNITY.value, + uuid: 'community-uuid', + }), + ]; + }); + + describe('when no themes match any of the DSOs', () => { + beforeEach(() => { + themes = [ nonMatchingTheme ]; + themeEffects.themes = themes; + }); + + it('should return undefined', () => { + expect((themeEffects as any).matchThemeToDSOs(dsos, '')).toBeUndefined(); + }); + }); + + describe('when one of the themes match a DSOs', () => { + beforeEach(() => { + themes = [ nonMatchingTheme, itemMatchingTheme ]; + themeEffects.themes = themes; + }); + + it('should return the matching theme', () => { + expect((themeEffects as any).matchThemeToDSOs(dsos, '')).toEqual(itemMatchingTheme); + }); + }); + + describe('when multiple themes match some of the DSOs', () => { + it('should return the first matching theme', () => { + themes = [ nonMatchingTheme, itemMatchingTheme, communityMatchingTheme ]; + themeEffects.themes = themes; + expect((themeEffects as any).matchThemeToDSOs(dsos, '')).toEqual(itemMatchingTheme); + + themes = [ nonMatchingTheme, communityMatchingTheme, itemMatchingTheme ]; + themeEffects.themes = themes; + expect((themeEffects as any).matchThemeToDSOs(dsos, '')).toEqual(communityMatchingTheme); + }); + }); + }); +}); diff --git a/src/app/shared/theme-support/theme.effects.ts b/src/app/shared/theme-support/theme.effects.ts new file mode 100644 index 0000000000..894cfeca75 --- /dev/null +++ b/src/app/shared/theme-support/theme.effects.ts @@ -0,0 +1,185 @@ +import { Injectable } from '@angular/core'; +import { createEffect, Actions, ofType, ROOT_EFFECTS_INIT } from '@ngrx/effects'; +import { ROUTER_NAVIGATED, RouterNavigatedAction } from '@ngrx/router-store'; +import { map, withLatestFrom, expand, switchMap, toArray, startWith, filter } from 'rxjs/operators'; +import { SetThemeAction } from './theme.actions'; +import { environment } from '../../../environments/environment'; +import { ThemeConfig, themeFactory, Theme, } from '../../../config/theme.model'; +import { hasValue, isNotEmpty, hasNoValue } from '../empty.util'; +import { NoOpAction } from '../ngrx/no-op.action'; +import { Store, select } from '@ngrx/store'; +import { ThemeState } from './theme.reducer'; +import { currentThemeSelector } from './theme.service'; +import { of as observableOf, EMPTY, Observable } from 'rxjs'; +import { ResolverActionTypes, ResolvedAction } from '../../core/resolving/resolver.actions'; +import { followLink } from '../utils/follow-link-config.model'; +import { RemoteData } from '../../core/data/remote-data'; +import { DSpaceObject } from '../../core/shared/dspace-object.model'; +import { getFirstCompletedRemoteData } from '../../core/shared/operators'; +import { LinkService } from '../../core/cache/builders/link.service'; +import { BASE_THEME_NAME } from './theme.constants'; + +export const DEFAULT_THEME_CONFIG = environment.themes.find((themeConfig: any) => + hasNoValue(themeConfig.regex) && + hasNoValue(themeConfig.handle) && + hasNoValue(themeConfig.uuid) +); + +@Injectable() +export class ThemeEffects { + /** + * The list of configured themes + */ + themes: Theme[]; + + /** + * True if at least one theme depends on the route + */ + hasDynamicTheme: boolean; + + /** + * Initialize with a theme that doesn't depend on the route. + */ + initTheme$ = createEffect(() => + this.actions$.pipe( + ofType(ROOT_EFFECTS_INIT), + map(() => { + if (hasValue(DEFAULT_THEME_CONFIG)) { + return new SetThemeAction(DEFAULT_THEME_CONFIG.name); + } else { + return new SetThemeAction(BASE_THEME_NAME); + } + }) + ) + ); + + /** + * An effect that fires when a route change completes, + * and determines whether or not the theme should change + */ + updateThemeOnRouteChange$ = createEffect(() => this.actions$.pipe( + // Listen for when a route change ends + ofType(ROUTER_NAVIGATED), + withLatestFrom( + // Pull in the latest resolved action, or undefined if none was dispatched yet + this.actions$.pipe(ofType(ResolverActionTypes.RESOLVED), startWith(undefined)), + // and the current theme from the store + this.store.pipe(select(currentThemeSelector)) + ), + switchMap(([navigatedAction, resolvedAction, currentTheme]: [RouterNavigatedAction, ResolvedAction, string]) => { + if (this.hasDynamicTheme === true && isNotEmpty(this.themes)) { + const currentRouteUrl = navigatedAction.payload.routerState.url; + // If resolvedAction exists, and deals with the current url + if (hasValue(resolvedAction) && resolvedAction.payload.url === currentRouteUrl) { + // Start with the resolved dso and go recursively through its parents until you reach the top-level community + return observableOf(resolvedAction.payload.dso).pipe( + this.getAncestorDSOs(), + map((dsos: DSpaceObject[]) => { + const dsoMatch = this.matchThemeToDSOs(dsos, currentRouteUrl); + return this.getActionForMatch(dsoMatch, currentTheme); + }) + ); + } + + // check whether the route itself matches + const routeMatch = this.themes.find((theme: Theme) => theme.matches(currentRouteUrl, undefined)); + + return [this.getActionForMatch(routeMatch, currentTheme)]; + } + + // If there are no themes configured, do nothing + return [new NoOpAction()]; + }) + ) + ); + + /** + * return the action to dispatch based on the given matching theme + * + * @param newTheme The theme to create an action for + * @param currentThemeName The name of the currently active theme + * @private + */ + private getActionForMatch(newTheme: Theme, currentThemeName: string): SetThemeAction | NoOpAction { + if (hasValue(newTheme) && newTheme.config.name !== currentThemeName) { + // If we have a match, and it isn't already the active theme, set it as the new theme + return new SetThemeAction(newTheme.config.name); + } else { + // Otherwise, do nothing + return new NoOpAction(); + } + } + + /** + * Check the given DSpaceObjects in order to see if they match the configured themes in order. + * If a match is found, the matching theme is returned + * + * @param dsos The DSpaceObjects to check + * @param currentRouteUrl The url for the current route + * @private + */ + private matchThemeToDSOs(dsos: DSpaceObject[], currentRouteUrl: string): Theme { + // iterate over the themes in order, and return the first one that matches + return this.themes.find((theme: Theme) => { + // iterate over the dsos's in order (most specific one first, so Item, Collection, + // Community), and return the first one that matches the current theme + const match = dsos.find((dso: DSpaceObject) => theme.matches(currentRouteUrl, dso)); + return hasValue(match); + }); + + } + + /** + * An rxjs operator that will return an array of all the ancestors of the DSpaceObject used as + * input. The initial DSpaceObject will be the first element of the output array, followed by + * its parent, its grandparent etc + * + * @private + */ + private getAncestorDSOs() { + return (source: Observable): Observable => + source.pipe( + expand((dso: DSpaceObject) => { + // Check if the dso exists and has a parent link + if (hasValue(dso) && typeof (dso as any).getParentLinkKey === 'function') { + const linkName = (dso as any).getParentLinkKey(); + // If it does, retrieve it. + return this.linkService.resolveLinkWithoutAttaching(dso, followLink(linkName)).pipe( + getFirstCompletedRemoteData(), + map((rd: RemoteData) => { + if (hasValue(rd.payload)) { + // If there's a parent, use it for the next iteration + return rd.payload; + } else { + // If there's no parent, or an error, return null, which will stop recursion + // in the next iteration + return null; + } + }), + ); + } + + // The current dso has no value, or no parent. Return EMPTY to stop recursion + return EMPTY; + }), + // only allow through DSOs that have a value + filter((dso: DSpaceObject) => hasValue(dso)), + // Wait for recursion to complete, and emit all results at once, in an array + toArray() + ); + } + + constructor( + private actions$: Actions, + private store: Store, + private linkService: LinkService, + ) { + // Create objects from the theme configs in the environment file + this.themes = environment.themes.map((themeConfig: ThemeConfig) => themeFactory(themeConfig)); + this.hasDynamicTheme = environment.themes.some((themeConfig: any) => + hasValue(themeConfig.regex) || + hasValue(themeConfig.handle) || + hasValue(themeConfig.uuid) + ); + } +} diff --git a/src/app/shared/theme-support/theme.reducer.spec.ts b/src/app/shared/theme-support/theme.reducer.spec.ts new file mode 100644 index 0000000000..8733b88cda --- /dev/null +++ b/src/app/shared/theme-support/theme.reducer.spec.ts @@ -0,0 +1,18 @@ +import { SetThemeAction } from './theme.actions'; +import { themeReducer } from './theme.reducer'; + +describe('themeReducer', () => { + const testState = { + currentTheme: 'test' + }; + + it('should set the current theme in response to the SET action', () => { + const expectedState = { + currentTheme: 'newTheme' + }; + const action = new SetThemeAction('newTheme'); + const newState = themeReducer(testState, action); + + expect(newState).toEqual(expectedState); + }); +}); diff --git a/src/app/shared/theme-support/theme.reducer.ts b/src/app/shared/theme-support/theme.reducer.ts new file mode 100644 index 0000000000..26083a0cef --- /dev/null +++ b/src/app/shared/theme-support/theme.reducer.ts @@ -0,0 +1,22 @@ +import { ThemeAction, ThemeActionTypes } from './theme.actions'; + +export interface ThemeState { + currentTheme: string; +} + +const initialState: ThemeState = { + currentTheme: null +}; + +export function themeReducer(state: ThemeState = initialState, action: ThemeAction): ThemeState { + switch (action.type) { + case ThemeActionTypes.SET: { + return { + currentTheme: action.payload.name + }; + } + default: { + return state; + } + } +} diff --git a/src/app/shared/theme-support/theme.service.ts b/src/app/shared/theme-support/theme.service.ts new file mode 100644 index 0000000000..7b0af93e04 --- /dev/null +++ b/src/app/shared/theme-support/theme.service.ts @@ -0,0 +1,46 @@ +import { Injectable } from '@angular/core'; +import { Store, createFeatureSelector, createSelector, select } from '@ngrx/store'; +import { Observable } from 'rxjs/internal/Observable'; +import { ThemeState } from './theme.reducer'; +import { SetThemeAction } from './theme.actions'; +import { take } from 'rxjs/operators'; +import { hasValue } from '../empty.util'; + +export const themeStateSelector = createFeatureSelector('theme'); + +export const currentThemeSelector = createSelector( + themeStateSelector, + (state: ThemeState): string => hasValue(state) ? state.currentTheme : undefined +); + +@Injectable({ + providedIn: 'root' +}) +export class ThemeService { + constructor( + private store: Store, + ) { + } + + setTheme(newName: string) { + this.store.dispatch(new SetThemeAction(newName)); + } + + getThemeName(): string { + let currentTheme: string; + this.store.pipe( + select(currentThemeSelector), + take(1) + ).subscribe((name: string) => + currentTheme = name + ); + return currentTheme; + } + + getThemeName$(): Observable { + return this.store.pipe( + select(currentThemeSelector) + ); + } + +} diff --git a/src/app/shared/theme-support/themed.component.html b/src/app/shared/theme-support/themed.component.html new file mode 100644 index 0000000000..4256518a10 --- /dev/null +++ b/src/app/shared/theme-support/themed.component.html @@ -0,0 +1 @@ + diff --git a/src/app/shared/theme-support/themed.component.scss b/src/app/shared/theme-support/themed.component.scss new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/app/shared/theme-support/themed.component.ts b/src/app/shared/theme-support/themed.component.ts new file mode 100644 index 0000000000..1a41327209 --- /dev/null +++ b/src/app/shared/theme-support/themed.component.ts @@ -0,0 +1,116 @@ +import { + Component, + ViewChild, + ViewContainerRef, + ComponentRef, + SimpleChanges, + OnInit, + OnDestroy, + ComponentFactoryResolver, + ChangeDetectorRef, + OnChanges +} from '@angular/core'; +import { hasValue, isNotEmpty } from '../empty.util'; +import { Subscription } from 'rxjs'; +import { ThemeService } from './theme.service'; +import { fromPromise } from 'rxjs/internal-compatibility'; +import { catchError, switchMap, map } from 'rxjs/operators'; +import { GenericConstructor } from '../../core/shared/generic-constructor'; + +@Component({ + selector: 'ds-themed', + styleUrls: ['./themed.component.scss'], + templateUrl: './themed.component.html', +}) +export abstract class ThemedComponent implements OnInit, OnDestroy, OnChanges { + @ViewChild('vcr', { read: ViewContainerRef }) vcr: ViewContainerRef; + protected compRef: ComponentRef; + + protected lazyLoadSub: Subscription; + protected themeSub: Subscription; + + protected inAndOutputNames: (keyof T & keyof this)[] = []; + + constructor( + protected resolver: ComponentFactoryResolver, + protected cdr: ChangeDetectorRef, + protected themeService: ThemeService + ) { + } + + protected abstract getComponentName(): string; + + protected abstract importThemedComponent(themeName: string): Promise; + protected abstract importUnthemedComponent(): Promise; + + ngOnChanges(changes: SimpleChanges): void { + // if an input or output has changed + if (this.inAndOutputNames.some((name: any) => hasValue(changes[name]))) { + this.connectInputsAndOutputs(); + } + } + + ngOnInit(): void { + this.destroyComponentInstance(); + this.themeSub = this.themeService.getThemeName$().subscribe(() => { + this.renderComponentInstance(); + }); + } + + ngOnDestroy(): void { + [this.themeSub, this.lazyLoadSub].filter((sub) => hasValue(sub)).forEach((sub) => sub.unsubscribe()); + this.destroyComponentInstance(); + } + + protected renderComponentInstance(): void { + this.destroyComponentInstance(); + + if (hasValue(this.lazyLoadSub)) { + this.lazyLoadSub.unsubscribe(); + } + + this.lazyLoadSub = + fromPromise(this.importThemedComponent(this.themeService.getThemeName())).pipe( + // if there is no themed version of the component an exception is thrown, + // catch it and return null instead + catchError(() => [null]), + switchMap((themedFile: any) => { + if (hasValue(themedFile) && hasValue(themedFile[this.getComponentName()])) { + // if the file is not null, and exports a component with the specified name, + // return that component + return [themedFile[this.getComponentName()]]; + } else { + // otherwise import and return the default component + return fromPromise(this.importUnthemedComponent()).pipe( + map((unthemedFile: any) => { + return unthemedFile[this.getComponentName()]; + }) + ); + } + }), + ).subscribe((constructor: GenericConstructor) => { + const factory = this.resolver.resolveComponentFactory(constructor); + this.compRef = this.vcr.createComponent(factory); + this.connectInputsAndOutputs(); + this.cdr.markForCheck(); + }); + } + + protected destroyComponentInstance(): void { + if (hasValue(this.compRef)) { + this.compRef.destroy(); + this.compRef = null; + } + if (hasValue(this.vcr)) { + this.vcr.clear(); + } + } + + protected connectInputsAndOutputs(): void { + if (isNotEmpty(this.inAndOutputNames) && hasValue(this.compRef) && hasValue(this.compRef.instance)) { + this.inAndOutputNames.forEach((name: any) => { + this.compRef.instance[name] = this[name]; + }); + } + } +} diff --git a/src/app/shared/truncatable/truncatable-part/truncatable-part.component.scss b/src/app/shared/truncatable/truncatable-part/truncatable-part.component.scss index d2ddfc7383..186bb9be48 100644 --- a/src/app/shared/truncatable/truncatable-part/truncatable-part.component.scss +++ b/src/app/shared/truncatable/truncatable-part/truncatable-part.component.scss @@ -1,3 +1,4 @@ +//TODO switch to css variables @mixin clamp($lines, $bg, $size-factor: 1, $line-height: $line-height-base) { $height: $line-height * $font-size-base * $size-factor; &.fixedHeight { diff --git a/src/app/shared/uploader/uploader.component.scss b/src/app/shared/uploader/uploader.component.scss index 8835b87b1e..634b91c0e5 100644 --- a/src/app/shared/uploader/uploader.component.scss +++ b/src/app/shared/uploader/uploader.component.scss @@ -1,14 +1,14 @@ .ds-base-drop-zone { - border: 2px dashed $gray-600; + border: 2px dashed var(--bs-gray-600); } /* Default class applied to drop zones on over */ .ds-base-drop-zone-file-over { - border: 2px dashed map-get($theme-colors, primary); + border: 2px dashed var(--bs-primary); } .ds-base-drop-zone p { - min-height: $drop-zone-area-height; + min-height: var(--ds-drop-zone-area-height); } .ds-document-drop-zone { @@ -18,21 +18,21 @@ } .ds-document-drop-zone-active { - z-index: $drop-zone-area-z-index !important; + z-index: var(--ds-drop-zone-area-z-index) !important; } .ds-document-drop-zone-inner { - background-color: rgba($white, 0.7); - z-index: $drop-zone-area-inner-z-index; + background-color: rgba(255, 255, 255, 0.7); + z-index: var(--ds-drop-zone-area-inner-z-index); top: 0; left: 0; } .ds-document-drop-zone-inner-content { - border: 4px dashed map-get($theme-colors, primary); - z-index: $drop-zone-area-inner-z-index; + border: 4px dashed var(--bs-primary); + z-index: var(--ds-drop-zone-area-inner-z-index); } .ds-document-drop-zone-inner-content p { - font-size: ($font-size-lg * 2.5); + font-size: calc(var(--bs-font-size-lg) * 2.5); } diff --git a/src/app/store.actions.ts b/src/app/store.actions.ts index be36012ce5..aaeb319107 100644 --- a/src/app/store.actions.ts +++ b/src/app/store.actions.ts @@ -4,7 +4,7 @@ import { AppState } from './app.reducer'; export const StoreActionTypes = { REHYDRATE: type('dspace/ngrx/REHYDRATE'), - REPLAY: type('dspace/ngrx/REPLAY') + REPLAY: type('dspace/ngrx/REPLAY'), }; export class StoreAction implements Action { diff --git a/src/app/submission/form/collection/submission-form-collection.component.scss b/src/app/submission/form/collection/submission-form-collection.component.scss index deecc39510..907a111900 100644 --- a/src/app/submission/form/collection/submission-form-collection.component.scss +++ b/src/app/submission/form/collection/submission-form-collection.component.scss @@ -1,15 +1,15 @@ .scrollable-menu { height: auto; - max-height: $dropdown-menu-max-height; + max-height: var(--ds-dropdown-menu-max-height); overflow-x: hidden; } .collection-item { - border-bottom: $dropdown-border-width solid $dropdown-border-color; + border-bottom: var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color); } #collectionControlsDropdownMenu { outline: 0; left: 0 !important; - box-shadow: $btn-focus-box-shadow; + box-shadow: var(--bs-btn-focus-box-shadow); } diff --git a/src/app/submission/form/section-add/submission-form-section-add.component.scss b/src/app/submission/form/section-add/submission-form-section-add.component.scss index c8fd2073d1..36e7d8e5dd 100644 --- a/src/app/submission/form/section-add/submission-form-section-add.component.scss +++ b/src/app/submission/form/section-add/submission-form-section-add.component.scss @@ -3,5 +3,5 @@ } .sections-dropdown-menu { - z-index: $submission-header-z-index; + z-index: var(--ds-submission-header-z-index); } diff --git a/src/app/submission/form/submission-form.component.scss b/src/app/submission/form/submission-form.component.scss index 44551162cc..56d6288764 100644 --- a/src/app/submission/form/submission-form.component.scss +++ b/src/app/submission/form/submission-form.component.scss @@ -1,8 +1,8 @@ .submission-form-header { - background-color: rgba($white, .97); - padding: ($spacer / 2) 0 ($spacer / 2) 0; + background-color: rgba(255, 255, 255, .97); + padding: calc(var(--bs-spacer) / 2) 0 calc(var(--bs-spacer) / 2) 0; top: 0; - z-index: $submission-header-z-index; + z-index: var(--ds-submission-header-z-index); } .submission-form-header-item { @@ -10,10 +10,10 @@ } .submission-form-footer { - border-radius: $card-border-radius; + border-radius: var(--bs-card-border-radius); bottom: 0; - background-color: $gray-400; - padding: $spacer / 2; - z-index: $submission-footer-z-index; + background-color: var(--bs-gray-400); + padding: calc(var(--bs-spacer) / 2); + z-index: var(--ds-submission-footer-z-index); } diff --git a/src/app/submission/import-external/import-external-searchbar/submission-import-external-searchbar.component.scss b/src/app/submission/import-external/import-external-searchbar/submission-import-external-searchbar.component.scss index 136bf12e0e..97f49459c7 100644 --- a/src/app/submission/import-external/import-external-searchbar/submission-import-external-searchbar.component.scss +++ b/src/app/submission/import-external/import-external-searchbar/submission-import-external-searchbar.component.scss @@ -13,15 +13,15 @@ .scrollable-menu { height: auto; - max-height: $dropdown-menu-max-height / 2; + max-height: calc(var(--ds-dropdown-menu-max-height) / 2); overflow-x: hidden; } .scrollable-dropdown-loading { - background-color: map-get($theme-colors, primary); + background-color: var(--bs-primary); color: white; - height: $spacer * 2 !important; - line-height: $spacer * 2; + height: calc(var(--bs-spacer) * 2) !important; + line-height: calc(var(--bs-spacer) * 2); position: sticky; bottom: 0; } diff --git a/src/app/submission/sections/container/section-container.component.scss b/src/app/submission/sections/container/section-container.component.scss index 0255b71dac..f3e0ab6cf4 100644 --- a/src/app/submission/sections/container/section-container.component.scss +++ b/src/app/submission/sections/container/section-container.component.scss @@ -1,18 +1,18 @@ :host ::ng-deep .card { - margin-bottom: $submission-sections-margin-bottom; + margin-bottom: var(--ds-submission-sections-margin-bottom); overflow: unset; } .section-focus { - border-radius: $border-radius; - box-shadow: $btn-focus-box-shadow; + border-radius: var(--bs-border-radius); + box-shadow: var(--bs-btn-focus-box-shadow); } // TODO to remove the following when upgrading @ng-bootstrap :host ::ng-deep .card:first-of-type { - border-bottom: $card-border-width solid $card-border-color !important; - border-bottom-left-radius: $card-border-radius !important; - border-bottom-right-radius: $card-border-radius !important; + border-bottom: var(--bs-card-border-width) solid var(--bs-card-border-color) !important; + border-bottom-left-radius: var(--bs-card-border-radius) !important; + border-bottom-right-radius: var(--bs-card-border-radius) !important; } :host ::ng-deep .card-header button { diff --git a/src/app/submission/sections/upload/file/section-upload-file.component.scss b/src/app/submission/sections/upload/file/section-upload-file.component.scss index 7596652dc2..256775eb66 100644 --- a/src/app/submission/sections/upload/file/section-upload-file.component.scss +++ b/src/app/submission/sections/upload/file/section-upload-file.component.scss @@ -1,6 +1,6 @@ .sticky-buttons { position: sticky; - top: $dropdown-item-padding-x * 3; - z-index: $submission-footer-z-index; - background-color: rgba($white, .97); + top: calc(var(--bs-dropdown-item-padding-x) * 3); + z-index: var(--ds-submission-footer-z-index); + background-color: rgba(255, 255, 255, .97); } diff --git a/src/config/global-config.interface.ts b/src/config/global-config.interface.ts index 5c6e56babb..c197a1407c 100644 --- a/src/config/global-config.interface.ts +++ b/src/config/global-config.interface.ts @@ -5,12 +5,12 @@ import { UniversalConfig } from './universal-config.interface'; import { INotificationBoardOptions } from './notifications-config.interfaces'; import { SubmissionConfig } from './submission-config.interface'; import { FormConfig } from './form-config.interfaces'; -import {LangConfig} from './lang-config.interface'; +import { LangConfig } from './lang-config.interface'; import { BrowseByConfig } from './browse-by-config.interface'; import { ItemPageConfig } from './item-page-config.interface'; import { CollectionPageConfig } from './collection-page-config.interface'; -import { Theme } from './theme.inferface'; -import {AuthConfig} from './auth-config.interfaces'; +import { ThemeConfig } from './theme.model'; +import { AuthConfig } from './auth-config.interfaces'; import { UIServerConfig } from './ui-server-config.interface'; export interface GlobalConfig extends Config { @@ -30,6 +30,6 @@ export interface GlobalConfig extends Config { browseBy: BrowseByConfig; item: ItemPageConfig; collection: CollectionPageConfig; - theme: Theme; + themes: ThemeConfig[]; rewriteDownloadUrls: boolean; } diff --git a/src/config/theme.inferface.ts b/src/config/theme.inferface.ts deleted file mode 100644 index d0cf1d77d8..0000000000 --- a/src/config/theme.inferface.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { Config } from './config.interface'; - -export interface Theme extends Config { - name: string; -} diff --git a/src/config/theme.model.spec.ts b/src/config/theme.model.spec.ts new file mode 100644 index 0000000000..fce61bd718 --- /dev/null +++ b/src/config/theme.model.spec.ts @@ -0,0 +1,122 @@ +import { HandleTheme, RegExTheme, Theme, UUIDTheme } from './theme.model'; +import { getCommunityModuleRoute } from '../app/+community-page/community-page-routing-paths'; +import { Community } from '../app/core/shared/community.model'; +import { COMMUNITY } from '../app/core/shared/community.resource-type'; +import { getCollectionModuleRoute } from '../app/+collection-page/collection-page-routing-paths'; +import { COLLECTION } from '../app/core/shared/collection.resource-type'; +import { Collection } from '../app/core/shared/collection.model'; +import { Item } from '../app/core/shared/item.model'; +import { ITEM } from '../app/core/shared/item.resource-type'; +import { getItemModuleRoute } from '../app/+item-page/item-page-routing-paths'; + +describe('Theme Models', () => { + let theme: Theme; + + describe('RegExTheme', () => { + it('should return true when the regex matches the community\'s DSO route', () => { + theme = new RegExTheme({ + name: 'community', + regex: getCommunityModuleRoute() + '/.*', + }); + const dso = Object.assign(new Community(), { + type: COMMUNITY.value, + uuid: 'community-uuid', + }); + expect(theme.matches('', dso)).toEqual(true); + }); + + it('should return true when the regex matches the collection\'s DSO route', () => { + theme = new RegExTheme({ + name: 'collection', + regex: getCollectionModuleRoute() + '/.*', + }); + const dso = Object.assign(new Collection(), { + type: COLLECTION.value, + uuid: 'collection-uuid', + }); + expect(theme.matches('', dso)).toEqual(true); + }); + + it('should return true when the regex matches the item\'s DSO route', () => { + theme = new RegExTheme({ + name: 'item', + regex: getItemModuleRoute() + '/.*', + }); + const dso = Object.assign(new Item(), { + type: ITEM.value, + uuid: 'item-uuid', + }); + expect(theme.matches('', dso)).toEqual(true); + }); + + it('should return true when the regex matches the url', () => { + theme = new RegExTheme({ + name: 'url', + regex: '.*partial.*', + }); + expect(theme.matches('theme/partial/url/match', null)).toEqual(true); + }); + + it('should return false when the regex matches neither the url, nor the DSO route', () => { + theme = new RegExTheme({ + name: 'no-match', + regex: '.*no/match.*', + }); + expect(theme.matches('theme/partial/url/match', null)).toEqual(false); + }); + }); + + describe('HandleTheme', () => { + it('should return true when the DSO\'s handle matches the theme\'s handle', () => { + theme = new HandleTheme({ + name: 'matching-handle', + handle: '1234/5678', + }); + const dso = Object.assign(new Item(), { + type: ITEM.value, + uuid: 'item-uuid', + handle: '1234/5678', + }); + expect(theme.matches('', dso)).toEqual(true); + }); + + it('should return false when the handles don\'t match', () => { + theme = new HandleTheme({ + name: 'no-matching-handle', + handle: '1234/5678', + }); + const dso = Object.assign(new Item(), { + type: ITEM.value, + uuid: 'item-uuid', + handle: '1234/6789', + }); + expect(theme.matches('', dso)).toEqual(false); + }); + }); + + describe('UUIDTheme', () => { + it('should return true when the DSO\'s UUID matches the theme\'s UUID', () => { + theme = new UUIDTheme({ + name: 'matching-uuid', + uuid: 'item-uuid', + }); + const dso = Object.assign(new Item(), { + type: ITEM.value, + uuid: 'item-uuid', + }); + expect(theme.matches('', dso)).toEqual(true); + }); + + it('should return true when the UUIDs don\'t match', () => { + theme = new UUIDTheme({ + name: 'matching-uuid', + uuid: 'item-uuid', + }); + const dso = Object.assign(new Collection(), { + type: COLLECTION.value, + uuid: 'collection-uuid', + }); + expect(theme.matches('', dso)).toEqual(false); + }); + }); +}); diff --git a/src/config/theme.model.ts b/src/config/theme.model.ts new file mode 100644 index 0000000000..908589c71c --- /dev/null +++ b/src/config/theme.model.ts @@ -0,0 +1,92 @@ +import { Config } from './config.interface'; +import { hasValue, hasNoValue, isNotEmpty } from '../app/shared/empty.util'; +import { DSpaceObject } from '../app/core/shared/dspace-object.model'; +import { getDSORoute } from '../app/app-routing-paths'; + +// tslint:disable:max-classes-per-file +export interface NamedThemeConfig extends Config { + name: string; +} + +export interface RegExThemeConfig extends NamedThemeConfig { + regex: string; +} + +export interface HandleThemeConfig extends NamedThemeConfig { + handle: string; +} + +export interface UUIDThemeConfig extends NamedThemeConfig { + uuid: string; +} + +export class Theme { + constructor(public config: NamedThemeConfig) { + } + + matches(url: string, dso: DSpaceObject): boolean { + return true; + } +} + +export class RegExTheme extends Theme { + regex: RegExp; + + constructor(public config: RegExThemeConfig) { + super(config); + this.regex = new RegExp(this.config.regex); + } + + matches(url: string, dso: DSpaceObject): boolean { + let match; + const route = getDSORoute(dso); + + if (isNotEmpty(route)) { + match = route.match(this.regex); + } + + if (hasNoValue(match)) { + match = url.match(this.regex); + } + + return hasValue(match); + } +} + +export class HandleTheme extends Theme { + constructor(public config: HandleThemeConfig) { + super(config); + } + + matches(url: string, dso: any): boolean { + return hasValue(dso) && hasValue(dso.handle) && dso.handle.includes(this.config.handle); + } +} + +export class UUIDTheme extends Theme { + constructor(public config: UUIDThemeConfig) { + super(config); + } + + matches(url: string, dso: DSpaceObject): boolean { + return hasValue(dso) && dso.uuid === this.config.uuid; + } +} + +export const themeFactory = (config: ThemeConfig): Theme => { + if (hasValue((config as RegExThemeConfig).regex)) { + return new RegExTheme(config as RegExThemeConfig); + } else if (hasValue((config as HandleThemeConfig).handle)) { + return new HandleTheme(config as HandleThemeConfig); + } else if (hasValue((config as UUIDThemeConfig).uuid)) { + return new UUIDTheme(config as UUIDThemeConfig); + } else { + return new Theme(config as NamedThemeConfig); + } +}; + +export type ThemeConfig + = NamedThemeConfig + | RegExThemeConfig + | HandleThemeConfig + | UUIDThemeConfig; diff --git a/src/environments/environment.common.ts b/src/environments/environment.common.ts index 4a87be38d3..36d1a06c43 100644 --- a/src/environments/environment.common.ts +++ b/src/environments/environment.common.ts @@ -2,6 +2,7 @@ import { GlobalConfig } from '../config/global-config.interface'; import { NotificationAnimationsType } from '../app/shared/notifications/models/notification-animations-type'; import { BrowseByType } from '../app/+browse-by/+browse-by-switcher/browse-by-decorator'; import { RestRequestMethod } from '../app/core/data/rest-request-method'; +import { BASE_THEME_NAME } from '../app/shared/theme-support/theme.constants'; export const environment: GlobalConfig = { production: true, @@ -222,9 +223,40 @@ export const environment: GlobalConfig = { undoTimeout: 10000 // 10 seconds } }, - theme: { - name: 'default', - }, + themes: [ + // Add additional themes here. In the case where multiple themes match a route, the first one + // in this list will get priority. It is advisable to always have a theme that matches + // every route as the last one + + // { + // // A theme with a handle property will match the community, collection or item with the given + // // handle, and all collections and/or items within it + // name: 'custom', + // handle: '10673/1233' + // }, + // { + // // A theme with a regex property will match the route using a regular expression. If it + // // matches the route for a community or collection it will also apply to all collections + // // and/or items within it + // name: 'custom', + // regex: 'collections\/e8043bc2.*' + // }, + // { + // // A theme with a uuid property will match the community, collection or item with the given + // // ID, and all collections and/or items within it + // name: 'custom', + // uuid: '0958c910-2037-42a9-81c7-dca80e3892b4' + // }, + // { + // // A theme with only a name will match every route + // name: 'custom' + // }, + + { + // This theme will use the default bootstrap styling for DSpace components + name: BASE_THEME_NAME + }, + ], // Whether the UI should rewrite file download URLs to match its domain. Only necessary to enable when running UI and REST API on separate domains rewriteDownloadUrls: false, }; diff --git a/src/environments/mock-environment.ts b/src/environments/mock-environment.ts index ef3eb86cc2..116834df4e 100644 --- a/src/environments/mock-environment.ts +++ b/src/environments/mock-environment.ts @@ -192,7 +192,36 @@ export const environment: Partial = { undoTimeout: 10000 // 10 seconds } }, - theme: { - name: 'default', - }, + themes: [ + { + // name: 'default', + name: 'full-item-page-theme', + regex: 'items/aa6c6c83-3a83-4953-95d1-2bc2e67854d2/full' + }, + { + // name: 'default', + name: 'error-theme', + regex: 'collections/aaaa.*' + }, + { + // name: 'default', + name: 'Item (handle)', + handle: '10673/1233' // Item inside publications community + }, + { + // name: 'mantis', + name: 'blue', + regex: 'collections\/e8043bc2.*' // Publications/Thesis collections + }, + { + // name: 'mantis', + name: 'Publications community (uuid)', + uuid: '0958c910-2037-42a9-81c7-dca80e3892b4' // Publications community + }, + { + // name: 'default', + name: 'base', + // name: 'blue', + }, + ], }; diff --git a/src/index.html b/src/index.html index 491a2d319c..072938b5ef 100644 --- a/src/index.html +++ b/src/index.html @@ -7,6 +7,7 @@ DSpace + diff --git a/src/modules/app/browser-app.module.ts b/src/modules/app/browser-app.module.ts index e0bd7b5ca1..165b372986 100644 --- a/src/modules/app/browser-app.module.ts +++ b/src/modules/app/browser-app.module.ts @@ -2,7 +2,6 @@ import { HttpClient, HttpClientModule } from '@angular/common/http'; import { NgModule } from '@angular/core'; import { BrowserModule, makeStateKey, TransferState } from '@angular/platform-browser'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; -import { NoPreloading, RouterModule } from '@angular/router'; import { REQUEST } from '@nguniversal/express-engine/tokens'; import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; @@ -30,7 +29,7 @@ import { LocationToken } from '../../app/core/services/browser-hard-redirect.service'; import { LocaleService } from '../../app/core/locale/locale.service'; -import {GoogleAnalyticsService} from '../../app/statistics/google-analytics.service'; +import { GoogleAnalyticsService } from '../../app/statistics/google-analytics.service'; export const REQ_KEY = makeStateKey('req'); @@ -51,12 +50,12 @@ export function getRequest(transferState: TransferState): any { HttpClientModule, // forRoot ensures the providers are only created once IdlePreloadModule.forRoot(), - RouterModule.forRoot([], { - // enableTracing: true, - useHash: false, - scrollPositionRestoration: 'enabled', - preloadingStrategy: NoPreloading - }), + // RouterModule.forRoot([], { + // // enableTracing: true, + // useHash: false, + // scrollPositionRestoration: 'enabled', + // preloadingStrategy: NoPreloading + // }), StatisticsModule.forRoot(), Angulartics2RouterlessModule.forRoot(), BrowserAnimationsModule, diff --git a/src/modules/app/server-app.module.ts b/src/modules/app/server-app.module.ts index fbe7333a90..5539bab23f 100644 --- a/src/modules/app/server-app.module.ts +++ b/src/modules/app/server-app.module.ts @@ -2,7 +2,6 @@ import { NgModule } from '@angular/core'; import { BrowserModule } from '@angular/platform-browser'; import { NoopAnimationsModule } from '@angular/platform-browser/animations'; import { ServerModule } from '@angular/platform-server'; -import { RouterModule } from '@angular/router'; import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; @@ -42,9 +41,9 @@ export function createTranslateLoader() { BrowserModule.withServerTransition({ appId: 'dspace-angular' }), - RouterModule.forRoot([], { - useHash: false - }), + // RouterModule.forRoot([], { + // useHash: false + // }), NoopAnimationsModule, DSpaceServerTransferStateModule, TranslateModule.forRoot({ diff --git a/src/styles.scss b/src/styles.scss deleted file mode 100644 index 90d4ee0072..0000000000 --- a/src/styles.scss +++ /dev/null @@ -1 +0,0 @@ -/* You can add global styles to this file, and also import other style files */ diff --git a/src/styles/_bootstrap_variables_mapping.scss b/src/styles/_bootstrap_variables_mapping.scss new file mode 100644 index 0000000000..5a64be7e2a --- /dev/null +++ b/src/styles/_bootstrap_variables_mapping.scss @@ -0,0 +1,826 @@ +// this file maps all bootstrap variables to css variables. + +:root { + // Variables + // + // Variables should follow the `$component-state-property-size` formula for + // consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs. + + // Color system + --bs-white: #{$white}; + --bs-gray-100: #{$gray-100}; + --bs-gray-200: #{$gray-200}; + --bs-gray-300: #{$gray-300}; + --bs-gray-400: #{$gray-400}; + --bs-gray-500: #{$gray-500}; + --bs-gray-600: #{$gray-600}; + --bs-gray-700: #{$gray-700}; + --bs-gray-800: #{$gray-800}; + --bs-gray-900: #{$gray-900}; + --bs-black: #{$black}; + --bs-blue: #{$blue}; + --bs-indigo: #{$indigo}; + --bs-purple: #{$purple}; + --bs-pink: #{$pink}; + --bs-red: #{$red}; + --bs-orange: #{$orange}; + --bs-yellow: #{$yellow}; + --bs-green: #{$green}; + --bs-teal: #{$teal}; + --bs-cyan: #{$cyan}; + --bs-primary: #{$primary}; + --bs-secondary: #{$secondary}; + --bs-success: #{$success}; + --bs-info: #{$info}; + --bs-warning: #{$warning}; + --bs-danger: #{$danger}; + --bs-light: #{$light}; + --bs-dark: #{$dark}; + + + // Set a specific jump point for requesting color jumps + --bs-theme-color-interval: #{$theme-color-interval}; + + // The yiq lightness value that determines when the lightness of color changes from "dark" to "light". Acceptable values are between 0 and 255. + --bs-yiq-contrasted-threshold: #{$yiq-contrasted-threshold}; + + // Customize the light and dark text colors for use in our YIQ color contrast function. + --bs-yiq-text-dark: #{$yiq-text-dark}; + --bs-yiq-text-light: #{$yiq-text-light}; + + + // Options + // + // Quickly modify global styling by enabling or disabling optional features. + --bs-enable-caret: #{$enable-caret}; + --bs-enable-rounded: #{$enable-rounded}; + --bs-enable-shadows: #{$enable-shadows}; + --bs-enable-gradients: #{$enable-gradients}; + --bs-enable-transitions: #{$enable-transitions}; + --bs-enable-prefers-reduced-motion-media-query: #{$enable-prefers-reduced-motion-media-query}; + --bs-enable-grid-classes: #{$enable-grid-classes}; + --bs-enable-pointer-cursor-for-buttons: #{$enable-pointer-cursor-for-buttons}; + --bs-enable-print-styles: #{$enable-print-styles}; + --bs-enable-responsive-font-sizes: #{$enable-responsive-font-sizes}; + --bs-enable-validation-icons: #{$enable-validation-icons}; + --bs-enable-deprecation-messages: #{$enable-deprecation-messages}; + --bs-spacer: #{$spacer}; + --bs-spacer-0: #{map-get($spacers, 0)}; + --bs-spacer-1: #{map-get($spacers, 1)}; + --bs-spacer-2: #{map-get($spacers, 2)}; + --bs-spacer-3: #{map-get($spacers, 3)}; + --bs-spacer-4: #{map-get($spacers, 4)}; + --bs-spacer-5: #{map-get($spacers, 5)}; + --bs-sizes-25: #{map-get($sizes, 25)}; + --bs-sizes-50: #{map-get($sizes, 50)}; + --bs-sizes-75: #{map-get($sizes, 75)}; + --bs-sizes-100: #{map-get($sizes, 100)}; + --bs-sizes-auto: #{map-get($sizes, auto)}; + + // Body + // + // Settings for the `` element. + --bsbody-bg: #{$body-bg}; + --bs-body-color: #{$body-color}; + + + // Links + // + // Style anchor elements. + --bs-link-color: #{$link-color}; + --bs-link-decoration: #{$link-decoration}; + --bs-link-hover-color: #{$link-hover-color}; + --bs-link-hover-decoration: #{$link-hover-decoration}; + // Darken percentage for links with `.text-*` class (e.g. `.text-success`) + --bs-emphasized-link-hover-darken-percentage: #{$emphasized-link-hover-darken-percentage}; + + // Paragraphs + // + // Style p element. + --bs-paragraph-margin-bottom: #{$paragraph-margin-bottom}; + + + // Grid breakpoints + // + // Define the minimum dimensions at which your layout will change, + // adapting to different screen sizes, for use in media queries. + + --bs-xs-min: #{map-get($grid-breakpoints, xs)}; + --bs-sm-min: #{map-get($grid-breakpoints, sm)}; + --bs-md-min: #{map-get($grid-breakpoints, md)}; + --bs-lg-min: #{map-get($grid-breakpoints, lg)}; + --bs-xl-min: #{map-get($grid-breakpoints, xl)}; + + --bs-xs-max: #{map-get($container-max-widths, xs)}; + --bs-sm-max: #{map-get($container-max-widths, sm)}; + --bs-md-max: #{map-get($container-max-widths, md)}; + --bs-lg-max: #{map-get($container-max-widths, lg)}; + --bs-xl-max: #{map-get($container-max-widths, xl)}; + + // Grid columns + // + // Set the number of columns and specify the width of the gutters. + --bs-grid-columns: #{$grid-columns}; + --bs-grid-gutter-width: #{$grid-gutter-width}; + + + // Components + // + // Define common padding and border radius sizes and more. + --bs-line-height-lg: #{$line-height-lg}; + --bs-line-height-sm: #{$line-height-sm}; + --bs-border-width: #{$border-width}; + --bs-border-color: #{$border-color}; + --bs-border-radius: #{$border-radius}; + --bs-border-radius-lg: #{$border-radius-lg}; + --bs-border-radius-sm: #{$border-radius-sm}; + --bs-rounded-pill: #{$rounded-pill}; + --bs-box-shadow-sm: #{$box-shadow-sm}; + --bs-box-shadow: #{$box-shadow}; + --bs-box-shadow-lg: #{$box-shadow-lg}; + --bs-component-active-color: #{$component-active-color}; + --bs-component-active-bg: #{$component-active-bg}; + --bs-caret-width: #{$caret-width}; + --bs-caret-vertical-align: #{$caret-vertical-align}; + --bs-caret-spacing: #{$caret-spacing}; + --bs-transition-base: #{$transition-base}; + --bs-transition-fade: #{$transition-fade}; + --bs-transition-collapse: #{$transition-collapse}; + + --bs-font-family-sans-serif: #{$font-family-sans-serif}; + --bs-font-family-monospace: #{$font-family-monospace}; + --bs-font-family-base: #{$font-family-base}; + // stylelint-enable value-keyword-case + --bs-font-size-base: #{$font-size-base}; + --bs-font-size-lg: #{$font-size-lg}; + --bs-font-size-sm: #{$font-size-sm}; + --bs-font-weight-lighter: #{$font-weight-lighter}; + --bs-font-weight-light: #{$font-weight-light}; + --bs-font-weight-normal: #{$font-weight-normal}; + --bs-font-weight-bold: #{$font-weight-bold}; + --bs-font-weight-bolder: #{$font-weight-bolder}; + --bs-font-weight-base: #{$font-weight-base}; + --bs-line-height-base: #{$line-height-base}; + --bs-h1-font-size: #{$h1-font-size}; + --bs-h2-font-size: #{$h2-font-size}; + --bs-h3-font-size: #{$h3-font-size}; + --bs-h4-font-size: #{$h4-font-size}; + --bs-h5-font-size: #{$h5-font-size}; + --bs-h6-font-size: #{$h6-font-size}; + --bs-headings-margin-bottom: #{$headings-margin-bottom}; + --bs-headings-font-family: #{$headings-font-family}; + --bs-headings-font-weight: #{$headings-font-weight}; + --bs-headings-line-height: #{$headings-line-height}; + --bs-headings-color: #{$headings-color}; + --bs-display1-size: #{$display1-size}; + --bs-display2-size: #{$display2-size}; + --bs-display3-size: #{$display3-size}; + --bs-display4-size: #{$display4-size}; + --bs-display1-weight: #{$display1-weight}; + --bs-display2-weight: #{$display2-weight}; + --bs-display3-weight: #{$display3-weight}; + --bs-display4-weight: #{$display4-weight}; + --bs-display-line-height: #{$display-line-height}; + --bs-lead-font-size: #{$lead-font-size}; + --bs-lead-font-weight: #{$lead-font-weight}; + --bs-small-font-size: #{$small-font-size}; + --bs-text-muted: #{$text-muted}; + --bs-blockquote-small-color: #{$blockquote-small-color}; + --bs-blockquote-small-font-size: #{$blockquote-small-font-size}; + --bs-blockquote-font-size: #{$blockquote-font-size}; + --bs-hr-border-color: #{$hr-border-color}; + --bs-hr-border-width: #{$hr-border-width}; + --bs-mark-padding: #{$mark-padding}; + --bs-dt-font-weight: #{$dt-font-weight}; + --bs-kbd-box-shadow: #{$kbd-box-shadow}; + --bs-nested-kbd-font-weight: #{$nested-kbd-font-weight}; + --bs-list-inline-padding: #{$list-inline-padding}; + --bs-mark-bg: #{$mark-bg}; + --bs-hr-margin-y: #{$hr-margin-y}; + + + // Tables + // + // Customizes the `.table` component with basic values, each used across all table variations. + --bs-table-cell-padding: #{$table-cell-padding}; + --bs-table-cell-padding-sm: #{$table-cell-padding-sm}; + --bs-table-color: #{$table-color}; + --bs-table-bg: #{$table-bg}; + --bs-table-accent-bg: #{$table-accent-bg}; + --bs-table-hover-color: #{$table-hover-color}; + --bs-table-hover-bg: #{$table-hover-bg}; + --bs-table-active-bg: #{$table-active-bg}; + --bs-table-border-width: #{$table-border-width}; + --bs-table-border-color: #{$table-border-color}; + --bs-table-head-bg: #{$table-head-bg}; + --bs-table-head-color: #{$table-head-color}; + --bs-table-dark-color: #{$table-dark-color}; + --bs-table-dark-bg: #{$table-dark-bg}; + --bs-table-dark-accent-bg: #{$table-dark-accent-bg}; + --bs-table-dark-hover-color: #{$table-dark-hover-color}; + --bs-table-dark-hover-bg: #{$table-dark-hover-bg}; + --bs-table-dark-border-color: #{$table-dark-border-color}; + --bs-table-dark-color: #{$table-dark-color}; + --bs-table-striped-order: #{$table-striped-order}; + --bs-table-caption-color: #{$table-caption-color}; + --bs-table-bg-level: #{$table-bg-level}; + --bs-table-border-level: #{$table-border-level}; + + + // Buttons + Forms + // + // Shared variables that are reassigned to `$input-` and `$btn-` specific variables. + --bs-input-btn-padding-y: #{$input-btn-padding-y}; + --bs-input-btn-padding-x: #{$input-btn-padding-x}; + --bs-input-btn-font-family: #{$input-btn-font-family}; + --bs-input-btn-font-size: #{$input-btn-font-size}; + --bs-input-btn-line-height: #{$input-btn-line-height}; + --bs-input-btn-focus-width: #{$input-btn-focus-width}; + --bs-input-btn-focus-color: #{$input-btn-focus-color}; + --bs-input-btn-focus-box-shadow: #{$input-btn-focus-box-shadow}; + --bs-input-btn-padding-y-sm: #{$input-btn-padding-y-sm}; + --bs-input-btn-padding-x-sm: #{$input-btn-padding-x-sm}; + --bs-input-btn-font-size-sm: #{$input-btn-font-size-sm}; + --bs-input-btn-line-height-sm: #{$input-btn-line-height-sm}; + --bs-input-btn-padding-y-lg: #{$input-btn-padding-y-lg}; + --bs-input-btn-padding-x-lg: #{$input-btn-padding-x-lg}; + --bs-input-btn-font-size-lg: #{$input-btn-font-size-lg}; + --bs-input-btn-line-height-lg: #{$input-btn-line-height-lg}; + --bs-input-btn-border-width: #{$input-btn-border-width}; + + + // Buttons + // + // For each of Bootstrap's buttons, define text, background, and border color. + --bs-btn-padding-y: #{$btn-padding-y}; + --bs-btn-padding-x: #{$btn-padding-x}; + --bs-btn-font-family: #{$btn-font-family}; + --bs-btn-font-size: #{$btn-font-size}; + --bs-btn-line-height: #{$btn-line-height}; + --bs-btn-padding-y-sm: #{$btn-padding-y-sm}; + --bs-btn-padding-x-sm: #{$btn-padding-x-sm}; + --bs-btn-font-size-sm: #{$btn-font-size-sm}; + --bs-btn-line-height-sm: #{$btn-line-height-sm}; + --bs-btn-padding-y-lg: #{$btn-padding-y-lg}; + --bs-btn-padding-x-lg: #{$btn-padding-x-lg}; + --bs-btn-font-size-lg: #{$btn-font-size-lg}; + --bs-btn-line-height-lg: #{$btn-line-height-lg}; + --bs-btn-border-width: #{$btn-border-width}; + --bs-btn-font-weight: #{$btn-font-weight}; + --bs-btn-box-shadow: #{$btn-box-shadow}; + --bs-btn-focus-width: #{$btn-focus-width}; + --bs-btn-focus-box-shadow: #{$btn-focus-box-shadow}; + --bs-btn-disabled-opacity: #{$btn-disabled-opacity}; + --bs-btn-active-box-shadow: #{$btn-active-box-shadow}; + --bs-btn-link-disabled-color: #{$btn-link-disabled-color}; + --bs-btn-block-spacing-y: #{$btn-block-spacing-y}; + + // Allows for customizing button radius independently from global border radius + --bs-btn-border-radius: #{$btn-border-radius}; + --bs-btn-border-radius-lg: #{$btn-border-radius-lg}; + --bs-btn-border-radius-sm: #{$btn-border-radius-sm}; + --bs-btn-transition: #{$btn-transition}; + + + // Forms + --bs-label-margin-bottom: #{$label-margin-bottom}; + --bs-input-padding-y: #{$input-padding-y}; + --bs-input-padding-x: #{$input-padding-x}; + --bs-input-font-family: #{$input-font-family}; + --bs-input-font-size: #{$input-font-size}; + --bs-input-font-weight: #{$input-font-weight}; + --bs-input-line-height: #{$input-line-height}; + --bs-input-padding-y-sm: #{$input-padding-y-sm}; + --bs-input-padding-x-sm: #{$input-padding-x-sm}; + --bs-input-font-size-sm: #{$input-font-size-sm}; + --bs-input-line-height-sm: #{$input-line-height-sm}; + --bs-input-padding-y-lg: #{$input-padding-y-lg}; + --bs-input-padding-x-lg: #{$input-padding-x-lg}; + --bs-input-font-size-lg: #{$input-font-size-lg}; + --bs-input-line-height-lg: #{$input-line-height-lg}; + --bs-input-bg: #{$input-bg}; + --bs-input-disabled-bg: #{$input-disabled-bg}; + --bs-input-color: #{$input-color}; + --bs-input-border-color: #{$input-border-color}; + --bs-input-border-width: #{$input-border-width}; + --bs-input-box-shadow: #{$input-box-shadow}; + --bs-input-border-radius: #{$input-border-radius}; + --bs-input-border-radius-lg: #{$input-border-radius-lg}; + --bs-input-border-radius-sm: #{$input-border-radius-sm}; + --bs-input-focus-bg: #{$input-focus-bg}; + --bs-input-focus-border-color: #{$input-focus-border-color}; + --bs-input-focus-color: #{$input-focus-color}; + --bs-input-focus-width: #{$input-focus-width}; + --bs-input-focus-box-shadow: #{$input-focus-box-shadow}; + --bs-input-placeholder-color: #{$input-placeholder-color}; + --bs-input-plaintext-color: #{$input-plaintext-color}; + --bs-input-height-border: #{$input-height-border}; + --bs-input-height-inner: #{$input-height-inner}; + --bs-input-height-inner-half: #{$input-height-inner-half}; + --bs-input-height-inner-quarter: #{$input-height-inner-quarter}; + --bs-input-height: #{$input-height}; + --bs-input-height-sm: #{$input-height-sm}; + --bs-input-height-lg: #{$input-height-lg}; + --bs-input-transition: #{$input-transition}; + --bs-form-text-margin-top: #{$form-text-margin-top}; + --bs-form-check-input-gutter: #{$form-check-input-gutter}; + --bs-form-check-input-margin-y: #{$form-check-input-margin-y}; + --bs-form-check-input-margin-x: #{$form-check-input-margin-x}; + --bs-form-check-inline-margin-x: #{$form-check-inline-margin-x}; + --bs-form-check-inline-input-margin-x: #{$form-check-inline-input-margin-x}; + --bs-form-grid-gutter-width: #{$form-grid-gutter-width}; + --bs-form-group-margin-bottom: #{$form-group-margin-bottom}; + --bs-input-group-addon-color: #{$input-group-addon-color}; + --bs-input-group-addon-bg: #{$input-group-addon-bg}; + --bs-input-group-addon-border-color: #{$input-group-addon-border-color}; + --bs-custom-forms-transition: #{$custom-forms-transition}; + --bs-custom-control-gutter: #{$custom-control-gutter}; + --bs-custom-control-spacer-x: #{$custom-control-spacer-x}; + --bs-custom-control-indicator-size: #{$custom-control-indicator-size}; + --bs-custom-control-indicator-bg: #{$custom-control-indicator-bg}; + --bs-custom-control-indicator-bg-size: #{$custom-control-indicator-bg-size}; + --bs-custom-control-indicator-box-shadow: #{$custom-control-indicator-box-shadow}; + --bs-custom-control-indicator-border-color: #{$custom-control-indicator-border-color}; + --bs-custom-control-indicator-border-width: #{$custom-control-indicator-border-width}; + --bs-custom-control-indicator-disabled-bg: #{$custom-control-indicator-disabled-bg}; + --bs-custom-control-label-disabled-color: #{$custom-control-label-disabled-color}; + --bs-custom-control-indicator-checked-color: #{$custom-control-indicator-checked-color}; + --bs-custom-control-indicator-checked-bg: #{$custom-control-indicator-checked-bg}; + --bs-custom-control-indicator-checked-disabled-bg: #{$custom-control-indicator-checked-disabled-bg}; + --bs-custom-control-indicator-checked-box-shadow: #{$custom-control-indicator-checked-box-shadow}; + --bs-custom-control-indicator-checked-border-color: #{$custom-control-indicator-checked-border-color}; + --bs-custom-control-indicator-focus-box-shadow: #{$custom-control-indicator-focus-box-shadow}; + --bs-custom-control-indicator-focus-border-color: #{$custom-control-indicator-focus-border-color}; + --bs-custom-control-indicator-active-color: #{$custom-control-indicator-active-color}; + --bs-custom-control-indicator-active-bg: #{$custom-control-indicator-active-bg}; + --bs-custom-control-indicator-active-box-shadow: #{$custom-control-indicator-active-box-shadow}; + --bs-custom-control-indicator-active-border-color: #{$custom-control-indicator-active-border-color}; + --bs-custom-checkbox-indicator-border-radius: #{$custom-checkbox-indicator-border-radius}; + --bs-custom-checkbox-indicator-icon-checked: #{$custom-checkbox-indicator-icon-checked}; + --bs-custom-checkbox-indicator-indeterminate-bg: #{$custom-checkbox-indicator-indeterminate-bg}; + --bs-custom-checkbox-indicator-indeterminate-color: #{$custom-checkbox-indicator-indeterminate-color}; + --bs-custom-checkbox-indicator-icon-indeterminate: #{$custom-checkbox-indicator-icon-indeterminate}; + --bs-custom-checkbox-indicator-indeterminate-box-shadow: #{$custom-checkbox-indicator-indeterminate-box-shadow}; + --bs-custom-checkbox-indicator-indeterminate-border-color: #{$custom-checkbox-indicator-indeterminate-border-color}; + --bs-custom-radio-indicator-border-radius: #{$custom-radio-indicator-border-radius}; + --bs-custom-radio-indicator-icon-checked: #{$custom-radio-indicator-icon-checked}; + --bs-custom-switch-width: #{$custom-switch-width}; + --bs-custom-switch-indicator-border-radius: #{$custom-switch-indicator-border-radius}; + --bs-custom-switch-indicator-size: #{$custom-switch-indicator-size}; + --bs-custom-select-padding-y: #{$custom-select-padding-y}; + --bs-custom-select-padding-x: #{$custom-select-padding-x}; + --bs-custom-select-font-family: #{$custom-select-font-family}; + --bs-custom-select-font-size: #{$custom-select-font-size}; + --bs-custom-select-height: #{$custom-select-height}; + --bs-custom-select-indicator-padding: #{$custom-select-indicator-padding}; + --bs-custom-select-font-weight: #{$custom-select-font-weight}; + --bs-custom-select-line-height: #{$custom-select-line-height}; + --bs-custom-select-color: #{$custom-select-color}; + --bs-custom-select-disabled-color: #{$custom-select-disabled-color}; + --bs-custom-select-bg: #{$custom-select-bg}; + --bs-custom-select-disabled-bg: #{$custom-select-disabled-bg}; + --bs-custom-select-bg-size: #{$custom-select-bg-size}; + --bs-custom-select-indicator-color: #{$custom-select-indicator-color}; + --bs-custom-select-indicator: #{$custom-select-indicator}; + --bs-custom-select-background: #{$custom-select-background}; + --bs-custom-select-feedback-icon-padding-right: #{$custom-select-feedback-icon-padding-right}; + --bs-custom-select-feedback-icon-position: #{$custom-select-feedback-icon-position}; + --bs-custom-select-feedback-icon-size: #{$custom-select-feedback-icon-size}; + --bs-custom-select-border-width: #{$custom-select-border-width}; + --bs-custom-select-border-color: #{$custom-select-border-color}; + --bs-custom-select-border-radius: #{$custom-select-border-radius}; + --bs-custom-select-box-shadow: #{$custom-select-box-shadow}; + --bs-custom-select-focus-border-color: #{$custom-select-focus-border-color}; + --bs-custom-select-focus-width: #{$custom-select-focus-width}; + --bs-custom-select-focus-box-shadow: #{$custom-select-focus-box-shadow}; + --bs-custom-select-padding-y-sm: #{$custom-select-padding-y-sm}; + --bs-custom-select-padding-x-sm: #{$custom-select-padding-x-sm}; + --bs-custom-select-font-size-sm: #{$custom-select-font-size-sm}; + --bs-custom-select-height-sm: #{$custom-select-height-sm}; + --bs-custom-select-padding-y-lg: #{$custom-select-padding-y-lg}; + --bs-custom-select-padding-x-lg: #{$custom-select-padding-x-lg}; + --bs-custom-select-font-size-lg: #{$custom-select-font-size-lg}; + --bs-custom-select-height-lg: #{$custom-select-height-lg}; + --bs-custom-range-track-width: #{$custom-range-track-width}; + --bs-custom-range-track-height: #{$custom-range-track-height}; + --bs-custom-range-track-cursor: #{$custom-range-track-cursor}; + --bs-custom-range-track-bg: #{$custom-range-track-bg}; + --bs-custom-range-track-border-radius: #{$custom-range-track-border-radius}; + --bs-custom-range-track-box-shadow: #{$custom-range-track-box-shadow}; + --bs-custom-range-thumb-width: #{$custom-range-thumb-width}; + --bs-custom-range-thumb-height: #{$custom-range-thumb-height}; + --bs-custom-range-thumb-bg: #{$custom-range-thumb-bg}; + --bs-custom-range-thumb-border: #{$custom-range-thumb-border}; + --bs-custom-range-thumb-border-radius: #{$custom-range-thumb-border-radius}; + --bs-custom-range-thumb-box-shadow: #{$custom-range-thumb-box-shadow}; + --bs-custom-range-thumb-focus-box-shadow: #{$custom-range-thumb-focus-box-shadow}; + --bs-custom-range-thumb-focus-box-shadow-width: #{$custom-range-thumb-focus-box-shadow-width}; + --bs-custom-range-thumb-active-bg: #{$custom-range-thumb-active-bg}; + --bs-custom-range-thumb-disabled-bg: #{$custom-range-thumb-disabled-bg}; + --bs-custom-file-height: #{$custom-file-height}; + --bs-custom-file-height-inner: #{$custom-file-height-inner}; + --bs-custom-file-focus-border-color: #{$custom-file-focus-border-color}; + --bs-custom-file-focus-box-shadow: #{$custom-file-focus-box-shadow}; + --bs-custom-file-disabled-bg: #{$custom-file-disabled-bg}; + --bs-custom-file-padding-y: #{$custom-file-padding-y}; + --bs-custom-file-padding-x: #{$custom-file-padding-x}; + --bs-custom-file-line-height: #{$custom-file-line-height}; + --bs-custom-file-font-family: #{$custom-file-font-family}; + --bs-custom-file-font-weight: #{$custom-file-font-weight}; + --bs-custom-file-color: #{$custom-file-color}; + --bs-custom-file-bg: #{$custom-file-bg}; + --bs-custom-file-border-width: #{$custom-file-border-width}; + --bs-custom-file-border-color: #{$custom-file-border-color}; + --bs-custom-file-border-radius: #{$custom-file-border-radius}; + --bs-custom-file-box-shadow: #{$custom-file-box-shadow}; + --bs-custom-file-button-color: #{$custom-file-button-color}; + --bs-custom-file-button-bg: #{$custom-file-button-bg}; + //--bs-custom-file-text: #{$custom-file-text}; //mapping doesn't work + + + // Form validation + --bs-form-feedback-margin-top: #{$form-feedback-margin-top}; + --bs-form-feedback-font-size: #{$form-feedback-font-size}; + --bs-form-feedback-valid-color: #{$form-feedback-valid-color}; + --bs-form-feedback-invalid-color: #{$form-feedback-invalid-color}; + --bs-form-feedback-icon-valid-color: #{$form-feedback-icon-valid-color}; + --bs-form-feedback-icon-valid: #{$form-feedback-icon-valid}; + --bs-form-feedback-icon-invalid-color: #{$form-feedback-icon-invalid-color}; + --bs-form-feedback-icon-invalid: #{$form-feedback-icon-invalid}; + // Z-index master list + // + // Warning: Avoid customizing these values. They're used for a bird's eye view + // of components dependent on the z-axis and are designed to all work together. + --bs-zindex-dropdown: #{$zindex-dropdown}; + --bs-zindex-sticky: #{$zindex-sticky}; + --bs-zindex-fixed: #{$zindex-fixed}; + --bs-zindex-modal-backdrop: #{$zindex-modal-backdrop}; + --bs-zindex-modal: #{$zindex-modal}; + --bs-zindex-popover: #{$zindex-popover}; + --bs-zindex-tooltip: #{$zindex-tooltip}; + + + // Navs + --bs-nav-link-padding-y: #{$nav-link-padding-y}; + --bs-nav-link-padding-x: #{$nav-link-padding-x}; + --bs-nav-link-disabled-color: #{$nav-link-disabled-color}; + --bs-nav-tabs-border-color: #{$nav-tabs-border-color}; + --bs-nav-tabs-border-width: #{$nav-tabs-border-width}; + --bs-nav-tabs-border-radius: #{$nav-tabs-border-radius}; + --bs-nav-tabs-link-hover-border-color: #{$nav-tabs-link-hover-border-color}; + --bs-nav-tabs-link-active-color: #{$nav-tabs-link-active-color}; + --bs-nav-tabs-link-active-bg: #{$nav-tabs-link-active-bg}; + --bs-nav-tabs-link-active-border-color: #{$nav-tabs-link-active-border-color}; + --bs-nav-pills-border-radius: #{$nav-pills-border-radius}; + --bs-nav-pills-link-active-color: #{$nav-pills-link-active-color}; + --bs-nav-pills-link-active-bg: #{$nav-pills-link-active-bg}; + --bs-nav-divider-color: #{$nav-divider-color}; + --bs-nav-divider-margin-y: #{$nav-divider-margin-y}; + + + // Navbar + --bs-navbar-padding-y: #{$navbar-padding-y}; + --bs-navbar-padding-x: #{$navbar-padding-x}; + --bs-navbar-nav-link-padding-x: #{$navbar-nav-link-padding-x}; + --bs-navbar-brand-font-size: #{$navbar-brand-font-size}; + // Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link + --bs-nav-link-height: #{$nav-link-height}; + --bs-navbar-brand-height: #{$navbar-brand-height}; + --bs-navbar-brand-padding-y: #{$navbar-brand-padding-y}; + --bs-navbar-toggler-padding-y: #{$navbar-toggler-padding-y}; + --bs-navbar-toggler-padding-x: #{$navbar-toggler-padding-x}; + --bs-navbar-toggler-font-size: #{$navbar-toggler-font-size}; + --bs-navbar-toggler-border-radius: #{$navbar-toggler-border-radius}; + --bs-navbar-dark-color: #{$navbar-dark-color}; + --bs-navbar-dark-hover-color: #{$navbar-dark-hover-color}; + --bs-navbar-dark-active-color: #{$navbar-dark-active-color}; + --bs-navbar-dark-disabled-color: #{$navbar-dark-disabled-color}; + --bs-navbar-dark-toggler-icon-bg: #{$navbar-dark-toggler-icon-bg}; + --bs-navbar-dark-toggler-border-color: #{$navbar-dark-toggler-border-color}; + --bs-navbar-light-color: #{$navbar-light-color}; + --bs-navbar-light-hover-color: #{$navbar-light-hover-color}; + --bs-navbar-light-active-color: #{$navbar-light-active-color}; + --bs-navbar-light-disabled-color: #{$navbar-light-disabled-color}; + --bs-navbar-light-toggler-icon-bg: #{$navbar-light-toggler-icon-bg}; + --bs-navbar-light-toggler-border-color: #{$navbar-light-toggler-border-color}; + --bs-navbar-light-brand-color: #{$navbar-light-brand-color}; + --bs-navbar-light-brand-hover-color: #{$navbar-light-brand-hover-color}; + --bs-navbar-dark-brand-color: #{$navbar-dark-brand-color}; + --bs-navbar-dark-brand-hover-color: #{$navbar-dark-brand-hover-color}; + + + // Dropdowns + // + // Dropdown menu container and contents. + --bs-dropdown-min-width: #{$dropdown-min-width}; + --bs-dropdown-padding-y: #{$dropdown-padding-y}; + --bs-dropdown-spacer: #{$dropdown-spacer}; + --bs-dropdown-font-size: #{$dropdown-font-size}; + --bs-dropdown-color: #{$dropdown-color}; + --bs-dropdown-bg: #{$dropdown-bg}; + --bs-dropdown-border-color: #{$dropdown-border-color}; + --bs-dropdown-border-radius: #{$dropdown-border-radius}; + --bs-dropdown-border-width: #{$dropdown-border-width}; + --bs-dropdown-inner-border-radius: #{$dropdown-inner-border-radius}; + --bs-dropdown-divider-bg: #{$dropdown-divider-bg}; + --bs-dropdown-divider-margin-y: #{$dropdown-divider-margin-y}; + --bs-dropdown-box-shadow: #{$dropdown-box-shadow}; + --bs-dropdown-link-color: #{$dropdown-link-color}; + --bs-dropdown-link-hover-color: #{$dropdown-link-hover-color}; + --bs-dropdown-link-hover-bg: #{$dropdown-link-hover-bg}; + --bs-dropdown-link-active-color: #{$dropdown-link-active-color}; + --bs-dropdown-link-active-bg: #{$dropdown-link-active-bg}; + --bs-dropdown-link-disabled-color: #{$dropdown-link-disabled-color}; + --bs-dropdown-item-padding-y: #{$dropdown-item-padding-y}; + --bs-dropdown-item-padding-x: #{$dropdown-item-padding-x}; + --bs-dropdown-header-color: #{$dropdown-header-color}; + + + // Pagination + --bs-pagination-padding-y: #{$pagination-padding-y}; + --bs-pagination-padding-x: #{$pagination-padding-x}; + --bs-pagination-padding-y-sm: #{$pagination-padding-y-sm}; + --bs-pagination-padding-x-sm: #{$pagination-padding-x-sm}; + --bs-pagination-padding-y-lg: #{$pagination-padding-y-lg}; + --bs-pagination-padding-x-lg: #{$pagination-padding-x-lg}; + --bs-pagination-line-height: #{$pagination-line-height}; + --bs-pagination-color: #{$pagination-color}; + --bs-pagination-bg: #{$pagination-bg}; + --bs-pagination-border-width: #{$pagination-border-width}; + --bs-pagination-border-color: #{$pagination-border-color}; + --bs-pagination-focus-box-shadow: #{$pagination-focus-box-shadow}; + --bs-pagination-focus-outline: #{$pagination-focus-outline}; + --bs-pagination-hover-color: #{$pagination-hover-color}; + --bs-pagination-hover-bg: #{$pagination-hover-bg}; + --bs-pagination-hover-border-color: #{$pagination-hover-border-color}; + --bs-pagination-active-color: #{$pagination-active-color}; + --bs-pagination-active-bg: #{$pagination-active-bg}; + --bs-pagination-active-border-color: #{$pagination-active-border-color}; + --bs-pagination-disabled-color: #{$pagination-disabled-color}; + --bs-pagination-disabled-bg: #{$pagination-disabled-bg}; + --bs-pagination-disabled-border-color: #{$pagination-disabled-border-color}; + + + // Jumbotron + --bs-jumbotron-padding: #{$jumbotron-padding}; + --bs-jumbotron-color: #{$jumbotron-color}; + --bs-jumbotron-bg: #{$jumbotron-bg}; + + + // Cards + --bs-card-spacer-y: #{$card-spacer-y}; + --bs-card-spacer-x: #{$card-spacer-x}; + --bs-card-border-width: #{$card-border-width}; + --bs-card-border-radius: #{$card-border-radius}; + --bs-card-border-color: #{$card-border-color}; + --bs-card-inner-border-radius: #{$card-inner-border-radius}; + --bs-card-cap-bg: #{$card-cap-bg}; + --bs-card-cap-color: #{$card-cap-color}; + --bs-card-color: #{$card-color}; + --bs-card-bg: #{$card-bg}; + --bs-card-img-overlay-padding: #{$card-img-overlay-padding}; + --bs-card-group-margin: #{$card-group-margin}; + --bs-card-deck-margin: #{$card-deck-margin}; + --bs-card-columns-count: #{$card-columns-count}; + --bs-card-columns-gap: #{$card-columns-gap}; + --bs-card-columns-margin: #{$card-columns-margin}; + + + // Tooltips + --bs-tooltip-font-size: #{$tooltip-font-size}; + --bs-tooltip-max-width: #{$tooltip-max-width}; + --bs-tooltip-color: #{$tooltip-color}; + --bs-tooltip-bg: #{$tooltip-bg}; + --bs-tooltip-border-radius: #{$tooltip-border-radius}; + --bs-tooltip-opacity: #{$tooltip-opacity}; + --bs-tooltip-padding-y: #{$tooltip-padding-y}; + --bs-tooltip-padding-x: #{$tooltip-padding-x}; + --bs-tooltip-margin: #{$tooltip-margin}; + --bs-tooltip-arrow-width: #{$tooltip-arrow-width}; + --bs-tooltip-arrow-height: #{$tooltip-arrow-height}; + --bs-tooltip-arrow-color: #{$tooltip-arrow-color}; + + // Form tooltips must come after regular tooltips + --bs-form-feedback-tooltip-padding-y: #{$form-feedback-tooltip-padding-y}; + --bs-form-feedback-tooltip-padding-x: #{$form-feedback-tooltip-padding-x}; + --bs-form-feedback-tooltip-font-size: #{$form-feedback-tooltip-font-size}; + --bs-form-feedback-tooltip-line-height: #{$form-feedback-tooltip-line-height}; + --bs-form-feedback-tooltip-opacity: #{$form-feedback-tooltip-opacity}; + --bs-form-feedback-tooltip-border-radius: #{$form-feedback-tooltip-border-radius}; + + + // Popovers + --bs-popover-font-size: #{$popover-font-size}; + --bs-popover-bg: #{$popover-bg}; + --bs-popover-max-width: #{$popover-max-width}; + --bs-popover-border-width: #{$popover-border-width}; + --bs-popover-border-color: #{$popover-border-color}; + --bs-popover-border-radius: #{$popover-border-radius}; + --bs-popover-box-shadow: #{$popover-box-shadow}; + --bs-popover-header-bg: #{$popover-header-bg}; + --bs-popover-header-color: #{$popover-header-color}; + --bs-popover-header-padding-y: #{$popover-header-padding-y}; + --bs-popover-header-padding-x: #{$popover-header-padding-x}; + --bs-popover-body-color: #{$popover-body-color}; + --bs-popover-body-padding-y: #{$popover-body-padding-y}; + --bs-popover-body-padding-x: #{$popover-body-padding-x}; + --bs-popover-arrow-width: #{$popover-arrow-width}; + --bs-popover-arrow-height: #{$popover-arrow-height}; + --bs-popover-arrow-color: #{$popover-arrow-color}; + --bs-popover-arrow-outer-color: #{$popover-arrow-outer-color}; + + + // Toasts + --bs-toast-max-width: #{$toast-max-width}; + --bs-toast-padding-x: #{$toast-padding-x}; + --bs-toast-padding-y: #{$toast-padding-y}; + --bs-toast-font-size: #{$toast-font-size}; + --bs-toast-color: #{$toast-color}; + --bs-toast-background-color: #{$toast-background-color}; + --bs-toast-border-width: #{$toast-border-width}; + --bs-toast-border-color: #{$toast-border-color}; + --bs-toast-border-radius: #{$toast-border-radius}; + --bs-toast-box-shadow: #{$toast-box-shadow}; + --bs-toast-header-color: #{$toast-header-color}; + --bs-toast-header-background-color: #{$toast-header-background-color}; + --bs-toast-header-border-color: #{$toast-header-border-color}; + + + // Badges + --bs-badge-font-size: #{$badge-font-size}; + --bs-badge-font-weight: #{$badge-font-weight}; + --bs-badge-padding-y: #{$badge-padding-y}; + --bs-badge-padding-x: #{$badge-padding-x}; + --bs-badge-border-radius: #{$badge-border-radius}; + --bs-badge-transition: #{$badge-transition}; + --bs-badge-focus-width: #{$badge-focus-width}; + --bs-badge-pill-padding-x: #{$badge-pill-padding-x}; + // Use a higher than normal value to ensure completely rounded edges when + // customizing padding or font-size on labels. + --bs-badge-pill-border-radius: #{$badge-pill-border-radius}; + + + // Modals + + // Padding applied to the modal body + --bs-modal-inner-padding: #{$modal-inner-padding}; + --bs-modal-dialog-margin: #{$modal-dialog-margin}; + --bs-modal-dialog-margin-y-sm-up: #{$modal-dialog-margin-y-sm-up}; + --bs-modal-title-line-height: #{$modal-title-line-height}; + --bs-modal-content-color: #{$modal-content-color}; + --bs-modal-content-bg: #{$modal-content-bg}; + --bs-modal-content-border-color: #{$modal-content-border-color}; + --bs-modal-content-border-width: #{$modal-content-border-width}; + --bs-modal-content-border-radius: #{$modal-content-border-radius}; + --bs-modal-content-box-shadow-xs: #{$modal-content-box-shadow-xs}; + --bs-modal-content-box-shadow-sm-up: #{$modal-content-box-shadow-sm-up}; + --bs-modal-backdrop-bg: #{$modal-backdrop-bg}; + --bs-modal-backdrop-opacity: #{$modal-backdrop-opacity}; + --bs-modal-header-border-color: #{$modal-header-border-color}; + --bs-modal-footer-border-color: #{$modal-footer-border-color}; + --bs-modal-header-border-width: #{$modal-header-border-width}; + --bs-modal-footer-border-width: #{$modal-footer-border-width}; + --bs-modal-header-padding-y: #{$modal-header-padding-y}; + --bs-modal-header-padding-x: #{$modal-header-padding-x}; + --bs-modal-header-padding: #{$modal-header-padding}; + --bs-modal-xl: #{$modal-xl}; + --bs-modal-lg: #{$modal-lg}; + --bs-modal-md: #{$modal-md}; + --bs-modal-sm: #{$modal-sm}; + --bs-modal-fade-transform: #{$modal-fade-transform}; + --bs-modal-show-transform: #{$modal-show-transform}; + --bs-modal-transition: #{$modal-transition}; + + + // Alerts + // + // Define alert colors, border radius, and padding. + --bs-alert-padding-y: #{$alert-padding-y}; + --bs-alert-padding-x: #{$alert-padding-x}; + --bs-alert-margin-bottom: #{$alert-margin-bottom}; + --bs-alert-border-radius: #{$alert-border-radius}; + --bs-alert-link-font-weight: #{$alert-link-font-weight}; + --bs-alert-border-width: #{$alert-border-width}; + --bs-alert-bg-level: #{$alert-bg-level}; + --bs-alert-border-level: #{$alert-border-level}; + --bs-alert-color-level: #{$alert-color-level}; + + + // Progress bars + --bs-progress-height: #{$progress-height}; + --bs-progress-font-size: #{$progress-font-size}; + --bs-progress-bg: #{$progress-bg}; + --bs-progress-border-radius: #{$progress-border-radius}; + --bs-progress-box-shadow: #{$progress-box-shadow}; + --bs-progress-bar-color: #{$progress-bar-color}; + --bs-progress-bar-bg: #{$progress-bar-bg}; + --bs-progress-bar-animation-timing: #{$progress-bar-animation-timing}; + --bs-progress-bar-transition: #{$progress-bar-transition}; + + + // List group + --bs-list-group-color: #{$list-group-color}; + --bs-list-group-bg: #{$list-group-bg}; + --bs-list-group-border-color: #{$list-group-border-color}; + --bs-list-group-border-width: #{$list-group-border-width}; + --bs-list-group-border-radius: #{$list-group-border-radius}; + --bs-list-group-item-padding-y: #{$list-group-item-padding-y}; + --bs-list-group-item-padding-x: #{$list-group-item-padding-x}; + --bs-list-group-hover-bg: #{$list-group-hover-bg}; + --bs-list-group-active-color: #{$list-group-active-color}; + --bs-list-group-active-bg: #{$list-group-active-bg}; + --bs-list-group-active-border-color: #{$list-group-active-border-color}; + --bs-list-group-disabled-color: #{$list-group-disabled-color}; + --bs-list-group-disabled-bg: #{$list-group-disabled-bg}; + --bs-list-group-action-color: #{$list-group-action-color}; + --bs-list-group-action-hover-color: #{$list-group-action-hover-color}; + --bs-list-group-action-active-color: #{$list-group-action-active-color}; + --bs-list-group-action-active-bg: #{$list-group-action-active-bg}; + + + // Image thumbnails + --bs-thumbnail-padding: #{$thumbnail-padding}; + --bs-thumbnail-bg: #{$thumbnail-bg}; + --bs-thumbnail-border-width: #{$thumbnail-border-width}; + --bs-thumbnail-border-color: #{$thumbnail-border-color}; + --bs-thumbnail-border-radius: #{$thumbnail-border-radius}; + --bs-thumbnail-box-shadow: #{$thumbnail-box-shadow}; + + + // Figures + --bs-figure-caption-font-size: #{$figure-caption-font-size}; + --bs-figure-caption-color: #{$figure-caption-color}; + + + // Breadcrumbs + --bs-breadcrumb-padding-y: #{$breadcrumb-padding-y}; + --bs-breadcrumb-padding-x: #{$breadcrumb-padding-x}; + --bs-breadcrumb-item-padding: #{$breadcrumb-item-padding}; + --bs-breadcrumb-margin-bottom: #{$breadcrumb-margin-bottom}; + --bs-breadcrumb-bg: #{$breadcrumb-bg}; + --bs-breadcrumb-divider-color: #{$breadcrumb-divider-color}; + --bs-breadcrumb-active-color: #{$breadcrumb-active-color}; + --bs-breadcrumb-divider: #{$breadcrumb-divider}; + --bs-breadcrumb-border-radius: #{$breadcrumb-border-radius}; + + + // Carousel + --bs-carousel-control-color: #{$carousel-control-color}; + --bs-carousel-control-width: #{$carousel-control-width}; + --bs-carousel-control-opacity: #{$carousel-control-opacity}; + --bs-carousel-control-hover-opacity: #{$carousel-control-hover-opacity}; + --bs-carousel-control-transition: #{$carousel-control-transition}; + --bs-carousel-indicator-width: #{$carousel-indicator-width}; + --bs-carousel-indicator-height: #{$carousel-indicator-height}; + --bs-carousel-indicator-hit-area-height: #{$carousel-indicator-hit-area-height}; + --bs-carousel-indicator-spacer: #{$carousel-indicator-spacer}; + --bs-carousel-indicator-active-bg: #{$carousel-indicator-active-bg}; + --bs-carousel-indicator-transition: #{$carousel-indicator-transition}; + --bs-carousel-caption-width: #{$carousel-caption-width}; + --bs-carousel-caption-color: #{$carousel-caption-color}; + --bs-carousel-control-icon-width: #{$carousel-control-icon-width}; + --bs-carousel-control-prev-icon-bg: #{$carousel-control-prev-icon-bg}; + --bs-carousel-control-next-icon-bg: #{$carousel-control-next-icon-bg}; + --bs-carousel-transition-duration: #{$carousel-transition-duration}; + --bs-carousel-transition: #{$carousel-transition}; + + + // Spinners + --bs-spinner-width: #{$spinner-width}; + --bs-spinner-height: #{$spinner-height}; + --bs-spinner-border-width: #{$spinner-border-width}; + --bs-spinner-width-sm: #{$spinner-width-sm}; + --bs-spinner-height-sm: #{$spinner-height-sm}; + --bs-spinner-border-width-sm: #{$spinner-border-width-sm}; + + + // Close + --bs-close-font-size: #{$close-font-size}; + --bs-close-font-weight: #{$close-font-weight}; + --bs-close-color: #{$close-color}; + --bs-close-text-shadow: #{$close-text-shadow}; + + + // Code + --bs-code-font-size: #{$code-font-size}; + --bs-code-color: #{$code-color}; + --bs-kbd-padding-y: #{$kbd-padding-y}; + --bs-kbd-padding-x: #{$kbd-padding-x}; + --bs-kbd-font-size: #{$kbd-font-size}; + --bs-kbd-color: #{$kbd-color}; + --bs-kbd-bg: #{$kbd-bg}; + --bs-pre-color: #{$pre-color}; + --bs-pre-scrollable-max-height: #{$pre-scrollable-max-height}; + + + // Utilities + --bs-displays: #{$displays}; + --bs-overflows: #{$overflows}; + --bs-positions: #{$positions}; + + + // Printing + --bs-print-page-size: #{$print-page-size}; + --bs-print-body-min-width: #{$print-body-min-width}; + +} diff --git a/src/styles/_custom_variables.scss b/src/styles/_custom_variables.scss index dd52adcfbe..04db184a3d 100644 --- a/src/styles/_custom_variables.scss +++ b/src/styles/_custom_variables.scss @@ -1,43 +1,57 @@ -// @import '_themed_custom_variables.scss'; +:root { + --ds-content-spacing: #{$spacer * 1.5}; -$content-spacing: $spacer * 1.5 !default; + --ds-button-height: #{$input-btn-padding-y * 2 + $input-btn-line-height + calculateRem($input-btn-border-width*2)}; -$button-height: $input-btn-padding-y * 2 + $input-btn-line-height + calculateRem($input-btn-border-width*2) !default; + --ds-card-height-percentage:98%; + --ds-card-thumbnail-height:240px; + --ds-dropdown-menu-max-height: 200px; + --ds-drop-zone-area-height: 44px; + --ds-drop-zone-area-z-index: 1025; + --ds-drop-zone-area-inner-z-index: 1021; + --ds-login-logo-height:72px; + --ds-login-logo-width:72px; + --ds-submission-header-z-index: 1001; + --ds-submission-footer-z-index: 999; -$card-height-percentage:98% !default; -$card-thumbnail-height:240px !default; -$dropdown-menu-max-height: 200px !default; -$drop-zone-area-height: 44px !default; -$drop-zone-area-z-index: 1025 !default; -$drop-zone-area-inner-z-index: 1021 !default; -$login-logo-height:72px !default; -$login-logo-width:72px !default; -$submission-header-z-index: 1001 !default; -$submission-footer-z-index: 999 !default; + --ds-main-z-index: 0; + --ds-nav-z-index: 10; + --ds-sidebar-z-index: 20; -$main-z-index: 0 !default; -$nav-z-index: 10 !default; -$sidebar-z-index: 20 !default; + --ds-header-logo-height: 80px; + --ds-header-logo-height-xs: 50px; + --ds-header-icon-color: #{$link-color}; + --ds-header-icon-color-hover: #{darken($link-color, 15%)}; -$header-logo-height: 80px !default; -$header-logo-height-xs: 50px !default; -$header-icon-color: $link-color !default; + $admin-sidebar-bg: darken(#2B4E72, 17%); + $admin-sidebar-active-bg: darken($admin-sidebar-bg, 3%); + --ds-admin-sidebar-bg: #{$admin-sidebar-bg}; + --ds-admin-sidebar-active-bg: #{$admin-sidebar-active-bg}; + --ds-admin-sidebar-header-bg: #{darken($admin-sidebar-bg, 7%)}; -$admin-sidebar-bg: darken(#2B4E72, 17%) !default; -$admin-sidebar-active-bg: darken($admin-sidebar-bg, 3%) !default; -$admin-sidebar-header-bg: darken($admin-sidebar-bg, 7%) !default; + --ds-dark-scrollbar-bg: #{$admin-sidebar-active-bg}; + --ds-dark-scrollbar-alt-bg: #{lighten($admin-sidebar-active-bg, 2%)}; + --ds-dark-scrollbar-fg: #47495d; -$dark-scrollbar-background: $admin-sidebar-active-bg !default; -$dark-scrollbar-foreground: #47495d !default; + --ds-submission-sections-margin-bottom: .5rem; -$submission-sections-margin-bottom: .5rem !default; + --ds-edit-item-button-min-width: 100px; + --ds-edit-item-metadata-field-width: 190px; + --ds-edit-item-language-field-width: 43px; -$edit-item-button-min-width: 100px !default; -$edit-item-metadata-field-width: 190px !default; -$edit-item-language-field-width: 43px !default; + --ds-thumbnail-max-width: 175px; -$thumbnail-max-width: 175px !default; + --ds-dso-selector-list-max-height: 475px; + --ds-dso-selector-current-background-color: #eeeeee; + --ds-dso-selector-current-background-hover-color: #{darken(#eeeeee, 10%)}; + --ds-notification-bg-success: #{darken(adjust-hue($success, -10), 10%)}; + --ds-notification-bg-danger: #{darken(adjust-hue($danger, -10), 10%)}; + --ds-notification-bg-info: #{darken(adjust-hue($info, -10), 10%)}; + --ds-notification-bg-warning: #{darken(adjust-hue($warning, -10), 10%)}; -$dso-selector-list-max-height: 475px !default; -$dso-selector-current-background-color: #eeeeee; -$dso-selector-current-background-hover-color: darken($dso-selector-current-background-color, 10%); + --ds-fa-fixed-width: #{$fa-fixed-width}; + --ds-icon-padding: #{$icon-padding}; + --ds-collapsed-sidebar-width: #{$collapsed-sidebar-width}; + --ds-sidebar-items-width: #{$sidebar-items-width}; + --ds-total-sidebar-width: #{$total-sidebar-width}; +} diff --git a/src/styles/_exposed_variables.scss b/src/styles/_exposed_variables.scss index 1ab67e709d..d01544649b 100644 --- a/src/styles/_exposed_variables.scss +++ b/src/styles/_exposed_variables.scss @@ -1,12 +1,14 @@ @import '_variables.scss'; +// These CSS variables are picked up by CSSVariableService to and made available as JS variables as +// well. :export { - xlMin: map-get($grid-breakpoints, xl); - mdMin: map-get($grid-breakpoints, md); - lgMin: map-get($grid-breakpoints, lg); - smMin: map-get($grid-breakpoints, sm); - adminSidebarActiveBg: $admin-sidebar-active-bg; - sidebarItemsWidth: $sidebar-items-width; - collapsedSidebarWidth: $collapsed-sidebar-width; - totalSidebarWidth: $total-sidebar-width; + xlMin: var(--bs-xl); + mdMin: var(--bs-md); + lgMin: var(--bs-lg); + smMin: var(--bs-sm); + adminSidebarActiveBg: var(--ds-admin-sidebar-active-bg); + sidebarItemsWidth: var(--ds-sidebar-items-width); + collapsedSidebarWidth: var(--ds-collapsed-sidebar-width); + totalSidebarWidth: var(--ds-total-sidebar-width); } diff --git a/src/styles/_global-styles.scss b/src/styles/_global-styles.scss new file mode 100644 index 0000000000..b79cf52fbb --- /dev/null +++ b/src/styles/_global-styles.scss @@ -0,0 +1,49 @@ +html { + position: relative; + min-height: 100%; +} + +body { + overflow-x: hidden; +} + +// Sticky Footer +.outer-wrapper { + display: flex; + margin: 0; +} + +.inner-wrapper { + flex: 1 1 auto; + flex-flow: column nowrap; + display: flex; + min-height: 100vh; + flex-direction: column; + width: 100%; + position: relative; +} + +.main-content { + z-index: var(--ds-main-z-index); + flex: 1 1 100%; + margin-top: var(--ds-content-spacing); + margin-bottom: var(--ds-content-spacing); +} + +.alert.hide { + padding: 0; + margin: 0; +} + +ds-header-navbar-wrapper { + z-index: var(--ds-nav-z-index); +} + +ds-admin-sidebar { + position: fixed; + z-index: var(--ds-sidebar-z-index); +} + +.ds-full-screen-loader { + height: 100vh; +} diff --git a/src/styles/_mixins.scss b/src/styles/_mixins.scss index e72af304cd..04347b3131 100644 --- a/src/styles/_mixins.scss +++ b/src/styles/_mixins.scss @@ -19,23 +19,23 @@ height: 3px; } &::-webkit-scrollbar-button { - background-color: $dark-scrollbar-background; + background-color: var(--ds-dark-scrollbar-bg); } &::-webkit-scrollbar-track { - background-color: lighten($dark-scrollbar-background, 2%); + background-color: var(--ds-dark-scrollbar-alt-bg); } &::-webkit-scrollbar-track-piece { - background-color: $dark-scrollbar-background; + background-color: var(--ds-dark-scrollbar-bg); } &::-webkit-scrollbar-thumb { height: 50px; - background-color: $dark-scrollbar-foreground; + background-color: var(--ds-dark-scrollbar-fg); border-radius: 3px; } &::-webkit-scrollbar-corner { - background-color: lighten($dark-scrollbar-background, 2%); + background-color: var(--ds-dark-scrollbar-alt-bg); } &::-webkit-resizer { - background-color: $dark-scrollbar-background; + background-color: var(--ds-dark-scrollbar-bg); } } diff --git a/src/styles/_variables.scss b/src/styles/_variables.scss index 2632dbfd09..badc159747 100644 --- a/src/styles/_variables.scss +++ b/src/styles/_variables.scss @@ -3,5 +3,3 @@ @import '_bootstrap_variables.scss'; @import '../../node_modules/bootstrap/scss/variables.scss'; - -@import '_custom_variables.scss'; diff --git a/src/styles/base-theme.scss b/src/styles/base-theme.scss new file mode 100644 index 0000000000..068c2ece26 --- /dev/null +++ b/src/styles/base-theme.scss @@ -0,0 +1,6 @@ +@import './helpers/font_awesome_imports.scss'; +@import '../../node_modules/bootstrap/scss/bootstrap.scss'; +@import '../../node_modules/nouislider/distribute/nouislider.min'; +@import './_custom_variables.scss'; +@import './bootstrap_variables_mapping.scss'; +@import './_global-styles.scss'; diff --git a/src/themes/custom/app/+home-page/home-news/home-news.component.html b/src/themes/custom/app/+home-page/home-news/home-news.component.html new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/themes/custom/app/+home-page/home-news/home-news.component.scss b/src/themes/custom/app/+home-page/home-news/home-news.component.scss new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/themes/custom/app/+home-page/home-news/home-news.component.ts b/src/themes/custom/app/+home-page/home-news/home-news.component.ts new file mode 100644 index 0000000000..eaf788e599 --- /dev/null +++ b/src/themes/custom/app/+home-page/home-news/home-news.component.ts @@ -0,0 +1,16 @@ +import { Component } from '@angular/core'; +import { HomeNewsComponent as BaseComponent } from '../../../../../app/+home-page/home-news/home-news.component'; + +@Component({ + selector: 'ds-home-news', + // styleUrls: ['./home-news.component.scss'], + styleUrls: ['../../../../../app/+home-page/home-news/home-news.component.scss'], + // templateUrl: './home-news.component.html' + templateUrl: '../../../../../app/+home-page/home-news/home-news.component.html' +}) + +/** + * Component to render the news section on the home page + */ +export class HomeNewsComponent extends BaseComponent {} + diff --git a/src/themes/custom/app/+home-page/home-page.component.html b/src/themes/custom/app/+home-page/home-page.component.html new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/themes/custom/app/+home-page/home-page.component.scss b/src/themes/custom/app/+home-page/home-page.component.scss new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/themes/custom/app/+home-page/home-page.component.ts b/src/themes/custom/app/+home-page/home-page.component.ts new file mode 100644 index 0000000000..602492e9bd --- /dev/null +++ b/src/themes/custom/app/+home-page/home-page.component.ts @@ -0,0 +1,13 @@ +import { Component } from '@angular/core'; +import { HomePageComponent as BaseComponent } from '../../../../app/+home-page/home-page.component'; + +@Component({ + selector: 'ds-home-page', + // styleUrls: ['./home-page.component.scss'], + styleUrls: ['../../../../app/+home-page/home-page.component.scss'], + // templateUrl: './home-page.component.html' + templateUrl: '../../../../app/+home-page/home-page.component.html' +}) +export class HomePageComponent extends BaseComponent { + +} diff --git a/src/themes/custom/app/+item-page/simple/item-types/publication/publication.component.html b/src/themes/custom/app/+item-page/simple/item-types/publication/publication.component.html new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/themes/custom/app/+item-page/simple/item-types/publication/publication.component.scss b/src/themes/custom/app/+item-page/simple/item-types/publication/publication.component.scss new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/themes/custom/app/+item-page/simple/item-types/publication/publication.component.ts b/src/themes/custom/app/+item-page/simple/item-types/publication/publication.component.ts new file mode 100644 index 0000000000..4eda82a10a --- /dev/null +++ b/src/themes/custom/app/+item-page/simple/item-types/publication/publication.component.ts @@ -0,0 +1,22 @@ +import { ChangeDetectionStrategy, Component } from '@angular/core'; +import { ViewMode } from '../../../../../../../app/core/shared/view-mode.model'; +import { listableObjectComponent } from '../../../../../../../app/shared/object-collection/shared/listable-object/listable-object.decorator'; +import { Context } from '../../../../../../../app/core/shared/context.model'; +import { PublicationComponent as BaseComponent } from '../../../../../../../app/+item-page/simple/item-types/publication/publication.component'; + +/** + * Component that represents a publication Item page + */ + +@listableObjectComponent('Publication', ViewMode.StandalonePage, Context.Any, 'custom') +@Component({ + selector: 'ds-publication', + // styleUrls: ['./publication.component.scss'], + styleUrls: ['../../../../../../../app/+item-page/simple/item-types/publication/publication.component.scss'], + // templateUrl: './publication.component.html', + templateUrl: '../../../../../../../app/+item-page/simple/item-types/publication/publication.component.html', + changeDetection: ChangeDetectionStrategy.OnPush, +}) +export class PublicationComponent extends BaseComponent { + +} diff --git a/src/themes/custom/app/root/root.component.html b/src/themes/custom/app/root/root.component.html new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/themes/custom/app/root/root.component.scss b/src/themes/custom/app/root/root.component.scss new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/themes/custom/app/root/root.component.ts b/src/themes/custom/app/root/root.component.ts new file mode 100644 index 0000000000..6b5b0c106f --- /dev/null +++ b/src/themes/custom/app/root/root.component.ts @@ -0,0 +1,15 @@ +import { Component } from '@angular/core'; +import { slideSidebarPadding } from '../../../../app/shared/animations/slide'; +import { RootComponent as BaseComponent } from '../../../../app/root/root.component'; + +@Component({ + selector: 'ds-root', + // styleUrls: ['./root.component.scss'], + styleUrls: ['../../../../app/root/root.component.scss'], + // templateUrl: './root.component.html', + templateUrl: '../../../../app/root/root.component.html', + animations: [slideSidebarPadding], +}) +export class RootComponent extends BaseComponent { + +} diff --git a/src/themes/custom/entry-components.ts b/src/themes/custom/entry-components.ts new file mode 100644 index 0000000000..d859b56333 --- /dev/null +++ b/src/themes/custom/entry-components.ts @@ -0,0 +1,5 @@ +import { PublicationComponent } from './app/+item-page/simple/item-types/publication/publication.component'; + +export const ENTRY_COMPONENTS = [ + PublicationComponent +]; diff --git a/src/themes/custom/styles/_global-styles.scss b/src/themes/custom/styles/_global-styles.scss new file mode 100644 index 0000000000..3857f1ad0a --- /dev/null +++ b/src/themes/custom/styles/_global-styles.scss @@ -0,0 +1,4 @@ +// Add any global css for the theme here + +// imports the base global style +@import '../../../styles/_global-styles.scss'; diff --git a/src/themes/custom/styles/_theme_css_variable_overrides.scss b/src/themes/custom/styles/_theme_css_variable_overrides.scss new file mode 100644 index 0000000000..0f06bf2daa --- /dev/null +++ b/src/themes/custom/styles/_theme_css_variable_overrides.scss @@ -0,0 +1,8 @@ +// Override or add CSS variables for your theme here + +:root { + //--ds-header-logo-height: 80px; + //--ds-header-logo-height-xs: 50px; + --ds-header-icon-color: #{$link-color}; + //--ds-header-icon-color-hover: #{darken($link-color, 15%)}; +} diff --git a/src/themes/custom/styles/_theme_sass_variable_overrides.scss b/src/themes/custom/styles/_theme_sass_variable_overrides.scss new file mode 100644 index 0000000000..1e5d0f0520 --- /dev/null +++ b/src/themes/custom/styles/_theme_sass_variable_overrides.scss @@ -0,0 +1,16 @@ +// DSpace works with CSS variables for its own components, and has a mapping of all bootstrap Sass +// variables to CSS equivalents (see src/styles/_bootstrap_variables_mapping.scss). However Bootstrap +// still uses Sass variables internally. So if you want to override bootstrap (or other sass +// variables) you can do so here. Their CSS counterparts will include the changes you make here + +// $blue: #007bff !default; +// $indigo: #6610f2 !default; +// $purple: #6f42c1 !default; +// $pink: #e83e8c !default; +// $red: #dc3545 !default; +// $orange: #fd7e14 !default; +// $yellow: #ffc107 !default; +// $green: #28a745 !default; +// $teal: #20c997 !default; +// $cyan: #17a2b8 !default; + diff --git a/src/themes/custom/styles/theme.scss b/src/themes/custom/styles/theme.scss new file mode 100644 index 0000000000..e4cc9e45ed --- /dev/null +++ b/src/themes/custom/styles/theme.scss @@ -0,0 +1,12 @@ +// This file combines the other scss files in to one. You usually shouldn't edit this file directly + +@import './_theme_sass_variable_overrides.scss'; +@import '../../../styles/_variables.scss'; +@import '../../../styles/_mixins.scss'; +@import '../../../styles/helpers/font_awesome_imports.scss'; +@import '../../../../node_modules/bootstrap/scss/bootstrap.scss'; +@import '../../../../node_modules/nouislider/distribute/nouislider.min'; +@import '../../../styles/_custom_variables.scss'; +@import './_theme_css_variable_overrides.scss'; +@import '../../../styles/bootstrap_variables_mapping.scss'; +@import './_global-styles.scss'; diff --git a/src/themes/custom/theme.module.ts b/src/themes/custom/theme.module.ts new file mode 100644 index 0000000000..1f451df1bc --- /dev/null +++ b/src/themes/custom/theme.module.ts @@ -0,0 +1,96 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { AdminAccessControlModule } from '../../app/+admin/admin-access-control/admin-access-control.module'; +import { AdminRegistriesModule } from '../../app/+admin/admin-registries/admin-registries.module'; +import { AdminSearchModule } from '../../app/+admin/admin-search-page/admin-search.module'; +import { AdminWorkflowModuleModule } from '../../app/+admin/admin-workflow-page/admin-workflow.module'; +import { BitstreamFormatsModule } from '../../app/+admin/admin-registries/bitstream-formats/bitstream-formats.module'; +import { BrowseByModule } from '../../app/+browse-by/browse-by.module'; +import { CollectionFormModule } from '../../app/+collection-page/collection-form/collection-form.module'; +import { CommunityFormModule } from '../../app/+community-page/community-form/community-form.module'; +import { CoreModule } from '../../app/core/core.module'; +import { DragDropModule } from '@angular/cdk/drag-drop'; +import { EditItemPageModule } from '../../app/+item-page/edit-item-page/edit-item-page.module'; +import { FormsModule } from '@angular/forms'; +import { HttpClientModule } from '@angular/common/http'; +import { IdlePreloadModule } from 'angular-idle-preload'; +import { JournalEntitiesModule } from '../../app/entity-groups/journal-entities/journal-entities.module'; +import { MyDspaceSearchModule } from '../../app/+my-dspace-page/my-dspace-search.module'; +import { MenuModule } from '../../app/shared/menu/menu.module'; +import { NavbarModule } from '../../app/navbar/navbar.module'; +import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; +import { ProfilePageModule } from '../../app/profile-page/profile-page.module'; +import { RegisterEmailFormModule } from '../../app/register-email-form/register-email-form.module'; +import { ResearchEntitiesModule } from '../../app/entity-groups/research-entities/research-entities.module'; +import { ScrollToModule } from '@nicky-lenaers/ngx-scroll-to'; +import { SearchPageModule } from '../../app/+search-page/search-page.module'; +import { SharedModule } from '../../app/shared/shared.module'; +import { StatisticsModule } from '../../app/statistics/statistics.module'; +import { StoreModule } from '@ngrx/store'; +import { StoreRouterConnectingModule } from '@ngrx/router-store'; +import { TranslateModule } from '@ngx-translate/core'; +import { HomeNewsComponent } from './app/+home-page/home-news/home-news.component'; +import { HomePageComponent } from './app/+home-page/home-page.component'; +import { HomePageModule } from '../../app/+home-page/home-page.module'; +import { RootComponent } from './app/root/root.component'; +import { AppModule } from '../../app/app.module'; +import { PublicationComponent } from './app/+item-page/simple/item-types/publication/publication.component'; +import { ItemPageModule } from '../../app/+item-page/item-page.module'; +import { RouterModule } from '@angular/router'; + +const DECLARATIONS = [ + HomePageComponent, + HomeNewsComponent, + RootComponent, + PublicationComponent +]; + +@NgModule({ + imports: [ + AdminAccessControlModule, + AdminRegistriesModule, + AdminSearchModule, + AdminWorkflowModuleModule, + AppModule, + BitstreamFormatsModule, + BrowseByModule, + CollectionFormModule, + CommonModule, + CommunityFormModule, + CoreModule, + DragDropModule, + ItemPageModule, + EditItemPageModule, + FormsModule, + HomePageModule, + HttpClientModule, + IdlePreloadModule, + JournalEntitiesModule, + MenuModule, + MyDspaceSearchModule, + NavbarModule, + NgbModule, + ProfilePageModule, + RegisterEmailFormModule, + ResearchEntitiesModule, + RouterModule, + ScrollToModule, + SearchPageModule, + SharedModule, + StatisticsModule, + StoreModule, + StoreRouterConnectingModule, + TranslateModule, + ], + declarations: DECLARATIONS +}) + +/** + * This module serves as an index for all the components in this theme. + * It should import all other modules, so the compiler knows where to find any components referenced + * from a component in this theme + * It is purposefully not exported, it should never be imported anywhere else, its only purpose is + * to give lazily loaded components a context in which they can be compiled successfully + */ +class ThemeModule { +} diff --git a/themes/mantis/app/+home-page/home-news/home-news.component.html b/src/themes/mantis/app/+home-page/home-news/home-news.component.html similarity index 100% rename from themes/mantis/app/+home-page/home-news/home-news.component.html rename to src/themes/mantis/app/+home-page/home-news/home-news.component.html diff --git a/src/themes/mantis/app/+home-page/home-news/home-news.component.scss b/src/themes/mantis/app/+home-page/home-news/home-news.component.scss new file mode 100644 index 0000000000..b82d84a71e --- /dev/null +++ b/src/themes/mantis/app/+home-page/home-news/home-news.component.scss @@ -0,0 +1,17 @@ +@import 'src/app/+home-page/home-news/home-news.component.scss'; +:host { + --ds-home-news-link-color: #{$green}; + --ds-home-news-link-hover-color: #{darken($green, 15%)}; + + .jumbotron { + background-color: transparent; + } + + a { + color: var(--ds-home-news-link-color); + + @include hover { + color: var(--ds-home-news-link-hover-color); + } + } +} diff --git a/themes/mantis/app/+home-page/home-page.component.html b/src/themes/mantis/app/+home-page/home-page.component.html similarity index 100% rename from themes/mantis/app/+home-page/home-page.component.html rename to src/themes/mantis/app/+home-page/home-page.component.html diff --git a/themes/mantis/app/+home-page/home-page.component.scss b/src/themes/mantis/app/+home-page/home-page.component.scss similarity index 56% rename from themes/mantis/app/+home-page/home-page.component.scss rename to src/themes/mantis/app/+home-page/home-page.component.scss index 64bd786cd5..64d2ba66ca 100644 --- a/themes/mantis/app/+home-page/home-page.component.scss +++ b/src/themes/mantis/app/+home-page/home-page.component.scss @@ -2,12 +2,12 @@ div.background-image { color: white; - background-color: $info; + background-color: var(--bs-info); position: relative; background-position-y: -200px; background-image: url('/assets/images/banner.jpg'); background-size: cover; - @media screen and (max-width: map-get($grid-breakpoints, lg)) { + @media screen and (max-width: var(--bs-lg)) { background-position-y: 0; } @@ -18,24 +18,24 @@ div.background-image { &:before, &:after { content: ''; display: block; - width: $banner-background-gradient-width; + width: var(--ds-banner-background-gradient-width); height: 100%; top: 0; position: absolute; } &:before { - background: linear-gradient(to left, $banner-text-background, transparent); - left: -$banner-background-gradient-width; + background: linear-gradient(to left, var(--ds-banner-text-background), transparent); + left: calc(-1 * var(--ds-banner-background-gradient-width)); } &:after { - background: linear-gradient(to right, $banner-text-background, transparent); - right: -$banner-background-gradient-width; + background: linear-gradient(to right, var(--ds-banner-text-background), transparent); + right: calc(-1 * var(--ds-banner-background-gradient-width)); } - background-color: $banner-text-background; + background-color: var(--ds-banner-text-background); } @@ -46,7 +46,7 @@ div.background-image { opacity: 0.3; position: absolute; - right: $spacer; + right: var(--bs-spacer); bottom: 0; } } diff --git a/themes/mantis/app/+item-page/simple/item-page.component.html b/src/themes/mantis/app/+item-page/simple/item-page.component.html similarity index 100% rename from themes/mantis/app/+item-page/simple/item-page.component.html rename to src/themes/mantis/app/+item-page/simple/item-page.component.html diff --git a/themes/mantis/app/+item-page/simple/item-types/publication/publication.component.html b/src/themes/mantis/app/+item-page/simple/item-types/publication/publication.component.html similarity index 100% rename from themes/mantis/app/+item-page/simple/item-types/publication/publication.component.html rename to src/themes/mantis/app/+item-page/simple/item-types/publication/publication.component.html diff --git a/src/themes/mantis/app/+item-page/simple/item-types/publication/publication.component.scss b/src/themes/mantis/app/+item-page/simple/item-types/publication/publication.component.scss new file mode 100644 index 0000000000..501e2a7562 --- /dev/null +++ b/src/themes/mantis/app/+item-page/simple/item-types/publication/publication.component.scss @@ -0,0 +1,30 @@ +@import 'src/app/+item-page/simple/item-types/publication/publication.component.scss'; + +:host { + > * { + display: block; + padding-top: var(--ds-content-spacing); + padding-bottom: var(--ds-content-spacing); + } + + .top-item-page { + background-color: var(--bs-gray-100); + margin-top: calc(-1 * var(--ds-content-spacing)); + } + + .relationships-item-page { + padding-bottom: calc(var(--ds-content-spacing) - var(--bs-spacer)); + } + + ds-metadata-field-wrapper { + @media screen and (max-width: var(--bs-md)) { + flex: 1; + padding-right: calc(var(--bs-spacer) / 2); + } + + ds-thumbnail { + display: block; + max-width: var(--ds-thumbnail-max-width); + } + } +} diff --git a/themes/mantis/app/entity-groups/journal-entities/item-pages/journal-issue/journal-issue.component.html b/src/themes/mantis/app/entity-groups/journal-entities/item-pages/journal-issue/journal-issue.component.html similarity index 100% rename from themes/mantis/app/entity-groups/journal-entities/item-pages/journal-issue/journal-issue.component.html rename to src/themes/mantis/app/entity-groups/journal-entities/item-pages/journal-issue/journal-issue.component.html diff --git a/src/themes/mantis/app/entity-groups/journal-entities/item-pages/journal-issue/journal-issue.component.scss b/src/themes/mantis/app/entity-groups/journal-entities/item-pages/journal-issue/journal-issue.component.scss new file mode 100644 index 0000000000..4e0acbeccb --- /dev/null +++ b/src/themes/mantis/app/entity-groups/journal-entities/item-pages/journal-issue/journal-issue.component.scss @@ -0,0 +1,30 @@ +@import 'src/app/entity-groups/journal-entities/item-pages/journal-issue/journal-issue.component.scss'; + +:host { + > * { + display: block; + padding-top: var(--ds-content-spacing); + padding-bottom: var(--ds-content-spacing); + } + + .top-item-page { + background-color: var(--bs-gray-100); + margin-top: calc(-1 * var(--ds-content-spacing)); + } + + .relationships-item-page { + padding-bottom: calc(var(--ds-content-spacing) - var(--bs-spacer)); + } + + ds-metadata-field-wrapper { + @media screen and (max-width: var(--bs-md)) { + flex: 1; + padding-right: calc(var(--bs-spacer) / 2); + } + + ds-thumbnail { + display: block; + max-width: var(--ds-thumbnail-max-width); + } + } +} diff --git a/themes/mantis/app/entity-groups/journal-entities/item-pages/journal-volume/journal-volume.component.html b/src/themes/mantis/app/entity-groups/journal-entities/item-pages/journal-volume/journal-volume.component.html similarity index 100% rename from themes/mantis/app/entity-groups/journal-entities/item-pages/journal-volume/journal-volume.component.html rename to src/themes/mantis/app/entity-groups/journal-entities/item-pages/journal-volume/journal-volume.component.html diff --git a/src/themes/mantis/app/entity-groups/journal-entities/item-pages/journal-volume/journal-volume.component.scss b/src/themes/mantis/app/entity-groups/journal-entities/item-pages/journal-volume/journal-volume.component.scss new file mode 100644 index 0000000000..8142b1d09d --- /dev/null +++ b/src/themes/mantis/app/entity-groups/journal-entities/item-pages/journal-volume/journal-volume.component.scss @@ -0,0 +1,30 @@ +@import 'src/app/entity-groups/journal-entities/item-pages/journal-volume/journal-volume.component.scss'; + +:host { + > * { + display: block; + padding-top: var(--ds-content-spacing); + padding-bottom: var(--ds-content-spacing); + } + + .top-item-page { + background-color: var(--bs-gray-100); + margin-top: calc(-1 * var(--ds-content-spacing)); + } + + .relationships-item-page { + padding-bottom: calc(var(--ds-content-spacing) - var(--bs-spacer)); + } + + ds-metadata-field-wrapper { + @media screen and (max-width: var(--bs-md)) { + flex: 1; + padding-right: calc(var(--bs-spacer) / 2); + } + + ds-thumbnail { + display: block; + max-width: var(--ds-thumbnail-max-width); + } + } +} diff --git a/themes/mantis/app/entity-groups/journal-entities/item-pages/journal/journal.component.html b/src/themes/mantis/app/entity-groups/journal-entities/item-pages/journal/journal.component.html similarity index 100% rename from themes/mantis/app/entity-groups/journal-entities/item-pages/journal/journal.component.html rename to src/themes/mantis/app/entity-groups/journal-entities/item-pages/journal/journal.component.html diff --git a/src/themes/mantis/app/entity-groups/journal-entities/item-pages/journal/journal.component.scss b/src/themes/mantis/app/entity-groups/journal-entities/item-pages/journal/journal.component.scss new file mode 100644 index 0000000000..28664b1794 --- /dev/null +++ b/src/themes/mantis/app/entity-groups/journal-entities/item-pages/journal/journal.component.scss @@ -0,0 +1,38 @@ +@import 'src/app/entity-groups/journal-entities/item-pages/journal/journal.component.scss'; + +:host { + > * { + display: block; + padding-top: var(--ds-content-spacing); + padding-bottom: var(--ds-content-spacing); + } + + .top-item-page { + background-color: var(--bs-gray-100); + margin-top: calc(-1 * var(--ds-content-spacing)); + } + + .relationships-item-page { + padding-bottom: calc(var(--ds-content-spacing) - var(--bs-spacer)); + } + + ds-metadata-field-wrapper { + @media screen and (max-width: var(--bs-md)) { + flex: 1; + padding-right: calc(var(--bs-spacer) / 2); + } + + ds-thumbnail { + display: block; + max-width: var(--ds-thumbnail-max-width); + } + } + + .search-container { + margin-bottom: var(--bs-spacer); + @media screen and (max-width: var(--bs-lg)) { + width: 100%; + max-width: none; + } + } +} diff --git a/themes/mantis/app/entity-groups/research-entities/item-pages/org-unit/org-unit.component.html b/src/themes/mantis/app/entity-groups/research-entities/item-pages/org-unit/org-unit.component.html similarity index 100% rename from themes/mantis/app/entity-groups/research-entities/item-pages/org-unit/org-unit.component.html rename to src/themes/mantis/app/entity-groups/research-entities/item-pages/org-unit/org-unit.component.html diff --git a/src/themes/mantis/app/entity-groups/research-entities/item-pages/org-unit/org-unit.component.scss b/src/themes/mantis/app/entity-groups/research-entities/item-pages/org-unit/org-unit.component.scss new file mode 100644 index 0000000000..89c637760d --- /dev/null +++ b/src/themes/mantis/app/entity-groups/research-entities/item-pages/org-unit/org-unit.component.scss @@ -0,0 +1,30 @@ +@import 'src/app/entity-groups/research-entities/item-pages/org-unit/org-unit.component.scss'; + +:host { + > * { + display: block; + padding-top: var(--ds-content-spacing); + padding-bottom: var(--ds-content-spacing); + } + + .top-item-page { + background-color: var(--bs-gray-100); + margin-top: calc(-1 * var(--ds-content-spacing)); + } + + .relationships-item-page { + padding-bottom: calc(var(--ds-content-spacing) - var(--bs-spacer)); + } + + ds-metadata-field-wrapper { + @media screen and (max-width: var(--bs-md)) { + flex: 1; + padding-right: calc(var(--bs-spacer) / 2); + } + + ds-thumbnail { + display: block; + max-width: var(--ds-thumbnail-max-width); + } + } +} diff --git a/themes/mantis/app/entity-groups/research-entities/item-pages/person/person.component.html b/src/themes/mantis/app/entity-groups/research-entities/item-pages/person/person.component.html similarity index 100% rename from themes/mantis/app/entity-groups/research-entities/item-pages/person/person.component.html rename to src/themes/mantis/app/entity-groups/research-entities/item-pages/person/person.component.html diff --git a/src/themes/mantis/app/entity-groups/research-entities/item-pages/person/person.component.scss b/src/themes/mantis/app/entity-groups/research-entities/item-pages/person/person.component.scss new file mode 100644 index 0000000000..c6049438dd --- /dev/null +++ b/src/themes/mantis/app/entity-groups/research-entities/item-pages/person/person.component.scss @@ -0,0 +1,38 @@ +@import 'src/app/entity-groups/research-entities/item-pages/person/person.component.scss'; + +:host { + > * { + display: block; + padding-top: var(--ds-content-spacing); + padding-bottom: var(--ds-content-spacing); + } + + .top-item-page { + background-color: var(--bs-gray-100); + margin-top: calc(-1 * var(--ds-content-spacing)); + } + + .relationships-item-page { + padding-bottom: calc(var(--ds-content-spacing) - var(--bs-spacer)); + } + + ds-metadata-field-wrapper { + @media screen and (max-width: var(--bs-md)) { + flex: 1; + padding-right: calc(var(--bs-spacer) / 2); + } + + ds-thumbnail { + display: block; + max-width: var(--ds-thumbnail-max-width); + } + } + + .search-container { + margin-bottom: var(--bs-spacer); + @media screen and (max-width: var(--bs-lg)) { + width: 100%; + max-width: none; + } + } +} diff --git a/themes/mantis/app/entity-groups/research-entities/item-pages/project/project.component.html b/src/themes/mantis/app/entity-groups/research-entities/item-pages/project/project.component.html similarity index 100% rename from themes/mantis/app/entity-groups/research-entities/item-pages/project/project.component.html rename to src/themes/mantis/app/entity-groups/research-entities/item-pages/project/project.component.html diff --git a/src/themes/mantis/app/entity-groups/research-entities/item-pages/project/project.component.scss b/src/themes/mantis/app/entity-groups/research-entities/item-pages/project/project.component.scss new file mode 100644 index 0000000000..502b5102ca --- /dev/null +++ b/src/themes/mantis/app/entity-groups/research-entities/item-pages/project/project.component.scss @@ -0,0 +1,30 @@ +@import 'src/app/entity-groups/research-entities/item-pages/project/project.component.scss'; + +:host { + > * { + display: block; + padding-top: var(--ds-content-spacing); + padding-bottom: var(--ds-content-spacing); + } + + .top-item-page { + background-color: var(--bs-gray-100); + margin-top: calc(-1 * var(--ds-content-spacing)); + } + + .relationships-item-page { + padding-bottom: calc(var(--ds-content-spacing) - var(--bs-spacer)); + } + + ds-metadata-field-wrapper { + @media screen and (max-width: var(--bs-md)) { + flex: 1; + padding-right: calc(var(--bs-spacer) / 2); + } + + ds-thumbnail { + display: block; + max-width: var(--ds-thumbnail-max-width); + } + } +} diff --git a/themes/mantis/app/navbar/navbar.component.html b/src/themes/mantis/app/navbar/navbar.component.html similarity index 100% rename from themes/mantis/app/navbar/navbar.component.html rename to src/themes/mantis/app/navbar/navbar.component.html diff --git a/themes/mantis/app/navbar/navbar.component.scss b/src/themes/mantis/app/navbar/navbar.component.scss similarity index 100% rename from themes/mantis/app/navbar/navbar.component.scss rename to src/themes/mantis/app/navbar/navbar.component.scss diff --git a/themes/mantis/app/shared/search-form/search-form.component.html b/src/themes/mantis/app/shared/search-form/search-form.component.html similarity index 100% rename from themes/mantis/app/shared/search-form/search-form.component.html rename to src/themes/mantis/app/shared/search-form/search-form.component.html diff --git a/themes/mantis/app/shared/search/search-filters/search-filter/search-facet-filter-options/search-facet-option/search-facet-option.component.html b/src/themes/mantis/app/shared/search/search-filters/search-filter/search-facet-filter-options/search-facet-option/search-facet-option.component.html similarity index 100% rename from themes/mantis/app/shared/search/search-filters/search-filter/search-facet-filter-options/search-facet-option/search-facet-option.component.html rename to src/themes/mantis/app/shared/search/search-filters/search-filter/search-facet-filter-options/search-facet-option/search-facet-option.component.html diff --git a/themes/mantis/app/shared/search/search-filters/search-filter/search-facet-filter-options/search-facet-range-option/search-facet-range-option.component.html b/src/themes/mantis/app/shared/search/search-filters/search-filter/search-facet-filter-options/search-facet-range-option/search-facet-range-option.component.html similarity index 100% rename from themes/mantis/app/shared/search/search-filters/search-filter/search-facet-filter-options/search-facet-range-option/search-facet-range-option.component.html rename to src/themes/mantis/app/shared/search/search-filters/search-filter/search-facet-filter-options/search-facet-range-option/search-facet-range-option.component.html diff --git a/themes/mantis/app/shared/search/search-filters/search-filter/search-filter.component.html b/src/themes/mantis/app/shared/search/search-filters/search-filter/search-filter.component.html similarity index 100% rename from themes/mantis/app/shared/search/search-filters/search-filter/search-filter.component.html rename to src/themes/mantis/app/shared/search/search-filters/search-filter/search-filter.component.html diff --git a/themes/mantis/app/shared/search/search-filters/search-filter/search-filter.component.scss b/src/themes/mantis/app/shared/search/search-filters/search-filter/search-filter.component.scss similarity index 63% rename from themes/mantis/app/shared/search/search-filters/search-filter/search-filter.component.scss rename to src/themes/mantis/app/shared/search/search-filters/search-filter/search-filter.component.scss index 4d2d29ae41..0e78c64629 100644 --- a/themes/mantis/app/shared/search/search-filters/search-filter/search-filter.component.scss +++ b/src/themes/mantis/app/shared/search/search-filters/search-filter/search-filter.component.scss @@ -1,8 +1,8 @@ @import 'src/app/shared/search/search-filters/search-filter/search-filter.component.scss'; .facet-filter { - background-color: map-get($theme-colors, light); - border-radius: $border-radius; + background-color: var(--bs-light); + border-radius: var(--bs-border-radius); h5 { font-size: 1.1rem diff --git a/themes/mantis/app/shared/search/search-filters/search-filter/search-range-filter/search-range-filter.component.scss b/src/themes/mantis/app/shared/search/search-filters/search-filter/search-range-filter/search-range-filter.component.scss similarity index 82% rename from themes/mantis/app/shared/search/search-filters/search-filter/search-range-filter/search-range-filter.component.scss rename to src/themes/mantis/app/shared/search/search-filters/search-filter/search-range-filter/search-range-filter.component.scss index 7edcb8f063..158a0d3b4e 100644 --- a/themes/mantis/app/shared/search/search-filters/search-filter/search-range-filter/search-range-filter.component.scss +++ b/src/themes/mantis/app/shared/search/search-filters/search-filter/search-range-filter/search-range-filter.component.scss @@ -1,5 +1,5 @@ @import 'src/app/shared/search/search-filters/search-filter/search-range-filter/search-range-filter.component.scss'; ::ng-deep .noUi-connect { - background: $info; + background: var(--bs-info); } diff --git a/themes/mantis/app/shared/search/search-filters/search-filters.component.html b/src/themes/mantis/app/shared/search/search-filters/search-filters.component.html similarity index 100% rename from themes/mantis/app/shared/search/search-filters/search-filters.component.html rename to src/themes/mantis/app/shared/search/search-filters/search-filters.component.html diff --git a/themes/mantis/app/shared/search/search-settings/search-settings.component.html b/src/themes/mantis/app/shared/search/search-settings/search-settings.component.html similarity index 100% rename from themes/mantis/app/shared/search/search-settings/search-settings.component.html rename to src/themes/mantis/app/shared/search/search-settings/search-settings.component.html diff --git a/themes/mantis/app/shared/search/search-settings/search-settings.component.scss b/src/themes/mantis/app/shared/search/search-settings/search-settings.component.scss similarity index 61% rename from themes/mantis/app/shared/search/search-settings/search-settings.component.scss rename to src/themes/mantis/app/shared/search/search-settings/search-settings.component.scss index 073039dae8..b3ee0ba60e 100644 --- a/themes/mantis/app/shared/search/search-settings/search-settings.component.scss +++ b/src/themes/mantis/app/shared/search/search-settings/search-settings.component.scss @@ -1,8 +1,8 @@ @import 'src/app/shared/search/search-settings/search-settings.component.scss'; .setting-option { - background-color: map-get($theme-colors, light); - border-radius: $border-radius; + background-color: var(--bs-light); + border-radius: var(--bs-border-radius); h5 { font-size: 1.1rem } diff --git a/src/themes/mantis/readme.md b/src/themes/mantis/readme.md new file mode 100644 index 0000000000..93bdf36f47 --- /dev/null +++ b/src/themes/mantis/readme.md @@ -0,0 +1,2 @@ +#Note +For now the existing mantis theme has only been moved to the new themes folder, it has not yet been adapted to work as a dynamic theme. \ No newline at end of file diff --git a/themes/mantis/styles/_themed_bootstrap_variables.scss b/src/themes/mantis/styles/_themed_bootstrap_variables.scss similarity index 100% rename from themes/mantis/styles/_themed_bootstrap_variables.scss rename to src/themes/mantis/styles/_themed_bootstrap_variables.scss diff --git a/src/themes/mantis/styles/_themed_custom_variables.scss b/src/themes/mantis/styles/_themed_custom_variables.scss new file mode 100644 index 0000000000..60d248c4ae --- /dev/null +++ b/src/themes/mantis/styles/_themed_custom_variables.scss @@ -0,0 +1,4 @@ +:root { + --ds-banner-text-background: rgba(0, 0, 0, 0.35); + --ds-banner-background-gradient-width: 300px; +} diff --git a/src/themes/themed-entry-component.module.ts b/src/themes/themed-entry-component.module.ts new file mode 100644 index 0000000000..41cdf62269 --- /dev/null +++ b/src/themes/themed-entry-component.module.ts @@ -0,0 +1,23 @@ +import { NgModule } from '@angular/core'; +import { ENTRY_COMPONENTS as CUSTOM } from './custom/entry-components'; + +const ENTRY_COMPONENTS = [ + ...CUSTOM, +]; + + +/** + * This module only serves to ensure themed entry components are discoverable. It's kept separate + * from the theme modules to ensure only the minimal number of theme components is loaded ahead of + * time + */ +@NgModule() +export class ThemedEntryComponentModule { + static withEntryComponents() { + return { + ngModule: ThemedEntryComponentModule, + providers: ENTRY_COMPONENTS.map((component) => ({provide: component})) + }; + } + +} diff --git a/themes/mantis/app/+home-page/home-news/home-news.component.scss b/themes/mantis/app/+home-page/home-news/home-news.component.scss deleted file mode 100644 index c693e9a493..0000000000 --- a/themes/mantis/app/+home-page/home-news/home-news.component.scss +++ /dev/null @@ -1,15 +0,0 @@ -@import 'src/app/+home-page/home-news/home-news.component.scss'; -$home-news-link-color: $green !default; -$home-news-link-color: darken($home-news-link-color, 15%) !default; - -.jumbotron { - background-color: transparent; -} - -a { - color: $home-news-link-color; - - @include hover { - color: $home-news-link-color; - } -} diff --git a/themes/mantis/app/+item-page/simple/item-types/publication/publication.component.scss b/themes/mantis/app/+item-page/simple/item-types/publication/publication.component.scss deleted file mode 100644 index f65d9a00d5..0000000000 --- a/themes/mantis/app/+item-page/simple/item-types/publication/publication.component.scss +++ /dev/null @@ -1,30 +0,0 @@ -@import 'src/app/+item-page/simple/item-types/publication/publication.component.scss'; - -:host { - > * { - display: block; - padding-top: $content-spacing; - padding-bottom: $content-spacing; - } - - .top-item-page { - background-color: $gray-100; - margin-top: -$content-spacing; - } - - .relationships-item-page { - padding-bottom: $content-spacing - $spacer; - } - - ds-metadata-field-wrapper { - @media screen and (max-width: map-get($grid-breakpoints, md)) { - flex: 1; - padding-right: $spacer/2; - } - - ds-thumbnail { - display: block; - max-width: $thumbnail-max-width; - } - } -} diff --git a/themes/mantis/app/entity-groups/journal-entities/item-pages/journal-issue/journal-issue.component.scss b/themes/mantis/app/entity-groups/journal-entities/item-pages/journal-issue/journal-issue.component.scss deleted file mode 100644 index 3caa55f533..0000000000 --- a/themes/mantis/app/entity-groups/journal-entities/item-pages/journal-issue/journal-issue.component.scss +++ /dev/null @@ -1,30 +0,0 @@ -@import 'src/app/entity-groups/journal-entities/item-pages/journal-issue/journal-issue.component.scss'; - -:host { - > * { - display: block; - padding-top: $content-spacing; - padding-bottom: $content-spacing; - } - - .top-item-page { - background-color: $gray-100; - margin-top: -$content-spacing; - } - - .relationships-item-page { - padding-bottom: $content-spacing - $spacer; - } - - ds-metadata-field-wrapper { - @media screen and (max-width: map-get($grid-breakpoints, md)) { - flex: 1; - padding-right: $spacer/2; - } - - ds-thumbnail { - display: block; - max-width: $thumbnail-max-width; - } - } -} diff --git a/themes/mantis/app/entity-groups/journal-entities/item-pages/journal-volume/journal-volume.component.scss b/themes/mantis/app/entity-groups/journal-entities/item-pages/journal-volume/journal-volume.component.scss deleted file mode 100644 index 5c2534b318..0000000000 --- a/themes/mantis/app/entity-groups/journal-entities/item-pages/journal-volume/journal-volume.component.scss +++ /dev/null @@ -1,30 +0,0 @@ -@import 'src/app/entity-groups/journal-entities/item-pages/journal-volume/journal-volume.component.scss'; - -:host { - > * { - display: block; - padding-top: $content-spacing; - padding-bottom: $content-spacing; - } - - .top-item-page { - background-color: $gray-100; - margin-top: -$content-spacing; - } - - .relationships-item-page { - padding-bottom: $content-spacing - $spacer; - } - - ds-metadata-field-wrapper { - @media screen and (max-width: map-get($grid-breakpoints, md)) { - flex: 1; - padding-right: $spacer/2; - } - - ds-thumbnail { - display: block; - max-width: $thumbnail-max-width; - } - } -} diff --git a/themes/mantis/app/entity-groups/journal-entities/item-pages/journal/journal.component.scss b/themes/mantis/app/entity-groups/journal-entities/item-pages/journal/journal.component.scss deleted file mode 100644 index 5c0d1c44b8..0000000000 --- a/themes/mantis/app/entity-groups/journal-entities/item-pages/journal/journal.component.scss +++ /dev/null @@ -1,38 +0,0 @@ -@import 'src/app/entity-groups/journal-entities/item-pages/journal/journal.component.scss'; - -:host { - > * { - display: block; - padding-top: $content-spacing; - padding-bottom: $content-spacing; - } - - .top-item-page { - background-color: $gray-100; - margin-top: -$content-spacing; - } - - .relationships-item-page { - padding-bottom: $content-spacing - $spacer; - } - - ds-metadata-field-wrapper { - @media screen and (max-width: map-get($grid-breakpoints, md)) { - flex: 1; - padding-right: $spacer/2; - } - - ds-thumbnail { - display: block; - max-width: $thumbnail-max-width; - } - } - - .search-container { - margin-bottom: $spacer; - @media screen and (max-width: map-get($grid-breakpoints, lg)) { - width: 100%; - max-width: none; - } - } -} diff --git a/themes/mantis/app/entity-groups/research-entities/item-pages/org-unit/org-unit.component.scss b/themes/mantis/app/entity-groups/research-entities/item-pages/org-unit/org-unit.component.scss deleted file mode 100644 index 4a1d2516da..0000000000 --- a/themes/mantis/app/entity-groups/research-entities/item-pages/org-unit/org-unit.component.scss +++ /dev/null @@ -1,30 +0,0 @@ -@import 'src/app/entity-groups/research-entities/item-pages/org-unit/org-unit.component.scss'; - -:host { - > * { - display: block; - padding-top: $content-spacing; - padding-bottom: $content-spacing; - } - - .top-item-page { - background-color: $gray-100; - margin-top: -$content-spacing; - } - - .relationships-item-page { - padding-bottom: $content-spacing - $spacer; - } - - ds-metadata-field-wrapper { - @media screen and (max-width: map-get($grid-breakpoints, md)) { - flex: 1; - padding-right: $spacer/2; - } - - ds-thumbnail { - display: block; - max-width: $thumbnail-max-width; - } - } -} diff --git a/themes/mantis/app/entity-groups/research-entities/item-pages/person/person.component.scss b/themes/mantis/app/entity-groups/research-entities/item-pages/person/person.component.scss deleted file mode 100644 index 48571b05b2..0000000000 --- a/themes/mantis/app/entity-groups/research-entities/item-pages/person/person.component.scss +++ /dev/null @@ -1,38 +0,0 @@ -@import 'src/app/entity-groups/research-entities/item-pages/person/person.component.scss'; - -:host { - > * { - display: block; - padding-top: $content-spacing; - padding-bottom: $content-spacing; - } - - .top-item-page { - background-color: $gray-100; - margin-top: -$content-spacing; - } - - .relationships-item-page { - padding-bottom: $content-spacing - $spacer; - } - - ds-metadata-field-wrapper { - @media screen and (max-width: map-get($grid-breakpoints, md)) { - flex: 1; - padding-right: $spacer/2; - } - - ds-thumbnail { - display: block; - max-width: $thumbnail-max-width; - } - } - - .search-container { - margin-bottom: $spacer; - @media screen and (max-width: map-get($grid-breakpoints, lg)) { - width: 100%; - max-width: none; - } - } -} diff --git a/themes/mantis/app/entity-groups/research-entities/item-pages/project/project.component.scss b/themes/mantis/app/entity-groups/research-entities/item-pages/project/project.component.scss deleted file mode 100644 index d2707d30cc..0000000000 --- a/themes/mantis/app/entity-groups/research-entities/item-pages/project/project.component.scss +++ /dev/null @@ -1,30 +0,0 @@ -@import 'src/app/entity-groups/research-entities/item-pages/project/project.component.scss'; - -:host { - > * { - display: block; - padding-top: $content-spacing; - padding-bottom: $content-spacing; - } - - .top-item-page { - background-color: $gray-100; - margin-top: -$content-spacing; - } - - .relationships-item-page { - padding-bottom: $content-spacing - $spacer; - } - - ds-metadata-field-wrapper { - @media screen and (max-width: map-get($grid-breakpoints, md)) { - flex: 1; - padding-right: $spacer/2; - } - - ds-thumbnail { - display: block; - max-width: $thumbnail-max-width; - } - } -} diff --git a/themes/mantis/styles/_themed_custom_variables.scss b/themes/mantis/styles/_themed_custom_variables.scss deleted file mode 100644 index 1be25e953f..0000000000 --- a/themes/mantis/styles/_themed_custom_variables.scss +++ /dev/null @@ -1,2 +0,0 @@ -$banner-text-background: rgba(0, 0, 0, 0.35); -$banner-background-gradient-width: 300px; diff --git a/tsconfig.app.json b/tsconfig.app.json index 097a41d2b6..8700bbe0b3 100644 --- a/tsconfig.app.json +++ b/tsconfig.app.json @@ -9,7 +9,8 @@ "src/polyfills.ts" ], "include": [ - "src/**/*.d.ts" + "src/**/*.d.ts", + "src/themes/**/*.module.ts" ], "exclude": [ "src/test.ts", diff --git a/webpack/helpers.ts b/webpack/helpers.ts index 66580832ac..532b170bf3 100644 --- a/webpack/helpers.ts +++ b/webpack/helpers.ts @@ -1,79 +1,18 @@ const path = require('path'); -const fs = require('fs'); -const environment = require('../src/environments/environment.ts').environment; export const projectRoot = (relativePath) => { return path.resolve(__dirname, '..', relativePath); }; -export const srcPath = projectRoot('src'); - -export const buildRoot = (relativePath) => { - if (environment.aot) { - return path.resolve(projectRoot('./build'), relativePath); - } else { - return path.resolve(projectRoot('src'), relativePath); - } -}; - -export const theme = environment.theme.name; - -export let themePath; - -if (theme !== null && theme !== undefined) { - themePath = path.normalize(path.join(__dirname, '..', 'themes', theme)); -} else { - themePath = srcPath; -} - export const globalCSSImports = () => { return [ - buildRoot('styles/_variables.scss'), - buildRoot('styles/_mixins.scss'), + projectRoot('src/styles/_variables.scss'), + projectRoot('src/styles/_mixins.scss'), ]; }; -const getThemedPath = (componentPath, ext) => { - const parsedPath = path.parse(componentPath); - const relativePath = path.relative(srcPath, parsedPath.dir); - return path.join(themePath, relativePath, `${parsedPath.name}.${ext}`); -}; - -export const themedTest = (origPath, extension) => { - if (/\.component.ts$/.test(origPath)) { // only match components - const themedPath = getThemedPath(origPath, extension); - return fs.existsSync(themedPath); - } else { - return false; - } -}; - -export const themedUse = (resource, extension) => { - const origPath = path.parse(resource); - let themedPath = getThemedPath(resource, extension); - - /* Make sure backslashes are escaped twice, because the replace unescapes those again */ - themedPath = themedPath.replace(/\\/g, '\\\\'); - - return [ - { - loader: 'string-replace-loader', - options: { - search: `\.\/${origPath.name}\.${extension}`, - replace: themedPath, - flags: 'g' - } - } - ]; -}; module.exports = { projectRoot, - buildRoot, - theme: theme, - themePath, - getThemedPath, - themedTest, - themedUse, globalCSSImports }; diff --git a/webpack/webpack.common.ts b/webpack/webpack.common.ts index 48fb0808bc..f0179ad2ea 100644 --- a/webpack/webpack.common.ts +++ b/webpack/webpack.common.ts @@ -1,4 +1,4 @@ -import { buildRoot, globalCSSImports, projectRoot, themedTest, themedUse, themePath } from './helpers'; +import { globalCSSImports, projectRoot } from './helpers'; const CopyWebpackPlugin = require('copy-webpack-plugin'); const path = require('path'); @@ -26,11 +26,27 @@ export const copyWebpackOptions = [ } ]; +const SCSS_LOADERS = [{ + loader: 'postcss-loader', + options: { + sourceMap: true + } +}, + { + loader: 'sass-loader', + options: { + sourceMap: true, + sassOptions: { + includePaths: [projectRoot('./')] + } + } + },] + export const commonExports = { plugins: [ new CopyWebpackPlugin(copyWebpackOptions), new HtmlWebpackPlugin({ - template: buildRoot('./index.html', ), + template: projectRoot('./src/index.html', ), output: projectRoot('dist'), inject: 'head' }), @@ -40,14 +56,6 @@ export const commonExports = { ], module: { rules: [ - { - test: (filePath) => themedTest(filePath, 'scss'), - use: (info) => themedUse(info.resource, 'scss') - }, - { - test: (filePath) => themedTest(filePath, 'html'), - use: (info) => themedUse(info.resource, 'html') - }, { test: /\.ts$/, loader: '@ngtools/webpack' @@ -56,19 +64,10 @@ export const commonExports = { test: /\.scss$/, exclude: [ /node_modules/, - buildRoot('styles/_exposed_variables.scss'), - buildRoot('styles/_variables.scss') + /(_exposed)?_variables.scss$|\/src\/themes\/[^/]+\/styles\/.+.scss$/ ], use: [ - { - loader: 'sass-loader', - options: { - sourceMap: true, - sassOptions: { - includePaths: [projectRoot('./'), path.join(themePath, 'styles')] - } - } - }, + ...SCSS_LOADERS, { loader: 'sass-resources-loader', options: { @@ -78,24 +77,10 @@ export const commonExports = { ] }, { - test: /(_exposed)?_variables.scss$/, + test: /(_exposed)?_variables.scss$|\/src\/themes\/[^/]+\/styles\/.+.scss$/, exclude: [/node_modules/], use: [ - { - loader: 'postcss-loader', - options: { - sourceMap: true - } - }, - { - loader: 'sass-loader', - options: { - sourceMap: true, - sassOptions: { - includePaths: [projectRoot('./'), path.join(themePath, 'styles')] - } - } - } + ...SCSS_LOADERS, ] }, ], diff --git a/webpack/webpack.prod.ts b/webpack/webpack.prod.ts index e9fba2e65e..40e551610b 100644 --- a/webpack/webpack.prod.ts +++ b/webpack/webpack.prod.ts @@ -1,5 +1,5 @@ import { commonExports } from './webpack.common'; -import { buildRoot, projectRoot } from './helpers'; +import { projectRoot } from './helpers'; const webpack = require('webpack'); const nodeExternals = require('webpack-node-externals'); @@ -16,7 +16,7 @@ module.exports = Object.assign({}, commonExports, { ], mode: 'production', recordsOutputPath: projectRoot('webpack.records.json'), - entry: buildRoot('./main.server.ts'), + entry: projectRoot('./src/main.server.ts'), target: 'node', externals: [nodeExternals({ whitelist: [ diff --git a/yarn.lock b/yarn.lock index 29a03624ab..e4356157b7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -252,9 +252,9 @@ tslib "^2.0.0" "@angular/language-service@~10.2.3": - version "10.2.3" - resolved "https://registry.yarnpkg.com/@angular/language-service/-/language-service-10.2.3.tgz#bb678c11822b9bf7ca007703a31dae090dc2c0ab" - integrity sha512-8rtNG3HjBdUMlKcakh6gDfFvYSS5X16ymbVR0i2L/Nc4d9HuqgKrIrsNY4We/jSBoAjo/CGS8AvbscMa8oW4Eg== + version "10.2.4" + resolved "https://registry.yarnpkg.com/@angular/language-service/-/language-service-10.2.4.tgz#0c533149c110445ae67a7fd833c5aa03182fcec0" + integrity sha512-WmaX2lst7LOPVdCLdgR2Yddvy+DrQ5fhaXexZ1mYFnWBwW8gDXcRP+sHAkvTu752mF5c0C4OEMR9UJdwrHntrg== "@angular/localize@10.2.3": version "10.2.3" @@ -1373,6 +1373,11 @@ dependencies: mkdirp "^1.0.4" +"@polka/url@^1.0.0-next.9": + version "1.0.0-next.11" + resolved "https://registry.yarnpkg.com/@polka/url/-/url-1.0.0-next.11.tgz#aeb16f50649a91af79dbe36574b66d0f9e4d9f71" + integrity sha512-3NsZsJIA/22P3QUyrEDNA2D133H4j224twJrdipXN38dpnIOzAbUDtOwkcJ5pXmn75w7LSQDjA4tO9dm1XlqlA== + "@scarf/scarf@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@scarf/scarf/-/scarf-1.1.0.tgz#b84b4a91cd938a688d36245b7a7db6fbc476a499" @@ -1840,6 +1845,11 @@ acorn-walk@^7.1.1: resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== +acorn-walk@^8.0.0: + version "8.0.2" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.0.2.tgz#d4632bfc63fd93d0f15fd05ea0e984ffd3f5a8c3" + integrity sha512-+bpA9MJsHdZ4bgfDcpk0ozQyhhVct7rzOmO0s1IIr0AGGgKBljss8n2zp11rRP2wid5VGeh04CgeKzgat5/25A== + acorn@^6.4.1: version "6.4.2" resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6" @@ -1850,6 +1860,11 @@ acorn@^7.1.1: resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== +acorn@^8.0.4: + version "8.0.5" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.0.5.tgz#a3bfb872a74a6a7f661bc81b9849d9cac12601b7" + integrity sha512-v+DieK/HJkJOpFBETDJioequtc3PfxsWMaxIdIwujtF7FEV/MAyDQLlm6/zPvr7Mix07mLh6ccVwIsloceodlg== + adjust-sourcemap-loader@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/adjust-sourcemap-loader/-/adjust-sourcemap-loader-3.0.0.tgz#5ae12fb5b7b1c585e80bbb5a63ec163a1a45e61e" @@ -2371,16 +2386,6 @@ better-assert@~1.0.0: dependencies: callsite "1.0.0" -bfj@^6.1.1: - version "6.1.2" - resolved "https://registry.yarnpkg.com/bfj/-/bfj-6.1.2.tgz#325c861a822bcb358a41c78a33b8e6e2086dde7f" - integrity sha512-BmBJa4Lip6BPRINSZ0BPEIfB1wUY/9rwbwvIHQA1KjX9om29B6id0wnWXq7m3bn5JrUVjeOTnVuhPT1FiHwPGw== - dependencies: - bluebird "^3.5.5" - check-types "^8.0.3" - hoopy "^0.1.4" - tryer "^1.0.1" - big.js@^3.1.3: version "3.2.0" resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.2.0.tgz#a5fc298b81b9e0dca2e458824784b65c52ba588e" @@ -2958,11 +2963,6 @@ charenc@0.0.2: resolved "https://registry.yarnpkg.com/charenc/-/charenc-0.0.2.tgz#c0a1d2f3a7092e03774bfa83f14c0fc5790a8667" integrity sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc= -check-types@^8.0.3: - version "8.0.3" - resolved "https://registry.yarnpkg.com/check-types/-/check-types-8.0.3.tgz#3356cca19c889544f2d7a95ed49ce508a0ecf552" - integrity sha512-YpeKZngUmG65rLudJ4taU7VLkOCTMhNl/u4ctNC56LQS/zJTyNH0Lrtwm1tfTsbLlwvlfsA2d1c8vCf/Kh2KwQ== - "chokidar@>=2.0.0 <4.0.0", chokidar@^3.0.0, chokidar@^3.2.2, chokidar@^3.3.0, chokidar@^3.4.1, chokidar@^3.4.2: version "3.4.3" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.3.tgz#c1df38231448e45ca4ac588e6c79573ba6a57d5b" @@ -3237,7 +3237,7 @@ command-line-usage@^6.1.0: table-layout "^1.0.1" typical "^5.2.0" -commander@^2.11.0, commander@^2.12.1, commander@^2.18.0, commander@^2.2.0, commander@^2.20.0: +commander@^2.11.0, commander@^2.12.1, commander@^2.2.0, commander@^2.20.0: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== @@ -4320,7 +4320,7 @@ duplexer3@^0.1.4: resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI= -duplexer@^0.1.1: +duplexer@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== @@ -4362,11 +4362,6 @@ ee-first@1.1.1: resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= -ejs@^2.6.1: - version "2.7.4" - resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.7.4.tgz#48661287573dcc53e366c7a1ae52c3a120eec9ba" - integrity sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA== - electron-to-chromium@^1.3.621: version "1.3.622" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.622.tgz#9726bd2e67a5462154750ce9701ca6af07d07877" @@ -4801,7 +4796,7 @@ express-rate-limit@^5.1.3: resolved "https://registry.yarnpkg.com/express-rate-limit/-/express-rate-limit-5.2.3.tgz#ae73b3dc723decd697797611bd96e9b34a912f6c" integrity sha512-cjQH+oDrEPXxc569XvxhHC6QXqJiuBT6BhZ70X3bdAImcnHnTNMVuMAJaT0TXPoRiEErUrVPRcOTpZpM36VbOQ== -express@^4.16.3, express@^4.17.1: +express@^4.17.1: version "4.17.1" resolved "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134" integrity sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g== @@ -4985,11 +4980,6 @@ file-uri-to-path@1.0.0: resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== -filesize@^3.6.1: - version "3.6.1" - resolved "https://registry.yarnpkg.com/filesize/-/filesize-3.6.1.tgz#090bb3ee01b6f801a8a8be99d31710b3422bb317" - integrity sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg== - filesize@^6.1.0: version "6.1.0" resolved "https://registry.yarnpkg.com/filesize/-/filesize-6.1.0.tgz#e81bdaa780e2451d714d71c0d7a4f3238d37ad00" @@ -5448,13 +5438,12 @@ guess-parser@^0.4.12: dependencies: "@wessberg/ts-evaluator" "0.0.27" -gzip-size@^5.0.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-5.1.1.tgz#cb9bee692f87c0612b232840a873904e4c135274" - integrity sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA== +gzip-size@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-6.0.0.tgz#065367fd50c239c0671cbcbad5be3e2eeb10e462" + integrity sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q== dependencies: - duplexer "^0.1.1" - pify "^4.0.1" + duplexer "^0.1.2" handle-thing@^2.0.0: version "2.0.1" @@ -5587,11 +5576,6 @@ hmac-drbg@^1.0.0: minimalistic-assert "^1.0.0" minimalistic-crypto-utils "^1.0.1" -hoopy@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/hoopy/-/hoopy-0.1.4.tgz#609207d661100033a9a9402ad3dea677381c1b1d" - integrity sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ== - hosted-git-info@^2.1.4, hosted-git-info@^2.7.1: version "2.8.8" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488" @@ -7389,6 +7373,11 @@ mime@1.6.0, mime@^1.4.1: resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== +mime@^2.3.1: + version "2.5.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-2.5.0.tgz#2b4af934401779806ee98026bb42e8c1ae1876b1" + integrity sha512-ft3WayFSFUVBuJj7BMLKAQcSlItKtfjsKDDsii3rqFDAZ7t11zRe8ASw/GlmivGwVUYtwkQrxiGGpL6gFvB0ag== + mime@^2.4.4, mime@^2.4.5: version "2.4.6" resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.6.tgz#e5b407c90db442f2beb5b162373d07b69affa4d1" @@ -8083,7 +8072,7 @@ opencollective-postinstall@^2.0.2: resolved "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz#7a0fff978f6dbfa4d006238fbac98ed4198c3259" integrity sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q== -opener@^1.5.1: +opener@^1.5.2: version "1.5.2" resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598" integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== @@ -10425,6 +10414,15 @@ simple-swizzle@^0.2.2: dependencies: is-arrayish "^0.3.1" +sirv@^1.0.7: + version "1.0.11" + resolved "https://registry.yarnpkg.com/sirv/-/sirv-1.0.11.tgz#81c19a29202048507d6ec0d8ba8910fda52eb5a4" + integrity sha512-SR36i3/LSWja7AJNRBz4fF/Xjpn7lQFI30tZ434dIy+bitLYSP+ZEenHg36i23V2SGEz+kqjksg0uOGZ5LPiqg== + dependencies: + "@polka/url" "^1.0.0-next.9" + mime "^2.3.1" + totalist "^1.0.0" + sisteransi@^1.0.4: version "1.0.5" resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" @@ -11370,6 +11368,11 @@ toidentifier@1.0.0: resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== +totalist@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/totalist/-/totalist-1.1.0.tgz#a4d65a3e546517701e3e5c37a47a70ac97fe56df" + integrity sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g== + touch@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/touch/-/touch-3.1.0.tgz#fe365f5f75ec9ed4e56825e0bb76d24ab74af83b" @@ -11406,11 +11409,6 @@ tree-kill@1.2.2, tree-kill@^1.2.1: resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.2.tgz#4ca09a9092c88b73a7cdc5e8a01b507b0790a0cc" integrity sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A== -tryer@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/tryer/-/tryer-1.0.1.tgz#f2c85406800b9b0f74c9f7465b81eaad241252f8" - integrity sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA== - ts-loader@^5.2.0: version "5.4.5" resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-5.4.5.tgz#a0c1f034b017a9344cef0961bfd97cc192492b8b" @@ -11971,24 +11969,20 @@ webidl-conversions@^6.1.0: resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== -webpack-bundle-analyzer@^3.3.2: - version "3.9.0" - resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.9.0.tgz#f6f94db108fb574e415ad313de41a2707d33ef3c" - integrity sha512-Ob8amZfCm3rMB1ScjQVlbYYUEJyEjdEtQ92jqiFUYt5VkEeO2v5UMbv49P/gnmCZm3A6yaFQzCBvpZqN4MUsdA== +webpack-bundle-analyzer@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.4.0.tgz#74013106e7e2b07cbd64f3a5ae847f7e814802c7" + integrity sha512-9DhNa+aXpqdHk8LkLPTBU/dMfl84Y+WE2+KnfI6rSpNRNVKa0VGLjPd2pjFubDeqnWmulFggxmWBxhfJXZnR0g== dependencies: - acorn "^7.1.1" - acorn-walk "^7.1.1" - bfj "^6.1.1" - chalk "^2.4.1" - commander "^2.18.0" - ejs "^2.6.1" - express "^4.16.3" - filesize "^3.6.1" - gzip-size "^5.0.0" - lodash "^4.17.19" - mkdirp "^0.5.1" - opener "^1.5.1" - ws "^6.0.0" + acorn "^8.0.4" + acorn-walk "^8.0.0" + chalk "^4.1.0" + commander "^6.2.0" + gzip-size "^6.0.0" + lodash "^4.17.20" + opener "^1.5.2" + sirv "^1.0.7" + ws "^7.3.1" webpack-cli@^4.2.0: version "4.2.0" @@ -12294,7 +12288,7 @@ write-file-atomic@^3.0.0: signal-exit "^3.0.2" typedarray-to-buffer "^3.1.5" -ws@^6.0.0, ws@^6.2.1: +ws@^6.2.1: version "6.2.1" resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.1.tgz#442fdf0a47ed64f59b6a5d8ff130f4748ed524fb" integrity sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA== @@ -12306,6 +12300,11 @@ ws@^7.1.2, ws@^7.2.3: resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.1.tgz#a333be02696bd0e54cea0434e21dcc8a9ac294bb" integrity sha512-pTsP8UAfhy3sk1lSk/O/s4tjD0CRwvMnzvwr4OKGX7ZvqZtUyx4KIJB5JWbkykPoc55tixMGgTNoh3k4FkNGFQ== +ws@^7.3.1: + version "7.4.3" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.3.tgz#1f9643de34a543b8edb124bdcbc457ae55a6e5cd" + integrity sha512-hr6vCR76GsossIRsr8OLR9acVVm1jyfEWvhbNjtgPOrfvAlKzvyeg/P6r8RuDjRyrcQoPQT7K0DGEPc7Ae6jzA== + ws@~3.3.1: version "3.3.3" resolved "https://registry.yarnpkg.com/ws/-/ws-3.3.3.tgz#f1cf84fe2d5e901ebce94efaece785f187a228f2" From 91ca5af1d42069c524e034f6e6ee4373486ada1f Mon Sep 17 00:00:00 2001 From: Kristof De Langhe Date: Fri, 26 Feb 2021 15:33:16 +0100 Subject: [PATCH 063/106] additional theme support tests --- src/app/app.component.spec.ts | 35 +- src/app/shared/mocks/theme-service.mock.ts | 6 +- .../test/custom/themed-test.component.spec.ts | 11 + .../theme-support/test/test.component.spec.ts | 11 + .../theme-support/theme.effects.spec.ts | 341 +++++++++++++----- .../theme-support/themed.component.spec.ts | 97 +++++ src/environments/mock-environment.ts | 13 +- 7 files changed, 400 insertions(+), 114 deletions(-) create mode 100644 src/app/shared/theme-support/test/custom/themed-test.component.spec.ts create mode 100644 src/app/shared/theme-support/test/test.component.spec.ts create mode 100644 src/app/shared/theme-support/themed.component.spec.ts diff --git a/src/app/app.component.spec.ts b/src/app/app.component.spec.ts index 233f15ccea..c092362c7e 100644 --- a/src/app/app.component.spec.ts +++ b/src/app/app.component.spec.ts @@ -1,7 +1,7 @@ import { Store, StoreModule } from '@ngrx/store'; import { ComponentFixture, inject, TestBed, waitForAsync } from '@angular/core/testing'; import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; -import { CommonModule } from '@angular/common'; +import { CommonModule, DOCUMENT } from '@angular/common'; import { ActivatedRoute, Router } from '@angular/router'; import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; import { Angulartics2GoogleAnalytics } from 'angulartics2/ga'; @@ -32,7 +32,9 @@ import { storeModuleConfig } from './app.reducer'; import { LocaleService } from './core/locale/locale.service'; import { authReducer } from './core/auth/auth.reducer'; import { provideMockStore } from '@ngrx/store/testing'; -import {GoogleAnalyticsService} from './statistics/google-analytics.service'; +import { GoogleAnalyticsService } from './statistics/google-analytics.service'; +import { ThemeService } from './shared/theme-support/theme.service'; +import { getMockThemeService } from './shared/mocks/theme-service.mock'; let comp: AppComponent; let fixture: ComponentFixture; @@ -73,6 +75,7 @@ describe('App component', () => { { provide: CSSVariableService, useClass: CSSVariableServiceStub }, { provide: HostWindowService, useValue: new HostWindowServiceStub(800) }, { provide: LocaleService, useValue: getMockLocaleService() }, + { provide: ThemeService, useValue: getMockThemeService() }, provideMockStore({ initialState }), AppComponent, RouteService @@ -143,4 +146,32 @@ describe('App component', () => { }); }); }); + + describe('when ThemeService returns a custom theme', () => { + let document; + let headSpy; + + beforeEach(() => { + // NOTE: Cannot override providers once components have been compiled, so TestBed needs to be reset + TestBed.resetTestingModule(); + TestBed.configureTestingModule(defaultTestBedConf); + TestBed.overrideProvider(ThemeService, {useValue: getMockThemeService('custom')}); + document = TestBed.inject(DOCUMENT); + headSpy = jasmine.createSpyObj('head', ['appendChild']); + spyOn(document, 'getElementsByTagName').and.returnValue([headSpy]); + fixture = TestBed.createComponent(AppComponent); + comp = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should append a link element with the correct attributes to the head element', () => { + const link = document.createElement('link'); + link.setAttribute('rel', 'stylesheet'); + link.setAttribute('type', 'text/css'); + link.setAttribute('class', 'theme-css'); + link.setAttribute('href', '/custom-theme.css'); + + expect(headSpy.appendChild).toHaveBeenCalledWith(link); + }); + }); }); diff --git a/src/app/shared/mocks/theme-service.mock.ts b/src/app/shared/mocks/theme-service.mock.ts index fd54e80ad2..3594270807 100644 --- a/src/app/shared/mocks/theme-service.mock.ts +++ b/src/app/shared/mocks/theme-service.mock.ts @@ -1,7 +1,9 @@ import { ThemeService } from '../theme-support/theme.service'; +import { of as observableOf } from 'rxjs'; -export function getMockThemeService(): ThemeService { +export function getMockThemeService(themeName = 'base'): ThemeService { return jasmine.createSpyObj('themeService', { - getThemeName: 'base' + getThemeName: themeName, + getThemeName$: observableOf(themeName) }); } diff --git a/src/app/shared/theme-support/test/custom/themed-test.component.spec.ts b/src/app/shared/theme-support/test/custom/themed-test.component.spec.ts new file mode 100644 index 0000000000..6df7fe52e6 --- /dev/null +++ b/src/app/shared/theme-support/test/custom/themed-test.component.spec.ts @@ -0,0 +1,11 @@ +import { Component } from '@angular/core'; + +// noinspection AngularMissingOrInvalidDeclarationInModule +@Component({ + selector: 'ds-test-component', + template: '' +}) +export class TestComponent { + type = 'themed'; + testInput = 'unset'; +} diff --git a/src/app/shared/theme-support/test/test.component.spec.ts b/src/app/shared/theme-support/test/test.component.spec.ts new file mode 100644 index 0000000000..85e2e5aaa7 --- /dev/null +++ b/src/app/shared/theme-support/test/test.component.spec.ts @@ -0,0 +1,11 @@ +import { Component } from '@angular/core'; + +// noinspection AngularMissingOrInvalidDeclarationInModule +@Component({ + selector: 'ds-test-component', + template: '' +}) +export class TestComponent { + type = 'default'; + testInput = 'unset'; +} diff --git a/src/app/shared/theme-support/theme.effects.spec.ts b/src/app/shared/theme-support/theme.effects.spec.ts index 94d1645912..7a0e9c8f19 100644 --- a/src/app/shared/theme-support/theme.effects.spec.ts +++ b/src/app/shared/theme-support/theme.effects.spec.ts @@ -1,9 +1,8 @@ import { ThemeEffects } from './theme.effects'; -import { Observable } from 'rxjs'; +import { of as observableOf } from 'rxjs'; import { TestBed } from '@angular/core/testing'; import { provideMockActions } from '@ngrx/effects/testing'; import { LinkService } from '../../core/cache/builders/link.service'; -import { getMockLinkService } from '../mocks/link-service.mock'; import { cold, hot } from 'jasmine-marbles'; import { ROOT_EFFECTS_INIT } from '@ngrx/effects'; import { SetThemeAction } from './theme.actions'; @@ -19,43 +18,91 @@ import { DSpaceObject } from '../../core/shared/dspace-object.model'; import { Item } from '../../core/shared/item.model'; import { Collection } from '../../core/shared/collection.model'; import { COLLECTION } from '../../core/shared/collection.resource-type'; +import { + createNoContentRemoteDataObject$, + createSuccessfulRemoteDataObject$ +} from '../remote-data.utils'; import { BASE_THEME_NAME } from './theme.constants'; +/** + * LinkService able to mock recursively resolving DSO parent links + * Every time resolveLinkWithoutAttaching is called, it returns the next object in the array of ancestorDSOs until + * none are left, after which it returns a no-content remote-date + */ +class MockLinkService { + index = -1; + + constructor(private ancestorDSOs: DSpaceObject[]) { + } + + resolveLinkWithoutAttaching() { + if (this.index >= this.ancestorDSOs.length - 1) { + return createNoContentRemoteDataObject$(); + } else { + this.index++; + return createSuccessfulRemoteDataObject$(this.ancestorDSOs[this.index]); + } + } +} + describe('ThemeEffects', () => { let themeEffects: ThemeEffects; let linkService: LinkService; let initialState; - let actions: Observable; + + let ancestorDSOs: DSpaceObject[]; function init() { - linkService = getMockLinkService(); + ancestorDSOs = [ + Object.assign(new Collection(), { + type: COLLECTION.value, + uuid: 'collection-uuid', + _links: { owningCommunity: { href: 'owning-community-link' } } + }), + Object.assign(new Community(), { + type: COMMUNITY.value, + uuid: 'sub-community-uuid', + _links: { parentCommunity: { href: 'parent-community-link' } } + }), + Object.assign(new Community(), { + type: COMMUNITY.value, + uuid: 'top-community-uuid', + }), + ]; + linkService = new MockLinkService(ancestorDSOs) as any; initialState = { - currentTheme: 'custom', + theme: { + currentTheme: 'custom', + }, }; } - beforeEach(() => { + function setupEffectsWithActions(mockActions) { init(); TestBed.configureTestingModule({ providers: [ ThemeEffects, { provide: LinkService, useValue: linkService }, provideMockStore({ initialState }), - provideMockActions(() => actions) + provideMockActions(() => mockActions) ] }); themeEffects = TestBed.inject(ThemeEffects); - }); + } describe('initTheme$', () => { - it('should set the default theme', () => { - actions = hot('--a-', { - a: { - type: ROOT_EFFECTS_INIT - } - }); + beforeEach(() => { + setupEffectsWithActions( + hot('--a-', { + a: { + type: ROOT_EFFECTS_INIT + } + }) + ); + }); + it('should set the default theme', () => { const expected = cold('--b-', { b: new SetThemeAction(BASE_THEME_NAME) }); @@ -64,109 +111,203 @@ describe('ThemeEffects', () => { }); }); - // TODO: Fix test - xdescribe('updateThemeOnRouteChange$', () => { - it('test', () => { - const url = '/test/route'; - const dso = Object.assign(new Community(), { - type: COMMUNITY.value, - uuid: '0958c910-2037-42a9-81c7-dca80e3892b4', - }); - actions = hot('--ab-', { - a: { - type: ROUTER_NAVIGATED, - payload: { routerState: { url } }, - }, - b: { - type: ResolverActionTypes.RESOLVED, - payload: { url, dso }, - } + describe('updateThemeOnRouteChange$', () => { + const url = '/test/route'; + const dso = Object.assign(new Community(), { + type: COMMUNITY.value, + uuid: '0958c910-2037-42a9-81c7-dca80e3892b4', + }); + + function spyOnPrivateMethods() { + spyOn((themeEffects as any), 'getAncestorDSOs').and.returnValue(() => observableOf([dso])); + spyOn((themeEffects as any), 'matchThemeToDSOs').and.returnValue(new Theme({ name: 'custom' })); + spyOn((themeEffects as any), 'getActionForMatch').and.returnValue(new SetThemeAction('custom')); + } + + describe('when a resolved action is present', () => { + beforeEach(() => { + setupEffectsWithActions( + hot('--ab-', { + a: { + type: ROUTER_NAVIGATED, + payload: { routerState: { url } }, + }, + b: { + type: ResolverActionTypes.RESOLVED, + payload: { url, dso }, + } + }) + ); + spyOnPrivateMethods(); }); - const expected = cold('--b-', { - b: new SetThemeAction('Publications community (uuid)') + it('should set the theme it receives from the DSO', () => { + const expected = cold('--b-', { + b: new SetThemeAction('custom') + }); + + expect(themeEffects.updateThemeOnRouteChange$).toBeObservable(expected); + }); + }); + + describe('when no resolved action is present', () => { + beforeEach(() => { + setupEffectsWithActions( + hot('--a-', { + a: { + type: ROUTER_NAVIGATED, + payload: { routerState: { url } }, + }, + }) + ); + spyOnPrivateMethods(); }); - expect(themeEffects.initTheme$).toBeObservable(expected); + it('should set the theme it receives from the route url', () => { + const expected = cold('--b-', { + b: new SetThemeAction('custom') + }); + + expect(themeEffects.updateThemeOnRouteChange$).toBeObservable(expected); + }); + }); + + describe('when no themes are present', () => { + beforeEach(() => { + setupEffectsWithActions( + hot('--a-', { + a: { + type: ROUTER_NAVIGATED, + payload: { routerState: { url } }, + }, + }) + ); + (themeEffects as any).themes = []; + }); + + it('should return an empty action', () => { + const expected = cold('--b-', { + b: new NoOpAction() + }); + + expect(themeEffects.updateThemeOnRouteChange$).toBeObservable(expected); + }); }); }); - describe('getActionForMatch', () => { - it('should return a SET action if the name doesn\'t match', () => { - const theme = new Theme({ name: 'new-theme' }); - expect((themeEffects as any).getActionForMatch(theme, 'not-matching')).toEqual(new SetThemeAction('new-theme')); - }); - - it('should return an empty action if the name matches', () => { - const theme = new Theme({ name: 'new-theme' }); - expect((themeEffects as any).getActionForMatch(theme, 'new-theme')).toEqual(new NoOpAction()); - }); - }); - - describe('matchThemeToDSOs', () => { - let themes: Theme[]; - let nonMatchingTheme: Theme; - let itemMatchingTheme: Theme; - let communityMatchingTheme: Theme; - let dsos: DSpaceObject[]; - + describe('private functions', () => { beforeEach(() => { - nonMatchingTheme = Object.assign(new Theme({ name: 'non-matching-theme' }), { - matches: () => false + setupEffectsWithActions(hot('-', {})); + }); + + describe('getActionForMatch', () => { + it('should return a SET action if the new theme differs from the current theme', () => { + const theme = new Theme({ name: 'new-theme' }); + expect((themeEffects as any).getActionForMatch(theme, 'old-theme')).toEqual(new SetThemeAction('new-theme')); }); - itemMatchingTheme = Object.assign(new Theme({ name: 'item-matching-theme' }), { - matches: (url, dso) => (dso as any).type === ITEM.value + + it('should return an empty action if the new theme equals the current theme', () => { + const theme = new Theme({ name: 'old-theme' }); + expect((themeEffects as any).getActionForMatch(theme, 'old-theme')).toEqual(new NoOpAction()); }); - communityMatchingTheme = Object.assign(new Theme({ name: 'community-matching-theme' }), { - matches: (url, dso) => (dso as any).type === COMMUNITY.value + }); + + describe('matchThemeToDSOs', () => { + let themes: Theme[]; + let nonMatchingTheme: Theme; + let itemMatchingTheme: Theme; + let communityMatchingTheme: Theme; + let dsos: DSpaceObject[]; + + beforeEach(() => { + nonMatchingTheme = Object.assign(new Theme({ name: 'non-matching-theme' }), { + matches: () => false + }); + itemMatchingTheme = Object.assign(new Theme({ name: 'item-matching-theme' }), { + matches: (url, dso) => (dso as any).type === ITEM.value + }); + communityMatchingTheme = Object.assign(new Theme({ name: 'community-matching-theme' }), { + matches: (url, dso) => (dso as any).type === COMMUNITY.value + }); + dsos = [ + Object.assign(new Item(), { + type: ITEM.value, + uuid: 'item-uuid', + }), + Object.assign(new Collection(), { + type: COLLECTION.value, + uuid: 'collection-uuid', + }), + Object.assign(new Community(), { + type: COMMUNITY.value, + uuid: 'community-uuid', + }), + ]; }); - dsos = [ - Object.assign(new Item(), { + + describe('when no themes match any of the DSOs', () => { + beforeEach(() => { + themes = [ nonMatchingTheme ]; + themeEffects.themes = themes; + }); + + it('should return undefined', () => { + expect((themeEffects as any).matchThemeToDSOs(dsos, '')).toBeUndefined(); + }); + }); + + describe('when one of the themes match a DSOs', () => { + beforeEach(() => { + themes = [ nonMatchingTheme, itemMatchingTheme ]; + themeEffects.themes = themes; + }); + + it('should return the matching theme', () => { + expect((themeEffects as any).matchThemeToDSOs(dsos, '')).toEqual(itemMatchingTheme); + }); + }); + + describe('when multiple themes match some of the DSOs', () => { + it('should return the first matching theme', () => { + themes = [ nonMatchingTheme, itemMatchingTheme, communityMatchingTheme ]; + themeEffects.themes = themes; + expect((themeEffects as any).matchThemeToDSOs(dsos, '')).toEqual(itemMatchingTheme); + + themes = [ nonMatchingTheme, communityMatchingTheme, itemMatchingTheme ]; + themeEffects.themes = themes; + expect((themeEffects as any).matchThemeToDSOs(dsos, '')).toEqual(communityMatchingTheme); + }); + }); + }); + + describe('getAncestorDSOs', () => { + it('should return an array of the provided DSO and its ancestors', (done) => { + const dso = Object.assign(new Item(), { type: ITEM.value, uuid: 'item-uuid', - }), - Object.assign(new Collection(), { - type: COLLECTION.value, - uuid: 'collection-uuid', - }), - Object.assign(new Community(), { - type: COMMUNITY.value, - uuid: 'community-uuid', - }), - ]; - }); + _links: { owningCollection: { href: 'owning-collection-link' } }, + }); - describe('when no themes match any of the DSOs', () => { - beforeEach(() => { - themes = [ nonMatchingTheme ]; - themeEffects.themes = themes; + observableOf(dso).pipe( + (themeEffects as any).getAncestorDSOs() + ).subscribe((result) => { + expect(result).toEqual([dso, ...ancestorDSOs]); + done(); + }); }); - it('should return undefined', () => { - expect((themeEffects as any).matchThemeToDSOs(dsos, '')).toBeUndefined(); - }); - }); + it('should return an array of just the provided DSO if it doesn\'t have any parents', (done) => { + const dso = { + type: ITEM.value, + uuid: 'item-uuid', + }; - describe('when one of the themes match a DSOs', () => { - beforeEach(() => { - themes = [ nonMatchingTheme, itemMatchingTheme ]; - themeEffects.themes = themes; - }); - - it('should return the matching theme', () => { - expect((themeEffects as any).matchThemeToDSOs(dsos, '')).toEqual(itemMatchingTheme); - }); - }); - - describe('when multiple themes match some of the DSOs', () => { - it('should return the first matching theme', () => { - themes = [ nonMatchingTheme, itemMatchingTheme, communityMatchingTheme ]; - themeEffects.themes = themes; - expect((themeEffects as any).matchThemeToDSOs(dsos, '')).toEqual(itemMatchingTheme); - - themes = [ nonMatchingTheme, communityMatchingTheme, itemMatchingTheme ]; - themeEffects.themes = themes; - expect((themeEffects as any).matchThemeToDSOs(dsos, '')).toEqual(communityMatchingTheme); + observableOf(dso).pipe( + (themeEffects as any).getAncestorDSOs() + ).subscribe((result) => { + expect(result).toEqual([dso]); + done(); + }); }); }); }); diff --git a/src/app/shared/theme-support/themed.component.spec.ts b/src/app/shared/theme-support/themed.component.spec.ts new file mode 100644 index 0000000000..abaee28a29 --- /dev/null +++ b/src/app/shared/theme-support/themed.component.spec.ts @@ -0,0 +1,97 @@ +import { ThemedComponent } from './themed.component'; +import { Component, NO_ERRORS_SCHEMA } from '@angular/core'; +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { VarDirective } from '../utils/var.directive'; +import { ThemeService } from './theme.service'; +import { getMockThemeService } from '../mocks/theme-service.mock'; +import { TestComponent } from './test/test.component.spec'; + +/* tslint:disable:max-classes-per-file */ +@Component({ + selector: 'ds-test-themed-component', + templateUrl: './themed.component.html' +}) +class TestThemedComponent extends ThemedComponent { + protected inAndOutputNames: (keyof TestComponent & keyof this)[] = ['testInput']; + + testInput = 'unset'; + + protected getComponentName(): string { + return 'TestComponent'; + } + protected importThemedComponent(themeName: string): Promise { + return import(`./test/${themeName}/themed-test.component.spec`); + } + protected importUnthemedComponent(): Promise { + return import('./test/test.component.spec'); + } +} + +describe('ThemedComponent', () => { + let component: TestThemedComponent; + let fixture: ComponentFixture; + let themeService: ThemeService; + + function setupTestingModuleForTheme(theme: string) { + themeService = getMockThemeService(theme); + TestBed.configureTestingModule({ + imports: [], + declarations: [TestThemedComponent, VarDirective], + providers: [ + { provide: ThemeService, useValue: themeService }, + ], + schemas: [NO_ERRORS_SCHEMA] + }).compileComponents(); + } + + describe('when the current theme matches a themed component', () => { + beforeEach(waitForAsync(() => { + setupTestingModuleForTheme('custom'); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(TestThemedComponent); + component = fixture.componentInstance; + component.testInput = 'changed'; + fixture.detectChanges(); + }); + + it('should set compRef to the themed component', waitForAsync(() => { + fixture.whenStable().then(() => { + expect((component as any).compRef.instance.type).toEqual('themed'); + }); + })); + + it('should sync up this component\'s input with the themed component', waitForAsync(() => { + fixture.whenStable().then(() => { + expect((component as any).compRef.instance.testInput).toEqual('changed'); + }); + })); + }); + + describe('when the current theme doesn\'t match a themed component', () => { + beforeEach(waitForAsync(() => { + setupTestingModuleForTheme('non-existing-theme'); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(TestThemedComponent); + component = fixture.componentInstance; + component.testInput = 'changed'; + fixture.detectChanges(); + }); + + it('should set compRef to the default component', waitForAsync(() => { + fixture.whenStable().then(() => { + expect((component as any).compRef.instance.type).toEqual('default'); + }); + })); + + it('should sync up this component\'s input with the default component', waitForAsync(() => { + fixture.whenStable().then(() => { + expect((component as any).compRef.instance.testInput).toEqual('changed'); + }); + })); + }); +}); +/* tslint:enable:max-classes-per-file */ diff --git a/src/environments/mock-environment.ts b/src/environments/mock-environment.ts index 116834df4e..1c01482724 100644 --- a/src/environments/mock-environment.ts +++ b/src/environments/mock-environment.ts @@ -194,34 +194,27 @@ export const environment: Partial = { }, themes: [ { - // name: 'default', name: 'full-item-page-theme', regex: 'items/aa6c6c83-3a83-4953-95d1-2bc2e67854d2/full' }, { - // name: 'default', name: 'error-theme', regex: 'collections/aaaa.*' }, { - // name: 'default', name: 'Item (handle)', - handle: '10673/1233' // Item inside publications community + handle: '10673/1233' }, { - // name: 'mantis', name: 'blue', - regex: 'collections\/e8043bc2.*' // Publications/Thesis collections + regex: 'collections\/e8043bc2.*' }, { - // name: 'mantis', name: 'Publications community (uuid)', - uuid: '0958c910-2037-42a9-81c7-dca80e3892b4' // Publications community + uuid: '0958c910-2037-42a9-81c7-dca80e3892b4' }, { - // name: 'default', name: 'base', - // name: 'blue', }, ], }; From 2b03d224984c56088a228173d5462cabc1d77b32 Mon Sep 17 00:00:00 2001 From: Art Lowel Date: Mon, 1 Mar 2021 14:31:26 +0100 Subject: [PATCH 064/106] update mock data --- src/environments/mock-environment.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/environments/mock-environment.ts b/src/environments/mock-environment.ts index 1c01482724..4f321c01d4 100644 --- a/src/environments/mock-environment.ts +++ b/src/environments/mock-environment.ts @@ -202,15 +202,15 @@ export const environment: Partial = { regex: 'collections/aaaa.*' }, { - name: 'Item (handle)', + name: 'handle-theme', handle: '10673/1233' }, { - name: 'blue', + name: 'regex-theme', regex: 'collections\/e8043bc2.*' }, { - name: 'Publications community (uuid)', + name: 'uuid-theme', uuid: '0958c910-2037-42a9-81c7-dca80e3892b4' }, { From 82035516a75ff14165aaed84292dc35da72b61aa Mon Sep 17 00:00:00 2001 From: Tim Donohue Date: Mon, 1 Mar 2021 16:51:56 -0600 Subject: [PATCH 065/106] Bug fix. Ensure onCompleteItem and onErrorItem both reset the CSRF Header (for next item in queue), as onBeforeUploadItem does not seem to be called for every item in the queue. --- src/app/shared/uploader/uploader.component.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/app/shared/uploader/uploader.component.ts b/src/app/shared/uploader/uploader.component.ts index 05baa735bd..4ee17ac87b 100644 --- a/src/app/shared/uploader/uploader.component.ts +++ b/src/app/shared/uploader/uploader.component.ts @@ -155,12 +155,13 @@ export class UploaderComponent { }; } this.uploader.onCompleteItem = (item: any, response: any, status: any, headers: any) => { - // Check for a changed XSRF token in response & save new token if found + // Check for a changed XSRF token in response & save new token if found (to both cookie & header for next request) // NOTE: this is only necessary because ng2-file-upload doesn't use an Http service and therefore never // triggers our xsrf.interceptor.ts. See this bug: https://github.com/valor-software/ng2-file-upload/issues/950 const token = headers[XSRF_RESPONSE_HEADER.toLowerCase()]; if (isNotEmpty(token)) { this.saveXsrfToken(token); + this.uploader.options.headers = [{ name: XSRF_REQUEST_HEADER, value: this.tokenExtractor.getToken() }]; } if (isNotEmpty(response)) { @@ -169,13 +170,15 @@ export class UploaderComponent { } }; this.uploader.onErrorItem = (item: any, response: any, status: any, headers: any) => { - // Check for a changed XSRF token in response & save new token if found + // Check for a changed XSRF token in response & save new token if found (to both cookie & header for next request) // NOTE: this is only necessary because ng2-file-upload doesn't use an Http service and therefore never // triggers our xsrf.interceptor.ts. See this bug: https://github.com/valor-software/ng2-file-upload/issues/950 const token = headers[XSRF_RESPONSE_HEADER.toLowerCase()]; if (isNotEmpty(token)) { this.saveXsrfToken(token); + this.uploader.options.headers = [{ name: XSRF_REQUEST_HEADER, value: this.tokenExtractor.getToken() }]; } + this.onUploadError.emit({ item: item, response: response, status: status, headers: headers }); this.uploader.cancelAll(); }; From 7a42a18bfb7bbfb23d51ec8f4703d01514e00f88 Mon Sep 17 00:00:00 2001 From: Art Lowel Date: Tue, 2 Mar 2021 10:03:58 +0100 Subject: [PATCH 066/106] re-comment css style override example that got accidentally uncommented --- src/themes/custom/styles/_theme_css_variable_overrides.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/themes/custom/styles/_theme_css_variable_overrides.scss b/src/themes/custom/styles/_theme_css_variable_overrides.scss index 0f06bf2daa..3ff54cbf8f 100644 --- a/src/themes/custom/styles/_theme_css_variable_overrides.scss +++ b/src/themes/custom/styles/_theme_css_variable_overrides.scss @@ -3,6 +3,6 @@ :root { //--ds-header-logo-height: 80px; //--ds-header-logo-height-xs: 50px; - --ds-header-icon-color: #{$link-color}; + //--ds-header-icon-color: #{$link-color}; //--ds-header-icon-color-hover: #{darken($link-color, 15%)}; } From 1bb2d5da294312a398b82badb0115aef800c1098 Mon Sep 17 00:00:00 2001 From: Art Lowel Date: Wed, 3 Mar 2021 17:43:37 +0100 Subject: [PATCH 067/106] add support for static assets in theme folders --- package.json | 2 +- src/themes/custom/assets/fonts/.gitkeep | 0 src/themes/custom/assets/images/.gitkeep | 0 webpack/webpack.common.ts | 55 +++++++++------ yarn.lock | 87 +++++++++++------------- 5 files changed, 74 insertions(+), 70 deletions(-) create mode 100644 src/themes/custom/assets/fonts/.gitkeep create mode 100644 src/themes/custom/assets/images/.gitkeep diff --git a/package.json b/package.json index d221d373fd..3aa7c04ad3 100644 --- a/package.json +++ b/package.json @@ -144,7 +144,7 @@ "@types/node": "^14.14.9", "codelyzer": "^6.0.1", "compression-webpack-plugin": "^3.0.1", - "copy-webpack-plugin": "^5.1.1", + "copy-webpack-plugin": "^6.4.1", "css-loader": "3.4.0", "cssnano": "^4.1.10", "deep-freeze": "0.0.1", diff --git a/src/themes/custom/assets/fonts/.gitkeep b/src/themes/custom/assets/fonts/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/themes/custom/assets/images/.gitkeep b/src/themes/custom/assets/images/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/webpack/webpack.common.ts b/webpack/webpack.common.ts index f0179ad2ea..926241e0bb 100644 --- a/webpack/webpack.common.ts +++ b/webpack/webpack.common.ts @@ -5,26 +5,38 @@ const path = require('path'); const HtmlWebpackPlugin = require('html-webpack-plugin'); const ScriptExtPlugin = require('script-ext-html-webpack-plugin'); -export const copyWebpackOptions = [ - { - from: path.join(__dirname, '..', 'node_modules', '@fortawesome', 'fontawesome-free', 'webfonts'), - to: path.join('assets', 'fonts'), - force: undefined - }, - { - from: path.join(__dirname, '..', 'src', 'assets', 'fonts'), - to: path.join('assets', 'fonts') - }, { - from: path.join(__dirname, '..', 'src', 'assets', 'images'), - to: path.join('assets', 'images') - }, { - from: path.join(__dirname, '..', 'src', 'assets', 'i18n'), - to: path.join('assets', 'i18n') - }, { - from: path.join(__dirname, '..', 'src', 'robots.txt'), - to: path.join('robots.txt') - } -]; +export const copyWebpackOptions = { + patterns: [ + { + from: path.join(__dirname, '..', 'node_modules', '@fortawesome', 'fontawesome-free', 'webfonts'), + to: path.join('assets', 'fonts'), + force: undefined + }, + { + from: path.join(__dirname, '..', 'src', 'assets'), + to: 'assets', + }, + { + from: path.join(__dirname, '..', 'src', 'themes', '*', 'assets', '**', '*'), + to: 'assets', + noErrorOnMissing: true, + transformPath(targetPath, absolutePath) { + // use [\/|\\] to match both POSIX and Windows separators + const matches = absolutePath.match(/.*[\/|\\]themes[\/|\\]([^\/|^\\]+)[\/|\\]assets[\/|\\](.+)$/); + if (matches) { + // matches[1] is the theme name + // matches[2] is the rest of the path relative to the assets folder + // e.g. themes/custom/assets/images/logo.png will end up in assets/custom/images/logo.png + return path.join('assets', matches[1], matches[2]); + } + }, + }, + { + from: path.join(__dirname, '..', 'src', 'robots.txt'), + to: 'robots.txt' + } + ] +}; const SCSS_LOADERS = [{ loader: 'postcss-loader', @@ -40,7 +52,8 @@ const SCSS_LOADERS = [{ includePaths: [projectRoot('./')] } } - },] + }, +]; export const commonExports = { plugins: [ diff --git a/yarn.lock b/yarn.lock index e4356157b7..f042076b0d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1514,6 +1514,11 @@ resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.6.tgz#f4c7ec43e81b319a9815115031709f26987891f0" integrity sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw== +"@types/json-schema@^7.0.6": + version "7.0.7" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.7.tgz#98a993516c859eb0d5c4c8f098317a9ea68db9ad" + integrity sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA== + "@types/lodash@^4.14.165": version "4.14.165" resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.165.tgz#74d55d947452e2de0742bad65270433b63a8c30f" @@ -1932,7 +1937,7 @@ ajv@6.12.4: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ajv@^6.1.0, ajv@^6.10.2, ajv@^6.12.2, ajv@^6.12.3, ajv@^6.12.4: +ajv@^6.1.0, ajv@^6.10.2, ajv@^6.12.2, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.5: version "6.12.6" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== @@ -2757,7 +2762,7 @@ cacache@15.0.5, cacache@^15.0.4, cacache@^15.0.5: tar "^6.0.2" unique-filename "^1.1.1" -cacache@^12.0.0, cacache@^12.0.2, cacache@^12.0.3: +cacache@^12.0.0, cacache@^12.0.2: version "12.0.4" resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.4.tgz#668bcbd105aeb5f1d92fe25570ec9525c8faa40c" integrity sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ== @@ -3459,23 +3464,22 @@ copy-webpack-plugin@6.0.3: serialize-javascript "^4.0.0" webpack-sources "^1.4.3" -copy-webpack-plugin@^5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-5.1.2.tgz#8a889e1dcafa6c91c6cd4be1ad158f1d3823bae2" - integrity sha512-Uh7crJAco3AjBvgAy9Z75CjK8IG+gxaErro71THQ+vv/bl4HaQcpkexAY8KVW/T6D2W2IRr+couF/knIRkZMIQ== +copy-webpack-plugin@^6.4.1: + version "6.4.1" + resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-6.4.1.tgz#138cd9b436dbca0a6d071720d5414848992ec47e" + integrity sha512-MXyPCjdPVx5iiWyl40Va3JGh27bKzOTNY3NjUTrosD2q7dR/cLD0013uqJ3BpFbUjyONINjb6qI7nDIJujrMbA== dependencies: - cacache "^12.0.3" - find-cache-dir "^2.1.0" - glob-parent "^3.1.0" - globby "^7.1.1" - is-glob "^4.0.1" - loader-utils "^1.2.3" - minimatch "^3.0.4" + cacache "^15.0.5" + fast-glob "^3.2.4" + find-cache-dir "^3.3.1" + glob-parent "^5.1.1" + globby "^11.0.1" + loader-utils "^2.0.0" normalize-path "^3.0.0" - p-limit "^2.2.1" - schema-utils "^1.0.0" - serialize-javascript "^4.0.0" - webpack-log "^2.0.0" + p-limit "^3.0.2" + schema-utils "^3.0.0" + serialize-javascript "^5.0.1" + webpack-sources "^1.4.3" core-js-compat@^3.6.2: version "3.8.1" @@ -4181,13 +4185,6 @@ diffie-hellman@^5.0.0: miller-rabin "^4.0.0" randombytes "^2.0.0" -dir-glob@^2.0.0: - version "2.2.2" - resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.2.2.tgz#fa09f0694153c8918b18ba0deafae94769fc50c4" - integrity sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw== - dependencies: - path-type "^3.0.0" - dir-glob@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" @@ -5338,7 +5335,7 @@ glob@7.1.2: once "^1.3.0" path-is-absolute "^1.0.0" -glob@7.1.6, glob@^7.0.3, glob@^7.0.6, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@~7.1.6: +glob@7.1.6, glob@^7.0.3, glob@^7.0.6, glob@^7.1.1, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@~7.1.6: version "7.1.6" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== @@ -5397,18 +5394,6 @@ globby@^6.1.0: pify "^2.0.0" pinkie-promise "^2.0.0" -globby@^7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/globby/-/globby-7.1.1.tgz#fb2ccff9401f8600945dfada97440cca972b8680" - integrity sha1-+yzP+UAfhgCUXfral0QMypcrhoA= - dependencies: - array-union "^1.0.1" - dir-glob "^2.0.0" - glob "^7.1.2" - ignore "^3.3.5" - pify "^3.0.0" - slash "^1.0.0" - got@^9.6.0: version "9.6.0" resolved "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85" @@ -5842,11 +5827,6 @@ ignore-walk@^3.0.1: dependencies: minimatch "^3.0.4" -ignore@^3.3.5: - version "3.3.10" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043" - integrity sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug== - ignore@^5.1.4: version "5.1.8" resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" @@ -8170,7 +8150,7 @@ p-finally@^1.0.0: resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= -p-limit@^2.0.0, p-limit@^2.2.0, p-limit@^2.2.1, p-limit@^2.3.0: +p-limit@^2.0.0, p-limit@^2.2.0, p-limit@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== @@ -10165,6 +10145,15 @@ schema-utils@^2.6.0, schema-utils@^2.6.1, schema-utils@^2.6.5, schema-utils@^2.6 ajv "^6.12.4" ajv-keywords "^3.5.2" +schema-utils@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.0.0.tgz#67502f6aa2b66a2d4032b4279a2944978a0913ef" + integrity sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA== + dependencies: + "@types/json-schema" "^7.0.6" + ajv "^6.12.5" + ajv-keywords "^3.5.2" + script-ext-html-webpack-plugin@2.1.5: version "2.1.5" resolved "https://registry.yarnpkg.com/script-ext-html-webpack-plugin/-/script-ext-html-webpack-plugin-2.1.5.tgz#d4a57e43b04aaf531f675c935688c3971bfafc6c" @@ -10292,6 +10281,13 @@ serialize-javascript@^4.0.0: dependencies: randombytes "^2.1.0" +serialize-javascript@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-5.0.1.tgz#7886ec848049a462467a97d3d918ebb2aaf934f4" + integrity sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA== + dependencies: + randombytes "^2.1.0" + serve-index@1.9.1, serve-index@^1.9.1: version "1.9.1" resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" @@ -10428,11 +10424,6 @@ sisteransi@^1.0.4: resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== -slash@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" - integrity sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU= - slash@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" From 4f08ad453f8b1589100ad67a033ab2dcd903a684 Mon Sep 17 00:00:00 2001 From: Raf Ponsaerts Date: Thu, 4 Mar 2021 09:48:27 +0100 Subject: [PATCH 068/106] removed whitelines --- src/app/core/shared/metadata.utils.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/app/core/shared/metadata.utils.ts b/src/app/core/shared/metadata.utils.ts index 41e6afd7f2..612fba1d4a 100644 --- a/src/app/core/shared/metadata.utils.ts +++ b/src/app/core/shared/metadata.utils.ts @@ -156,9 +156,7 @@ export class Metadata { const outputKeys: string[] = []; for (const inputKey of inputKeys) { if (inputKey.includes('*')) { - const inputKeyRegex = new RegExp('^' + inputKey.replace('.', '\.').replace('*', '.*') + '$'); - for (const mapKey of Object.keys(mdMap)) { if (!outputKeys.includes(mapKey) && inputKeyRegex.test(mapKey)) { outputKeys.push(mapKey); From fead3bc3fe6450d02aab4b75a429ecb78bace23f Mon Sep 17 00:00:00 2001 From: Marie Verdonck Date: Fri, 5 Mar 2021 13:27:42 +0100 Subject: [PATCH 069/106] 77178: Support embed sizes and use them in the ComCol tree --- .../community-list-service.ts | 40 ++++++++++++------- src/app/core/data/comcol-data.service.ts | 5 ++- src/app/core/data/community-data.service.ts | 5 ++- src/app/core/data/data.service.spec.ts | 32 +++++++++++++++ src/app/core/data/data.service.ts | 36 ++++++++++++----- 5 files changed, 90 insertions(+), 28 deletions(-) diff --git a/src/app/community-list-page/community-list-service.ts b/src/app/community-list-page/community-list-service.ts index f7c02c4262..18413b5762 100644 --- a/src/app/community-list-page/community-list-service.ts +++ b/src/app/community-list-page/community-list-service.ts @@ -19,6 +19,7 @@ import { CommunityListState } from './community-list.reducer'; import { getCommunityPageRoute } from '../+community-page/community-page-routing-paths'; import { getCollectionPageRoute } from '../+collection-page/collection-page-routing-paths'; import { getFirstSucceededRemoteData, getFirstCompletedRemoteData } from '../core/shared/operators'; +import { followLink } from '../shared/utils/follow-link-config.model'; /** * Each node in the tree is represented by a flatNode which contains info about the node itself and its position and @@ -115,6 +116,10 @@ export class CommunityListService { private store: Store) { } + private configOnePage: FindListOptions = Object.assign(new FindListOptions(), { + elementsPerPage: 1 + }); + saveCommunityListStateToStore(expandedNodes: FlatNode[], loadingNode: FlatNode): void { this.store.dispatch(new CommunityListSaveAction(expandedNodes, loadingNode)); } @@ -162,16 +167,19 @@ export class CommunityListService { */ private getTopCommunities(options: FindListOptions): Observable> { return this.communityDataService.findTop({ - currentPage: options.currentPage, - elementsPerPage: MAX_COMCOLS_PER_PAGE, - sort: { - field: options.sort.field, - direction: options.sort.direction - } - }).pipe( - getFirstSucceededRemoteData(), - map((results) => results.payload), - ); + currentPage: options.currentPage, + elementsPerPage: MAX_COMCOLS_PER_PAGE, + sort: { + field: options.sort.field, + direction: options.sort.direction + } + }, + followLink('subcommunities', this.configOnePage, true, true), + followLink('collections', this.configOnePage, true, true)) + .pipe( + getFirstSucceededRemoteData(), + map((results) => results.payload), + ); } /** @@ -231,9 +239,11 @@ export class CommunityListService { let subcoms = []; for (let i = 1; i <= currentCommunityPage; i++) { const nextSetOfSubcommunitiesPage = this.communityDataService.findByParent(community.uuid, { - elementsPerPage: MAX_COMCOLS_PER_PAGE, - currentPage: i - }) + elementsPerPage: MAX_COMCOLS_PER_PAGE, + currentPage: i + }, + followLink('subcommunities', this.configOnePage, true, true), + followLink('collections', this.configOnePage, true, true)) .pipe( getFirstCompletedRemoteData(), switchMap((rd: RemoteData>) => { @@ -289,7 +299,7 @@ export class CommunityListService { public getIsExpandable(community: Community): Observable { let hasSubcoms$: Observable; let hasColls$: Observable; - hasSubcoms$ = this.communityDataService.findByParent(community.uuid, { elementsPerPage: 1 }) + hasSubcoms$ = this.communityDataService.findByParent(community.uuid, this.configOnePage) .pipe( map((rd: RemoteData>) => { if (hasValue(rd) && hasValue(rd.payload)) { @@ -300,7 +310,7 @@ export class CommunityListService { }), ); - hasColls$ = this.collectionDataService.findByParent(community.uuid, { elementsPerPage: 1 }) + hasColls$ = this.collectionDataService.findByParent(community.uuid, this.configOnePage) .pipe( map((rd: RemoteData>) => { if (hasValue(rd) && hasValue(rd.payload)) { diff --git a/src/app/core/data/comcol-data.service.ts b/src/app/core/data/comcol-data.service.ts index 2dcffeb961..12aedf8009 100644 --- a/src/app/core/data/comcol-data.service.ts +++ b/src/app/core/data/comcol-data.service.ts @@ -18,6 +18,7 @@ import { BitstreamDataService } from './bitstream-data.service'; import { NoContent } from '../shared/NoContent.model'; import { createFailedRemoteDataObject$ } from '../../shared/remote-data.utils'; import { URLCombiner } from '../url-combiner/url-combiner'; +import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; export abstract class ComColDataService extends DataService { protected abstract cds: CommunityDataService; @@ -66,11 +67,11 @@ export abstract class ComColDataService extend protected abstract getFindByParentHref(parentUUID: string): Observable; - public findByParent(parentUUID: string, options: FindListOptions = {}): Observable>> { + public findByParent(parentUUID: string, options: FindListOptions = {}, ...linksToFollow: FollowLinkConfig[]): Observable>> { const href$ = this.getFindByParentHref(parentUUID).pipe( map((href: string) => this.buildHrefFromFindOptions(href, options)) ); - return this.findAllByHref(href$); + return this.findAllByHref(href$, options, true, true, ...linksToFollow); } /** diff --git a/src/app/core/data/community-data.service.ts b/src/app/core/data/community-data.service.ts index 6fbc2f9778..8dee72e391 100644 --- a/src/app/core/data/community-data.service.ts +++ b/src/app/core/data/community-data.service.ts @@ -19,6 +19,7 @@ import { RemoteData } from './remote-data'; import { FindListOptions } from './request.models'; import { RequestService } from './request.service'; import { BitstreamDataService } from './bitstream-data.service'; +import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model'; @Injectable() @dataService(COMMUNITY) @@ -45,9 +46,9 @@ export class CommunityDataService extends ComColDataService { return this.halService.getEndpoint(this.linkPath); } - findTop(options: FindListOptions = {}): Observable>> { + findTop(options: FindListOptions = {}, ...linksToFollow: FollowLinkConfig[]): Observable>> { const hrefObs = this.getFindAllHref(options, this.topLinkPath); - return this.findAllByHref(hrefObs, undefined); + return this.findAllByHref(hrefObs, undefined, true, true, ...linksToFollow); } protected getFindByParentHref(parentUUID: string): Observable { diff --git a/src/app/core/data/data.service.spec.ts b/src/app/core/data/data.service.spec.ts index 82d2271c10..a8bbfa79a0 100644 --- a/src/app/core/data/data.service.spec.ts +++ b/src/app/core/data/data.service.spec.ts @@ -193,6 +193,16 @@ describe('DataService', () => { }); }); + it('should include single linksToFollow as embed and its size', () => { + const expected = `${endpoint}?embed.size=bundles=5&embed=bundles`; + const config: FindListOptions = Object.assign(new FindListOptions(), { + elementsPerPage: 5 + }); + (service as any).getFindAllHref({}, null, followLink('bundles', config, true, true, true)).subscribe((value) => { + expect(value).toBe(expected); + }); + }); + it('should include multiple linksToFollow as embed', () => { const expected = `${endpoint}?embed=bundles&embed=owningCollection&embed=templateItemOf`; @@ -201,6 +211,18 @@ describe('DataService', () => { }); }); + it('should include multiple linksToFollow as embed and its sizes if given', () => { + const expected = `${endpoint}?embed=bundles&embed.size=owningCollection=2&embed=owningCollection&embed=templateItemOf`; + + const config: FindListOptions = Object.assign(new FindListOptions(), { + elementsPerPage: 2 + }); + + (service as any).getFindAllHref({}, null, followLink('bundles'), followLink('owningCollection', config, true, true, true), followLink('templateItemOf')).subscribe((value) => { + expect(value).toBe(expected); + }); + }); + it('should not include linksToFollow with shouldEmbed = false', () => { const expected = `${endpoint}?embed=templateItemOf`; @@ -216,6 +238,16 @@ describe('DataService', () => { expect(value).toBe(expected); }); }); + + it('should include nested linksToFollow 2lvl and nested embed\'s size', () => { + const expected = `${endpoint}?embed.size=owningCollection/itemtemplate=4&embed=owningCollection/itemtemplate`; + const config: FindListOptions = Object.assign(new FindListOptions(), { + elementsPerPage: 4 + }); + (service as any).getFindAllHref({}, null, followLink('owningCollection', undefined, true, true, true, followLink('itemtemplate', config, true, true, true))).subscribe((value) => { + expect(value).toBe(expected); + }); + }); }); describe('getIDHref', () => { diff --git a/src/app/core/data/data.service.ts b/src/app/core/data/data.service.ts index e98de0f77d..814c281a37 100644 --- a/src/app/core/data/data.service.ts +++ b/src/app/core/data/data.service.ts @@ -215,10 +215,19 @@ export abstract class DataService implements UpdateDa */ protected addEmbedParams(href: string, args: string[], ...linksToFollow: FollowLinkConfig[]) { linksToFollow.forEach((linkToFollow: FollowLinkConfig) => { - if (linkToFollow !== undefined && linkToFollow.shouldEmbed) { + if (hasValue(linkToFollow) && linkToFollow.shouldEmbed) { const embedString = 'embed=' + String(linkToFollow.name); - const embedWithNestedString = this.addNestedEmbeds(embedString, ...linkToFollow.linksToFollow); - args = this.addHrefArg(href, args, embedWithNestedString); + // Add the embeds size if given in the FollowLinkConfig.FindListOptions + if (hasValue(linkToFollow.findListOptions) && hasValue(linkToFollow.findListOptions.elementsPerPage)) { + args = this.addHrefArg(href, args, + 'embed.size=' + String(linkToFollow.name) + '=' + linkToFollow.findListOptions.elementsPerPage); + } + // Adds the nested embeds and their size if given + if (isNotEmpty(linkToFollow.linksToFollow)) { + args = this.addNestedEmbeds(embedString, href, args, ...linkToFollow.linksToFollow); + } else { + args = this.addHrefArg(href, args, embedString); + } } }); return args; @@ -243,21 +252,30 @@ export abstract class DataService implements UpdateDa } /** - * Add the nested followLinks to the embed param, recursively, separated by a / + * Add the nested followLinks to the embed param, separated by a /, and their sizes, recursively * @param embedString embedString so far (recursive) + * @param href The href the params are to be added to + * @param args params for the query string * @param linksToFollow links we want to embed in query string if shouldEmbed is true */ - protected addNestedEmbeds(embedString: string, ...linksToFollow: FollowLinkConfig[]): string { + protected addNestedEmbeds(embedString: string, href: string, args: string[], ...linksToFollow: FollowLinkConfig[]): string[] { let nestEmbed = embedString; linksToFollow.forEach((linkToFollow: FollowLinkConfig) => { - if (linkToFollow !== undefined && linkToFollow.shouldEmbed) { + if (hasValue(linkToFollow) && linkToFollow.shouldEmbed) { nestEmbed = nestEmbed + '/' + String(linkToFollow.name); - if (linkToFollow.linksToFollow !== undefined) { - nestEmbed = this.addNestedEmbeds(nestEmbed, ...linkToFollow.linksToFollow); + // Add the nested embeds size if given in the FollowLinkConfig.FindListOptions + if (hasValue(linkToFollow.findListOptions) && hasValue(linkToFollow.findListOptions.elementsPerPage)) { + const nestedEmbedSize = 'embed.size=' + nestEmbed.split('=')[1] + '=' + linkToFollow.findListOptions.elementsPerPage; + args = this.addHrefArg(href, args, nestedEmbedSize); + } + if (hasValue(linkToFollow.linksToFollow) && isNotEmpty(linkToFollow.linksToFollow)) { + args = this.addNestedEmbeds(nestEmbed, href, args, ...linkToFollow.linksToFollow); + } else { + args = this.addHrefArg(href, args, nestEmbed); } } }); - return nestEmbed; + return args; } /** From afa7b675329fd39270a47765803cea46e6233090 Mon Sep 17 00:00:00 2001 From: Art Lowel Date: Mon, 8 Mar 2021 12:10:56 +0100 Subject: [PATCH 070/106] roll back test changes --- src/app/+home-page/home-page.component.ts | 6 +----- src/modules/app/browser-app.module.ts | 13 +++++++------ src/modules/app/server-app.module.ts | 7 ++++--- 3 files changed, 12 insertions(+), 14 deletions(-) diff --git a/src/app/+home-page/home-page.component.ts b/src/app/+home-page/home-page.component.ts index 797b209405..65caa01430 100644 --- a/src/app/+home-page/home-page.component.ts +++ b/src/app/+home-page/home-page.component.ts @@ -10,7 +10,7 @@ import { Site } from '../core/shared/site.model'; templateUrl: './home-page.component.html' }) export class HomePageComponent implements OnInit { - testInput = 'Bingo!'; + site$: Observable; constructor( @@ -23,8 +23,4 @@ export class HomePageComponent implements OnInit { map((data) => data.site as Site), ); } - - onOutput(event: string) { - console.log('testOutput:', event); - } } diff --git a/src/modules/app/browser-app.module.ts b/src/modules/app/browser-app.module.ts index 165b372986..4b6c5c813e 100644 --- a/src/modules/app/browser-app.module.ts +++ b/src/modules/app/browser-app.module.ts @@ -30,6 +30,7 @@ import { } from '../../app/core/services/browser-hard-redirect.service'; import { LocaleService } from '../../app/core/locale/locale.service'; import { GoogleAnalyticsService } from '../../app/statistics/google-analytics.service'; +import { RouterModule, NoPreloading } from '@angular/router'; export const REQ_KEY = makeStateKey('req'); @@ -50,12 +51,12 @@ export function getRequest(transferState: TransferState): any { HttpClientModule, // forRoot ensures the providers are only created once IdlePreloadModule.forRoot(), - // RouterModule.forRoot([], { - // // enableTracing: true, - // useHash: false, - // scrollPositionRestoration: 'enabled', - // preloadingStrategy: NoPreloading - // }), + RouterModule.forRoot([], { + // enableTracing: true, + useHash: false, + scrollPositionRestoration: 'enabled', + preloadingStrategy: NoPreloading + }), StatisticsModule.forRoot(), Angulartics2RouterlessModule.forRoot(), BrowserAnimationsModule, diff --git a/src/modules/app/server-app.module.ts b/src/modules/app/server-app.module.ts index 5539bab23f..906d4c5f35 100644 --- a/src/modules/app/server-app.module.ts +++ b/src/modules/app/server-app.module.ts @@ -30,6 +30,7 @@ import { HardRedirectService } from '../../app/core/services/hard-redirect.servi import { ServerHardRedirectService } from '../../app/core/services/server-hard-redirect.service'; import { Angulartics2 } from 'angulartics2'; import { Angulartics2Mock } from '../../app/shared/mocks/angulartics2.service.mock'; +import { RouterModule } from '@angular/router'; export function createTranslateLoader() { return new TranslateJson5UniversalLoader('dist/server/assets/i18n/', '.json5'); @@ -41,9 +42,9 @@ export function createTranslateLoader() { BrowserModule.withServerTransition({ appId: 'dspace-angular' }), - // RouterModule.forRoot([], { - // useHash: false - // }), + RouterModule.forRoot([], { + useHash: false + }), NoopAnimationsModule, DSpaceServerTransferStateModule, TranslateModule.forRoot({ From 75c9be026efcffda403b9a5cf3a6ee7ffa412073 Mon Sep 17 00:00:00 2001 From: Art Lowel Date: Mon, 8 Mar 2021 17:51:03 +0100 Subject: [PATCH 071/106] remove css variables in media queries --- .../item-metadata/item-metadata.component.scss | 2 +- .../item-relationships/item-relationships.component.scss | 2 +- .../file-section/full-file-section.component.scss | 2 +- .../header-nav-wrapper/header-navbar-wrapper.component.scss | 2 +- src/app/header/header.component.scss | 2 +- .../expandable-navbar-section.component.scss | 2 +- src/app/navbar/navbar.component.scss | 6 +++--- src/app/search-navbar/search-navbar.component.scss | 2 +- .../notifications-board/notifications-board.component.scss | 2 +- src/themes/mantis/app/+home-page/home-page.component.scss | 2 +- .../item-types/publication/publication.component.scss | 2 +- .../item-pages/journal-issue/journal-issue.component.scss | 2 +- .../item-pages/journal-volume/journal-volume.component.scss | 2 +- .../item-pages/journal/journal.component.scss | 4 ++-- .../item-pages/org-unit/org-unit.component.scss | 2 +- .../item-pages/person/person.component.scss | 4 ++-- .../item-pages/project/project.component.scss | 2 +- 17 files changed, 21 insertions(+), 21 deletions(-) diff --git a/src/app/+item-page/edit-item-page/item-metadata/item-metadata.component.scss b/src/app/+item-page/edit-item-page/item-metadata/item-metadata.component.scss index c502f69f98..46ce1a6f4b 100644 --- a/src/app/+item-page/edit-item-page/item-metadata/item-metadata.component.scss +++ b/src/app/+item-page/edit-item-page/item-metadata/item-metadata.component.scss @@ -6,7 +6,7 @@ margin-right: 0; } - @media screen and (min-width: var(--ds-grid-breakpoints-sm)) { + @media screen and (min-width: map-get($grid-breakpoints, sm)) { min-width: var(--ds-edit-item-button-min-width); } } diff --git a/src/app/+item-page/edit-item-page/item-relationships/item-relationships.component.scss b/src/app/+item-page/edit-item-page/item-relationships/item-relationships.component.scss index 033cea8eea..91c1423ba3 100644 --- a/src/app/+item-page/edit-item-page/item-relationships/item-relationships.component.scss +++ b/src/app/+item-page/edit-item-page/item-relationships/item-relationships.component.scss @@ -6,7 +6,7 @@ margin-right: 0; } - @media screen and (min-width: var(--ds-grid-breakpoints-sm)) { + @media screen and (min-width: map-get($grid-breakpoints, sm)) { min-width: var(--ds-edit-item-button-min-width); } } diff --git a/src/app/+item-page/full/field-components/file-section/full-file-section.component.scss b/src/app/+item-page/full/field-components/file-section/full-file-section.component.scss index c60f2f9ff9..5384f90cec 100644 --- a/src/app/+item-page/full/field-components/file-section/full-file-section.component.scss +++ b/src/app/+item-page/full/field-components/file-section/full-file-section.component.scss @@ -1,4 +1,4 @@ -@media screen and (min-width: var(--ds-grid-breakpoints-md)) { +@media screen and (min-width: map-get($grid-breakpoints, md)) { dt { text-align: right; } diff --git a/src/app/header-nav-wrapper/header-navbar-wrapper.component.scss b/src/app/header-nav-wrapper/header-navbar-wrapper.component.scss index 152c8dbaee..b297979fd0 100644 --- a/src/app/header-nav-wrapper/header-navbar-wrapper.component.scss +++ b/src/app/header-nav-wrapper/header-navbar-wrapper.component.scss @@ -1,4 +1,4 @@ -@media screen and (max-width: var(--ds-grid-breakpoints-md)) { +@media screen and (max-width: map-get($grid-breakpoints, md)) { :host.open { background-color: var(--bs-white); top: 0; diff --git a/src/app/header/header.component.scss b/src/app/header/header.component.scss index c1d31e4e60..0263a566cc 100644 --- a/src/app/header/header.component.scss +++ b/src/app/header/header.component.scss @@ -1,6 +1,6 @@ .navbar-brand img { height: var(--ds-header-logo-height); - @media screen and (max-width: var(--ds-grid-breakpoints-sm)) { + @media screen and (max-width: map-get($grid-breakpoints, sm)) { height: var(--ds-header-logo-height-xs); } } diff --git a/src/app/navbar/expandable-navbar-section/expandable-navbar-section.component.scss b/src/app/navbar/expandable-navbar-section/expandable-navbar-section.component.scss index 044c196545..8059a4b027 100644 --- a/src/app/navbar/expandable-navbar-section/expandable-navbar-section.component.scss +++ b/src/app/navbar/expandable-navbar-section/expandable-navbar-section.component.scss @@ -11,7 +11,7 @@ } /** Mobile menu styling **/ -@media screen and (max-width: var(--ds-grid-breakpoints-md)) { +@media screen and (max-width: map-get($grid-breakpoints, md)) { .dropdown-toggle { &:after { float: right; diff --git a/src/app/navbar/navbar.component.scss b/src/app/navbar/navbar.component.scss index 2fa35a6f4b..8704c4e57b 100644 --- a/src/app/navbar/navbar.component.scss +++ b/src/app/navbar/navbar.component.scss @@ -4,7 +4,7 @@ nav.navbar { } /** Mobile menu styling **/ -@media screen and (max-width: var(--ds-grid-breakpoints-md)) { +@media screen and (max-width: map-get($grid-breakpoints, md)) { .navbar { width: 100%; background-color: var(--bs-white); @@ -17,7 +17,7 @@ nav.navbar { } } -@media screen and (min-width: var(--ds-grid-breakpoints-md)) { +@media screen and (min-width: map-get($grid-breakpoints, md)) { .reset-padding-md { margin-left: -calc(var(--bs-spacer) / 2); margin-right: -calc(var(--bs-spacer) / 2); @@ -26,7 +26,7 @@ nav.navbar { /* TODO remove when https://github.com/twbs/bootstrap/issues/24726 is fixed */ .navbar-expand-md.navbar-container { - @media screen and (max-width: var(--ds-grid-breakpoints-md)) { + @media screen and (max-width: map-get($grid-breakpoints, md)) { > .container { padding: 0 var(--bs-spacer); } diff --git a/src/app/search-navbar/search-navbar.component.scss b/src/app/search-navbar/search-navbar.component.scss index 4de51a36dd..dfebd2c94d 100644 --- a/src/app/search-navbar/search-navbar.component.scss +++ b/src/app/search-navbar/search-navbar.component.scss @@ -16,7 +16,7 @@ a.submit-icon { -@media screen and (max-width: var(--ds-grid-breakpoints-sm)) { +@media screen and (max-width: map-get($grid-breakpoints, sm)) { #query:focus { max-width: 250px !important; width: 40vw !important; diff --git a/src/app/shared/notifications/notifications-board/notifications-board.component.scss b/src/app/shared/notifications/notifications-board/notifications-board.component.scss index c0b1a917f4..ab58313867 100644 --- a/src/app/shared/notifications/notifications-board/notifications-board.component.scss +++ b/src/app/shared/notifications/notifications-board/notifications-board.component.scss @@ -37,7 +37,7 @@ transform: translate(-50%, -50%); } -@media screen and (max-width: var(--ds-grid-breakpoints-sm)) { +@media screen and (max-width: map-get($grid-breakpoints, sm)) { .notifications-wrapper { width: auto; left: 0; diff --git a/src/themes/mantis/app/+home-page/home-page.component.scss b/src/themes/mantis/app/+home-page/home-page.component.scss index 64d2ba66ca..d4350c1e13 100644 --- a/src/themes/mantis/app/+home-page/home-page.component.scss +++ b/src/themes/mantis/app/+home-page/home-page.component.scss @@ -7,7 +7,7 @@ div.background-image { background-position-y: -200px; background-image: url('/assets/images/banner.jpg'); background-size: cover; - @media screen and (max-width: var(--bs-lg)) { + @media screen and (max-width: map-get($grid-breakpoints, lg)) { background-position-y: 0; } diff --git a/src/themes/mantis/app/+item-page/simple/item-types/publication/publication.component.scss b/src/themes/mantis/app/+item-page/simple/item-types/publication/publication.component.scss index 501e2a7562..6d12fcec71 100644 --- a/src/themes/mantis/app/+item-page/simple/item-types/publication/publication.component.scss +++ b/src/themes/mantis/app/+item-page/simple/item-types/publication/publication.component.scss @@ -17,7 +17,7 @@ } ds-metadata-field-wrapper { - @media screen and (max-width: var(--bs-md)) { + @media screen and (max-width: map-get($grid-breakpoints, md)) { flex: 1; padding-right: calc(var(--bs-spacer) / 2); } diff --git a/src/themes/mantis/app/entity-groups/journal-entities/item-pages/journal-issue/journal-issue.component.scss b/src/themes/mantis/app/entity-groups/journal-entities/item-pages/journal-issue/journal-issue.component.scss index 4e0acbeccb..c0a314d715 100644 --- a/src/themes/mantis/app/entity-groups/journal-entities/item-pages/journal-issue/journal-issue.component.scss +++ b/src/themes/mantis/app/entity-groups/journal-entities/item-pages/journal-issue/journal-issue.component.scss @@ -17,7 +17,7 @@ } ds-metadata-field-wrapper { - @media screen and (max-width: var(--bs-md)) { + @media screen and (max-width: map-get($grid-breakpoints, md)) { flex: 1; padding-right: calc(var(--bs-spacer) / 2); } diff --git a/src/themes/mantis/app/entity-groups/journal-entities/item-pages/journal-volume/journal-volume.component.scss b/src/themes/mantis/app/entity-groups/journal-entities/item-pages/journal-volume/journal-volume.component.scss index 8142b1d09d..6e418258d3 100644 --- a/src/themes/mantis/app/entity-groups/journal-entities/item-pages/journal-volume/journal-volume.component.scss +++ b/src/themes/mantis/app/entity-groups/journal-entities/item-pages/journal-volume/journal-volume.component.scss @@ -17,7 +17,7 @@ } ds-metadata-field-wrapper { - @media screen and (max-width: var(--bs-md)) { + @media screen and (max-width: map-get($grid-breakpoints, md)) { flex: 1; padding-right: calc(var(--bs-spacer) / 2); } diff --git a/src/themes/mantis/app/entity-groups/journal-entities/item-pages/journal/journal.component.scss b/src/themes/mantis/app/entity-groups/journal-entities/item-pages/journal/journal.component.scss index 28664b1794..d2a7c8ca46 100644 --- a/src/themes/mantis/app/entity-groups/journal-entities/item-pages/journal/journal.component.scss +++ b/src/themes/mantis/app/entity-groups/journal-entities/item-pages/journal/journal.component.scss @@ -17,7 +17,7 @@ } ds-metadata-field-wrapper { - @media screen and (max-width: var(--bs-md)) { + @media screen and (max-width: map-get($grid-breakpoints, md)) { flex: 1; padding-right: calc(var(--bs-spacer) / 2); } @@ -30,7 +30,7 @@ .search-container { margin-bottom: var(--bs-spacer); - @media screen and (max-width: var(--bs-lg)) { + @media screen and (max-width: map-get($grid-breakpoints, lg)) { width: 100%; max-width: none; } diff --git a/src/themes/mantis/app/entity-groups/research-entities/item-pages/org-unit/org-unit.component.scss b/src/themes/mantis/app/entity-groups/research-entities/item-pages/org-unit/org-unit.component.scss index 89c637760d..aff2622323 100644 --- a/src/themes/mantis/app/entity-groups/research-entities/item-pages/org-unit/org-unit.component.scss +++ b/src/themes/mantis/app/entity-groups/research-entities/item-pages/org-unit/org-unit.component.scss @@ -17,7 +17,7 @@ } ds-metadata-field-wrapper { - @media screen and (max-width: var(--bs-md)) { + @media screen and (max-width: map-get($grid-breakpoints, md)) { flex: 1; padding-right: calc(var(--bs-spacer) / 2); } diff --git a/src/themes/mantis/app/entity-groups/research-entities/item-pages/person/person.component.scss b/src/themes/mantis/app/entity-groups/research-entities/item-pages/person/person.component.scss index c6049438dd..51c15716f9 100644 --- a/src/themes/mantis/app/entity-groups/research-entities/item-pages/person/person.component.scss +++ b/src/themes/mantis/app/entity-groups/research-entities/item-pages/person/person.component.scss @@ -17,7 +17,7 @@ } ds-metadata-field-wrapper { - @media screen and (max-width: var(--bs-md)) { + @media screen and (max-width: map-get($grid-breakpoints, md)) { flex: 1; padding-right: calc(var(--bs-spacer) / 2); } @@ -30,7 +30,7 @@ .search-container { margin-bottom: var(--bs-spacer); - @media screen and (max-width: var(--bs-lg)) { + @media screen and (max-width: map-get($grid-breakpoints, lg)) { width: 100%; max-width: none; } diff --git a/src/themes/mantis/app/entity-groups/research-entities/item-pages/project/project.component.scss b/src/themes/mantis/app/entity-groups/research-entities/item-pages/project/project.component.scss index 502b5102ca..076baad1a0 100644 --- a/src/themes/mantis/app/entity-groups/research-entities/item-pages/project/project.component.scss +++ b/src/themes/mantis/app/entity-groups/research-entities/item-pages/project/project.component.scss @@ -17,7 +17,7 @@ } ds-metadata-field-wrapper { - @media screen and (max-width: var(--bs-md)) { + @media screen and (max-width: map-get($grid-breakpoints, md)) { flex: 1; padding-right: calc(var(--bs-spacer) / 2); } From 0ae4016f916c8faabbc48039d09df9fdf9c96fdb Mon Sep 17 00:00:00 2001 From: Art Lowel Date: Mon, 8 Mar 2021 18:20:41 +0100 Subject: [PATCH 072/106] fix find-replace mistake --- src/app/navbar/navbar.component.scss | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/app/navbar/navbar.component.scss b/src/app/navbar/navbar.component.scss index 8704c4e57b..cca6284b72 100644 --- a/src/app/navbar/navbar.component.scss +++ b/src/app/navbar/navbar.component.scss @@ -19,8 +19,8 @@ nav.navbar { @media screen and (min-width: map-get($grid-breakpoints, md)) { .reset-padding-md { - margin-left: -calc(var(--bs-spacer) / 2); - margin-right: -calc(var(--bs-spacer) / 2); + margin-left: calc(var(--bs-spacer) / -2); + margin-right: calc(var(--bs-spacer) / -2); } } From f1fa69bb3ba5189dfd33d9a64fd36b14fe11c213 Mon Sep 17 00:00:00 2001 From: Art Lowel Date: Tue, 9 Mar 2021 14:33:05 +0100 Subject: [PATCH 073/106] use embed size in alternative link --- .../dspace-rest-response-parsing.service.ts | 13 +++++++++-- src/app/core/index/index.selectors.ts | 23 ++++++++++++++++++- 2 files changed, 33 insertions(+), 3 deletions(-) diff --git a/src/app/core/data/dspace-rest-response-parsing.service.ts b/src/app/core/data/dspace-rest-response-parsing.service.ts index 81c432e31e..2fda0bf40a 100644 --- a/src/app/core/data/dspace-rest-response-parsing.service.ts +++ b/src/app/core/data/dspace-rest-response-parsing.service.ts @@ -15,7 +15,8 @@ import { Injectable } from '@angular/core'; import { ResponseParsingService } from './parsing.service'; import { ParsedResponse } from '../cache/response.models'; import { RestRequestMethod } from './rest-request-method'; -import { getUrlWithoutEmbedParams } from '../index/index.selectors'; +import { getUrlWithoutEmbedParams, getEmbedSizeParams } from '../index/index.selectors'; +import { URLCombiner } from '../url-combiner/url-combiner'; /* tslint:disable:max-classes-per-file */ @@ -86,6 +87,8 @@ export class DspaceRestResponseParsingService implements ResponseParsingService } public process(data: any, request: RestRequest, alternativeURL?: string): any { + const embedSizeParams = getEmbedSizeParams(request.href); + if (isNotEmpty(data)) { if (hasNoValue(data) || (typeof data !== 'object')) { return data; @@ -100,7 +103,13 @@ export class DspaceRestResponseParsingService implements ResponseParsingService .keys(data._embedded) .filter((property) => data._embedded.hasOwnProperty(property)) .forEach((property) => { - this.process(data._embedded[property], request, data._links[property].href); + let embedAltUrl = data._links[property].href; + const match = embedSizeParams + .find((param: { name: string, size: number }) => param.name === property); + if (hasValue(match)) { + embedAltUrl = new URLCombiner(embedAltUrl, `?size=${match.size}`).toString(); + } + this.process(data._embedded[property], request, embedAltUrl); }); } diff --git a/src/app/core/index/index.selectors.ts b/src/app/core/index/index.selectors.ts index 40c870b2d1..9b57064388 100644 --- a/src/app/core/index/index.selectors.ts +++ b/src/app/core/index/index.selectors.ts @@ -24,7 +24,7 @@ export const getUrlWithoutEmbedParams = (url: string): string => { if (isNotEmpty(parsed.query)) { const parts = parsed.query.split(/[?|&]/) .filter((part: string) => isNotEmpty(part)) - .filter((part: string) => !part.startsWith('embed=')); + .filter((part: string) => !(part.startsWith('embed=') || part.startsWith('embed.size='))); let args = ''; if (isNotEmpty(parts)) { args = `?${parts.join('&')}`; @@ -37,6 +37,27 @@ export const getUrlWithoutEmbedParams = (url: string): string => { return url; }; +/** + * Parse the embed size params from a url + * @param url The url to parse + */ +export const getEmbedSizeParams = (url: string): { name: string, size: number }[] => { + if (isNotEmpty(url)) { + const parsed = parse(url); + if (isNotEmpty(parsed.query)) { + return parsed.query.split(/[?|&]/) + .filter((part: string) => isNotEmpty(part)) + .map((part: string) => part.match(/^embed.size=([^=]+)=(\d+)$/)) + .filter((matches: RegExpMatchArray) => hasValue(matches) && hasValue(matches[1]) && hasValue(matches[2])) + .map((matches: RegExpMatchArray) => { + return { name: matches[1], size: Number(matches[2]) }; + }); + } + } + + return []; +}; + /** * Return the MetaIndexState based on the CoreSate * From c004365cee6f4e65008e7008a824a53f0f79307a Mon Sep 17 00:00:00 2001 From: Art Lowel Date: Wed, 10 Mar 2021 17:33:20 +0100 Subject: [PATCH 074/106] fix tests after merge --- .../listable-object-component-loader.component.spec.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/app/shared/object-collection/shared/listable-object/listable-object-component-loader.component.spec.ts b/src/app/shared/object-collection/shared/listable-object/listable-object-component-loader.component.spec.ts index 74dc0be623..3442b044a2 100644 --- a/src/app/shared/object-collection/shared/listable-object/listable-object-component-loader.component.spec.ts +++ b/src/app/shared/object-collection/shared/listable-object/listable-object-component-loader.component.spec.ts @@ -10,6 +10,7 @@ import { ListableObjectDirective } from './listable-object.directive'; import { TranslateModule } from '@ngx-translate/core'; import { By } from '@angular/platform-browser'; import { Item } from '../../../../core/shared/item.model'; +import { provideMockStore } from '@ngrx/store/testing'; const testType = 'TestType'; const testContext = Context.Search; @@ -30,7 +31,7 @@ describe('ListableObjectComponentLoaderComponent', () => { imports: [TranslateModule.forRoot()], declarations: [ListableObjectComponentLoaderComponent, ItemListElementComponent, ListableObjectDirective], schemas: [NO_ERRORS_SCHEMA], - providers: [] + providers: [provideMockStore({})] }).overrideComponent(ListableObjectComponentLoaderComponent, { set: { changeDetection: ChangeDetectionStrategy.Default, From 5ecab7de1228addf58f2dc853e6c80d2777c47f6 Mon Sep 17 00:00:00 2001 From: Marie Verdonck Date: Thu, 11 Mar 2021 16:41:22 +0100 Subject: [PATCH 075/106] 77178: Tests for getEmbedSizeParams selector --- src/app/core/index/index.selectors.spec.ts | 37 +++++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/src/app/core/index/index.selectors.spec.ts b/src/app/core/index/index.selectors.spec.ts index 02cce4b7d6..91119a283c 100644 --- a/src/app/core/index/index.selectors.spec.ts +++ b/src/app/core/index/index.selectors.spec.ts @@ -1,4 +1,5 @@ -import { getUrlWithoutEmbedParams } from './index.selectors'; +import { getEmbedSizeParams, getUrlWithoutEmbedParams } from './index.selectors'; + describe(`index selectors`, () => { @@ -29,4 +30,38 @@ describe(`index selectors`, () => { }); + describe(`getEmbedSizeParams`, () => { + + it(`url with single embed size param => should return list with ['subcommunities' - size]`, () => { + const source = 'https://rest.api/core/communities/search/top?page=0&size=50&sort=dc.title,ASC&embed.size=subcommunities=5&embed=subcommunities'; + const result = getEmbedSizeParams(source); + expect(result).toHaveSize(1); + expect(result[0]).toEqual({name: 'subcommunities', size: 5}); + }); + + it(`url with multiple embed size param => should return list with {name, size}`, () => { + const source = 'https://rest.api/core/communities/search/top?page=0&size=50&sort=dc.title,ASC&embed.size=subcommunities=5&embed=subcommunities&embed.size=collections=1&embed=collections'; + const result = getEmbedSizeParams(source); + expect(result).toHaveSize(2); + expect(result[0]).toEqual({name: 'subcommunities', size: 5}); + expect(result[1]).toEqual({name: 'collections', size: 1}); + }); + + it(`url without params => should return empty list`, () => { + const source = 'https://rest.api/core/collections/uuid'; + expect(getEmbedSizeParams(source)).toHaveSize(0); + }); + + it(`url without embed size params => should return empty list`, () => { + const source = 'https://rest.api/core/collections/uuid?page=0&size=50'; + expect(getEmbedSizeParams(source)).toHaveSize(0); + }); + + it(`undefined or null url => should return empty list`, () => { + expect(getEmbedSizeParams(undefined)).toHaveSize(0); + expect(getEmbedSizeParams(null)).toHaveSize(0); + }); + + }); + }); From 42519fc7a024414e8ee6bc0b8a8f4ec0358b24ff Mon Sep 17 00:00:00 2001 From: marciofoz <10158758+marciofoz@users.noreply.github.com> Date: Tue, 4 Aug 2020 15:56:47 -0300 Subject: [PATCH 076/106] Update pt.json5 --- src/assets/i18n/pt.json5 | 2848 +++++++++++++++++++------------------- 1 file changed, 1394 insertions(+), 1454 deletions(-) diff --git a/src/assets/i18n/pt.json5 b/src/assets/i18n/pt.json5 index 1ebcbd0606..edc09dbf03 100644 --- a/src/assets/i18n/pt.json5 +++ b/src/assets/i18n/pt.json5 @@ -1,4026 +1,3966 @@ { - + // "404.help": "We can't find the page you're looking for. The page may have been moved or deleted. You can use the button below to get back to the home page. ", "404.help": "Não pudemos encontrar a página pela qual procura. A página pode ter sido movida ou apagada. Você pode utilizar o botão abaixo para voltar a página inicial. ", - + // "404.link.home-page": "Take me to the home page", "404.link.home-page": "Leve-me a página inicial", - + // "404.page-not-found": "page not found", "404.page-not-found": "página não encontrada", - - - + + + // "admin.registries.bitstream-formats.create.failure.content": "An error occurred while creating the new bitstream format.", "admin.registries.bitstream-formats.create.failure.content": "Um erro ocorreu durante a criação do novo formato de bitstream.", - + // "admin.registries.bitstream-formats.create.failure.head": "Failure", "admin.registries.bitstream-formats.create.failure.head": "Falha", - + // "admin.registries.bitstream-formats.create.head": "Create Bitstream format", "admin.registries.bitstream-formats.create.head": "Criar formato de Bitstream", - + // "admin.registries.bitstream-formats.create.new": "Add a new bitstream format", "admin.registries.bitstream-formats.create.new": "Adicionar um novo formato de bitstream", - + // "admin.registries.bitstream-formats.create.success.content": "The new bitstream format was successfully created.", "admin.registries.bitstream-formats.create.success.content": "O novo formato de bitstream foi criado com sucesso.", - + // "admin.registries.bitstream-formats.create.success.head": "Success", "admin.registries.bitstream-formats.create.success.head": "Sucesso", - + // "admin.registries.bitstream-formats.delete.failure.amount": "Failed to remove {{ amount }} format(s)", "admin.registries.bitstream-formats.delete.failure.amount": "Falha ao remover {{ amount }} formato(s)", - + // "admin.registries.bitstream-formats.delete.failure.head": "Failure", "admin.registries.bitstream-formats.delete.failure.head": "Falha", - + // "admin.registries.bitstream-formats.delete.success.amount": "Successfully removed {{ amount }} format(s)", "admin.registries.bitstream-formats.delete.success.amount": "Removeu {{ amount }} formato(s) com sucesso", - + // "admin.registries.bitstream-formats.delete.success.head": "Success", "admin.registries.bitstream-formats.delete.success.head": "Sucesso", - + // "admin.registries.bitstream-formats.description": "This list of bitstream formats provides information about known formats and their support level.", "admin.registries.bitstream-formats.description": "Esta lista de formatos de bitstream provê informações sobre formatos conhecidos e seus níveis de suporte.", - + // "admin.registries.bitstream-formats.edit.description.hint": "", "admin.registries.bitstream-formats.edit.description.hint": "", - + // "admin.registries.bitstream-formats.edit.description.label": "Description", "admin.registries.bitstream-formats.edit.description.label": "Descrição", - + // "admin.registries.bitstream-formats.edit.extensions.hint": "Extensions are file extensions that are used to automatically identify the format of uploaded files. You can enter several extensions for each format.", "admin.registries.bitstream-formats.edit.extensions.hint": "Extensões são extensões de arquivo que são usadas para identificar automaticamente o formato dos arquivo enviados. Você pode informar várias extensões para cada formato.", - + // "admin.registries.bitstream-formats.edit.extensions.label": "File extensions", "admin.registries.bitstream-formats.edit.extensions.label": "Extensões de arquivo", - + // "admin.registries.bitstream-formats.edit.extensions.placeholder": "Enter a file extension without the dot", // TODO Source message changed - Revise the translation "admin.registries.bitstream-formats.edit.extensions.placeholder": "Informe uma extenção e arquivo sem o ponto", - + // "admin.registries.bitstream-formats.edit.failure.content": "An error occurred while editing the bitstream format.", "admin.registries.bitstream-formats.edit.failure.content": "Ocorreu um erro ao editar o formato de bitstream.", - + // "admin.registries.bitstream-formats.edit.failure.head": "Failure", "admin.registries.bitstream-formats.edit.failure.head": "Falha", - + // "admin.registries.bitstream-formats.edit.head": "Bitstream format: {{ format }}", "admin.registries.bitstream-formats.edit.head": "Formato de bitstream: {{ format }}", - + // "admin.registries.bitstream-formats.edit.internal.hint": "Formats marked as internal are hidden from the user, and used for administrative purposes.", "admin.registries.bitstream-formats.edit.internal.hint": "Formatos marcados como interno são ocultos para o usuário, e utilizados por motivos administrativos.", - + // "admin.registries.bitstream-formats.edit.internal.label": "Internal", "admin.registries.bitstream-formats.edit.internal.label": "Interno", - + // "admin.registries.bitstream-formats.edit.mimetype.hint": "The MIME type associated with this format, does not have to be unique.", "admin.registries.bitstream-formats.edit.mimetype.hint": "O MIME type associado à este formato não tem que ser único.", - + // "admin.registries.bitstream-formats.edit.mimetype.label": "MIME Type", "admin.registries.bitstream-formats.edit.mimetype.label": "MIME Type", - + // "admin.registries.bitstream-formats.edit.shortDescription.hint": "A unique name for this format, (e.g. Microsoft Word XP or Microsoft Word 2000)", "admin.registries.bitstream-formats.edit.shortDescription.hint": "Um nome único para este formato (exemplo. Microsoft Word XP ou Microsoft Word 2000)", - + // "admin.registries.bitstream-formats.edit.shortDescription.label": "Name", "admin.registries.bitstream-formats.edit.shortDescription.label": "Nome", - + // "admin.registries.bitstream-formats.edit.success.content": "The bitstream format was successfully edited.", "admin.registries.bitstream-formats.edit.success.content": "O formato de bitstream foi editedo com sucesso.", - + // "admin.registries.bitstream-formats.edit.success.head": "Success", "admin.registries.bitstream-formats.edit.success.head": "Sucesso", - + // "admin.registries.bitstream-formats.edit.supportLevel.hint": "The level of support your institution pledges for this format.", "admin.registries.bitstream-formats.edit.supportLevel.hint": "O nível de suporte que a sua instituição promete para este formato.", - + // "admin.registries.bitstream-formats.edit.supportLevel.label": "Support level", "admin.registries.bitstream-formats.edit.supportLevel.label": "Nível de suporte", - + // "admin.registries.bitstream-formats.head": "Bitstream Format Registry", "admin.registries.bitstream-formats.head": "Registro de Formato de Bitstream", - + // "admin.registries.bitstream-formats.no-items": "No bitstream formats to show.", "admin.registries.bitstream-formats.no-items": "Nenhum formato de bitstream para exibir.", - + // "admin.registries.bitstream-formats.table.delete": "Delete selected", "admin.registries.bitstream-formats.table.delete": "Apagar selecionado(s)", - + // "admin.registries.bitstream-formats.table.deselect-all": "Deselect all", "admin.registries.bitstream-formats.table.deselect-all": "Desselecionar todos", - + // "admin.registries.bitstream-formats.table.internal": "internal", "admin.registries.bitstream-formats.table.internal": "Interno", - + // "admin.registries.bitstream-formats.table.mimetype": "MIME Type", "admin.registries.bitstream-formats.table.mimetype": "MIME Type", - + // "admin.registries.bitstream-formats.table.name": "Name", "admin.registries.bitstream-formats.table.name": "Nome", - + // "admin.registries.bitstream-formats.table.return": "Return", "admin.registries.bitstream-formats.table.return": "Voltar", - + // "admin.registries.bitstream-formats.table.supportLevel.KNOWN": "Known", "admin.registries.bitstream-formats.table.supportLevel.KNOWN": "Conhecido", - + // "admin.registries.bitstream-formats.table.supportLevel.SUPPORTED": "Supported", "admin.registries.bitstream-formats.table.supportLevel.SUPPORTED": "Com suporte", - + // "admin.registries.bitstream-formats.table.supportLevel.UNKNOWN": "Unknown", "admin.registries.bitstream-formats.table.supportLevel.UNKNOWN": "Desconhecido", - + // "admin.registries.bitstream-formats.table.supportLevel.head": "Support Level", "admin.registries.bitstream-formats.table.supportLevel.head": "Nível de Suporte", - + // "admin.registries.bitstream-formats.title": "DSpace Angular :: Bitstream Format Registry", "admin.registries.bitstream-formats.title": "DSpace Angular :: Registro de Formato de Bitstream", - - - + + + // "admin.registries.metadata.description": "The metadata registry maintains a list of all metadata fields available in the repository. These fields may be divided amongst multiple schemas. However, DSpace requires the qualified Dublin Core schema.", "admin.registries.metadata.description": "O registro de metadados mantém a lista de todos os campos de metadados disponíveis no repositório. Estes campos podêm ser divididos em multiplos esquemas. Entretanto, o DSpace requer esquemas de Dublin Core qualificados.", - + // "admin.registries.metadata.form.create": "Create metadata schema", "admin.registries.metadata.form.create": "Criar esquema de metadados", - + // "admin.registries.metadata.form.edit": "Edit metadata schema", "admin.registries.metadata.form.edit": "Editar esquema de metadados", - + // "admin.registries.metadata.form.name": "Name", "admin.registries.metadata.form.name": "Nome", - + // "admin.registries.metadata.form.namespace": "Namespace", "admin.registries.metadata.form.namespace": "Namespace", - + // "admin.registries.metadata.head": "Metadata Registry", "admin.registries.metadata.head": "Registro de Metadados", - + // "admin.registries.metadata.schemas.no-items": "No metadata schemas to show.", "admin.registries.metadata.schemas.no-items": "Nenhum esquema de metadados a mostrar.", - + // "admin.registries.metadata.schemas.table.delete": "Delete selected", "admin.registries.metadata.schemas.table.delete": "Apagar selecionado(s)", - + // "admin.registries.metadata.schemas.table.id": "ID", "admin.registries.metadata.schemas.table.id": "ID", - + // "admin.registries.metadata.schemas.table.name": "Name", "admin.registries.metadata.schemas.table.name": "Nome", - + // "admin.registries.metadata.schemas.table.namespace": "Namespace", "admin.registries.metadata.schemas.table.namespace": "Namespace", - + // "admin.registries.metadata.title": "DSpace Angular :: Metadata Registry", "admin.registries.metadata.title": "DSpace Angular :: Registro de Metadados", - - - + + + // "admin.registries.schema.description": "This is the metadata schema for \"{{namespace}}\".", "admin.registries.schema.description": "Este é o esquema de metadados para \"{{namespace}}\".", - + // "admin.registries.schema.fields.head": "Schema metadata fields", "admin.registries.schema.fields.head": "Campos do esquema de metadados", - + // "admin.registries.schema.fields.no-items": "No metadata fields to show.", "admin.registries.schema.fields.no-items": "Nenhum campo de metadado a exibir.", - + // "admin.registries.schema.fields.table.delete": "Delete selected", "admin.registries.schema.fields.table.delete": "Apagar selecionado(s)", - + // "admin.registries.schema.fields.table.field": "Field", "admin.registries.schema.fields.table.field": "Campo", - + // "admin.registries.schema.fields.table.scopenote": "Scope Note", "admin.registries.schema.fields.table.scopenote": "Nota de escopo", - + // "admin.registries.schema.form.create": "Create metadata field", "admin.registries.schema.form.create": "Criar campo de metadado", - + // "admin.registries.schema.form.edit": "Edit metadata field", "admin.registries.schema.form.edit": "Editar campo de metadado", - + // "admin.registries.schema.form.element": "Element", "admin.registries.schema.form.element": "Elemento", - + // "admin.registries.schema.form.qualifier": "Qualifier", "admin.registries.schema.form.qualifier": "Qualificador", - + // "admin.registries.schema.form.scopenote": "Scope Note", "admin.registries.schema.form.scopenote": "Nota de Escopo", - + // "admin.registries.schema.head": "Metadata Schema", "admin.registries.schema.head": "Esquema de Metadados", - + // "admin.registries.schema.notification.created": "Successfully created metadata schema \"{{prefix}}\"", "admin.registries.schema.notification.created": "Criou o esquema de metadados \"{{prefix}}\" com sucesso", - + // "admin.registries.schema.notification.deleted.failure": "Failed to delete {{amount}} metadata schemas", "admin.registries.schema.notification.deleted.failure": "Falhou ao apagar {{amount}} esquema(s) de metadados", - + // "admin.registries.schema.notification.deleted.success": "Successfully deleted {{amount}} metadata schemas", "admin.registries.schema.notification.deleted.success": "Apagou {{amount}} esquema(s) de metadados com sucesso", - + // "admin.registries.schema.notification.edited": "Successfully edited metadata schema \"{{prefix}}\"", "admin.registries.schema.notification.edited": "Editou o esquema de metadados \"{{prefix}}\" com sucesso", - + // "admin.registries.schema.notification.failure": "Error", "admin.registries.schema.notification.failure": "Erro", - + // "admin.registries.schema.notification.field.created": "Successfully created metadata field \"{{field}}\"", "admin.registries.schema.notification.field.created": "Criou o campo de medado \"{{field}}\" com sucesso", - + // "admin.registries.schema.notification.field.deleted.failure": "Failed to delete {{amount}} metadata fields", "admin.registries.schema.notification.field.deleted.failure": "Falhou ao apagar {{amount}} campo(s) de metadados", - + // "admin.registries.schema.notification.field.deleted.success": "Successfully deleted {{amount}} metadata fields", "admin.registries.schema.notification.field.deleted.success": "Apagou {{amount}} campo(s) de metadados com sucesso", - + // "admin.registries.schema.notification.field.edited": "Successfully edited metadata field \"{{field}}\"", "admin.registries.schema.notification.field.edited": "Editou o campo de metadodo \"{{field}}\" com sucesso", - + // "admin.registries.schema.notification.success": "Success", "admin.registries.schema.notification.success": "Sucesso", - + // "admin.registries.schema.return": "Return", "admin.registries.schema.return": "Voltar", - + // "admin.registries.schema.title": "DSpace Angular :: Metadata Schema Registry", "admin.registries.schema.title": "DSpace Angular :: Registro de Esquema de Metadados", - - - + + + // "admin.access-control.epeople.title": "DSpace Angular :: EPeople", // TODO New key - Add a translation "admin.access-control.epeople.title": "DSpace Angular :: EPeople", - + // "admin.access-control.epeople.head": "EPeople", // TODO New key - Add a translation "admin.access-control.epeople.head": "EPeople", - + // "admin.access-control.epeople.search.head": "Search", // TODO New key - Add a translation "admin.access-control.epeople.search.head": "Search", - + // "admin.access-control.epeople.button.see-all": "Browse All", - // TODO New key - Add a translation - "admin.access-control.epeople.button.see-all": "Browse All", - + "admin.access-control.epeople.button.see-all": "Pesquisar Todos", + // "admin.access-control.epeople.search.scope.metadata": "Metadata", // TODO New key - Add a translation "admin.access-control.epeople.search.scope.metadata": "Metadata", - + // "admin.access-control.epeople.search.scope.email": "E-mail (exact)", // TODO New key - Add a translation "admin.access-control.epeople.search.scope.email": "E-mail (exact)", - + // "admin.access-control.epeople.search.button": "Search", // TODO New key - Add a translation "admin.access-control.epeople.search.button": "Search", - + // "admin.access-control.epeople.button.add": "Add EPerson", // TODO New key - Add a translation "admin.access-control.epeople.button.add": "Add EPerson", - + // "admin.access-control.epeople.table.id": "ID", // TODO New key - Add a translation "admin.access-control.epeople.table.id": "ID", - + // "admin.access-control.epeople.table.name": "Name", - // TODO New key - Add a translation - "admin.access-control.epeople.table.name": "Name", - + "admin.access-control.epeople.table.name": "Nome", + // "admin.access-control.epeople.table.email": "E-mail (exact)", // TODO New key - Add a translation "admin.access-control.epeople.table.email": "E-mail (exact)", - + // "admin.access-control.epeople.table.edit": "Edit", // TODO New key - Add a translation "admin.access-control.epeople.table.edit": "Edit", - + // "admin.access-control.epeople.table.edit.buttons.edit": "Edit \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.epeople.table.edit.buttons.edit": "Edit \"{{name}}\"", - + // "admin.access-control.epeople.table.edit.buttons.remove": "Delete \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.epeople.table.edit.buttons.remove": "Delete \"{{name}}\"", - + // "admin.access-control.epeople.no-items": "No EPeople to show.", // TODO New key - Add a translation "admin.access-control.epeople.no-items": "No EPeople to show.", - + // "admin.access-control.epeople.form.create": "Create EPerson", // TODO New key - Add a translation "admin.access-control.epeople.form.create": "Create EPerson", - + // "admin.access-control.epeople.form.edit": "Edit EPerson", // TODO New key - Add a translation "admin.access-control.epeople.form.edit": "Edit EPerson", - + // "admin.access-control.epeople.form.firstName": "First name", // TODO New key - Add a translation "admin.access-control.epeople.form.firstName": "First name", - + // "admin.access-control.epeople.form.lastName": "Last name", // TODO New key - Add a translation "admin.access-control.epeople.form.lastName": "Last name", - + // "admin.access-control.epeople.form.email": "E-mail", // TODO New key - Add a translation "admin.access-control.epeople.form.email": "E-mail", - + // "admin.access-control.epeople.form.emailHint": "Must be valid e-mail address", // TODO New key - Add a translation "admin.access-control.epeople.form.emailHint": "Must be valid e-mail address", - + // "admin.access-control.epeople.form.canLogIn": "Can log in", // TODO New key - Add a translation "admin.access-control.epeople.form.canLogIn": "Can log in", - + // "admin.access-control.epeople.form.requireCertificate": "Requires certificate", // TODO New key - Add a translation "admin.access-control.epeople.form.requireCertificate": "Requires certificate", - + // "admin.access-control.epeople.form.notification.created.success": "Successfully created EPerson \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.epeople.form.notification.created.success": "Successfully created EPerson \"{{name}}\"", - + // "admin.access-control.epeople.form.notification.created.failure": "Failed to create EPerson \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.epeople.form.notification.created.failure": "Failed to create EPerson \"{{name}}\"", - + // "admin.access-control.epeople.form.notification.created.failure.emailInUse": "Failed to create EPerson \"{{name}}\", email \"{{email}}\" already in use.", // TODO New key - Add a translation "admin.access-control.epeople.form.notification.created.failure.emailInUse": "Failed to create EPerson \"{{name}}\", email \"{{email}}\" already in use.", - + // "admin.access-control.epeople.form.notification.edited.failure.emailInUse": "Failed to edit EPerson \"{{name}}\", email \"{{email}}\" already in use.", // TODO New key - Add a translation "admin.access-control.epeople.form.notification.edited.failure.emailInUse": "Failed to edit EPerson \"{{name}}\", email \"{{email}}\" already in use.", - + // "admin.access-control.epeople.form.notification.edited.success": "Successfully edited EPerson \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.epeople.form.notification.edited.success": "Successfully edited EPerson \"{{name}}\"", - + // "admin.access-control.epeople.form.notification.edited.failure": "Failed to edit EPerson \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.epeople.form.notification.edited.failure": "Failed to edit EPerson \"{{name}}\"", - + // "admin.access-control.epeople.form.groupsEPersonIsMemberOf": "Member of these groups:", // TODO New key - Add a translation "admin.access-control.epeople.form.groupsEPersonIsMemberOf": "Member of these groups:", - + // "admin.access-control.epeople.form.table.id": "ID", // TODO New key - Add a translation "admin.access-control.epeople.form.table.id": "ID", - + // "admin.access-control.epeople.form.table.name": "Name", - // TODO New key - Add a translation - "admin.access-control.epeople.form.table.name": "Name", - + "admin.access-control.epeople.form.table.name": "Nome", + // "admin.access-control.epeople.form.memberOfNoGroups": "This EPerson is not a member of any groups", // TODO New key - Add a translation "admin.access-control.epeople.form.memberOfNoGroups": "This EPerson is not a member of any groups", - + // "admin.access-control.epeople.form.goToGroups": "Add to groups", // TODO New key - Add a translation "admin.access-control.epeople.form.goToGroups": "Add to groups", - + // "admin.access-control.epeople.notification.deleted.failure": "Failed to delete EPerson: \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.epeople.notification.deleted.failure": "Failed to delete EPerson: \"{{name}}\"", - + // "admin.access-control.epeople.notification.deleted.success": "Successfully deleted EPerson: \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.epeople.notification.deleted.success": "Successfully deleted EPerson: \"{{name}}\"", - - - + + + // "admin.access-control.groups.title": "DSpace Angular :: Groups", // TODO New key - Add a translation "admin.access-control.groups.title": "DSpace Angular :: Groups", - + // "admin.access-control.groups.head": "Groups", - // TODO New key - Add a translation - "admin.access-control.groups.head": "Groups", - + "admin.access-control.groups.head": "Grupos", + // "admin.access-control.groups.button.add": "Add group", - // TODO New key - Add a translation - "admin.access-control.groups.button.add": "Add group", - + "admin.access-control.groups.button.add": "Adicionar grupo", + // "admin.access-control.groups.search.head": "Search groups", - // TODO New key - Add a translation - "admin.access-control.groups.search.head": "Search groups", - + "admin.access-control.groups.search.head": "Pesquisar grupos", + // "admin.access-control.groups.button.see-all": "Browse all", // TODO New key - Add a translation "admin.access-control.groups.button.see-all": "Browse all", - + // "admin.access-control.groups.search.button": "Search", // TODO New key - Add a translation "admin.access-control.groups.search.button": "Search", - + // "admin.access-control.groups.table.id": "ID", // TODO New key - Add a translation "admin.access-control.groups.table.id": "ID", - + // "admin.access-control.groups.table.name": "Name", - // TODO New key - Add a translation - "admin.access-control.groups.table.name": "Name", - + "admin.access-control.groups.table.name": "Nome", + // "admin.access-control.groups.table.members": "Members", // TODO New key - Add a translation "admin.access-control.groups.table.members": "Members", - + // "admin.access-control.groups.table.comcol": "Community / Collection", // TODO New key - Add a translation "admin.access-control.groups.table.comcol": "Community / Collection", - + // "admin.access-control.groups.table.edit": "Edit", - // TODO New key - Add a translation - "admin.access-control.groups.table.edit": "Edit", - + "admin.access-control.groups.table.edit": "Editar", + // "admin.access-control.groups.table.edit.buttons.edit": "Edit \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.groups.table.edit.buttons.edit": "Edit \"{{name}}\"", - + // "admin.access-control.groups.table.edit.buttons.remove": "Delete \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.groups.table.edit.buttons.remove": "Delete \"{{name}}\"", - + // "admin.access-control.groups.no-items": "No groups found with this in their name or this as UUID", // TODO New key - Add a translation "admin.access-control.groups.no-items": "No groups found with this in their name or this as UUID", - + // "admin.access-control.groups.notification.deleted.success": "Successfully deleted group \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.groups.notification.deleted.success": "Successfully deleted group \"{{name}}\"", - + // "admin.access-control.groups.notification.deleted.failure": "Failed to delete group \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.groups.notification.deleted.failure": "Failed to delete group \"{{name}}\"", - - + + // "admin.access-control.groups.form.head.create": "Create group", - // TODO New key - Add a translation - "admin.access-control.groups.form.head.create": "Create group", - + "admin.access-control.groups.form.head.create": "Criar grupo", + // "admin.access-control.groups.form.head.edit": "Edit group", - // TODO New key - Add a translation - "admin.access-control.groups.form.head.edit": "Edit group", - + "admin.access-control.groups.form.head.edit": "Editar grupo", + // "admin.access-control.groups.form.groupName": "Group name", - // TODO New key - Add a translation - "admin.access-control.groups.form.groupName": "Group name", - + "admin.access-control.groups.form.groupName": "Nome do grupo", + // "admin.access-control.groups.form.groupDescription": "Description", - // TODO New key - Add a translation - "admin.access-control.groups.form.groupDescription": "Description", - + "admin.access-control.groups.form.groupDescription": "Descrição", + // "admin.access-control.groups.form.notification.created.success": "Successfully created Group \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.groups.form.notification.created.success": "Successfully created Group \"{{name}}\"", - + // "admin.access-control.groups.form.notification.created.failure": "Failed to create Group \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.groups.form.notification.created.failure": "Failed to create Group \"{{name}}\"", - + // "admin.access-control.groups.form.notification.created.failure.groupNameInUse": "Failed to create Group with name: \"{{name}}\", make sure the name is not already in use.", // TODO New key - Add a translation "admin.access-control.groups.form.notification.created.failure.groupNameInUse": "Failed to create Group with name: \"{{name}}\", make sure the name is not already in use.", - + // "admin.access-control.groups.form.members-list.head": "EPeople", // TODO New key - Add a translation "admin.access-control.groups.form.members-list.head": "EPeople", - + // "admin.access-control.groups.form.members-list.search.head": "Add EPeople", // TODO New key - Add a translation "admin.access-control.groups.form.members-list.search.head": "Add EPeople", - + // "admin.access-control.groups.form.members-list.button.see-all": "Browse All", // TODO New key - Add a translation "admin.access-control.groups.form.members-list.button.see-all": "Browse All", - + // "admin.access-control.groups.form.members-list.headMembers": "Current Members", // TODO New key - Add a translation "admin.access-control.groups.form.members-list.headMembers": "Current Members", - + // "admin.access-control.groups.form.members-list.search.scope.metadata": "Metadata", // TODO New key - Add a translation "admin.access-control.groups.form.members-list.search.scope.metadata": "Metadata", - + // "admin.access-control.groups.form.members-list.search.scope.email": "E-mail (exact)", // TODO New key - Add a translation "admin.access-control.groups.form.members-list.search.scope.email": "E-mail (exact)", - + // "admin.access-control.groups.form.members-list.search.button": "Search", // TODO New key - Add a translation "admin.access-control.groups.form.members-list.search.button": "Search", - + // "admin.access-control.groups.form.members-list.table.id": "ID", // TODO New key - Add a translation "admin.access-control.groups.form.members-list.table.id": "ID", - + // "admin.access-control.groups.form.members-list.table.name": "Name", - // TODO New key - Add a translation - "admin.access-control.groups.form.members-list.table.name": "Name", - + "admin.access-control.groups.form.members-list.table.name": "Nome", + // "admin.access-control.groups.form.members-list.table.edit": "Remove / Add", // TODO New key - Add a translation "admin.access-control.groups.form.members-list.table.edit": "Remove / Add", - + // "admin.access-control.groups.form.members-list.table.edit.buttons.remove": "Remove member with name \"{{name}}\"", - // TODO New key - Add a translation - "admin.access-control.groups.form.members-list.table.edit.buttons.remove": "Remove member with name \"{{name}}\"", - + "admin.access-control.groups.form.members-list.table.edit.buttons.remove": "Remover o membro com nome \"{{name}}\"", + // "admin.access-control.groups.form.members-list.notification.success.addMember": "Successfully added member: \"{{name}}\"", - // TODO New key - Add a translation - "admin.access-control.groups.form.members-list.notification.success.addMember": "Successfully added member: \"{{name}}\"", - + "admin.access-control.groups.form.members-list.notification.success.addMember": "Membro adicionado com sucesso: \"{{name}}\"", + // "admin.access-control.groups.form.members-list.notification.failure.addMember": "Failed to add member: \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.groups.form.members-list.notification.failure.addMember": "Failed to add member: \"{{name}}\"", - + // "admin.access-control.groups.form.members-list.notification.success.deleteMember": "Successfully deleted member: \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.groups.form.members-list.notification.success.deleteMember": "Successfully deleted member: \"{{name}}\"", - + // "admin.access-control.groups.form.members-list.notification.failure.deleteMember": "Failed to delete member: \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.groups.form.members-list.notification.failure.deleteMember": "Failed to delete member: \"{{name}}\"", - + // "admin.access-control.groups.form.members-list.table.edit.buttons.add": "Add member with name \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.groups.form.members-list.table.edit.buttons.add": "Add member with name \"{{name}}\"", - + // "admin.access-control.groups.form.members-list.notification.failure.noActiveGroup": "No current active group, submit a name first.", // TODO New key - Add a translation "admin.access-control.groups.form.members-list.notification.failure.noActiveGroup": "No current active group, submit a name first.", - + // "admin.access-control.groups.form.members-list.no-members-yet": "No members in group yet, search and add.", // TODO New key - Add a translation "admin.access-control.groups.form.members-list.no-members-yet": "No members in group yet, search and add.", - + // "admin.access-control.groups.form.members-list.no-items": "No EPeople found in that search", // TODO New key - Add a translation "admin.access-control.groups.form.members-list.no-items": "No EPeople found in that search", - + // "admin.access-control.groups.form.subgroups-list.head": "Groups", - // TODO New key - Add a translation - "admin.access-control.groups.form.subgroups-list.head": "Groups", - + "admin.access-control.groups.form.subgroups-list.head": "Grupos", + // "admin.access-control.groups.form.subgroups-list.search.head": "Add Subgroup", // TODO New key - Add a translation "admin.access-control.groups.form.subgroups-list.search.head": "Add Subgroup", - + // "admin.access-control.groups.form.subgroups-list.button.see-all": "Browse All", // TODO New key - Add a translation "admin.access-control.groups.form.subgroups-list.button.see-all": "Browse All", - + // "admin.access-control.groups.form.subgroups-list.headSubgroups": "Current Subgroups", // TODO New key - Add a translation "admin.access-control.groups.form.subgroups-list.headSubgroups": "Current Subgroups", - + // "admin.access-control.groups.form.subgroups-list.search.button": "Search", // TODO New key - Add a translation "admin.access-control.groups.form.subgroups-list.search.button": "Search", - + // "admin.access-control.groups.form.subgroups-list.table.id": "ID", // TODO New key - Add a translation "admin.access-control.groups.form.subgroups-list.table.id": "ID", - + // "admin.access-control.groups.form.subgroups-list.table.name": "Name", - // TODO New key - Add a translation - "admin.access-control.groups.form.subgroups-list.table.name": "Name", - + "admin.access-control.groups.form.subgroups-list.table.name": "Nome", + // "admin.access-control.groups.form.subgroups-list.table.edit": "Remove / Add", - // TODO New key - Add a translation - "admin.access-control.groups.form.subgroups-list.table.edit": "Remove / Add", - + "admin.access-control.groups.form.subgroups-list.table.edit": "Remover / Adicionar", + // "admin.access-control.groups.form.subgroups-list.table.edit.buttons.remove": "Remove subgroup with name \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.groups.form.subgroups-list.table.edit.buttons.remove": "Remove subgroup with name \"{{name}}\"", - + // "admin.access-control.groups.form.subgroups-list.table.edit.buttons.add": "Add subgroup with name \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.groups.form.subgroups-list.table.edit.buttons.add": "Add subgroup with name \"{{name}}\"", - + // "admin.access-control.groups.form.subgroups-list.table.edit.currentGroup": "Current group", - // TODO New key - Add a translation - "admin.access-control.groups.form.subgroups-list.table.edit.currentGroup": "Current group", - + "admin.access-control.groups.form.subgroups-list.table.edit.currentGroup": "Grupo atual", + // "admin.access-control.groups.form.subgroups-list.notification.success.addSubgroup": "Successfully added subgroup: \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.groups.form.subgroups-list.notification.success.addSubgroup": "Successfully added subgroup: \"{{name}}\"", - + // "admin.access-control.groups.form.subgroups-list.notification.failure.addSubgroup": "Failed to add subgroup: \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.groups.form.subgroups-list.notification.failure.addSubgroup": "Failed to add subgroup: \"{{name}}\"", - + // "admin.access-control.groups.form.subgroups-list.notification.success.deleteSubgroup": "Successfully deleted subgroup: \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.groups.form.subgroups-list.notification.success.deleteSubgroup": "Successfully deleted subgroup: \"{{name}}\"", - + // "admin.access-control.groups.form.subgroups-list.notification.failure.deleteSubgroup": "Failed to delete subgroup: \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.groups.form.subgroups-list.notification.failure.deleteSubgroup": "Failed to delete subgroup: \"{{name}}\"", - + // "admin.access-control.groups.form.subgroups-list.notification.failure.noActiveGroup": "No current active group, submit a name first.", // TODO New key - Add a translation "admin.access-control.groups.form.subgroups-list.notification.failure.noActiveGroup": "No current active group, submit a name first.", - + // "admin.access-control.groups.form.subgroups-list.notification.failure.subgroupToAddIsActiveGroup": "This is the current group, can't be added.", // TODO New key - Add a translation "admin.access-control.groups.form.subgroups-list.notification.failure.subgroupToAddIsActiveGroup": "This is the current group, can't be added.", - + // "admin.access-control.groups.form.subgroups-list.no-items": "No groups found with this in their name or this as UUID", // TODO New key - Add a translation "admin.access-control.groups.form.subgroups-list.no-items": "No groups found with this in their name or this as UUID", - + // "admin.access-control.groups.form.subgroups-list.no-subgroups-yet": "No subgroups in group yet.", // TODO New key - Add a translation "admin.access-control.groups.form.subgroups-list.no-subgroups-yet": "No subgroups in group yet.", - + // "admin.access-control.groups.form.return": "Return to groups", - // TODO New key - Add a translation - "admin.access-control.groups.form.return": "Return to groups", - - - + "admin.access-control.groups.form.return": "Retornar aos grupos", + + + // "admin.search.breadcrumbs": "Administrative Search", // TODO New key - Add a translation "admin.search.breadcrumbs": "Administrative Search", - + // "admin.search.collection.edit": "Edit", - // TODO New key - Add a translation - "admin.search.collection.edit": "Edit", - + "admin.search.collection.edit": "Editar", + // "admin.search.community.edit": "Edit", - // TODO New key - Add a translation - "admin.search.community.edit": "Edit", - + "admin.search.community.edit": "Editar", + // "admin.search.item.delete": "Delete", // TODO New key - Add a translation "admin.search.item.delete": "Delete", - + // "admin.search.item.edit": "Edit", - // TODO New key - Add a translation - "admin.search.item.edit": "Edit", - + "admin.search.item.edit": "Editar", + // "admin.search.item.make-private": "Make Private", - // TODO New key - Add a translation - "admin.search.item.make-private": "Make Private", - + "admin.search.item.make-private": "Tornar Privado", + // "admin.search.item.make-public": "Make Public", - // TODO New key - Add a translation - "admin.search.item.make-public": "Make Public", - + "admin.search.item.make-public": "Tornar Público", + // "admin.search.item.move": "Move", - // TODO New key - Add a translation - "admin.search.item.move": "Move", - + "admin.search.item.move": "Mover", + // "admin.search.item.private": "Private", - // TODO New key - Add a translation - "admin.search.item.private": "Private", - + "admin.search.item.private": "Privado", + // "admin.search.item.reinstate": "Reinstate", // TODO New key - Add a translation "admin.search.item.reinstate": "Reinstate", - + // "admin.search.item.withdraw": "Withdraw", // TODO New key - Add a translation "admin.search.item.withdraw": "Withdraw", - + // "admin.search.item.withdrawn": "Withdrawn", // TODO New key - Add a translation "admin.search.item.withdrawn": "Withdrawn", - + // "admin.search.title": "Administrative Search", - // TODO New key - Add a translation - "admin.search.title": "Administrative Search", - - - + "admin.search.title": "Pesquisa Administrativa", + + + // "auth.errors.invalid-user": "Invalid email address or password.", "auth.errors.invalid-user": "Endereço de email ou senha inválidos.", - + // "auth.messages.expired": "Your session has expired. Please log in again.", "auth.messages.expired": "Sua sessão expirou. Por favor entre novamente.", - - - + + + // "bitstream.edit.bitstream": "Bitstream: ", // TODO New key - Add a translation "bitstream.edit.bitstream": "Bitstream: ", - + // "bitstream.edit.form.description.hint": "Optionally, provide a brief description of the file, for example \"Main article\" or \"Experiment data readings\".", // TODO New key - Add a translation "bitstream.edit.form.description.hint": "Optionally, provide a brief description of the file, for example \"Main article\" or \"Experiment data readings\".", - + // "bitstream.edit.form.description.label": "Description", - // TODO New key - Add a translation - "bitstream.edit.form.description.label": "Description", - + "bitstream.edit.form.description.label": "Descrição", + // "bitstream.edit.form.embargo.hint": "The first day from which access is allowed. This date cannot be modified on this form. To set an embargo date for a bitstream, go to the Item Status tab, click Authorizations..., create or edit the bitstream's READ policy, and set the Start Date as desired.", // TODO New key - Add a translation "bitstream.edit.form.embargo.hint": "The first day from which access is allowed. This date cannot be modified on this form. To set an embargo date for a bitstream, go to the Item Status tab, click Authorizations..., create or edit the bitstream's READ policy, and set the Start Date as desired.", - + // "bitstream.edit.form.embargo.label": "Embargo until specific date", // TODO New key - Add a translation "bitstream.edit.form.embargo.label": "Embargo until specific date", - + // "bitstream.edit.form.fileName.hint": "Change the filename for the bitstream. Note that this will change the display bitstream URL, but old links will still resolve as long as the sequence ID does not change.", // TODO New key - Add a translation "bitstream.edit.form.fileName.hint": "Change the filename for the bitstream. Note that this will change the display bitstream URL, but old links will still resolve as long as the sequence ID does not change.", - + // "bitstream.edit.form.fileName.label": "Filename", - // TODO New key - Add a translation - "bitstream.edit.form.fileName.label": "Filename", - + "bitstream.edit.form.fileName.label": "Nome do arquivo", + // "bitstream.edit.form.newFormat.label": "Describe new format", - // TODO New key - Add a translation - "bitstream.edit.form.newFormat.label": "Describe new format", - + "bitstream.edit.form.newFormat.label": "Descreva o novo formato", + // "bitstream.edit.form.newFormat.hint": "The application you used to create the file, and the version number (for example, \"ACMESoft SuperApp version 1.5\").", // TODO New key - Add a translation "bitstream.edit.form.newFormat.hint": "The application you used to create the file, and the version number (for example, \"ACMESoft SuperApp version 1.5\").", - + // "bitstream.edit.form.primaryBitstream.label": "Primary bitstream", // TODO New key - Add a translation "bitstream.edit.form.primaryBitstream.label": "Primary bitstream", - + // "bitstream.edit.form.selectedFormat.hint": "If the format is not in the above list, select \"format not in list\" above and describe it under \"Describe new format\".", // TODO New key - Add a translation "bitstream.edit.form.selectedFormat.hint": "If the format is not in the above list, select \"format not in list\" above and describe it under \"Describe new format\".", - + // "bitstream.edit.form.selectedFormat.label": "Selected Format", - // TODO New key - Add a translation - "bitstream.edit.form.selectedFormat.label": "Selected Format", - + "bitstream.edit.form.selectedFormat.label": "Formato Selecionado", + // "bitstream.edit.form.selectedFormat.unknown": "Format not in list", // TODO New key - Add a translation "bitstream.edit.form.selectedFormat.unknown": "Format not in list", - + // "bitstream.edit.notifications.error.format.title": "An error occurred saving the bitstream's format", // TODO New key - Add a translation "bitstream.edit.notifications.error.format.title": "An error occurred saving the bitstream's format", - + // "bitstream.edit.notifications.saved.content": "Your changes to this bitstream were saved.", // TODO New key - Add a translation "bitstream.edit.notifications.saved.content": "Your changes to this bitstream were saved.", - + // "bitstream.edit.notifications.saved.title": "Bitstream saved", // TODO New key - Add a translation "bitstream.edit.notifications.saved.title": "Bitstream saved", - + // "bitstream.edit.title": "Edit bitstream", // TODO New key - Add a translation "bitstream.edit.title": "Edit bitstream", - - - + + + // "browse.comcol.by.author": "By Author", "browse.comcol.by.author": "Por Autor", - + // "browse.comcol.by.dateissued": "By Issue Date", "browse.comcol.by.dateissued": "Por Data de Publicação", - + // "browse.comcol.by.subject": "By Subject", "browse.comcol.by.subject": "Por Assunto", - + // "browse.comcol.by.title": "By Title", "browse.comcol.by.title": "Por Título", - + // "browse.comcol.head": "Browse", "browse.comcol.head": "Navegar", - + // "browse.empty": "No items to show.", "browse.empty": "Sem itens a exibir.", - + // "browse.metadata.author": "Author", "browse.metadata.author": "Autor", - + // "browse.metadata.dateissued": "Issue Date", "browse.metadata.dateissued": "Data de Publicação", - + // "browse.metadata.subject": "Subject", "browse.metadata.subject": "Assunto", - + // "browse.metadata.title": "Title", "browse.metadata.title": "Título", - + // "browse.metadata.author.breadcrumbs": "Browse by Author", - // TODO New key - Add a translation - "browse.metadata.author.breadcrumbs": "Browse by Author", - + "browse.metadata.author.breadcrumbs": "Pesquisar por Autor", + // "browse.metadata.dateissued.breadcrumbs": "Browse by Date", - // TODO New key - Add a translation - "browse.metadata.dateissued.breadcrumbs": "Browse by Date", - + "browse.metadata.dateissued.breadcrumbs": "Pesquisar por Data", + // "browse.metadata.subject.breadcrumbs": "Browse by Subject", - // TODO New key - Add a translation - "browse.metadata.subject.breadcrumbs": "Browse by Subject", - + "browse.metadata.subject.breadcrumbs": "Pesquisar por Assunto", + // "browse.metadata.title.breadcrumbs": "Browse by Title", - // TODO New key - Add a translation - "browse.metadata.title.breadcrumbs": "Browse by Title", - + "browse.metadata.title.breadcrumbs": "Pesquisar por Título", + // "browse.startsWith.choose_start": "(Choose start)", "browse.startsWith.choose_start": "(Escolha o início)", - + // "browse.startsWith.choose_year": "(Choose year)", "browse.startsWith.choose_year": "(Escolha o ano)", - + // "browse.startsWith.jump": "Jump to a point in the index:", "browse.startsWith.jump": "Pular para um ponto do índice:", - + // "browse.startsWith.months.april": "April", "browse.startsWith.months.april": "Abril", - + // "browse.startsWith.months.august": "August", "browse.startsWith.months.august": "Agosto", - + // "browse.startsWith.months.december": "December", "browse.startsWith.months.december": "Dezembro", - + // "browse.startsWith.months.february": "February", "browse.startsWith.months.february": "Fevereiro", - + // "browse.startsWith.months.january": "January", "browse.startsWith.months.january": "Janeiro", - + // "browse.startsWith.months.july": "July", "browse.startsWith.months.july": "Julho", - + // "browse.startsWith.months.june": "June", "browse.startsWith.months.june": "Junho", - + // "browse.startsWith.months.march": "March", "browse.startsWith.months.march": "Março", - + // "browse.startsWith.months.may": "May", "browse.startsWith.months.may": "Maio", - + // "browse.startsWith.months.none": "(Choose month)", "browse.startsWith.months.none": "(escolha o mês)", - + // "browse.startsWith.months.november": "November", "browse.startsWith.months.november": "Novembro", - + // "browse.startsWith.months.october": "October", "browse.startsWith.months.october": "Outubro", - + // "browse.startsWith.months.september": "September", "browse.startsWith.months.september": "Setembro", - + // "browse.startsWith.submit": "Go", "browse.startsWith.submit": "Ir", - + // "browse.startsWith.type_date": "Or type in a date (year-month):", "browse.startsWith.type_date": "Ou informe uma data (ano-mês):", - + // "browse.startsWith.type_text": "Or enter first few letters:", "browse.startsWith.type_text": "Ou informe as primeiras letras:", - + // "browse.title": "Browsing {{ collection }} by {{ field }} {{ value }}", "browse.title": "Navegando {{ collection }} por {{ field }} {{ value }}", - - + + // "chips.remove": "Remove chip", "chips.remove": "Remover chip", - - - + + + // "collection.create.head": "Create a Collection", "collection.create.head": "Criar uma coleção", - + // "collection.create.notifications.success": "Successfully created the Collection", // TODO New key - Add a translation "collection.create.notifications.success": "Successfully created the Collection", - + // "collection.create.sub-head": "Create a Collection for Community {{ parent }}", "collection.create.sub-head": "Criar uma Coleção na Comunidade {{ parent }}", - + // "collection.delete.cancel": "Cancel", "collection.delete.cancel": "Cancelar", - + // "collection.delete.confirm": "Confirm", "collection.delete.confirm": "Confirmar", - + // "collection.delete.head": "Delete Collection", "collection.delete.head": "Apagar Coleção", - + // "collection.delete.notification.fail": "Collection could not be deleted", "collection.delete.notification.fail": "Coleção não pôde ser apagada", - + // "collection.delete.notification.success": "Successfully deleted collection", "collection.delete.notification.success": "Apagou a coleção com sucesso", - + // "collection.delete.text": "Are you sure you want to delete collection \"{{ dso }}\"", "collection.delete.text": "Você tem certeza que deseja apagar a coleção \"{{ dso }}?\"", - - - + + + // "collection.edit.delete": "Delete this collection", "collection.edit.delete": "Apagar esta coleção", - + // "collection.edit.head": "Edit Collection", "collection.edit.head": "Editar Coleção", - + // "collection.edit.breadcrumbs": "Edit Collection", // TODO New key - Add a translation "collection.edit.breadcrumbs": "Edit Collection", - - - + + + // "collection.edit.item-mapper.cancel": "Cancel", "collection.edit.item-mapper.cancel": "Cancelar", - + // "collection.edit.item-mapper.collection": "Collection: \"{{name}}\"", "collection.edit.item-mapper.collection": "Coleção: \"{{name}}\"", - + // "collection.edit.item-mapper.confirm": "Map selected items", "collection.edit.item-mapper.confirm": "Mapear itens selecionados", - + // "collection.edit.item-mapper.description": "This is the item mapper tool that allows collection administrators to map items from other collections into this collection. You can search for items from other collections and map them, or browse the list of currently mapped items.", "collection.edit.item-mapper.description": "Esta é a ferramenta de mapeação de itens que permite administradores de coleções a mapear itens de outras coleções nesta. VoCẽ pode busca-los em outras coleções para mapeá-los, ou navegar na lista dos itens atualmente mapeados.", - + // "collection.edit.item-mapper.head": "Item Mapper - Map Items from Other Collections", "collection.edit.item-mapper.head": "Mapeador de Itens - Mapear itens em Outras Coleções", - + // "collection.edit.item-mapper.no-search": "Please enter a query to search", "collection.edit.item-mapper.no-search": "Por favor informe uma consulta para buscar", - + // "collection.edit.item-mapper.notifications.map.error.content": "Errors occurred for mapping of {{amount}} items.", "collection.edit.item-mapper.notifications.map.error.content": "Ocorreu erros ao mapear {{amount}} itens.", - + // "collection.edit.item-mapper.notifications.map.error.head": "Mapping errors", "collection.edit.item-mapper.notifications.map.error.head": "Erros de mapeamento", - + // "collection.edit.item-mapper.notifications.map.success.content": "Successfully mapped {{amount}} items.", "collection.edit.item-mapper.notifications.map.success.content": "Mapeou {{amount}} itens com sucesso.", - + // "collection.edit.item-mapper.notifications.map.success.head": "Mapping completed", "collection.edit.item-mapper.notifications.map.success.head": "Mapeamento completo", - + // "collection.edit.item-mapper.notifications.unmap.error.content": "Errors occurred for removing the mappings of {{amount}} items.", "collection.edit.item-mapper.notifications.unmap.error.content": "Ocorreram erros ao tentar remover os mapeamentos de {{amount}} item(ns).", - + // "collection.edit.item-mapper.notifications.unmap.error.head": "Remove mapping errors", "collection.edit.item-mapper.notifications.unmap.error.head": "Erros de remoção de mapeamento", - + // "collection.edit.item-mapper.notifications.unmap.success.content": "Successfully removed the mappings of {{amount}} items.", "collection.edit.item-mapper.notifications.unmap.success.content": "Removeu os mapeamentps de {{amount}} item(ns) com sucesso.", - + // "collection.edit.item-mapper.notifications.unmap.success.head": "Remove mapping completed", "collection.edit.item-mapper.notifications.unmap.success.head": "Remoção de mapeamentos completa", - + // "collection.edit.item-mapper.remove": "Remove selected item mappings", "collection.edit.item-mapper.remove": "Remover mapeamentos selecionados", - + // "collection.edit.item-mapper.tabs.browse": "Browse mapped items", "collection.edit.item-mapper.tabs.browse": "Navegar por itens mapeados", - + // "collection.edit.item-mapper.tabs.map": "Map new items", "collection.edit.item-mapper.tabs.map": "Mapear novos itens", - - - + + + // "collection.edit.logo.label": "Collection logo", // TODO New key - Add a translation "collection.edit.logo.label": "Collection logo", - + // "collection.edit.logo.notifications.add.error": "Uploading Collection logo failed. Please verify the content before retrying.", // TODO New key - Add a translation "collection.edit.logo.notifications.add.error": "Uploading Collection logo failed. Please verify the content before retrying.", - + // "collection.edit.logo.notifications.add.success": "Upload Collection logo successful.", // TODO New key - Add a translation "collection.edit.logo.notifications.add.success": "Upload Collection logo successful.", - + // "collection.edit.logo.notifications.delete.success.title": "Logo deleted", - // TODO New key - Add a translation - "collection.edit.logo.notifications.delete.success.title": "Logo deleted", - + "collection.edit.logo.notifications.delete.success.title": "Logo removido", + // "collection.edit.logo.notifications.delete.success.content": "Successfully deleted the collection's logo", // TODO New key - Add a translation "collection.edit.logo.notifications.delete.success.content": "Successfully deleted the collection's logo", - + // "collection.edit.logo.notifications.delete.error.title": "Error deleting logo", // TODO New key - Add a translation "collection.edit.logo.notifications.delete.error.title": "Error deleting logo", - + // "collection.edit.logo.upload": "Drop a Collection Logo to upload", // TODO New key - Add a translation "collection.edit.logo.upload": "Drop a Collection Logo to upload", - - - + + + // "collection.edit.notifications.success": "Successfully edited the Collection", // TODO New key - Add a translation "collection.edit.notifications.success": "Successfully edited the Collection", - + // "collection.edit.return": "Return", // TODO New key - Add a translation "collection.edit.return": "Return", - - - + + + // "collection.edit.tabs.curate.head": "Curate", // TODO New key - Add a translation "collection.edit.tabs.curate.head": "Curate", - + // "collection.edit.tabs.curate.title": "Collection Edit - Curate", // TODO New key - Add a translation "collection.edit.tabs.curate.title": "Collection Edit - Curate", - + // "collection.edit.tabs.metadata.head": "Edit Metadata", - // TODO New key - Add a translation - "collection.edit.tabs.metadata.head": "Edit Metadata", - + "collection.edit.tabs.metadata.head": "Editar Metadados", + // "collection.edit.tabs.metadata.title": "Collection Edit - Metadata", // TODO New key - Add a translation "collection.edit.tabs.metadata.title": "Collection Edit - Metadata", - + // "collection.edit.tabs.roles.head": "Assign Roles", // TODO New key - Add a translation "collection.edit.tabs.roles.head": "Assign Roles", - + // "collection.edit.tabs.roles.title": "Collection Edit - Roles", // TODO New key - Add a translation "collection.edit.tabs.roles.title": "Collection Edit - Roles", - + // "collection.edit.tabs.source.external": "This collection harvests its content from an external source", // TODO New key - Add a translation "collection.edit.tabs.source.external": "This collection harvests its content from an external source", - + // "collection.edit.tabs.source.form.errors.oaiSource.required": "You must provide a set id of the target collection.", // TODO New key - Add a translation "collection.edit.tabs.source.form.errors.oaiSource.required": "You must provide a set id of the target collection.", - + // "collection.edit.tabs.source.form.harvestType": "Content being harvested", // TODO New key - Add a translation "collection.edit.tabs.source.form.harvestType": "Content being harvested", - + // "collection.edit.tabs.source.form.head": "Configure an external source", // TODO New key - Add a translation "collection.edit.tabs.source.form.head": "Configure an external source", - + // "collection.edit.tabs.source.form.metadataConfigId": "Metadata Format", // TODO New key - Add a translation "collection.edit.tabs.source.form.metadataConfigId": "Metadata Format", - + // "collection.edit.tabs.source.form.oaiSetId": "OAI specific set id", // TODO New key - Add a translation "collection.edit.tabs.source.form.oaiSetId": "OAI specific set id", - + // "collection.edit.tabs.source.form.oaiSource": "OAI Provider", // TODO New key - Add a translation "collection.edit.tabs.source.form.oaiSource": "OAI Provider", - + // "collection.edit.tabs.source.form.options.harvestType.METADATA_AND_BITSTREAMS": "Harvest metadata and bitstreams (requires ORE support)", // TODO New key - Add a translation "collection.edit.tabs.source.form.options.harvestType.METADATA_AND_BITSTREAMS": "Harvest metadata and bitstreams (requires ORE support)", - + // "collection.edit.tabs.source.form.options.harvestType.METADATA_AND_REF": "Harvest metadata and references to bitstreams (requires ORE support)", // TODO New key - Add a translation "collection.edit.tabs.source.form.options.harvestType.METADATA_AND_REF": "Harvest metadata and references to bitstreams (requires ORE support)", - + // "collection.edit.tabs.source.form.options.harvestType.METADATA_ONLY": "Harvest metadata only", // TODO New key - Add a translation "collection.edit.tabs.source.form.options.harvestType.METADATA_ONLY": "Harvest metadata only", - + // "collection.edit.tabs.source.head": "Content Source", // TODO New key - Add a translation "collection.edit.tabs.source.head": "Content Source", - + // "collection.edit.tabs.source.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", // TODO New key - Add a translation "collection.edit.tabs.source.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", - + // "collection.edit.tabs.source.notifications.discarded.title": "Changed discarded", - // TODO New key - Add a translation - "collection.edit.tabs.source.notifications.discarded.title": "Changed discarded", - + "collection.edit.tabs.source.notifications.discarded.title": "Alterações descartadas", + // "collection.edit.tabs.source.notifications.invalid.content": "Your changes were not saved. Please make sure all fields are valid before you save.", // TODO New key - Add a translation "collection.edit.tabs.source.notifications.invalid.content": "Your changes were not saved. Please make sure all fields are valid before you save.", - + // "collection.edit.tabs.source.notifications.invalid.title": "Metadata invalid", // TODO New key - Add a translation "collection.edit.tabs.source.notifications.invalid.title": "Metadata invalid", - + // "collection.edit.tabs.source.notifications.saved.content": "Your changes to this collection's content source were saved.", // TODO New key - Add a translation "collection.edit.tabs.source.notifications.saved.content": "Your changes to this collection's content source were saved.", - + // "collection.edit.tabs.source.notifications.saved.title": "Content Source saved", // TODO New key - Add a translation "collection.edit.tabs.source.notifications.saved.title": "Content Source saved", - + // "collection.edit.tabs.source.title": "Collection Edit - Content Source", // TODO New key - Add a translation "collection.edit.tabs.source.title": "Collection Edit - Content Source", - - - + + + // "collection.form.abstract": "Short Description", "collection.form.abstract": "Descrição curta", - + // "collection.form.description": "Introductory text (HTML)", "collection.form.description": "Texto introdutório (HTML)", - + // "collection.form.errors.title.required": "Please enter a collection name", "collection.form.errors.title.required": "Por favor informe um nome de coleção", - + // "collection.form.license": "License", "collection.form.license": "Licença", - + // "collection.form.provenance": "Provenance", "collection.form.provenance": "Proveniência", - + // "collection.form.rights": "Copyright text (HTML)", "collection.form.rights": "Texto de direito de cópia (HTML)", - + // "collection.form.tableofcontents": "News (HTML)", "collection.form.tableofcontents": "Notícias (HTML)", - + // "collection.form.title": "Name", "collection.form.title": "Nome", - - - + + + // "collection.page.browse.recent.head": "Recent Submissions", "collection.page.browse.recent.head": "Submissões Recentes", - + // "collection.page.browse.recent.empty": "No items to show", "collection.page.browse.recent.empty": "Nenhum item a exibir", - + // "collection.page.handle": "Permanent URI for this collection", "collection.page.handle": "URI Permanente para esta coleção", - + // "collection.page.license": "License", "collection.page.license": "Licença", - + // "collection.page.news": "News", "collection.page.news": "Notícias", - - - + + + // "collection.select.confirm": "Confirm selected", "collection.select.confirm": "Confirmar seleção", - + // "collection.select.empty": "No collections to show", "collection.select.empty": "Nenhuma coleção a mostrar", - + // "collection.select.table.title": "Title", "collection.select.table.title": "Título", - - - + + + // "collection.source.update.notifications.error.content": "The provided settings have been tested and didn't work.", // TODO New key - Add a translation "collection.source.update.notifications.error.content": "The provided settings have been tested and didn't work.", - + // "collection.source.update.notifications.error.title": "Server Error", - // TODO New key - Add a translation - "collection.source.update.notifications.error.title": "Server Error", - - - + "collection.source.update.notifications.error.title": "Erro no Servidor", + + + // "communityList.tabTitle": "DSpace - Community List", // TODO New key - Add a translation - "communityList.tabTitle": "DSpace - Community List", - + "communityList.tabTitle": "DSpace - Lista de Comunidades", + // "communityList.title": "List of Communities", - // TODO New key - Add a translation - "communityList.title": "List of Communities", - + "communityList.title": "Lista de Comunidades", + // "communityList.showMore": "Show More", - // TODO New key - Add a translation - "communityList.showMore": "Show More", - - - + "communityList.showMore": "Mostrar Mais", + + + // "community.create.head": "Create a Community", "community.create.head": "Criar uma comunidade", - + // "community.create.notifications.success": "Successfully created the Community", // TODO New key - Add a translation "community.create.notifications.success": "Successfully created the Community", - + // "community.create.sub-head": "Create a Sub-Community for Community {{ parent }}", "community.create.sub-head": "Criar uma Sub-Comunidade para Comunidade {{ parent }}", - + // "community.delete.cancel": "Cancel", "community.delete.cancel": "Cancelar", - + // "community.delete.confirm": "Confirm", "community.delete.confirm": "Confirmar", - + // "community.delete.head": "Delete Community", "community.delete.head": "Apagar Comunidade", - + // "community.delete.notification.fail": "Community could not be deleted", "community.delete.notification.fail": "Comunidade não pôde ser apagada", - + // "community.delete.notification.success": "Successfully deleted community", "community.delete.notification.success": "Comunidade apagada com sucesso", - + // "community.delete.text": "Are you sure you want to delete community \"{{ dso }}\"", "community.delete.text": "Você tem certeza que quer apagar a comunidade \"{{ dso }}\"?", - + // "community.edit.delete": "Delete this community", "community.edit.delete": "Apagar esta comunidade", - + // "community.edit.head": "Edit Community", "community.edit.head": "Editar Comunidade", - + // "community.edit.breadcrumbs": "Edit Community", - // TODO New key - Add a translation - "community.edit.breadcrumbs": "Edit Community", - - + "community.edit.breadcrumbs": "Editar Comunidade", + // "community.edit.logo.label": "Community logo", - // TODO New key - Add a translation - "community.edit.logo.label": "Community logo", - + "community.edit.logo.label": "Logo da Comunidade", + // "community.edit.logo.notifications.add.error": "Uploading Community logo failed. Please verify the content before retrying.", // TODO New key - Add a translation "community.edit.logo.notifications.add.error": "Uploading Community logo failed. Please verify the content before retrying.", - + // "community.edit.logo.notifications.add.success": "Upload Community logo successful.", // TODO New key - Add a translation "community.edit.logo.notifications.add.success": "Upload Community logo successful.", - + // "community.edit.logo.notifications.delete.success.title": "Logo deleted", // TODO New key - Add a translation "community.edit.logo.notifications.delete.success.title": "Logo deleted", - + // "community.edit.logo.notifications.delete.success.content": "Successfully deleted the community's logo", // TODO New key - Add a translation "community.edit.logo.notifications.delete.success.content": "Successfully deleted the community's logo", - + // "community.edit.logo.notifications.delete.error.title": "Error deleting logo", // TODO New key - Add a translation "community.edit.logo.notifications.delete.error.title": "Error deleting logo", - + // "community.edit.logo.upload": "Drop a Community Logo to upload", // TODO New key - Add a translation "community.edit.logo.upload": "Drop a Community Logo to upload", - - - + + + // "community.edit.notifications.success": "Successfully edited the Community", // TODO New key - Add a translation "community.edit.notifications.success": "Successfully edited the Community", - + // "community.edit.return": "Return", // TODO New key - Add a translation "community.edit.return": "Return", - - - + + + // "community.edit.tabs.curate.head": "Curate", // TODO New key - Add a translation "community.edit.tabs.curate.head": "Curate", - + // "community.edit.tabs.curate.title": "Community Edit - Curate", // TODO New key - Add a translation "community.edit.tabs.curate.title": "Community Edit - Curate", - + // "community.edit.tabs.metadata.head": "Edit Metadata", // TODO New key - Add a translation "community.edit.tabs.metadata.head": "Edit Metadata", - + // "community.edit.tabs.metadata.title": "Community Edit - Metadata", // TODO New key - Add a translation "community.edit.tabs.metadata.title": "Community Edit - Metadata", - + // "community.edit.tabs.roles.head": "Assign Roles", // TODO New key - Add a translation "community.edit.tabs.roles.head": "Assign Roles", - + // "community.edit.tabs.roles.title": "Community Edit - Roles", // TODO New key - Add a translation "community.edit.tabs.roles.title": "Community Edit - Roles", - - - + + + // "community.form.abstract": "Short Description", "community.form.abstract": "Descrição curta", - + // "community.form.description": "Introductory text (HTML)", "community.form.description": "Texto introdutório (HTML)", - + // "community.form.errors.title.required": "Please enter a community name", "community.form.errors.title.required": "Por favor informe um nome para comunidade", - + // "community.form.rights": "Copyright text (HTML)", "community.form.rights": "Texto de direito de cópia (HTML)", - + // "community.form.tableofcontents": "News (HTML)", "community.form.tableofcontents": "Notícias (HTML)", - + // "community.form.title": "Name", "community.form.title": "Nome", - + // "community.page.handle": "Permanent URI for this community", "community.page.handle": "URI Permanente desta comunidade", - + // "community.page.license": "License", "community.page.license": "Licença", - + // "community.page.news": "News", "community.page.news": "Notícias", - + // "community.all-lists.head": "Subcommunities and Collections", "community.all-lists.head": "Sub-Comunidade e Coleções", - + // "community.sub-collection-list.head": "Collections of this Community", "community.sub-collection-list.head": "Coleções desta Comunidade", - + // "community.sub-community-list.head": "Communities of this Community", "community.sub-community-list.head": "Comunidades desta Comunidade", - - - + + + // "dso-selector.create.collection.head": "New collection", "dso-selector.create.collection.head": "Nova coleção", - + // "dso-selector.create.community.head": "New community", "dso-selector.create.community.head": "Nova comunidade", - + // "dso-selector.create.community.sub-level": "Create a new community in", "dso-selector.create.community.sub-level": "Criar uma nova coleção em", - + // "dso-selector.create.community.top-level": "Create a new top-level community", "dso-selector.create.community.top-level": "Criar uma nova comunidade no nível superior", - + // "dso-selector.create.item.head": "New item", "dso-selector.create.item.head": "Novo item", - + // "dso-selector.edit.collection.head": "Edit collection", "dso-selector.edit.collection.head": "Editar coleção", - + // "dso-selector.edit.community.head": "Edit community", "dso-selector.edit.community.head": "Editar comunidade", - + // "dso-selector.edit.item.head": "Edit item", "dso-selector.edit.item.head": "Editar item", - + // "dso-selector.no-results": "No {{ type }} found", "dso-selector.no-results": "Nenhum(a) {{ type }} encontrado(a)", - + // "dso-selector.placeholder": "Search for a {{ type }}", "dso-selector.placeholder": "Buscar por um(a) {{ type }}", - - - + + + // "error.bitstream": "Error fetching bitstream", // TODO New key - Add a translation "error.bitstream": "Error fetching bitstream", - + // "error.browse-by": "Error fetching items", "error.browse-by": "Erro ao carregar itens", - + // "error.collection": "Error fetching collection", "error.collection": "Erro ao carregar coleção", - + // "error.collections": "Error fetching collections", "error.collections": "Erro ao carregar coleções", - + // "error.community": "Error fetching community", "error.community": "Erro ao carregar comunidade", - + // "error.identifier": "No item found for the identifier", "error.identifier": "Nenhum item encontrado para o identificador", - + // "error.default": "Error", "error.default": "Erro", - + // "error.item": "Error fetching item", "error.item": "Erro ao carregar item", - + // "error.items": "Error fetching items", "error.items": "Erro ao carregar itens", - + // "error.objects": "Error fetching objects", "error.objects": "Erro ao carregar objetos", - + // "error.recent-submissions": "Error fetching recent submissions", "error.recent-submissions": "Erro ao carregar as submissões recentes", - + // "error.search-results": "Error fetching search results", "error.search-results": "Erro ao carregar os resultados de busca", - + // "error.sub-collections": "Error fetching sub-collections", "error.sub-collections": "Erro ao carregar sub-coleções", - + // "error.sub-communities": "Error fetching sub-communities", "error.sub-communities": "Erro ao carregar sub-comunidade", - + // "error.submission.sections.init-form-error": "An error occurred during section initialize, please check your input-form configuration. Details are below :

", "error.submission.sections.init-form-error": "Ocorreu um erro durante a seção de inicialização, por favor verifique sua configuração de input-form. Detalhes estão abaixo :

", - + // "error.top-level-communities": "Error fetching top-level communities", "error.top-level-communities": "Erro ao carregar as comunidade de nível superior", - + // "error.validation.license.notgranted": "You must grant this license to complete your submission. If you are unable to grant this license at this time you may save your work and return later or remove the submission.", "error.validation.license.notgranted": "Você deve concordar com esta licença para completar sua submissão. Se vocẽ não estiver de acordo com esta licença neste momento você pode salvar seu trabalho para continuar depois ou remover a submissão.", - + // "error.validation.pattern": "This input is restricted by the current pattern: {{ pattern }}.", "error.validation.pattern": "Este campo está restrito ao seguinte padrão: {{ pattern }}.", - + // "error.validation.filerequired": "The file upload is mandatory", // TODO New key - Add a translation "error.validation.filerequired": "The file upload is mandatory", - - - + + + // "footer.copyright": "copyright © 2002-{{ year }}", "footer.copyright": "copyright © 2002-{{ year }}", - + // "footer.link.dspace": "DSpace software", "footer.link.dspace": "DSpace software", - + // "footer.link.duraspace": "DuraSpace", "footer.link.duraspace": "DuraSpace", - - + + // "form.add": "Add", // TODO New key - Add a translation "form.add": "Add", - + // "form.add-help": "Click here to add the current entry and to add another one", // TODO New key - Add a translation "form.add-help": "Click here to add the current entry and to add another one", - + // "form.cancel": "Cancel", "form.cancel": "Cancelar", - + // "form.clear": "Clear", "form.clear": "Limpar", - + // "form.clear-help": "Click here to remove the selected value", "form.clear-help": "Clique aqui para apagar o valor selecionado", - + // "form.edit": "Edit", "form.edit": "Editar", - + // "form.edit-help": "Click here to edit the selected value", "form.edit-help": "Clique aqui para editar o valor selecionado", - + // "form.first-name": "First name", "form.first-name": "Primeiro nome", - + // "form.group-collapse": "Collapse", "form.group-collapse": "Esconder", - + // "form.group-collapse-help": "Click here to collapse", "form.group-collapse-help": "Clique aqui para esconder", - + // "form.group-expand": "Expand", "form.group-expand": "Expandir", - + // "form.group-expand-help": "Click here to expand and add more elements", "form.group-expand-help": "Clique aqui para expandir e adicionar mais elementos", - + // "form.last-name": "Last name", "form.last-name": "Último nome", - + // "form.loading": "Loading...", "form.loading": "Carregando...", - + // "form.lookup": "Lookup", // TODO New key - Add a translation "form.lookup": "Lookup", - + // "form.lookup-help": "Click here to look up an existing relation", // TODO New key - Add a translation "form.lookup-help": "Click here to look up an existing relation", - + // "form.no-results": "No results found", "form.no-results": "Nenhum resultado encontrado", - + // "form.no-value": "No value entered", "form.no-value": "Nenhum valor informado", - + // "form.other-information": {}, "form.other-information": {}, - + // "form.remove": "Remove", "form.remove": "Apagar", - + // "form.save": "Save", "form.save": "Salvar", - + // "form.save-help": "Save changes", "form.save-help": "Salvar alterações", - + // "form.search": "Search", "form.search": "Buscar", - + // "form.search-help": "Click here to looking for an existing correspondence", "form.search-help": "Clique aqui para procurar por uma correspondência existente", - + // "form.submit": "Submit", "form.submit": "Submeter", - - - + + + // "home.description": "", // TODO New key - Add a translation "home.description": "", - + // "home.title": "DSpace Angular :: Home", "home.title": "DSpace Angular :: Início", - + // "home.top-level-communities.head": "Communities in DSpace", "home.top-level-communities.head": "Comunidades no DSpace", - + // "home.top-level-communities.help": "Select a community to browse its collections.", "home.top-level-communities.help": "Selecione uma comunidade para navegar por suas coleções", - - - - + + + + // "item.bitstreams.upload.bundle": "Bundle", // TODO New key - Add a translation "item.bitstreams.upload.bundle": "Bundle", - + // "item.bitstreams.upload.bundle.placeholder": "Select a bundle", // TODO New key - Add a translation "item.bitstreams.upload.bundle.placeholder": "Select a bundle", - + // "item.bitstreams.upload.bundle.new": "Create bundle", // TODO New key - Add a translation "item.bitstreams.upload.bundle.new": "Create bundle", - + // "item.bitstreams.upload.bundles.empty": "This item doesn\'t contain any bundles to upload a bitstream to.", // TODO New key - Add a translation "item.bitstreams.upload.bundles.empty": "This item doesn\'t contain any bundles to upload a bitstream to.", - + // "item.bitstreams.upload.cancel": "Cancel", // TODO New key - Add a translation "item.bitstreams.upload.cancel": "Cancel", - + // "item.bitstreams.upload.drop-message": "Drop a file to upload", // TODO New key - Add a translation "item.bitstreams.upload.drop-message": "Drop a file to upload", - + // "item.bitstreams.upload.item": "Item: ", // TODO New key - Add a translation "item.bitstreams.upload.item": "Item: ", - + // "item.bitstreams.upload.notifications.bundle.created.content": "Successfully created new bundle.", // TODO New key - Add a translation "item.bitstreams.upload.notifications.bundle.created.content": "Successfully created new bundle.", - + // "item.bitstreams.upload.notifications.bundle.created.title": "Created bundle", // TODO New key - Add a translation "item.bitstreams.upload.notifications.bundle.created.title": "Created bundle", - + // "item.bitstreams.upload.notifications.upload.failed": "Upload failed. Please verify the content before retrying.", // TODO New key - Add a translation "item.bitstreams.upload.notifications.upload.failed": "Upload failed. Please verify the content before retrying.", - + // "item.bitstreams.upload.title": "Upload bitstream", // TODO New key - Add a translation "item.bitstreams.upload.title": "Upload bitstream", - - - + + + // "item.edit.bitstreams.bundle.edit.buttons.upload": "Upload", // TODO New key - Add a translation "item.edit.bitstreams.bundle.edit.buttons.upload": "Upload", - + // "item.edit.bitstreams.bundle.displaying": "Currently displaying {{ amount }} bitstreams of {{ total }}.", // TODO New key - Add a translation "item.edit.bitstreams.bundle.displaying": "Currently displaying {{ amount }} bitstreams of {{ total }}.", - + // "item.edit.bitstreams.bundle.load.all": "Load all ({{ total }})", // TODO New key - Add a translation "item.edit.bitstreams.bundle.load.all": "Load all ({{ total }})", - + // "item.edit.bitstreams.bundle.load.more": "Load more", // TODO New key - Add a translation "item.edit.bitstreams.bundle.load.more": "Load more", - + // "item.edit.bitstreams.bundle.name": "BUNDLE: {{ name }}", // TODO New key - Add a translation "item.edit.bitstreams.bundle.name": "BUNDLE: {{ name }}", - + // "item.edit.bitstreams.discard-button": "Discard", // TODO New key - Add a translation "item.edit.bitstreams.discard-button": "Discard", - + // "item.edit.bitstreams.edit.buttons.download": "Download", // TODO New key - Add a translation "item.edit.bitstreams.edit.buttons.download": "Download", - + // "item.edit.bitstreams.edit.buttons.drag": "Drag", // TODO New key - Add a translation "item.edit.bitstreams.edit.buttons.drag": "Drag", - + // "item.edit.bitstreams.edit.buttons.edit": "Edit", // TODO New key - Add a translation "item.edit.bitstreams.edit.buttons.edit": "Edit", - + // "item.edit.bitstreams.edit.buttons.remove": "Remove", // TODO New key - Add a translation "item.edit.bitstreams.edit.buttons.remove": "Remove", - + // "item.edit.bitstreams.edit.buttons.undo": "Undo changes", // TODO New key - Add a translation "item.edit.bitstreams.edit.buttons.undo": "Undo changes", - + // "item.edit.bitstreams.empty": "This item doesn't contain any bitstreams. Click the upload button to create one.", // TODO New key - Add a translation "item.edit.bitstreams.empty": "This item doesn't contain any bitstreams. Click the upload button to create one.", - + // "item.edit.bitstreams.headers.actions": "Actions", // TODO New key - Add a translation "item.edit.bitstreams.headers.actions": "Actions", - + // "item.edit.bitstreams.headers.bundle": "Bundle", // TODO New key - Add a translation "item.edit.bitstreams.headers.bundle": "Bundle", - + // "item.edit.bitstreams.headers.description": "Description", // TODO New key - Add a translation "item.edit.bitstreams.headers.description": "Description", - + // "item.edit.bitstreams.headers.format": "Format", // TODO New key - Add a translation "item.edit.bitstreams.headers.format": "Format", - + // "item.edit.bitstreams.headers.name": "Name", // TODO New key - Add a translation "item.edit.bitstreams.headers.name": "Name", - + // "item.edit.bitstreams.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", // TODO New key - Add a translation "item.edit.bitstreams.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", - + // "item.edit.bitstreams.notifications.discarded.title": "Changes discarded", // TODO New key - Add a translation "item.edit.bitstreams.notifications.discarded.title": "Changes discarded", - + // "item.edit.bitstreams.notifications.move.failed.title": "Error moving bitstreams", // TODO New key - Add a translation "item.edit.bitstreams.notifications.move.failed.title": "Error moving bitstreams", - + // "item.edit.bitstreams.notifications.move.saved.content": "Your move changes to this item's bitstreams and bundles have been saved.", // TODO New key - Add a translation "item.edit.bitstreams.notifications.move.saved.content": "Your move changes to this item's bitstreams and bundles have been saved.", - + // "item.edit.bitstreams.notifications.move.saved.title": "Move changes saved", // TODO New key - Add a translation "item.edit.bitstreams.notifications.move.saved.title": "Move changes saved", - + // "item.edit.bitstreams.notifications.outdated.content": "The item you're currently working on has been changed by another user. Your current changes are discarded to prevent conflicts", // TODO New key - Add a translation "item.edit.bitstreams.notifications.outdated.content": "The item you're currently working on has been changed by another user. Your current changes are discarded to prevent conflicts", - + // "item.edit.bitstreams.notifications.outdated.title": "Changes outdated", // TODO New key - Add a translation "item.edit.bitstreams.notifications.outdated.title": "Changes outdated", - + // "item.edit.bitstreams.notifications.remove.failed.title": "Error deleting bitstream", // TODO New key - Add a translation "item.edit.bitstreams.notifications.remove.failed.title": "Error deleting bitstream", - + // "item.edit.bitstreams.notifications.remove.saved.content": "Your removal changes to this item's bitstreams have been saved.", // TODO New key - Add a translation "item.edit.bitstreams.notifications.remove.saved.content": "Your removal changes to this item's bitstreams have been saved.", - + // "item.edit.bitstreams.notifications.remove.saved.title": "Removal changes saved", // TODO New key - Add a translation "item.edit.bitstreams.notifications.remove.saved.title": "Removal changes saved", - + // "item.edit.bitstreams.reinstate-button": "Undo", // TODO New key - Add a translation "item.edit.bitstreams.reinstate-button": "Undo", - + // "item.edit.bitstreams.save-button": "Save", // TODO New key - Add a translation "item.edit.bitstreams.save-button": "Save", - + // "item.edit.bitstreams.upload-button": "Upload", // TODO New key - Add a translation "item.edit.bitstreams.upload-button": "Upload", - - - + + + // "item.edit.delete.cancel": "Cancel", "item.edit.delete.cancel": "Cancelar", - + // "item.edit.delete.confirm": "Delete", "item.edit.delete.confirm": "Apagar", - + // "item.edit.delete.description": "Are you sure this item should be completely deleted? Caution: At present, no tombstone would be left.", "item.edit.delete.description": "Você tem certeza que deseja apagar completamento este item? Atenção: No momento, nenhum vestígio restará.", - + // "item.edit.delete.error": "An error occurred while deleting the item", "item.edit.delete.error": "Ocorreu um erro ao apagar o item", - + // "item.edit.delete.header": "Delete item: {{ id }}", "item.edit.delete.header": "Apagar item: {{ id }}", - + // "item.edit.delete.success": "The item has been deleted", "item.edit.delete.success": "O item foi apagado", - + // "item.edit.head": "Edit Item", "item.edit.head": "Editar Item", - + // "item.edit.breadcrumbs": "Edit Item", // TODO New key - Add a translation "item.edit.breadcrumbs": "Edit Item", - - - + + + // "item.edit.item-mapper.buttons.add": "Map item to selected collections", "item.edit.item-mapper.buttons.add": "Mapear item na(s) coleção(ões) seleciona(s)", - + // "item.edit.item-mapper.buttons.remove": "Remove item's mapping for selected collections", "item.edit.item-mapper.buttons.remove": "Remover mapeamento(s) do item da(s) coleção(ões) seleciona(s)", - + // "item.edit.item-mapper.cancel": "Cancel", "item.edit.item-mapper.cancel": "Cancelar", - + // "item.edit.item-mapper.description": "This is the item mapper tool that allows administrators to map this item to other collections. You can search for collections and map them, or browse the list of collections the item is currently mapped to.", "item.edit.item-mapper.description": "Essa é a ferramenta de mapeamento de itens que permite que os administradores mapeiem esse item para outras coleções. Você pode procurar coleções e mapeá-las ou navegar na lista de coleções para as quais o item está atualmente mapeado.", - + // "item.edit.item-mapper.head": "Item Mapper - Map Item to Collections", "item.edit.item-mapper.head": "Mapeador de Item - Mapear Itens em Coleções", - + // "item.edit.item-mapper.item": "Item: \"{{name}}\"", "item.edit.item-mapper.item": "Item: \"{{name}}\"", - + // "item.edit.item-mapper.no-search": "Please enter a query to search", "item.edit.item-mapper.no-search": "Por favor informe uma consulta para buscar", - + // "item.edit.item-mapper.notifications.add.error.content": "Errors occurred for mapping of item to {{amount}} collections.", "item.edit.item-mapper.notifications.add.error.content": "Ocorreram erros ao mapear o item em {{amount}} coleções.", - + // "item.edit.item-mapper.notifications.add.error.head": "Mapping errors", "item.edit.item-mapper.notifications.add.error.head": "Erros de mapeamento", - + // "item.edit.item-mapper.notifications.add.success.content": "Successfully mapped item to {{amount}} collections.", "item.edit.item-mapper.notifications.add.success.content": "Mapeou o item em {{amount}} coleções com sucesso.", - + // "item.edit.item-mapper.notifications.add.success.head": "Mapping completed", "item.edit.item-mapper.notifications.add.success.head": "Mapeamento complesto", - + // "item.edit.item-mapper.notifications.remove.error.content": "Errors occurred for the removal of the mapping to {{amount}} collections.", "item.edit.item-mapper.notifications.remove.error.content": "Ocorreram erros ao remover mapeamento do item em {{amount}} coleções.", - + // "item.edit.item-mapper.notifications.remove.error.head": "Removal of mapping errors", "item.edit.item-mapper.notifications.remove.error.head": "Erros de remoção de mapeamento", - + // "item.edit.item-mapper.notifications.remove.success.content": "Successfully removed mapping of item to {{amount}} collections.", "item.edit.item-mapper.notifications.remove.success.content": "Successfully removed mapping of item to {{amount}} collections.", - + // "item.edit.item-mapper.notifications.remove.success.head": "Removal of mapping completed", "item.edit.item-mapper.notifications.remove.success.head": "Completou a remoção de mapeamento", - + // "item.edit.item-mapper.tabs.browse": "Browse mapped collections", "item.edit.item-mapper.tabs.browse": "Navegar nas coleções mapeadas", - + // "item.edit.item-mapper.tabs.map": "Map new collections", "item.edit.item-mapper.tabs.map": "Mapear novas coleções", - - - + + + // "item.edit.metadata.add-button": "Add", "item.edit.metadata.add-button": "Adicionar", - + // "item.edit.metadata.discard-button": "Discard", "item.edit.metadata.discard-button": "Descartar", - + // "item.edit.metadata.edit.buttons.edit": "Edit", "item.edit.metadata.edit.buttons.edit": "Editar", - + // "item.edit.metadata.edit.buttons.remove": "Remove", "item.edit.metadata.edit.buttons.remove": "Apagar", - + // "item.edit.metadata.edit.buttons.undo": "Undo changes", "item.edit.metadata.edit.buttons.undo": "Desfazer alterações", - + // "item.edit.metadata.edit.buttons.unedit": "Stop editing", "item.edit.metadata.edit.buttons.unedit": "Parar edição", - + // "item.edit.metadata.headers.edit": "Edit", "item.edit.metadata.headers.edit": "Editar", - + // "item.edit.metadata.headers.field": "Field", "item.edit.metadata.headers.field": "Campo", - + // "item.edit.metadata.headers.language": "Lang", "item.edit.metadata.headers.language": "Idioma", - + // "item.edit.metadata.headers.value": "Value", "item.edit.metadata.headers.value": "Valor", - + // "item.edit.metadata.metadatafield.invalid": "Please choose a valid metadata field", "item.edit.metadata.metadatafield.invalid": "Por favor escolha um campo de metadados válido", - + // "item.edit.metadata.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", "item.edit.metadata.notifications.discarded.content": "Suas alterações foram descartadas. Para restabelecer suas alterações, clique no botão 'Desfazer'", - + // "item.edit.metadata.notifications.discarded.title": "Changed discarded", "item.edit.metadata.notifications.discarded.title": "Mudança descartada", - + // "item.edit.metadata.notifications.invalid.content": "Your changes were not saved. Please make sure all fields are valid before you save.", "item.edit.metadata.notifications.invalid.content": "Suas alterações não foram salvas. Verifique se todos os campos são válidos antes de salvar.", - + // "item.edit.metadata.notifications.invalid.title": "Metadata invalid", "item.edit.metadata.notifications.invalid.title": "Metadado inválido", - + // "item.edit.metadata.notifications.outdated.content": "The item you're currently working on has been changed by another user. Your current changes are discarded to prevent conflicts", "item.edit.metadata.notifications.outdated.content": "O item em que você está trabalhando foi alterado por outro usuário. Suas alterações atuais são descartadas para evitar conflitos", - + // "item.edit.metadata.notifications.outdated.title": "Changed outdated", "item.edit.metadata.notifications.outdated.title": "Alteração desatualizada", - + // "item.edit.metadata.notifications.saved.content": "Your changes to this item's metadata were saved.", "item.edit.metadata.notifications.saved.content": "Suas alterações nos metadados deste item foram salvas.", - + // "item.edit.metadata.notifications.saved.title": "Metadata saved", "item.edit.metadata.notifications.saved.title": "Metadados salvos", - + // "item.edit.metadata.reinstate-button": "Undo", "item.edit.metadata.reinstate-button": "Desfazer", - + // "item.edit.metadata.save-button": "Save", "item.edit.metadata.save-button": "Salvar", - - - + + + // "item.edit.modify.overview.field": "Field", "item.edit.modify.overview.field": "Campo", - + // "item.edit.modify.overview.language": "Language", "item.edit.modify.overview.language": "Idioma", - + // "item.edit.modify.overview.value": "Value", "item.edit.modify.overview.value": "Valor", - - - + + + // "item.edit.move.cancel": "Cancel", "item.edit.move.cancel": "Cancelar", - + // "item.edit.move.description": "Select the collection you wish to move this item to. To narrow down the list of displayed collections, you can enter a search query in the box.", "item.edit.move.description": "Selecione a coleção para a qual você deseja mover este item. Para restringir a lista de coleções exibidas, você pode inserir uma consulta de pesquisa na caixa.", - + // "item.edit.move.error": "An error occurred when attempting to move the item", "item.edit.move.error": "Ocorreu um erro ao tentar mover o item", - + // "item.edit.move.head": "Move item: {{id}}", "item.edit.move.head": "Mover item: {{id}}", - + // "item.edit.move.inheritpolicies.checkbox": "Inherit policies", "item.edit.move.inheritpolicies.checkbox": "Herdar politicas", - + // "item.edit.move.inheritpolicies.description": "Inherit the default policies of the destination collection", "item.edit.move.inheritpolicies.description": "Herdar as politicas padrões da coleção destino", - + // "item.edit.move.move": "Move", "item.edit.move.move": "Mover", - + // "item.edit.move.processing": "Moving...", "item.edit.move.processing": "Movendo...", - + // "item.edit.move.search.placeholder": "Enter a search query to look for collections", "item.edit.move.search.placeholder": "Insira uma consulta para procurar coleções", - + // "item.edit.move.success": "The item has been moved successfully", "item.edit.move.success": "O item foi movido com sucesso", - + // "item.edit.move.title": "Move item", "item.edit.move.title": "Mover item", - - - + + + // "item.edit.private.cancel": "Cancel", "item.edit.private.cancel": "Cancelar", - + // "item.edit.private.confirm": "Make it Private", "item.edit.private.confirm": "Tornar Privado", - + // "item.edit.private.description": "Are you sure this item should be made private in the archive?", "item.edit.private.description": "Tem certeza de que este item deve ser tornado privado no arquivo?", - + // "item.edit.private.error": "An error occurred while making the item private", "item.edit.private.error": "Ocorreu um erro ao tornar o item privado", - + // "item.edit.private.header": "Make item private: {{ id }}", "item.edit.private.header": "Tornar privado o item: {{ id }}", - + // "item.edit.private.success": "The item is now private", "item.edit.private.success": "O item agora é privado", - - - + + + // "item.edit.public.cancel": "Cancel", "item.edit.public.cancel": "Cancelar", - + // "item.edit.public.confirm": "Make it Public", "item.edit.public.confirm": "Tornar público", - + // "item.edit.public.description": "Are you sure this item should be made public in the archive?", "item.edit.public.description": "Você tem certeza que deseja tornar este item público no arquivo?", - + // "item.edit.public.error": "An error occurred while making the item public", "item.edit.public.error": "Ocorreu um erro ao tornar o item público", - + // "item.edit.public.header": "Make item public: {{ id }}", "item.edit.public.header": "Tornar público o item: {{ id }}", - + // "item.edit.public.success": "The item is now public", "item.edit.public.success": "O item agora é público", - - - + + + // "item.edit.reinstate.cancel": "Cancel", "item.edit.reinstate.cancel": "Cancelar", - + // "item.edit.reinstate.confirm": "Reinstate", "item.edit.reinstate.confirm": "Restabelecer", - + // "item.edit.reinstate.description": "Are you sure this item should be reinstated to the archive?", "item.edit.reinstate.description": "Tem certeza de que este item deve ser restabelecido no arquivo?", - + // "item.edit.reinstate.error": "An error occurred while reinstating the item", "item.edit.reinstate.error": "Ocorreu um erro ao restabelecer o item", - + // "item.edit.reinstate.header": "Reinstate item: {{ id }}", "item.edit.reinstate.header": "Restabelecer item: {{ id }}", - + // "item.edit.reinstate.success": "The item was reinstated successfully", "item.edit.reinstate.success": "O item foi restabelecido com sucesso", - - - + + + // "item.edit.relationships.discard-button": "Discard", "item.edit.relationships.discard-button": "Descartar", - + // "item.edit.relationships.edit.buttons.remove": "Remove", "item.edit.relationships.edit.buttons.remove": "Apagar", - + // "item.edit.relationships.edit.buttons.undo": "Undo changes", "item.edit.relationships.edit.buttons.undo": "Desfazer alterações", - + // "item.edit.relationships.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", "item.edit.relationships.notifications.discarded.content": "Suas alterações foram descartadas. Para restabelecer suas alterações, clique no botão 'Desfazer'", - + // "item.edit.relationships.notifications.discarded.title": "Changes discarded", "item.edit.relationships.notifications.discarded.title": "Alterações descartadas", - + // "item.edit.relationships.notifications.failed.title": "Error deleting relationship", "item.edit.relationships.notifications.failed.title": "Erro ao apagar relacionamento", - + // "item.edit.relationships.notifications.outdated.content": "The item you're currently working on has been changed by another user. Your current changes are discarded to prevent conflicts", "item.edit.relationships.notifications.outdated.content": "O item em que você está trabalhando foi alterado por outro usuário. Suas alterações atuais são descartadas para evitar conflitos", - + // "item.edit.relationships.notifications.outdated.title": "Changes outdated", "item.edit.relationships.notifications.outdated.title": "Alterações desatualizadas", - + // "item.edit.relationships.notifications.saved.content": "Your changes to this item's relationships were saved.", "item.edit.relationships.notifications.saved.content": "Suas alterações nos relacionamentos deste item foram salvas.", - + // "item.edit.relationships.notifications.saved.title": "Relationships saved", "item.edit.relationships.notifications.saved.title": "Relacionamentos salvos", - + // "item.edit.relationships.reinstate-button": "Undo", "item.edit.relationships.reinstate-button": "Desfazer", - + // "item.edit.relationships.save-button": "Save", "item.edit.relationships.save-button": "Salvar", - - - + + + // "item.edit.tabs.bitstreams.head": "Bitstreams", // TODO Source message changed - Revise the translation "item.edit.tabs.bitstreams.head": "Bitstreams do Item", - + // "item.edit.tabs.bitstreams.title": "Item Edit - Bitstreams", "item.edit.tabs.bitstreams.title": "Editar Item - Bitstreams", - + // "item.edit.tabs.curate.head": "Curate", "item.edit.tabs.curate.head": "Curadoria", - + // "item.edit.tabs.curate.title": "Item Edit - Curate", "item.edit.tabs.curate.title": "Editar Item - Curadoria", - + // "item.edit.tabs.metadata.head": "Metadata", // TODO Source message changed - Revise the translation "item.edit.tabs.metadata.head": "Metadados do Item", - + // "item.edit.tabs.metadata.title": "Item Edit - Metadata", "item.edit.tabs.metadata.title": "Editar Item - Metadados", - + // "item.edit.tabs.relationships.head": "Relationships", // TODO Source message changed - Revise the translation "item.edit.tabs.relationships.head": "Relacionamentos do Item", - + // "item.edit.tabs.relationships.title": "Item Edit - Relationships", "item.edit.tabs.relationships.title": "Editar Item - Relacionamentos", - + // "item.edit.tabs.status.buttons.authorizations.button": "Authorizations...", "item.edit.tabs.status.buttons.authorizations.button": "Autorizações...", - + // "item.edit.tabs.status.buttons.authorizations.label": "Edit item's authorization policies", "item.edit.tabs.status.buttons.authorizations.label": "Editar politicas de autorizações de item", - + // "item.edit.tabs.status.buttons.delete.button": "Permanently delete", "item.edit.tabs.status.buttons.delete.button": "Apagar permanentemente", - + // "item.edit.tabs.status.buttons.delete.label": "Completely expunge item", "item.edit.tabs.status.buttons.delete.label": "Eliminar completamente o item", - + // "item.edit.tabs.status.buttons.mappedCollections.button": "Mapped collections", "item.edit.tabs.status.buttons.mappedCollections.button": "Coleções mapeadas", - + // "item.edit.tabs.status.buttons.mappedCollections.label": "Manage mapped collections", "item.edit.tabs.status.buttons.mappedCollections.label": "Gerenciar coleções mapeadas", - + // "item.edit.tabs.status.buttons.move.button": "Move...", "item.edit.tabs.status.buttons.move.button": "Mover...", - + // "item.edit.tabs.status.buttons.move.label": "Move item to another collection", "item.edit.tabs.status.buttons.move.label": "Mover item para outra coleção", - + // "item.edit.tabs.status.buttons.private.button": "Make it private...", "item.edit.tabs.status.buttons.private.button": "Tornar privado o item...", - + // "item.edit.tabs.status.buttons.private.label": "Make item private", "item.edit.tabs.status.buttons.private.label": "Tornar privado o item", - + // "item.edit.tabs.status.buttons.public.button": "Make it public...", "item.edit.tabs.status.buttons.public.button": "Tornar público o item...", - + // "item.edit.tabs.status.buttons.public.label": "Make item public", "item.edit.tabs.status.buttons.public.label": "Tornar público o item", - + // "item.edit.tabs.status.buttons.reinstate.button": "Reinstate...", "item.edit.tabs.status.buttons.reinstate.button": "Restabelecer...", - + // "item.edit.tabs.status.buttons.reinstate.label": "Reinstate item into the repository", "item.edit.tabs.status.buttons.reinstate.label": "Restabelecer item no repositório", - + // "item.edit.tabs.status.buttons.withdraw.button": "Withdraw...", "item.edit.tabs.status.buttons.withdraw.button": "Retirar...", - + // "item.edit.tabs.status.buttons.withdraw.label": "Withdraw item from the repository", "item.edit.tabs.status.buttons.withdraw.label": "Retirar item do repositório", - + // "item.edit.tabs.status.description": "Welcome to the item management page. From here you can withdraw, reinstate, move or delete the item. You may also update or add new metadata / bitstreams on the other tabs.", "item.edit.tabs.status.description": "Bem-vindo à página de gerenciamento de itens. A partir daqui, você pode retirar, restabelecer, mover ou apagar o item. Você também pode atualizar ou adicionar novos metadados / bitstream nas outras guias.", - + // "item.edit.tabs.status.head": "Status", // TODO Source message changed - Revise the translation "item.edit.tabs.status.head": "Estado do Item", - + // "item.edit.tabs.status.labels.handle": "Handle", "item.edit.tabs.status.labels.handle": "Handle", - + // "item.edit.tabs.status.labels.id": "Item Internal ID", "item.edit.tabs.status.labels.id": "ID Interno do Item", - + // "item.edit.tabs.status.labels.itemPage": "Item Page", "item.edit.tabs.status.labels.itemPage": "Página do Item", - + // "item.edit.tabs.status.labels.lastModified": "Last Modified", "item.edit.tabs.status.labels.lastModified": "Ultima alteração", - + // "item.edit.tabs.status.title": "Item Edit - Status", "item.edit.tabs.status.title": "Editar Item - Estado", - + // "item.edit.tabs.versionhistory.head": "Version History", // TODO New key - Add a translation "item.edit.tabs.versionhistory.head": "Version History", - + // "item.edit.tabs.versionhistory.title": "Item Edit - Version History", // TODO New key - Add a translation "item.edit.tabs.versionhistory.title": "Item Edit - Version History", - + // "item.edit.tabs.versionhistory.under-construction": "Editing or adding new versions is not yet possible in this user interface.", // TODO New key - Add a translation "item.edit.tabs.versionhistory.under-construction": "Editing or adding new versions is not yet possible in this user interface.", - + // "item.edit.tabs.view.head": "View Item", "item.edit.tabs.view.head": "Visualizar Item", - + // "item.edit.tabs.view.title": "Item Edit - View", "item.edit.tabs.view.title": "Editar Item - Visualizar", - - - + + + // "item.edit.withdraw.cancel": "Cancel", "item.edit.withdraw.cancel": "Cancelar", - + // "item.edit.withdraw.confirm": "Withdraw", "item.edit.withdraw.confirm": "Retirar", - + // "item.edit.withdraw.description": "Are you sure this item should be withdrawn from the archive?", "item.edit.withdraw.description": "Tem certeza de que este item deve ser retirado do arquivo?", - + // "item.edit.withdraw.error": "An error occurred while withdrawing the item", "item.edit.withdraw.error": "Ocorreu um erro ao retirar o item", - + // "item.edit.withdraw.header": "Withdraw item: {{ id }}", "item.edit.withdraw.header": "Retirar item: {{ id }}", - + // "item.edit.withdraw.success": "The item was withdrawn successfully", "item.edit.withdraw.success": "O item foi retirado com sucesso", - - - + + + // "item.page.abstract": "Abstract", "item.page.abstract": "Resumo", - + // "item.page.author": "Authors", "item.page.author": "Autores", - + // "item.page.citation": "Citation", "item.page.citation": "Citação", - + // "item.page.collections": "Collections", "item.page.collections": "Coleções", - + // "item.page.date": "Date", "item.page.date": "Data", - + // "item.page.files": "Files", "item.page.files": "Arquivos", - + // "item.page.filesection.description": "Description:", "item.page.filesection.description": "Descrição:", - + // "item.page.filesection.download": "Download", "item.page.filesection.download": "Baixar", - + // "item.page.filesection.format": "Format:", "item.page.filesection.format": "Formato:", - + // "item.page.filesection.name": "Name:", "item.page.filesection.name": "Nome:", - + // "item.page.filesection.size": "Size:", "item.page.filesection.size": "Tamanho:", - + // "item.page.journal.search.title": "Articles in this journal", "item.page.journal.search.title": "Articles in this journal", - + // "item.page.link.full": "Full item page", "item.page.link.full": "Página do item completo", - + // "item.page.link.simple": "Simple item page", "item.page.link.simple": "Página do item simplificado", - + // "item.page.person.search.title": "Articles by this author", "item.page.person.search.title": "Artigos deste autor", - + // "item.page.related-items.view-more": "Show {{ amount }} more", // TODO Source message changed - Revise the translation "item.page.related-items.view-more": "Mostrar mais", - + // "item.page.related-items.view-less": "Hide last {{ amount }}", // TODO Source message changed - Revise the translation "item.page.related-items.view-less": "Mostrar menos", - + // "item.page.relationships.isAuthorOfPublication": "Publications", // TODO New key - Add a translation "item.page.relationships.isAuthorOfPublication": "Publications", - + // "item.page.relationships.isJournalOfPublication": "Publications", // TODO New key - Add a translation "item.page.relationships.isJournalOfPublication": "Publications", - + // "item.page.relationships.isOrgUnitOfPerson": "Authors", // TODO New key - Add a translation "item.page.relationships.isOrgUnitOfPerson": "Authors", - + // "item.page.relationships.isOrgUnitOfProject": "Research Projects", // TODO New key - Add a translation "item.page.relationships.isOrgUnitOfProject": "Research Projects", - + // "item.page.subject": "Keywords", "item.page.subject": "Palavras-chave", - + // "item.page.uri": "URI", "item.page.uri": "URI", - - - + + + // "item.select.confirm": "Confirm selected", "item.select.confirm": "Confirmar seleção", - + // "item.select.empty": "No items to show", "item.select.empty": "Nenhum itme a mostrar", - + // "item.select.table.author": "Author", "item.select.table.author": "Autor", - + // "item.select.table.collection": "Collection", "item.select.table.collection": "Coleção", - + // "item.select.table.title": "Title", "item.select.table.title": "Título", - - + + // "item.version.history.empty": "There are no other versions for this item yet.", // TODO New key - Add a translation "item.version.history.empty": "There are no other versions for this item yet.", - + // "item.version.history.head": "Version History", // TODO New key - Add a translation "item.version.history.head": "Version History", - + // "item.version.history.return": "Return", // TODO New key - Add a translation "item.version.history.return": "Return", - + // "item.version.history.selected": "Selected version", // TODO New key - Add a translation "item.version.history.selected": "Selected version", - + // "item.version.history.table.version": "Version", // TODO New key - Add a translation "item.version.history.table.version": "Version", - + // "item.version.history.table.item": "Item", // TODO New key - Add a translation "item.version.history.table.item": "Item", - + // "item.version.history.table.editor": "Editor", // TODO New key - Add a translation "item.version.history.table.editor": "Editor", - + // "item.version.history.table.date": "Date", // TODO New key - Add a translation "item.version.history.table.date": "Date", - + // "item.version.history.table.summary": "Summary", // TODO New key - Add a translation "item.version.history.table.summary": "Summary", - - - + + + // "item.version.notice": "This is not the latest version of this item. The latest version can be found here.", // TODO New key - Add a translation "item.version.notice": "This is not the latest version of this item. The latest version can be found here.", - - - + + + // "journal.listelement.badge": "Journal", "journal.listelement.badge": "Periódico", - + // "journal.page.description": "Description", "journal.page.description": "Descrição", - + // "journal.page.editor": "Editor-in-Chief", "journal.page.editor": "Editor Chefe", - + // "journal.page.issn": "ISSN", "journal.page.issn": "ISSN", - + // "journal.page.publisher": "Publisher", "journal.page.publisher": "Editora", - + // "journal.page.titleprefix": "Journal: ", "journal.page.titleprefix": "Periódico: ", - + // "journal.search.results.head": "Journal Search Results", "journal.search.results.head": "Resultado da Busca de Periódicos", - + // "journal.search.title": "DSpace Angular :: Journal Search", "journal.search.title": "DSpace Angular :: Busca de Periódicos", - - - + + + // "journalissue.listelement.badge": "Journal Issue", "journalissue.listelement.badge": "Fascículo", - + // "journalissue.page.description": "Description", "journalissue.page.description": "Descrição", - + // "journalissue.page.issuedate": "Issue Date", "journalissue.page.issuedate": "Data de Publicação", - + // "journalissue.page.journal-issn": "Journal ISSN", "journalissue.page.journal-issn": "ISSN do Periódico", - + // "journalissue.page.journal-title": "Journal Title", "journalissue.page.journal-title": "Título do Periódico", - + // "journalissue.page.keyword": "Keywords", "journalissue.page.keyword": "Palavras-chave", - + // "journalissue.page.number": "Number", "journalissue.page.number": "Número", - + // "journalissue.page.titleprefix": "Journal Issue: ", "journalissue.page.titleprefix": "Fascículo: ", - - - + + + // "journalvolume.listelement.badge": "Journal Volume", "journalvolume.listelement.badge": "Volume do Periódico", - + // "journalvolume.page.description": "Description", "journalvolume.page.description": "Descrição", - + // "journalvolume.page.issuedate": "Issue Date", "journalvolume.page.issuedate": "Data de Publicação", - + // "journalvolume.page.titleprefix": "Journal Volume: ", "journalvolume.page.titleprefix": "Volume do Periódico: ", - + // "journalvolume.page.volume": "Volume", "journalvolume.page.volume": "Volume", - - - + + + // "loading.bitstream": "Loading bitstream...", // TODO New key - Add a translation "loading.bitstream": "Loading bitstream...", - + // "loading.bitstreams": "Loading bitstreams...", // TODO New key - Add a translation "loading.bitstreams": "Loading bitstreams...", - + // "loading.browse-by": "Loading items...", "loading.browse-by": "Carregando itens...", - + // "loading.browse-by-page": "Loading page...", "loading.browse-by-page": "Carregando página...", - + // "loading.collection": "Loading collection...", "loading.collection": "Carregando coleção...", - + // "loading.collections": "Loading collections...", "loading.collections": "Carregando coleções...", - + // "loading.content-source": "Loading content source...", // TODO New key - Add a translation "loading.content-source": "Loading content source...", - + // "loading.community": "Loading community...", "loading.community": "Carregando comunidade...", - + // "loading.default": "Loading...", "loading.default": "Carregando...", - + // "loading.item": "Loading item...", "loading.item": "Carregando item...", - + // "loading.items": "Loading items...", "loading.items": "Carregando itens...", - + // "loading.mydspace-results": "Loading items...", "loading.mydspace-results": "Carregando itens...", - + // "loading.objects": "Loading...", "loading.objects": "Carregando...", - + // "loading.recent-submissions": "Loading recent submissions...", "loading.recent-submissions": "Carregando submissões recentes...", - + // "loading.search-results": "Loading search results...", "loading.search-results": "Carregando resultados de busca...", - + // "loading.sub-collections": "Loading sub-collections...", "loading.sub-collections": "Carregando sub-coleções...", - + // "loading.sub-communities": "Loading sub-communities...", "loading.sub-communities": "Carregando sub-comunidades...", - + // "loading.top-level-communities": "Loading top-level communities...", "loading.top-level-communities": "Carregando comunidades de nível superior...", - - - + + + // "login.form.email": "Email address", "login.form.email": "Endereço de email", - + // "login.form.forgot-password": "Have you forgotten your password?", "login.form.forgot-password": "Esqueceu sua senha?", - + // "login.form.header": "Please log in to DSpace", "login.form.header": "Por favor entre no DSpace", - + // "login.form.new-user": "New user? Click here to register.", "login.form.new-user": "Novo usuário? Clique aqui para cadastrar.", - + // "login.form.or-divider": "or", // TODO New key - Add a translation "login.form.or-divider": "or", - + // "login.form.password": "Password", "login.form.password": "Senha", - + // "login.form.shibboleth": "Log in with Shibboleth", // TODO New key - Add a translation "login.form.shibboleth": "Log in with Shibboleth", - + // "login.form.submit": "Log in", "login.form.submit": "Entrar", - + // "login.title": "Login", "login.title": "Entrar", - + // "login.breadcrumbs": "Login", // TODO New key - Add a translation "login.breadcrumbs": "Login", - - - + + + // "logout.form.header": "Log out from DSpace", "logout.form.header": "Sair do DSpace", - + // "logout.form.submit": "Log out", "logout.form.submit": "Sair", - + // "logout.title": "Logout", "logout.title": "Sair", - - - + + + // "menu.header.admin": "Admin", "menu.header.admin": "Administração", - + // "menu.header.image.logo": "Repository logo", "menu.header.image.logo": "Logo do repositório", - - - + + + // "menu.section.access_control": "Access Control", "menu.section.access_control": "Controle de Acesso", - + // "menu.section.access_control_authorizations": "Authorizations", "menu.section.access_control_authorizations": "Autorizações", - + // "menu.section.access_control_groups": "Groups", "menu.section.access_control_groups": "Grupos", - + // "menu.section.access_control_people": "People", "menu.section.access_control_people": "Pessoas", - - - + + + // "menu.section.admin_search": "Admin Search", // TODO New key - Add a translation "menu.section.admin_search": "Admin Search", - - - + + + // "menu.section.browse_community": "This Community", "menu.section.browse_community": "Esta Comunidade", - + // "menu.section.browse_community_by_author": "By Author", "menu.section.browse_community_by_author": "Por Autor", - + // "menu.section.browse_community_by_issue_date": "By Issue Date", "menu.section.browse_community_by_issue_date": "Por Data de Publicação", - + // "menu.section.browse_community_by_title": "By Title", "menu.section.browse_community_by_title": "Por Título", - + // "menu.section.browse_global": "All of DSpace", "menu.section.browse_global": "Tudo no DSpace", - + // "menu.section.browse_global_by_author": "By Author", "menu.section.browse_global_by_author": "Por Autor", - + // "menu.section.browse_global_by_dateissued": "By Issue Date", "menu.section.browse_global_by_dateissued": "Por Data de Publicação", - + // "menu.section.browse_global_by_subject": "By Subject", "menu.section.browse_global_by_subject": "Por Assunto", - + // "menu.section.browse_global_by_title": "By Title", "menu.section.browse_global_by_title": "Por Título", - + // "menu.section.browse_global_communities_and_collections": "Communities & Collections", "menu.section.browse_global_communities_and_collections": "Comunidades e Coleções", - - - + + + // "menu.section.control_panel": "Control Panel", "menu.section.control_panel": "Painel de Controle", - + // "menu.section.curation_task": "Curation Task", "menu.section.curation_task": "Tarefas de Curadoria", - - - + + + // "menu.section.edit": "Edit", "menu.section.edit": "Editar", - + // "menu.section.edit_collection": "Collection", "menu.section.edit_collection": "Coleção", - + // "menu.section.edit_community": "Community", "menu.section.edit_community": "Comunidade", - + // "menu.section.edit_item": "Item", "menu.section.edit_item": "Item", - - - + + + // "menu.section.export": "Export", "menu.section.export": "Exportar", - + // "menu.section.export_collection": "Collection", "menu.section.export_collection": "Coleção", - + // "menu.section.export_community": "Community", "menu.section.export_community": "Comunidade", - + // "menu.section.export_item": "Item", "menu.section.export_item": "Item", - + // "menu.section.export_metadata": "Metadata", "menu.section.export_metadata": "Metadados", - - - + + + // "menu.section.icon.access_control": "Access Control menu section", "menu.section.icon.access_control": "Seção do menu Controle de Acesso", - + // "menu.section.icon.admin_search": "Admin search menu section", // TODO New key - Add a translation "menu.section.icon.admin_search": "Admin search menu section", - + // "menu.section.icon.control_panel": "Control Panel menu section", "menu.section.icon.control_panel": "Seção do menu Painel de Controle", - + // "menu.section.icon.curation_task": "Curation Task menu section", "menu.section.icon.curation_task": "Seção do menu Tarefas de Curadoria", - + // "menu.section.icon.edit": "Edit menu section", "menu.section.icon.edit": "Seção do menu Editar", - + // "menu.section.icon.export": "Export menu section", "menu.section.icon.export": "Seção do menu Exportar", - + // "menu.section.icon.find": "Find menu section", "menu.section.icon.find": "Seção do menu Buscar", - + // "menu.section.icon.import": "Import menu section", "menu.section.icon.import": "Seção do menu Importar", - + // "menu.section.icon.new": "New menu section", "menu.section.icon.new": "Seção do menu Novo", - + // "menu.section.icon.pin": "Pin sidebar", "menu.section.icon.pin": "Fixar barra lateral", - + // "menu.section.icon.registries": "Registries menu section", "menu.section.icon.registries": "Seção do menu Registros", - + // "menu.section.icon.statistics_task": "Statistics Task menu section", "menu.section.icon.statistics_task": "Seção do menu Tarefas de Estatísticas", - + // "menu.section.icon.unpin": "Unpin sidebar", "menu.section.icon.unpin": "Soltar barra lateral", - - - + + + // "menu.section.import": "Import", "menu.section.import": "Importar", - + // "menu.section.import_batch": "Batch Import (ZIP)", "menu.section.import_batch": "Importação em Lote (ZIP)", - + // "menu.section.import_metadata": "Metadata", "menu.section.import_metadata": "Metadados", - - - + + + // "menu.section.new": "New", "menu.section.new": "Nova", - + // "menu.section.new_collection": "Collection", "menu.section.new_collection": "Coleção", - + // "menu.section.new_community": "Community", "menu.section.new_community": "Comunidade", - + // "menu.section.new_item": "Item", "menu.section.new_item": "Item", - + // "menu.section.new_item_version": "Item Version", "menu.section.new_item_version": "Versão do Item", - - - + + + // "menu.section.pin": "Pin sidebar", "menu.section.pin": "Fixar barra lateral", - + // "menu.section.unpin": "Unpin sidebar", "menu.section.unpin": "Soltar barra lateral", - - - + + + // "menu.section.registries": "Registries", "menu.section.registries": "Registros", - + // "menu.section.registries_format": "Format", "menu.section.registries_format": "Formatos", - + // "menu.section.registries_metadata": "Metadata", "menu.section.registries_metadata": "Metadados", - - - + + + // "menu.section.statistics": "Statistics", "menu.section.statistics": "Estatísticas", - + // "menu.section.statistics_task": "Statistics Task", "menu.section.statistics_task": "Tarefas de Estatísticas", - - - + + + // "menu.section.toggle.access_control": "Toggle Access Control section", "menu.section.toggle.access_control": "Alternar Seção Controle de Acesso", - + // "menu.section.toggle.control_panel": "Toggle Control Panel section", "menu.section.toggle.control_panel": "Alternar Seção Painel de COntrole", - + // "menu.section.toggle.curation_task": "Toggle Curation Task section", "menu.section.toggle.curation_task": "Alternar Seção Tarefas de Curadoria", - + // "menu.section.toggle.edit": "Toggle Edit section", "menu.section.toggle.edit": "Alternar Seção Editar", - + // "menu.section.toggle.export": "Toggle Export section", "menu.section.toggle.export": "Alternar Seção Exportar", - + // "menu.section.toggle.find": "Toggle Find section", "menu.section.toggle.find": "Alternar Seção Pesquisa", - + // "menu.section.toggle.import": "Toggle Import section", "menu.section.toggle.import": "Alternar Seção Importar", - + // "menu.section.toggle.new": "Toggle New section", "menu.section.toggle.new": "Alternar Nova Seção", - + // "menu.section.toggle.registries": "Toggle Registries section", "menu.section.toggle.registries": "Alternar Seção Registros", - + // "menu.section.toggle.statistics_task": "Toggle Statistics Task section", "menu.section.toggle.statistics_task": "Alternar Seção Tarefas de Estatísticas", - - - + + + // "mydspace.description": "", "mydspace.description": "", - + // "mydspace.general.text-here": "HERE", "mydspace.general.text-here": "AQUI", - + // "mydspace.messages.controller-help": "Select this option to send a message to item's submitter.", "mydspace.messages.controller-help": "Selecione esta opção para enviar uma mensagem para o submetedor do item.", - + // "mydspace.messages.description-placeholder": "Insert your message here...", "mydspace.messages.description-placeholder": "Insira sua mensagem aqui...", - + // "mydspace.messages.hide-msg": "Hide message", "mydspace.messages.hide-msg": "Ocultar mensagem", - + // "mydspace.messages.mark-as-read": "Mark as read", "mydspace.messages.mark-as-read": "Marcar como lida", - + // "mydspace.messages.mark-as-unread": "Mark as unread", "mydspace.messages.mark-as-unread": "Marcar como não lida", - + // "mydspace.messages.no-content": "No content.", "mydspace.messages.no-content": "Sem conteúdo", - + // "mydspace.messages.no-messages": "No messages yet.", "mydspace.messages.no-messages": "Nenhuma mensagem ainda", - + // "mydspace.messages.send-btn": "Send", "mydspace.messages.send-btn": "Enviar", - + // "mydspace.messages.show-msg": "Show message", "mydspace.messages.show-msg": "Mostrar mensagem", - + // "mydspace.messages.subject-placeholder": "Subject...", "mydspace.messages.subject-placeholder": "Assunto...", - + // "mydspace.messages.submitter-help": "Select this option to send a message to controller.", "mydspace.messages.submitter-help": "Selecione esta opção para enviar uma mensagem ao controlador.", - + // "mydspace.messages.title": "Messages", "mydspace.messages.title": "Mensagens", - + // "mydspace.messages.to": "To", "mydspace.messages.to": "Para", - + // "mydspace.new-submission": "New submission", "mydspace.new-submission": "Nova submissão", - + // "mydspace.results.head": "Your submissions", "mydspace.results.head": "Minhas submissões", - + // "mydspace.results.no-abstract": "No Abstract", "mydspace.results.no-abstract": "Sem Resumo", - + // "mydspace.results.no-authors": "No Authors", "mydspace.results.no-authors": "Sem Autores", - + // "mydspace.results.no-collections": "No Collections", "mydspace.results.no-collections": "Sem Coleções", - + // "mydspace.results.no-date": "No Date", "mydspace.results.no-date": "Sem Data", - + // "mydspace.results.no-files": "No Files", "mydspace.results.no-files": "Sem arquivos", - + // "mydspace.results.no-results": "There were no items to show", "mydspace.results.no-results": "Não havia itens a mostrar", - + // "mydspace.results.no-title": "No title", "mydspace.results.no-title": "Sem título", - + // "mydspace.results.no-uri": "No Uri", "mydspace.results.no-uri": "Sem Uri", - + // "mydspace.show.workflow": "All tasks", "mydspace.show.workflow": "Todas as tarefas", - + // "mydspace.show.workspace": "Your Submissions", "mydspace.show.workspace": "Minhas Submissões", - + // "mydspace.status.archived": "Archived", "mydspace.status.archived": "Arquivado", - + // "mydspace.status.validation": "Validation", "mydspace.status.validation": "Validação", - + // "mydspace.status.waiting-for-controller": "Waiting for controller", "mydspace.status.waiting-for-controller": "Esperando pelo controlador", - + // "mydspace.status.workflow": "Workflow", "mydspace.status.workflow": "Fluxo de trabalho", - + // "mydspace.status.workspace": "Workspace", "mydspace.status.workspace": "Espaço de trabalho", - + // "mydspace.title": "MyDSpace", "mydspace.title": "MyDSpace", - + // "mydspace.upload.upload-failed": "Error creating new workspace. Please verify the content uploaded before retry.", "mydspace.upload.upload-failed": "Erro ao criar novo espaço de trabalho. Por favor verifique o conteúdo enviado antes de tentar novamente.", - + // "mydspace.upload.upload-multiple-successful": "{{qty}} new workspace items created.", "mydspace.upload.upload-multiple-successful": "{{qty}} novo(s) item(ns) de espaço de trabalho criados.", - + // "mydspace.upload.upload-successful": "New workspace item created. Click {{here}} for edit it.", "mydspace.upload.upload-successful": "Novo item de espaço de trabalho criado. Clique {{here}} para o editar.", - + // "mydspace.view-btn": "View", "mydspace.view-btn": "Ver", - - - + + + // "nav.browse.header": "All of DSpace", "nav.browse.header": "Tudo no DSpace", - + // "nav.community-browse.header": "By Community", "nav.community-browse.header": "Por Comunidade", - + // "nav.language": "Language switch", "nav.language": "Seletor de idioma", - + // "nav.login": "Log In", "nav.login": "Entrar", - + // "nav.logout": "Log Out", "nav.logout": "Sair", - + // "nav.mydspace": "MyDSpace", "nav.mydspace": "MyDSpace", - + // "nav.profile": "Profile", // TODO New key - Add a translation "nav.profile": "Profile", - + // "nav.search": "Search", "nav.search": "Buscar", - + // "nav.statistics.header": "Statistics", "nav.statistics.header": "Estatísticas", - - - + + + // "orgunit.listelement.badge": "Organizational Unit", "orgunit.listelement.badge": "Unidade Organizacional", - + // "orgunit.page.city": "City", "orgunit.page.city": "Cidade", - + // "orgunit.page.country": "Country", "orgunit.page.country": "País", - + // "orgunit.page.dateestablished": "Date established", "orgunit.page.dateestablished": "Data estabelecida", - + // "orgunit.page.description": "Description", "orgunit.page.description": "Descrição", - + // "orgunit.page.id": "ID", "orgunit.page.id": "ID", - + // "orgunit.page.titleprefix": "Organizational Unit: ", "orgunit.page.titleprefix": "Unidade Organizacional: ", - - - + + + // "pagination.results-per-page": "Results Per Page", "pagination.results-per-page": "Resultados por página", - + // "pagination.showing.detail": "{{ range }} of {{ total }}", "pagination.showing.detail": "{{ range }} de {{ total }}", - + // "pagination.showing.label": "Now showing ", "pagination.showing.label": "Agora exibindo ", - + // "pagination.sort-direction": "Sort Options", "pagination.sort-direction": "Opções de Ordenação", - - - + + + // "person.listelement.badge": "Person", "person.listelement.badge": "Pessoa", - + // "person.page.birthdate": "Birth Date", "person.page.birthdate": "Data de nascimento", - + // "person.page.email": "Email Address", "person.page.email": "Endereço de Email", - + // "person.page.firstname": "First Name", "person.page.firstname": "Primeiro Nome", - + // "person.page.jobtitle": "Job Title", "person.page.jobtitle": "Cargo", - + // "person.page.lastname": "Last Name", "person.page.lastname": "Último Nome", - + // "person.page.link.full": "Show all metadata", "person.page.link.full": "Mostrar todos os metadados", - + // "person.page.orcid": "ORCID", "person.page.orcid": "ORCID", - + // "person.page.staffid": "Staff ID", "person.page.staffid": "ID de Equipe", - + // "person.page.titleprefix": "Person: ", "person.page.titleprefix": "Pessoa: ", - + // "person.search.results.head": "Person Search Results", "person.search.results.head": "Resultado da Busca de Pessoa", - + // "person.search.title": "DSpace Angular :: Person Search", "person.search.title": "DSpace Angular :: Buscar Pessoa", - - - + + + // "profile.breadcrumbs": "Update Profile", // TODO New key - Add a translation "profile.breadcrumbs": "Update Profile", - + // "profile.card.identify": "Identify", // TODO New key - Add a translation "profile.card.identify": "Identify", - + // "profile.card.security": "Security", // TODO New key - Add a translation "profile.card.security": "Security", - + // "profile.form.submit": "Update Profile", // TODO New key - Add a translation "profile.form.submit": "Update Profile", - + // "profile.groups.head": "Authorization groups you belong to", // TODO New key - Add a translation "profile.groups.head": "Authorization groups you belong to", - + // "profile.head": "Update Profile", // TODO New key - Add a translation "profile.head": "Update Profile", - + // "profile.metadata.form.error.firstname.required": "First Name is required", // TODO New key - Add a translation "profile.metadata.form.error.firstname.required": "First Name is required", - + // "profile.metadata.form.error.lastname.required": "Last Name is required", // TODO New key - Add a translation "profile.metadata.form.error.lastname.required": "Last Name is required", - + // "profile.metadata.form.label.email": "Email Address", // TODO New key - Add a translation "profile.metadata.form.label.email": "Email Address", - + // "profile.metadata.form.label.firstname": "First Name", // TODO New key - Add a translation "profile.metadata.form.label.firstname": "First Name", - + // "profile.metadata.form.label.language": "Language", // TODO New key - Add a translation "profile.metadata.form.label.language": "Language", - + // "profile.metadata.form.label.lastname": "Last Name", // TODO New key - Add a translation "profile.metadata.form.label.lastname": "Last Name", - + // "profile.metadata.form.label.phone": "Contact Telephone", // TODO New key - Add a translation "profile.metadata.form.label.phone": "Contact Telephone", - + // "profile.metadata.form.notifications.success.content": "Your changes to the profile were saved.", // TODO New key - Add a translation "profile.metadata.form.notifications.success.content": "Your changes to the profile were saved.", - + // "profile.metadata.form.notifications.success.title": "Profile saved", // TODO New key - Add a translation "profile.metadata.form.notifications.success.title": "Profile saved", - + // "profile.notifications.warning.no-changes.content": "No changes were made to the Profile.", // TODO New key - Add a translation "profile.notifications.warning.no-changes.content": "No changes were made to the Profile.", - + // "profile.notifications.warning.no-changes.title": "No changes", // TODO New key - Add a translation "profile.notifications.warning.no-changes.title": "No changes", - + // "profile.security.form.error.matching-passwords": "The passwords do not match.", // TODO New key - Add a translation "profile.security.form.error.matching-passwords": "The passwords do not match.", - + // "profile.security.form.error.password-length": "The password should be at least 6 characters long.", // TODO New key - Add a translation "profile.security.form.error.password-length": "The password should be at least 6 characters long.", - + // "profile.security.form.info": "Optionally, you can enter a new password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", // TODO New key - Add a translation "profile.security.form.info": "Optionally, you can enter a new password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", - + // "profile.security.form.label.password": "Password", // TODO New key - Add a translation "profile.security.form.label.password": "Password", - + // "profile.security.form.label.passwordrepeat": "Retype to confirm", // TODO New key - Add a translation "profile.security.form.label.passwordrepeat": "Retype to confirm", - + // "profile.security.form.notifications.success.content": "Your changes to the password were saved.", // TODO New key - Add a translation "profile.security.form.notifications.success.content": "Your changes to the password were saved.", - + // "profile.security.form.notifications.success.title": "Password saved", // TODO New key - Add a translation "profile.security.form.notifications.success.title": "Password saved", - + // "profile.security.form.notifications.error.title": "Error changing passwords", // TODO New key - Add a translation "profile.security.form.notifications.error.title": "Error changing passwords", - + // "profile.security.form.notifications.error.not-long-enough": "The password has to be at least 6 characters long.", // TODO New key - Add a translation "profile.security.form.notifications.error.not-long-enough": "The password has to be at least 6 characters long.", - + // "profile.security.form.notifications.error.not-same": "The provided passwords are not the same.", // TODO New key - Add a translation "profile.security.form.notifications.error.not-same": "The provided passwords are not the same.", - + // "profile.title": "Update Profile", // TODO New key - Add a translation "profile.title": "Update Profile", - - - + + + // "project.listelement.badge": "Research Project", "project.listelement.badge": "Projeto de Pesquisa", - + // "project.page.contributor": "Contributors", "project.page.contributor": "Contribuidores", - + // "project.page.description": "Description", "project.page.description": "Descrição", - + // "project.page.expectedcompletion": "Expected Completion", "project.page.expectedcompletion": "Conclusão esperada", - + // "project.page.funder": "Funders", "project.page.funder": "Financiadores", - + // "project.page.id": "ID", "project.page.id": "ID", - + // "project.page.keyword": "Keywords", "project.page.keyword": "Palavras-chave", - + // "project.page.status": "Status", "project.page.status": "Estado", - + // "project.page.titleprefix": "Research Project: ", "project.page.titleprefix": "Projeto de Pesquisa: ", - + // "project.search.results.head": "Project Search Results", // TODO New key - Add a translation "project.search.results.head": "Project Search Results", - - - + + + // "publication.listelement.badge": "Publication", "publication.listelement.badge": "Publicação", - + // "publication.page.description": "Description", "publication.page.description": "Descrição", - + // "publication.page.journal-issn": "Journal ISSN", "publication.page.journal-issn": "ISSN do Periódico", - + // "publication.page.journal-title": "Journal Title", "publication.page.journal-title": "Título do Periódico", - + // "publication.page.publisher": "Publisher", "publication.page.publisher": "Editora", - + // "publication.page.titleprefix": "Publication: ", "publication.page.titleprefix": "Publicação: ", - + // "publication.page.volume-title": "Volume Title", "publication.page.volume-title": "Título do Volume", - + // "publication.search.results.head": "Publication Search Results", "publication.search.results.head": "Resultados da Busca de Publicação", - + // "publication.search.title": "DSpace Angular :: Publication Search", "publication.search.title": "DSpace Angular :: Busca de Publicações", - - - + + + // "relationships.isAuthorOf": "Authors", "relationships.isAuthorOf": "Autores", - + // "relationships.isIssueOf": "Journal Issues", "relationships.isIssueOf": "Fascículo", - + // "relationships.isJournalIssueOf": "Journal Issue", "relationships.isJournalIssueOf": "Fascículo", - + // "relationships.isJournalOf": "Journals", "relationships.isJournalOf": "Periódicos", - + // "relationships.isOrgUnitOf": "Organizational Units", "relationships.isOrgUnitOf": "Unidades Organizacionais", - + // "relationships.isPersonOf": "Authors", "relationships.isPersonOf": "Autores", - + // "relationships.isProjectOf": "Research Projects", "relationships.isProjectOf": "Projetos de Pesquisa", - + // "relationships.isPublicationOf": "Publications", "relationships.isPublicationOf": "Publicações", - + // "relationships.isPublicationOfJournalIssue": "Articles", "relationships.isPublicationOfJournalIssue": "Artigos", - + // "relationships.isSingleJournalOf": "Journal", "relationships.isSingleJournalOf": "Periódico", - + // "relationships.isSingleVolumeOf": "Journal Volume", "relationships.isSingleVolumeOf": "Volume do Periódico", - + // "relationships.isVolumeOf": "Journal Volumes", "relationships.isVolumeOf": "Volumes do Periódico", - + // "relationships.isContributorOf": "Contributors", // TODO New key - Add a translation "relationships.isContributorOf": "Contributors", - - - + + + // "search.description": "", "search.description": "", - + // "search.switch-configuration.title": "Show", "search.switch-configuration.title": "Mostrar", - + // "search.title": "DSpace Angular :: Search", "search.title": "DSpace Angular :: Busca", - + // "search.breadcrumbs": "Search", // TODO New key - Add a translation "search.breadcrumbs": "Search", - - + + // "search.filters.applied.f.author": "Author", "search.filters.applied.f.author": "Autor", - + // "search.filters.applied.f.dateIssued.max": "End date", "search.filters.applied.f.dateIssued.max": "Data final", - + // "search.filters.applied.f.dateIssued.min": "Start date", "search.filters.applied.f.dateIssued.min": "Data inicial", - + // "search.filters.applied.f.dateSubmitted": "Date submitted", "search.filters.applied.f.dateSubmitted": "Data de submissão", - + // "search.filters.applied.f.discoverable": "Private", // TODO New key - Add a translation "search.filters.applied.f.discoverable": "Private", - + // "search.filters.applied.f.entityType": "Item Type", "search.filters.applied.f.entityType": "Tipo de Item", - + // "search.filters.applied.f.has_content_in_original_bundle": "Has files", "search.filters.applied.f.has_content_in_original_bundle": "Tem arquivos", - + // "search.filters.applied.f.itemtype": "Type", "search.filters.applied.f.itemtype": "Tipo", - + // "search.filters.applied.f.namedresourcetype": "Status", "search.filters.applied.f.namedresourcetype": "Estado", - + // "search.filters.applied.f.subject": "Subject", "search.filters.applied.f.subject": "Assunto", - + // "search.filters.applied.f.submitter": "Submitter", "search.filters.applied.f.submitter": "Submetedor", - + // "search.filters.applied.f.jobTitle": "Job Title", // TODO New key - Add a translation "search.filters.applied.f.jobTitle": "Job Title", - + // "search.filters.applied.f.birthDate.max": "End birth date", // TODO New key - Add a translation "search.filters.applied.f.birthDate.max": "End birth date", - + // "search.filters.applied.f.birthDate.min": "Start birth date", // TODO New key - Add a translation "search.filters.applied.f.birthDate.min": "Start birth date", - + // "search.filters.applied.f.withdrawn": "Withdrawn", // TODO New key - Add a translation "search.filters.applied.f.withdrawn": "Withdrawn", - - - + + + // "search.filters.filter.author.head": "Author", "search.filters.filter.author.head": "Autor", - + // "search.filters.filter.author.placeholder": "Author name", "search.filters.filter.author.placeholder": "Nome do autor", - + // "search.filters.filter.birthDate.head": "Birth Date", "search.filters.filter.birthDate.head": "Data de nascimento", - + // "search.filters.filter.birthDate.placeholder": "Birth Date", "search.filters.filter.birthDate.placeholder": "Data de nascimento", - + // "search.filters.filter.creativeDatePublished.head": "Date Published", "search.filters.filter.creativeDatePublished.head": "Data de publicação", - + // "search.filters.filter.creativeDatePublished.placeholder": "Date Published", "search.filters.filter.creativeDatePublished.placeholder": "Data de publicação", - + // "search.filters.filter.creativeWorkEditor.head": "Editor", "search.filters.filter.creativeWorkEditor.head": "Editor", - + // "search.filters.filter.creativeWorkEditor.placeholder": "Editor", "search.filters.filter.creativeWorkEditor.placeholder": "Editor", - + // "search.filters.filter.creativeWorkKeywords.head": "Subject", "search.filters.filter.creativeWorkKeywords.head": "Assunto", - + // "search.filters.filter.creativeWorkKeywords.placeholder": "Subject", "search.filters.filter.creativeWorkKeywords.placeholder": "Assunto", - + // "search.filters.filter.creativeWorkPublisher.head": "Publisher", "search.filters.filter.creativeWorkPublisher.head": "Editora", - + // "search.filters.filter.creativeWorkPublisher.placeholder": "Publisher", "search.filters.filter.creativeWorkPublisher.placeholder": "Editora", - + // "search.filters.filter.dateIssued.head": "Date", "search.filters.filter.dateIssued.head": "Data", - + // "search.filters.filter.dateIssued.max.placeholder": "Minimum Date", "search.filters.filter.dateIssued.max.placeholder": "Data Mínima", - + // "search.filters.filter.dateIssued.min.placeholder": "Maximum Date", "search.filters.filter.dateIssued.min.placeholder": "Data Máxima", - + // "search.filters.filter.dateSubmitted.head": "Date submitted", "search.filters.filter.dateSubmitted.head": "Data de submissão", - + // "search.filters.filter.dateSubmitted.placeholder": "Date submitted", "search.filters.filter.dateSubmitted.placeholder": "Data de submissão", - + // "search.filters.filter.discoverable.head": "Private", // TODO New key - Add a translation "search.filters.filter.discoverable.head": "Private", - + // "search.filters.filter.withdrawn.head": "Withdrawn", // TODO New key - Add a translation "search.filters.filter.withdrawn.head": "Withdrawn", - + // "search.filters.filter.entityType.head": "Item Type", "search.filters.filter.entityType.head": "Tipo de Item", - + // "search.filters.filter.entityType.placeholder": "Item Type", "search.filters.filter.entityType.placeholder": "Tipo de Item", - + // "search.filters.filter.has_content_in_original_bundle.head": "Has files", "search.filters.filter.has_content_in_original_bundle.head": "Tem arquivos", - + // "search.filters.filter.itemtype.head": "Type", "search.filters.filter.itemtype.head": "Tipo", - + // "search.filters.filter.itemtype.placeholder": "Type", "search.filters.filter.itemtype.placeholder": "Tipo", - + // "search.filters.filter.jobTitle.head": "Job Title", "search.filters.filter.jobTitle.head": "Cargo", - + // "search.filters.filter.jobTitle.placeholder": "Job Title", "search.filters.filter.jobTitle.placeholder": "Cargo", - + // "search.filters.filter.knowsLanguage.head": "Known language", "search.filters.filter.knowsLanguage.head": "Idioma conhecido", - + // "search.filters.filter.knowsLanguage.placeholder": "Known language", "search.filters.filter.knowsLanguage.placeholder": "Idioma conhecido", - + // "search.filters.filter.namedresourcetype.head": "Status", "search.filters.filter.namedresourcetype.head": "Estado", - + // "search.filters.filter.namedresourcetype.placeholder": "Status", "search.filters.filter.namedresourcetype.placeholder": "Estado", - + // "search.filters.filter.objectpeople.head": "People", "search.filters.filter.objectpeople.head": "Pessoas", - + // "search.filters.filter.objectpeople.placeholder": "People", "search.filters.filter.objectpeople.placeholder": "Pessoas", - + // "search.filters.filter.organizationAddressCountry.head": "Country", "search.filters.filter.organizationAddressCountry.head": "País", - + // "search.filters.filter.organizationAddressCountry.placeholder": "Country", "search.filters.filter.organizationAddressCountry.placeholder": "País", - + // "search.filters.filter.organizationAddressLocality.head": "City", "search.filters.filter.organizationAddressLocality.head": "Cidade", - + // "search.filters.filter.organizationAddressLocality.placeholder": "City", "search.filters.filter.organizationAddressLocality.placeholder": "Cidade", - + // "search.filters.filter.organizationFoundingDate.head": "Date Founded", "search.filters.filter.organizationFoundingDate.head": "Data de Fundação", - + // "search.filters.filter.organizationFoundingDate.placeholder": "Date Founded", "search.filters.filter.organizationFoundingDate.placeholder": "Data de Fundação", - + // "search.filters.filter.scope.head": "Scope", "search.filters.filter.scope.head": "Escopo", - + // "search.filters.filter.scope.placeholder": "Scope filter", "search.filters.filter.scope.placeholder": "Filtrar escopo", - + // "search.filters.filter.show-less": "Collapse", "search.filters.filter.show-less": "Mostrar menos", - + // "search.filters.filter.show-more": "Show more", "search.filters.filter.show-more": "Mostrar mais", - + // "search.filters.filter.subject.head": "Subject", "search.filters.filter.subject.head": "Assunto", - + // "search.filters.filter.subject.placeholder": "Subject", "search.filters.filter.subject.placeholder": "Assunto", - + // "search.filters.filter.submitter.head": "Submitter", "search.filters.filter.submitter.head": "Submetedor", - + // "search.filters.filter.submitter.placeholder": "Submitter", "search.filters.filter.submitter.placeholder": "Submetedor", - - - + + + // "search.filters.entityType.JournalIssue": "Journal Issue", // TODO New key - Add a translation "search.filters.entityType.JournalIssue": "Journal Issue", - + // "search.filters.entityType.JournalVolume": "Journal Volume", // TODO New key - Add a translation "search.filters.entityType.JournalVolume": "Journal Volume", - + // "search.filters.entityType.OrgUnit": "Organizational Unit", - // TODO New key - Add a translation - "search.filters.entityType.OrgUnit": "Organizational Unit", - + "search.filters.entityType.OrgUnit": "Unidade Organizacional", + // "search.filters.has_content_in_original_bundle.true": "Yes", - // TODO New key - Add a translation - "search.filters.has_content_in_original_bundle.true": "Yes", - + "search.filters.has_content_in_original_bundle.true": "Sim", + // "search.filters.has_content_in_original_bundle.false": "No", - // TODO New key - Add a translation - "search.filters.has_content_in_original_bundle.false": "No", - + "search.filters.has_content_in_original_bundle.false": "Não", + // "search.filters.discoverable.true": "No", - // TODO New key - Add a translation - "search.filters.discoverable.true": "No", - + "search.filters.discoverable.true": "Não", + // "search.filters.discoverable.false": "Yes", - // TODO New key - Add a translation - "search.filters.discoverable.false": "Yes", - + "search.filters.discoverable.false": "Sim", + // "search.filters.withdrawn.true": "Yes", - // TODO New key - Add a translation - "search.filters.withdrawn.true": "Yes", - + "search.filters.withdrawn.true": "Sim", + // "search.filters.withdrawn.false": "No", - // TODO New key - Add a translation - "search.filters.withdrawn.false": "No", - - + "search.filters.withdrawn.false": "Não", + // "search.filters.head": "Filters", "search.filters.head": "Filtros", - + // "search.filters.reset": "Reset filters", "search.filters.reset": "Limpar filtros", - - - + // "search.form.search": "Search", "search.form.search": "Buscar", - + // "search.form.search_dspace": "Search DSpace", "search.form.search_dspace": "Buscar no DSpace", - + // "search.form.search_mydspace": "Search MyDSpace", "search.form.search_mydspace": "Buscar no MyDSpace", - - - + + + // "search.results.head": "Search Results", "search.results.head": "Resultados de Busca", - + // "search.results.no-results": "Your search returned no results. Having trouble finding what you're looking for? Try putting", "search.results.no-results": "Sua busca não trouxe resultados. Tendo problema em localizar o que está buscando? Tente", - + // "search.results.no-results-link": "quotes around it", "search.results.no-results-link": "envolver entre aspas", - + // "search.results.empty": "Your search returned no results.", - // TODO New key - Add a translation - "search.results.empty": "Your search returned no results.", - - - + "search.results.empty": "Sua pesquisa não retornou resultados.", + + + // "search.sidebar.close": "Back to results", "search.sidebar.close": "Voltar para os resultados", - + // "search.sidebar.filters.title": "Filters", "search.sidebar.filters.title": "Filtros", - + // "search.sidebar.open": "Search Tools", "search.sidebar.open": "Ferramentas de busca", - + // "search.sidebar.results": "results", "search.sidebar.results": "resultados", - + // "search.sidebar.settings.rpp": "Results per page", "search.sidebar.settings.rpp": "Resultados por página", - + // "search.sidebar.settings.sort-by": "Sort By", "search.sidebar.settings.sort-by": "Ordenar por", - + // "search.sidebar.settings.title": "Settings", "search.sidebar.settings.title": "Configurações", - - - + + + // "search.view-switch.show-detail": "Show detail", "search.view-switch.show-detail": "Mostrar detalhes", - + // "search.view-switch.show-grid": "Show as grid", "search.view-switch.show-grid": "Mostrar como grade", - + // "search.view-switch.show-list": "Show as list", "search.view-switch.show-list": "Mostrar como lista", - - - + + + // "sorting.dc.title.ASC": "Title Ascending", "sorting.dc.title.ASC": "Título Ascendente", - + // "sorting.dc.title.DESC": "Title Descending", "sorting.dc.title.DESC": "Título Descendente", - + // "sorting.score.DESC": "Relevance", "sorting.score.DESC": "Relevância", - - - + + + // "submission.edit.title": "Edit Submission", "submission.edit.title": "Editar Submissão", - + // "submission.general.cannot_submit": "You have not the privilege to make a new submission.", "submission.general.cannot_submit": "Você mão tem privilégios para fazer uma nova submissão.", - + // "submission.general.deposit": "Deposit", "submission.general.deposit": "Depositar", - + // "submission.general.discard.confirm.cancel": "Cancel", "submission.general.discard.confirm.cancel": "Cancelar", - + // "submission.general.discard.confirm.info": "This operation can't be undone. Are you sure?", "submission.general.discard.confirm.info": "Esta operação não pode ser desfeita. Tem certeza?", - + // "submission.general.discard.confirm.submit": "Yes, I'm sure", "submission.general.discard.confirm.submit": "Sim, tenho certeza", - + // "submission.general.discard.confirm.title": "Discard submission", "submission.general.discard.confirm.title": "Descartar submissão", - + // "submission.general.discard.submit": "Discard", "submission.general.discard.submit": "Descartar", - + // "submission.general.save": "Save", "submission.general.save": "Salvar", - + // "submission.general.save-later": "Save for later", "submission.general.save-later": "Salvar para continuar depois", - - - + + + // "submission.sections.describe.relationship-lookup.close": "Close", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.close": "Close", - + "submission.sections.describe.relationship-lookup.close": "Fechar", + // "submission.sections.describe.relationship-lookup.external-source.added": "Successfully added local entry to the selection", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.external-source.added": "Successfully added local entry to the selection", - + // "submission.sections.describe.relationship-lookup.external-source.import-button-title.Author": "Import remote author", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.external-source.import-button-title.Author": "Import remote author", - + // "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal": "Import remote journal", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal": "Import remote journal", - + // "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal Issue": "Import remote journal issue", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal Issue": "Import remote journal issue", - + // "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal Volume": "Import remote journal volume", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal Volume": "Import remote journal volume", - + // "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.title": "Import Remote Author", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.title": "Import Remote Author", - + // "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.added.local-entity": "Successfully added local author to the selection", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.added.local-entity": "Successfully added local author to the selection", - + // "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.added.new-entity": "Successfully imported and added external author to the selection", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.added.new-entity": "Successfully imported and added external author to the selection", - + // "submission.sections.describe.relationship-lookup.external-source.import-modal.authority": "Authority", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.external-source.import-modal.authority": "Authority", - + // "submission.sections.describe.relationship-lookup.external-source.import-modal.authority.new": "Import as a new local authority entry", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.external-source.import-modal.authority.new": "Import as a new local authority entry", - + // "submission.sections.describe.relationship-lookup.external-source.import-modal.cancel": "Cancel", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.external-source.import-modal.cancel": "Cancel", - + // "submission.sections.describe.relationship-lookup.external-source.import-modal.collection": "Select a collection to import new entries to", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.external-source.import-modal.collection": "Select a collection to import new entries to", - + // "submission.sections.describe.relationship-lookup.external-source.import-modal.entities": "Entities", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.external-source.import-modal.entities": "Entities", - + // "submission.sections.describe.relationship-lookup.external-source.import-modal.entities.new": "Import as a new local entity", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.external-source.import-modal.entities.new": "Import as a new local entity", - + // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.lcname": "Importing from LC Name", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.external-source.import-modal.head.lcname": "Importing from LC Name", - + // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.orcid": "Importing from ORCID", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.head.orcid": "Importing from ORCID", - + "submission.sections.describe.relationship-lookup.external-source.import-modal.head.orcid": "Importando do ORCID", + // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.sherpaJournal": "Importing from Sherpa Journal", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.head.sherpaJournal": "Importing from Sherpa Journal", - + "submission.sections.describe.relationship-lookup.external-source.import-modal.head.sherpaJournal": "Importando do Sherpa Journal", + // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.sherpaPublisher": "Importing from Sherpa Publisher", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.external-source.import-modal.head.sherpaPublisher": "Importing from Sherpa Publisher", - + // "submission.sections.describe.relationship-lookup.external-source.import-modal.import": "Import", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.external-source.import-modal.import": "Import", - + // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal.title": "Import Remote Journal", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal.title": "Import Remote Journal", - + // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal.added.local-entity": "Successfully added local journal to the selection", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal.added.local-entity": "Successfully added local journal to the selection", - + // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal.added.new-entity": "Successfully imported and added external journal to the selection", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal.added.new-entity": "Successfully imported and added external journal to the selection", - + // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Issue.title": "Import Remote Journal Issue", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Issue.title": "Import Remote Journal Issue", - + // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Issue.added.local-entity": "Successfully added local journal issue to the selection", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Issue.added.local-entity": "Successfully added local journal issue to the selection", - + // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Issue.added.new-entity": "Successfully imported and added external journal issue to the selection", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Issue.added.new-entity": "Successfully imported and added external journal issue to the selection", - + // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Volume.title": "Import Remote Journal Volume", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Volume.title": "Import Remote Journal Volume", - + // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Volume.added.local-entity": "Successfully added local journal volume to the selection", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Volume.added.local-entity": "Successfully added local journal volume to the selection", - + // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Volume.added.new-entity": "Successfully imported and added external journal volume to the selection", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Volume.added.new-entity": "Successfully imported and added external journal volume to the selection", - + // "submission.sections.describe.relationship-lookup.external-source.import-modal.select": "Select a local match:", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.external-source.import-modal.select": "Select a local match:", - + // "submission.sections.describe.relationship-lookup.search-tab.deselect-all": "Deselect all", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.search-tab.deselect-all": "Deselect all", - + // "submission.sections.describe.relationship-lookup.search-tab.deselect-page": "Deselect page", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.search-tab.deselect-page": "Deselect page", - + // "submission.sections.describe.relationship-lookup.search-tab.loading": "Loading...", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.loading": "Loading...", - + "submission.sections.describe.relationship-lookup.search-tab.loading": "Carregando...", + // "submission.sections.describe.relationship-lookup.search-tab.placeholder": "Search query", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.search-tab.placeholder": "Search query", - + // "submission.sections.describe.relationship-lookup.search-tab.search": "Go", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.search-tab.search": "Go", - + // "submission.sections.describe.relationship-lookup.search-tab.select-all": "Select all", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.search-tab.select-all": "Select all", - + // "submission.sections.describe.relationship-lookup.search-tab.select-page": "Select page", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.search-tab.select-page": "Select page", - + // "submission.sections.describe.relationship-lookup.selected": "Selected {{ size }} items", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.selected": "Selected {{ size }} items", - + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Author": "Local Authors ({{ count }})", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.search-tab.tab-title.Author": "Local Authors ({{ count }})", - + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal": "Local Journals ({{ count }})", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal": "Local Journals ({{ count }})", - + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal Issue": "Local Journal Issues ({{ count }})", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal Issue": "Local Journal Issues ({{ count }})", - + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal Volume": "Local Journal Volumes ({{ count }})", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal Volume": "Local Journal Volumes ({{ count }})", - + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaJournal": "Sherpa Journals ({{ count }})", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaJournal": "Sherpa Journals ({{ count }})", - + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaPublisher": "Sherpa Publishers ({{ count }})", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaPublisher": "Sherpa Publishers ({{ count }})", - + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.orcid": "ORCID ({{ count }})", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.search-tab.tab-title.orcid": "ORCID ({{ count }})", - + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.lcname": "LC Names ({{ count }})", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.search-tab.tab-title.lcname": "LC Names ({{ count }})", - + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Funding Agency": "Search for Funding Agencies", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.search-tab.tab-title.Funding Agency": "Search for Funding Agencies", - + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Funding": "Search for Funding", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.search-tab.tab-title.Funding": "Search for Funding", - + // "submission.sections.describe.relationship-lookup.selection-tab.tab-title": "Current Selection ({{ count }})", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.selection-tab.tab-title": "Current Selection ({{ count }})", - + // "submission.sections.describe.relationship-lookup.title.Journal Issue": "Journal Issues", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.title.Journal Issue": "Journal Issues", - + // "submission.sections.describe.relationship-lookup.title.Journal Volume": "Journal Volumes", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.title.Journal Volume": "Journal Volumes", - + // "submission.sections.describe.relationship-lookup.title.Journal": "Journals", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.title.Journal": "Journals", - + // "submission.sections.describe.relationship-lookup.title.Author": "Authors", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.title.Author": "Authors", - + // "submission.sections.describe.relationship-lookup.title.Funding Agency": "Funding Agency", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.title.Funding Agency": "Funding Agency", - + // "submission.sections.describe.relationship-lookup.title.Funding": "Funding", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.title.Funding": "Funding", - + // "submission.sections.describe.relationship-lookup.search-tab.toggle-dropdown": "Toggle dropdown", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.search-tab.toggle-dropdown": "Toggle dropdown", - + // "submission.sections.describe.relationship-lookup.selection-tab.settings": "Settings", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.selection-tab.settings": "Settings", - + // "submission.sections.describe.relationship-lookup.selection-tab.no-selection": "Your selection is currently empty.", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.selection-tab.no-selection": "Your selection is currently empty.", - + // "submission.sections.describe.relationship-lookup.selection-tab.title.Author": "Selected Authors", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.selection-tab.title.Author": "Selected Authors", - + // "submission.sections.describe.relationship-lookup.selection-tab.title.Journal": "Selected Journals", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.selection-tab.title.Journal": "Selected Journals", - + // "submission.sections.describe.relationship-lookup.selection-tab.title.Journal Volume": "Selected Journal Volume", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.selection-tab.title.Journal Volume": "Selected Journal Volume", - + // "submission.sections.describe.relationship-lookup.selection-tab.title.Journal Issue": "Selected Issue", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.selection-tab.title.Journal Issue": "Selected Issue", - + // "submission.sections.describe.relationship-lookup.selection-tab.title.sherpaJournal": "Search Results", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.selection-tab.title.sherpaJournal": "Search Results", - + // "submission.sections.describe.relationship-lookup.selection-tab.title.sherpaPublisher": "Search Results", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.selection-tab.title.sherpaPublisher": "Search Results", - + // "submission.sections.describe.relationship-lookup.selection-tab.title.orcid": "Search Results", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.selection-tab.title.orcid": "Search Results", - + // "submission.sections.describe.relationship-lookup.selection-tab.title.lcname": "Search Results", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.selection-tab.title.lcname": "Search Results", - + // "submission.sections.describe.relationship-lookup.name-variant.notification.content": "Would you like to save \"{{ value }}\" as a name variant for this person so you and others can reuse it for future submissions? If you don\'t you can still use it for this submission.", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.name-variant.notification.content": "Would you like to save \"{{ value }}\" as a name variant for this person so you and others can reuse it for future submissions? If you don\'t you can still use it for this submission.", - + // "submission.sections.describe.relationship-lookup.name-variant.notification.confirm": "Save a new name variant", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.name-variant.notification.confirm": "Save a new name variant", - + // "submission.sections.describe.relationship-lookup.name-variant.notification.decline": "Use only for this submission", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.name-variant.notification.decline": "Use only for this submission", - + // "submission.sections.general.add-more": "Add more", "submission.sections.general.add-more": "Adicionar mais", - + // "submission.sections.general.collection": "Collection", "submission.sections.general.collection": "Coleção", - + // "submission.sections.general.deposit_error_notice": "There was an issue when submitting the item, please try again later.", "submission.sections.general.deposit_error_notice": "Houve um problema durante a submissão do item, por favor tente novamente mais tarde.", - + // "submission.sections.general.deposit_success_notice": "Submission deposited successfully.", "submission.sections.general.deposit_success_notice": "Submissão depositada com sucesso.", - + // "submission.sections.general.discard_error_notice": "There was an issue when discarding the item, please try again later.", "submission.sections.general.discard_error_notice": "Houve um problema ao descartar o item, por favor tente novamente mais tarde.", - + // "submission.sections.general.discard_success_notice": "Submission discarded successfully.", "submission.sections.general.discard_success_notice": "Submissão descartada com sucesso.", - + // "submission.sections.general.metadata-extracted": "New metadata have been extracted and added to the {{sectionId}} section.", "submission.sections.general.metadata-extracted": "Novos metadados foram extraídos e adicionados a seção {{sectionId}}.", - + // "submission.sections.general.metadata-extracted-new-section": "New {{sectionId}} section has been added to submission.", "submission.sections.general.metadata-extracted-new-section": "Nova seção {{sectionId}} foi adicionada a dubmissão.", - + // "submission.sections.general.no-collection": "No collection found", "submission.sections.general.no-collection": "Nenhuma coleção encontrada", - + // "submission.sections.general.no-sections": "No options available", "submission.sections.general.no-sections": "Sem opções disponíveis", - + // "submission.sections.general.save_error_notice": "There was an issue when saving the item, please try again later.", "submission.sections.general.save_error_notice": "Houve um problema ao salvar o item, por favor tente novamente mais tarde.", - + // "submission.sections.general.save_success_notice": "Submission saved successfully.", "submission.sections.general.save_success_notice": "Submissão salva com sucesso.", - + // "submission.sections.general.search-collection": "Search for a collection", "submission.sections.general.search-collection": "Buscar uma coleção", - + // "submission.sections.general.sections_not_valid": "There are incomplete sections.", "submission.sections.general.sections_not_valid": "Há seções incompletas.", - - - + + + // "submission.sections.submit.progressbar.cclicense": "Creative commons license", "submission.sections.submit.progressbar.cclicense": "Licença creative commons", - + // "submission.sections.submit.progressbar.describe.recycle": "Recycle", "submission.sections.submit.progressbar.describe.recycle": "Reciclar", - + // "submission.sections.submit.progressbar.describe.stepcustom": "Describe", "submission.sections.submit.progressbar.describe.stepcustom": "Descrever", - + // "submission.sections.submit.progressbar.describe.stepone": "Describe", "submission.sections.submit.progressbar.describe.stepone": "Descrever", - + // "submission.sections.submit.progressbar.describe.steptwo": "Describe", "submission.sections.submit.progressbar.describe.steptwo": "Descrever", - + // "submission.sections.submit.progressbar.detect-duplicate": "Potential duplicates", "submission.sections.submit.progressbar.detect-duplicate": "Duplicados em potencial", - + // "submission.sections.submit.progressbar.license": "Deposit license", "submission.sections.submit.progressbar.license": "Depositar licença", - + // "submission.sections.submit.progressbar.upload": "Upload files", "submission.sections.submit.progressbar.upload": "Enviar arquivos", - - - + + + // "submission.sections.upload.delete.confirm.cancel": "Cancel", "submission.sections.upload.delete.confirm.cancel": "Cancelar", - + // "submission.sections.upload.delete.confirm.info": "This operation can't be undone. Are you sure?", "submission.sections.upload.delete.confirm.info": "Esta operação é irreversível. Tem certeza?", - + // "submission.sections.upload.delete.confirm.submit": "Yes, I'm sure", "submission.sections.upload.delete.confirm.submit": "Sim, tenho certeza", - + // "submission.sections.upload.delete.confirm.title": "Delete bitstream", "submission.sections.upload.delete.confirm.title": "Remover bitstream", - + // "submission.sections.upload.delete.submit": "Delete", "submission.sections.upload.delete.submit": "Remover", - + // "submission.sections.upload.drop-message": "Drop files to attach them to the item", "submission.sections.upload.drop-message": "Arraste arquivos para anexá-los ao item", - + // "submission.sections.upload.form.access-condition-label": "Access condition type", "submission.sections.upload.form.access-condition-label": "Tipo de condição de acesso", - + // "submission.sections.upload.form.date-required": "Date is required.", "submission.sections.upload.form.date-required": "Data necessária.", - + // "submission.sections.upload.form.from-label": "Access grant from", "submission.sections.upload.form.from-label": "Acesso permitido a partir de", - + // "submission.sections.upload.form.from-placeholder": "From", "submission.sections.upload.form.from-placeholder": "De", - + // "submission.sections.upload.form.group-label": "Group", "submission.sections.upload.form.group-label": "Grupo", - + // "submission.sections.upload.form.group-required": "Group is required.", "submission.sections.upload.form.group-required": "Grupo é necessário.", - + // "submission.sections.upload.form.until-label": "Access grant until", "submission.sections.upload.form.until-label": "Acesso permitido até", - + // "submission.sections.upload.form.until-placeholder": "Until", "submission.sections.upload.form.until-placeholder": "Até", - + // "submission.sections.upload.header.policy.default.nolist": "Uploaded files in the {{collectionName}} collection will be accessible according to the following group(s):", "submission.sections.upload.header.policy.default.nolist": "Arquivos enviados na coleção {{collectionName}} serão acessiveis de acordo com o(s) seguinte(s) grupo(s):", - + // "submission.sections.upload.header.policy.default.withlist": "Please note that uploaded files in the {{collectionName}} collection will be accessible, in addition to what is explicitly decided for the single file, with the following group(s):", "submission.sections.upload.header.policy.default.withlist": "Por favor note que arquivos enviados a coleção {{collectionName}} serão acessíveis, de acordo com o que está explicitamente definido no arquivo, no(s) seguinte(s) grupo(s):", - + // "submission.sections.upload.info": "Here you will find all the files currently in the item. You can update the file metadata and access conditions or upload additional files just dragging & dropping them everywhere in the page", "submission.sections.upload.info": "Aqui voCẽ encontra todos os arquivos que estão atualmente no item. Você pode atualizar os metadados do arquivo e condições de acesso ou enviar arquivos adicionais apenas arrastando os arquivos em qualquer lugar da página", - + // "submission.sections.upload.no-entry": "No", "submission.sections.upload.no-entry": "Não", - + // "submission.sections.upload.no-file-uploaded": "No file uploaded yet.", "submission.sections.upload.no-file-uploaded": "Nenhum arquivo enviado ainda.", - + // "submission.sections.upload.save-metadata": "Save metadata", "submission.sections.upload.save-metadata": "Salvar metadados", - + // "submission.sections.upload.undo": "Cancel", "submission.sections.upload.undo": "Cancelar", - + // "submission.sections.upload.upload-failed": "Upload failed", "submission.sections.upload.upload-failed": "Falha no envio", - + // "submission.sections.upload.upload-successful": "Upload successful", "submission.sections.upload.upload-successful": "Enviado com sucesso", - - - + + + // "submission.submit.title": "Submission", "submission.submit.title": "Submissão", - - - + + + // "submission.workflow.generic.delete": "Delete", "submission.workflow.generic.delete": "Apagar", - + // "submission.workflow.generic.delete-help": "If you would to discard this item, select \"Delete\". You will then be asked to confirm it.", "submission.workflow.generic.delete-help": "Se você gostaria de descartar este item, selecione \"Apagar\". Você será questionado para confirmar.", - + // "submission.workflow.generic.edit": "Edit", "submission.workflow.generic.edit": "Editar", - + // "submission.workflow.generic.edit-help": "Select this option to change the item's metadata.", "submission.workflow.generic.edit-help": "Selecione esta opção para modificar os metadados do item.", - + // "submission.workflow.generic.view": "View", "submission.workflow.generic.view": "Visualizar", - + // "submission.workflow.generic.view-help": "Select this option to view the item's metadata.", "submission.workflow.generic.view-help": "Selecione esta opção para ver o metadados do item.", - - - + + + // "submission.workflow.tasks.claimed.approve": "Approve", "submission.workflow.tasks.claimed.approve": "Aprovar", - + // "submission.workflow.tasks.claimed.approve_help": "If you have reviewed the item and it is suitable for inclusion in the collection, select \"Approve\".", "submission.workflow.tasks.claimed.approve_help": "Se você revisou o item e este está adequado para inclusão na coleção, selecione \"Aprovar\".", - + // "submission.workflow.tasks.claimed.edit": "Edit", "submission.workflow.tasks.claimed.edit": "Editar", - + // "submission.workflow.tasks.claimed.edit_help": "Select this option to change the item's metadata.", "submission.workflow.tasks.claimed.edit_help": "Selecione esta opção para modificar os metadados do item.", - + // "submission.workflow.tasks.claimed.reject.reason.info": "Please enter your reason for rejecting the submission into the box below, indicating whether the submitter may fix a problem and resubmit.", "submission.workflow.tasks.claimed.reject.reason.info": "Por favor informe o motivo pela rejeição da submissão na caixa abaixo, indicando se o submetedor pode corrigir um problema e reenviar.", - + // "submission.workflow.tasks.claimed.reject.reason.placeholder": "Describe the reason of reject", "submission.workflow.tasks.claimed.reject.reason.placeholder": "Descreva o motivo da rejeição", - + // "submission.workflow.tasks.claimed.reject.reason.submit": "Reject item", "submission.workflow.tasks.claimed.reject.reason.submit": "Rejeitar item", - + // "submission.workflow.tasks.claimed.reject.reason.title": "Reason", "submission.workflow.tasks.claimed.reject.reason.title": "Motivo", - + // "submission.workflow.tasks.claimed.reject.submit": "Reject", "submission.workflow.tasks.claimed.reject.submit": "Rejeitar", - + // "submission.workflow.tasks.claimed.reject_help": "If you have reviewed the item and found it is not suitable for inclusion in the collection, select \"Reject\". You will then be asked to enter a message indicating why the item is unsuitable, and whether the submitter should change something and resubmit.", "submission.workflow.tasks.claimed.reject_help": "Se você revisou o item e achou que ele não é adequado para inclusão na coleção, selecione \"Rejeitar\". Você será questionado a informar uma mensagem indicando porque o item está inadequado e se o submetedor deve modificar algo e reenviar.", - + // "submission.workflow.tasks.claimed.return": "Return to pool", "submission.workflow.tasks.claimed.return": "Retornar para o conjunto", - + // "submission.workflow.tasks.claimed.return_help": "Return the task to the pool so that another user may perform the task.", "submission.workflow.tasks.claimed.return_help": "Retornar a tarefa para o conjunto para que outra pessoa possa a fazer.", - - - + + + // "submission.workflow.tasks.generic.error": "Error occurred during operation...", "submission.workflow.tasks.generic.error": "Ocorreu um erro durante a operação...", - + // "submission.workflow.tasks.generic.processing": "Processing...", "submission.workflow.tasks.generic.processing": "Processando...", - + // "submission.workflow.tasks.generic.submitter": "Submitter", "submission.workflow.tasks.generic.submitter": "Submetedor", - + // "submission.workflow.tasks.generic.success": "Operation successful", "submission.workflow.tasks.generic.success": "Operação realizada com sucesso", - - - + + + // "submission.workflow.tasks.pool.claim": "Claim", "submission.workflow.tasks.pool.claim": "Requerer", - + // "submission.workflow.tasks.pool.claim_help": "Assign this task to yourself.", "submission.workflow.tasks.pool.claim_help": "Atribua esta tarefa a si mesmo.", - + // "submission.workflow.tasks.pool.hide-detail": "Hide detail", "submission.workflow.tasks.pool.hide-detail": "Ocultar detalhes", - + // "submission.workflow.tasks.pool.show-detail": "Show detail", "submission.workflow.tasks.pool.show-detail": "Mostrar detalhes", - - - + + + // "title": "DSpace", "title": "DSpace", - - + + // "administrativeView.search.results.head": "Administrative Search", // TODO New key - Add a translation "administrativeView.search.results.head": "Administrative Search", - + // "menu.section.admin_search": "Admin Search", // TODO New key - Add a translation "menu.section.admin_search": "Admin Search", - - - + + + // "uploader.browse": "browse", "uploader.browse": "Navegar", - + // "uploader.drag-message": "Drag & Drop your files here", "uploader.drag-message": "Clique e arraste seus arquivos aqui", - + // "uploader.or": ", or", "uploader.or": ", ou", - + // "uploader.processing": "Processing", "uploader.processing": "Processando", - + // "uploader.queue-length": "Queue length", "uploader.queue-length": "Tamanho da fila", - + // "virtual-metadata.delete-item.info": "Select the types for which you want to save the virtual metadata as real metadata", // TODO New key - Add a translation "virtual-metadata.delete-item.info": "Select the types for which you want to save the virtual metadata as real metadata", - + // "virtual-metadata.delete-item.modal-head": "The virtual metadata of this relation", // TODO New key - Add a translation "virtual-metadata.delete-item.modal-head": "The virtual metadata of this relation", - + // "virtual-metadata.delete-relationship.modal-head": "Select the items for which you want to save the virtual metadata as real metadata", // TODO New key - Add a translation "virtual-metadata.delete-relationship.modal-head": "Select the items for which you want to save the virtual metadata as real metadata", - - -} \ No newline at end of file + + +} From 2d95d58c3c65b2a592188efd875bc63d6174c1e2 Mon Sep 17 00:00:00 2001 From: Bram Luyten Date: Thu, 11 Mar 2021 17:56:50 +0100 Subject: [PATCH 077/106] Addressing Issue 570 - Split of Portuguese translation catalogs --- src/assets/i18n/{pt.json5 => pt-BR.json5} | 0 src/assets/i18n/pt-PT.json5 | 3966 +++++++++++++++++++++ src/environments/environment.common.ts | 8 +- 3 files changed, 3972 insertions(+), 2 deletions(-) rename src/assets/i18n/{pt.json5 => pt-BR.json5} (100%) create mode 100644 src/assets/i18n/pt-PT.json5 diff --git a/src/assets/i18n/pt.json5 b/src/assets/i18n/pt-BR.json5 similarity index 100% rename from src/assets/i18n/pt.json5 rename to src/assets/i18n/pt-BR.json5 diff --git a/src/assets/i18n/pt-PT.json5 b/src/assets/i18n/pt-PT.json5 new file mode 100644 index 0000000000..edc09dbf03 --- /dev/null +++ b/src/assets/i18n/pt-PT.json5 @@ -0,0 +1,3966 @@ +{ + + // "404.help": "We can't find the page you're looking for. The page may have been moved or deleted. You can use the button below to get back to the home page. ", + "404.help": "Não pudemos encontrar a página pela qual procura. A página pode ter sido movida ou apagada. Você pode utilizar o botão abaixo para voltar a página inicial. ", + + // "404.link.home-page": "Take me to the home page", + "404.link.home-page": "Leve-me a página inicial", + + // "404.page-not-found": "page not found", + "404.page-not-found": "página não encontrada", + + + + // "admin.registries.bitstream-formats.create.failure.content": "An error occurred while creating the new bitstream format.", + "admin.registries.bitstream-formats.create.failure.content": "Um erro ocorreu durante a criação do novo formato de bitstream.", + + // "admin.registries.bitstream-formats.create.failure.head": "Failure", + "admin.registries.bitstream-formats.create.failure.head": "Falha", + + // "admin.registries.bitstream-formats.create.head": "Create Bitstream format", + "admin.registries.bitstream-formats.create.head": "Criar formato de Bitstream", + + // "admin.registries.bitstream-formats.create.new": "Add a new bitstream format", + "admin.registries.bitstream-formats.create.new": "Adicionar um novo formato de bitstream", + + // "admin.registries.bitstream-formats.create.success.content": "The new bitstream format was successfully created.", + "admin.registries.bitstream-formats.create.success.content": "O novo formato de bitstream foi criado com sucesso.", + + // "admin.registries.bitstream-formats.create.success.head": "Success", + "admin.registries.bitstream-formats.create.success.head": "Sucesso", + + // "admin.registries.bitstream-formats.delete.failure.amount": "Failed to remove {{ amount }} format(s)", + "admin.registries.bitstream-formats.delete.failure.amount": "Falha ao remover {{ amount }} formato(s)", + + // "admin.registries.bitstream-formats.delete.failure.head": "Failure", + "admin.registries.bitstream-formats.delete.failure.head": "Falha", + + // "admin.registries.bitstream-formats.delete.success.amount": "Successfully removed {{ amount }} format(s)", + "admin.registries.bitstream-formats.delete.success.amount": "Removeu {{ amount }} formato(s) com sucesso", + + // "admin.registries.bitstream-formats.delete.success.head": "Success", + "admin.registries.bitstream-formats.delete.success.head": "Sucesso", + + // "admin.registries.bitstream-formats.description": "This list of bitstream formats provides information about known formats and their support level.", + "admin.registries.bitstream-formats.description": "Esta lista de formatos de bitstream provê informações sobre formatos conhecidos e seus níveis de suporte.", + + // "admin.registries.bitstream-formats.edit.description.hint": "", + "admin.registries.bitstream-formats.edit.description.hint": "", + + // "admin.registries.bitstream-formats.edit.description.label": "Description", + "admin.registries.bitstream-formats.edit.description.label": "Descrição", + + // "admin.registries.bitstream-formats.edit.extensions.hint": "Extensions are file extensions that are used to automatically identify the format of uploaded files. You can enter several extensions for each format.", + "admin.registries.bitstream-formats.edit.extensions.hint": "Extensões são extensões de arquivo que são usadas para identificar automaticamente o formato dos arquivo enviados. Você pode informar várias extensões para cada formato.", + + // "admin.registries.bitstream-formats.edit.extensions.label": "File extensions", + "admin.registries.bitstream-formats.edit.extensions.label": "Extensões de arquivo", + + // "admin.registries.bitstream-formats.edit.extensions.placeholder": "Enter a file extension without the dot", + // TODO Source message changed - Revise the translation + "admin.registries.bitstream-formats.edit.extensions.placeholder": "Informe uma extenção e arquivo sem o ponto", + + // "admin.registries.bitstream-formats.edit.failure.content": "An error occurred while editing the bitstream format.", + "admin.registries.bitstream-formats.edit.failure.content": "Ocorreu um erro ao editar o formato de bitstream.", + + // "admin.registries.bitstream-formats.edit.failure.head": "Failure", + "admin.registries.bitstream-formats.edit.failure.head": "Falha", + + // "admin.registries.bitstream-formats.edit.head": "Bitstream format: {{ format }}", + "admin.registries.bitstream-formats.edit.head": "Formato de bitstream: {{ format }}", + + // "admin.registries.bitstream-formats.edit.internal.hint": "Formats marked as internal are hidden from the user, and used for administrative purposes.", + "admin.registries.bitstream-formats.edit.internal.hint": "Formatos marcados como interno são ocultos para o usuário, e utilizados por motivos administrativos.", + + // "admin.registries.bitstream-formats.edit.internal.label": "Internal", + "admin.registries.bitstream-formats.edit.internal.label": "Interno", + + // "admin.registries.bitstream-formats.edit.mimetype.hint": "The MIME type associated with this format, does not have to be unique.", + "admin.registries.bitstream-formats.edit.mimetype.hint": "O MIME type associado à este formato não tem que ser único.", + + // "admin.registries.bitstream-formats.edit.mimetype.label": "MIME Type", + "admin.registries.bitstream-formats.edit.mimetype.label": "MIME Type", + + // "admin.registries.bitstream-formats.edit.shortDescription.hint": "A unique name for this format, (e.g. Microsoft Word XP or Microsoft Word 2000)", + "admin.registries.bitstream-formats.edit.shortDescription.hint": "Um nome único para este formato (exemplo. Microsoft Word XP ou Microsoft Word 2000)", + + // "admin.registries.bitstream-formats.edit.shortDescription.label": "Name", + "admin.registries.bitstream-formats.edit.shortDescription.label": "Nome", + + // "admin.registries.bitstream-formats.edit.success.content": "The bitstream format was successfully edited.", + "admin.registries.bitstream-formats.edit.success.content": "O formato de bitstream foi editedo com sucesso.", + + // "admin.registries.bitstream-formats.edit.success.head": "Success", + "admin.registries.bitstream-formats.edit.success.head": "Sucesso", + + // "admin.registries.bitstream-formats.edit.supportLevel.hint": "The level of support your institution pledges for this format.", + "admin.registries.bitstream-formats.edit.supportLevel.hint": "O nível de suporte que a sua instituição promete para este formato.", + + // "admin.registries.bitstream-formats.edit.supportLevel.label": "Support level", + "admin.registries.bitstream-formats.edit.supportLevel.label": "Nível de suporte", + + // "admin.registries.bitstream-formats.head": "Bitstream Format Registry", + "admin.registries.bitstream-formats.head": "Registro de Formato de Bitstream", + + // "admin.registries.bitstream-formats.no-items": "No bitstream formats to show.", + "admin.registries.bitstream-formats.no-items": "Nenhum formato de bitstream para exibir.", + + // "admin.registries.bitstream-formats.table.delete": "Delete selected", + "admin.registries.bitstream-formats.table.delete": "Apagar selecionado(s)", + + // "admin.registries.bitstream-formats.table.deselect-all": "Deselect all", + "admin.registries.bitstream-formats.table.deselect-all": "Desselecionar todos", + + // "admin.registries.bitstream-formats.table.internal": "internal", + "admin.registries.bitstream-formats.table.internal": "Interno", + + // "admin.registries.bitstream-formats.table.mimetype": "MIME Type", + "admin.registries.bitstream-formats.table.mimetype": "MIME Type", + + // "admin.registries.bitstream-formats.table.name": "Name", + "admin.registries.bitstream-formats.table.name": "Nome", + + // "admin.registries.bitstream-formats.table.return": "Return", + "admin.registries.bitstream-formats.table.return": "Voltar", + + // "admin.registries.bitstream-formats.table.supportLevel.KNOWN": "Known", + "admin.registries.bitstream-formats.table.supportLevel.KNOWN": "Conhecido", + + // "admin.registries.bitstream-formats.table.supportLevel.SUPPORTED": "Supported", + "admin.registries.bitstream-formats.table.supportLevel.SUPPORTED": "Com suporte", + + // "admin.registries.bitstream-formats.table.supportLevel.UNKNOWN": "Unknown", + "admin.registries.bitstream-formats.table.supportLevel.UNKNOWN": "Desconhecido", + + // "admin.registries.bitstream-formats.table.supportLevel.head": "Support Level", + "admin.registries.bitstream-formats.table.supportLevel.head": "Nível de Suporte", + + // "admin.registries.bitstream-formats.title": "DSpace Angular :: Bitstream Format Registry", + "admin.registries.bitstream-formats.title": "DSpace Angular :: Registro de Formato de Bitstream", + + + + // "admin.registries.metadata.description": "The metadata registry maintains a list of all metadata fields available in the repository. These fields may be divided amongst multiple schemas. However, DSpace requires the qualified Dublin Core schema.", + "admin.registries.metadata.description": "O registro de metadados mantém a lista de todos os campos de metadados disponíveis no repositório. Estes campos podêm ser divididos em multiplos esquemas. Entretanto, o DSpace requer esquemas de Dublin Core qualificados.", + + // "admin.registries.metadata.form.create": "Create metadata schema", + "admin.registries.metadata.form.create": "Criar esquema de metadados", + + // "admin.registries.metadata.form.edit": "Edit metadata schema", + "admin.registries.metadata.form.edit": "Editar esquema de metadados", + + // "admin.registries.metadata.form.name": "Name", + "admin.registries.metadata.form.name": "Nome", + + // "admin.registries.metadata.form.namespace": "Namespace", + "admin.registries.metadata.form.namespace": "Namespace", + + // "admin.registries.metadata.head": "Metadata Registry", + "admin.registries.metadata.head": "Registro de Metadados", + + // "admin.registries.metadata.schemas.no-items": "No metadata schemas to show.", + "admin.registries.metadata.schemas.no-items": "Nenhum esquema de metadados a mostrar.", + + // "admin.registries.metadata.schemas.table.delete": "Delete selected", + "admin.registries.metadata.schemas.table.delete": "Apagar selecionado(s)", + + // "admin.registries.metadata.schemas.table.id": "ID", + "admin.registries.metadata.schemas.table.id": "ID", + + // "admin.registries.metadata.schemas.table.name": "Name", + "admin.registries.metadata.schemas.table.name": "Nome", + + // "admin.registries.metadata.schemas.table.namespace": "Namespace", + "admin.registries.metadata.schemas.table.namespace": "Namespace", + + // "admin.registries.metadata.title": "DSpace Angular :: Metadata Registry", + "admin.registries.metadata.title": "DSpace Angular :: Registro de Metadados", + + + + // "admin.registries.schema.description": "This is the metadata schema for \"{{namespace}}\".", + "admin.registries.schema.description": "Este é o esquema de metadados para \"{{namespace}}\".", + + // "admin.registries.schema.fields.head": "Schema metadata fields", + "admin.registries.schema.fields.head": "Campos do esquema de metadados", + + // "admin.registries.schema.fields.no-items": "No metadata fields to show.", + "admin.registries.schema.fields.no-items": "Nenhum campo de metadado a exibir.", + + // "admin.registries.schema.fields.table.delete": "Delete selected", + "admin.registries.schema.fields.table.delete": "Apagar selecionado(s)", + + // "admin.registries.schema.fields.table.field": "Field", + "admin.registries.schema.fields.table.field": "Campo", + + // "admin.registries.schema.fields.table.scopenote": "Scope Note", + "admin.registries.schema.fields.table.scopenote": "Nota de escopo", + + // "admin.registries.schema.form.create": "Create metadata field", + "admin.registries.schema.form.create": "Criar campo de metadado", + + // "admin.registries.schema.form.edit": "Edit metadata field", + "admin.registries.schema.form.edit": "Editar campo de metadado", + + // "admin.registries.schema.form.element": "Element", + "admin.registries.schema.form.element": "Elemento", + + // "admin.registries.schema.form.qualifier": "Qualifier", + "admin.registries.schema.form.qualifier": "Qualificador", + + // "admin.registries.schema.form.scopenote": "Scope Note", + "admin.registries.schema.form.scopenote": "Nota de Escopo", + + // "admin.registries.schema.head": "Metadata Schema", + "admin.registries.schema.head": "Esquema de Metadados", + + // "admin.registries.schema.notification.created": "Successfully created metadata schema \"{{prefix}}\"", + "admin.registries.schema.notification.created": "Criou o esquema de metadados \"{{prefix}}\" com sucesso", + + // "admin.registries.schema.notification.deleted.failure": "Failed to delete {{amount}} metadata schemas", + "admin.registries.schema.notification.deleted.failure": "Falhou ao apagar {{amount}} esquema(s) de metadados", + + // "admin.registries.schema.notification.deleted.success": "Successfully deleted {{amount}} metadata schemas", + "admin.registries.schema.notification.deleted.success": "Apagou {{amount}} esquema(s) de metadados com sucesso", + + // "admin.registries.schema.notification.edited": "Successfully edited metadata schema \"{{prefix}}\"", + "admin.registries.schema.notification.edited": "Editou o esquema de metadados \"{{prefix}}\" com sucesso", + + // "admin.registries.schema.notification.failure": "Error", + "admin.registries.schema.notification.failure": "Erro", + + // "admin.registries.schema.notification.field.created": "Successfully created metadata field \"{{field}}\"", + "admin.registries.schema.notification.field.created": "Criou o campo de medado \"{{field}}\" com sucesso", + + // "admin.registries.schema.notification.field.deleted.failure": "Failed to delete {{amount}} metadata fields", + "admin.registries.schema.notification.field.deleted.failure": "Falhou ao apagar {{amount}} campo(s) de metadados", + + // "admin.registries.schema.notification.field.deleted.success": "Successfully deleted {{amount}} metadata fields", + "admin.registries.schema.notification.field.deleted.success": "Apagou {{amount}} campo(s) de metadados com sucesso", + + // "admin.registries.schema.notification.field.edited": "Successfully edited metadata field \"{{field}}\"", + "admin.registries.schema.notification.field.edited": "Editou o campo de metadodo \"{{field}}\" com sucesso", + + // "admin.registries.schema.notification.success": "Success", + "admin.registries.schema.notification.success": "Sucesso", + + // "admin.registries.schema.return": "Return", + "admin.registries.schema.return": "Voltar", + + // "admin.registries.schema.title": "DSpace Angular :: Metadata Schema Registry", + "admin.registries.schema.title": "DSpace Angular :: Registro de Esquema de Metadados", + + + + // "admin.access-control.epeople.title": "DSpace Angular :: EPeople", + // TODO New key - Add a translation + "admin.access-control.epeople.title": "DSpace Angular :: EPeople", + + // "admin.access-control.epeople.head": "EPeople", + // TODO New key - Add a translation + "admin.access-control.epeople.head": "EPeople", + + // "admin.access-control.epeople.search.head": "Search", + // TODO New key - Add a translation + "admin.access-control.epeople.search.head": "Search", + + // "admin.access-control.epeople.button.see-all": "Browse All", + "admin.access-control.epeople.button.see-all": "Pesquisar Todos", + + // "admin.access-control.epeople.search.scope.metadata": "Metadata", + // TODO New key - Add a translation + "admin.access-control.epeople.search.scope.metadata": "Metadata", + + // "admin.access-control.epeople.search.scope.email": "E-mail (exact)", + // TODO New key - Add a translation + "admin.access-control.epeople.search.scope.email": "E-mail (exact)", + + // "admin.access-control.epeople.search.button": "Search", + // TODO New key - Add a translation + "admin.access-control.epeople.search.button": "Search", + + // "admin.access-control.epeople.button.add": "Add EPerson", + // TODO New key - Add a translation + "admin.access-control.epeople.button.add": "Add EPerson", + + // "admin.access-control.epeople.table.id": "ID", + // TODO New key - Add a translation + "admin.access-control.epeople.table.id": "ID", + + // "admin.access-control.epeople.table.name": "Name", + "admin.access-control.epeople.table.name": "Nome", + + // "admin.access-control.epeople.table.email": "E-mail (exact)", + // TODO New key - Add a translation + "admin.access-control.epeople.table.email": "E-mail (exact)", + + // "admin.access-control.epeople.table.edit": "Edit", + // TODO New key - Add a translation + "admin.access-control.epeople.table.edit": "Edit", + + // "admin.access-control.epeople.table.edit.buttons.edit": "Edit \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.epeople.table.edit.buttons.edit": "Edit \"{{name}}\"", + + // "admin.access-control.epeople.table.edit.buttons.remove": "Delete \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.epeople.table.edit.buttons.remove": "Delete \"{{name}}\"", + + // "admin.access-control.epeople.no-items": "No EPeople to show.", + // TODO New key - Add a translation + "admin.access-control.epeople.no-items": "No EPeople to show.", + + // "admin.access-control.epeople.form.create": "Create EPerson", + // TODO New key - Add a translation + "admin.access-control.epeople.form.create": "Create EPerson", + + // "admin.access-control.epeople.form.edit": "Edit EPerson", + // TODO New key - Add a translation + "admin.access-control.epeople.form.edit": "Edit EPerson", + + // "admin.access-control.epeople.form.firstName": "First name", + // TODO New key - Add a translation + "admin.access-control.epeople.form.firstName": "First name", + + // "admin.access-control.epeople.form.lastName": "Last name", + // TODO New key - Add a translation + "admin.access-control.epeople.form.lastName": "Last name", + + // "admin.access-control.epeople.form.email": "E-mail", + // TODO New key - Add a translation + "admin.access-control.epeople.form.email": "E-mail", + + // "admin.access-control.epeople.form.emailHint": "Must be valid e-mail address", + // TODO New key - Add a translation + "admin.access-control.epeople.form.emailHint": "Must be valid e-mail address", + + // "admin.access-control.epeople.form.canLogIn": "Can log in", + // TODO New key - Add a translation + "admin.access-control.epeople.form.canLogIn": "Can log in", + + // "admin.access-control.epeople.form.requireCertificate": "Requires certificate", + // TODO New key - Add a translation + "admin.access-control.epeople.form.requireCertificate": "Requires certificate", + + // "admin.access-control.epeople.form.notification.created.success": "Successfully created EPerson \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.epeople.form.notification.created.success": "Successfully created EPerson \"{{name}}\"", + + // "admin.access-control.epeople.form.notification.created.failure": "Failed to create EPerson \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.epeople.form.notification.created.failure": "Failed to create EPerson \"{{name}}\"", + + // "admin.access-control.epeople.form.notification.created.failure.emailInUse": "Failed to create EPerson \"{{name}}\", email \"{{email}}\" already in use.", + // TODO New key - Add a translation + "admin.access-control.epeople.form.notification.created.failure.emailInUse": "Failed to create EPerson \"{{name}}\", email \"{{email}}\" already in use.", + + // "admin.access-control.epeople.form.notification.edited.failure.emailInUse": "Failed to edit EPerson \"{{name}}\", email \"{{email}}\" already in use.", + // TODO New key - Add a translation + "admin.access-control.epeople.form.notification.edited.failure.emailInUse": "Failed to edit EPerson \"{{name}}\", email \"{{email}}\" already in use.", + + // "admin.access-control.epeople.form.notification.edited.success": "Successfully edited EPerson \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.epeople.form.notification.edited.success": "Successfully edited EPerson \"{{name}}\"", + + // "admin.access-control.epeople.form.notification.edited.failure": "Failed to edit EPerson \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.epeople.form.notification.edited.failure": "Failed to edit EPerson \"{{name}}\"", + + // "admin.access-control.epeople.form.groupsEPersonIsMemberOf": "Member of these groups:", + // TODO New key - Add a translation + "admin.access-control.epeople.form.groupsEPersonIsMemberOf": "Member of these groups:", + + // "admin.access-control.epeople.form.table.id": "ID", + // TODO New key - Add a translation + "admin.access-control.epeople.form.table.id": "ID", + + // "admin.access-control.epeople.form.table.name": "Name", + "admin.access-control.epeople.form.table.name": "Nome", + + // "admin.access-control.epeople.form.memberOfNoGroups": "This EPerson is not a member of any groups", + // TODO New key - Add a translation + "admin.access-control.epeople.form.memberOfNoGroups": "This EPerson is not a member of any groups", + + // "admin.access-control.epeople.form.goToGroups": "Add to groups", + // TODO New key - Add a translation + "admin.access-control.epeople.form.goToGroups": "Add to groups", + + // "admin.access-control.epeople.notification.deleted.failure": "Failed to delete EPerson: \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.epeople.notification.deleted.failure": "Failed to delete EPerson: \"{{name}}\"", + + // "admin.access-control.epeople.notification.deleted.success": "Successfully deleted EPerson: \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.epeople.notification.deleted.success": "Successfully deleted EPerson: \"{{name}}\"", + + + + // "admin.access-control.groups.title": "DSpace Angular :: Groups", + // TODO New key - Add a translation + "admin.access-control.groups.title": "DSpace Angular :: Groups", + + // "admin.access-control.groups.head": "Groups", + "admin.access-control.groups.head": "Grupos", + + // "admin.access-control.groups.button.add": "Add group", + "admin.access-control.groups.button.add": "Adicionar grupo", + + // "admin.access-control.groups.search.head": "Search groups", + "admin.access-control.groups.search.head": "Pesquisar grupos", + + // "admin.access-control.groups.button.see-all": "Browse all", + // TODO New key - Add a translation + "admin.access-control.groups.button.see-all": "Browse all", + + // "admin.access-control.groups.search.button": "Search", + // TODO New key - Add a translation + "admin.access-control.groups.search.button": "Search", + + // "admin.access-control.groups.table.id": "ID", + // TODO New key - Add a translation + "admin.access-control.groups.table.id": "ID", + + // "admin.access-control.groups.table.name": "Name", + "admin.access-control.groups.table.name": "Nome", + + // "admin.access-control.groups.table.members": "Members", + // TODO New key - Add a translation + "admin.access-control.groups.table.members": "Members", + + // "admin.access-control.groups.table.comcol": "Community / Collection", + // TODO New key - Add a translation + "admin.access-control.groups.table.comcol": "Community / Collection", + + // "admin.access-control.groups.table.edit": "Edit", + "admin.access-control.groups.table.edit": "Editar", + + // "admin.access-control.groups.table.edit.buttons.edit": "Edit \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.groups.table.edit.buttons.edit": "Edit \"{{name}}\"", + + // "admin.access-control.groups.table.edit.buttons.remove": "Delete \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.groups.table.edit.buttons.remove": "Delete \"{{name}}\"", + + // "admin.access-control.groups.no-items": "No groups found with this in their name or this as UUID", + // TODO New key - Add a translation + "admin.access-control.groups.no-items": "No groups found with this in their name or this as UUID", + + // "admin.access-control.groups.notification.deleted.success": "Successfully deleted group \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.groups.notification.deleted.success": "Successfully deleted group \"{{name}}\"", + + // "admin.access-control.groups.notification.deleted.failure": "Failed to delete group \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.groups.notification.deleted.failure": "Failed to delete group \"{{name}}\"", + + + // "admin.access-control.groups.form.head.create": "Create group", + "admin.access-control.groups.form.head.create": "Criar grupo", + + // "admin.access-control.groups.form.head.edit": "Edit group", + "admin.access-control.groups.form.head.edit": "Editar grupo", + + // "admin.access-control.groups.form.groupName": "Group name", + "admin.access-control.groups.form.groupName": "Nome do grupo", + + // "admin.access-control.groups.form.groupDescription": "Description", + "admin.access-control.groups.form.groupDescription": "Descrição", + + // "admin.access-control.groups.form.notification.created.success": "Successfully created Group \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.created.success": "Successfully created Group \"{{name}}\"", + + // "admin.access-control.groups.form.notification.created.failure": "Failed to create Group \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.created.failure": "Failed to create Group \"{{name}}\"", + + // "admin.access-control.groups.form.notification.created.failure.groupNameInUse": "Failed to create Group with name: \"{{name}}\", make sure the name is not already in use.", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.created.failure.groupNameInUse": "Failed to create Group with name: \"{{name}}\", make sure the name is not already in use.", + + // "admin.access-control.groups.form.members-list.head": "EPeople", + // TODO New key - Add a translation + "admin.access-control.groups.form.members-list.head": "EPeople", + + // "admin.access-control.groups.form.members-list.search.head": "Add EPeople", + // TODO New key - Add a translation + "admin.access-control.groups.form.members-list.search.head": "Add EPeople", + + // "admin.access-control.groups.form.members-list.button.see-all": "Browse All", + // TODO New key - Add a translation + "admin.access-control.groups.form.members-list.button.see-all": "Browse All", + + // "admin.access-control.groups.form.members-list.headMembers": "Current Members", + // TODO New key - Add a translation + "admin.access-control.groups.form.members-list.headMembers": "Current Members", + + // "admin.access-control.groups.form.members-list.search.scope.metadata": "Metadata", + // TODO New key - Add a translation + "admin.access-control.groups.form.members-list.search.scope.metadata": "Metadata", + + // "admin.access-control.groups.form.members-list.search.scope.email": "E-mail (exact)", + // TODO New key - Add a translation + "admin.access-control.groups.form.members-list.search.scope.email": "E-mail (exact)", + + // "admin.access-control.groups.form.members-list.search.button": "Search", + // TODO New key - Add a translation + "admin.access-control.groups.form.members-list.search.button": "Search", + + // "admin.access-control.groups.form.members-list.table.id": "ID", + // TODO New key - Add a translation + "admin.access-control.groups.form.members-list.table.id": "ID", + + // "admin.access-control.groups.form.members-list.table.name": "Name", + "admin.access-control.groups.form.members-list.table.name": "Nome", + + // "admin.access-control.groups.form.members-list.table.edit": "Remove / Add", + // TODO New key - Add a translation + "admin.access-control.groups.form.members-list.table.edit": "Remove / Add", + + // "admin.access-control.groups.form.members-list.table.edit.buttons.remove": "Remove member with name \"{{name}}\"", + "admin.access-control.groups.form.members-list.table.edit.buttons.remove": "Remover o membro com nome \"{{name}}\"", + + // "admin.access-control.groups.form.members-list.notification.success.addMember": "Successfully added member: \"{{name}}\"", + "admin.access-control.groups.form.members-list.notification.success.addMember": "Membro adicionado com sucesso: \"{{name}}\"", + + // "admin.access-control.groups.form.members-list.notification.failure.addMember": "Failed to add member: \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.members-list.notification.failure.addMember": "Failed to add member: \"{{name}}\"", + + // "admin.access-control.groups.form.members-list.notification.success.deleteMember": "Successfully deleted member: \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.members-list.notification.success.deleteMember": "Successfully deleted member: \"{{name}}\"", + + // "admin.access-control.groups.form.members-list.notification.failure.deleteMember": "Failed to delete member: \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.members-list.notification.failure.deleteMember": "Failed to delete member: \"{{name}}\"", + + // "admin.access-control.groups.form.members-list.table.edit.buttons.add": "Add member with name \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.members-list.table.edit.buttons.add": "Add member with name \"{{name}}\"", + + // "admin.access-control.groups.form.members-list.notification.failure.noActiveGroup": "No current active group, submit a name first.", + // TODO New key - Add a translation + "admin.access-control.groups.form.members-list.notification.failure.noActiveGroup": "No current active group, submit a name first.", + + // "admin.access-control.groups.form.members-list.no-members-yet": "No members in group yet, search and add.", + // TODO New key - Add a translation + "admin.access-control.groups.form.members-list.no-members-yet": "No members in group yet, search and add.", + + // "admin.access-control.groups.form.members-list.no-items": "No EPeople found in that search", + // TODO New key - Add a translation + "admin.access-control.groups.form.members-list.no-items": "No EPeople found in that search", + + // "admin.access-control.groups.form.subgroups-list.head": "Groups", + "admin.access-control.groups.form.subgroups-list.head": "Grupos", + + // "admin.access-control.groups.form.subgroups-list.search.head": "Add Subgroup", + // TODO New key - Add a translation + "admin.access-control.groups.form.subgroups-list.search.head": "Add Subgroup", + + // "admin.access-control.groups.form.subgroups-list.button.see-all": "Browse All", + // TODO New key - Add a translation + "admin.access-control.groups.form.subgroups-list.button.see-all": "Browse All", + + // "admin.access-control.groups.form.subgroups-list.headSubgroups": "Current Subgroups", + // TODO New key - Add a translation + "admin.access-control.groups.form.subgroups-list.headSubgroups": "Current Subgroups", + + // "admin.access-control.groups.form.subgroups-list.search.button": "Search", + // TODO New key - Add a translation + "admin.access-control.groups.form.subgroups-list.search.button": "Search", + + // "admin.access-control.groups.form.subgroups-list.table.id": "ID", + // TODO New key - Add a translation + "admin.access-control.groups.form.subgroups-list.table.id": "ID", + + // "admin.access-control.groups.form.subgroups-list.table.name": "Name", + "admin.access-control.groups.form.subgroups-list.table.name": "Nome", + + // "admin.access-control.groups.form.subgroups-list.table.edit": "Remove / Add", + "admin.access-control.groups.form.subgroups-list.table.edit": "Remover / Adicionar", + + // "admin.access-control.groups.form.subgroups-list.table.edit.buttons.remove": "Remove subgroup with name \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.subgroups-list.table.edit.buttons.remove": "Remove subgroup with name \"{{name}}\"", + + // "admin.access-control.groups.form.subgroups-list.table.edit.buttons.add": "Add subgroup with name \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.subgroups-list.table.edit.buttons.add": "Add subgroup with name \"{{name}}\"", + + // "admin.access-control.groups.form.subgroups-list.table.edit.currentGroup": "Current group", + "admin.access-control.groups.form.subgroups-list.table.edit.currentGroup": "Grupo atual", + + // "admin.access-control.groups.form.subgroups-list.notification.success.addSubgroup": "Successfully added subgroup: \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.subgroups-list.notification.success.addSubgroup": "Successfully added subgroup: \"{{name}}\"", + + // "admin.access-control.groups.form.subgroups-list.notification.failure.addSubgroup": "Failed to add subgroup: \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.subgroups-list.notification.failure.addSubgroup": "Failed to add subgroup: \"{{name}}\"", + + // "admin.access-control.groups.form.subgroups-list.notification.success.deleteSubgroup": "Successfully deleted subgroup: \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.subgroups-list.notification.success.deleteSubgroup": "Successfully deleted subgroup: \"{{name}}\"", + + // "admin.access-control.groups.form.subgroups-list.notification.failure.deleteSubgroup": "Failed to delete subgroup: \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.subgroups-list.notification.failure.deleteSubgroup": "Failed to delete subgroup: \"{{name}}\"", + + // "admin.access-control.groups.form.subgroups-list.notification.failure.noActiveGroup": "No current active group, submit a name first.", + // TODO New key - Add a translation + "admin.access-control.groups.form.subgroups-list.notification.failure.noActiveGroup": "No current active group, submit a name first.", + + // "admin.access-control.groups.form.subgroups-list.notification.failure.subgroupToAddIsActiveGroup": "This is the current group, can't be added.", + // TODO New key - Add a translation + "admin.access-control.groups.form.subgroups-list.notification.failure.subgroupToAddIsActiveGroup": "This is the current group, can't be added.", + + // "admin.access-control.groups.form.subgroups-list.no-items": "No groups found with this in their name or this as UUID", + // TODO New key - Add a translation + "admin.access-control.groups.form.subgroups-list.no-items": "No groups found with this in their name or this as UUID", + + // "admin.access-control.groups.form.subgroups-list.no-subgroups-yet": "No subgroups in group yet.", + // TODO New key - Add a translation + "admin.access-control.groups.form.subgroups-list.no-subgroups-yet": "No subgroups in group yet.", + + // "admin.access-control.groups.form.return": "Return to groups", + "admin.access-control.groups.form.return": "Retornar aos grupos", + + + + // "admin.search.breadcrumbs": "Administrative Search", + // TODO New key - Add a translation + "admin.search.breadcrumbs": "Administrative Search", + + // "admin.search.collection.edit": "Edit", + "admin.search.collection.edit": "Editar", + + // "admin.search.community.edit": "Edit", + "admin.search.community.edit": "Editar", + + // "admin.search.item.delete": "Delete", + // TODO New key - Add a translation + "admin.search.item.delete": "Delete", + + // "admin.search.item.edit": "Edit", + "admin.search.item.edit": "Editar", + + // "admin.search.item.make-private": "Make Private", + "admin.search.item.make-private": "Tornar Privado", + + // "admin.search.item.make-public": "Make Public", + "admin.search.item.make-public": "Tornar Público", + + // "admin.search.item.move": "Move", + "admin.search.item.move": "Mover", + + // "admin.search.item.private": "Private", + "admin.search.item.private": "Privado", + + // "admin.search.item.reinstate": "Reinstate", + // TODO New key - Add a translation + "admin.search.item.reinstate": "Reinstate", + + // "admin.search.item.withdraw": "Withdraw", + // TODO New key - Add a translation + "admin.search.item.withdraw": "Withdraw", + + // "admin.search.item.withdrawn": "Withdrawn", + // TODO New key - Add a translation + "admin.search.item.withdrawn": "Withdrawn", + + // "admin.search.title": "Administrative Search", + "admin.search.title": "Pesquisa Administrativa", + + + + // "auth.errors.invalid-user": "Invalid email address or password.", + "auth.errors.invalid-user": "Endereço de email ou senha inválidos.", + + // "auth.messages.expired": "Your session has expired. Please log in again.", + "auth.messages.expired": "Sua sessão expirou. Por favor entre novamente.", + + + + // "bitstream.edit.bitstream": "Bitstream: ", + // TODO New key - Add a translation + "bitstream.edit.bitstream": "Bitstream: ", + + // "bitstream.edit.form.description.hint": "Optionally, provide a brief description of the file, for example \"Main article\" or \"Experiment data readings\".", + // TODO New key - Add a translation + "bitstream.edit.form.description.hint": "Optionally, provide a brief description of the file, for example \"Main article\" or \"Experiment data readings\".", + + // "bitstream.edit.form.description.label": "Description", + "bitstream.edit.form.description.label": "Descrição", + + // "bitstream.edit.form.embargo.hint": "The first day from which access is allowed. This date cannot be modified on this form. To set an embargo date for a bitstream, go to the Item Status tab, click Authorizations..., create or edit the bitstream's READ policy, and set the Start Date as desired.", + // TODO New key - Add a translation + "bitstream.edit.form.embargo.hint": "The first day from which access is allowed. This date cannot be modified on this form. To set an embargo date for a bitstream, go to the Item Status tab, click Authorizations..., create or edit the bitstream's READ policy, and set the Start Date as desired.", + + // "bitstream.edit.form.embargo.label": "Embargo until specific date", + // TODO New key - Add a translation + "bitstream.edit.form.embargo.label": "Embargo until specific date", + + // "bitstream.edit.form.fileName.hint": "Change the filename for the bitstream. Note that this will change the display bitstream URL, but old links will still resolve as long as the sequence ID does not change.", + // TODO New key - Add a translation + "bitstream.edit.form.fileName.hint": "Change the filename for the bitstream. Note that this will change the display bitstream URL, but old links will still resolve as long as the sequence ID does not change.", + + // "bitstream.edit.form.fileName.label": "Filename", + "bitstream.edit.form.fileName.label": "Nome do arquivo", + + // "bitstream.edit.form.newFormat.label": "Describe new format", + "bitstream.edit.form.newFormat.label": "Descreva o novo formato", + + // "bitstream.edit.form.newFormat.hint": "The application you used to create the file, and the version number (for example, \"ACMESoft SuperApp version 1.5\").", + // TODO New key - Add a translation + "bitstream.edit.form.newFormat.hint": "The application you used to create the file, and the version number (for example, \"ACMESoft SuperApp version 1.5\").", + + // "bitstream.edit.form.primaryBitstream.label": "Primary bitstream", + // TODO New key - Add a translation + "bitstream.edit.form.primaryBitstream.label": "Primary bitstream", + + // "bitstream.edit.form.selectedFormat.hint": "If the format is not in the above list, select \"format not in list\" above and describe it under \"Describe new format\".", + // TODO New key - Add a translation + "bitstream.edit.form.selectedFormat.hint": "If the format is not in the above list, select \"format not in list\" above and describe it under \"Describe new format\".", + + // "bitstream.edit.form.selectedFormat.label": "Selected Format", + "bitstream.edit.form.selectedFormat.label": "Formato Selecionado", + + // "bitstream.edit.form.selectedFormat.unknown": "Format not in list", + // TODO New key - Add a translation + "bitstream.edit.form.selectedFormat.unknown": "Format not in list", + + // "bitstream.edit.notifications.error.format.title": "An error occurred saving the bitstream's format", + // TODO New key - Add a translation + "bitstream.edit.notifications.error.format.title": "An error occurred saving the bitstream's format", + + // "bitstream.edit.notifications.saved.content": "Your changes to this bitstream were saved.", + // TODO New key - Add a translation + "bitstream.edit.notifications.saved.content": "Your changes to this bitstream were saved.", + + // "bitstream.edit.notifications.saved.title": "Bitstream saved", + // TODO New key - Add a translation + "bitstream.edit.notifications.saved.title": "Bitstream saved", + + // "bitstream.edit.title": "Edit bitstream", + // TODO New key - Add a translation + "bitstream.edit.title": "Edit bitstream", + + + + // "browse.comcol.by.author": "By Author", + "browse.comcol.by.author": "Por Autor", + + // "browse.comcol.by.dateissued": "By Issue Date", + "browse.comcol.by.dateissued": "Por Data de Publicação", + + // "browse.comcol.by.subject": "By Subject", + "browse.comcol.by.subject": "Por Assunto", + + // "browse.comcol.by.title": "By Title", + "browse.comcol.by.title": "Por Título", + + // "browse.comcol.head": "Browse", + "browse.comcol.head": "Navegar", + + // "browse.empty": "No items to show.", + "browse.empty": "Sem itens a exibir.", + + // "browse.metadata.author": "Author", + "browse.metadata.author": "Autor", + + // "browse.metadata.dateissued": "Issue Date", + "browse.metadata.dateissued": "Data de Publicação", + + // "browse.metadata.subject": "Subject", + "browse.metadata.subject": "Assunto", + + // "browse.metadata.title": "Title", + "browse.metadata.title": "Título", + + // "browse.metadata.author.breadcrumbs": "Browse by Author", + "browse.metadata.author.breadcrumbs": "Pesquisar por Autor", + + // "browse.metadata.dateissued.breadcrumbs": "Browse by Date", + "browse.metadata.dateissued.breadcrumbs": "Pesquisar por Data", + + // "browse.metadata.subject.breadcrumbs": "Browse by Subject", + "browse.metadata.subject.breadcrumbs": "Pesquisar por Assunto", + + // "browse.metadata.title.breadcrumbs": "Browse by Title", + "browse.metadata.title.breadcrumbs": "Pesquisar por Título", + + // "browse.startsWith.choose_start": "(Choose start)", + "browse.startsWith.choose_start": "(Escolha o início)", + + // "browse.startsWith.choose_year": "(Choose year)", + "browse.startsWith.choose_year": "(Escolha o ano)", + + // "browse.startsWith.jump": "Jump to a point in the index:", + "browse.startsWith.jump": "Pular para um ponto do índice:", + + // "browse.startsWith.months.april": "April", + "browse.startsWith.months.april": "Abril", + + // "browse.startsWith.months.august": "August", + "browse.startsWith.months.august": "Agosto", + + // "browse.startsWith.months.december": "December", + "browse.startsWith.months.december": "Dezembro", + + // "browse.startsWith.months.february": "February", + "browse.startsWith.months.february": "Fevereiro", + + // "browse.startsWith.months.january": "January", + "browse.startsWith.months.january": "Janeiro", + + // "browse.startsWith.months.july": "July", + "browse.startsWith.months.july": "Julho", + + // "browse.startsWith.months.june": "June", + "browse.startsWith.months.june": "Junho", + + // "browse.startsWith.months.march": "March", + "browse.startsWith.months.march": "Março", + + // "browse.startsWith.months.may": "May", + "browse.startsWith.months.may": "Maio", + + // "browse.startsWith.months.none": "(Choose month)", + "browse.startsWith.months.none": "(escolha o mês)", + + // "browse.startsWith.months.november": "November", + "browse.startsWith.months.november": "Novembro", + + // "browse.startsWith.months.october": "October", + "browse.startsWith.months.october": "Outubro", + + // "browse.startsWith.months.september": "September", + "browse.startsWith.months.september": "Setembro", + + // "browse.startsWith.submit": "Go", + "browse.startsWith.submit": "Ir", + + // "browse.startsWith.type_date": "Or type in a date (year-month):", + "browse.startsWith.type_date": "Ou informe uma data (ano-mês):", + + // "browse.startsWith.type_text": "Or enter first few letters:", + "browse.startsWith.type_text": "Ou informe as primeiras letras:", + + // "browse.title": "Browsing {{ collection }} by {{ field }} {{ value }}", + "browse.title": "Navegando {{ collection }} por {{ field }} {{ value }}", + + + // "chips.remove": "Remove chip", + "chips.remove": "Remover chip", + + + + // "collection.create.head": "Create a Collection", + "collection.create.head": "Criar uma coleção", + + // "collection.create.notifications.success": "Successfully created the Collection", + // TODO New key - Add a translation + "collection.create.notifications.success": "Successfully created the Collection", + + // "collection.create.sub-head": "Create a Collection for Community {{ parent }}", + "collection.create.sub-head": "Criar uma Coleção na Comunidade {{ parent }}", + + // "collection.delete.cancel": "Cancel", + "collection.delete.cancel": "Cancelar", + + // "collection.delete.confirm": "Confirm", + "collection.delete.confirm": "Confirmar", + + // "collection.delete.head": "Delete Collection", + "collection.delete.head": "Apagar Coleção", + + // "collection.delete.notification.fail": "Collection could not be deleted", + "collection.delete.notification.fail": "Coleção não pôde ser apagada", + + // "collection.delete.notification.success": "Successfully deleted collection", + "collection.delete.notification.success": "Apagou a coleção com sucesso", + + // "collection.delete.text": "Are you sure you want to delete collection \"{{ dso }}\"", + "collection.delete.text": "Você tem certeza que deseja apagar a coleção \"{{ dso }}?\"", + + + + // "collection.edit.delete": "Delete this collection", + "collection.edit.delete": "Apagar esta coleção", + + // "collection.edit.head": "Edit Collection", + "collection.edit.head": "Editar Coleção", + + // "collection.edit.breadcrumbs": "Edit Collection", + // TODO New key - Add a translation + "collection.edit.breadcrumbs": "Edit Collection", + + + + // "collection.edit.item-mapper.cancel": "Cancel", + "collection.edit.item-mapper.cancel": "Cancelar", + + // "collection.edit.item-mapper.collection": "Collection: \"{{name}}\"", + "collection.edit.item-mapper.collection": "Coleção: \"{{name}}\"", + + // "collection.edit.item-mapper.confirm": "Map selected items", + "collection.edit.item-mapper.confirm": "Mapear itens selecionados", + + // "collection.edit.item-mapper.description": "This is the item mapper tool that allows collection administrators to map items from other collections into this collection. You can search for items from other collections and map them, or browse the list of currently mapped items.", + "collection.edit.item-mapper.description": "Esta é a ferramenta de mapeação de itens que permite administradores de coleções a mapear itens de outras coleções nesta. VoCẽ pode busca-los em outras coleções para mapeá-los, ou navegar na lista dos itens atualmente mapeados.", + + // "collection.edit.item-mapper.head": "Item Mapper - Map Items from Other Collections", + "collection.edit.item-mapper.head": "Mapeador de Itens - Mapear itens em Outras Coleções", + + // "collection.edit.item-mapper.no-search": "Please enter a query to search", + "collection.edit.item-mapper.no-search": "Por favor informe uma consulta para buscar", + + // "collection.edit.item-mapper.notifications.map.error.content": "Errors occurred for mapping of {{amount}} items.", + "collection.edit.item-mapper.notifications.map.error.content": "Ocorreu erros ao mapear {{amount}} itens.", + + // "collection.edit.item-mapper.notifications.map.error.head": "Mapping errors", + "collection.edit.item-mapper.notifications.map.error.head": "Erros de mapeamento", + + // "collection.edit.item-mapper.notifications.map.success.content": "Successfully mapped {{amount}} items.", + "collection.edit.item-mapper.notifications.map.success.content": "Mapeou {{amount}} itens com sucesso.", + + // "collection.edit.item-mapper.notifications.map.success.head": "Mapping completed", + "collection.edit.item-mapper.notifications.map.success.head": "Mapeamento completo", + + // "collection.edit.item-mapper.notifications.unmap.error.content": "Errors occurred for removing the mappings of {{amount}} items.", + "collection.edit.item-mapper.notifications.unmap.error.content": "Ocorreram erros ao tentar remover os mapeamentos de {{amount}} item(ns).", + + // "collection.edit.item-mapper.notifications.unmap.error.head": "Remove mapping errors", + "collection.edit.item-mapper.notifications.unmap.error.head": "Erros de remoção de mapeamento", + + // "collection.edit.item-mapper.notifications.unmap.success.content": "Successfully removed the mappings of {{amount}} items.", + "collection.edit.item-mapper.notifications.unmap.success.content": "Removeu os mapeamentps de {{amount}} item(ns) com sucesso.", + + // "collection.edit.item-mapper.notifications.unmap.success.head": "Remove mapping completed", + "collection.edit.item-mapper.notifications.unmap.success.head": "Remoção de mapeamentos completa", + + // "collection.edit.item-mapper.remove": "Remove selected item mappings", + "collection.edit.item-mapper.remove": "Remover mapeamentos selecionados", + + // "collection.edit.item-mapper.tabs.browse": "Browse mapped items", + "collection.edit.item-mapper.tabs.browse": "Navegar por itens mapeados", + + // "collection.edit.item-mapper.tabs.map": "Map new items", + "collection.edit.item-mapper.tabs.map": "Mapear novos itens", + + + + // "collection.edit.logo.label": "Collection logo", + // TODO New key - Add a translation + "collection.edit.logo.label": "Collection logo", + + // "collection.edit.logo.notifications.add.error": "Uploading Collection logo failed. Please verify the content before retrying.", + // TODO New key - Add a translation + "collection.edit.logo.notifications.add.error": "Uploading Collection logo failed. Please verify the content before retrying.", + + // "collection.edit.logo.notifications.add.success": "Upload Collection logo successful.", + // TODO New key - Add a translation + "collection.edit.logo.notifications.add.success": "Upload Collection logo successful.", + + // "collection.edit.logo.notifications.delete.success.title": "Logo deleted", + "collection.edit.logo.notifications.delete.success.title": "Logo removido", + + // "collection.edit.logo.notifications.delete.success.content": "Successfully deleted the collection's logo", + // TODO New key - Add a translation + "collection.edit.logo.notifications.delete.success.content": "Successfully deleted the collection's logo", + + // "collection.edit.logo.notifications.delete.error.title": "Error deleting logo", + // TODO New key - Add a translation + "collection.edit.logo.notifications.delete.error.title": "Error deleting logo", + + // "collection.edit.logo.upload": "Drop a Collection Logo to upload", + // TODO New key - Add a translation + "collection.edit.logo.upload": "Drop a Collection Logo to upload", + + + + // "collection.edit.notifications.success": "Successfully edited the Collection", + // TODO New key - Add a translation + "collection.edit.notifications.success": "Successfully edited the Collection", + + // "collection.edit.return": "Return", + // TODO New key - Add a translation + "collection.edit.return": "Return", + + + + // "collection.edit.tabs.curate.head": "Curate", + // TODO New key - Add a translation + "collection.edit.tabs.curate.head": "Curate", + + // "collection.edit.tabs.curate.title": "Collection Edit - Curate", + // TODO New key - Add a translation + "collection.edit.tabs.curate.title": "Collection Edit - Curate", + + // "collection.edit.tabs.metadata.head": "Edit Metadata", + "collection.edit.tabs.metadata.head": "Editar Metadados", + + // "collection.edit.tabs.metadata.title": "Collection Edit - Metadata", + // TODO New key - Add a translation + "collection.edit.tabs.metadata.title": "Collection Edit - Metadata", + + // "collection.edit.tabs.roles.head": "Assign Roles", + // TODO New key - Add a translation + "collection.edit.tabs.roles.head": "Assign Roles", + + // "collection.edit.tabs.roles.title": "Collection Edit - Roles", + // TODO New key - Add a translation + "collection.edit.tabs.roles.title": "Collection Edit - Roles", + + // "collection.edit.tabs.source.external": "This collection harvests its content from an external source", + // TODO New key - Add a translation + "collection.edit.tabs.source.external": "This collection harvests its content from an external source", + + // "collection.edit.tabs.source.form.errors.oaiSource.required": "You must provide a set id of the target collection.", + // TODO New key - Add a translation + "collection.edit.tabs.source.form.errors.oaiSource.required": "You must provide a set id of the target collection.", + + // "collection.edit.tabs.source.form.harvestType": "Content being harvested", + // TODO New key - Add a translation + "collection.edit.tabs.source.form.harvestType": "Content being harvested", + + // "collection.edit.tabs.source.form.head": "Configure an external source", + // TODO New key - Add a translation + "collection.edit.tabs.source.form.head": "Configure an external source", + + // "collection.edit.tabs.source.form.metadataConfigId": "Metadata Format", + // TODO New key - Add a translation + "collection.edit.tabs.source.form.metadataConfigId": "Metadata Format", + + // "collection.edit.tabs.source.form.oaiSetId": "OAI specific set id", + // TODO New key - Add a translation + "collection.edit.tabs.source.form.oaiSetId": "OAI specific set id", + + // "collection.edit.tabs.source.form.oaiSource": "OAI Provider", + // TODO New key - Add a translation + "collection.edit.tabs.source.form.oaiSource": "OAI Provider", + + // "collection.edit.tabs.source.form.options.harvestType.METADATA_AND_BITSTREAMS": "Harvest metadata and bitstreams (requires ORE support)", + // TODO New key - Add a translation + "collection.edit.tabs.source.form.options.harvestType.METADATA_AND_BITSTREAMS": "Harvest metadata and bitstreams (requires ORE support)", + + // "collection.edit.tabs.source.form.options.harvestType.METADATA_AND_REF": "Harvest metadata and references to bitstreams (requires ORE support)", + // TODO New key - Add a translation + "collection.edit.tabs.source.form.options.harvestType.METADATA_AND_REF": "Harvest metadata and references to bitstreams (requires ORE support)", + + // "collection.edit.tabs.source.form.options.harvestType.METADATA_ONLY": "Harvest metadata only", + // TODO New key - Add a translation + "collection.edit.tabs.source.form.options.harvestType.METADATA_ONLY": "Harvest metadata only", + + // "collection.edit.tabs.source.head": "Content Source", + // TODO New key - Add a translation + "collection.edit.tabs.source.head": "Content Source", + + // "collection.edit.tabs.source.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", + // TODO New key - Add a translation + "collection.edit.tabs.source.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", + + // "collection.edit.tabs.source.notifications.discarded.title": "Changed discarded", + "collection.edit.tabs.source.notifications.discarded.title": "Alterações descartadas", + + // "collection.edit.tabs.source.notifications.invalid.content": "Your changes were not saved. Please make sure all fields are valid before you save.", + // TODO New key - Add a translation + "collection.edit.tabs.source.notifications.invalid.content": "Your changes were not saved. Please make sure all fields are valid before you save.", + + // "collection.edit.tabs.source.notifications.invalid.title": "Metadata invalid", + // TODO New key - Add a translation + "collection.edit.tabs.source.notifications.invalid.title": "Metadata invalid", + + // "collection.edit.tabs.source.notifications.saved.content": "Your changes to this collection's content source were saved.", + // TODO New key - Add a translation + "collection.edit.tabs.source.notifications.saved.content": "Your changes to this collection's content source were saved.", + + // "collection.edit.tabs.source.notifications.saved.title": "Content Source saved", + // TODO New key - Add a translation + "collection.edit.tabs.source.notifications.saved.title": "Content Source saved", + + // "collection.edit.tabs.source.title": "Collection Edit - Content Source", + // TODO New key - Add a translation + "collection.edit.tabs.source.title": "Collection Edit - Content Source", + + + + // "collection.form.abstract": "Short Description", + "collection.form.abstract": "Descrição curta", + + // "collection.form.description": "Introductory text (HTML)", + "collection.form.description": "Texto introdutório (HTML)", + + // "collection.form.errors.title.required": "Please enter a collection name", + "collection.form.errors.title.required": "Por favor informe um nome de coleção", + + // "collection.form.license": "License", + "collection.form.license": "Licença", + + // "collection.form.provenance": "Provenance", + "collection.form.provenance": "Proveniência", + + // "collection.form.rights": "Copyright text (HTML)", + "collection.form.rights": "Texto de direito de cópia (HTML)", + + // "collection.form.tableofcontents": "News (HTML)", + "collection.form.tableofcontents": "Notícias (HTML)", + + // "collection.form.title": "Name", + "collection.form.title": "Nome", + + + + // "collection.page.browse.recent.head": "Recent Submissions", + "collection.page.browse.recent.head": "Submissões Recentes", + + // "collection.page.browse.recent.empty": "No items to show", + "collection.page.browse.recent.empty": "Nenhum item a exibir", + + // "collection.page.handle": "Permanent URI for this collection", + "collection.page.handle": "URI Permanente para esta coleção", + + // "collection.page.license": "License", + "collection.page.license": "Licença", + + // "collection.page.news": "News", + "collection.page.news": "Notícias", + + + + // "collection.select.confirm": "Confirm selected", + "collection.select.confirm": "Confirmar seleção", + + // "collection.select.empty": "No collections to show", + "collection.select.empty": "Nenhuma coleção a mostrar", + + // "collection.select.table.title": "Title", + "collection.select.table.title": "Título", + + + + // "collection.source.update.notifications.error.content": "The provided settings have been tested and didn't work.", + // TODO New key - Add a translation + "collection.source.update.notifications.error.content": "The provided settings have been tested and didn't work.", + + // "collection.source.update.notifications.error.title": "Server Error", + "collection.source.update.notifications.error.title": "Erro no Servidor", + + + + // "communityList.tabTitle": "DSpace - Community List", + // TODO New key - Add a translation + "communityList.tabTitle": "DSpace - Lista de Comunidades", + + // "communityList.title": "List of Communities", + "communityList.title": "Lista de Comunidades", + + // "communityList.showMore": "Show More", + "communityList.showMore": "Mostrar Mais", + + + + // "community.create.head": "Create a Community", + "community.create.head": "Criar uma comunidade", + + // "community.create.notifications.success": "Successfully created the Community", + // TODO New key - Add a translation + "community.create.notifications.success": "Successfully created the Community", + + // "community.create.sub-head": "Create a Sub-Community for Community {{ parent }}", + "community.create.sub-head": "Criar uma Sub-Comunidade para Comunidade {{ parent }}", + + // "community.delete.cancel": "Cancel", + "community.delete.cancel": "Cancelar", + + // "community.delete.confirm": "Confirm", + "community.delete.confirm": "Confirmar", + + // "community.delete.head": "Delete Community", + "community.delete.head": "Apagar Comunidade", + + // "community.delete.notification.fail": "Community could not be deleted", + "community.delete.notification.fail": "Comunidade não pôde ser apagada", + + // "community.delete.notification.success": "Successfully deleted community", + "community.delete.notification.success": "Comunidade apagada com sucesso", + + // "community.delete.text": "Are you sure you want to delete community \"{{ dso }}\"", + "community.delete.text": "Você tem certeza que quer apagar a comunidade \"{{ dso }}\"?", + + // "community.edit.delete": "Delete this community", + "community.edit.delete": "Apagar esta comunidade", + + // "community.edit.head": "Edit Community", + "community.edit.head": "Editar Comunidade", + + // "community.edit.breadcrumbs": "Edit Community", + "community.edit.breadcrumbs": "Editar Comunidade", + + // "community.edit.logo.label": "Community logo", + "community.edit.logo.label": "Logo da Comunidade", + + // "community.edit.logo.notifications.add.error": "Uploading Community logo failed. Please verify the content before retrying.", + // TODO New key - Add a translation + "community.edit.logo.notifications.add.error": "Uploading Community logo failed. Please verify the content before retrying.", + + // "community.edit.logo.notifications.add.success": "Upload Community logo successful.", + // TODO New key - Add a translation + "community.edit.logo.notifications.add.success": "Upload Community logo successful.", + + // "community.edit.logo.notifications.delete.success.title": "Logo deleted", + // TODO New key - Add a translation + "community.edit.logo.notifications.delete.success.title": "Logo deleted", + + // "community.edit.logo.notifications.delete.success.content": "Successfully deleted the community's logo", + // TODO New key - Add a translation + "community.edit.logo.notifications.delete.success.content": "Successfully deleted the community's logo", + + // "community.edit.logo.notifications.delete.error.title": "Error deleting logo", + // TODO New key - Add a translation + "community.edit.logo.notifications.delete.error.title": "Error deleting logo", + + // "community.edit.logo.upload": "Drop a Community Logo to upload", + // TODO New key - Add a translation + "community.edit.logo.upload": "Drop a Community Logo to upload", + + + + // "community.edit.notifications.success": "Successfully edited the Community", + // TODO New key - Add a translation + "community.edit.notifications.success": "Successfully edited the Community", + + // "community.edit.return": "Return", + // TODO New key - Add a translation + "community.edit.return": "Return", + + + + // "community.edit.tabs.curate.head": "Curate", + // TODO New key - Add a translation + "community.edit.tabs.curate.head": "Curate", + + // "community.edit.tabs.curate.title": "Community Edit - Curate", + // TODO New key - Add a translation + "community.edit.tabs.curate.title": "Community Edit - Curate", + + // "community.edit.tabs.metadata.head": "Edit Metadata", + // TODO New key - Add a translation + "community.edit.tabs.metadata.head": "Edit Metadata", + + // "community.edit.tabs.metadata.title": "Community Edit - Metadata", + // TODO New key - Add a translation + "community.edit.tabs.metadata.title": "Community Edit - Metadata", + + // "community.edit.tabs.roles.head": "Assign Roles", + // TODO New key - Add a translation + "community.edit.tabs.roles.head": "Assign Roles", + + // "community.edit.tabs.roles.title": "Community Edit - Roles", + // TODO New key - Add a translation + "community.edit.tabs.roles.title": "Community Edit - Roles", + + + + // "community.form.abstract": "Short Description", + "community.form.abstract": "Descrição curta", + + // "community.form.description": "Introductory text (HTML)", + "community.form.description": "Texto introdutório (HTML)", + + // "community.form.errors.title.required": "Please enter a community name", + "community.form.errors.title.required": "Por favor informe um nome para comunidade", + + // "community.form.rights": "Copyright text (HTML)", + "community.form.rights": "Texto de direito de cópia (HTML)", + + // "community.form.tableofcontents": "News (HTML)", + "community.form.tableofcontents": "Notícias (HTML)", + + // "community.form.title": "Name", + "community.form.title": "Nome", + + // "community.page.handle": "Permanent URI for this community", + "community.page.handle": "URI Permanente desta comunidade", + + // "community.page.license": "License", + "community.page.license": "Licença", + + // "community.page.news": "News", + "community.page.news": "Notícias", + + // "community.all-lists.head": "Subcommunities and Collections", + "community.all-lists.head": "Sub-Comunidade e Coleções", + + // "community.sub-collection-list.head": "Collections of this Community", + "community.sub-collection-list.head": "Coleções desta Comunidade", + + // "community.sub-community-list.head": "Communities of this Community", + "community.sub-community-list.head": "Comunidades desta Comunidade", + + + + // "dso-selector.create.collection.head": "New collection", + "dso-selector.create.collection.head": "Nova coleção", + + // "dso-selector.create.community.head": "New community", + "dso-selector.create.community.head": "Nova comunidade", + + // "dso-selector.create.community.sub-level": "Create a new community in", + "dso-selector.create.community.sub-level": "Criar uma nova coleção em", + + // "dso-selector.create.community.top-level": "Create a new top-level community", + "dso-selector.create.community.top-level": "Criar uma nova comunidade no nível superior", + + // "dso-selector.create.item.head": "New item", + "dso-selector.create.item.head": "Novo item", + + // "dso-selector.edit.collection.head": "Edit collection", + "dso-selector.edit.collection.head": "Editar coleção", + + // "dso-selector.edit.community.head": "Edit community", + "dso-selector.edit.community.head": "Editar comunidade", + + // "dso-selector.edit.item.head": "Edit item", + "dso-selector.edit.item.head": "Editar item", + + // "dso-selector.no-results": "No {{ type }} found", + "dso-selector.no-results": "Nenhum(a) {{ type }} encontrado(a)", + + // "dso-selector.placeholder": "Search for a {{ type }}", + "dso-selector.placeholder": "Buscar por um(a) {{ type }}", + + + + // "error.bitstream": "Error fetching bitstream", + // TODO New key - Add a translation + "error.bitstream": "Error fetching bitstream", + + // "error.browse-by": "Error fetching items", + "error.browse-by": "Erro ao carregar itens", + + // "error.collection": "Error fetching collection", + "error.collection": "Erro ao carregar coleção", + + // "error.collections": "Error fetching collections", + "error.collections": "Erro ao carregar coleções", + + // "error.community": "Error fetching community", + "error.community": "Erro ao carregar comunidade", + + // "error.identifier": "No item found for the identifier", + "error.identifier": "Nenhum item encontrado para o identificador", + + // "error.default": "Error", + "error.default": "Erro", + + // "error.item": "Error fetching item", + "error.item": "Erro ao carregar item", + + // "error.items": "Error fetching items", + "error.items": "Erro ao carregar itens", + + // "error.objects": "Error fetching objects", + "error.objects": "Erro ao carregar objetos", + + // "error.recent-submissions": "Error fetching recent submissions", + "error.recent-submissions": "Erro ao carregar as submissões recentes", + + // "error.search-results": "Error fetching search results", + "error.search-results": "Erro ao carregar os resultados de busca", + + // "error.sub-collections": "Error fetching sub-collections", + "error.sub-collections": "Erro ao carregar sub-coleções", + + // "error.sub-communities": "Error fetching sub-communities", + "error.sub-communities": "Erro ao carregar sub-comunidade", + + // "error.submission.sections.init-form-error": "An error occurred during section initialize, please check your input-form configuration. Details are below :

", + "error.submission.sections.init-form-error": "Ocorreu um erro durante a seção de inicialização, por favor verifique sua configuração de input-form. Detalhes estão abaixo :

", + + // "error.top-level-communities": "Error fetching top-level communities", + "error.top-level-communities": "Erro ao carregar as comunidade de nível superior", + + // "error.validation.license.notgranted": "You must grant this license to complete your submission. If you are unable to grant this license at this time you may save your work and return later or remove the submission.", + "error.validation.license.notgranted": "Você deve concordar com esta licença para completar sua submissão. Se vocẽ não estiver de acordo com esta licença neste momento você pode salvar seu trabalho para continuar depois ou remover a submissão.", + + // "error.validation.pattern": "This input is restricted by the current pattern: {{ pattern }}.", + "error.validation.pattern": "Este campo está restrito ao seguinte padrão: {{ pattern }}.", + + // "error.validation.filerequired": "The file upload is mandatory", + // TODO New key - Add a translation + "error.validation.filerequired": "The file upload is mandatory", + + + + // "footer.copyright": "copyright © 2002-{{ year }}", + "footer.copyright": "copyright © 2002-{{ year }}", + + // "footer.link.dspace": "DSpace software", + "footer.link.dspace": "DSpace software", + + // "footer.link.duraspace": "DuraSpace", + "footer.link.duraspace": "DuraSpace", + + + // "form.add": "Add", + // TODO New key - Add a translation + "form.add": "Add", + + // "form.add-help": "Click here to add the current entry and to add another one", + // TODO New key - Add a translation + "form.add-help": "Click here to add the current entry and to add another one", + + // "form.cancel": "Cancel", + "form.cancel": "Cancelar", + + // "form.clear": "Clear", + "form.clear": "Limpar", + + // "form.clear-help": "Click here to remove the selected value", + "form.clear-help": "Clique aqui para apagar o valor selecionado", + + // "form.edit": "Edit", + "form.edit": "Editar", + + // "form.edit-help": "Click here to edit the selected value", + "form.edit-help": "Clique aqui para editar o valor selecionado", + + // "form.first-name": "First name", + "form.first-name": "Primeiro nome", + + // "form.group-collapse": "Collapse", + "form.group-collapse": "Esconder", + + // "form.group-collapse-help": "Click here to collapse", + "form.group-collapse-help": "Clique aqui para esconder", + + // "form.group-expand": "Expand", + "form.group-expand": "Expandir", + + // "form.group-expand-help": "Click here to expand and add more elements", + "form.group-expand-help": "Clique aqui para expandir e adicionar mais elementos", + + // "form.last-name": "Last name", + "form.last-name": "Último nome", + + // "form.loading": "Loading...", + "form.loading": "Carregando...", + + // "form.lookup": "Lookup", + // TODO New key - Add a translation + "form.lookup": "Lookup", + + // "form.lookup-help": "Click here to look up an existing relation", + // TODO New key - Add a translation + "form.lookup-help": "Click here to look up an existing relation", + + // "form.no-results": "No results found", + "form.no-results": "Nenhum resultado encontrado", + + // "form.no-value": "No value entered", + "form.no-value": "Nenhum valor informado", + + // "form.other-information": {}, + "form.other-information": {}, + + // "form.remove": "Remove", + "form.remove": "Apagar", + + // "form.save": "Save", + "form.save": "Salvar", + + // "form.save-help": "Save changes", + "form.save-help": "Salvar alterações", + + // "form.search": "Search", + "form.search": "Buscar", + + // "form.search-help": "Click here to looking for an existing correspondence", + "form.search-help": "Clique aqui para procurar por uma correspondência existente", + + // "form.submit": "Submit", + "form.submit": "Submeter", + + + + // "home.description": "", + // TODO New key - Add a translation + "home.description": "", + + // "home.title": "DSpace Angular :: Home", + "home.title": "DSpace Angular :: Início", + + // "home.top-level-communities.head": "Communities in DSpace", + "home.top-level-communities.head": "Comunidades no DSpace", + + // "home.top-level-communities.help": "Select a community to browse its collections.", + "home.top-level-communities.help": "Selecione uma comunidade para navegar por suas coleções", + + + + + // "item.bitstreams.upload.bundle": "Bundle", + // TODO New key - Add a translation + "item.bitstreams.upload.bundle": "Bundle", + + // "item.bitstreams.upload.bundle.placeholder": "Select a bundle", + // TODO New key - Add a translation + "item.bitstreams.upload.bundle.placeholder": "Select a bundle", + + // "item.bitstreams.upload.bundle.new": "Create bundle", + // TODO New key - Add a translation + "item.bitstreams.upload.bundle.new": "Create bundle", + + // "item.bitstreams.upload.bundles.empty": "This item doesn\'t contain any bundles to upload a bitstream to.", + // TODO New key - Add a translation + "item.bitstreams.upload.bundles.empty": "This item doesn\'t contain any bundles to upload a bitstream to.", + + // "item.bitstreams.upload.cancel": "Cancel", + // TODO New key - Add a translation + "item.bitstreams.upload.cancel": "Cancel", + + // "item.bitstreams.upload.drop-message": "Drop a file to upload", + // TODO New key - Add a translation + "item.bitstreams.upload.drop-message": "Drop a file to upload", + + // "item.bitstreams.upload.item": "Item: ", + // TODO New key - Add a translation + "item.bitstreams.upload.item": "Item: ", + + // "item.bitstreams.upload.notifications.bundle.created.content": "Successfully created new bundle.", + // TODO New key - Add a translation + "item.bitstreams.upload.notifications.bundle.created.content": "Successfully created new bundle.", + + // "item.bitstreams.upload.notifications.bundle.created.title": "Created bundle", + // TODO New key - Add a translation + "item.bitstreams.upload.notifications.bundle.created.title": "Created bundle", + + // "item.bitstreams.upload.notifications.upload.failed": "Upload failed. Please verify the content before retrying.", + // TODO New key - Add a translation + "item.bitstreams.upload.notifications.upload.failed": "Upload failed. Please verify the content before retrying.", + + // "item.bitstreams.upload.title": "Upload bitstream", + // TODO New key - Add a translation + "item.bitstreams.upload.title": "Upload bitstream", + + + + // "item.edit.bitstreams.bundle.edit.buttons.upload": "Upload", + // TODO New key - Add a translation + "item.edit.bitstreams.bundle.edit.buttons.upload": "Upload", + + // "item.edit.bitstreams.bundle.displaying": "Currently displaying {{ amount }} bitstreams of {{ total }}.", + // TODO New key - Add a translation + "item.edit.bitstreams.bundle.displaying": "Currently displaying {{ amount }} bitstreams of {{ total }}.", + + // "item.edit.bitstreams.bundle.load.all": "Load all ({{ total }})", + // TODO New key - Add a translation + "item.edit.bitstreams.bundle.load.all": "Load all ({{ total }})", + + // "item.edit.bitstreams.bundle.load.more": "Load more", + // TODO New key - Add a translation + "item.edit.bitstreams.bundle.load.more": "Load more", + + // "item.edit.bitstreams.bundle.name": "BUNDLE: {{ name }}", + // TODO New key - Add a translation + "item.edit.bitstreams.bundle.name": "BUNDLE: {{ name }}", + + // "item.edit.bitstreams.discard-button": "Discard", + // TODO New key - Add a translation + "item.edit.bitstreams.discard-button": "Discard", + + // "item.edit.bitstreams.edit.buttons.download": "Download", + // TODO New key - Add a translation + "item.edit.bitstreams.edit.buttons.download": "Download", + + // "item.edit.bitstreams.edit.buttons.drag": "Drag", + // TODO New key - Add a translation + "item.edit.bitstreams.edit.buttons.drag": "Drag", + + // "item.edit.bitstreams.edit.buttons.edit": "Edit", + // TODO New key - Add a translation + "item.edit.bitstreams.edit.buttons.edit": "Edit", + + // "item.edit.bitstreams.edit.buttons.remove": "Remove", + // TODO New key - Add a translation + "item.edit.bitstreams.edit.buttons.remove": "Remove", + + // "item.edit.bitstreams.edit.buttons.undo": "Undo changes", + // TODO New key - Add a translation + "item.edit.bitstreams.edit.buttons.undo": "Undo changes", + + // "item.edit.bitstreams.empty": "This item doesn't contain any bitstreams. Click the upload button to create one.", + // TODO New key - Add a translation + "item.edit.bitstreams.empty": "This item doesn't contain any bitstreams. Click the upload button to create one.", + + // "item.edit.bitstreams.headers.actions": "Actions", + // TODO New key - Add a translation + "item.edit.bitstreams.headers.actions": "Actions", + + // "item.edit.bitstreams.headers.bundle": "Bundle", + // TODO New key - Add a translation + "item.edit.bitstreams.headers.bundle": "Bundle", + + // "item.edit.bitstreams.headers.description": "Description", + // TODO New key - Add a translation + "item.edit.bitstreams.headers.description": "Description", + + // "item.edit.bitstreams.headers.format": "Format", + // TODO New key - Add a translation + "item.edit.bitstreams.headers.format": "Format", + + // "item.edit.bitstreams.headers.name": "Name", + // TODO New key - Add a translation + "item.edit.bitstreams.headers.name": "Name", + + // "item.edit.bitstreams.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", + // TODO New key - Add a translation + "item.edit.bitstreams.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", + + // "item.edit.bitstreams.notifications.discarded.title": "Changes discarded", + // TODO New key - Add a translation + "item.edit.bitstreams.notifications.discarded.title": "Changes discarded", + + // "item.edit.bitstreams.notifications.move.failed.title": "Error moving bitstreams", + // TODO New key - Add a translation + "item.edit.bitstreams.notifications.move.failed.title": "Error moving bitstreams", + + // "item.edit.bitstreams.notifications.move.saved.content": "Your move changes to this item's bitstreams and bundles have been saved.", + // TODO New key - Add a translation + "item.edit.bitstreams.notifications.move.saved.content": "Your move changes to this item's bitstreams and bundles have been saved.", + + // "item.edit.bitstreams.notifications.move.saved.title": "Move changes saved", + // TODO New key - Add a translation + "item.edit.bitstreams.notifications.move.saved.title": "Move changes saved", + + // "item.edit.bitstreams.notifications.outdated.content": "The item you're currently working on has been changed by another user. Your current changes are discarded to prevent conflicts", + // TODO New key - Add a translation + "item.edit.bitstreams.notifications.outdated.content": "The item you're currently working on has been changed by another user. Your current changes are discarded to prevent conflicts", + + // "item.edit.bitstreams.notifications.outdated.title": "Changes outdated", + // TODO New key - Add a translation + "item.edit.bitstreams.notifications.outdated.title": "Changes outdated", + + // "item.edit.bitstreams.notifications.remove.failed.title": "Error deleting bitstream", + // TODO New key - Add a translation + "item.edit.bitstreams.notifications.remove.failed.title": "Error deleting bitstream", + + // "item.edit.bitstreams.notifications.remove.saved.content": "Your removal changes to this item's bitstreams have been saved.", + // TODO New key - Add a translation + "item.edit.bitstreams.notifications.remove.saved.content": "Your removal changes to this item's bitstreams have been saved.", + + // "item.edit.bitstreams.notifications.remove.saved.title": "Removal changes saved", + // TODO New key - Add a translation + "item.edit.bitstreams.notifications.remove.saved.title": "Removal changes saved", + + // "item.edit.bitstreams.reinstate-button": "Undo", + // TODO New key - Add a translation + "item.edit.bitstreams.reinstate-button": "Undo", + + // "item.edit.bitstreams.save-button": "Save", + // TODO New key - Add a translation + "item.edit.bitstreams.save-button": "Save", + + // "item.edit.bitstreams.upload-button": "Upload", + // TODO New key - Add a translation + "item.edit.bitstreams.upload-button": "Upload", + + + + // "item.edit.delete.cancel": "Cancel", + "item.edit.delete.cancel": "Cancelar", + + // "item.edit.delete.confirm": "Delete", + "item.edit.delete.confirm": "Apagar", + + // "item.edit.delete.description": "Are you sure this item should be completely deleted? Caution: At present, no tombstone would be left.", + "item.edit.delete.description": "Você tem certeza que deseja apagar completamento este item? Atenção: No momento, nenhum vestígio restará.", + + // "item.edit.delete.error": "An error occurred while deleting the item", + "item.edit.delete.error": "Ocorreu um erro ao apagar o item", + + // "item.edit.delete.header": "Delete item: {{ id }}", + "item.edit.delete.header": "Apagar item: {{ id }}", + + // "item.edit.delete.success": "The item has been deleted", + "item.edit.delete.success": "O item foi apagado", + + // "item.edit.head": "Edit Item", + "item.edit.head": "Editar Item", + + // "item.edit.breadcrumbs": "Edit Item", + // TODO New key - Add a translation + "item.edit.breadcrumbs": "Edit Item", + + + + // "item.edit.item-mapper.buttons.add": "Map item to selected collections", + "item.edit.item-mapper.buttons.add": "Mapear item na(s) coleção(ões) seleciona(s)", + + // "item.edit.item-mapper.buttons.remove": "Remove item's mapping for selected collections", + "item.edit.item-mapper.buttons.remove": "Remover mapeamento(s) do item da(s) coleção(ões) seleciona(s)", + + // "item.edit.item-mapper.cancel": "Cancel", + "item.edit.item-mapper.cancel": "Cancelar", + + // "item.edit.item-mapper.description": "This is the item mapper tool that allows administrators to map this item to other collections. You can search for collections and map them, or browse the list of collections the item is currently mapped to.", + "item.edit.item-mapper.description": "Essa é a ferramenta de mapeamento de itens que permite que os administradores mapeiem esse item para outras coleções. Você pode procurar coleções e mapeá-las ou navegar na lista de coleções para as quais o item está atualmente mapeado.", + + // "item.edit.item-mapper.head": "Item Mapper - Map Item to Collections", + "item.edit.item-mapper.head": "Mapeador de Item - Mapear Itens em Coleções", + + // "item.edit.item-mapper.item": "Item: \"{{name}}\"", + "item.edit.item-mapper.item": "Item: \"{{name}}\"", + + // "item.edit.item-mapper.no-search": "Please enter a query to search", + "item.edit.item-mapper.no-search": "Por favor informe uma consulta para buscar", + + // "item.edit.item-mapper.notifications.add.error.content": "Errors occurred for mapping of item to {{amount}} collections.", + "item.edit.item-mapper.notifications.add.error.content": "Ocorreram erros ao mapear o item em {{amount}} coleções.", + + // "item.edit.item-mapper.notifications.add.error.head": "Mapping errors", + "item.edit.item-mapper.notifications.add.error.head": "Erros de mapeamento", + + // "item.edit.item-mapper.notifications.add.success.content": "Successfully mapped item to {{amount}} collections.", + "item.edit.item-mapper.notifications.add.success.content": "Mapeou o item em {{amount}} coleções com sucesso.", + + // "item.edit.item-mapper.notifications.add.success.head": "Mapping completed", + "item.edit.item-mapper.notifications.add.success.head": "Mapeamento complesto", + + // "item.edit.item-mapper.notifications.remove.error.content": "Errors occurred for the removal of the mapping to {{amount}} collections.", + "item.edit.item-mapper.notifications.remove.error.content": "Ocorreram erros ao remover mapeamento do item em {{amount}} coleções.", + + // "item.edit.item-mapper.notifications.remove.error.head": "Removal of mapping errors", + "item.edit.item-mapper.notifications.remove.error.head": "Erros de remoção de mapeamento", + + // "item.edit.item-mapper.notifications.remove.success.content": "Successfully removed mapping of item to {{amount}} collections.", + "item.edit.item-mapper.notifications.remove.success.content": "Successfully removed mapping of item to {{amount}} collections.", + + // "item.edit.item-mapper.notifications.remove.success.head": "Removal of mapping completed", + "item.edit.item-mapper.notifications.remove.success.head": "Completou a remoção de mapeamento", + + // "item.edit.item-mapper.tabs.browse": "Browse mapped collections", + "item.edit.item-mapper.tabs.browse": "Navegar nas coleções mapeadas", + + // "item.edit.item-mapper.tabs.map": "Map new collections", + "item.edit.item-mapper.tabs.map": "Mapear novas coleções", + + + + // "item.edit.metadata.add-button": "Add", + "item.edit.metadata.add-button": "Adicionar", + + // "item.edit.metadata.discard-button": "Discard", + "item.edit.metadata.discard-button": "Descartar", + + // "item.edit.metadata.edit.buttons.edit": "Edit", + "item.edit.metadata.edit.buttons.edit": "Editar", + + // "item.edit.metadata.edit.buttons.remove": "Remove", + "item.edit.metadata.edit.buttons.remove": "Apagar", + + // "item.edit.metadata.edit.buttons.undo": "Undo changes", + "item.edit.metadata.edit.buttons.undo": "Desfazer alterações", + + // "item.edit.metadata.edit.buttons.unedit": "Stop editing", + "item.edit.metadata.edit.buttons.unedit": "Parar edição", + + // "item.edit.metadata.headers.edit": "Edit", + "item.edit.metadata.headers.edit": "Editar", + + // "item.edit.metadata.headers.field": "Field", + "item.edit.metadata.headers.field": "Campo", + + // "item.edit.metadata.headers.language": "Lang", + "item.edit.metadata.headers.language": "Idioma", + + // "item.edit.metadata.headers.value": "Value", + "item.edit.metadata.headers.value": "Valor", + + // "item.edit.metadata.metadatafield.invalid": "Please choose a valid metadata field", + "item.edit.metadata.metadatafield.invalid": "Por favor escolha um campo de metadados válido", + + // "item.edit.metadata.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", + "item.edit.metadata.notifications.discarded.content": "Suas alterações foram descartadas. Para restabelecer suas alterações, clique no botão 'Desfazer'", + + // "item.edit.metadata.notifications.discarded.title": "Changed discarded", + "item.edit.metadata.notifications.discarded.title": "Mudança descartada", + + // "item.edit.metadata.notifications.invalid.content": "Your changes were not saved. Please make sure all fields are valid before you save.", + "item.edit.metadata.notifications.invalid.content": "Suas alterações não foram salvas. Verifique se todos os campos são válidos antes de salvar.", + + // "item.edit.metadata.notifications.invalid.title": "Metadata invalid", + "item.edit.metadata.notifications.invalid.title": "Metadado inválido", + + // "item.edit.metadata.notifications.outdated.content": "The item you're currently working on has been changed by another user. Your current changes are discarded to prevent conflicts", + "item.edit.metadata.notifications.outdated.content": "O item em que você está trabalhando foi alterado por outro usuário. Suas alterações atuais são descartadas para evitar conflitos", + + // "item.edit.metadata.notifications.outdated.title": "Changed outdated", + "item.edit.metadata.notifications.outdated.title": "Alteração desatualizada", + + // "item.edit.metadata.notifications.saved.content": "Your changes to this item's metadata were saved.", + "item.edit.metadata.notifications.saved.content": "Suas alterações nos metadados deste item foram salvas.", + + // "item.edit.metadata.notifications.saved.title": "Metadata saved", + "item.edit.metadata.notifications.saved.title": "Metadados salvos", + + // "item.edit.metadata.reinstate-button": "Undo", + "item.edit.metadata.reinstate-button": "Desfazer", + + // "item.edit.metadata.save-button": "Save", + "item.edit.metadata.save-button": "Salvar", + + + + // "item.edit.modify.overview.field": "Field", + "item.edit.modify.overview.field": "Campo", + + // "item.edit.modify.overview.language": "Language", + "item.edit.modify.overview.language": "Idioma", + + // "item.edit.modify.overview.value": "Value", + "item.edit.modify.overview.value": "Valor", + + + + // "item.edit.move.cancel": "Cancel", + "item.edit.move.cancel": "Cancelar", + + // "item.edit.move.description": "Select the collection you wish to move this item to. To narrow down the list of displayed collections, you can enter a search query in the box.", + "item.edit.move.description": "Selecione a coleção para a qual você deseja mover este item. Para restringir a lista de coleções exibidas, você pode inserir uma consulta de pesquisa na caixa.", + + // "item.edit.move.error": "An error occurred when attempting to move the item", + "item.edit.move.error": "Ocorreu um erro ao tentar mover o item", + + // "item.edit.move.head": "Move item: {{id}}", + "item.edit.move.head": "Mover item: {{id}}", + + // "item.edit.move.inheritpolicies.checkbox": "Inherit policies", + "item.edit.move.inheritpolicies.checkbox": "Herdar politicas", + + // "item.edit.move.inheritpolicies.description": "Inherit the default policies of the destination collection", + "item.edit.move.inheritpolicies.description": "Herdar as politicas padrões da coleção destino", + + // "item.edit.move.move": "Move", + "item.edit.move.move": "Mover", + + // "item.edit.move.processing": "Moving...", + "item.edit.move.processing": "Movendo...", + + // "item.edit.move.search.placeholder": "Enter a search query to look for collections", + "item.edit.move.search.placeholder": "Insira uma consulta para procurar coleções", + + // "item.edit.move.success": "The item has been moved successfully", + "item.edit.move.success": "O item foi movido com sucesso", + + // "item.edit.move.title": "Move item", + "item.edit.move.title": "Mover item", + + + + // "item.edit.private.cancel": "Cancel", + "item.edit.private.cancel": "Cancelar", + + // "item.edit.private.confirm": "Make it Private", + "item.edit.private.confirm": "Tornar Privado", + + // "item.edit.private.description": "Are you sure this item should be made private in the archive?", + "item.edit.private.description": "Tem certeza de que este item deve ser tornado privado no arquivo?", + + // "item.edit.private.error": "An error occurred while making the item private", + "item.edit.private.error": "Ocorreu um erro ao tornar o item privado", + + // "item.edit.private.header": "Make item private: {{ id }}", + "item.edit.private.header": "Tornar privado o item: {{ id }}", + + // "item.edit.private.success": "The item is now private", + "item.edit.private.success": "O item agora é privado", + + + + // "item.edit.public.cancel": "Cancel", + "item.edit.public.cancel": "Cancelar", + + // "item.edit.public.confirm": "Make it Public", + "item.edit.public.confirm": "Tornar público", + + // "item.edit.public.description": "Are you sure this item should be made public in the archive?", + "item.edit.public.description": "Você tem certeza que deseja tornar este item público no arquivo?", + + // "item.edit.public.error": "An error occurred while making the item public", + "item.edit.public.error": "Ocorreu um erro ao tornar o item público", + + // "item.edit.public.header": "Make item public: {{ id }}", + "item.edit.public.header": "Tornar público o item: {{ id }}", + + // "item.edit.public.success": "The item is now public", + "item.edit.public.success": "O item agora é público", + + + + // "item.edit.reinstate.cancel": "Cancel", + "item.edit.reinstate.cancel": "Cancelar", + + // "item.edit.reinstate.confirm": "Reinstate", + "item.edit.reinstate.confirm": "Restabelecer", + + // "item.edit.reinstate.description": "Are you sure this item should be reinstated to the archive?", + "item.edit.reinstate.description": "Tem certeza de que este item deve ser restabelecido no arquivo?", + + // "item.edit.reinstate.error": "An error occurred while reinstating the item", + "item.edit.reinstate.error": "Ocorreu um erro ao restabelecer o item", + + // "item.edit.reinstate.header": "Reinstate item: {{ id }}", + "item.edit.reinstate.header": "Restabelecer item: {{ id }}", + + // "item.edit.reinstate.success": "The item was reinstated successfully", + "item.edit.reinstate.success": "O item foi restabelecido com sucesso", + + + + // "item.edit.relationships.discard-button": "Discard", + "item.edit.relationships.discard-button": "Descartar", + + // "item.edit.relationships.edit.buttons.remove": "Remove", + "item.edit.relationships.edit.buttons.remove": "Apagar", + + // "item.edit.relationships.edit.buttons.undo": "Undo changes", + "item.edit.relationships.edit.buttons.undo": "Desfazer alterações", + + // "item.edit.relationships.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", + "item.edit.relationships.notifications.discarded.content": "Suas alterações foram descartadas. Para restabelecer suas alterações, clique no botão 'Desfazer'", + + // "item.edit.relationships.notifications.discarded.title": "Changes discarded", + "item.edit.relationships.notifications.discarded.title": "Alterações descartadas", + + // "item.edit.relationships.notifications.failed.title": "Error deleting relationship", + "item.edit.relationships.notifications.failed.title": "Erro ao apagar relacionamento", + + // "item.edit.relationships.notifications.outdated.content": "The item you're currently working on has been changed by another user. Your current changes are discarded to prevent conflicts", + "item.edit.relationships.notifications.outdated.content": "O item em que você está trabalhando foi alterado por outro usuário. Suas alterações atuais são descartadas para evitar conflitos", + + // "item.edit.relationships.notifications.outdated.title": "Changes outdated", + "item.edit.relationships.notifications.outdated.title": "Alterações desatualizadas", + + // "item.edit.relationships.notifications.saved.content": "Your changes to this item's relationships were saved.", + "item.edit.relationships.notifications.saved.content": "Suas alterações nos relacionamentos deste item foram salvas.", + + // "item.edit.relationships.notifications.saved.title": "Relationships saved", + "item.edit.relationships.notifications.saved.title": "Relacionamentos salvos", + + // "item.edit.relationships.reinstate-button": "Undo", + "item.edit.relationships.reinstate-button": "Desfazer", + + // "item.edit.relationships.save-button": "Save", + "item.edit.relationships.save-button": "Salvar", + + + + // "item.edit.tabs.bitstreams.head": "Bitstreams", + // TODO Source message changed - Revise the translation + "item.edit.tabs.bitstreams.head": "Bitstreams do Item", + + // "item.edit.tabs.bitstreams.title": "Item Edit - Bitstreams", + "item.edit.tabs.bitstreams.title": "Editar Item - Bitstreams", + + // "item.edit.tabs.curate.head": "Curate", + "item.edit.tabs.curate.head": "Curadoria", + + // "item.edit.tabs.curate.title": "Item Edit - Curate", + "item.edit.tabs.curate.title": "Editar Item - Curadoria", + + // "item.edit.tabs.metadata.head": "Metadata", + // TODO Source message changed - Revise the translation + "item.edit.tabs.metadata.head": "Metadados do Item", + + // "item.edit.tabs.metadata.title": "Item Edit - Metadata", + "item.edit.tabs.metadata.title": "Editar Item - Metadados", + + // "item.edit.tabs.relationships.head": "Relationships", + // TODO Source message changed - Revise the translation + "item.edit.tabs.relationships.head": "Relacionamentos do Item", + + // "item.edit.tabs.relationships.title": "Item Edit - Relationships", + "item.edit.tabs.relationships.title": "Editar Item - Relacionamentos", + + // "item.edit.tabs.status.buttons.authorizations.button": "Authorizations...", + "item.edit.tabs.status.buttons.authorizations.button": "Autorizações...", + + // "item.edit.tabs.status.buttons.authorizations.label": "Edit item's authorization policies", + "item.edit.tabs.status.buttons.authorizations.label": "Editar politicas de autorizações de item", + + // "item.edit.tabs.status.buttons.delete.button": "Permanently delete", + "item.edit.tabs.status.buttons.delete.button": "Apagar permanentemente", + + // "item.edit.tabs.status.buttons.delete.label": "Completely expunge item", + "item.edit.tabs.status.buttons.delete.label": "Eliminar completamente o item", + + // "item.edit.tabs.status.buttons.mappedCollections.button": "Mapped collections", + "item.edit.tabs.status.buttons.mappedCollections.button": "Coleções mapeadas", + + // "item.edit.tabs.status.buttons.mappedCollections.label": "Manage mapped collections", + "item.edit.tabs.status.buttons.mappedCollections.label": "Gerenciar coleções mapeadas", + + // "item.edit.tabs.status.buttons.move.button": "Move...", + "item.edit.tabs.status.buttons.move.button": "Mover...", + + // "item.edit.tabs.status.buttons.move.label": "Move item to another collection", + "item.edit.tabs.status.buttons.move.label": "Mover item para outra coleção", + + // "item.edit.tabs.status.buttons.private.button": "Make it private...", + "item.edit.tabs.status.buttons.private.button": "Tornar privado o item...", + + // "item.edit.tabs.status.buttons.private.label": "Make item private", + "item.edit.tabs.status.buttons.private.label": "Tornar privado o item", + + // "item.edit.tabs.status.buttons.public.button": "Make it public...", + "item.edit.tabs.status.buttons.public.button": "Tornar público o item...", + + // "item.edit.tabs.status.buttons.public.label": "Make item public", + "item.edit.tabs.status.buttons.public.label": "Tornar público o item", + + // "item.edit.tabs.status.buttons.reinstate.button": "Reinstate...", + "item.edit.tabs.status.buttons.reinstate.button": "Restabelecer...", + + // "item.edit.tabs.status.buttons.reinstate.label": "Reinstate item into the repository", + "item.edit.tabs.status.buttons.reinstate.label": "Restabelecer item no repositório", + + // "item.edit.tabs.status.buttons.withdraw.button": "Withdraw...", + "item.edit.tabs.status.buttons.withdraw.button": "Retirar...", + + // "item.edit.tabs.status.buttons.withdraw.label": "Withdraw item from the repository", + "item.edit.tabs.status.buttons.withdraw.label": "Retirar item do repositório", + + // "item.edit.tabs.status.description": "Welcome to the item management page. From here you can withdraw, reinstate, move or delete the item. You may also update or add new metadata / bitstreams on the other tabs.", + "item.edit.tabs.status.description": "Bem-vindo à página de gerenciamento de itens. A partir daqui, você pode retirar, restabelecer, mover ou apagar o item. Você também pode atualizar ou adicionar novos metadados / bitstream nas outras guias.", + + // "item.edit.tabs.status.head": "Status", + // TODO Source message changed - Revise the translation + "item.edit.tabs.status.head": "Estado do Item", + + // "item.edit.tabs.status.labels.handle": "Handle", + "item.edit.tabs.status.labels.handle": "Handle", + + // "item.edit.tabs.status.labels.id": "Item Internal ID", + "item.edit.tabs.status.labels.id": "ID Interno do Item", + + // "item.edit.tabs.status.labels.itemPage": "Item Page", + "item.edit.tabs.status.labels.itemPage": "Página do Item", + + // "item.edit.tabs.status.labels.lastModified": "Last Modified", + "item.edit.tabs.status.labels.lastModified": "Ultima alteração", + + // "item.edit.tabs.status.title": "Item Edit - Status", + "item.edit.tabs.status.title": "Editar Item - Estado", + + // "item.edit.tabs.versionhistory.head": "Version History", + // TODO New key - Add a translation + "item.edit.tabs.versionhistory.head": "Version History", + + // "item.edit.tabs.versionhistory.title": "Item Edit - Version History", + // TODO New key - Add a translation + "item.edit.tabs.versionhistory.title": "Item Edit - Version History", + + // "item.edit.tabs.versionhistory.under-construction": "Editing or adding new versions is not yet possible in this user interface.", + // TODO New key - Add a translation + "item.edit.tabs.versionhistory.under-construction": "Editing or adding new versions is not yet possible in this user interface.", + + // "item.edit.tabs.view.head": "View Item", + "item.edit.tabs.view.head": "Visualizar Item", + + // "item.edit.tabs.view.title": "Item Edit - View", + "item.edit.tabs.view.title": "Editar Item - Visualizar", + + + + // "item.edit.withdraw.cancel": "Cancel", + "item.edit.withdraw.cancel": "Cancelar", + + // "item.edit.withdraw.confirm": "Withdraw", + "item.edit.withdraw.confirm": "Retirar", + + // "item.edit.withdraw.description": "Are you sure this item should be withdrawn from the archive?", + "item.edit.withdraw.description": "Tem certeza de que este item deve ser retirado do arquivo?", + + // "item.edit.withdraw.error": "An error occurred while withdrawing the item", + "item.edit.withdraw.error": "Ocorreu um erro ao retirar o item", + + // "item.edit.withdraw.header": "Withdraw item: {{ id }}", + "item.edit.withdraw.header": "Retirar item: {{ id }}", + + // "item.edit.withdraw.success": "The item was withdrawn successfully", + "item.edit.withdraw.success": "O item foi retirado com sucesso", + + + + // "item.page.abstract": "Abstract", + "item.page.abstract": "Resumo", + + // "item.page.author": "Authors", + "item.page.author": "Autores", + + // "item.page.citation": "Citation", + "item.page.citation": "Citação", + + // "item.page.collections": "Collections", + "item.page.collections": "Coleções", + + // "item.page.date": "Date", + "item.page.date": "Data", + + // "item.page.files": "Files", + "item.page.files": "Arquivos", + + // "item.page.filesection.description": "Description:", + "item.page.filesection.description": "Descrição:", + + // "item.page.filesection.download": "Download", + "item.page.filesection.download": "Baixar", + + // "item.page.filesection.format": "Format:", + "item.page.filesection.format": "Formato:", + + // "item.page.filesection.name": "Name:", + "item.page.filesection.name": "Nome:", + + // "item.page.filesection.size": "Size:", + "item.page.filesection.size": "Tamanho:", + + // "item.page.journal.search.title": "Articles in this journal", + "item.page.journal.search.title": "Articles in this journal", + + // "item.page.link.full": "Full item page", + "item.page.link.full": "Página do item completo", + + // "item.page.link.simple": "Simple item page", + "item.page.link.simple": "Página do item simplificado", + + // "item.page.person.search.title": "Articles by this author", + "item.page.person.search.title": "Artigos deste autor", + + // "item.page.related-items.view-more": "Show {{ amount }} more", + // TODO Source message changed - Revise the translation + "item.page.related-items.view-more": "Mostrar mais", + + // "item.page.related-items.view-less": "Hide last {{ amount }}", + // TODO Source message changed - Revise the translation + "item.page.related-items.view-less": "Mostrar menos", + + // "item.page.relationships.isAuthorOfPublication": "Publications", + // TODO New key - Add a translation + "item.page.relationships.isAuthorOfPublication": "Publications", + + // "item.page.relationships.isJournalOfPublication": "Publications", + // TODO New key - Add a translation + "item.page.relationships.isJournalOfPublication": "Publications", + + // "item.page.relationships.isOrgUnitOfPerson": "Authors", + // TODO New key - Add a translation + "item.page.relationships.isOrgUnitOfPerson": "Authors", + + // "item.page.relationships.isOrgUnitOfProject": "Research Projects", + // TODO New key - Add a translation + "item.page.relationships.isOrgUnitOfProject": "Research Projects", + + // "item.page.subject": "Keywords", + "item.page.subject": "Palavras-chave", + + // "item.page.uri": "URI", + "item.page.uri": "URI", + + + + // "item.select.confirm": "Confirm selected", + "item.select.confirm": "Confirmar seleção", + + // "item.select.empty": "No items to show", + "item.select.empty": "Nenhum itme a mostrar", + + // "item.select.table.author": "Author", + "item.select.table.author": "Autor", + + // "item.select.table.collection": "Collection", + "item.select.table.collection": "Coleção", + + // "item.select.table.title": "Title", + "item.select.table.title": "Título", + + + // "item.version.history.empty": "There are no other versions for this item yet.", + // TODO New key - Add a translation + "item.version.history.empty": "There are no other versions for this item yet.", + + // "item.version.history.head": "Version History", + // TODO New key - Add a translation + "item.version.history.head": "Version History", + + // "item.version.history.return": "Return", + // TODO New key - Add a translation + "item.version.history.return": "Return", + + // "item.version.history.selected": "Selected version", + // TODO New key - Add a translation + "item.version.history.selected": "Selected version", + + // "item.version.history.table.version": "Version", + // TODO New key - Add a translation + "item.version.history.table.version": "Version", + + // "item.version.history.table.item": "Item", + // TODO New key - Add a translation + "item.version.history.table.item": "Item", + + // "item.version.history.table.editor": "Editor", + // TODO New key - Add a translation + "item.version.history.table.editor": "Editor", + + // "item.version.history.table.date": "Date", + // TODO New key - Add a translation + "item.version.history.table.date": "Date", + + // "item.version.history.table.summary": "Summary", + // TODO New key - Add a translation + "item.version.history.table.summary": "Summary", + + + + // "item.version.notice": "This is not the latest version of this item. The latest version can be found here.", + // TODO New key - Add a translation + "item.version.notice": "This is not the latest version of this item. The latest version can be found here.", + + + + // "journal.listelement.badge": "Journal", + "journal.listelement.badge": "Periódico", + + // "journal.page.description": "Description", + "journal.page.description": "Descrição", + + // "journal.page.editor": "Editor-in-Chief", + "journal.page.editor": "Editor Chefe", + + // "journal.page.issn": "ISSN", + "journal.page.issn": "ISSN", + + // "journal.page.publisher": "Publisher", + "journal.page.publisher": "Editora", + + // "journal.page.titleprefix": "Journal: ", + "journal.page.titleprefix": "Periódico: ", + + // "journal.search.results.head": "Journal Search Results", + "journal.search.results.head": "Resultado da Busca de Periódicos", + + // "journal.search.title": "DSpace Angular :: Journal Search", + "journal.search.title": "DSpace Angular :: Busca de Periódicos", + + + + // "journalissue.listelement.badge": "Journal Issue", + "journalissue.listelement.badge": "Fascículo", + + // "journalissue.page.description": "Description", + "journalissue.page.description": "Descrição", + + // "journalissue.page.issuedate": "Issue Date", + "journalissue.page.issuedate": "Data de Publicação", + + // "journalissue.page.journal-issn": "Journal ISSN", + "journalissue.page.journal-issn": "ISSN do Periódico", + + // "journalissue.page.journal-title": "Journal Title", + "journalissue.page.journal-title": "Título do Periódico", + + // "journalissue.page.keyword": "Keywords", + "journalissue.page.keyword": "Palavras-chave", + + // "journalissue.page.number": "Number", + "journalissue.page.number": "Número", + + // "journalissue.page.titleprefix": "Journal Issue: ", + "journalissue.page.titleprefix": "Fascículo: ", + + + + // "journalvolume.listelement.badge": "Journal Volume", + "journalvolume.listelement.badge": "Volume do Periódico", + + // "journalvolume.page.description": "Description", + "journalvolume.page.description": "Descrição", + + // "journalvolume.page.issuedate": "Issue Date", + "journalvolume.page.issuedate": "Data de Publicação", + + // "journalvolume.page.titleprefix": "Journal Volume: ", + "journalvolume.page.titleprefix": "Volume do Periódico: ", + + // "journalvolume.page.volume": "Volume", + "journalvolume.page.volume": "Volume", + + + + // "loading.bitstream": "Loading bitstream...", + // TODO New key - Add a translation + "loading.bitstream": "Loading bitstream...", + + // "loading.bitstreams": "Loading bitstreams...", + // TODO New key - Add a translation + "loading.bitstreams": "Loading bitstreams...", + + // "loading.browse-by": "Loading items...", + "loading.browse-by": "Carregando itens...", + + // "loading.browse-by-page": "Loading page...", + "loading.browse-by-page": "Carregando página...", + + // "loading.collection": "Loading collection...", + "loading.collection": "Carregando coleção...", + + // "loading.collections": "Loading collections...", + "loading.collections": "Carregando coleções...", + + // "loading.content-source": "Loading content source...", + // TODO New key - Add a translation + "loading.content-source": "Loading content source...", + + // "loading.community": "Loading community...", + "loading.community": "Carregando comunidade...", + + // "loading.default": "Loading...", + "loading.default": "Carregando...", + + // "loading.item": "Loading item...", + "loading.item": "Carregando item...", + + // "loading.items": "Loading items...", + "loading.items": "Carregando itens...", + + // "loading.mydspace-results": "Loading items...", + "loading.mydspace-results": "Carregando itens...", + + // "loading.objects": "Loading...", + "loading.objects": "Carregando...", + + // "loading.recent-submissions": "Loading recent submissions...", + "loading.recent-submissions": "Carregando submissões recentes...", + + // "loading.search-results": "Loading search results...", + "loading.search-results": "Carregando resultados de busca...", + + // "loading.sub-collections": "Loading sub-collections...", + "loading.sub-collections": "Carregando sub-coleções...", + + // "loading.sub-communities": "Loading sub-communities...", + "loading.sub-communities": "Carregando sub-comunidades...", + + // "loading.top-level-communities": "Loading top-level communities...", + "loading.top-level-communities": "Carregando comunidades de nível superior...", + + + + // "login.form.email": "Email address", + "login.form.email": "Endereço de email", + + // "login.form.forgot-password": "Have you forgotten your password?", + "login.form.forgot-password": "Esqueceu sua senha?", + + // "login.form.header": "Please log in to DSpace", + "login.form.header": "Por favor entre no DSpace", + + // "login.form.new-user": "New user? Click here to register.", + "login.form.new-user": "Novo usuário? Clique aqui para cadastrar.", + + // "login.form.or-divider": "or", + // TODO New key - Add a translation + "login.form.or-divider": "or", + + // "login.form.password": "Password", + "login.form.password": "Senha", + + // "login.form.shibboleth": "Log in with Shibboleth", + // TODO New key - Add a translation + "login.form.shibboleth": "Log in with Shibboleth", + + // "login.form.submit": "Log in", + "login.form.submit": "Entrar", + + // "login.title": "Login", + "login.title": "Entrar", + + // "login.breadcrumbs": "Login", + // TODO New key - Add a translation + "login.breadcrumbs": "Login", + + + + // "logout.form.header": "Log out from DSpace", + "logout.form.header": "Sair do DSpace", + + // "logout.form.submit": "Log out", + "logout.form.submit": "Sair", + + // "logout.title": "Logout", + "logout.title": "Sair", + + + + // "menu.header.admin": "Admin", + "menu.header.admin": "Administração", + + // "menu.header.image.logo": "Repository logo", + "menu.header.image.logo": "Logo do repositório", + + + + // "menu.section.access_control": "Access Control", + "menu.section.access_control": "Controle de Acesso", + + // "menu.section.access_control_authorizations": "Authorizations", + "menu.section.access_control_authorizations": "Autorizações", + + // "menu.section.access_control_groups": "Groups", + "menu.section.access_control_groups": "Grupos", + + // "menu.section.access_control_people": "People", + "menu.section.access_control_people": "Pessoas", + + + + // "menu.section.admin_search": "Admin Search", + // TODO New key - Add a translation + "menu.section.admin_search": "Admin Search", + + + + // "menu.section.browse_community": "This Community", + "menu.section.browse_community": "Esta Comunidade", + + // "menu.section.browse_community_by_author": "By Author", + "menu.section.browse_community_by_author": "Por Autor", + + // "menu.section.browse_community_by_issue_date": "By Issue Date", + "menu.section.browse_community_by_issue_date": "Por Data de Publicação", + + // "menu.section.browse_community_by_title": "By Title", + "menu.section.browse_community_by_title": "Por Título", + + // "menu.section.browse_global": "All of DSpace", + "menu.section.browse_global": "Tudo no DSpace", + + // "menu.section.browse_global_by_author": "By Author", + "menu.section.browse_global_by_author": "Por Autor", + + // "menu.section.browse_global_by_dateissued": "By Issue Date", + "menu.section.browse_global_by_dateissued": "Por Data de Publicação", + + // "menu.section.browse_global_by_subject": "By Subject", + "menu.section.browse_global_by_subject": "Por Assunto", + + // "menu.section.browse_global_by_title": "By Title", + "menu.section.browse_global_by_title": "Por Título", + + // "menu.section.browse_global_communities_and_collections": "Communities & Collections", + "menu.section.browse_global_communities_and_collections": "Comunidades e Coleções", + + + + // "menu.section.control_panel": "Control Panel", + "menu.section.control_panel": "Painel de Controle", + + // "menu.section.curation_task": "Curation Task", + "menu.section.curation_task": "Tarefas de Curadoria", + + + + // "menu.section.edit": "Edit", + "menu.section.edit": "Editar", + + // "menu.section.edit_collection": "Collection", + "menu.section.edit_collection": "Coleção", + + // "menu.section.edit_community": "Community", + "menu.section.edit_community": "Comunidade", + + // "menu.section.edit_item": "Item", + "menu.section.edit_item": "Item", + + + + // "menu.section.export": "Export", + "menu.section.export": "Exportar", + + // "menu.section.export_collection": "Collection", + "menu.section.export_collection": "Coleção", + + // "menu.section.export_community": "Community", + "menu.section.export_community": "Comunidade", + + // "menu.section.export_item": "Item", + "menu.section.export_item": "Item", + + // "menu.section.export_metadata": "Metadata", + "menu.section.export_metadata": "Metadados", + + + + // "menu.section.icon.access_control": "Access Control menu section", + "menu.section.icon.access_control": "Seção do menu Controle de Acesso", + + // "menu.section.icon.admin_search": "Admin search menu section", + // TODO New key - Add a translation + "menu.section.icon.admin_search": "Admin search menu section", + + // "menu.section.icon.control_panel": "Control Panel menu section", + "menu.section.icon.control_panel": "Seção do menu Painel de Controle", + + // "menu.section.icon.curation_task": "Curation Task menu section", + "menu.section.icon.curation_task": "Seção do menu Tarefas de Curadoria", + + // "menu.section.icon.edit": "Edit menu section", + "menu.section.icon.edit": "Seção do menu Editar", + + // "menu.section.icon.export": "Export menu section", + "menu.section.icon.export": "Seção do menu Exportar", + + // "menu.section.icon.find": "Find menu section", + "menu.section.icon.find": "Seção do menu Buscar", + + // "menu.section.icon.import": "Import menu section", + "menu.section.icon.import": "Seção do menu Importar", + + // "menu.section.icon.new": "New menu section", + "menu.section.icon.new": "Seção do menu Novo", + + // "menu.section.icon.pin": "Pin sidebar", + "menu.section.icon.pin": "Fixar barra lateral", + + // "menu.section.icon.registries": "Registries menu section", + "menu.section.icon.registries": "Seção do menu Registros", + + // "menu.section.icon.statistics_task": "Statistics Task menu section", + "menu.section.icon.statistics_task": "Seção do menu Tarefas de Estatísticas", + + // "menu.section.icon.unpin": "Unpin sidebar", + "menu.section.icon.unpin": "Soltar barra lateral", + + + + // "menu.section.import": "Import", + "menu.section.import": "Importar", + + // "menu.section.import_batch": "Batch Import (ZIP)", + "menu.section.import_batch": "Importação em Lote (ZIP)", + + // "menu.section.import_metadata": "Metadata", + "menu.section.import_metadata": "Metadados", + + + + // "menu.section.new": "New", + "menu.section.new": "Nova", + + // "menu.section.new_collection": "Collection", + "menu.section.new_collection": "Coleção", + + // "menu.section.new_community": "Community", + "menu.section.new_community": "Comunidade", + + // "menu.section.new_item": "Item", + "menu.section.new_item": "Item", + + // "menu.section.new_item_version": "Item Version", + "menu.section.new_item_version": "Versão do Item", + + + + // "menu.section.pin": "Pin sidebar", + "menu.section.pin": "Fixar barra lateral", + + // "menu.section.unpin": "Unpin sidebar", + "menu.section.unpin": "Soltar barra lateral", + + + + // "menu.section.registries": "Registries", + "menu.section.registries": "Registros", + + // "menu.section.registries_format": "Format", + "menu.section.registries_format": "Formatos", + + // "menu.section.registries_metadata": "Metadata", + "menu.section.registries_metadata": "Metadados", + + + + // "menu.section.statistics": "Statistics", + "menu.section.statistics": "Estatísticas", + + // "menu.section.statistics_task": "Statistics Task", + "menu.section.statistics_task": "Tarefas de Estatísticas", + + + + // "menu.section.toggle.access_control": "Toggle Access Control section", + "menu.section.toggle.access_control": "Alternar Seção Controle de Acesso", + + // "menu.section.toggle.control_panel": "Toggle Control Panel section", + "menu.section.toggle.control_panel": "Alternar Seção Painel de COntrole", + + // "menu.section.toggle.curation_task": "Toggle Curation Task section", + "menu.section.toggle.curation_task": "Alternar Seção Tarefas de Curadoria", + + // "menu.section.toggle.edit": "Toggle Edit section", + "menu.section.toggle.edit": "Alternar Seção Editar", + + // "menu.section.toggle.export": "Toggle Export section", + "menu.section.toggle.export": "Alternar Seção Exportar", + + // "menu.section.toggle.find": "Toggle Find section", + "menu.section.toggle.find": "Alternar Seção Pesquisa", + + // "menu.section.toggle.import": "Toggle Import section", + "menu.section.toggle.import": "Alternar Seção Importar", + + // "menu.section.toggle.new": "Toggle New section", + "menu.section.toggle.new": "Alternar Nova Seção", + + // "menu.section.toggle.registries": "Toggle Registries section", + "menu.section.toggle.registries": "Alternar Seção Registros", + + // "menu.section.toggle.statistics_task": "Toggle Statistics Task section", + "menu.section.toggle.statistics_task": "Alternar Seção Tarefas de Estatísticas", + + + + // "mydspace.description": "", + "mydspace.description": "", + + // "mydspace.general.text-here": "HERE", + "mydspace.general.text-here": "AQUI", + + // "mydspace.messages.controller-help": "Select this option to send a message to item's submitter.", + "mydspace.messages.controller-help": "Selecione esta opção para enviar uma mensagem para o submetedor do item.", + + // "mydspace.messages.description-placeholder": "Insert your message here...", + "mydspace.messages.description-placeholder": "Insira sua mensagem aqui...", + + // "mydspace.messages.hide-msg": "Hide message", + "mydspace.messages.hide-msg": "Ocultar mensagem", + + // "mydspace.messages.mark-as-read": "Mark as read", + "mydspace.messages.mark-as-read": "Marcar como lida", + + // "mydspace.messages.mark-as-unread": "Mark as unread", + "mydspace.messages.mark-as-unread": "Marcar como não lida", + + // "mydspace.messages.no-content": "No content.", + "mydspace.messages.no-content": "Sem conteúdo", + + // "mydspace.messages.no-messages": "No messages yet.", + "mydspace.messages.no-messages": "Nenhuma mensagem ainda", + + // "mydspace.messages.send-btn": "Send", + "mydspace.messages.send-btn": "Enviar", + + // "mydspace.messages.show-msg": "Show message", + "mydspace.messages.show-msg": "Mostrar mensagem", + + // "mydspace.messages.subject-placeholder": "Subject...", + "mydspace.messages.subject-placeholder": "Assunto...", + + // "mydspace.messages.submitter-help": "Select this option to send a message to controller.", + "mydspace.messages.submitter-help": "Selecione esta opção para enviar uma mensagem ao controlador.", + + // "mydspace.messages.title": "Messages", + "mydspace.messages.title": "Mensagens", + + // "mydspace.messages.to": "To", + "mydspace.messages.to": "Para", + + // "mydspace.new-submission": "New submission", + "mydspace.new-submission": "Nova submissão", + + // "mydspace.results.head": "Your submissions", + "mydspace.results.head": "Minhas submissões", + + // "mydspace.results.no-abstract": "No Abstract", + "mydspace.results.no-abstract": "Sem Resumo", + + // "mydspace.results.no-authors": "No Authors", + "mydspace.results.no-authors": "Sem Autores", + + // "mydspace.results.no-collections": "No Collections", + "mydspace.results.no-collections": "Sem Coleções", + + // "mydspace.results.no-date": "No Date", + "mydspace.results.no-date": "Sem Data", + + // "mydspace.results.no-files": "No Files", + "mydspace.results.no-files": "Sem arquivos", + + // "mydspace.results.no-results": "There were no items to show", + "mydspace.results.no-results": "Não havia itens a mostrar", + + // "mydspace.results.no-title": "No title", + "mydspace.results.no-title": "Sem título", + + // "mydspace.results.no-uri": "No Uri", + "mydspace.results.no-uri": "Sem Uri", + + // "mydspace.show.workflow": "All tasks", + "mydspace.show.workflow": "Todas as tarefas", + + // "mydspace.show.workspace": "Your Submissions", + "mydspace.show.workspace": "Minhas Submissões", + + // "mydspace.status.archived": "Archived", + "mydspace.status.archived": "Arquivado", + + // "mydspace.status.validation": "Validation", + "mydspace.status.validation": "Validação", + + // "mydspace.status.waiting-for-controller": "Waiting for controller", + "mydspace.status.waiting-for-controller": "Esperando pelo controlador", + + // "mydspace.status.workflow": "Workflow", + "mydspace.status.workflow": "Fluxo de trabalho", + + // "mydspace.status.workspace": "Workspace", + "mydspace.status.workspace": "Espaço de trabalho", + + // "mydspace.title": "MyDSpace", + "mydspace.title": "MyDSpace", + + // "mydspace.upload.upload-failed": "Error creating new workspace. Please verify the content uploaded before retry.", + "mydspace.upload.upload-failed": "Erro ao criar novo espaço de trabalho. Por favor verifique o conteúdo enviado antes de tentar novamente.", + + // "mydspace.upload.upload-multiple-successful": "{{qty}} new workspace items created.", + "mydspace.upload.upload-multiple-successful": "{{qty}} novo(s) item(ns) de espaço de trabalho criados.", + + // "mydspace.upload.upload-successful": "New workspace item created. Click {{here}} for edit it.", + "mydspace.upload.upload-successful": "Novo item de espaço de trabalho criado. Clique {{here}} para o editar.", + + // "mydspace.view-btn": "View", + "mydspace.view-btn": "Ver", + + + + // "nav.browse.header": "All of DSpace", + "nav.browse.header": "Tudo no DSpace", + + // "nav.community-browse.header": "By Community", + "nav.community-browse.header": "Por Comunidade", + + // "nav.language": "Language switch", + "nav.language": "Seletor de idioma", + + // "nav.login": "Log In", + "nav.login": "Entrar", + + // "nav.logout": "Log Out", + "nav.logout": "Sair", + + // "nav.mydspace": "MyDSpace", + "nav.mydspace": "MyDSpace", + + // "nav.profile": "Profile", + // TODO New key - Add a translation + "nav.profile": "Profile", + + // "nav.search": "Search", + "nav.search": "Buscar", + + // "nav.statistics.header": "Statistics", + "nav.statistics.header": "Estatísticas", + + + + // "orgunit.listelement.badge": "Organizational Unit", + "orgunit.listelement.badge": "Unidade Organizacional", + + // "orgunit.page.city": "City", + "orgunit.page.city": "Cidade", + + // "orgunit.page.country": "Country", + "orgunit.page.country": "País", + + // "orgunit.page.dateestablished": "Date established", + "orgunit.page.dateestablished": "Data estabelecida", + + // "orgunit.page.description": "Description", + "orgunit.page.description": "Descrição", + + // "orgunit.page.id": "ID", + "orgunit.page.id": "ID", + + // "orgunit.page.titleprefix": "Organizational Unit: ", + "orgunit.page.titleprefix": "Unidade Organizacional: ", + + + + // "pagination.results-per-page": "Results Per Page", + "pagination.results-per-page": "Resultados por página", + + // "pagination.showing.detail": "{{ range }} of {{ total }}", + "pagination.showing.detail": "{{ range }} de {{ total }}", + + // "pagination.showing.label": "Now showing ", + "pagination.showing.label": "Agora exibindo ", + + // "pagination.sort-direction": "Sort Options", + "pagination.sort-direction": "Opções de Ordenação", + + + + // "person.listelement.badge": "Person", + "person.listelement.badge": "Pessoa", + + // "person.page.birthdate": "Birth Date", + "person.page.birthdate": "Data de nascimento", + + // "person.page.email": "Email Address", + "person.page.email": "Endereço de Email", + + // "person.page.firstname": "First Name", + "person.page.firstname": "Primeiro Nome", + + // "person.page.jobtitle": "Job Title", + "person.page.jobtitle": "Cargo", + + // "person.page.lastname": "Last Name", + "person.page.lastname": "Último Nome", + + // "person.page.link.full": "Show all metadata", + "person.page.link.full": "Mostrar todos os metadados", + + // "person.page.orcid": "ORCID", + "person.page.orcid": "ORCID", + + // "person.page.staffid": "Staff ID", + "person.page.staffid": "ID de Equipe", + + // "person.page.titleprefix": "Person: ", + "person.page.titleprefix": "Pessoa: ", + + // "person.search.results.head": "Person Search Results", + "person.search.results.head": "Resultado da Busca de Pessoa", + + // "person.search.title": "DSpace Angular :: Person Search", + "person.search.title": "DSpace Angular :: Buscar Pessoa", + + + + // "profile.breadcrumbs": "Update Profile", + // TODO New key - Add a translation + "profile.breadcrumbs": "Update Profile", + + // "profile.card.identify": "Identify", + // TODO New key - Add a translation + "profile.card.identify": "Identify", + + // "profile.card.security": "Security", + // TODO New key - Add a translation + "profile.card.security": "Security", + + // "profile.form.submit": "Update Profile", + // TODO New key - Add a translation + "profile.form.submit": "Update Profile", + + // "profile.groups.head": "Authorization groups you belong to", + // TODO New key - Add a translation + "profile.groups.head": "Authorization groups you belong to", + + // "profile.head": "Update Profile", + // TODO New key - Add a translation + "profile.head": "Update Profile", + + // "profile.metadata.form.error.firstname.required": "First Name is required", + // TODO New key - Add a translation + "profile.metadata.form.error.firstname.required": "First Name is required", + + // "profile.metadata.form.error.lastname.required": "Last Name is required", + // TODO New key - Add a translation + "profile.metadata.form.error.lastname.required": "Last Name is required", + + // "profile.metadata.form.label.email": "Email Address", + // TODO New key - Add a translation + "profile.metadata.form.label.email": "Email Address", + + // "profile.metadata.form.label.firstname": "First Name", + // TODO New key - Add a translation + "profile.metadata.form.label.firstname": "First Name", + + // "profile.metadata.form.label.language": "Language", + // TODO New key - Add a translation + "profile.metadata.form.label.language": "Language", + + // "profile.metadata.form.label.lastname": "Last Name", + // TODO New key - Add a translation + "profile.metadata.form.label.lastname": "Last Name", + + // "profile.metadata.form.label.phone": "Contact Telephone", + // TODO New key - Add a translation + "profile.metadata.form.label.phone": "Contact Telephone", + + // "profile.metadata.form.notifications.success.content": "Your changes to the profile were saved.", + // TODO New key - Add a translation + "profile.metadata.form.notifications.success.content": "Your changes to the profile were saved.", + + // "profile.metadata.form.notifications.success.title": "Profile saved", + // TODO New key - Add a translation + "profile.metadata.form.notifications.success.title": "Profile saved", + + // "profile.notifications.warning.no-changes.content": "No changes were made to the Profile.", + // TODO New key - Add a translation + "profile.notifications.warning.no-changes.content": "No changes were made to the Profile.", + + // "profile.notifications.warning.no-changes.title": "No changes", + // TODO New key - Add a translation + "profile.notifications.warning.no-changes.title": "No changes", + + // "profile.security.form.error.matching-passwords": "The passwords do not match.", + // TODO New key - Add a translation + "profile.security.form.error.matching-passwords": "The passwords do not match.", + + // "profile.security.form.error.password-length": "The password should be at least 6 characters long.", + // TODO New key - Add a translation + "profile.security.form.error.password-length": "The password should be at least 6 characters long.", + + // "profile.security.form.info": "Optionally, you can enter a new password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", + // TODO New key - Add a translation + "profile.security.form.info": "Optionally, you can enter a new password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", + + // "profile.security.form.label.password": "Password", + // TODO New key - Add a translation + "profile.security.form.label.password": "Password", + + // "profile.security.form.label.passwordrepeat": "Retype to confirm", + // TODO New key - Add a translation + "profile.security.form.label.passwordrepeat": "Retype to confirm", + + // "profile.security.form.notifications.success.content": "Your changes to the password were saved.", + // TODO New key - Add a translation + "profile.security.form.notifications.success.content": "Your changes to the password were saved.", + + // "profile.security.form.notifications.success.title": "Password saved", + // TODO New key - Add a translation + "profile.security.form.notifications.success.title": "Password saved", + + // "profile.security.form.notifications.error.title": "Error changing passwords", + // TODO New key - Add a translation + "profile.security.form.notifications.error.title": "Error changing passwords", + + // "profile.security.form.notifications.error.not-long-enough": "The password has to be at least 6 characters long.", + // TODO New key - Add a translation + "profile.security.form.notifications.error.not-long-enough": "The password has to be at least 6 characters long.", + + // "profile.security.form.notifications.error.not-same": "The provided passwords are not the same.", + // TODO New key - Add a translation + "profile.security.form.notifications.error.not-same": "The provided passwords are not the same.", + + // "profile.title": "Update Profile", + // TODO New key - Add a translation + "profile.title": "Update Profile", + + + + // "project.listelement.badge": "Research Project", + "project.listelement.badge": "Projeto de Pesquisa", + + // "project.page.contributor": "Contributors", + "project.page.contributor": "Contribuidores", + + // "project.page.description": "Description", + "project.page.description": "Descrição", + + // "project.page.expectedcompletion": "Expected Completion", + "project.page.expectedcompletion": "Conclusão esperada", + + // "project.page.funder": "Funders", + "project.page.funder": "Financiadores", + + // "project.page.id": "ID", + "project.page.id": "ID", + + // "project.page.keyword": "Keywords", + "project.page.keyword": "Palavras-chave", + + // "project.page.status": "Status", + "project.page.status": "Estado", + + // "project.page.titleprefix": "Research Project: ", + "project.page.titleprefix": "Projeto de Pesquisa: ", + + // "project.search.results.head": "Project Search Results", + // TODO New key - Add a translation + "project.search.results.head": "Project Search Results", + + + + // "publication.listelement.badge": "Publication", + "publication.listelement.badge": "Publicação", + + // "publication.page.description": "Description", + "publication.page.description": "Descrição", + + // "publication.page.journal-issn": "Journal ISSN", + "publication.page.journal-issn": "ISSN do Periódico", + + // "publication.page.journal-title": "Journal Title", + "publication.page.journal-title": "Título do Periódico", + + // "publication.page.publisher": "Publisher", + "publication.page.publisher": "Editora", + + // "publication.page.titleprefix": "Publication: ", + "publication.page.titleprefix": "Publicação: ", + + // "publication.page.volume-title": "Volume Title", + "publication.page.volume-title": "Título do Volume", + + // "publication.search.results.head": "Publication Search Results", + "publication.search.results.head": "Resultados da Busca de Publicação", + + // "publication.search.title": "DSpace Angular :: Publication Search", + "publication.search.title": "DSpace Angular :: Busca de Publicações", + + + + // "relationships.isAuthorOf": "Authors", + "relationships.isAuthorOf": "Autores", + + // "relationships.isIssueOf": "Journal Issues", + "relationships.isIssueOf": "Fascículo", + + // "relationships.isJournalIssueOf": "Journal Issue", + "relationships.isJournalIssueOf": "Fascículo", + + // "relationships.isJournalOf": "Journals", + "relationships.isJournalOf": "Periódicos", + + // "relationships.isOrgUnitOf": "Organizational Units", + "relationships.isOrgUnitOf": "Unidades Organizacionais", + + // "relationships.isPersonOf": "Authors", + "relationships.isPersonOf": "Autores", + + // "relationships.isProjectOf": "Research Projects", + "relationships.isProjectOf": "Projetos de Pesquisa", + + // "relationships.isPublicationOf": "Publications", + "relationships.isPublicationOf": "Publicações", + + // "relationships.isPublicationOfJournalIssue": "Articles", + "relationships.isPublicationOfJournalIssue": "Artigos", + + // "relationships.isSingleJournalOf": "Journal", + "relationships.isSingleJournalOf": "Periódico", + + // "relationships.isSingleVolumeOf": "Journal Volume", + "relationships.isSingleVolumeOf": "Volume do Periódico", + + // "relationships.isVolumeOf": "Journal Volumes", + "relationships.isVolumeOf": "Volumes do Periódico", + + // "relationships.isContributorOf": "Contributors", + // TODO New key - Add a translation + "relationships.isContributorOf": "Contributors", + + + + // "search.description": "", + "search.description": "", + + // "search.switch-configuration.title": "Show", + "search.switch-configuration.title": "Mostrar", + + // "search.title": "DSpace Angular :: Search", + "search.title": "DSpace Angular :: Busca", + + // "search.breadcrumbs": "Search", + // TODO New key - Add a translation + "search.breadcrumbs": "Search", + + + // "search.filters.applied.f.author": "Author", + "search.filters.applied.f.author": "Autor", + + // "search.filters.applied.f.dateIssued.max": "End date", + "search.filters.applied.f.dateIssued.max": "Data final", + + // "search.filters.applied.f.dateIssued.min": "Start date", + "search.filters.applied.f.dateIssued.min": "Data inicial", + + // "search.filters.applied.f.dateSubmitted": "Date submitted", + "search.filters.applied.f.dateSubmitted": "Data de submissão", + + // "search.filters.applied.f.discoverable": "Private", + // TODO New key - Add a translation + "search.filters.applied.f.discoverable": "Private", + + // "search.filters.applied.f.entityType": "Item Type", + "search.filters.applied.f.entityType": "Tipo de Item", + + // "search.filters.applied.f.has_content_in_original_bundle": "Has files", + "search.filters.applied.f.has_content_in_original_bundle": "Tem arquivos", + + // "search.filters.applied.f.itemtype": "Type", + "search.filters.applied.f.itemtype": "Tipo", + + // "search.filters.applied.f.namedresourcetype": "Status", + "search.filters.applied.f.namedresourcetype": "Estado", + + // "search.filters.applied.f.subject": "Subject", + "search.filters.applied.f.subject": "Assunto", + + // "search.filters.applied.f.submitter": "Submitter", + "search.filters.applied.f.submitter": "Submetedor", + + // "search.filters.applied.f.jobTitle": "Job Title", + // TODO New key - Add a translation + "search.filters.applied.f.jobTitle": "Job Title", + + // "search.filters.applied.f.birthDate.max": "End birth date", + // TODO New key - Add a translation + "search.filters.applied.f.birthDate.max": "End birth date", + + // "search.filters.applied.f.birthDate.min": "Start birth date", + // TODO New key - Add a translation + "search.filters.applied.f.birthDate.min": "Start birth date", + + // "search.filters.applied.f.withdrawn": "Withdrawn", + // TODO New key - Add a translation + "search.filters.applied.f.withdrawn": "Withdrawn", + + + + // "search.filters.filter.author.head": "Author", + "search.filters.filter.author.head": "Autor", + + // "search.filters.filter.author.placeholder": "Author name", + "search.filters.filter.author.placeholder": "Nome do autor", + + // "search.filters.filter.birthDate.head": "Birth Date", + "search.filters.filter.birthDate.head": "Data de nascimento", + + // "search.filters.filter.birthDate.placeholder": "Birth Date", + "search.filters.filter.birthDate.placeholder": "Data de nascimento", + + // "search.filters.filter.creativeDatePublished.head": "Date Published", + "search.filters.filter.creativeDatePublished.head": "Data de publicação", + + // "search.filters.filter.creativeDatePublished.placeholder": "Date Published", + "search.filters.filter.creativeDatePublished.placeholder": "Data de publicação", + + // "search.filters.filter.creativeWorkEditor.head": "Editor", + "search.filters.filter.creativeWorkEditor.head": "Editor", + + // "search.filters.filter.creativeWorkEditor.placeholder": "Editor", + "search.filters.filter.creativeWorkEditor.placeholder": "Editor", + + // "search.filters.filter.creativeWorkKeywords.head": "Subject", + "search.filters.filter.creativeWorkKeywords.head": "Assunto", + + // "search.filters.filter.creativeWorkKeywords.placeholder": "Subject", + "search.filters.filter.creativeWorkKeywords.placeholder": "Assunto", + + // "search.filters.filter.creativeWorkPublisher.head": "Publisher", + "search.filters.filter.creativeWorkPublisher.head": "Editora", + + // "search.filters.filter.creativeWorkPublisher.placeholder": "Publisher", + "search.filters.filter.creativeWorkPublisher.placeholder": "Editora", + + // "search.filters.filter.dateIssued.head": "Date", + "search.filters.filter.dateIssued.head": "Data", + + // "search.filters.filter.dateIssued.max.placeholder": "Minimum Date", + "search.filters.filter.dateIssued.max.placeholder": "Data Mínima", + + // "search.filters.filter.dateIssued.min.placeholder": "Maximum Date", + "search.filters.filter.dateIssued.min.placeholder": "Data Máxima", + + // "search.filters.filter.dateSubmitted.head": "Date submitted", + "search.filters.filter.dateSubmitted.head": "Data de submissão", + + // "search.filters.filter.dateSubmitted.placeholder": "Date submitted", + "search.filters.filter.dateSubmitted.placeholder": "Data de submissão", + + // "search.filters.filter.discoverable.head": "Private", + // TODO New key - Add a translation + "search.filters.filter.discoverable.head": "Private", + + // "search.filters.filter.withdrawn.head": "Withdrawn", + // TODO New key - Add a translation + "search.filters.filter.withdrawn.head": "Withdrawn", + + // "search.filters.filter.entityType.head": "Item Type", + "search.filters.filter.entityType.head": "Tipo de Item", + + // "search.filters.filter.entityType.placeholder": "Item Type", + "search.filters.filter.entityType.placeholder": "Tipo de Item", + + // "search.filters.filter.has_content_in_original_bundle.head": "Has files", + "search.filters.filter.has_content_in_original_bundle.head": "Tem arquivos", + + // "search.filters.filter.itemtype.head": "Type", + "search.filters.filter.itemtype.head": "Tipo", + + // "search.filters.filter.itemtype.placeholder": "Type", + "search.filters.filter.itemtype.placeholder": "Tipo", + + // "search.filters.filter.jobTitle.head": "Job Title", + "search.filters.filter.jobTitle.head": "Cargo", + + // "search.filters.filter.jobTitle.placeholder": "Job Title", + "search.filters.filter.jobTitle.placeholder": "Cargo", + + // "search.filters.filter.knowsLanguage.head": "Known language", + "search.filters.filter.knowsLanguage.head": "Idioma conhecido", + + // "search.filters.filter.knowsLanguage.placeholder": "Known language", + "search.filters.filter.knowsLanguage.placeholder": "Idioma conhecido", + + // "search.filters.filter.namedresourcetype.head": "Status", + "search.filters.filter.namedresourcetype.head": "Estado", + + // "search.filters.filter.namedresourcetype.placeholder": "Status", + "search.filters.filter.namedresourcetype.placeholder": "Estado", + + // "search.filters.filter.objectpeople.head": "People", + "search.filters.filter.objectpeople.head": "Pessoas", + + // "search.filters.filter.objectpeople.placeholder": "People", + "search.filters.filter.objectpeople.placeholder": "Pessoas", + + // "search.filters.filter.organizationAddressCountry.head": "Country", + "search.filters.filter.organizationAddressCountry.head": "País", + + // "search.filters.filter.organizationAddressCountry.placeholder": "Country", + "search.filters.filter.organizationAddressCountry.placeholder": "País", + + // "search.filters.filter.organizationAddressLocality.head": "City", + "search.filters.filter.organizationAddressLocality.head": "Cidade", + + // "search.filters.filter.organizationAddressLocality.placeholder": "City", + "search.filters.filter.organizationAddressLocality.placeholder": "Cidade", + + // "search.filters.filter.organizationFoundingDate.head": "Date Founded", + "search.filters.filter.organizationFoundingDate.head": "Data de Fundação", + + // "search.filters.filter.organizationFoundingDate.placeholder": "Date Founded", + "search.filters.filter.organizationFoundingDate.placeholder": "Data de Fundação", + + // "search.filters.filter.scope.head": "Scope", + "search.filters.filter.scope.head": "Escopo", + + // "search.filters.filter.scope.placeholder": "Scope filter", + "search.filters.filter.scope.placeholder": "Filtrar escopo", + + // "search.filters.filter.show-less": "Collapse", + "search.filters.filter.show-less": "Mostrar menos", + + // "search.filters.filter.show-more": "Show more", + "search.filters.filter.show-more": "Mostrar mais", + + // "search.filters.filter.subject.head": "Subject", + "search.filters.filter.subject.head": "Assunto", + + // "search.filters.filter.subject.placeholder": "Subject", + "search.filters.filter.subject.placeholder": "Assunto", + + // "search.filters.filter.submitter.head": "Submitter", + "search.filters.filter.submitter.head": "Submetedor", + + // "search.filters.filter.submitter.placeholder": "Submitter", + "search.filters.filter.submitter.placeholder": "Submetedor", + + + + // "search.filters.entityType.JournalIssue": "Journal Issue", + // TODO New key - Add a translation + "search.filters.entityType.JournalIssue": "Journal Issue", + + // "search.filters.entityType.JournalVolume": "Journal Volume", + // TODO New key - Add a translation + "search.filters.entityType.JournalVolume": "Journal Volume", + + // "search.filters.entityType.OrgUnit": "Organizational Unit", + "search.filters.entityType.OrgUnit": "Unidade Organizacional", + + // "search.filters.has_content_in_original_bundle.true": "Yes", + "search.filters.has_content_in_original_bundle.true": "Sim", + + // "search.filters.has_content_in_original_bundle.false": "No", + "search.filters.has_content_in_original_bundle.false": "Não", + + // "search.filters.discoverable.true": "No", + "search.filters.discoverable.true": "Não", + + // "search.filters.discoverable.false": "Yes", + "search.filters.discoverable.false": "Sim", + + // "search.filters.withdrawn.true": "Yes", + "search.filters.withdrawn.true": "Sim", + + // "search.filters.withdrawn.false": "No", + "search.filters.withdrawn.false": "Não", + + // "search.filters.head": "Filters", + "search.filters.head": "Filtros", + + // "search.filters.reset": "Reset filters", + "search.filters.reset": "Limpar filtros", + + // "search.form.search": "Search", + "search.form.search": "Buscar", + + // "search.form.search_dspace": "Search DSpace", + "search.form.search_dspace": "Buscar no DSpace", + + // "search.form.search_mydspace": "Search MyDSpace", + "search.form.search_mydspace": "Buscar no MyDSpace", + + + + // "search.results.head": "Search Results", + "search.results.head": "Resultados de Busca", + + // "search.results.no-results": "Your search returned no results. Having trouble finding what you're looking for? Try putting", + "search.results.no-results": "Sua busca não trouxe resultados. Tendo problema em localizar o que está buscando? Tente", + + // "search.results.no-results-link": "quotes around it", + "search.results.no-results-link": "envolver entre aspas", + + // "search.results.empty": "Your search returned no results.", + "search.results.empty": "Sua pesquisa não retornou resultados.", + + + + // "search.sidebar.close": "Back to results", + "search.sidebar.close": "Voltar para os resultados", + + // "search.sidebar.filters.title": "Filters", + "search.sidebar.filters.title": "Filtros", + + // "search.sidebar.open": "Search Tools", + "search.sidebar.open": "Ferramentas de busca", + + // "search.sidebar.results": "results", + "search.sidebar.results": "resultados", + + // "search.sidebar.settings.rpp": "Results per page", + "search.sidebar.settings.rpp": "Resultados por página", + + // "search.sidebar.settings.sort-by": "Sort By", + "search.sidebar.settings.sort-by": "Ordenar por", + + // "search.sidebar.settings.title": "Settings", + "search.sidebar.settings.title": "Configurações", + + + + // "search.view-switch.show-detail": "Show detail", + "search.view-switch.show-detail": "Mostrar detalhes", + + // "search.view-switch.show-grid": "Show as grid", + "search.view-switch.show-grid": "Mostrar como grade", + + // "search.view-switch.show-list": "Show as list", + "search.view-switch.show-list": "Mostrar como lista", + + + + // "sorting.dc.title.ASC": "Title Ascending", + "sorting.dc.title.ASC": "Título Ascendente", + + // "sorting.dc.title.DESC": "Title Descending", + "sorting.dc.title.DESC": "Título Descendente", + + // "sorting.score.DESC": "Relevance", + "sorting.score.DESC": "Relevância", + + + + // "submission.edit.title": "Edit Submission", + "submission.edit.title": "Editar Submissão", + + // "submission.general.cannot_submit": "You have not the privilege to make a new submission.", + "submission.general.cannot_submit": "Você mão tem privilégios para fazer uma nova submissão.", + + // "submission.general.deposit": "Deposit", + "submission.general.deposit": "Depositar", + + // "submission.general.discard.confirm.cancel": "Cancel", + "submission.general.discard.confirm.cancel": "Cancelar", + + // "submission.general.discard.confirm.info": "This operation can't be undone. Are you sure?", + "submission.general.discard.confirm.info": "Esta operação não pode ser desfeita. Tem certeza?", + + // "submission.general.discard.confirm.submit": "Yes, I'm sure", + "submission.general.discard.confirm.submit": "Sim, tenho certeza", + + // "submission.general.discard.confirm.title": "Discard submission", + "submission.general.discard.confirm.title": "Descartar submissão", + + // "submission.general.discard.submit": "Discard", + "submission.general.discard.submit": "Descartar", + + // "submission.general.save": "Save", + "submission.general.save": "Salvar", + + // "submission.general.save-later": "Save for later", + "submission.general.save-later": "Salvar para continuar depois", + + + + // "submission.sections.describe.relationship-lookup.close": "Close", + "submission.sections.describe.relationship-lookup.close": "Fechar", + + // "submission.sections.describe.relationship-lookup.external-source.added": "Successfully added local entry to the selection", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.added": "Successfully added local entry to the selection", + + // "submission.sections.describe.relationship-lookup.external-source.import-button-title.Author": "Import remote author", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-button-title.Author": "Import remote author", + + // "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal": "Import remote journal", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal": "Import remote journal", + + // "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal Issue": "Import remote journal issue", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal Issue": "Import remote journal issue", + + // "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal Volume": "Import remote journal volume", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal Volume": "Import remote journal volume", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.title": "Import Remote Author", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.title": "Import Remote Author", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.added.local-entity": "Successfully added local author to the selection", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.added.local-entity": "Successfully added local author to the selection", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.added.new-entity": "Successfully imported and added external author to the selection", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.added.new-entity": "Successfully imported and added external author to the selection", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.authority": "Authority", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.authority": "Authority", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.authority.new": "Import as a new local authority entry", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.authority.new": "Import as a new local authority entry", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.cancel": "Cancel", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.cancel": "Cancel", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.collection": "Select a collection to import new entries to", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.collection": "Select a collection to import new entries to", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.entities": "Entities", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.entities": "Entities", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.entities.new": "Import as a new local entity", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.entities.new": "Import as a new local entity", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.lcname": "Importing from LC Name", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.head.lcname": "Importing from LC Name", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.orcid": "Importing from ORCID", + "submission.sections.describe.relationship-lookup.external-source.import-modal.head.orcid": "Importando do ORCID", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.sherpaJournal": "Importing from Sherpa Journal", + "submission.sections.describe.relationship-lookup.external-source.import-modal.head.sherpaJournal": "Importando do Sherpa Journal", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.sherpaPublisher": "Importing from Sherpa Publisher", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.head.sherpaPublisher": "Importing from Sherpa Publisher", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.import": "Import", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.import": "Import", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal.title": "Import Remote Journal", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal.title": "Import Remote Journal", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal.added.local-entity": "Successfully added local journal to the selection", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal.added.local-entity": "Successfully added local journal to the selection", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal.added.new-entity": "Successfully imported and added external journal to the selection", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal.added.new-entity": "Successfully imported and added external journal to the selection", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Issue.title": "Import Remote Journal Issue", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Issue.title": "Import Remote Journal Issue", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Issue.added.local-entity": "Successfully added local journal issue to the selection", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Issue.added.local-entity": "Successfully added local journal issue to the selection", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Issue.added.new-entity": "Successfully imported and added external journal issue to the selection", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Issue.added.new-entity": "Successfully imported and added external journal issue to the selection", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Volume.title": "Import Remote Journal Volume", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Volume.title": "Import Remote Journal Volume", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Volume.added.local-entity": "Successfully added local journal volume to the selection", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Volume.added.local-entity": "Successfully added local journal volume to the selection", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Volume.added.new-entity": "Successfully imported and added external journal volume to the selection", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Volume.added.new-entity": "Successfully imported and added external journal volume to the selection", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.select": "Select a local match:", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.select": "Select a local match:", + + // "submission.sections.describe.relationship-lookup.search-tab.deselect-all": "Deselect all", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.deselect-all": "Deselect all", + + // "submission.sections.describe.relationship-lookup.search-tab.deselect-page": "Deselect page", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.deselect-page": "Deselect page", + + // "submission.sections.describe.relationship-lookup.search-tab.loading": "Loading...", + "submission.sections.describe.relationship-lookup.search-tab.loading": "Carregando...", + + // "submission.sections.describe.relationship-lookup.search-tab.placeholder": "Search query", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.placeholder": "Search query", + + // "submission.sections.describe.relationship-lookup.search-tab.search": "Go", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.search": "Go", + + // "submission.sections.describe.relationship-lookup.search-tab.select-all": "Select all", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.select-all": "Select all", + + // "submission.sections.describe.relationship-lookup.search-tab.select-page": "Select page", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.select-page": "Select page", + + // "submission.sections.describe.relationship-lookup.selected": "Selected {{ size }} items", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selected": "Selected {{ size }} items", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Author": "Local Authors ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.Author": "Local Authors ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal": "Local Journals ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal": "Local Journals ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal Issue": "Local Journal Issues ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal Issue": "Local Journal Issues ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal Volume": "Local Journal Volumes ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal Volume": "Local Journal Volumes ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaJournal": "Sherpa Journals ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaJournal": "Sherpa Journals ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaPublisher": "Sherpa Publishers ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaPublisher": "Sherpa Publishers ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.orcid": "ORCID ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.orcid": "ORCID ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.lcname": "LC Names ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.lcname": "LC Names ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Funding Agency": "Search for Funding Agencies", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.Funding Agency": "Search for Funding Agencies", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Funding": "Search for Funding", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.Funding": "Search for Funding", + + // "submission.sections.describe.relationship-lookup.selection-tab.tab-title": "Current Selection ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.tab-title": "Current Selection ({{ count }})", + + // "submission.sections.describe.relationship-lookup.title.Journal Issue": "Journal Issues", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.Journal Issue": "Journal Issues", + + // "submission.sections.describe.relationship-lookup.title.Journal Volume": "Journal Volumes", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.Journal Volume": "Journal Volumes", + + // "submission.sections.describe.relationship-lookup.title.Journal": "Journals", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.Journal": "Journals", + + // "submission.sections.describe.relationship-lookup.title.Author": "Authors", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.Author": "Authors", + + // "submission.sections.describe.relationship-lookup.title.Funding Agency": "Funding Agency", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.Funding Agency": "Funding Agency", + + // "submission.sections.describe.relationship-lookup.title.Funding": "Funding", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.Funding": "Funding", + + // "submission.sections.describe.relationship-lookup.search-tab.toggle-dropdown": "Toggle dropdown", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.toggle-dropdown": "Toggle dropdown", + + // "submission.sections.describe.relationship-lookup.selection-tab.settings": "Settings", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.settings": "Settings", + + // "submission.sections.describe.relationship-lookup.selection-tab.no-selection": "Your selection is currently empty.", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.no-selection": "Your selection is currently empty.", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.Author": "Selected Authors", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.Author": "Selected Authors", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.Journal": "Selected Journals", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.Journal": "Selected Journals", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.Journal Volume": "Selected Journal Volume", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.Journal Volume": "Selected Journal Volume", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.Journal Issue": "Selected Issue", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.Journal Issue": "Selected Issue", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.sherpaJournal": "Search Results", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.sherpaJournal": "Search Results", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.sherpaPublisher": "Search Results", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.sherpaPublisher": "Search Results", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.orcid": "Search Results", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.orcid": "Search Results", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.lcname": "Search Results", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.lcname": "Search Results", + + // "submission.sections.describe.relationship-lookup.name-variant.notification.content": "Would you like to save \"{{ value }}\" as a name variant for this person so you and others can reuse it for future submissions? If you don\'t you can still use it for this submission.", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.name-variant.notification.content": "Would you like to save \"{{ value }}\" as a name variant for this person so you and others can reuse it for future submissions? If you don\'t you can still use it for this submission.", + + // "submission.sections.describe.relationship-lookup.name-variant.notification.confirm": "Save a new name variant", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.name-variant.notification.confirm": "Save a new name variant", + + // "submission.sections.describe.relationship-lookup.name-variant.notification.decline": "Use only for this submission", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.name-variant.notification.decline": "Use only for this submission", + + // "submission.sections.general.add-more": "Add more", + "submission.sections.general.add-more": "Adicionar mais", + + // "submission.sections.general.collection": "Collection", + "submission.sections.general.collection": "Coleção", + + // "submission.sections.general.deposit_error_notice": "There was an issue when submitting the item, please try again later.", + "submission.sections.general.deposit_error_notice": "Houve um problema durante a submissão do item, por favor tente novamente mais tarde.", + + // "submission.sections.general.deposit_success_notice": "Submission deposited successfully.", + "submission.sections.general.deposit_success_notice": "Submissão depositada com sucesso.", + + // "submission.sections.general.discard_error_notice": "There was an issue when discarding the item, please try again later.", + "submission.sections.general.discard_error_notice": "Houve um problema ao descartar o item, por favor tente novamente mais tarde.", + + // "submission.sections.general.discard_success_notice": "Submission discarded successfully.", + "submission.sections.general.discard_success_notice": "Submissão descartada com sucesso.", + + // "submission.sections.general.metadata-extracted": "New metadata have been extracted and added to the {{sectionId}} section.", + "submission.sections.general.metadata-extracted": "Novos metadados foram extraídos e adicionados a seção {{sectionId}}.", + + // "submission.sections.general.metadata-extracted-new-section": "New {{sectionId}} section has been added to submission.", + "submission.sections.general.metadata-extracted-new-section": "Nova seção {{sectionId}} foi adicionada a dubmissão.", + + // "submission.sections.general.no-collection": "No collection found", + "submission.sections.general.no-collection": "Nenhuma coleção encontrada", + + // "submission.sections.general.no-sections": "No options available", + "submission.sections.general.no-sections": "Sem opções disponíveis", + + // "submission.sections.general.save_error_notice": "There was an issue when saving the item, please try again later.", + "submission.sections.general.save_error_notice": "Houve um problema ao salvar o item, por favor tente novamente mais tarde.", + + // "submission.sections.general.save_success_notice": "Submission saved successfully.", + "submission.sections.general.save_success_notice": "Submissão salva com sucesso.", + + // "submission.sections.general.search-collection": "Search for a collection", + "submission.sections.general.search-collection": "Buscar uma coleção", + + // "submission.sections.general.sections_not_valid": "There are incomplete sections.", + "submission.sections.general.sections_not_valid": "Há seções incompletas.", + + + + // "submission.sections.submit.progressbar.cclicense": "Creative commons license", + "submission.sections.submit.progressbar.cclicense": "Licença creative commons", + + // "submission.sections.submit.progressbar.describe.recycle": "Recycle", + "submission.sections.submit.progressbar.describe.recycle": "Reciclar", + + // "submission.sections.submit.progressbar.describe.stepcustom": "Describe", + "submission.sections.submit.progressbar.describe.stepcustom": "Descrever", + + // "submission.sections.submit.progressbar.describe.stepone": "Describe", + "submission.sections.submit.progressbar.describe.stepone": "Descrever", + + // "submission.sections.submit.progressbar.describe.steptwo": "Describe", + "submission.sections.submit.progressbar.describe.steptwo": "Descrever", + + // "submission.sections.submit.progressbar.detect-duplicate": "Potential duplicates", + "submission.sections.submit.progressbar.detect-duplicate": "Duplicados em potencial", + + // "submission.sections.submit.progressbar.license": "Deposit license", + "submission.sections.submit.progressbar.license": "Depositar licença", + + // "submission.sections.submit.progressbar.upload": "Upload files", + "submission.sections.submit.progressbar.upload": "Enviar arquivos", + + + + // "submission.sections.upload.delete.confirm.cancel": "Cancel", + "submission.sections.upload.delete.confirm.cancel": "Cancelar", + + // "submission.sections.upload.delete.confirm.info": "This operation can't be undone. Are you sure?", + "submission.sections.upload.delete.confirm.info": "Esta operação é irreversível. Tem certeza?", + + // "submission.sections.upload.delete.confirm.submit": "Yes, I'm sure", + "submission.sections.upload.delete.confirm.submit": "Sim, tenho certeza", + + // "submission.sections.upload.delete.confirm.title": "Delete bitstream", + "submission.sections.upload.delete.confirm.title": "Remover bitstream", + + // "submission.sections.upload.delete.submit": "Delete", + "submission.sections.upload.delete.submit": "Remover", + + // "submission.sections.upload.drop-message": "Drop files to attach them to the item", + "submission.sections.upload.drop-message": "Arraste arquivos para anexá-los ao item", + + // "submission.sections.upload.form.access-condition-label": "Access condition type", + "submission.sections.upload.form.access-condition-label": "Tipo de condição de acesso", + + // "submission.sections.upload.form.date-required": "Date is required.", + "submission.sections.upload.form.date-required": "Data necessária.", + + // "submission.sections.upload.form.from-label": "Access grant from", + "submission.sections.upload.form.from-label": "Acesso permitido a partir de", + + // "submission.sections.upload.form.from-placeholder": "From", + "submission.sections.upload.form.from-placeholder": "De", + + // "submission.sections.upload.form.group-label": "Group", + "submission.sections.upload.form.group-label": "Grupo", + + // "submission.sections.upload.form.group-required": "Group is required.", + "submission.sections.upload.form.group-required": "Grupo é necessário.", + + // "submission.sections.upload.form.until-label": "Access grant until", + "submission.sections.upload.form.until-label": "Acesso permitido até", + + // "submission.sections.upload.form.until-placeholder": "Until", + "submission.sections.upload.form.until-placeholder": "Até", + + // "submission.sections.upload.header.policy.default.nolist": "Uploaded files in the {{collectionName}} collection will be accessible according to the following group(s):", + "submission.sections.upload.header.policy.default.nolist": "Arquivos enviados na coleção {{collectionName}} serão acessiveis de acordo com o(s) seguinte(s) grupo(s):", + + // "submission.sections.upload.header.policy.default.withlist": "Please note that uploaded files in the {{collectionName}} collection will be accessible, in addition to what is explicitly decided for the single file, with the following group(s):", + "submission.sections.upload.header.policy.default.withlist": "Por favor note que arquivos enviados a coleção {{collectionName}} serão acessíveis, de acordo com o que está explicitamente definido no arquivo, no(s) seguinte(s) grupo(s):", + + // "submission.sections.upload.info": "Here you will find all the files currently in the item. You can update the file metadata and access conditions or upload additional files just dragging & dropping them everywhere in the page", + "submission.sections.upload.info": "Aqui voCẽ encontra todos os arquivos que estão atualmente no item. Você pode atualizar os metadados do arquivo e condições de acesso ou enviar arquivos adicionais apenas arrastando os arquivos em qualquer lugar da página", + + // "submission.sections.upload.no-entry": "No", + "submission.sections.upload.no-entry": "Não", + + // "submission.sections.upload.no-file-uploaded": "No file uploaded yet.", + "submission.sections.upload.no-file-uploaded": "Nenhum arquivo enviado ainda.", + + // "submission.sections.upload.save-metadata": "Save metadata", + "submission.sections.upload.save-metadata": "Salvar metadados", + + // "submission.sections.upload.undo": "Cancel", + "submission.sections.upload.undo": "Cancelar", + + // "submission.sections.upload.upload-failed": "Upload failed", + "submission.sections.upload.upload-failed": "Falha no envio", + + // "submission.sections.upload.upload-successful": "Upload successful", + "submission.sections.upload.upload-successful": "Enviado com sucesso", + + + + // "submission.submit.title": "Submission", + "submission.submit.title": "Submissão", + + + + // "submission.workflow.generic.delete": "Delete", + "submission.workflow.generic.delete": "Apagar", + + // "submission.workflow.generic.delete-help": "If you would to discard this item, select \"Delete\". You will then be asked to confirm it.", + "submission.workflow.generic.delete-help": "Se você gostaria de descartar este item, selecione \"Apagar\". Você será questionado para confirmar.", + + // "submission.workflow.generic.edit": "Edit", + "submission.workflow.generic.edit": "Editar", + + // "submission.workflow.generic.edit-help": "Select this option to change the item's metadata.", + "submission.workflow.generic.edit-help": "Selecione esta opção para modificar os metadados do item.", + + // "submission.workflow.generic.view": "View", + "submission.workflow.generic.view": "Visualizar", + + // "submission.workflow.generic.view-help": "Select this option to view the item's metadata.", + "submission.workflow.generic.view-help": "Selecione esta opção para ver o metadados do item.", + + + + // "submission.workflow.tasks.claimed.approve": "Approve", + "submission.workflow.tasks.claimed.approve": "Aprovar", + + // "submission.workflow.tasks.claimed.approve_help": "If you have reviewed the item and it is suitable for inclusion in the collection, select \"Approve\".", + "submission.workflow.tasks.claimed.approve_help": "Se você revisou o item e este está adequado para inclusão na coleção, selecione \"Aprovar\".", + + // "submission.workflow.tasks.claimed.edit": "Edit", + "submission.workflow.tasks.claimed.edit": "Editar", + + // "submission.workflow.tasks.claimed.edit_help": "Select this option to change the item's metadata.", + "submission.workflow.tasks.claimed.edit_help": "Selecione esta opção para modificar os metadados do item.", + + // "submission.workflow.tasks.claimed.reject.reason.info": "Please enter your reason for rejecting the submission into the box below, indicating whether the submitter may fix a problem and resubmit.", + "submission.workflow.tasks.claimed.reject.reason.info": "Por favor informe o motivo pela rejeição da submissão na caixa abaixo, indicando se o submetedor pode corrigir um problema e reenviar.", + + // "submission.workflow.tasks.claimed.reject.reason.placeholder": "Describe the reason of reject", + "submission.workflow.tasks.claimed.reject.reason.placeholder": "Descreva o motivo da rejeição", + + // "submission.workflow.tasks.claimed.reject.reason.submit": "Reject item", + "submission.workflow.tasks.claimed.reject.reason.submit": "Rejeitar item", + + // "submission.workflow.tasks.claimed.reject.reason.title": "Reason", + "submission.workflow.tasks.claimed.reject.reason.title": "Motivo", + + // "submission.workflow.tasks.claimed.reject.submit": "Reject", + "submission.workflow.tasks.claimed.reject.submit": "Rejeitar", + + // "submission.workflow.tasks.claimed.reject_help": "If you have reviewed the item and found it is not suitable for inclusion in the collection, select \"Reject\". You will then be asked to enter a message indicating why the item is unsuitable, and whether the submitter should change something and resubmit.", + "submission.workflow.tasks.claimed.reject_help": "Se você revisou o item e achou que ele não é adequado para inclusão na coleção, selecione \"Rejeitar\". Você será questionado a informar uma mensagem indicando porque o item está inadequado e se o submetedor deve modificar algo e reenviar.", + + // "submission.workflow.tasks.claimed.return": "Return to pool", + "submission.workflow.tasks.claimed.return": "Retornar para o conjunto", + + // "submission.workflow.tasks.claimed.return_help": "Return the task to the pool so that another user may perform the task.", + "submission.workflow.tasks.claimed.return_help": "Retornar a tarefa para o conjunto para que outra pessoa possa a fazer.", + + + + // "submission.workflow.tasks.generic.error": "Error occurred during operation...", + "submission.workflow.tasks.generic.error": "Ocorreu um erro durante a operação...", + + // "submission.workflow.tasks.generic.processing": "Processing...", + "submission.workflow.tasks.generic.processing": "Processando...", + + // "submission.workflow.tasks.generic.submitter": "Submitter", + "submission.workflow.tasks.generic.submitter": "Submetedor", + + // "submission.workflow.tasks.generic.success": "Operation successful", + "submission.workflow.tasks.generic.success": "Operação realizada com sucesso", + + + + // "submission.workflow.tasks.pool.claim": "Claim", + "submission.workflow.tasks.pool.claim": "Requerer", + + // "submission.workflow.tasks.pool.claim_help": "Assign this task to yourself.", + "submission.workflow.tasks.pool.claim_help": "Atribua esta tarefa a si mesmo.", + + // "submission.workflow.tasks.pool.hide-detail": "Hide detail", + "submission.workflow.tasks.pool.hide-detail": "Ocultar detalhes", + + // "submission.workflow.tasks.pool.show-detail": "Show detail", + "submission.workflow.tasks.pool.show-detail": "Mostrar detalhes", + + + + // "title": "DSpace", + "title": "DSpace", + + + // "administrativeView.search.results.head": "Administrative Search", + // TODO New key - Add a translation + "administrativeView.search.results.head": "Administrative Search", + + // "menu.section.admin_search": "Admin Search", + // TODO New key - Add a translation + "menu.section.admin_search": "Admin Search", + + + + // "uploader.browse": "browse", + "uploader.browse": "Navegar", + + // "uploader.drag-message": "Drag & Drop your files here", + "uploader.drag-message": "Clique e arraste seus arquivos aqui", + + // "uploader.or": ", or", + "uploader.or": ", ou", + + // "uploader.processing": "Processing", + "uploader.processing": "Processando", + + // "uploader.queue-length": "Queue length", + "uploader.queue-length": "Tamanho da fila", + + // "virtual-metadata.delete-item.info": "Select the types for which you want to save the virtual metadata as real metadata", + // TODO New key - Add a translation + "virtual-metadata.delete-item.info": "Select the types for which you want to save the virtual metadata as real metadata", + + // "virtual-metadata.delete-item.modal-head": "The virtual metadata of this relation", + // TODO New key - Add a translation + "virtual-metadata.delete-item.modal-head": "The virtual metadata of this relation", + + // "virtual-metadata.delete-relationship.modal-head": "Select the items for which you want to save the virtual metadata as real metadata", + // TODO New key - Add a translation + "virtual-metadata.delete-relationship.modal-head": "Select the items for which you want to save the virtual metadata as real metadata", + + + +} diff --git a/src/environments/environment.common.ts b/src/environments/environment.common.ts index 36d1a06c43..c6ae9858e5 100644 --- a/src/environments/environment.common.ts +++ b/src/environments/environment.common.ts @@ -157,8 +157,12 @@ export const environment: GlobalConfig = { code: 'nl', label: 'Nederlands', active: true, - }, { - code: 'pt', + },{ + code: 'pt-BR', + label: 'Português do Brasil', + active: true, + },{ + code: 'pt-PT', label: 'Português', active: true, }, { From b7dbfb9745617113fe6eb01b77d9e2213c2c4829 Mon Sep 17 00:00:00 2001 From: Bram Luyten Date: Thu, 11 Mar 2021 18:51:32 +0100 Subject: [PATCH 078/106] Sync up translations with latest changes to en.json5 --- src/assets/i18n/ar.json5 | 2104 +++++++- src/assets/i18n/cs.json5 | 2104 +++++++- src/assets/i18n/de.json5 | 2123 +++++++- src/assets/i18n/es.json5 | 9007 +++++++++++++++++++------------- src/assets/i18n/fi.json5 | 2130 +++++++- src/assets/i18n/fr.json5 | 2099 +++++++- src/assets/i18n/hu.json5 | 9850 +++++++++++++++++------------------ src/assets/i18n/ja.json5 | 2104 +++++++- src/assets/i18n/lv.json5 | 8478 ++++++++++++++++++------------ src/assets/i18n/nl.json5 | 2100 +++++++- src/assets/i18n/pl.json5 | 2104 +++++++- src/assets/i18n/pt-BR.json5 | 8946 ++++++++++++++++++------------- src/assets/i18n/pt-PT.json5 | 8946 ++++++++++++++++++------------- src/assets/i18n/sw.json5 | 2104 +++++++- src/assets/i18n/tr.json5 | 2104 +++++++- 15 files changed, 46967 insertions(+), 19336 deletions(-) diff --git a/src/assets/i18n/ar.json5 b/src/assets/i18n/ar.json5 index a2a7042d33..c4ea2a0d9e 100644 --- a/src/assets/i18n/ar.json5 +++ b/src/assets/i18n/ar.json5 @@ -1,5 +1,33 @@ { + // "401.help": "You're not authorized to access this page. You can use the button below to get back to the home page.", + // TODO New key - Add a translation + "401.help": "You're not authorized to access this page. You can use the button below to get back to the home page.", + + // "401.link.home-page": "Take me to the home page", + // TODO New key - Add a translation + "401.link.home-page": "Take me to the home page", + + // "401.unauthorized": "unauthorized", + // TODO New key - Add a translation + "401.unauthorized": "unauthorized", + + + + // "403.help": "You don't have permission to access this page. You can use the button below to get back to the home page.", + // TODO New key - Add a translation + "403.help": "You don't have permission to access this page. You can use the button below to get back to the home page.", + + // "403.link.home-page": "Take me to the home page", + // TODO New key - Add a translation + "403.link.home-page": "Take me to the home page", + + // "403.forbidden": "forbidden", + // TODO New key - Add a translation + "403.forbidden": "forbidden", + + + // "404.help": "We can't find the page you're looking for. The page may have been moved or deleted. You can use the button below to get back to the home page. ", // TODO New key - Add a translation "404.help": "We can't find the page you're looking for. The page may have been moved or deleted. You can use the button below to get back to the home page. ", @@ -12,7 +40,25 @@ // TODO New key - Add a translation "404.page-not-found": "page not found", + // "admin.curation-tasks.breadcrumbs": "System curation tasks", + // TODO New key - Add a translation + "admin.curation-tasks.breadcrumbs": "System curation tasks", + // "admin.curation-tasks.title": "System curation tasks", + // TODO New key - Add a translation + "admin.curation-tasks.title": "System curation tasks", + + // "admin.curation-tasks.header": "System curation tasks", + // TODO New key - Add a translation + "admin.curation-tasks.header": "System curation tasks", + + // "admin.registries.bitstream-formats.breadcrumbs": "Format registry", + // TODO New key - Add a translation + "admin.registries.bitstream-formats.breadcrumbs": "Format registry", + + // "admin.registries.bitstream-formats.create.breadcrumbs": "Bitstream format", + // TODO New key - Add a translation + "admin.registries.bitstream-formats.create.breadcrumbs": "Bitstream format", // "admin.registries.bitstream-formats.create.failure.content": "An error occurred while creating the new bitstream format.", // TODO New key - Add a translation @@ -58,6 +104,10 @@ // TODO New key - Add a translation "admin.registries.bitstream-formats.description": "This list of bitstream formats provides information about known formats and their support level.", + // "admin.registries.bitstream-formats.edit.breadcrumbs": "Bitstream format", + // TODO New key - Add a translation + "admin.registries.bitstream-formats.edit.breadcrumbs": "Bitstream format", + // "admin.registries.bitstream-formats.edit.description.hint": "", // TODO New key - Add a translation "admin.registries.bitstream-formats.edit.description.hint": "", @@ -184,6 +234,10 @@ + // "admin.registries.metadata.breadcrumbs": "Metadata registry", + // TODO New key - Add a translation + "admin.registries.metadata.breadcrumbs": "Metadata registry", + // "admin.registries.metadata.description": "The metadata registry maintains a list of all metadata fields available in the repository. These fields may be divided amongst multiple schemas. However, DSpace requires the qualified Dublin Core schema.", // TODO New key - Add a translation "admin.registries.metadata.description": "The metadata registry maintains a list of all metadata fields available in the repository. These fields may be divided amongst multiple schemas. However, DSpace requires the qualified Dublin Core schema.", @@ -234,6 +288,10 @@ + // "admin.registries.schema.breadcrumbs": "Metadata schema", + // TODO New key - Add a translation + "admin.registries.schema.breadcrumbs": "Metadata schema", + // "admin.registries.schema.description": "This is the metadata schema for \"{{namespace}}\".", // TODO New key - Add a translation "admin.registries.schema.description": "This is the metadata schema for \"{{namespace}}\".", @@ -332,6 +390,22 @@ + // "admin.access-control.epeople.actions.delete": "Delete EPerson", + // TODO New key - Add a translation + "admin.access-control.epeople.actions.delete": "Delete EPerson", + + // "admin.access-control.epeople.actions.impersonate": "Impersonate EPerson", + // TODO New key - Add a translation + "admin.access-control.epeople.actions.impersonate": "Impersonate EPerson", + + // "admin.access-control.epeople.actions.reset": "Reset password", + // TODO New key - Add a translation + "admin.access-control.epeople.actions.reset": "Reset password", + + // "admin.access-control.epeople.actions.stop-impersonating": "Stop impersonating EPerson", + // TODO New key - Add a translation + "admin.access-control.epeople.actions.stop-impersonating": "Stop impersonating EPerson", + // "admin.access-control.epeople.title": "DSpace Angular :: EPeople", // TODO New key - Add a translation "admin.access-control.epeople.title": "DSpace Angular :: EPeople", @@ -448,6 +522,14 @@ // TODO New key - Add a translation "admin.access-control.epeople.form.notification.edited.failure": "Failed to edit EPerson \"{{name}}\"", + // "admin.access-control.epeople.form.notification.deleted.success": "Successfully deleted EPerson \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.epeople.form.notification.deleted.success": "Successfully deleted EPerson \"{{name}}\"", + + // "admin.access-control.epeople.form.notification.deleted.failure": "Failed to delete EPerson \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.epeople.form.notification.deleted.failure": "Failed to delete EPerson \"{{name}}\"", + // "admin.access-control.epeople.form.groupsEPersonIsMemberOf": "Member of these groups:", // TODO New key - Add a translation "admin.access-control.epeople.form.groupsEPersonIsMemberOf": "Member of these groups:", @@ -482,6 +564,14 @@ // TODO New key - Add a translation "admin.access-control.groups.title": "DSpace Angular :: Groups", + // "admin.access-control.groups.title.singleGroup": "DSpace Angular :: Edit Group", + // TODO New key - Add a translation + "admin.access-control.groups.title.singleGroup": "DSpace Angular :: Edit Group", + + // "admin.access-control.groups.title.addGroup": "DSpace Angular :: New Group", + // TODO New key - Add a translation + "admin.access-control.groups.title.addGroup": "DSpace Angular :: New Group", + // "admin.access-control.groups.head": "Groups", // TODO New key - Add a translation "admin.access-control.groups.head": "Groups", @@ -514,10 +604,6 @@ // TODO New key - Add a translation "admin.access-control.groups.table.members": "Members", - // "admin.access-control.groups.table.comcol": "Community / Collection", - // TODO New key - Add a translation - "admin.access-control.groups.table.comcol": "Community / Collection", - // "admin.access-control.groups.table.edit": "Edit", // TODO New key - Add a translation "admin.access-control.groups.table.edit": "Edit", @@ -538,10 +624,23 @@ // TODO New key - Add a translation "admin.access-control.groups.notification.deleted.success": "Successfully deleted group \"{{name}}\"", - // "admin.access-control.groups.notification.deleted.failure": "Failed to delete group \"{{name}}\"", + // "admin.access-control.groups.notification.deleted.failure.title": "Failed to delete group \"{{name}}\"", // TODO New key - Add a translation - "admin.access-control.groups.notification.deleted.failure": "Failed to delete group \"{{name}}\"", + "admin.access-control.groups.notification.deleted.failure.title": "Failed to delete group \"{{name}}\"", + // "admin.access-control.groups.notification.deleted.failure.content": "Cause: \"{{cause}}\"", + // TODO New key - Add a translation + "admin.access-control.groups.notification.deleted.failure.content": "Cause: \"{{cause}}\"", + + + + // "admin.access-control.groups.form.alert.permanent": "This group is permanent, so it can't be edited or deleted. You can still add and remove group members using this page.", + // TODO New key - Add a translation + "admin.access-control.groups.form.alert.permanent": "This group is permanent, so it can't be edited or deleted. You can still add and remove group members using this page.", + + // "admin.access-control.groups.form.alert.workflowGroup": "This group can’t be modified or deleted because it corresponds to a role in the submission and workflow process in the \"{{name}}\" {{comcol}}. You can delete it from the \"assign roles\" tab on the edit {{comcol}} page. You can still add and remove group members using this page.", + // TODO New key - Add a translation + "admin.access-control.groups.form.alert.workflowGroup": "This group can’t be modified or deleted because it corresponds to a role in the submission and workflow process in the \"{{name}}\" {{comcol}}. You can delete it from the \"assign roles\" tab on the edit {{comcol}} page. You can still add and remove group members using this page.", // "admin.access-control.groups.form.head.create": "Create group", // TODO New key - Add a translation @@ -571,6 +670,50 @@ // TODO New key - Add a translation "admin.access-control.groups.form.notification.created.failure.groupNameInUse": "Failed to create Group with name: \"{{name}}\", make sure the name is not already in use.", + // "admin.access-control.groups.form.notification.edited.failure": "Failed to edit Group \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.edited.failure": "Failed to edit Group \"{{name}}\"", + + // "admin.access-control.groups.form.notification.edited.failure.groupNameInUse": "Name \"{{name}}\" already in use!", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.edited.failure.groupNameInUse": "Name \"{{name}}\" already in use!", + + // "admin.access-control.groups.form.notification.edited.success": "Successfully edited Group \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.edited.success": "Successfully edited Group \"{{name}}\"", + + // "admin.access-control.groups.form.actions.delete": "Delete Group", + // TODO New key - Add a translation + "admin.access-control.groups.form.actions.delete": "Delete Group", + + // "admin.access-control.groups.form.delete-group.modal.header": "Delete Group \"{{ dsoName }}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.delete-group.modal.header": "Delete Group \"{{ dsoName }}\"", + + // "admin.access-control.groups.form.delete-group.modal.info": "Are you sure you want to delete Group \"{{ dsoName }}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.delete-group.modal.info": "Are you sure you want to delete Group \"{{ dsoName }}\"", + + // "admin.access-control.groups.form.delete-group.modal.cancel": "Cancel", + // TODO New key - Add a translation + "admin.access-control.groups.form.delete-group.modal.cancel": "Cancel", + + // "admin.access-control.groups.form.delete-group.modal.confirm": "Delete", + // TODO New key - Add a translation + "admin.access-control.groups.form.delete-group.modal.confirm": "Delete", + + // "admin.access-control.groups.form.notification.deleted.success": "Successfully deleted group \"{{ name }}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.deleted.success": "Successfully deleted group \"{{ name }}\"", + + // "admin.access-control.groups.form.notification.deleted.failure.title": "Failed to delete group \"{{ name }}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.deleted.failure.title": "Failed to delete group \"{{ name }}\"", + + // "admin.access-control.groups.form.notification.deleted.failure.content": "Cause: \"{{ cause }}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.deleted.failure.content": "Cause: \"{{ cause }}\"", + // "admin.access-control.groups.form.members-list.head": "EPeople", // TODO New key - Add a translation "admin.access-control.groups.form.members-list.head": "EPeople", @@ -647,6 +790,10 @@ // TODO New key - Add a translation "admin.access-control.groups.form.members-list.no-items": "No EPeople found in that search", + // "admin.access-control.groups.form.subgroups-list.notification.failure": "Something went wrong: \"{{cause}}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.subgroups-list.notification.failure": "Something went wrong: \"{{cause}}\"", + // "admin.access-control.groups.form.subgroups-list.head": "Groups", // TODO New key - Add a translation "admin.access-control.groups.form.subgroups-list.head": "Groups", @@ -761,10 +908,6 @@ // TODO New key - Add a translation "admin.search.item.move": "Move", - // "admin.search.item.private": "Private", - // TODO New key - Add a translation - "admin.search.item.private": "Private", - // "admin.search.item.reinstate": "Reinstate", // TODO New key - Add a translation "admin.search.item.reinstate": "Reinstate", @@ -773,14 +916,76 @@ // TODO New key - Add a translation "admin.search.item.withdraw": "Withdraw", - // "admin.search.item.withdrawn": "Withdrawn", - // TODO New key - Add a translation - "admin.search.item.withdrawn": "Withdrawn", - // "admin.search.title": "Administrative Search", // TODO New key - Add a translation "admin.search.title": "Administrative Search", + // "administrativeView.search.results.head": "Administrative Search", + // TODO New key - Add a translation + "administrativeView.search.results.head": "Administrative Search", + + + + + // "admin.workflow.breadcrumbs": "Administer Workflow", + // TODO New key - Add a translation + "admin.workflow.breadcrumbs": "Administer Workflow", + + // "admin.workflow.title": "Administer Workflow", + // TODO New key - Add a translation + "admin.workflow.title": "Administer Workflow", + + // "admin.workflow.item.workflow": "Workflow", + // TODO New key - Add a translation + "admin.workflow.item.workflow": "Workflow", + + // "admin.workflow.item.delete": "Delete", + // TODO New key - Add a translation + "admin.workflow.item.delete": "Delete", + + // "admin.workflow.item.send-back": "Send back", + // TODO New key - Add a translation + "admin.workflow.item.send-back": "Send back", + + + + // "admin.metadata-import.breadcrumbs": "Import Metadata", + // TODO New key - Add a translation + "admin.metadata-import.breadcrumbs": "Import Metadata", + + // "admin.metadata-import.title": "Import Metadata", + // TODO New key - Add a translation + "admin.metadata-import.title": "Import Metadata", + + // "admin.metadata-import.page.header": "Import Metadata", + // TODO New key - Add a translation + "admin.metadata-import.page.header": "Import Metadata", + + // "admin.metadata-import.page.help": "You can drop or browse CSV files that contain batch metadata operations on files here", + // TODO New key - Add a translation + "admin.metadata-import.page.help": "You can drop or browse CSV files that contain batch metadata operations on files here", + + // "admin.metadata-import.page.dropMsg": "Drop a metadata CSV to import", + // TODO New key - Add a translation + "admin.metadata-import.page.dropMsg": "Drop a metadata CSV to import", + + // "admin.metadata-import.page.dropMsgReplace": "Drop to replace the metadata CSV to import", + // TODO New key - Add a translation + "admin.metadata-import.page.dropMsgReplace": "Drop to replace the metadata CSV to import", + + // "admin.metadata-import.page.button.return": "Return", + // TODO New key - Add a translation + "admin.metadata-import.page.button.return": "Return", + + // "admin.metadata-import.page.button.proceed": "Proceed", + // TODO New key - Add a translation + "admin.metadata-import.page.button.proceed": "Proceed", + + // "admin.metadata-import.page.error.addFile": "Select file first!", + // TODO New key - Add a translation + "admin.metadata-import.page.error.addFile": "Select file first!", + + // "auth.errors.invalid-user": "Invalid email address or password.", @@ -1018,6 +1223,10 @@ // TODO New key - Add a translation "collection.create.sub-head": "Create a Collection for Community {{ parent }}", + // "collection.curate.header": "Curate Collection: {{collection}}", + // TODO New key - Add a translation + "collection.curate.header": "Curate Collection: {{collection}}", + // "collection.delete.cancel": "Cancel", // TODO New key - Add a translation "collection.delete.cancel": "Cancel", @@ -1058,6 +1267,14 @@ + // "collection.edit.tabs.mapper.head": "Item Mapper", + // TODO New key - Add a translation + "collection.edit.tabs.mapper.head": "Item Mapper", + + // "collection.edit.tabs.item-mapper.title": "Collection Edit - Item Mapper", + // TODO New key - Add a translation + "collection.edit.tabs.item-mapper.title": "Collection Edit - Item Mapper", + // "collection.edit.item-mapper.cancel": "Cancel", // TODO New key - Add a translation "collection.edit.item-mapper.cancel": "Cancel", @@ -1176,6 +1393,14 @@ // TODO New key - Add a translation "collection.edit.tabs.curate.title": "Collection Edit - Curate", + // "collection.edit.tabs.authorizations.head": "Authorizations", + // TODO New key - Add a translation + "collection.edit.tabs.authorizations.head": "Authorizations", + + // "collection.edit.tabs.authorizations.title": "Collection Edit - Authorizations", + // TODO New key - Add a translation + "collection.edit.tabs.authorizations.title": "Collection Edit - Authorizations", + // "collection.edit.tabs.metadata.head": "Edit Metadata", // TODO New key - Add a translation "collection.edit.tabs.metadata.head": "Edit Metadata", @@ -1266,6 +1491,48 @@ + // "collection.edit.template.add-button": "Add", + // TODO New key - Add a translation + "collection.edit.template.add-button": "Add", + + // "collection.edit.template.breadcrumbs": "Item template", + // TODO New key - Add a translation + "collection.edit.template.breadcrumbs": "Item template", + + // "collection.edit.template.cancel": "Cancel", + // TODO New key - Add a translation + "collection.edit.template.cancel": "Cancel", + + // "collection.edit.template.delete-button": "Delete", + // TODO New key - Add a translation + "collection.edit.template.delete-button": "Delete", + + // "collection.edit.template.edit-button": "Edit", + // TODO New key - Add a translation + "collection.edit.template.edit-button": "Edit", + + // "collection.edit.template.head": "Edit Template Item for Collection \"{{ collection }}\"", + // TODO New key - Add a translation + "collection.edit.template.head": "Edit Template Item for Collection \"{{ collection }}\"", + + // "collection.edit.template.label": "Template item", + // TODO New key - Add a translation + "collection.edit.template.label": "Template item", + + // "collection.edit.template.notifications.delete.error": "Failed to delete the item template", + // TODO New key - Add a translation + "collection.edit.template.notifications.delete.error": "Failed to delete the item template", + + // "collection.edit.template.notifications.delete.success": "Successfully deleted the item template", + // TODO New key - Add a translation + "collection.edit.template.notifications.delete.success": "Successfully deleted the item template", + + // "collection.edit.template.title": "Edit Template Item", + // TODO New key - Add a translation + "collection.edit.template.title": "Edit Template Item", + + + // "collection.form.abstract": "Short Description", // TODO New key - Add a translation "collection.form.abstract": "Short Description", @@ -1300,6 +1567,12 @@ + // "collection.listelement.badge": "Collection", + // TODO New key - Add a translation + "collection.listelement.badge": "Collection", + + + // "collection.page.browse.recent.head": "Recent Submissions", // TODO New key - Add a translation "collection.page.browse.recent.head": "Recent Submissions", @@ -1308,6 +1581,10 @@ // TODO New key - Add a translation "collection.page.browse.recent.empty": "No items to show", + // "collection.page.edit": "Edit this collection", + // TODO New key - Add a translation + "collection.page.edit": "Edit this collection", + // "collection.page.handle": "Permanent URI for this collection", // TODO New key - Add a translation "collection.page.handle": "Permanent URI for this collection", @@ -1372,6 +1649,10 @@ // TODO New key - Add a translation "community.create.sub-head": "Create a Sub-Community for Community {{ parent }}", + // "community.curate.header": "Curate Community: {{community}}", + // TODO New key - Add a translation + "community.curate.header": "Curate Community: {{community}}", + // "community.delete.cancel": "Cancel", // TODO New key - Add a translation "community.delete.cancel": "Cancel", @@ -1443,6 +1724,14 @@ // TODO New key - Add a translation "community.edit.notifications.success": "Successfully edited the Community", + // "community.edit.notifications.unauthorized": "You do not have privileges to make this change", + // TODO New key - Add a translation + "community.edit.notifications.unauthorized": "You do not have privileges to make this change", + + // "community.edit.notifications.error": "An error occured while editing the Community", + // TODO New key - Add a translation + "community.edit.notifications.error": "An error occured while editing the Community", + // "community.edit.return": "Return", // TODO New key - Add a translation "community.edit.return": "Return", @@ -1473,6 +1762,118 @@ // TODO New key - Add a translation "community.edit.tabs.roles.title": "Community Edit - Roles", + // "community.edit.tabs.authorizations.head": "Authorizations", + // TODO New key - Add a translation + "community.edit.tabs.authorizations.head": "Authorizations", + + // "community.edit.tabs.authorizations.title": "Community Edit - Authorizations", + // TODO New key - Add a translation + "community.edit.tabs.authorizations.title": "Community Edit - Authorizations", + + + + // "community.listelement.badge": "Community", + // TODO New key - Add a translation + "community.listelement.badge": "Community", + + + + // "comcol-role.edit.no-group": "None", + // TODO New key - Add a translation + "comcol-role.edit.no-group": "None", + + // "comcol-role.edit.create": "Create", + // TODO New key - Add a translation + "comcol-role.edit.create": "Create", + + // "comcol-role.edit.restrict": "Restrict", + // TODO New key - Add a translation + "comcol-role.edit.restrict": "Restrict", + + // "comcol-role.edit.delete": "Delete", + // TODO New key - Add a translation + "comcol-role.edit.delete": "Delete", + + + // "comcol-role.edit.community-admin.name": "Administrators", + // TODO New key - Add a translation + "comcol-role.edit.community-admin.name": "Administrators", + + // "comcol-role.edit.collection-admin.name": "Administrators", + // TODO New key - Add a translation + "comcol-role.edit.collection-admin.name": "Administrators", + + + // "comcol-role.edit.community-admin.description": "Community administrators can create sub-communities or collections, and manage or assign management for those sub-communities or collections. In addition, they decide who can submit items to any sub-collections, edit item metadata (after submission), and add (map) existing items from other collections (subject to authorization).", + // TODO New key - Add a translation + "comcol-role.edit.community-admin.description": "Community administrators can create sub-communities or collections, and manage or assign management for those sub-communities or collections. In addition, they decide who can submit items to any sub-collections, edit item metadata (after submission), and add (map) existing items from other collections (subject to authorization).", + + // "comcol-role.edit.collection-admin.description": "Collection administrators decide who can submit items to the collection, edit item metadata (after submission), and add (map) existing items from other collections to this collection (subject to authorization for that collection).", + // TODO New key - Add a translation + "comcol-role.edit.collection-admin.description": "Collection administrators decide who can submit items to the collection, edit item metadata (after submission), and add (map) existing items from other collections to this collection (subject to authorization for that collection).", + + + // "comcol-role.edit.submitters.name": "Submitters", + // TODO New key - Add a translation + "comcol-role.edit.submitters.name": "Submitters", + + // "comcol-role.edit.submitters.description": "The E-People and Groups that have permission to submit new items to this collection.", + // TODO New key - Add a translation + "comcol-role.edit.submitters.description": "The E-People and Groups that have permission to submit new items to this collection.", + + + // "comcol-role.edit.item_read.name": "Default item read access", + // TODO New key - Add a translation + "comcol-role.edit.item_read.name": "Default item read access", + + // "comcol-role.edit.item_read.description": "E-People and Groups that can read new items submitted to this collection. Changes to this role are not retroactive. Existing items in the system will still be viewable by those who had read access at the time of their addition.", + // TODO New key - Add a translation + "comcol-role.edit.item_read.description": "E-People and Groups that can read new items submitted to this collection. Changes to this role are not retroactive. Existing items in the system will still be viewable by those who had read access at the time of their addition.", + + // "comcol-role.edit.item_read.anonymous-group": "Default read for incoming items is currently set to Anonymous.", + // TODO New key - Add a translation + "comcol-role.edit.item_read.anonymous-group": "Default read for incoming items is currently set to Anonymous.", + + + // "comcol-role.edit.bitstream_read.name": "Default bitstream read access", + // TODO New key - Add a translation + "comcol-role.edit.bitstream_read.name": "Default bitstream read access", + + // "comcol-role.edit.bitstream_read.description": "Community administrators can create sub-communities or collections, and manage or assign management for those sub-communities or collections. In addition, they decide who can submit items to any sub-collections, edit item metadata (after submission), and add (map) existing items from other collections (subject to authorization).", + // TODO New key - Add a translation + "comcol-role.edit.bitstream_read.description": "Community administrators can create sub-communities or collections, and manage or assign management for those sub-communities or collections. In addition, they decide who can submit items to any sub-collections, edit item metadata (after submission), and add (map) existing items from other collections (subject to authorization).", + + // "comcol-role.edit.bitstream_read.anonymous-group": "Default read for incoming bitstreams is currently set to Anonymous.", + // TODO New key - Add a translation + "comcol-role.edit.bitstream_read.anonymous-group": "Default read for incoming bitstreams is currently set to Anonymous.", + + + // "comcol-role.edit.editor.name": "Editors", + // TODO New key - Add a translation + "comcol-role.edit.editor.name": "Editors", + + // "comcol-role.edit.editor.description": "Editors are able to edit the metadata of incoming submissions, and then accept or reject them.", + // TODO New key - Add a translation + "comcol-role.edit.editor.description": "Editors are able to edit the metadata of incoming submissions, and then accept or reject them.", + + + // "comcol-role.edit.finaleditor.name": "Final editors", + // TODO New key - Add a translation + "comcol-role.edit.finaleditor.name": "Final editors", + + // "comcol-role.edit.finaleditor.description": "Final editors are able to edit the metadata of incoming submissions, but will not be able to reject them.", + // TODO New key - Add a translation + "comcol-role.edit.finaleditor.description": "Final editors are able to edit the metadata of incoming submissions, but will not be able to reject them.", + + + // "comcol-role.edit.reviewer.name": "Reviewers", + // TODO New key - Add a translation + "comcol-role.edit.reviewer.name": "Reviewers", + + // "comcol-role.edit.reviewer.description": "Reviewers are able to accept or reject incoming submissions. However, they are not able to edit the submission's metadata.", + // TODO New key - Add a translation + "comcol-role.edit.reviewer.description": "Reviewers are able to accept or reject incoming submissions. However, they are not able to edit the submission's metadata.", + // "community.form.abstract": "Short Description", @@ -1499,6 +1900,10 @@ // TODO New key - Add a translation "community.form.title": "Name", + // "community.page.edit": "Edit this community", + // TODO New key - Add a translation + "community.page.edit": "Edit this community", + // "community.page.handle": "Permanent URI for this community", // TODO New key - Add a translation "community.page.handle": "Permanent URI for this community", @@ -1525,10 +1930,188 @@ + // "cookies.consent.accept-all": "Accept all", + // TODO New key - Add a translation + "cookies.consent.accept-all": "Accept all", + + // "cookies.consent.accept-selected": "Accept selected", + // TODO New key - Add a translation + "cookies.consent.accept-selected": "Accept selected", + + // "cookies.consent.app.opt-out.description": "This app is loaded by default (but you can opt out)", + // TODO New key - Add a translation + "cookies.consent.app.opt-out.description": "This app is loaded by default (but you can opt out)", + + // "cookies.consent.app.opt-out.title": "(opt-out)", + // TODO New key - Add a translation + "cookies.consent.app.opt-out.title": "(opt-out)", + + // "cookies.consent.app.purpose": "purpose", + // TODO New key - Add a translation + "cookies.consent.app.purpose": "purpose", + + // "cookies.consent.app.required.description": "This application is always required", + // TODO New key - Add a translation + "cookies.consent.app.required.description": "This application is always required", + + // "cookies.consent.app.required.title": "(always required)", + // TODO New key - Add a translation + "cookies.consent.app.required.title": "(always required)", + + // "cookies.consent.update": "There were changes since your last visit, please update your consent.", + // TODO New key - Add a translation + "cookies.consent.update": "There were changes since your last visit, please update your consent.", + + // "cookies.consent.close": "Close", + // TODO New key - Add a translation + "cookies.consent.close": "Close", + + // "cookies.consent.decline": "Decline", + // TODO New key - Add a translation + "cookies.consent.decline": "Decline", + + // "cookies.consent.content-notice.description": "We collect and process your personal information for the following purposes: Authentication, Preferences, Acknowledgement and Statistics.
To learn more, please read our {privacyPolicy}.", + // TODO New key - Add a translation + "cookies.consent.content-notice.description": "We collect and process your personal information for the following purposes: Authentication, Preferences, Acknowledgement and Statistics.
To learn more, please read our {privacyPolicy}.", + + // "cookies.consent.content-notice.learnMore": "Customize", + // TODO New key - Add a translation + "cookies.consent.content-notice.learnMore": "Customize", + + // "cookies.consent.content-modal.description": "Here you can see and customize the information that we collect about you.", + // TODO New key - Add a translation + "cookies.consent.content-modal.description": "Here you can see and customize the information that we collect about you.", + + // "cookies.consent.content-modal.privacy-policy.name": "privacy policy", + // TODO New key - Add a translation + "cookies.consent.content-modal.privacy-policy.name": "privacy policy", + + // "cookies.consent.content-modal.privacy-policy.text": "To learn more, please read our {privacyPolicy}.", + // TODO New key - Add a translation + "cookies.consent.content-modal.privacy-policy.text": "To learn more, please read our {privacyPolicy}.", + + // "cookies.consent.content-modal.title": "Information that we collect", + // TODO New key - Add a translation + "cookies.consent.content-modal.title": "Information that we collect", + + + + // "cookies.consent.app.title.authentication": "Authentication", + // TODO New key - Add a translation + "cookies.consent.app.title.authentication": "Authentication", + + // "cookies.consent.app.description.authentication": "Required for signing you in", + // TODO New key - Add a translation + "cookies.consent.app.description.authentication": "Required for signing you in", + + + // "cookies.consent.app.title.preferences": "Preferences", + // TODO New key - Add a translation + "cookies.consent.app.title.preferences": "Preferences", + + // "cookies.consent.app.description.preferences": "Required for saving your preferences", + // TODO New key - Add a translation + "cookies.consent.app.description.preferences": "Required for saving your preferences", + + + + // "cookies.consent.app.title.acknowledgement": "Acknowledgement", + // TODO New key - Add a translation + "cookies.consent.app.title.acknowledgement": "Acknowledgement", + + // "cookies.consent.app.description.acknowledgement": "Required for saving your acknowledgements and consents", + // TODO New key - Add a translation + "cookies.consent.app.description.acknowledgement": "Required for saving your acknowledgements and consents", + + + + // "cookies.consent.app.title.google-analytics": "Google Analytics", + // TODO New key - Add a translation + "cookies.consent.app.title.google-analytics": "Google Analytics", + + // "cookies.consent.app.description.google-analytics": "Allows us to track statistical data", + // TODO New key - Add a translation + "cookies.consent.app.description.google-analytics": "Allows us to track statistical data", + + + + // "cookies.consent.purpose.functional": "Functional", + // TODO New key - Add a translation + "cookies.consent.purpose.functional": "Functional", + + // "cookies.consent.purpose.statistical": "Statistical", + // TODO New key - Add a translation + "cookies.consent.purpose.statistical": "Statistical", + + + // "curation-task.task.checklinks.label": "Check Links in Metadata", + // TODO New key - Add a translation + "curation-task.task.checklinks.label": "Check Links in Metadata", + + // "curation-task.task.noop.label": "NOOP", + // TODO New key - Add a translation + "curation-task.task.noop.label": "NOOP", + + // "curation-task.task.profileformats.label": "Profile Bitstream Formats", + // TODO New key - Add a translation + "curation-task.task.profileformats.label": "Profile Bitstream Formats", + + // "curation-task.task.requiredmetadata.label": "Check for Required Metadata", + // TODO New key - Add a translation + "curation-task.task.requiredmetadata.label": "Check for Required Metadata", + + // "curation-task.task.translate.label": "Microsoft Translator", + // TODO New key - Add a translation + "curation-task.task.translate.label": "Microsoft Translator", + + // "curation-task.task.vscan.label": "Virus Scan", + // TODO New key - Add a translation + "curation-task.task.vscan.label": "Virus Scan", + + + + // "curation.form.task-select.label": "Task:", + // TODO New key - Add a translation + "curation.form.task-select.label": "Task:", + + // "curation.form.submit": "Start", + // TODO New key - Add a translation + "curation.form.submit": "Start", + + // "curation.form.submit.success.head": "The curation task has been started successfully", + // TODO New key - Add a translation + "curation.form.submit.success.head": "The curation task has been started successfully", + + // "curation.form.submit.success.content": "You will be redirected to the corresponding process page.", + // TODO New key - Add a translation + "curation.form.submit.success.content": "You will be redirected to the corresponding process page.", + + // "curation.form.submit.error.head": "Running the curation task failed", + // TODO New key - Add a translation + "curation.form.submit.error.head": "Running the curation task failed", + + // "curation.form.submit.error.content": "An error occured when trying to start the curation task.", + // TODO New key - Add a translation + "curation.form.submit.error.content": "An error occured when trying to start the curation task.", + + // "curation.form.handle.label": "Handle:", + // TODO New key - Add a translation + "curation.form.handle.label": "Handle:", + + // "curation.form.handle.hint": "Hint: Enter [your-handle-prefix]/0 to run a task across entire site (not all tasks may support this capability)", + // TODO New key - Add a translation + "curation.form.handle.hint": "Hint: Enter [your-handle-prefix]/0 to run a task across entire site (not all tasks may support this capability)", + + + // "dso-selector.create.collection.head": "New collection", // TODO New key - Add a translation "dso-selector.create.collection.head": "New collection", + // "dso-selector.create.collection.sub-level": "Create a new collection in", + // TODO New key - Add a translation + "dso-selector.create.collection.sub-level": "Create a new collection in", + // "dso-selector.create.community.head": "New community", // TODO New key - Add a translation "dso-selector.create.community.head": "New community", @@ -1545,6 +2128,14 @@ // TODO New key - Add a translation "dso-selector.create.item.head": "New item", + // "dso-selector.create.item.sub-level": "Create a new item in", + // TODO New key - Add a translation + "dso-selector.create.item.sub-level": "Create a new item in", + + // "dso-selector.create.submission.head": "New submission", + // TODO New key - Add a translation + "dso-selector.create.submission.head": "New submission", + // "dso-selector.edit.collection.head": "Edit collection", // TODO New key - Add a translation "dso-selector.edit.collection.head": "Edit collection", @@ -1557,6 +2148,10 @@ // TODO New key - Add a translation "dso-selector.edit.item.head": "Edit item", + // "dso-selector.export-metadata.dspaceobject.head": "Export metadata from", + // TODO New key - Add a translation + "dso-selector.export-metadata.dspaceobject.head": "Export metadata from", + // "dso-selector.no-results": "No {{ type }} found", // TODO New key - Add a translation "dso-selector.no-results": "No {{ type }} found", @@ -1567,6 +2162,39 @@ + // "confirmation-modal.export-metadata.header": "Export metadata for {{ dsoName }}", + // TODO New key - Add a translation + "confirmation-modal.export-metadata.header": "Export metadata for {{ dsoName }}", + + // "confirmation-modal.export-metadata.info": "Are you sure you want to export metadata for {{ dsoName }}", + // TODO New key - Add a translation + "confirmation-modal.export-metadata.info": "Are you sure you want to export metadata for {{ dsoName }}", + + // "confirmation-modal.export-metadata.cancel": "Cancel", + // TODO New key - Add a translation + "confirmation-modal.export-metadata.cancel": "Cancel", + + // "confirmation-modal.export-metadata.confirm": "Export", + // TODO New key - Add a translation + "confirmation-modal.export-metadata.confirm": "Export", + + // "confirmation-modal.delete-eperson.header": "Delete EPerson \"{{ dsoName }}\"", + // TODO New key - Add a translation + "confirmation-modal.delete-eperson.header": "Delete EPerson \"{{ dsoName }}\"", + + // "confirmation-modal.delete-eperson.info": "Are you sure you want to delete EPerson \"{{ dsoName }}\"", + // TODO New key - Add a translation + "confirmation-modal.delete-eperson.info": "Are you sure you want to delete EPerson \"{{ dsoName }}\"", + + // "confirmation-modal.delete-eperson.cancel": "Cancel", + // TODO New key - Add a translation + "confirmation-modal.delete-eperson.cancel": "Cancel", + + // "confirmation-modal.delete-eperson.confirm": "Delete", + // TODO New key - Add a translation + "confirmation-modal.delete-eperson.confirm": "Delete", + + // "error.bitstream": "Error fetching bitstream", // TODO New key - Add a translation "error.bitstream": "Error fetching bitstream", @@ -1645,6 +2273,12 @@ + // "file-section.error.header": "Error obtaining files for this item", + // TODO New key - Add a translation + "file-section.error.header": "Error obtaining files for this item", + + + // "footer.copyright": "copyright © 2002-{{ year }}", // TODO New key - Add a translation "footer.copyright": "copyright © 2002-{{ year }}", @@ -1657,6 +2291,127 @@ // TODO New key - Add a translation "footer.link.duraspace": "DuraSpace", + // "footer.link.cookies": "Cookie settings", + // TODO New key - Add a translation + "footer.link.cookies": "Cookie settings", + + // "footer.link.privacy-policy": "Privacy policy", + // TODO New key - Add a translation + "footer.link.privacy-policy": "Privacy policy", + + // "footer.link.end-user-agreement":"End User Agreement", + // TODO New key - Add a translation + "footer.link.end-user-agreement":"End User Agreement", + + + + // "forgot-email.form.header": "Forgot Password", + // TODO New key - Add a translation + "forgot-email.form.header": "Forgot Password", + + // "forgot-email.form.info": "Enter Register an account to subscribe to collections for email updates, and submit new items to DSpace.", + // TODO New key - Add a translation + "forgot-email.form.info": "Enter Register an account to subscribe to collections for email updates, and submit new items to DSpace.", + + // "forgot-email.form.email": "Email Address *", + // TODO New key - Add a translation + "forgot-email.form.email": "Email Address *", + + // "forgot-email.form.email.error.required": "Please fill in an email address", + // TODO New key - Add a translation + "forgot-email.form.email.error.required": "Please fill in an email address", + + // "forgot-email.form.email.error.pattern": "Please fill in a valid email address", + // TODO New key - Add a translation + "forgot-email.form.email.error.pattern": "Please fill in a valid email address", + + // "forgot-email.form.email.hint": "This address will be verified and used as your login name.", + // TODO New key - Add a translation + "forgot-email.form.email.hint": "This address will be verified and used as your login name.", + + // "forgot-email.form.submit": "Submit", + // TODO New key - Add a translation + "forgot-email.form.submit": "Submit", + + // "forgot-email.form.success.head": "Verification email sent", + // TODO New key - Add a translation + "forgot-email.form.success.head": "Verification email sent", + + // "forgot-email.form.success.content": "An email has been sent to {{ email }} containing a special URL and further instructions.", + // TODO New key - Add a translation + "forgot-email.form.success.content": "An email has been sent to {{ email }} containing a special URL and further instructions.", + + // "forgot-email.form.error.head": "Error when trying to register email", + // TODO New key - Add a translation + "forgot-email.form.error.head": "Error when trying to register email", + + // "forgot-email.form.error.content": "An error occured when registering the following email address: {{ email }}", + // TODO New key - Add a translation + "forgot-email.form.error.content": "An error occured when registering the following email address: {{ email }}", + + + + // "forgot-password.title": "Forgot Password", + // TODO New key - Add a translation + "forgot-password.title": "Forgot Password", + + // "forgot-password.form.head": "Forgot Password", + // TODO New key - Add a translation + "forgot-password.form.head": "Forgot Password", + + // "forgot-password.form.info": "Enter a new password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", + // TODO New key - Add a translation + "forgot-password.form.info": "Enter a new password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", + + // "forgot-password.form.card.security": "Security", + // TODO New key - Add a translation + "forgot-password.form.card.security": "Security", + + // "forgot-password.form.identification.header": "Identify", + // TODO New key - Add a translation + "forgot-password.form.identification.header": "Identify", + + // "forgot-password.form.identification.email": "Email address: ", + // TODO New key - Add a translation + "forgot-password.form.identification.email": "Email address: ", + + // "forgot-password.form.label.password": "Password", + // TODO New key - Add a translation + "forgot-password.form.label.password": "Password", + + // "forgot-password.form.label.passwordrepeat": "Retype to confirm", + // TODO New key - Add a translation + "forgot-password.form.label.passwordrepeat": "Retype to confirm", + + // "forgot-password.form.error.empty-password": "Please enter a password in the box below.", + // TODO New key - Add a translation + "forgot-password.form.error.empty-password": "Please enter a password in the box below.", + + // "forgot-password.form.error.matching-passwords": "The passwords do not match.", + // TODO New key - Add a translation + "forgot-password.form.error.matching-passwords": "The passwords do not match.", + + // "forgot-password.form.error.password-length": "The password should be at least 6 characters long.", + // TODO New key - Add a translation + "forgot-password.form.error.password-length": "The password should be at least 6 characters long.", + + // "forgot-password.form.notification.error.title": "Error when trying to submit new password", + // TODO New key - Add a translation + "forgot-password.form.notification.error.title": "Error when trying to submit new password", + + // "forgot-password.form.notification.success.content": "The password reset was successful. You have been logged in as the created user.", + // TODO New key - Add a translation + "forgot-password.form.notification.success.content": "The password reset was successful. You have been logged in as the created user.", + + // "forgot-password.form.notification.success.title": "Password reset completed", + // TODO New key - Add a translation + "forgot-password.form.notification.success.title": "Password reset completed", + + // "forgot-password.form.submit": "Submit password", + // TODO New key - Add a translation + "forgot-password.form.submit": "Submit password", + + // "form.add": "Add", // TODO New key - Add a translation @@ -1750,9 +2505,9 @@ // TODO New key - Add a translation "form.search": "Search", - // "form.search-help": "Click here to looking for an existing correspondence", + // "form.search-help": "Click here to look for an existing correspondence", // TODO New key - Add a translation - "form.search-help": "Click here to looking for an existing correspondence", + "form.search-help": "Click here to look for an existing correspondence", // "form.submit": "Submit", // TODO New key - Add a translation @@ -1764,6 +2519,10 @@ // TODO New key - Add a translation "home.description": "", + // "home.breadcrumbs": "Home", + // TODO New key - Add a translation + "home.breadcrumbs": "Home", + // "home.title": "DSpace Angular :: Home", // TODO New key - Add a translation "home.title": "DSpace Angular :: Home", @@ -1778,6 +2537,81 @@ + // "info.end-user-agreement.accept": "I have read and I agree to the End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.accept": "I have read and I agree to the End User Agreement", + + // "info.end-user-agreement.accept.error": "An error occurred accepting the End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.accept.error": "An error occurred accepting the End User Agreement", + + // "info.end-user-agreement.accept.success": "Successfully updated the End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.accept.success": "Successfully updated the End User Agreement", + + // "info.end-user-agreement.breadcrumbs": "End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.breadcrumbs": "End User Agreement", + + // "info.end-user-agreement.buttons.cancel": "Cancel", + // TODO New key - Add a translation + "info.end-user-agreement.buttons.cancel": "Cancel", + + // "info.end-user-agreement.buttons.save": "Save", + // TODO New key - Add a translation + "info.end-user-agreement.buttons.save": "Save", + + // "info.end-user-agreement.head": "End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.head": "End User Agreement", + + // "info.end-user-agreement.title": "End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.title": "End User Agreement", + + // "info.privacy.breadcrumbs": "Privacy Statement", + // TODO New key - Add a translation + "info.privacy.breadcrumbs": "Privacy Statement", + + // "info.privacy.head": "Privacy Statement", + // TODO New key - Add a translation + "info.privacy.head": "Privacy Statement", + + // "info.privacy.title": "Privacy Statement", + // TODO New key - Add a translation + "info.privacy.title": "Privacy Statement", + + + + // "item.alerts.private": "This item is private", + // TODO New key - Add a translation + "item.alerts.private": "This item is private", + + // "item.alerts.withdrawn": "This item has been withdrawn", + // TODO New key - Add a translation + "item.alerts.withdrawn": "This item has been withdrawn", + + + + // "item.edit.authorizations.heading": "With this editor you can view and alter the policies of an item, plus alter policies of individual item components: bundles and bitstreams. Briefly, an item is a container of bundles, and bundles are containers of bitstreams. Containers usually have ADD/REMOVE/READ/WRITE policies, while bitstreams only have READ/WRITE policies.", + // TODO New key - Add a translation + "item.edit.authorizations.heading": "With this editor you can view and alter the policies of an item, plus alter policies of individual item components: bundles and bitstreams. Briefly, an item is a container of bundles, and bundles are containers of bitstreams. Containers usually have ADD/REMOVE/READ/WRITE policies, while bitstreams only have READ/WRITE policies.", + + // "item.edit.authorizations.title": "Edit item's Policies", + // TODO New key - Add a translation + "item.edit.authorizations.title": "Edit item's Policies", + + + + // "item.badge.private": "Private", + // TODO New key - Add a translation + "item.badge.private": "Private", + + // "item.badge.withdrawn": "Withdrawn", + // TODO New key - Add a translation + "item.badge.withdrawn": "Withdrawn", + + // "item.bitstreams.upload.bundle": "Bundle", // TODO New key - Add a translation @@ -1980,6 +2814,13 @@ "item.edit.breadcrumbs": "Edit Item", + // "item.edit.tabs.mapper.head": "Collection Mapper", + // TODO New key - Add a translation + "item.edit.tabs.mapper.head": "Collection Mapper", + + // "item.edit.tabs.item-mapper.title": "Item Edit - Collection Mapper", + // TODO New key - Add a translation + "item.edit.tabs.item-mapper.title": "Item Edit - Collection Mapper", // "item.edit.item-mapper.buttons.add": "Map item to selected collections", // TODO New key - Add a translation @@ -2075,6 +2916,10 @@ // TODO New key - Add a translation "item.edit.metadata.edit.buttons.unedit": "Stop editing", + // "item.edit.metadata.empty": "The item currently doesn't contain any metadata. Click Add to start adding a metadata value.", + // TODO New key - Add a translation + "item.edit.metadata.empty": "The item currently doesn't contain any metadata. Click Add to start adding a metadata value.", + // "item.edit.metadata.headers.edit": "Edit", // TODO New key - Add a translation "item.edit.metadata.headers.edit": "Edit", @@ -2103,6 +2948,10 @@ // TODO New key - Add a translation "item.edit.metadata.notifications.discarded.title": "Changed discarded", + // "item.edit.metadata.notifications.error.title": "An error occurred", + // TODO New key - Add a translation + "item.edit.metadata.notifications.error.title": "An error occurred", + // "item.edit.metadata.notifications.invalid.content": "Your changes were not saved. Please make sure all fields are valid before you save.", // TODO New key - Add a translation "item.edit.metadata.notifications.invalid.content": "Your changes were not saved. Please make sure all fields are valid before you save.", @@ -2279,6 +3128,10 @@ // TODO New key - Add a translation "item.edit.relationships.discard-button": "Discard", + // "item.edit.relationships.edit.buttons.add": "Add", + // TODO New key - Add a translation + "item.edit.relationships.edit.buttons.add": "Add", + // "item.edit.relationships.edit.buttons.remove": "Remove", // TODO New key - Add a translation "item.edit.relationships.edit.buttons.remove": "Remove", @@ -2287,6 +3140,10 @@ // TODO New key - Add a translation "item.edit.relationships.edit.buttons.undo": "Undo changes", + // "item.edit.relationships.no-relationships": "No relationships", + // TODO New key - Add a translation + "item.edit.relationships.no-relationships": "No relationships", + // "item.edit.relationships.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", // TODO New key - Add a translation "item.edit.relationships.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", @@ -2295,9 +3152,9 @@ // TODO New key - Add a translation "item.edit.relationships.notifications.discarded.title": "Changes discarded", - // "item.edit.relationships.notifications.failed.title": "Error deleting relationship", + // "item.edit.relationships.notifications.failed.title": "Error editing relationships", // TODO New key - Add a translation - "item.edit.relationships.notifications.failed.title": "Error deleting relationship", + "item.edit.relationships.notifications.failed.title": "Error editing relationships", // "item.edit.relationships.notifications.outdated.content": "The item you're currently working on has been changed by another user. Your current changes are discarded to prevent conflicts", // TODO New key - Add a translation @@ -2323,6 +3180,10 @@ // TODO New key - Add a translation "item.edit.relationships.save-button": "Save", + // "item.edit.relationships.no-entity-type": "Add 'relationship.type' metadata to enable relationships for this item", + // TODO New key - Add a translation + "item.edit.relationships.no-entity-type": "Add 'relationship.type' metadata to enable relationships for this item", + // "item.edit.tabs.bitstreams.head": "Bitstreams", @@ -2497,6 +3358,48 @@ + // "item.listelement.badge": "Item", + // TODO New key - Add a translation + "item.listelement.badge": "Item", + + // "item.page.description": "Description", + // TODO New key - Add a translation + "item.page.description": "Description", + + // "item.page.edit": "Edit this item", + // TODO New key - Add a translation + "item.page.edit": "Edit this item", + + // "item.page.journal-issn": "Journal ISSN", + // TODO New key - Add a translation + "item.page.journal-issn": "Journal ISSN", + + // "item.page.journal-title": "Journal Title", + // TODO New key - Add a translation + "item.page.journal-title": "Journal Title", + + // "item.page.publisher": "Publisher", + // TODO New key - Add a translation + "item.page.publisher": "Publisher", + + // "item.page.titleprefix": "Item: ", + // TODO New key - Add a translation + "item.page.titleprefix": "Item: ", + + // "item.page.volume-title": "Volume Title", + // TODO New key - Add a translation + "item.page.volume-title": "Volume Title", + + // "item.search.results.head": "Item Search Results", + // TODO New key - Add a translation + "item.search.results.head": "Item Search Results", + + // "item.search.title": "DSpace Angular :: Item Search", + // TODO New key - Add a translation + "item.search.title": "DSpace Angular :: Item Search", + + + // "item.page.abstract": "Abstract", // TODO New key - Add a translation "item.page.abstract": "Abstract", @@ -2517,6 +3420,10 @@ // TODO New key - Add a translation "item.page.date": "Date", + // "item.page.edit": "Edit this item", + // TODO New key - Add a translation + "item.page.edit": "Edit this item", + // "item.page.files": "Files", // TODO New key - Add a translation "item.page.files": "Files", @@ -2589,6 +3496,65 @@ // TODO New key - Add a translation "item.page.uri": "URI", + // "item.page.bitstreams.view-more": "Show more", + // TODO New key - Add a translation + "item.page.bitstreams.view-more": "Show more", + + // "item.page.bitstreams.collapse": "Collapse", + // TODO New key - Add a translation + "item.page.bitstreams.collapse": "Collapse", + + // "item.page.filesection.original.bundle" : "Original bundle", + // TODO New key - Add a translation + "item.page.filesection.original.bundle" : "Original bundle", + + // "item.page.filesection.license.bundle" : "License bundle", + // TODO New key - Add a translation + "item.page.filesection.license.bundle" : "License bundle", + + // "item.preview.dc.identifier.uri": "Identifier:", + // TODO New key - Add a translation + "item.preview.dc.identifier.uri": "Identifier:", + + // "item.preview.dc.contributor.author": "Authors:", + // TODO New key - Add a translation + "item.preview.dc.contributor.author": "Authors:", + + // "item.preview.dc.date.issued": "Published date:", + // TODO New key - Add a translation + "item.preview.dc.date.issued": "Published date:", + + // "item.preview.dc.description.abstract": "Abstract:", + // TODO New key - Add a translation + "item.preview.dc.description.abstract": "Abstract:", + + // "item.preview.dc.identifier.other": "Other identifier:", + // TODO New key - Add a translation + "item.preview.dc.identifier.other": "Other identifier:", + + // "item.preview.dc.language.iso": "Language:", + // TODO New key - Add a translation + "item.preview.dc.language.iso": "Language:", + + // "item.preview.dc.subject": "Subjects:", + // TODO New key - Add a translation + "item.preview.dc.subject": "Subjects:", + + // "item.preview.dc.title": "Title:", + // TODO New key - Add a translation + "item.preview.dc.title": "Title:", + + // "item.preview.person.familyName": "Surname:", + // TODO New key - Add a translation + "item.preview.person.familyName": "Surname:", + + // "item.preview.person.givenName": "Name:", + // TODO New key - Add a translation + "item.preview.person.givenName": "Name:", + + // "item.preview.person.identifier.orcid": "ORCID:", + // TODO New key - Add a translation + "item.preview.person.identifier.orcid": "ORCID:", // "item.select.confirm": "Confirm selected", @@ -2664,6 +3630,10 @@ // TODO New key - Add a translation "journal.page.description": "Description", + // "journal.page.edit": "Edit this item", + // TODO New key - Add a translation + "journal.page.edit": "Edit this item", + // "journal.page.editor": "Editor-in-Chief", // TODO New key - Add a translation "journal.page.editor": "Editor-in-Chief", @@ -2698,6 +3668,10 @@ // TODO New key - Add a translation "journalissue.page.description": "Description", + // "journalissue.page.edit": "Edit this item", + // TODO New key - Add a translation + "journalissue.page.edit": "Edit this item", + // "journalissue.page.issuedate": "Issue Date", // TODO New key - Add a translation "journalissue.page.issuedate": "Issue Date", @@ -2732,6 +3706,10 @@ // TODO New key - Add a translation "journalvolume.page.description": "Description", + // "journalvolume.page.edit": "Edit this item", + // TODO New key - Add a translation + "journalvolume.page.edit": "Edit this item", + // "journalvolume.page.issuedate": "Issue Date", // TODO New key - Add a translation "journalvolume.page.issuedate": "Issue Date", @@ -3042,6 +4020,10 @@ // TODO New key - Add a translation "menu.section.icon.pin": "Pin sidebar", + // "menu.section.icon.processes": "Processes menu section", + // TODO New key - Add a translation + "menu.section.icon.processes": "Processes menu section", + // "menu.section.icon.registries": "Registries menu section", // TODO New key - Add a translation "menu.section.icon.registries": "Registries menu section", @@ -3090,6 +4072,10 @@ // TODO New key - Add a translation "menu.section.new_item_version": "Item Version", + // "menu.section.new_process": "Process", + // TODO New key - Add a translation + "menu.section.new_process": "Process", + // "menu.section.pin": "Pin sidebar", @@ -3102,6 +4088,12 @@ + // "menu.section.processes": "Processes", + // TODO New key - Add a translation + "menu.section.processes": "Processes", + + + // "menu.section.registries": "Registries", // TODO New key - Add a translation "menu.section.registries": "Registries", @@ -3167,14 +4159,18 @@ "menu.section.toggle.statistics_task": "Toggle Statistics Task section", + // "menu.section.workflow": "Administer Workflow", + // TODO New key - Add a translation + "menu.section.workflow": "Administer Workflow", + // "mydspace.description": "", // TODO New key - Add a translation "mydspace.description": "", - // "mydspace.general.text-here": "HERE", + // "mydspace.general.text-here": "here", // TODO New key - Add a translation - "mydspace.general.text-here": "HERE", + "mydspace.general.text-here": "here", // "mydspace.messages.controller-help": "Select this option to send a message to item's submitter.", // TODO New key - Add a translation @@ -3232,6 +4228,14 @@ // TODO New key - Add a translation "mydspace.new-submission": "New submission", + // "mydspace.new-submission-external": "Import metadata from external source", + // TODO New key - Add a translation + "mydspace.new-submission-external": "Import metadata from external source", + + // "mydspace.new-submission-external-short": "Import metadata", + // TODO New key - Add a translation + "mydspace.new-submission-external-short": "Import metadata", + // "mydspace.results.head": "Your submissions", // TODO New key - Add a translation "mydspace.results.head": "Your submissions", @@ -3304,6 +4308,14 @@ // TODO New key - Add a translation "mydspace.upload.upload-failed": "Error creating new workspace. Please verify the content uploaded before retry.", + // "mydspace.upload.upload-failed-manyentries": "Unprocessable file. Detected too many entries but allowed only one for file.", + // TODO New key - Add a translation + "mydspace.upload.upload-failed-manyentries": "Unprocessable file. Detected too many entries but allowed only one for file.", + + // "mydspace.upload.upload-failed-moreonefile": "Unprocessable request. Only one file is allowed.", + // TODO New key - Add a translation + "mydspace.upload.upload-failed-moreonefile": "Unprocessable request. Only one file is allowed.", + // "mydspace.upload.upload-multiple-successful": "{{qty}} new workspace items created.", // TODO New key - Add a translation "mydspace.upload.upload-multiple-successful": "{{qty}} new workspace items created.", @@ -3354,6 +4366,10 @@ // TODO New key - Add a translation "nav.statistics.header": "Statistics", + // "nav.stop-impersonating": "Stop impersonating EPerson", + // TODO New key - Add a translation + "nav.stop-impersonating": "Stop impersonating EPerson", + // "orgunit.listelement.badge": "Organizational Unit", @@ -3376,6 +4392,10 @@ // TODO New key - Add a translation "orgunit.page.description": "Description", + // "orgunit.page.edit": "Edit this item", + // TODO New key - Add a translation + "orgunit.page.edit": "Edit this item", + // "orgunit.page.id": "ID", // TODO New key - Add a translation "orgunit.page.id": "ID", @@ -3408,10 +4428,18 @@ // TODO New key - Add a translation "person.listelement.badge": "Person", + // "person.listelement.no-title": "No name found", + // TODO New key - Add a translation + "person.listelement.no-title": "No name found", + // "person.page.birthdate": "Birth Date", // TODO New key - Add a translation "person.page.birthdate": "Birth Date", + // "person.page.edit": "Edit this item", + // TODO New key - Add a translation + "person.page.edit": "Edit this item", + // "person.page.email": "Email Address", // TODO New key - Add a translation "person.page.email": "Email Address", @@ -3454,6 +4482,183 @@ + // "process.new.select-parameters": "Parameters", + // TODO New key - Add a translation + "process.new.select-parameters": "Parameters", + + // "process.new.cancel": "Cancel", + // TODO New key - Add a translation + "process.new.cancel": "Cancel", + + // "process.new.submit": "Submit", + // TODO New key - Add a translation + "process.new.submit": "Submit", + + // "process.new.select-script": "Script", + // TODO New key - Add a translation + "process.new.select-script": "Script", + + // "process.new.select-script.placeholder": "Choose a script...", + // TODO New key - Add a translation + "process.new.select-script.placeholder": "Choose a script...", + + // "process.new.select-script.required": "Script is required", + // TODO New key - Add a translation + "process.new.select-script.required": "Script is required", + + // "process.new.parameter.file.upload-button": "Select file...", + // TODO New key - Add a translation + "process.new.parameter.file.upload-button": "Select file...", + + // "process.new.parameter.file.required": "Please select a file", + // TODO New key - Add a translation + "process.new.parameter.file.required": "Please select a file", + + // "process.new.parameter.string.required": "Parameter value is required", + // TODO New key - Add a translation + "process.new.parameter.string.required": "Parameter value is required", + + // "process.new.parameter.type.value": "value", + // TODO New key - Add a translation + "process.new.parameter.type.value": "value", + + // "process.new.parameter.type.file": "file", + // TODO New key - Add a translation + "process.new.parameter.type.file": "file", + + // "process.new.parameter.required.missing": "The following parameters are required but still missing:", + // TODO New key - Add a translation + "process.new.parameter.required.missing": "The following parameters are required but still missing:", + + // "process.new.notification.success.title": "Success", + // TODO New key - Add a translation + "process.new.notification.success.title": "Success", + + // "process.new.notification.success.content": "The process was successfully created", + // TODO New key - Add a translation + "process.new.notification.success.content": "The process was successfully created", + + // "process.new.notification.error.title": "Error", + // TODO New key - Add a translation + "process.new.notification.error.title": "Error", + + // "process.new.notification.error.content": "An error occurred while creating this process", + // TODO New key - Add a translation + "process.new.notification.error.content": "An error occurred while creating this process", + + // "process.new.header": "Create a new process", + // TODO New key - Add a translation + "process.new.header": "Create a new process", + + // "process.new.title": "Create a new process", + // TODO New key - Add a translation + "process.new.title": "Create a new process", + + // "process.new.breadcrumbs": "Create a new process", + // TODO New key - Add a translation + "process.new.breadcrumbs": "Create a new process", + + + + // "process.detail.arguments" : "Arguments", + // TODO New key - Add a translation + "process.detail.arguments" : "Arguments", + + // "process.detail.arguments.empty" : "This process doesn't contain any arguments", + // TODO New key - Add a translation + "process.detail.arguments.empty" : "This process doesn't contain any arguments", + + // "process.detail.back" : "Back", + // TODO New key - Add a translation + "process.detail.back" : "Back", + + // "process.detail.output" : "Process Output", + // TODO New key - Add a translation + "process.detail.output" : "Process Output", + + // "process.detail.logs.button": "Retrieve process output", + // TODO New key - Add a translation + "process.detail.logs.button": "Retrieve process output", + + // "process.detail.logs.loading": "Retrieving", + // TODO New key - Add a translation + "process.detail.logs.loading": "Retrieving", + + // "process.detail.logs.none": "This process has no output", + // TODO New key - Add a translation + "process.detail.logs.none": "This process has no output", + + // "process.detail.output-files" : "Output Files", + // TODO New key - Add a translation + "process.detail.output-files" : "Output Files", + + // "process.detail.output-files.empty" : "This process doesn't contain any output files", + // TODO New key - Add a translation + "process.detail.output-files.empty" : "This process doesn't contain any output files", + + // "process.detail.script" : "Script", + // TODO New key - Add a translation + "process.detail.script" : "Script", + + // "process.detail.title" : "Process: {{ id }} - {{ name }}", + // TODO New key - Add a translation + "process.detail.title" : "Process: {{ id }} - {{ name }}", + + // "process.detail.start-time" : "Start time", + // TODO New key - Add a translation + "process.detail.start-time" : "Start time", + + // "process.detail.end-time" : "Finish time", + // TODO New key - Add a translation + "process.detail.end-time" : "Finish time", + + // "process.detail.status" : "Status", + // TODO New key - Add a translation + "process.detail.status" : "Status", + + // "process.detail.create" : "Create similar process", + // TODO New key - Add a translation + "process.detail.create" : "Create similar process", + + + + // "process.overview.table.finish" : "Finish time", + // TODO New key - Add a translation + "process.overview.table.finish" : "Finish time", + + // "process.overview.table.id" : "Process ID", + // TODO New key - Add a translation + "process.overview.table.id" : "Process ID", + + // "process.overview.table.name" : "Name", + // TODO New key - Add a translation + "process.overview.table.name" : "Name", + + // "process.overview.table.start" : "Start time", + // TODO New key - Add a translation + "process.overview.table.start" : "Start time", + + // "process.overview.table.status" : "Status", + // TODO New key - Add a translation + "process.overview.table.status" : "Status", + + // "process.overview.table.user" : "User", + // TODO New key - Add a translation + "process.overview.table.user" : "User", + + // "process.overview.title": "Processes Overview", + // TODO New key - Add a translation + "process.overview.title": "Processes Overview", + + // "process.overview.breadcrumbs": "Processes Overview", + // TODO New key - Add a translation + "process.overview.breadcrumbs": "Processes Overview", + + // "process.overview.new": "New", + // TODO New key - Add a translation + "process.overview.new": "New", + + // "profile.breadcrumbs": "Update Profile", // TODO New key - Add a translation "profile.breadcrumbs": "Update Profile", @@ -3580,6 +4785,10 @@ // TODO New key - Add a translation "project.page.description": "Description", + // "project.page.edit": "Edit this item", + // TODO New key - Add a translation + "project.page.edit": "Edit this item", + // "project.page.expectedcompletion": "Expected Completion", // TODO New key - Add a translation "project.page.expectedcompletion": "Expected Completion", @@ -3618,6 +4827,10 @@ // TODO New key - Add a translation "publication.page.description": "Description", + // "publication.page.edit": "Edit this item", + // TODO New key - Add a translation + "publication.page.edit": "Edit this item", + // "publication.page.journal-issn": "Journal ISSN", // TODO New key - Add a translation "publication.page.journal-issn": "Journal ISSN", @@ -3647,11 +4860,165 @@ "publication.search.title": "DSpace Angular :: Publication Search", + // "register-email.title": "New user registration", + // TODO New key - Add a translation + "register-email.title": "New user registration", + + // "register-page.create-profile.header": "Create Profile", + // TODO New key - Add a translation + "register-page.create-profile.header": "Create Profile", + + // "register-page.create-profile.identification.header": "Identify", + // TODO New key - Add a translation + "register-page.create-profile.identification.header": "Identify", + + // "register-page.create-profile.identification.email": "Email Address", + // TODO New key - Add a translation + "register-page.create-profile.identification.email": "Email Address", + + // "register-page.create-profile.identification.first-name": "First Name *", + // TODO New key - Add a translation + "register-page.create-profile.identification.first-name": "First Name *", + + // "register-page.create-profile.identification.first-name.error": "Please fill in a First Name", + // TODO New key - Add a translation + "register-page.create-profile.identification.first-name.error": "Please fill in a First Name", + + // "register-page.create-profile.identification.last-name": "Last Name *", + // TODO New key - Add a translation + "register-page.create-profile.identification.last-name": "Last Name *", + + // "register-page.create-profile.identification.last-name.error": "Please fill in a Last Name", + // TODO New key - Add a translation + "register-page.create-profile.identification.last-name.error": "Please fill in a Last Name", + + // "register-page.create-profile.identification.contact": "Contact Telephone", + // TODO New key - Add a translation + "register-page.create-profile.identification.contact": "Contact Telephone", + + // "register-page.create-profile.identification.language": "Language", + // TODO New key - Add a translation + "register-page.create-profile.identification.language": "Language", + + // "register-page.create-profile.security.header": "Security", + // TODO New key - Add a translation + "register-page.create-profile.security.header": "Security", + + // "register-page.create-profile.security.info": "Please enter a password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", + // TODO New key - Add a translation + "register-page.create-profile.security.info": "Please enter a password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", + + // "register-page.create-profile.security.label.password": "Password *", + // TODO New key - Add a translation + "register-page.create-profile.security.label.password": "Password *", + + // "register-page.create-profile.security.label.passwordrepeat": "Retype to confirm *", + // TODO New key - Add a translation + "register-page.create-profile.security.label.passwordrepeat": "Retype to confirm *", + + // "register-page.create-profile.security.error.empty-password": "Please enter a password in the box below.", + // TODO New key - Add a translation + "register-page.create-profile.security.error.empty-password": "Please enter a password in the box below.", + + // "register-page.create-profile.security.error.matching-passwords": "The passwords do not match.", + // TODO New key - Add a translation + "register-page.create-profile.security.error.matching-passwords": "The passwords do not match.", + + // "register-page.create-profile.security.error.password-length": "The password should be at least 6 characters long.", + // TODO New key - Add a translation + "register-page.create-profile.security.error.password-length": "The password should be at least 6 characters long.", + + // "register-page.create-profile.submit": "Complete Registration", + // TODO New key - Add a translation + "register-page.create-profile.submit": "Complete Registration", + + // "register-page.create-profile.submit.error.content": "Something went wrong while registering a new user.", + // TODO New key - Add a translation + "register-page.create-profile.submit.error.content": "Something went wrong while registering a new user.", + + // "register-page.create-profile.submit.error.head": "Registration failed", + // TODO New key - Add a translation + "register-page.create-profile.submit.error.head": "Registration failed", + + // "register-page.create-profile.submit.success.content": "The registration was successful. You have been logged in as the created user.", + // TODO New key - Add a translation + "register-page.create-profile.submit.success.content": "The registration was successful. You have been logged in as the created user.", + + // "register-page.create-profile.submit.success.head": "Registration completed", + // TODO New key - Add a translation + "register-page.create-profile.submit.success.head": "Registration completed", + + + // "register-page.registration.header": "New user registration", + // TODO New key - Add a translation + "register-page.registration.header": "New user registration", + + // "register-page.registration.info": "Register an account to subscribe to collections for email updates, and submit new items to DSpace.", + // TODO New key - Add a translation + "register-page.registration.info": "Register an account to subscribe to collections for email updates, and submit new items to DSpace.", + + // "register-page.registration.email": "Email Address *", + // TODO New key - Add a translation + "register-page.registration.email": "Email Address *", + + // "register-page.registration.email.error.required": "Please fill in an email address", + // TODO New key - Add a translation + "register-page.registration.email.error.required": "Please fill in an email address", + + // "register-page.registration.email.error.pattern": "Please fill in a valid email address", + // TODO New key - Add a translation + "register-page.registration.email.error.pattern": "Please fill in a valid email address", + + // "register-page.registration.email.hint": "This address will be verified and used as your login name.", + // TODO New key - Add a translation + "register-page.registration.email.hint": "This address will be verified and used as your login name.", + + // "register-page.registration.submit": "Register", + // TODO New key - Add a translation + "register-page.registration.submit": "Register", + + // "register-page.registration.success.head": "Verification email sent", + // TODO New key - Add a translation + "register-page.registration.success.head": "Verification email sent", + + // "register-page.registration.success.content": "An email has been sent to {{ email }} containing a special URL and further instructions.", + // TODO New key - Add a translation + "register-page.registration.success.content": "An email has been sent to {{ email }} containing a special URL and further instructions.", + + // "register-page.registration.error.head": "Error when trying to register email", + // TODO New key - Add a translation + "register-page.registration.error.head": "Error when trying to register email", + + // "register-page.registration.error.content": "An error occured when registering the following email address: {{ email }}", + // TODO New key - Add a translation + "register-page.registration.error.content": "An error occured when registering the following email address: {{ email }}", + + + + // "relationships.add.error.relationship-type.content": "No suitable match could be found for relationship type {{ type }} between the two items", + // TODO New key - Add a translation + "relationships.add.error.relationship-type.content": "No suitable match could be found for relationship type {{ type }} between the two items", + + // "relationships.add.error.server.content": "The server returned an error", + // TODO New key - Add a translation + "relationships.add.error.server.content": "The server returned an error", + + // "relationships.add.error.title": "Unable to add relationship", + // TODO New key - Add a translation + "relationships.add.error.title": "Unable to add relationship", // "relationships.isAuthorOf": "Authors", // TODO New key - Add a translation "relationships.isAuthorOf": "Authors", + // "relationships.isAuthorOf.Person": "Authors (persons)", + // TODO New key - Add a translation + "relationships.isAuthorOf.Person": "Authors (persons)", + + // "relationships.isAuthorOf.OrgUnit": "Authors (organizational units)", + // TODO New key - Add a translation + "relationships.isAuthorOf.OrgUnit": "Authors (organizational units)", + // "relationships.isIssueOf": "Journal Issues", // TODO New key - Add a translation "relationships.isIssueOf": "Journal Issues", @@ -3702,6 +5069,208 @@ + // "resource-policies.add.button": "Add", + // TODO New key - Add a translation + "resource-policies.add.button": "Add", + + // "resource-policies.add.for.": "Add a new policy", + // TODO New key - Add a translation + "resource-policies.add.for.": "Add a new policy", + + // "resource-policies.add.for.bitstream": "Add a new Bitstream policy", + // TODO New key - Add a translation + "resource-policies.add.for.bitstream": "Add a new Bitstream policy", + + // "resource-policies.add.for.bundle": "Add a new Bundle policy", + // TODO New key - Add a translation + "resource-policies.add.for.bundle": "Add a new Bundle policy", + + // "resource-policies.add.for.item": "Add a new Item policy", + // TODO New key - Add a translation + "resource-policies.add.for.item": "Add a new Item policy", + + // "resource-policies.add.for.community": "Add a new Community policy", + // TODO New key - Add a translation + "resource-policies.add.for.community": "Add a new Community policy", + + // "resource-policies.add.for.collection": "Add a new Collection policy", + // TODO New key - Add a translation + "resource-policies.add.for.collection": "Add a new Collection policy", + + // "resource-policies.create.page.heading": "Create new resource policy for ", + // TODO New key - Add a translation + "resource-policies.create.page.heading": "Create new resource policy for ", + + // "resource-policies.create.page.failure.content": "An error occurred while creating the resource policy.", + // TODO New key - Add a translation + "resource-policies.create.page.failure.content": "An error occurred while creating the resource policy.", + + // "resource-policies.create.page.success.content": "Operation successful", + // TODO New key - Add a translation + "resource-policies.create.page.success.content": "Operation successful", + + // "resource-policies.create.page.title": "Create new resource policy", + // TODO New key - Add a translation + "resource-policies.create.page.title": "Create new resource policy", + + // "resource-policies.delete.btn": "Delete selected", + // TODO New key - Add a translation + "resource-policies.delete.btn": "Delete selected", + + // "resource-policies.delete.btn.title": "Delete selected resource policies", + // TODO New key - Add a translation + "resource-policies.delete.btn.title": "Delete selected resource policies", + + // "resource-policies.delete.failure.content": "An error occurred while deleting selected resource policies.", + // TODO New key - Add a translation + "resource-policies.delete.failure.content": "An error occurred while deleting selected resource policies.", + + // "resource-policies.delete.success.content": "Operation successful", + // TODO New key - Add a translation + "resource-policies.delete.success.content": "Operation successful", + + // "resource-policies.edit.page.heading": "Edit resource policy ", + // TODO New key - Add a translation + "resource-policies.edit.page.heading": "Edit resource policy ", + + // "resource-policies.edit.page.failure.content": "An error occurred while editing the resource policy.", + // TODO New key - Add a translation + "resource-policies.edit.page.failure.content": "An error occurred while editing the resource policy.", + + // "resource-policies.edit.page.success.content": "Operation successful", + // TODO New key - Add a translation + "resource-policies.edit.page.success.content": "Operation successful", + + // "resource-policies.edit.page.title": "Edit resource policy", + // TODO New key - Add a translation + "resource-policies.edit.page.title": "Edit resource policy", + + // "resource-policies.form.action-type.label": "Select the action type", + // TODO New key - Add a translation + "resource-policies.form.action-type.label": "Select the action type", + + // "resource-policies.form.action-type.required": "You must select the resource policy action.", + // TODO New key - Add a translation + "resource-policies.form.action-type.required": "You must select the resource policy action.", + + // "resource-policies.form.eperson-group-list.label": "The eperson or group that will be granted the permission", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.label": "The eperson or group that will be granted the permission", + + // "resource-policies.form.eperson-group-list.select.btn": "Select", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.select.btn": "Select", + + // "resource-policies.form.eperson-group-list.tab.eperson": "Search for a ePerson", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.tab.eperson": "Search for a ePerson", + + // "resource-policies.form.eperson-group-list.tab.group": "Search for a group", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.tab.group": "Search for a group", + + // "resource-policies.form.eperson-group-list.table.headers.action": "Action", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.table.headers.action": "Action", + + // "resource-policies.form.eperson-group-list.table.headers.id": "ID", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.table.headers.id": "ID", + + // "resource-policies.form.eperson-group-list.table.headers.name": "Name", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.table.headers.name": "Name", + + // "resource-policies.form.date.end.label": "End Date", + // TODO New key - Add a translation + "resource-policies.form.date.end.label": "End Date", + + // "resource-policies.form.date.start.label": "Start Date", + // TODO New key - Add a translation + "resource-policies.form.date.start.label": "Start Date", + + // "resource-policies.form.description.label": "Description", + // TODO New key - Add a translation + "resource-policies.form.description.label": "Description", + + // "resource-policies.form.name.label": "Name", + // TODO New key - Add a translation + "resource-policies.form.name.label": "Name", + + // "resource-policies.form.policy-type.label": "Select the policy type", + // TODO New key - Add a translation + "resource-policies.form.policy-type.label": "Select the policy type", + + // "resource-policies.form.policy-type.required": "You must select the resource policy type.", + // TODO New key - Add a translation + "resource-policies.form.policy-type.required": "You must select the resource policy type.", + + // "resource-policies.table.headers.action": "Action", + // TODO New key - Add a translation + "resource-policies.table.headers.action": "Action", + + // "resource-policies.table.headers.date.end": "End Date", + // TODO New key - Add a translation + "resource-policies.table.headers.date.end": "End Date", + + // "resource-policies.table.headers.date.start": "Start Date", + // TODO New key - Add a translation + "resource-policies.table.headers.date.start": "Start Date", + + // "resource-policies.table.headers.edit": "Edit", + // TODO New key - Add a translation + "resource-policies.table.headers.edit": "Edit", + + // "resource-policies.table.headers.edit.group": "Edit group", + // TODO New key - Add a translation + "resource-policies.table.headers.edit.group": "Edit group", + + // "resource-policies.table.headers.edit.policy": "Edit policy", + // TODO New key - Add a translation + "resource-policies.table.headers.edit.policy": "Edit policy", + + // "resource-policies.table.headers.eperson": "EPerson", + // TODO New key - Add a translation + "resource-policies.table.headers.eperson": "EPerson", + + // "resource-policies.table.headers.group": "Group", + // TODO New key - Add a translation + "resource-policies.table.headers.group": "Group", + + // "resource-policies.table.headers.id": "ID", + // TODO New key - Add a translation + "resource-policies.table.headers.id": "ID", + + // "resource-policies.table.headers.name": "Name", + // TODO New key - Add a translation + "resource-policies.table.headers.name": "Name", + + // "resource-policies.table.headers.policyType": "type", + // TODO New key - Add a translation + "resource-policies.table.headers.policyType": "type", + + // "resource-policies.table.headers.title.for.bitstream": "Policies for Bitstream", + // TODO New key - Add a translation + "resource-policies.table.headers.title.for.bitstream": "Policies for Bitstream", + + // "resource-policies.table.headers.title.for.bundle": "Policies for Bundle", + // TODO New key - Add a translation + "resource-policies.table.headers.title.for.bundle": "Policies for Bundle", + + // "resource-policies.table.headers.title.for.item": "Policies for Item", + // TODO New key - Add a translation + "resource-policies.table.headers.title.for.item": "Policies for Item", + + // "resource-policies.table.headers.title.for.community": "Policies for Community", + // TODO New key - Add a translation + "resource-policies.table.headers.title.for.community": "Policies for Community", + + // "resource-policies.table.headers.title.for.collection": "Policies for Collection", + // TODO New key - Add a translation + "resource-policies.table.headers.title.for.collection": "Policies for Collection", + + + // "search.description": "", // TODO New key - Add a translation "search.description": "", @@ -4090,6 +5659,14 @@ + // "sorting.ASC": "Ascending", + // TODO New key - Add a translation + "sorting.ASC": "Ascending", + + // "sorting.DESC": "Descending", + // TODO New key - Add a translation + "sorting.DESC": "Descending", + // "sorting.dc.title.ASC": "Title Ascending", // TODO New key - Add a translation "sorting.dc.title.ASC": "Title Ascending", @@ -4104,6 +5681,52 @@ + // "statistics.title": "Statistics", + // TODO New key - Add a translation + "statistics.title": "Statistics", + + // "statistics.header": "Statistics for {{ scope }}", + // TODO New key - Add a translation + "statistics.header": "Statistics for {{ scope }}", + + // "statistics.breadcrumbs": "Statistics", + // TODO New key - Add a translation + "statistics.breadcrumbs": "Statistics", + + // "statistics.page.no-data": "No data available", + // TODO New key - Add a translation + "statistics.page.no-data": "No data available", + + // "statistics.table.no-data": "No data available", + // TODO New key - Add a translation + "statistics.table.no-data": "No data available", + + // "statistics.table.title.TotalVisits": "Total visits", + // TODO New key - Add a translation + "statistics.table.title.TotalVisits": "Total visits", + + // "statistics.table.title.TotalVisitsPerMonth": "Total visits per month", + // TODO New key - Add a translation + "statistics.table.title.TotalVisitsPerMonth": "Total visits per month", + + // "statistics.table.title.TotalDownloads": "File Visits", + // TODO New key - Add a translation + "statistics.table.title.TotalDownloads": "File Visits", + + // "statistics.table.title.TopCountries": "Top country views", + // TODO New key - Add a translation + "statistics.table.title.TopCountries": "Top country views", + + // "statistics.table.title.TopCities": "Top city views", + // TODO New key - Add a translation + "statistics.table.title.TopCities": "Top city views", + + // "statistics.table.header.views": "Views", + // TODO New key - Add a translation + "statistics.table.header.views": "Views", + + + // "submission.edit.title": "Edit Submission", // TODO New key - Add a translation "submission.edit.title": "Edit Submission", @@ -4145,6 +5768,85 @@ "submission.general.save-later": "Save for later", + // "submission.import-external.page.title": "Import metadata from an external source", + // TODO New key - Add a translation + "submission.import-external.page.title": "Import metadata from an external source", + + // "submission.import-external.title": "Import metadata from an external source", + // TODO New key - Add a translation + "submission.import-external.title": "Import metadata from an external source", + + // "submission.import-external.page.hint": "Enter a query above to find items from the web to import in to DSpace.", + // TODO New key - Add a translation + "submission.import-external.page.hint": "Enter a query above to find items from the web to import in to DSpace.", + + // "submission.import-external.back-to-my-dspace": "Back to MyDSpace", + // TODO New key - Add a translation + "submission.import-external.back-to-my-dspace": "Back to MyDSpace", + + // "submission.import-external.search.placeholder": "Search the external source", + // TODO New key - Add a translation + "submission.import-external.search.placeholder": "Search the external source", + + // "submission.import-external.search.button": "Search", + // TODO New key - Add a translation + "submission.import-external.search.button": "Search", + + // "submission.import-external.search.button.hint": "Write some words to search", + // TODO New key - Add a translation + "submission.import-external.search.button.hint": "Write some words to search", + + // "submission.import-external.search.source.hint": "Pick an external source", + // TODO New key - Add a translation + "submission.import-external.search.source.hint": "Pick an external source", + + // "submission.import-external.source.arxiv": "arXiv", + // TODO New key - Add a translation + "submission.import-external.source.arxiv": "arXiv", + + // "submission.import-external.source.loading": "Loading ...", + // TODO New key - Add a translation + "submission.import-external.source.loading": "Loading ...", + + // "submission.import-external.source.sherpaJournal": "SHERPA Journals", + // TODO New key - Add a translation + "submission.import-external.source.sherpaJournal": "SHERPA Journals", + + // "submission.import-external.source.sherpaPublisher": "SHERPA Publishers", + // TODO New key - Add a translation + "submission.import-external.source.sherpaPublisher": "SHERPA Publishers", + + // "submission.import-external.source.orcid": "ORCID", + // TODO New key - Add a translation + "submission.import-external.source.orcid": "ORCID", + + // "submission.import-external.source.pubmed": "Pubmed", + // TODO New key - Add a translation + "submission.import-external.source.pubmed": "Pubmed", + + // "submission.import-external.source.lcname": "Library of Congress Names", + // TODO New key - Add a translation + "submission.import-external.source.lcname": "Library of Congress Names", + + // "submission.import-external.preview.title": "Item Preview", + // TODO New key - Add a translation + "submission.import-external.preview.title": "Item Preview", + + // "submission.import-external.preview.subtitle": "The metadata below was imported from an external source. It will be pre-filled when you start the submission.", + // TODO New key - Add a translation + "submission.import-external.preview.subtitle": "The metadata below was imported from an external source. It will be pre-filled when you start the submission.", + + // "submission.import-external.preview.button.import": "Start submission", + // TODO New key - Add a translation + "submission.import-external.preview.button.import": "Start submission", + + // "submission.import-external.preview.error.import.title": "Submission error", + // TODO New key - Add a translation + "submission.import-external.preview.error.import.title": "Submission error", + + // "submission.import-external.preview.error.import.body": "An error occurs during the external source entry import process.", + // TODO New key - Add a translation + "submission.import-external.preview.error.import.body": "An error occurs during the external source entry import process.", // "submission.sections.describe.relationship-lookup.close": "Close", // TODO New key - Add a translation @@ -4154,9 +5856,9 @@ // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.external-source.added": "Successfully added local entry to the selection", - // "submission.sections.describe.relationship-lookup.external-source.import-button-title.Author": "Import remote author", + // "submission.sections.describe.relationship-lookup.external-source.import-button-title.isAuthorOfPublication": "Import remote author", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-button-title.Author": "Import remote author", + "submission.sections.describe.relationship-lookup.external-source.import-button-title.isAuthorOfPublication": "Import remote author", // "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal": "Import remote journal", // TODO New key - Add a translation @@ -4170,17 +5872,17 @@ // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal Volume": "Import remote journal volume", - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.title": "Import Remote Author", + // "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.title": "Import Remote Author", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.title": "Import Remote Author", + "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.title": "Import Remote Author", - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.added.local-entity": "Successfully added local author to the selection", + // "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.added.local-entity": "Successfully added local author to the selection", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.added.local-entity": "Successfully added local author to the selection", + "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.added.local-entity": "Successfully added local author to the selection", - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.added.new-entity": "Successfully imported and added external author to the selection", + // "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.added.new-entity": "Successfully imported and added external author to the selection", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.added.new-entity": "Successfully imported and added external author to the selection", + "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.added.new-entity": "Successfully imported and added external author to the selection", // "submission.sections.describe.relationship-lookup.external-source.import-modal.authority": "Authority", // TODO New key - Add a translation @@ -4222,6 +5924,14 @@ // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.external-source.import-modal.head.sherpaPublisher": "Importing from Sherpa Publisher", + // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.pubmed": "Importing from PubMed", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.head.pubmed": "Importing from PubMed", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.arxiv": "Importing from arXiv", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.head.arxiv": "Importing from arXiv", + // "submission.sections.describe.relationship-lookup.external-source.import-modal.import": "Import", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.external-source.import-modal.import": "Import", @@ -4298,21 +6008,54 @@ // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.selected": "Selected {{ size }} items", - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Author": "Local Authors ({{ count }})", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isAuthorOfPublication": "Local Authors ({{ count }})", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Author": "Local Authors ({{ count }})", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isAuthorOfPublication": "Local Authors ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalOfPublication": "Local Journals ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalOfPublication": "Local Journals ({{ count }})", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Project": "Local Projects ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.Project": "Local Projects ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Publication": "Local Publications ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.Publication": "Local Publications ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Person": "Local Authors ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.Person": "Local Authors ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.OrgUnit": "Local Organizational Units ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.OrgUnit": "Local Organizational Units ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.DataPackage": "Local Data Packages ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.DataPackage": "Local Data Packages ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.DataFile": "Local Data Files ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.DataFile": "Local Data Files ({{ count }})", // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal": "Local Journals ({{ count }})", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal": "Local Journals ({{ count }})", - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal Issue": "Local Journal Issues ({{ count }})", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalIssueOfPublication": "Local Journal Issues ({{ count }})", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal Issue": "Local Journal Issues ({{ count }})", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalIssueOfPublication": "Local Journal Issues ({{ count }})", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.JournalIssue": "Local Journal Issues ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.JournalIssue": "Local Journal Issues ({{ count }})", - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal Volume": "Local Journal Volumes ({{ count }})", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalVolumeOfPublication": "Local Journal Volumes ({{ count }})", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal Volume": "Local Journal Volumes ({{ count }})", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalVolumeOfPublication": "Local Journal Volumes ({{ count }})", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.JournalVolume": "Local Journal Volumes ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.JournalVolume": "Local Journal Volumes ({{ count }})", // "submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaJournal": "Sherpa Journals ({{ count }})", // TODO New key - Add a translation @@ -4330,41 +6073,90 @@ // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.search-tab.tab-title.lcname": "LC Names ({{ count }})", - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Funding Agency": "Search for Funding Agencies", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.pubmed": "PubMed ({{ count }})", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Funding Agency": "Search for Funding Agencies", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.pubmed": "PubMed ({{ count }})", - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Funding": "Search for Funding", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.arxiv": "arXiv ({{ count }})", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Funding": "Search for Funding", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.arxiv": "arXiv ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingAgencyOfPublication": "Search for Funding Agencies", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingAgencyOfPublication": "Search for Funding Agencies", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingOfPublication": "Search for Funding", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingOfPublication": "Search for Funding", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isChildOrgUnitOf": "Search for Organizational Units", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isChildOrgUnitOf": "Search for Organizational Units", // "submission.sections.describe.relationship-lookup.selection-tab.tab-title": "Current Selection ({{ count }})", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.selection-tab.tab-title": "Current Selection ({{ count }})", - // "submission.sections.describe.relationship-lookup.title.Journal Issue": "Journal Issues", + // "submission.sections.describe.relationship-lookup.title.isJournalIssueOfPublication": "Journal Issues", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.title.Journal Issue": "Journal Issues", + "submission.sections.describe.relationship-lookup.title.isJournalIssueOfPublication": "Journal Issues", + // "submission.sections.describe.relationship-lookup.title.JournalIssue": "Journal Issues", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.JournalIssue": "Journal Issues", - // "submission.sections.describe.relationship-lookup.title.Journal Volume": "Journal Volumes", + // "submission.sections.describe.relationship-lookup.title.isJournalVolumeOfPublication": "Journal Volumes", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.title.Journal Volume": "Journal Volumes", + "submission.sections.describe.relationship-lookup.title.isJournalVolumeOfPublication": "Journal Volumes", + // "submission.sections.describe.relationship-lookup.title.JournalVolume": "Journal Volumes", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.JournalVolume": "Journal Volumes", - // "submission.sections.describe.relationship-lookup.title.Journal": "Journals", + // "submission.sections.describe.relationship-lookup.title.isJournalOfPublication": "Journals", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.title.Journal": "Journals", + "submission.sections.describe.relationship-lookup.title.isJournalOfPublication": "Journals", - // "submission.sections.describe.relationship-lookup.title.Author": "Authors", + // "submission.sections.describe.relationship-lookup.title.isAuthorOfPublication": "Authors", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.title.Author": "Authors", + "submission.sections.describe.relationship-lookup.title.isAuthorOfPublication": "Authors", + + // "submission.sections.describe.relationship-lookup.title.isFundingAgencyOfPublication": "Funding Agency", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.isFundingAgencyOfPublication": "Funding Agency", + // "submission.sections.describe.relationship-lookup.title.Project": "Projects", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.Project": "Projects", + + // "submission.sections.describe.relationship-lookup.title.Publication": "Publications", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.Publication": "Publications", + + // "submission.sections.describe.relationship-lookup.title.Person": "Authors", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.Person": "Authors", + + // "submission.sections.describe.relationship-lookup.title.OrgUnit": "Organizational Units", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.OrgUnit": "Organizational Units", + + // "submission.sections.describe.relationship-lookup.title.DataPackage": "Data Packages", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.DataPackage": "Data Packages", + + // "submission.sections.describe.relationship-lookup.title.DataFile": "Data Files", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.DataFile": "Data Files", // "submission.sections.describe.relationship-lookup.title.Funding Agency": "Funding Agency", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.title.Funding Agency": "Funding Agency", - // "submission.sections.describe.relationship-lookup.title.Funding": "Funding", + // "submission.sections.describe.relationship-lookup.title.isFundingOfPublication": "Funding", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.title.Funding": "Funding", + "submission.sections.describe.relationship-lookup.title.isFundingOfPublication": "Funding", + + // "submission.sections.describe.relationship-lookup.title.isChildOrgUnitOf": "Parent Organizational Unit", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.isChildOrgUnitOf": "Parent Organizational Unit", // "submission.sections.describe.relationship-lookup.search-tab.toggle-dropdown": "Toggle dropdown", // TODO New key - Add a translation @@ -4378,21 +6170,66 @@ // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.selection-tab.no-selection": "Your selection is currently empty.", - // "submission.sections.describe.relationship-lookup.selection-tab.title.Author": "Selected Authors", + // "submission.sections.describe.relationship-lookup.selection-tab.title.isAuthorOfPublication": "Selected Authors", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.selection-tab.title.Author": "Selected Authors", + "submission.sections.describe.relationship-lookup.selection-tab.title.isAuthorOfPublication": "Selected Authors", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalOfPublication": "Selected Journals", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalOfPublication": "Selected Journals", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalVolumeOfPublication": "Selected Journal Volume", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalVolumeOfPublication": "Selected Journal Volume", + // "submission.sections.describe.relationship-lookup.selection-tab.title.Project": "Selected Projects", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.Project": "Selected Projects", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.Publication": "Selected Publications", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.Publication": "Selected Publications", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.Person": "Selected Authors", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.Person": "Selected Authors", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.OrgUnit": "Selected Organizational Units", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.OrgUnit": "Selected Organizational Units", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.DataPackage": "Selected Data Packages", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.DataPackage": "Selected Data Packages", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.DataFile": "Selected Data Files", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.DataFile": "Selected Data Files", // "submission.sections.describe.relationship-lookup.selection-tab.title.Journal": "Selected Journals", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.selection-tab.title.Journal": "Selected Journals", - // "submission.sections.describe.relationship-lookup.selection-tab.title.Journal Volume": "Selected Journal Volume", + // "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalIssueOfPublication": "Selected Issue", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.selection-tab.title.Journal Volume": "Selected Journal Volume", + "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalIssueOfPublication": "Selected Issue", + // "submission.sections.describe.relationship-lookup.selection-tab.title.JournalVolume": "Selected Journal Volume", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.JournalVolume": "Selected Journal Volume", - // "submission.sections.describe.relationship-lookup.selection-tab.title.Journal Issue": "Selected Issue", + // "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingAgencyOfPublication": "Selected Funding Agency", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.selection-tab.title.Journal Issue": "Selected Issue", + "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingAgencyOfPublication": "Selected Funding Agency", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingOfPublication": "Selected Funding", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingOfPublication": "Selected Funding", + // "submission.sections.describe.relationship-lookup.selection-tab.title.JournalIssue": "Selected Issue", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.JournalIssue": "Selected Issue", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isChildOrgUnitOf": "Selected Organizational Unit", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.isChildOrgUnitOf": "Selected Organizational Unit", // "submission.sections.describe.relationship-lookup.selection-tab.title.sherpaJournal": "Search Results", // TODO New key - Add a translation @@ -4406,10 +6243,22 @@ // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.selection-tab.title.orcid": "Search Results", + // "submission.sections.describe.relationship-lookup.selection-tab.title.orcidv2": "Search Results", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.orcidv2": "Search Results", + // "submission.sections.describe.relationship-lookup.selection-tab.title.lcname": "Search Results", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.selection-tab.title.lcname": "Search Results", + // "submission.sections.describe.relationship-lookup.selection-tab.title.pubmed": "Search Results", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.pubmed": "Search Results", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.arxiv": "Search Results", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.arxiv": "Search Results", + // "submission.sections.describe.relationship-lookup.name-variant.notification.content": "Would you like to save \"{{ value }}\" as a name variant for this person so you and others can reuse it for future submissions? If you don\'t you can still use it for this submission.", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.name-variant.notification.content": "Would you like to save \"{{ value }}\" as a name variant for this person so you and others can reuse it for future submissions? If you don\'t you can still use it for this submission.", @@ -4422,6 +6271,34 @@ // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.name-variant.notification.decline": "Use only for this submission", + // "submission.sections.ccLicense.type": "License Type", + // TODO New key - Add a translation + "submission.sections.ccLicense.type": "License Type", + + // "submission.sections.ccLicense.select": "Select a license type…", + // TODO New key - Add a translation + "submission.sections.ccLicense.select": "Select a license type…", + + // "submission.sections.ccLicense.change": "Change your license type…", + // TODO New key - Add a translation + "submission.sections.ccLicense.change": "Change your license type…", + + // "submission.sections.ccLicense.none": "No licenses available", + // TODO New key - Add a translation + "submission.sections.ccLicense.none": "No licenses available", + + // "submission.sections.ccLicense.option.select": "Select an option…", + // TODO New key - Add a translation + "submission.sections.ccLicense.option.select": "Select an option…", + + // "submission.sections.ccLicense.link": "You’ve selected the following license:", + // TODO New key - Add a translation + "submission.sections.ccLicense.link": "You’ve selected the following license:", + + // "submission.sections.ccLicense.confirmation": "I grant the license above", + // TODO New key - Add a translation + "submission.sections.ccLicense.confirmation": "I grant the license above", + // "submission.sections.general.add-more": "Add more", // TODO New key - Add a translation "submission.sections.general.add-more": "Add more", @@ -4480,9 +6357,9 @@ - // "submission.sections.submit.progressbar.cclicense": "Creative commons license", + // "submission.sections.submit.progressbar.CClicense": "Creative commons license", // TODO New key - Add a translation - "submission.sections.submit.progressbar.cclicense": "Creative commons license", + "submission.sections.submit.progressbar.CClicense": "Creative commons license", // "submission.sections.submit.progressbar.describe.recycle": "Recycle", // TODO New key - Add a translation @@ -4546,9 +6423,9 @@ // TODO New key - Add a translation "submission.sections.upload.form.date-required": "Date is required.", - // "submission.sections.upload.form.from-label": "Access grant from", + // "submission.sections.upload.form.from-label": "Grant access from", // TODO New key - Add a translation - "submission.sections.upload.form.from-label": "Access grant from", + "submission.sections.upload.form.from-label": "Grant access from", // "submission.sections.upload.form.from-placeholder": "From", // TODO New key - Add a translation @@ -4562,9 +6439,9 @@ // TODO New key - Add a translation "submission.sections.upload.form.group-required": "Group is required.", - // "submission.sections.upload.form.until-label": "Access grant until", + // "submission.sections.upload.form.until-label": "Grant access until", // TODO New key - Add a translation - "submission.sections.upload.form.until-label": "Access grant until", + "submission.sections.upload.form.until-label": "Grant access until", // "submission.sections.upload.form.until-placeholder": "Until", // TODO New key - Add a translation @@ -4731,13 +6608,34 @@ "title": "DSpace", - // "administrativeView.search.results.head": "Administrative Search", - // TODO New key - Add a translation - "administrativeView.search.results.head": "Administrative Search", - // "menu.section.admin_search": "Admin Search", + // "vocabulary-treeview.header": "Hierarchical tree view", // TODO New key - Add a translation - "menu.section.admin_search": "Admin Search", + "vocabulary-treeview.header": "Hierarchical tree view", + + // "vocabulary-treeview.load-more": "Load more", + // TODO New key - Add a translation + "vocabulary-treeview.load-more": "Load more", + + // "vocabulary-treeview.search.form.reset": "Reset", + // TODO New key - Add a translation + "vocabulary-treeview.search.form.reset": "Reset", + + // "vocabulary-treeview.search.form.search": "Search", + // TODO New key - Add a translation + "vocabulary-treeview.search.form.search": "Search", + + // "vocabulary-treeview.search.no-result": "There were no items to show", + // TODO New key - Add a translation + "vocabulary-treeview.search.no-result": "There were no items to show", + + // "vocabulary-treeview.tree.description.nsi": "The Norwegian Science Index", + // TODO New key - Add a translation + "vocabulary-treeview.tree.description.nsi": "The Norwegian Science Index", + + // "vocabulary-treeview.tree.description.srsc": "Research Subject Categories", + // TODO New key - Add a translation + "vocabulary-treeview.tree.description.srsc": "Research Subject Categories", @@ -4749,9 +6647,9 @@ // TODO New key - Add a translation "uploader.drag-message": "Drag & Drop your files here", - // "uploader.or": ", or", + // "uploader.or": ", or ", // TODO New key - Add a translation - "uploader.or": ", or", + "uploader.or": ", or ", // "uploader.processing": "Processing", // TODO New key - Add a translation @@ -4774,5 +6672,77 @@ "virtual-metadata.delete-relationship.modal-head": "Select the items for which you want to save the virtual metadata as real metadata", + + // "workflowAdmin.search.results.head": "Administer Workflow", + // TODO New key - Add a translation + "workflowAdmin.search.results.head": "Administer Workflow", + + + + // "workflow-item.delete.notification.success.title": "Deleted", + // TODO New key - Add a translation + "workflow-item.delete.notification.success.title": "Deleted", + + // "workflow-item.delete.notification.success.content": "This workflow item was successfully deleted", + // TODO New key - Add a translation + "workflow-item.delete.notification.success.content": "This workflow item was successfully deleted", + + // "workflow-item.delete.notification.error.title": "Something went wrong", + // TODO New key - Add a translation + "workflow-item.delete.notification.error.title": "Something went wrong", + + // "workflow-item.delete.notification.error.content": "The workflow item could not be deleted", + // TODO New key - Add a translation + "workflow-item.delete.notification.error.content": "The workflow item could not be deleted", + + // "workflow-item.delete.title": "Delete workflow item", + // TODO New key - Add a translation + "workflow-item.delete.title": "Delete workflow item", + + // "workflow-item.delete.header": "Delete workflow item", + // TODO New key - Add a translation + "workflow-item.delete.header": "Delete workflow item", + + // "workflow-item.delete.button.cancel": "Cancel", + // TODO New key - Add a translation + "workflow-item.delete.button.cancel": "Cancel", + + // "workflow-item.delete.button.confirm": "Delete", + // TODO New key - Add a translation + "workflow-item.delete.button.confirm": "Delete", + + + // "workflow-item.send-back.notification.success.title": "Sent back to submitter", + // TODO New key - Add a translation + "workflow-item.send-back.notification.success.title": "Sent back to submitter", + + // "workflow-item.send-back.notification.success.content": "This workflow item was successfully sent back to the submitter", + // TODO New key - Add a translation + "workflow-item.send-back.notification.success.content": "This workflow item was successfully sent back to the submitter", + + // "workflow-item.send-back.notification.error.title": "Something went wrong", + // TODO New key - Add a translation + "workflow-item.send-back.notification.error.title": "Something went wrong", + + // "workflow-item.send-back.notification.error.content": "The workflow item could not be sent back to the submitter", + // TODO New key - Add a translation + "workflow-item.send-back.notification.error.content": "The workflow item could not be sent back to the submitter", + + // "workflow-item.send-back.title": "Send workflow item back to submitter", + // TODO New key - Add a translation + "workflow-item.send-back.title": "Send workflow item back to submitter", + + // "workflow-item.send-back.header": "Send workflow item back to submitter", + // TODO New key - Add a translation + "workflow-item.send-back.header": "Send workflow item back to submitter", + + // "workflow-item.send-back.button.cancel": "Cancel", + // TODO New key - Add a translation + "workflow-item.send-back.button.cancel": "Cancel", + + // "workflow-item.send-back.button.confirm": "Send back" + // TODO New key - Add a translation + "workflow-item.send-back.button.confirm": "Send back" + } \ No newline at end of file diff --git a/src/assets/i18n/cs.json5 b/src/assets/i18n/cs.json5 index 775189bdf8..9bc6ea36ed 100644 --- a/src/assets/i18n/cs.json5 +++ b/src/assets/i18n/cs.json5 @@ -1,5 +1,33 @@ { + // "401.help": "You're not authorized to access this page. You can use the button below to get back to the home page.", + // TODO New key - Add a translation + "401.help": "You're not authorized to access this page. You can use the button below to get back to the home page.", + + // "401.link.home-page": "Take me to the home page", + // TODO New key - Add a translation + "401.link.home-page": "Take me to the home page", + + // "401.unauthorized": "unauthorized", + // TODO New key - Add a translation + "401.unauthorized": "unauthorized", + + + + // "403.help": "You don't have permission to access this page. You can use the button below to get back to the home page.", + // TODO New key - Add a translation + "403.help": "You don't have permission to access this page. You can use the button below to get back to the home page.", + + // "403.link.home-page": "Take me to the home page", + // TODO New key - Add a translation + "403.link.home-page": "Take me to the home page", + + // "403.forbidden": "forbidden", + // TODO New key - Add a translation + "403.forbidden": "forbidden", + + + // "404.help": "We can't find the page you're looking for. The page may have been moved or deleted. You can use the button below to get back to the home page. ", "404.help": "Nepodařilo se najít stránku, kterou hledáte. Je možné, že stránka byla přesunuta nebo smazána. Pomocí tlačítka níže můžete přejít na domovskou stránku. ", @@ -9,7 +37,25 @@ // "404.page-not-found": "page not found", "404.page-not-found": "stránka nenalezena", + // "admin.curation-tasks.breadcrumbs": "System curation tasks", + // TODO New key - Add a translation + "admin.curation-tasks.breadcrumbs": "System curation tasks", + // "admin.curation-tasks.title": "System curation tasks", + // TODO New key - Add a translation + "admin.curation-tasks.title": "System curation tasks", + + // "admin.curation-tasks.header": "System curation tasks", + // TODO New key - Add a translation + "admin.curation-tasks.header": "System curation tasks", + + // "admin.registries.bitstream-formats.breadcrumbs": "Format registry", + // TODO New key - Add a translation + "admin.registries.bitstream-formats.breadcrumbs": "Format registry", + + // "admin.registries.bitstream-formats.create.breadcrumbs": "Bitstream format", + // TODO New key - Add a translation + "admin.registries.bitstream-formats.create.breadcrumbs": "Bitstream format", // "admin.registries.bitstream-formats.create.failure.content": "An error occurred while creating the new bitstream format.", // TODO New key - Add a translation @@ -54,6 +100,10 @@ // "admin.registries.bitstream-formats.description": "This list of bitstream formats provides information about known formats and their support level.", "admin.registries.bitstream-formats.description": "Tento seznam formátů souborů poskytuje informace o známých formátech a o úrovni jejich podpory.", + // "admin.registries.bitstream-formats.edit.breadcrumbs": "Bitstream format", + // TODO New key - Add a translation + "admin.registries.bitstream-formats.edit.breadcrumbs": "Bitstream format", + // "admin.registries.bitstream-formats.edit.description.hint": "", // TODO New key - Add a translation "admin.registries.bitstream-formats.edit.description.hint": "", @@ -178,6 +228,10 @@ + // "admin.registries.metadata.breadcrumbs": "Metadata registry", + // TODO New key - Add a translation + "admin.registries.metadata.breadcrumbs": "Metadata registry", + // "admin.registries.metadata.description": "The metadata registry maintains a list of all metadata fields available in the repository. These fields may be divided amongst multiple schemas. However, DSpace requires the qualified Dublin Core schema.", "admin.registries.metadata.description": "Registr metadat je seznam všech metadatových polí dostupných v repozitáři. Tyto pole mohou být rozdělena do více schémat. DSpace však vyžaduje použití schématu Kvalifikovaný Dublin Core.", @@ -221,6 +275,10 @@ + // "admin.registries.schema.breadcrumbs": "Metadata schema", + // TODO New key - Add a translation + "admin.registries.schema.breadcrumbs": "Metadata schema", + // "admin.registries.schema.description": "This is the metadata schema for \"{{namespace}}\".", "admin.registries.schema.description": "Toto je schéma metadat pro „{{namespace}}“.", @@ -312,6 +370,22 @@ + // "admin.access-control.epeople.actions.delete": "Delete EPerson", + // TODO New key - Add a translation + "admin.access-control.epeople.actions.delete": "Delete EPerson", + + // "admin.access-control.epeople.actions.impersonate": "Impersonate EPerson", + // TODO New key - Add a translation + "admin.access-control.epeople.actions.impersonate": "Impersonate EPerson", + + // "admin.access-control.epeople.actions.reset": "Reset password", + // TODO New key - Add a translation + "admin.access-control.epeople.actions.reset": "Reset password", + + // "admin.access-control.epeople.actions.stop-impersonating": "Stop impersonating EPerson", + // TODO New key - Add a translation + "admin.access-control.epeople.actions.stop-impersonating": "Stop impersonating EPerson", + // "admin.access-control.epeople.title": "DSpace Angular :: EPeople", // TODO New key - Add a translation "admin.access-control.epeople.title": "DSpace Angular :: EPeople", @@ -428,6 +502,14 @@ // TODO New key - Add a translation "admin.access-control.epeople.form.notification.edited.failure": "Failed to edit EPerson \"{{name}}\"", + // "admin.access-control.epeople.form.notification.deleted.success": "Successfully deleted EPerson \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.epeople.form.notification.deleted.success": "Successfully deleted EPerson \"{{name}}\"", + + // "admin.access-control.epeople.form.notification.deleted.failure": "Failed to delete EPerson \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.epeople.form.notification.deleted.failure": "Failed to delete EPerson \"{{name}}\"", + // "admin.access-control.epeople.form.groupsEPersonIsMemberOf": "Member of these groups:", // TODO New key - Add a translation "admin.access-control.epeople.form.groupsEPersonIsMemberOf": "Member of these groups:", @@ -462,6 +544,14 @@ // TODO New key - Add a translation "admin.access-control.groups.title": "DSpace Angular :: Groups", + // "admin.access-control.groups.title.singleGroup": "DSpace Angular :: Edit Group", + // TODO New key - Add a translation + "admin.access-control.groups.title.singleGroup": "DSpace Angular :: Edit Group", + + // "admin.access-control.groups.title.addGroup": "DSpace Angular :: New Group", + // TODO New key - Add a translation + "admin.access-control.groups.title.addGroup": "DSpace Angular :: New Group", + // "admin.access-control.groups.head": "Groups", // TODO New key - Add a translation "admin.access-control.groups.head": "Groups", @@ -494,10 +584,6 @@ // TODO New key - Add a translation "admin.access-control.groups.table.members": "Members", - // "admin.access-control.groups.table.comcol": "Community / Collection", - // TODO New key - Add a translation - "admin.access-control.groups.table.comcol": "Community / Collection", - // "admin.access-control.groups.table.edit": "Edit", // TODO New key - Add a translation "admin.access-control.groups.table.edit": "Edit", @@ -518,10 +604,23 @@ // TODO New key - Add a translation "admin.access-control.groups.notification.deleted.success": "Successfully deleted group \"{{name}}\"", - // "admin.access-control.groups.notification.deleted.failure": "Failed to delete group \"{{name}}\"", + // "admin.access-control.groups.notification.deleted.failure.title": "Failed to delete group \"{{name}}\"", // TODO New key - Add a translation - "admin.access-control.groups.notification.deleted.failure": "Failed to delete group \"{{name}}\"", + "admin.access-control.groups.notification.deleted.failure.title": "Failed to delete group \"{{name}}\"", + // "admin.access-control.groups.notification.deleted.failure.content": "Cause: \"{{cause}}\"", + // TODO New key - Add a translation + "admin.access-control.groups.notification.deleted.failure.content": "Cause: \"{{cause}}\"", + + + + // "admin.access-control.groups.form.alert.permanent": "This group is permanent, so it can't be edited or deleted. You can still add and remove group members using this page.", + // TODO New key - Add a translation + "admin.access-control.groups.form.alert.permanent": "This group is permanent, so it can't be edited or deleted. You can still add and remove group members using this page.", + + // "admin.access-control.groups.form.alert.workflowGroup": "This group can’t be modified or deleted because it corresponds to a role in the submission and workflow process in the \"{{name}}\" {{comcol}}. You can delete it from the \"assign roles\" tab on the edit {{comcol}} page. You can still add and remove group members using this page.", + // TODO New key - Add a translation + "admin.access-control.groups.form.alert.workflowGroup": "This group can’t be modified or deleted because it corresponds to a role in the submission and workflow process in the \"{{name}}\" {{comcol}}. You can delete it from the \"assign roles\" tab on the edit {{comcol}} page. You can still add and remove group members using this page.", // "admin.access-control.groups.form.head.create": "Create group", // TODO New key - Add a translation @@ -551,6 +650,50 @@ // TODO New key - Add a translation "admin.access-control.groups.form.notification.created.failure.groupNameInUse": "Failed to create Group with name: \"{{name}}\", make sure the name is not already in use.", + // "admin.access-control.groups.form.notification.edited.failure": "Failed to edit Group \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.edited.failure": "Failed to edit Group \"{{name}}\"", + + // "admin.access-control.groups.form.notification.edited.failure.groupNameInUse": "Name \"{{name}}\" already in use!", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.edited.failure.groupNameInUse": "Name \"{{name}}\" already in use!", + + // "admin.access-control.groups.form.notification.edited.success": "Successfully edited Group \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.edited.success": "Successfully edited Group \"{{name}}\"", + + // "admin.access-control.groups.form.actions.delete": "Delete Group", + // TODO New key - Add a translation + "admin.access-control.groups.form.actions.delete": "Delete Group", + + // "admin.access-control.groups.form.delete-group.modal.header": "Delete Group \"{{ dsoName }}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.delete-group.modal.header": "Delete Group \"{{ dsoName }}\"", + + // "admin.access-control.groups.form.delete-group.modal.info": "Are you sure you want to delete Group \"{{ dsoName }}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.delete-group.modal.info": "Are you sure you want to delete Group \"{{ dsoName }}\"", + + // "admin.access-control.groups.form.delete-group.modal.cancel": "Cancel", + // TODO New key - Add a translation + "admin.access-control.groups.form.delete-group.modal.cancel": "Cancel", + + // "admin.access-control.groups.form.delete-group.modal.confirm": "Delete", + // TODO New key - Add a translation + "admin.access-control.groups.form.delete-group.modal.confirm": "Delete", + + // "admin.access-control.groups.form.notification.deleted.success": "Successfully deleted group \"{{ name }}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.deleted.success": "Successfully deleted group \"{{ name }}\"", + + // "admin.access-control.groups.form.notification.deleted.failure.title": "Failed to delete group \"{{ name }}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.deleted.failure.title": "Failed to delete group \"{{ name }}\"", + + // "admin.access-control.groups.form.notification.deleted.failure.content": "Cause: \"{{ cause }}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.deleted.failure.content": "Cause: \"{{ cause }}\"", + // "admin.access-control.groups.form.members-list.head": "EPeople", // TODO New key - Add a translation "admin.access-control.groups.form.members-list.head": "EPeople", @@ -627,6 +770,10 @@ // TODO New key - Add a translation "admin.access-control.groups.form.members-list.no-items": "No EPeople found in that search", + // "admin.access-control.groups.form.subgroups-list.notification.failure": "Something went wrong: \"{{cause}}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.subgroups-list.notification.failure": "Something went wrong: \"{{cause}}\"", + // "admin.access-control.groups.form.subgroups-list.head": "Groups", // TODO New key - Add a translation "admin.access-control.groups.form.subgroups-list.head": "Groups", @@ -741,10 +888,6 @@ // TODO New key - Add a translation "admin.search.item.move": "Move", - // "admin.search.item.private": "Private", - // TODO New key - Add a translation - "admin.search.item.private": "Private", - // "admin.search.item.reinstate": "Reinstate", // TODO New key - Add a translation "admin.search.item.reinstate": "Reinstate", @@ -753,14 +896,76 @@ // TODO New key - Add a translation "admin.search.item.withdraw": "Withdraw", - // "admin.search.item.withdrawn": "Withdrawn", - // TODO New key - Add a translation - "admin.search.item.withdrawn": "Withdrawn", - // "admin.search.title": "Administrative Search", // TODO New key - Add a translation "admin.search.title": "Administrative Search", + // "administrativeView.search.results.head": "Administrative Search", + // TODO New key - Add a translation + "administrativeView.search.results.head": "Administrative Search", + + + + + // "admin.workflow.breadcrumbs": "Administer Workflow", + // TODO New key - Add a translation + "admin.workflow.breadcrumbs": "Administer Workflow", + + // "admin.workflow.title": "Administer Workflow", + // TODO New key - Add a translation + "admin.workflow.title": "Administer Workflow", + + // "admin.workflow.item.workflow": "Workflow", + // TODO New key - Add a translation + "admin.workflow.item.workflow": "Workflow", + + // "admin.workflow.item.delete": "Delete", + // TODO New key - Add a translation + "admin.workflow.item.delete": "Delete", + + // "admin.workflow.item.send-back": "Send back", + // TODO New key - Add a translation + "admin.workflow.item.send-back": "Send back", + + + + // "admin.metadata-import.breadcrumbs": "Import Metadata", + // TODO New key - Add a translation + "admin.metadata-import.breadcrumbs": "Import Metadata", + + // "admin.metadata-import.title": "Import Metadata", + // TODO New key - Add a translation + "admin.metadata-import.title": "Import Metadata", + + // "admin.metadata-import.page.header": "Import Metadata", + // TODO New key - Add a translation + "admin.metadata-import.page.header": "Import Metadata", + + // "admin.metadata-import.page.help": "You can drop or browse CSV files that contain batch metadata operations on files here", + // TODO New key - Add a translation + "admin.metadata-import.page.help": "You can drop or browse CSV files that contain batch metadata operations on files here", + + // "admin.metadata-import.page.dropMsg": "Drop a metadata CSV to import", + // TODO New key - Add a translation + "admin.metadata-import.page.dropMsg": "Drop a metadata CSV to import", + + // "admin.metadata-import.page.dropMsgReplace": "Drop to replace the metadata CSV to import", + // TODO New key - Add a translation + "admin.metadata-import.page.dropMsgReplace": "Drop to replace the metadata CSV to import", + + // "admin.metadata-import.page.button.return": "Return", + // TODO New key - Add a translation + "admin.metadata-import.page.button.return": "Return", + + // "admin.metadata-import.page.button.proceed": "Proceed", + // TODO New key - Add a translation + "admin.metadata-import.page.button.proceed": "Proceed", + + // "admin.metadata-import.page.error.addFile": "Select file first!", + // TODO New key - Add a translation + "admin.metadata-import.page.error.addFile": "Select file first!", + + // "auth.errors.invalid-user": "Invalid email address or password.", @@ -995,6 +1200,10 @@ // TODO New key - Add a translation "collection.create.sub-head": "Create a Collection for Community {{ parent }}", + // "collection.curate.header": "Curate Collection: {{collection}}", + // TODO New key - Add a translation + "collection.curate.header": "Curate Collection: {{collection}}", + // "collection.delete.cancel": "Cancel", // TODO New key - Add a translation "collection.delete.cancel": "Cancel", @@ -1035,6 +1244,14 @@ + // "collection.edit.tabs.mapper.head": "Item Mapper", + // TODO New key - Add a translation + "collection.edit.tabs.mapper.head": "Item Mapper", + + // "collection.edit.tabs.item-mapper.title": "Collection Edit - Item Mapper", + // TODO New key - Add a translation + "collection.edit.tabs.item-mapper.title": "Collection Edit - Item Mapper", + // "collection.edit.item-mapper.cancel": "Cancel", // TODO New key - Add a translation "collection.edit.item-mapper.cancel": "Cancel", @@ -1153,6 +1370,14 @@ // TODO New key - Add a translation "collection.edit.tabs.curate.title": "Collection Edit - Curate", + // "collection.edit.tabs.authorizations.head": "Authorizations", + // TODO New key - Add a translation + "collection.edit.tabs.authorizations.head": "Authorizations", + + // "collection.edit.tabs.authorizations.title": "Collection Edit - Authorizations", + // TODO New key - Add a translation + "collection.edit.tabs.authorizations.title": "Collection Edit - Authorizations", + // "collection.edit.tabs.metadata.head": "Edit Metadata", // TODO New key - Add a translation "collection.edit.tabs.metadata.head": "Edit Metadata", @@ -1243,6 +1468,48 @@ + // "collection.edit.template.add-button": "Add", + // TODO New key - Add a translation + "collection.edit.template.add-button": "Add", + + // "collection.edit.template.breadcrumbs": "Item template", + // TODO New key - Add a translation + "collection.edit.template.breadcrumbs": "Item template", + + // "collection.edit.template.cancel": "Cancel", + // TODO New key - Add a translation + "collection.edit.template.cancel": "Cancel", + + // "collection.edit.template.delete-button": "Delete", + // TODO New key - Add a translation + "collection.edit.template.delete-button": "Delete", + + // "collection.edit.template.edit-button": "Edit", + // TODO New key - Add a translation + "collection.edit.template.edit-button": "Edit", + + // "collection.edit.template.head": "Edit Template Item for Collection \"{{ collection }}\"", + // TODO New key - Add a translation + "collection.edit.template.head": "Edit Template Item for Collection \"{{ collection }}\"", + + // "collection.edit.template.label": "Template item", + // TODO New key - Add a translation + "collection.edit.template.label": "Template item", + + // "collection.edit.template.notifications.delete.error": "Failed to delete the item template", + // TODO New key - Add a translation + "collection.edit.template.notifications.delete.error": "Failed to delete the item template", + + // "collection.edit.template.notifications.delete.success": "Successfully deleted the item template", + // TODO New key - Add a translation + "collection.edit.template.notifications.delete.success": "Successfully deleted the item template", + + // "collection.edit.template.title": "Edit Template Item", + // TODO New key - Add a translation + "collection.edit.template.title": "Edit Template Item", + + + // "collection.form.abstract": "Short Description", // TODO New key - Add a translation "collection.form.abstract": "Short Description", @@ -1277,6 +1544,12 @@ + // "collection.listelement.badge": "Collection", + // TODO New key - Add a translation + "collection.listelement.badge": "Collection", + + + // "collection.page.browse.recent.head": "Recent Submissions", "collection.page.browse.recent.head": "Poslední příspěvky", @@ -1284,6 +1557,10 @@ // TODO New key - Add a translation "collection.page.browse.recent.empty": "No items to show", + // "collection.page.edit": "Edit this collection", + // TODO New key - Add a translation + "collection.page.edit": "Edit this collection", + // "collection.page.handle": "Permanent URI for this collection", // TODO New key - Add a translation "collection.page.handle": "Permanent URI for this collection", @@ -1346,6 +1623,10 @@ // TODO New key - Add a translation "community.create.sub-head": "Create a Sub-Community for Community {{ parent }}", + // "community.curate.header": "Curate Community: {{community}}", + // TODO New key - Add a translation + "community.curate.header": "Curate Community: {{community}}", + // "community.delete.cancel": "Cancel", // TODO New key - Add a translation "community.delete.cancel": "Cancel", @@ -1417,6 +1698,14 @@ // TODO New key - Add a translation "community.edit.notifications.success": "Successfully edited the Community", + // "community.edit.notifications.unauthorized": "You do not have privileges to make this change", + // TODO New key - Add a translation + "community.edit.notifications.unauthorized": "You do not have privileges to make this change", + + // "community.edit.notifications.error": "An error occured while editing the Community", + // TODO New key - Add a translation + "community.edit.notifications.error": "An error occured while editing the Community", + // "community.edit.return": "Return", // TODO New key - Add a translation "community.edit.return": "Return", @@ -1447,6 +1736,118 @@ // TODO New key - Add a translation "community.edit.tabs.roles.title": "Community Edit - Roles", + // "community.edit.tabs.authorizations.head": "Authorizations", + // TODO New key - Add a translation + "community.edit.tabs.authorizations.head": "Authorizations", + + // "community.edit.tabs.authorizations.title": "Community Edit - Authorizations", + // TODO New key - Add a translation + "community.edit.tabs.authorizations.title": "Community Edit - Authorizations", + + + + // "community.listelement.badge": "Community", + // TODO New key - Add a translation + "community.listelement.badge": "Community", + + + + // "comcol-role.edit.no-group": "None", + // TODO New key - Add a translation + "comcol-role.edit.no-group": "None", + + // "comcol-role.edit.create": "Create", + // TODO New key - Add a translation + "comcol-role.edit.create": "Create", + + // "comcol-role.edit.restrict": "Restrict", + // TODO New key - Add a translation + "comcol-role.edit.restrict": "Restrict", + + // "comcol-role.edit.delete": "Delete", + // TODO New key - Add a translation + "comcol-role.edit.delete": "Delete", + + + // "comcol-role.edit.community-admin.name": "Administrators", + // TODO New key - Add a translation + "comcol-role.edit.community-admin.name": "Administrators", + + // "comcol-role.edit.collection-admin.name": "Administrators", + // TODO New key - Add a translation + "comcol-role.edit.collection-admin.name": "Administrators", + + + // "comcol-role.edit.community-admin.description": "Community administrators can create sub-communities or collections, and manage or assign management for those sub-communities or collections. In addition, they decide who can submit items to any sub-collections, edit item metadata (after submission), and add (map) existing items from other collections (subject to authorization).", + // TODO New key - Add a translation + "comcol-role.edit.community-admin.description": "Community administrators can create sub-communities or collections, and manage or assign management for those sub-communities or collections. In addition, they decide who can submit items to any sub-collections, edit item metadata (after submission), and add (map) existing items from other collections (subject to authorization).", + + // "comcol-role.edit.collection-admin.description": "Collection administrators decide who can submit items to the collection, edit item metadata (after submission), and add (map) existing items from other collections to this collection (subject to authorization for that collection).", + // TODO New key - Add a translation + "comcol-role.edit.collection-admin.description": "Collection administrators decide who can submit items to the collection, edit item metadata (after submission), and add (map) existing items from other collections to this collection (subject to authorization for that collection).", + + + // "comcol-role.edit.submitters.name": "Submitters", + // TODO New key - Add a translation + "comcol-role.edit.submitters.name": "Submitters", + + // "comcol-role.edit.submitters.description": "The E-People and Groups that have permission to submit new items to this collection.", + // TODO New key - Add a translation + "comcol-role.edit.submitters.description": "The E-People and Groups that have permission to submit new items to this collection.", + + + // "comcol-role.edit.item_read.name": "Default item read access", + // TODO New key - Add a translation + "comcol-role.edit.item_read.name": "Default item read access", + + // "comcol-role.edit.item_read.description": "E-People and Groups that can read new items submitted to this collection. Changes to this role are not retroactive. Existing items in the system will still be viewable by those who had read access at the time of their addition.", + // TODO New key - Add a translation + "comcol-role.edit.item_read.description": "E-People and Groups that can read new items submitted to this collection. Changes to this role are not retroactive. Existing items in the system will still be viewable by those who had read access at the time of their addition.", + + // "comcol-role.edit.item_read.anonymous-group": "Default read for incoming items is currently set to Anonymous.", + // TODO New key - Add a translation + "comcol-role.edit.item_read.anonymous-group": "Default read for incoming items is currently set to Anonymous.", + + + // "comcol-role.edit.bitstream_read.name": "Default bitstream read access", + // TODO New key - Add a translation + "comcol-role.edit.bitstream_read.name": "Default bitstream read access", + + // "comcol-role.edit.bitstream_read.description": "Community administrators can create sub-communities or collections, and manage or assign management for those sub-communities or collections. In addition, they decide who can submit items to any sub-collections, edit item metadata (after submission), and add (map) existing items from other collections (subject to authorization).", + // TODO New key - Add a translation + "comcol-role.edit.bitstream_read.description": "Community administrators can create sub-communities or collections, and manage or assign management for those sub-communities or collections. In addition, they decide who can submit items to any sub-collections, edit item metadata (after submission), and add (map) existing items from other collections (subject to authorization).", + + // "comcol-role.edit.bitstream_read.anonymous-group": "Default read for incoming bitstreams is currently set to Anonymous.", + // TODO New key - Add a translation + "comcol-role.edit.bitstream_read.anonymous-group": "Default read for incoming bitstreams is currently set to Anonymous.", + + + // "comcol-role.edit.editor.name": "Editors", + // TODO New key - Add a translation + "comcol-role.edit.editor.name": "Editors", + + // "comcol-role.edit.editor.description": "Editors are able to edit the metadata of incoming submissions, and then accept or reject them.", + // TODO New key - Add a translation + "comcol-role.edit.editor.description": "Editors are able to edit the metadata of incoming submissions, and then accept or reject them.", + + + // "comcol-role.edit.finaleditor.name": "Final editors", + // TODO New key - Add a translation + "comcol-role.edit.finaleditor.name": "Final editors", + + // "comcol-role.edit.finaleditor.description": "Final editors are able to edit the metadata of incoming submissions, but will not be able to reject them.", + // TODO New key - Add a translation + "comcol-role.edit.finaleditor.description": "Final editors are able to edit the metadata of incoming submissions, but will not be able to reject them.", + + + // "comcol-role.edit.reviewer.name": "Reviewers", + // TODO New key - Add a translation + "comcol-role.edit.reviewer.name": "Reviewers", + + // "comcol-role.edit.reviewer.description": "Reviewers are able to accept or reject incoming submissions. However, they are not able to edit the submission's metadata.", + // TODO New key - Add a translation + "comcol-role.edit.reviewer.description": "Reviewers are able to accept or reject incoming submissions. However, they are not able to edit the submission's metadata.", + // "community.form.abstract": "Short Description", @@ -1473,6 +1874,10 @@ // TODO New key - Add a translation "community.form.title": "Name", + // "community.page.edit": "Edit this community", + // TODO New key - Add a translation + "community.page.edit": "Edit this community", + // "community.page.handle": "Permanent URI for this community", // TODO New key - Add a translation "community.page.handle": "Permanent URI for this community", @@ -1496,10 +1901,188 @@ + // "cookies.consent.accept-all": "Accept all", + // TODO New key - Add a translation + "cookies.consent.accept-all": "Accept all", + + // "cookies.consent.accept-selected": "Accept selected", + // TODO New key - Add a translation + "cookies.consent.accept-selected": "Accept selected", + + // "cookies.consent.app.opt-out.description": "This app is loaded by default (but you can opt out)", + // TODO New key - Add a translation + "cookies.consent.app.opt-out.description": "This app is loaded by default (but you can opt out)", + + // "cookies.consent.app.opt-out.title": "(opt-out)", + // TODO New key - Add a translation + "cookies.consent.app.opt-out.title": "(opt-out)", + + // "cookies.consent.app.purpose": "purpose", + // TODO New key - Add a translation + "cookies.consent.app.purpose": "purpose", + + // "cookies.consent.app.required.description": "This application is always required", + // TODO New key - Add a translation + "cookies.consent.app.required.description": "This application is always required", + + // "cookies.consent.app.required.title": "(always required)", + // TODO New key - Add a translation + "cookies.consent.app.required.title": "(always required)", + + // "cookies.consent.update": "There were changes since your last visit, please update your consent.", + // TODO New key - Add a translation + "cookies.consent.update": "There were changes since your last visit, please update your consent.", + + // "cookies.consent.close": "Close", + // TODO New key - Add a translation + "cookies.consent.close": "Close", + + // "cookies.consent.decline": "Decline", + // TODO New key - Add a translation + "cookies.consent.decline": "Decline", + + // "cookies.consent.content-notice.description": "We collect and process your personal information for the following purposes: Authentication, Preferences, Acknowledgement and Statistics.
To learn more, please read our {privacyPolicy}.", + // TODO New key - Add a translation + "cookies.consent.content-notice.description": "We collect and process your personal information for the following purposes: Authentication, Preferences, Acknowledgement and Statistics.
To learn more, please read our {privacyPolicy}.", + + // "cookies.consent.content-notice.learnMore": "Customize", + // TODO New key - Add a translation + "cookies.consent.content-notice.learnMore": "Customize", + + // "cookies.consent.content-modal.description": "Here you can see and customize the information that we collect about you.", + // TODO New key - Add a translation + "cookies.consent.content-modal.description": "Here you can see and customize the information that we collect about you.", + + // "cookies.consent.content-modal.privacy-policy.name": "privacy policy", + // TODO New key - Add a translation + "cookies.consent.content-modal.privacy-policy.name": "privacy policy", + + // "cookies.consent.content-modal.privacy-policy.text": "To learn more, please read our {privacyPolicy}.", + // TODO New key - Add a translation + "cookies.consent.content-modal.privacy-policy.text": "To learn more, please read our {privacyPolicy}.", + + // "cookies.consent.content-modal.title": "Information that we collect", + // TODO New key - Add a translation + "cookies.consent.content-modal.title": "Information that we collect", + + + + // "cookies.consent.app.title.authentication": "Authentication", + // TODO New key - Add a translation + "cookies.consent.app.title.authentication": "Authentication", + + // "cookies.consent.app.description.authentication": "Required for signing you in", + // TODO New key - Add a translation + "cookies.consent.app.description.authentication": "Required for signing you in", + + + // "cookies.consent.app.title.preferences": "Preferences", + // TODO New key - Add a translation + "cookies.consent.app.title.preferences": "Preferences", + + // "cookies.consent.app.description.preferences": "Required for saving your preferences", + // TODO New key - Add a translation + "cookies.consent.app.description.preferences": "Required for saving your preferences", + + + + // "cookies.consent.app.title.acknowledgement": "Acknowledgement", + // TODO New key - Add a translation + "cookies.consent.app.title.acknowledgement": "Acknowledgement", + + // "cookies.consent.app.description.acknowledgement": "Required for saving your acknowledgements and consents", + // TODO New key - Add a translation + "cookies.consent.app.description.acknowledgement": "Required for saving your acknowledgements and consents", + + + + // "cookies.consent.app.title.google-analytics": "Google Analytics", + // TODO New key - Add a translation + "cookies.consent.app.title.google-analytics": "Google Analytics", + + // "cookies.consent.app.description.google-analytics": "Allows us to track statistical data", + // TODO New key - Add a translation + "cookies.consent.app.description.google-analytics": "Allows us to track statistical data", + + + + // "cookies.consent.purpose.functional": "Functional", + // TODO New key - Add a translation + "cookies.consent.purpose.functional": "Functional", + + // "cookies.consent.purpose.statistical": "Statistical", + // TODO New key - Add a translation + "cookies.consent.purpose.statistical": "Statistical", + + + // "curation-task.task.checklinks.label": "Check Links in Metadata", + // TODO New key - Add a translation + "curation-task.task.checklinks.label": "Check Links in Metadata", + + // "curation-task.task.noop.label": "NOOP", + // TODO New key - Add a translation + "curation-task.task.noop.label": "NOOP", + + // "curation-task.task.profileformats.label": "Profile Bitstream Formats", + // TODO New key - Add a translation + "curation-task.task.profileformats.label": "Profile Bitstream Formats", + + // "curation-task.task.requiredmetadata.label": "Check for Required Metadata", + // TODO New key - Add a translation + "curation-task.task.requiredmetadata.label": "Check for Required Metadata", + + // "curation-task.task.translate.label": "Microsoft Translator", + // TODO New key - Add a translation + "curation-task.task.translate.label": "Microsoft Translator", + + // "curation-task.task.vscan.label": "Virus Scan", + // TODO New key - Add a translation + "curation-task.task.vscan.label": "Virus Scan", + + + + // "curation.form.task-select.label": "Task:", + // TODO New key - Add a translation + "curation.form.task-select.label": "Task:", + + // "curation.form.submit": "Start", + // TODO New key - Add a translation + "curation.form.submit": "Start", + + // "curation.form.submit.success.head": "The curation task has been started successfully", + // TODO New key - Add a translation + "curation.form.submit.success.head": "The curation task has been started successfully", + + // "curation.form.submit.success.content": "You will be redirected to the corresponding process page.", + // TODO New key - Add a translation + "curation.form.submit.success.content": "You will be redirected to the corresponding process page.", + + // "curation.form.submit.error.head": "Running the curation task failed", + // TODO New key - Add a translation + "curation.form.submit.error.head": "Running the curation task failed", + + // "curation.form.submit.error.content": "An error occured when trying to start the curation task.", + // TODO New key - Add a translation + "curation.form.submit.error.content": "An error occured when trying to start the curation task.", + + // "curation.form.handle.label": "Handle:", + // TODO New key - Add a translation + "curation.form.handle.label": "Handle:", + + // "curation.form.handle.hint": "Hint: Enter [your-handle-prefix]/0 to run a task across entire site (not all tasks may support this capability)", + // TODO New key - Add a translation + "curation.form.handle.hint": "Hint: Enter [your-handle-prefix]/0 to run a task across entire site (not all tasks may support this capability)", + + + // "dso-selector.create.collection.head": "New collection", // TODO New key - Add a translation "dso-selector.create.collection.head": "New collection", + // "dso-selector.create.collection.sub-level": "Create a new collection in", + // TODO New key - Add a translation + "dso-selector.create.collection.sub-level": "Create a new collection in", + // "dso-selector.create.community.head": "New community", // TODO New key - Add a translation "dso-selector.create.community.head": "New community", @@ -1516,6 +2099,14 @@ // TODO New key - Add a translation "dso-selector.create.item.head": "New item", + // "dso-selector.create.item.sub-level": "Create a new item in", + // TODO New key - Add a translation + "dso-selector.create.item.sub-level": "Create a new item in", + + // "dso-selector.create.submission.head": "New submission", + // TODO New key - Add a translation + "dso-selector.create.submission.head": "New submission", + // "dso-selector.edit.collection.head": "Edit collection", // TODO New key - Add a translation "dso-selector.edit.collection.head": "Edit collection", @@ -1528,6 +2119,10 @@ // TODO New key - Add a translation "dso-selector.edit.item.head": "Edit item", + // "dso-selector.export-metadata.dspaceobject.head": "Export metadata from", + // TODO New key - Add a translation + "dso-selector.export-metadata.dspaceobject.head": "Export metadata from", + // "dso-selector.no-results": "No {{ type }} found", // TODO New key - Add a translation "dso-selector.no-results": "No {{ type }} found", @@ -1538,6 +2133,39 @@ + // "confirmation-modal.export-metadata.header": "Export metadata for {{ dsoName }}", + // TODO New key - Add a translation + "confirmation-modal.export-metadata.header": "Export metadata for {{ dsoName }}", + + // "confirmation-modal.export-metadata.info": "Are you sure you want to export metadata for {{ dsoName }}", + // TODO New key - Add a translation + "confirmation-modal.export-metadata.info": "Are you sure you want to export metadata for {{ dsoName }}", + + // "confirmation-modal.export-metadata.cancel": "Cancel", + // TODO New key - Add a translation + "confirmation-modal.export-metadata.cancel": "Cancel", + + // "confirmation-modal.export-metadata.confirm": "Export", + // TODO New key - Add a translation + "confirmation-modal.export-metadata.confirm": "Export", + + // "confirmation-modal.delete-eperson.header": "Delete EPerson \"{{ dsoName }}\"", + // TODO New key - Add a translation + "confirmation-modal.delete-eperson.header": "Delete EPerson \"{{ dsoName }}\"", + + // "confirmation-modal.delete-eperson.info": "Are you sure you want to delete EPerson \"{{ dsoName }}\"", + // TODO New key - Add a translation + "confirmation-modal.delete-eperson.info": "Are you sure you want to delete EPerson \"{{ dsoName }}\"", + + // "confirmation-modal.delete-eperson.cancel": "Cancel", + // TODO New key - Add a translation + "confirmation-modal.delete-eperson.cancel": "Cancel", + + // "confirmation-modal.delete-eperson.confirm": "Delete", + // TODO New key - Add a translation + "confirmation-modal.delete-eperson.confirm": "Delete", + + // "error.bitstream": "Error fetching bitstream", // TODO New key - Add a translation "error.bitstream": "Error fetching bitstream", @@ -1605,6 +2233,12 @@ + // "file-section.error.header": "Error obtaining files for this item", + // TODO New key - Add a translation + "file-section.error.header": "Error obtaining files for this item", + + + // "footer.copyright": "copyright © 2002-{{ year }}", "footer.copyright": "copyright © 2002-{{ year }}", @@ -1614,6 +2248,127 @@ // "footer.link.duraspace": "DuraSpace", "footer.link.duraspace": "DuraSpace", + // "footer.link.cookies": "Cookie settings", + // TODO New key - Add a translation + "footer.link.cookies": "Cookie settings", + + // "footer.link.privacy-policy": "Privacy policy", + // TODO New key - Add a translation + "footer.link.privacy-policy": "Privacy policy", + + // "footer.link.end-user-agreement":"End User Agreement", + // TODO New key - Add a translation + "footer.link.end-user-agreement":"End User Agreement", + + + + // "forgot-email.form.header": "Forgot Password", + // TODO New key - Add a translation + "forgot-email.form.header": "Forgot Password", + + // "forgot-email.form.info": "Enter Register an account to subscribe to collections for email updates, and submit new items to DSpace.", + // TODO New key - Add a translation + "forgot-email.form.info": "Enter Register an account to subscribe to collections for email updates, and submit new items to DSpace.", + + // "forgot-email.form.email": "Email Address *", + // TODO New key - Add a translation + "forgot-email.form.email": "Email Address *", + + // "forgot-email.form.email.error.required": "Please fill in an email address", + // TODO New key - Add a translation + "forgot-email.form.email.error.required": "Please fill in an email address", + + // "forgot-email.form.email.error.pattern": "Please fill in a valid email address", + // TODO New key - Add a translation + "forgot-email.form.email.error.pattern": "Please fill in a valid email address", + + // "forgot-email.form.email.hint": "This address will be verified and used as your login name.", + // TODO New key - Add a translation + "forgot-email.form.email.hint": "This address will be verified and used as your login name.", + + // "forgot-email.form.submit": "Submit", + // TODO New key - Add a translation + "forgot-email.form.submit": "Submit", + + // "forgot-email.form.success.head": "Verification email sent", + // TODO New key - Add a translation + "forgot-email.form.success.head": "Verification email sent", + + // "forgot-email.form.success.content": "An email has been sent to {{ email }} containing a special URL and further instructions.", + // TODO New key - Add a translation + "forgot-email.form.success.content": "An email has been sent to {{ email }} containing a special URL and further instructions.", + + // "forgot-email.form.error.head": "Error when trying to register email", + // TODO New key - Add a translation + "forgot-email.form.error.head": "Error when trying to register email", + + // "forgot-email.form.error.content": "An error occured when registering the following email address: {{ email }}", + // TODO New key - Add a translation + "forgot-email.form.error.content": "An error occured when registering the following email address: {{ email }}", + + + + // "forgot-password.title": "Forgot Password", + // TODO New key - Add a translation + "forgot-password.title": "Forgot Password", + + // "forgot-password.form.head": "Forgot Password", + // TODO New key - Add a translation + "forgot-password.form.head": "Forgot Password", + + // "forgot-password.form.info": "Enter a new password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", + // TODO New key - Add a translation + "forgot-password.form.info": "Enter a new password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", + + // "forgot-password.form.card.security": "Security", + // TODO New key - Add a translation + "forgot-password.form.card.security": "Security", + + // "forgot-password.form.identification.header": "Identify", + // TODO New key - Add a translation + "forgot-password.form.identification.header": "Identify", + + // "forgot-password.form.identification.email": "Email address: ", + // TODO New key - Add a translation + "forgot-password.form.identification.email": "Email address: ", + + // "forgot-password.form.label.password": "Password", + // TODO New key - Add a translation + "forgot-password.form.label.password": "Password", + + // "forgot-password.form.label.passwordrepeat": "Retype to confirm", + // TODO New key - Add a translation + "forgot-password.form.label.passwordrepeat": "Retype to confirm", + + // "forgot-password.form.error.empty-password": "Please enter a password in the box below.", + // TODO New key - Add a translation + "forgot-password.form.error.empty-password": "Please enter a password in the box below.", + + // "forgot-password.form.error.matching-passwords": "The passwords do not match.", + // TODO New key - Add a translation + "forgot-password.form.error.matching-passwords": "The passwords do not match.", + + // "forgot-password.form.error.password-length": "The password should be at least 6 characters long.", + // TODO New key - Add a translation + "forgot-password.form.error.password-length": "The password should be at least 6 characters long.", + + // "forgot-password.form.notification.error.title": "Error when trying to submit new password", + // TODO New key - Add a translation + "forgot-password.form.notification.error.title": "Error when trying to submit new password", + + // "forgot-password.form.notification.success.content": "The password reset was successful. You have been logged in as the created user.", + // TODO New key - Add a translation + "forgot-password.form.notification.success.content": "The password reset was successful. You have been logged in as the created user.", + + // "forgot-password.form.notification.success.title": "Password reset completed", + // TODO New key - Add a translation + "forgot-password.form.notification.success.title": "Password reset completed", + + // "forgot-password.form.submit": "Submit password", + // TODO New key - Add a translation + "forgot-password.form.submit": "Submit password", + + // "form.add": "Add", // TODO New key - Add a translation @@ -1695,9 +2450,9 @@ // "form.search": "Search", "form.search": "Hledat", - // "form.search-help": "Click here to looking for an existing correspondence", + // "form.search-help": "Click here to look for an existing correspondence", // TODO New key - Add a translation - "form.search-help": "Click here to looking for an existing correspondence", + "form.search-help": "Click here to look for an existing correspondence", // "form.submit": "Submit", "form.submit": "Odeslat", @@ -1707,6 +2462,10 @@ // "home.description": "", "home.description": "", + // "home.breadcrumbs": "Home", + // TODO New key - Add a translation + "home.breadcrumbs": "Home", + // "home.title": "DSpace Angular :: Home", "home.title": "DSpace Angular :: Domů", @@ -1718,6 +2477,81 @@ + // "info.end-user-agreement.accept": "I have read and I agree to the End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.accept": "I have read and I agree to the End User Agreement", + + // "info.end-user-agreement.accept.error": "An error occurred accepting the End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.accept.error": "An error occurred accepting the End User Agreement", + + // "info.end-user-agreement.accept.success": "Successfully updated the End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.accept.success": "Successfully updated the End User Agreement", + + // "info.end-user-agreement.breadcrumbs": "End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.breadcrumbs": "End User Agreement", + + // "info.end-user-agreement.buttons.cancel": "Cancel", + // TODO New key - Add a translation + "info.end-user-agreement.buttons.cancel": "Cancel", + + // "info.end-user-agreement.buttons.save": "Save", + // TODO New key - Add a translation + "info.end-user-agreement.buttons.save": "Save", + + // "info.end-user-agreement.head": "End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.head": "End User Agreement", + + // "info.end-user-agreement.title": "End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.title": "End User Agreement", + + // "info.privacy.breadcrumbs": "Privacy Statement", + // TODO New key - Add a translation + "info.privacy.breadcrumbs": "Privacy Statement", + + // "info.privacy.head": "Privacy Statement", + // TODO New key - Add a translation + "info.privacy.head": "Privacy Statement", + + // "info.privacy.title": "Privacy Statement", + // TODO New key - Add a translation + "info.privacy.title": "Privacy Statement", + + + + // "item.alerts.private": "This item is private", + // TODO New key - Add a translation + "item.alerts.private": "This item is private", + + // "item.alerts.withdrawn": "This item has been withdrawn", + // TODO New key - Add a translation + "item.alerts.withdrawn": "This item has been withdrawn", + + + + // "item.edit.authorizations.heading": "With this editor you can view and alter the policies of an item, plus alter policies of individual item components: bundles and bitstreams. Briefly, an item is a container of bundles, and bundles are containers of bitstreams. Containers usually have ADD/REMOVE/READ/WRITE policies, while bitstreams only have READ/WRITE policies.", + // TODO New key - Add a translation + "item.edit.authorizations.heading": "With this editor you can view and alter the policies of an item, plus alter policies of individual item components: bundles and bitstreams. Briefly, an item is a container of bundles, and bundles are containers of bitstreams. Containers usually have ADD/REMOVE/READ/WRITE policies, while bitstreams only have READ/WRITE policies.", + + // "item.edit.authorizations.title": "Edit item's Policies", + // TODO New key - Add a translation + "item.edit.authorizations.title": "Edit item's Policies", + + + + // "item.badge.private": "Private", + // TODO New key - Add a translation + "item.badge.private": "Private", + + // "item.badge.withdrawn": "Withdrawn", + // TODO New key - Add a translation + "item.badge.withdrawn": "Withdrawn", + + // "item.bitstreams.upload.bundle": "Bundle", // TODO New key - Add a translation @@ -1920,6 +2754,13 @@ "item.edit.breadcrumbs": "Edit Item", + // "item.edit.tabs.mapper.head": "Collection Mapper", + // TODO New key - Add a translation + "item.edit.tabs.mapper.head": "Collection Mapper", + + // "item.edit.tabs.item-mapper.title": "Item Edit - Collection Mapper", + // TODO New key - Add a translation + "item.edit.tabs.item-mapper.title": "Item Edit - Collection Mapper", // "item.edit.item-mapper.buttons.add": "Map item to selected collections", // TODO New key - Add a translation @@ -2015,6 +2856,10 @@ // TODO New key - Add a translation "item.edit.metadata.edit.buttons.unedit": "Stop editing", + // "item.edit.metadata.empty": "The item currently doesn't contain any metadata. Click Add to start adding a metadata value.", + // TODO New key - Add a translation + "item.edit.metadata.empty": "The item currently doesn't contain any metadata. Click Add to start adding a metadata value.", + // "item.edit.metadata.headers.edit": "Edit", // TODO New key - Add a translation "item.edit.metadata.headers.edit": "Edit", @@ -2043,6 +2888,10 @@ // TODO New key - Add a translation "item.edit.metadata.notifications.discarded.title": "Changed discarded", + // "item.edit.metadata.notifications.error.title": "An error occurred", + // TODO New key - Add a translation + "item.edit.metadata.notifications.error.title": "An error occurred", + // "item.edit.metadata.notifications.invalid.content": "Your changes were not saved. Please make sure all fields are valid before you save.", // TODO New key - Add a translation "item.edit.metadata.notifications.invalid.content": "Your changes were not saved. Please make sure all fields are valid before you save.", @@ -2219,6 +3068,10 @@ // TODO New key - Add a translation "item.edit.relationships.discard-button": "Discard", + // "item.edit.relationships.edit.buttons.add": "Add", + // TODO New key - Add a translation + "item.edit.relationships.edit.buttons.add": "Add", + // "item.edit.relationships.edit.buttons.remove": "Remove", // TODO New key - Add a translation "item.edit.relationships.edit.buttons.remove": "Remove", @@ -2227,6 +3080,10 @@ // TODO New key - Add a translation "item.edit.relationships.edit.buttons.undo": "Undo changes", + // "item.edit.relationships.no-relationships": "No relationships", + // TODO New key - Add a translation + "item.edit.relationships.no-relationships": "No relationships", + // "item.edit.relationships.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", // TODO New key - Add a translation "item.edit.relationships.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", @@ -2235,9 +3092,9 @@ // TODO New key - Add a translation "item.edit.relationships.notifications.discarded.title": "Changes discarded", - // "item.edit.relationships.notifications.failed.title": "Error deleting relationship", + // "item.edit.relationships.notifications.failed.title": "Error editing relationships", // TODO New key - Add a translation - "item.edit.relationships.notifications.failed.title": "Error deleting relationship", + "item.edit.relationships.notifications.failed.title": "Error editing relationships", // "item.edit.relationships.notifications.outdated.content": "The item you're currently working on has been changed by another user. Your current changes are discarded to prevent conflicts", // TODO New key - Add a translation @@ -2263,6 +3120,10 @@ // TODO New key - Add a translation "item.edit.relationships.save-button": "Save", + // "item.edit.relationships.no-entity-type": "Add 'relationship.type' metadata to enable relationships for this item", + // TODO New key - Add a translation + "item.edit.relationships.no-entity-type": "Add 'relationship.type' metadata to enable relationships for this item", + // "item.edit.tabs.bitstreams.head": "Bitstreams", @@ -2437,6 +3298,48 @@ + // "item.listelement.badge": "Item", + // TODO New key - Add a translation + "item.listelement.badge": "Item", + + // "item.page.description": "Description", + // TODO New key - Add a translation + "item.page.description": "Description", + + // "item.page.edit": "Edit this item", + // TODO New key - Add a translation + "item.page.edit": "Edit this item", + + // "item.page.journal-issn": "Journal ISSN", + // TODO New key - Add a translation + "item.page.journal-issn": "Journal ISSN", + + // "item.page.journal-title": "Journal Title", + // TODO New key - Add a translation + "item.page.journal-title": "Journal Title", + + // "item.page.publisher": "Publisher", + // TODO New key - Add a translation + "item.page.publisher": "Publisher", + + // "item.page.titleprefix": "Item: ", + // TODO New key - Add a translation + "item.page.titleprefix": "Item: ", + + // "item.page.volume-title": "Volume Title", + // TODO New key - Add a translation + "item.page.volume-title": "Volume Title", + + // "item.search.results.head": "Item Search Results", + // TODO New key - Add a translation + "item.search.results.head": "Item Search Results", + + // "item.search.title": "DSpace Angular :: Item Search", + // TODO New key - Add a translation + "item.search.title": "DSpace Angular :: Item Search", + + + // "item.page.abstract": "Abstract", "item.page.abstract": "Abstrakt", @@ -2453,6 +3356,10 @@ // "item.page.date": "Date", "item.page.date": "Datum", + // "item.page.edit": "Edit this item", + // TODO New key - Add a translation + "item.page.edit": "Edit this item", + // "item.page.files": "Files", "item.page.files": "Soubory", @@ -2520,6 +3427,65 @@ // "item.page.uri": "URI", "item.page.uri": "URI", + // "item.page.bitstreams.view-more": "Show more", + // TODO New key - Add a translation + "item.page.bitstreams.view-more": "Show more", + + // "item.page.bitstreams.collapse": "Collapse", + // TODO New key - Add a translation + "item.page.bitstreams.collapse": "Collapse", + + // "item.page.filesection.original.bundle" : "Original bundle", + // TODO New key - Add a translation + "item.page.filesection.original.bundle" : "Original bundle", + + // "item.page.filesection.license.bundle" : "License bundle", + // TODO New key - Add a translation + "item.page.filesection.license.bundle" : "License bundle", + + // "item.preview.dc.identifier.uri": "Identifier:", + // TODO New key - Add a translation + "item.preview.dc.identifier.uri": "Identifier:", + + // "item.preview.dc.contributor.author": "Authors:", + // TODO New key - Add a translation + "item.preview.dc.contributor.author": "Authors:", + + // "item.preview.dc.date.issued": "Published date:", + // TODO New key - Add a translation + "item.preview.dc.date.issued": "Published date:", + + // "item.preview.dc.description.abstract": "Abstract:", + // TODO New key - Add a translation + "item.preview.dc.description.abstract": "Abstract:", + + // "item.preview.dc.identifier.other": "Other identifier:", + // TODO New key - Add a translation + "item.preview.dc.identifier.other": "Other identifier:", + + // "item.preview.dc.language.iso": "Language:", + // TODO New key - Add a translation + "item.preview.dc.language.iso": "Language:", + + // "item.preview.dc.subject": "Subjects:", + // TODO New key - Add a translation + "item.preview.dc.subject": "Subjects:", + + // "item.preview.dc.title": "Title:", + // TODO New key - Add a translation + "item.preview.dc.title": "Title:", + + // "item.preview.person.familyName": "Surname:", + // TODO New key - Add a translation + "item.preview.person.familyName": "Surname:", + + // "item.preview.person.givenName": "Name:", + // TODO New key - Add a translation + "item.preview.person.givenName": "Name:", + + // "item.preview.person.identifier.orcid": "ORCID:", + // TODO New key - Add a translation + "item.preview.person.identifier.orcid": "ORCID:", // "item.select.confirm": "Confirm selected", @@ -2595,6 +3561,10 @@ // TODO New key - Add a translation "journal.page.description": "Description", + // "journal.page.edit": "Edit this item", + // TODO New key - Add a translation + "journal.page.edit": "Edit this item", + // "journal.page.editor": "Editor-in-Chief", // TODO New key - Add a translation "journal.page.editor": "Editor-in-Chief", @@ -2629,6 +3599,10 @@ // TODO New key - Add a translation "journalissue.page.description": "Description", + // "journalissue.page.edit": "Edit this item", + // TODO New key - Add a translation + "journalissue.page.edit": "Edit this item", + // "journalissue.page.issuedate": "Issue Date", // TODO New key - Add a translation "journalissue.page.issuedate": "Issue Date", @@ -2663,6 +3637,10 @@ // TODO New key - Add a translation "journalvolume.page.description": "Description", + // "journalvolume.page.edit": "Edit this item", + // TODO New key - Add a translation + "journalvolume.page.edit": "Edit this item", + // "journalvolume.page.issuedate": "Issue Date", // TODO New key - Add a translation "journalvolume.page.issuedate": "Issue Date", @@ -2953,6 +3931,10 @@ // TODO New key - Add a translation "menu.section.icon.pin": "Pin sidebar", + // "menu.section.icon.processes": "Processes menu section", + // TODO New key - Add a translation + "menu.section.icon.processes": "Processes menu section", + // "menu.section.icon.registries": "Registries menu section", // TODO New key - Add a translation "menu.section.icon.registries": "Registries menu section", @@ -3001,6 +3983,10 @@ // TODO New key - Add a translation "menu.section.new_item_version": "Item Version", + // "menu.section.new_process": "Process", + // TODO New key - Add a translation + "menu.section.new_process": "Process", + // "menu.section.pin": "Pin sidebar", @@ -3013,6 +3999,12 @@ + // "menu.section.processes": "Processes", + // TODO New key - Add a translation + "menu.section.processes": "Processes", + + + // "menu.section.registries": "Registries", // TODO New key - Add a translation "menu.section.registries": "Registries", @@ -3078,14 +4070,18 @@ "menu.section.toggle.statistics_task": "Toggle Statistics Task section", + // "menu.section.workflow": "Administer Workflow", + // TODO New key - Add a translation + "menu.section.workflow": "Administer Workflow", + // "mydspace.description": "", // TODO New key - Add a translation "mydspace.description": "", - // "mydspace.general.text-here": "HERE", + // "mydspace.general.text-here": "here", // TODO New key - Add a translation - "mydspace.general.text-here": "HERE", + "mydspace.general.text-here": "here", // "mydspace.messages.controller-help": "Select this option to send a message to item's submitter.", // TODO New key - Add a translation @@ -3143,6 +4139,14 @@ // TODO New key - Add a translation "mydspace.new-submission": "New submission", + // "mydspace.new-submission-external": "Import metadata from external source", + // TODO New key - Add a translation + "mydspace.new-submission-external": "Import metadata from external source", + + // "mydspace.new-submission-external-short": "Import metadata", + // TODO New key - Add a translation + "mydspace.new-submission-external-short": "Import metadata", + // "mydspace.results.head": "Your submissions", // TODO New key - Add a translation "mydspace.results.head": "Your submissions", @@ -3215,6 +4219,14 @@ // TODO New key - Add a translation "mydspace.upload.upload-failed": "Error creating new workspace. Please verify the content uploaded before retry.", + // "mydspace.upload.upload-failed-manyentries": "Unprocessable file. Detected too many entries but allowed only one for file.", + // TODO New key - Add a translation + "mydspace.upload.upload-failed-manyentries": "Unprocessable file. Detected too many entries but allowed only one for file.", + + // "mydspace.upload.upload-failed-moreonefile": "Unprocessable request. Only one file is allowed.", + // TODO New key - Add a translation + "mydspace.upload.upload-failed-moreonefile": "Unprocessable request. Only one file is allowed.", + // "mydspace.upload.upload-multiple-successful": "{{qty}} new workspace items created.", // TODO New key - Add a translation "mydspace.upload.upload-multiple-successful": "{{qty}} new workspace items created.", @@ -3263,6 +4275,10 @@ // TODO New key - Add a translation "nav.statistics.header": "Statistics", + // "nav.stop-impersonating": "Stop impersonating EPerson", + // TODO New key - Add a translation + "nav.stop-impersonating": "Stop impersonating EPerson", + // "orgunit.listelement.badge": "Organizational Unit", @@ -3285,6 +4301,10 @@ // TODO New key - Add a translation "orgunit.page.description": "Description", + // "orgunit.page.edit": "Edit this item", + // TODO New key - Add a translation + "orgunit.page.edit": "Edit this item", + // "orgunit.page.id": "ID", // TODO New key - Add a translation "orgunit.page.id": "ID", @@ -3313,10 +4333,18 @@ // TODO New key - Add a translation "person.listelement.badge": "Person", + // "person.listelement.no-title": "No name found", + // TODO New key - Add a translation + "person.listelement.no-title": "No name found", + // "person.page.birthdate": "Birth Date", // TODO New key - Add a translation "person.page.birthdate": "Birth Date", + // "person.page.edit": "Edit this item", + // TODO New key - Add a translation + "person.page.edit": "Edit this item", + // "person.page.email": "Email Address", // TODO New key - Add a translation "person.page.email": "Email Address", @@ -3359,6 +4387,183 @@ + // "process.new.select-parameters": "Parameters", + // TODO New key - Add a translation + "process.new.select-parameters": "Parameters", + + // "process.new.cancel": "Cancel", + // TODO New key - Add a translation + "process.new.cancel": "Cancel", + + // "process.new.submit": "Submit", + // TODO New key - Add a translation + "process.new.submit": "Submit", + + // "process.new.select-script": "Script", + // TODO New key - Add a translation + "process.new.select-script": "Script", + + // "process.new.select-script.placeholder": "Choose a script...", + // TODO New key - Add a translation + "process.new.select-script.placeholder": "Choose a script...", + + // "process.new.select-script.required": "Script is required", + // TODO New key - Add a translation + "process.new.select-script.required": "Script is required", + + // "process.new.parameter.file.upload-button": "Select file...", + // TODO New key - Add a translation + "process.new.parameter.file.upload-button": "Select file...", + + // "process.new.parameter.file.required": "Please select a file", + // TODO New key - Add a translation + "process.new.parameter.file.required": "Please select a file", + + // "process.new.parameter.string.required": "Parameter value is required", + // TODO New key - Add a translation + "process.new.parameter.string.required": "Parameter value is required", + + // "process.new.parameter.type.value": "value", + // TODO New key - Add a translation + "process.new.parameter.type.value": "value", + + // "process.new.parameter.type.file": "file", + // TODO New key - Add a translation + "process.new.parameter.type.file": "file", + + // "process.new.parameter.required.missing": "The following parameters are required but still missing:", + // TODO New key - Add a translation + "process.new.parameter.required.missing": "The following parameters are required but still missing:", + + // "process.new.notification.success.title": "Success", + // TODO New key - Add a translation + "process.new.notification.success.title": "Success", + + // "process.new.notification.success.content": "The process was successfully created", + // TODO New key - Add a translation + "process.new.notification.success.content": "The process was successfully created", + + // "process.new.notification.error.title": "Error", + // TODO New key - Add a translation + "process.new.notification.error.title": "Error", + + // "process.new.notification.error.content": "An error occurred while creating this process", + // TODO New key - Add a translation + "process.new.notification.error.content": "An error occurred while creating this process", + + // "process.new.header": "Create a new process", + // TODO New key - Add a translation + "process.new.header": "Create a new process", + + // "process.new.title": "Create a new process", + // TODO New key - Add a translation + "process.new.title": "Create a new process", + + // "process.new.breadcrumbs": "Create a new process", + // TODO New key - Add a translation + "process.new.breadcrumbs": "Create a new process", + + + + // "process.detail.arguments" : "Arguments", + // TODO New key - Add a translation + "process.detail.arguments" : "Arguments", + + // "process.detail.arguments.empty" : "This process doesn't contain any arguments", + // TODO New key - Add a translation + "process.detail.arguments.empty" : "This process doesn't contain any arguments", + + // "process.detail.back" : "Back", + // TODO New key - Add a translation + "process.detail.back" : "Back", + + // "process.detail.output" : "Process Output", + // TODO New key - Add a translation + "process.detail.output" : "Process Output", + + // "process.detail.logs.button": "Retrieve process output", + // TODO New key - Add a translation + "process.detail.logs.button": "Retrieve process output", + + // "process.detail.logs.loading": "Retrieving", + // TODO New key - Add a translation + "process.detail.logs.loading": "Retrieving", + + // "process.detail.logs.none": "This process has no output", + // TODO New key - Add a translation + "process.detail.logs.none": "This process has no output", + + // "process.detail.output-files" : "Output Files", + // TODO New key - Add a translation + "process.detail.output-files" : "Output Files", + + // "process.detail.output-files.empty" : "This process doesn't contain any output files", + // TODO New key - Add a translation + "process.detail.output-files.empty" : "This process doesn't contain any output files", + + // "process.detail.script" : "Script", + // TODO New key - Add a translation + "process.detail.script" : "Script", + + // "process.detail.title" : "Process: {{ id }} - {{ name }}", + // TODO New key - Add a translation + "process.detail.title" : "Process: {{ id }} - {{ name }}", + + // "process.detail.start-time" : "Start time", + // TODO New key - Add a translation + "process.detail.start-time" : "Start time", + + // "process.detail.end-time" : "Finish time", + // TODO New key - Add a translation + "process.detail.end-time" : "Finish time", + + // "process.detail.status" : "Status", + // TODO New key - Add a translation + "process.detail.status" : "Status", + + // "process.detail.create" : "Create similar process", + // TODO New key - Add a translation + "process.detail.create" : "Create similar process", + + + + // "process.overview.table.finish" : "Finish time", + // TODO New key - Add a translation + "process.overview.table.finish" : "Finish time", + + // "process.overview.table.id" : "Process ID", + // TODO New key - Add a translation + "process.overview.table.id" : "Process ID", + + // "process.overview.table.name" : "Name", + // TODO New key - Add a translation + "process.overview.table.name" : "Name", + + // "process.overview.table.start" : "Start time", + // TODO New key - Add a translation + "process.overview.table.start" : "Start time", + + // "process.overview.table.status" : "Status", + // TODO New key - Add a translation + "process.overview.table.status" : "Status", + + // "process.overview.table.user" : "User", + // TODO New key - Add a translation + "process.overview.table.user" : "User", + + // "process.overview.title": "Processes Overview", + // TODO New key - Add a translation + "process.overview.title": "Processes Overview", + + // "process.overview.breadcrumbs": "Processes Overview", + // TODO New key - Add a translation + "process.overview.breadcrumbs": "Processes Overview", + + // "process.overview.new": "New", + // TODO New key - Add a translation + "process.overview.new": "New", + + // "profile.breadcrumbs": "Update Profile", // TODO New key - Add a translation "profile.breadcrumbs": "Update Profile", @@ -3485,6 +4690,10 @@ // TODO New key - Add a translation "project.page.description": "Description", + // "project.page.edit": "Edit this item", + // TODO New key - Add a translation + "project.page.edit": "Edit this item", + // "project.page.expectedcompletion": "Expected Completion", // TODO New key - Add a translation "project.page.expectedcompletion": "Expected Completion", @@ -3523,6 +4732,10 @@ // TODO New key - Add a translation "publication.page.description": "Description", + // "publication.page.edit": "Edit this item", + // TODO New key - Add a translation + "publication.page.edit": "Edit this item", + // "publication.page.journal-issn": "Journal ISSN", // TODO New key - Add a translation "publication.page.journal-issn": "Journal ISSN", @@ -3552,11 +4765,165 @@ "publication.search.title": "DSpace Angular :: Publication Search", + // "register-email.title": "New user registration", + // TODO New key - Add a translation + "register-email.title": "New user registration", + + // "register-page.create-profile.header": "Create Profile", + // TODO New key - Add a translation + "register-page.create-profile.header": "Create Profile", + + // "register-page.create-profile.identification.header": "Identify", + // TODO New key - Add a translation + "register-page.create-profile.identification.header": "Identify", + + // "register-page.create-profile.identification.email": "Email Address", + // TODO New key - Add a translation + "register-page.create-profile.identification.email": "Email Address", + + // "register-page.create-profile.identification.first-name": "First Name *", + // TODO New key - Add a translation + "register-page.create-profile.identification.first-name": "First Name *", + + // "register-page.create-profile.identification.first-name.error": "Please fill in a First Name", + // TODO New key - Add a translation + "register-page.create-profile.identification.first-name.error": "Please fill in a First Name", + + // "register-page.create-profile.identification.last-name": "Last Name *", + // TODO New key - Add a translation + "register-page.create-profile.identification.last-name": "Last Name *", + + // "register-page.create-profile.identification.last-name.error": "Please fill in a Last Name", + // TODO New key - Add a translation + "register-page.create-profile.identification.last-name.error": "Please fill in a Last Name", + + // "register-page.create-profile.identification.contact": "Contact Telephone", + // TODO New key - Add a translation + "register-page.create-profile.identification.contact": "Contact Telephone", + + // "register-page.create-profile.identification.language": "Language", + // TODO New key - Add a translation + "register-page.create-profile.identification.language": "Language", + + // "register-page.create-profile.security.header": "Security", + // TODO New key - Add a translation + "register-page.create-profile.security.header": "Security", + + // "register-page.create-profile.security.info": "Please enter a password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", + // TODO New key - Add a translation + "register-page.create-profile.security.info": "Please enter a password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", + + // "register-page.create-profile.security.label.password": "Password *", + // TODO New key - Add a translation + "register-page.create-profile.security.label.password": "Password *", + + // "register-page.create-profile.security.label.passwordrepeat": "Retype to confirm *", + // TODO New key - Add a translation + "register-page.create-profile.security.label.passwordrepeat": "Retype to confirm *", + + // "register-page.create-profile.security.error.empty-password": "Please enter a password in the box below.", + // TODO New key - Add a translation + "register-page.create-profile.security.error.empty-password": "Please enter a password in the box below.", + + // "register-page.create-profile.security.error.matching-passwords": "The passwords do not match.", + // TODO New key - Add a translation + "register-page.create-profile.security.error.matching-passwords": "The passwords do not match.", + + // "register-page.create-profile.security.error.password-length": "The password should be at least 6 characters long.", + // TODO New key - Add a translation + "register-page.create-profile.security.error.password-length": "The password should be at least 6 characters long.", + + // "register-page.create-profile.submit": "Complete Registration", + // TODO New key - Add a translation + "register-page.create-profile.submit": "Complete Registration", + + // "register-page.create-profile.submit.error.content": "Something went wrong while registering a new user.", + // TODO New key - Add a translation + "register-page.create-profile.submit.error.content": "Something went wrong while registering a new user.", + + // "register-page.create-profile.submit.error.head": "Registration failed", + // TODO New key - Add a translation + "register-page.create-profile.submit.error.head": "Registration failed", + + // "register-page.create-profile.submit.success.content": "The registration was successful. You have been logged in as the created user.", + // TODO New key - Add a translation + "register-page.create-profile.submit.success.content": "The registration was successful. You have been logged in as the created user.", + + // "register-page.create-profile.submit.success.head": "Registration completed", + // TODO New key - Add a translation + "register-page.create-profile.submit.success.head": "Registration completed", + + + // "register-page.registration.header": "New user registration", + // TODO New key - Add a translation + "register-page.registration.header": "New user registration", + + // "register-page.registration.info": "Register an account to subscribe to collections for email updates, and submit new items to DSpace.", + // TODO New key - Add a translation + "register-page.registration.info": "Register an account to subscribe to collections for email updates, and submit new items to DSpace.", + + // "register-page.registration.email": "Email Address *", + // TODO New key - Add a translation + "register-page.registration.email": "Email Address *", + + // "register-page.registration.email.error.required": "Please fill in an email address", + // TODO New key - Add a translation + "register-page.registration.email.error.required": "Please fill in an email address", + + // "register-page.registration.email.error.pattern": "Please fill in a valid email address", + // TODO New key - Add a translation + "register-page.registration.email.error.pattern": "Please fill in a valid email address", + + // "register-page.registration.email.hint": "This address will be verified and used as your login name.", + // TODO New key - Add a translation + "register-page.registration.email.hint": "This address will be verified and used as your login name.", + + // "register-page.registration.submit": "Register", + // TODO New key - Add a translation + "register-page.registration.submit": "Register", + + // "register-page.registration.success.head": "Verification email sent", + // TODO New key - Add a translation + "register-page.registration.success.head": "Verification email sent", + + // "register-page.registration.success.content": "An email has been sent to {{ email }} containing a special URL and further instructions.", + // TODO New key - Add a translation + "register-page.registration.success.content": "An email has been sent to {{ email }} containing a special URL and further instructions.", + + // "register-page.registration.error.head": "Error when trying to register email", + // TODO New key - Add a translation + "register-page.registration.error.head": "Error when trying to register email", + + // "register-page.registration.error.content": "An error occured when registering the following email address: {{ email }}", + // TODO New key - Add a translation + "register-page.registration.error.content": "An error occured when registering the following email address: {{ email }}", + + + + // "relationships.add.error.relationship-type.content": "No suitable match could be found for relationship type {{ type }} between the two items", + // TODO New key - Add a translation + "relationships.add.error.relationship-type.content": "No suitable match could be found for relationship type {{ type }} between the two items", + + // "relationships.add.error.server.content": "The server returned an error", + // TODO New key - Add a translation + "relationships.add.error.server.content": "The server returned an error", + + // "relationships.add.error.title": "Unable to add relationship", + // TODO New key - Add a translation + "relationships.add.error.title": "Unable to add relationship", // "relationships.isAuthorOf": "Authors", // TODO New key - Add a translation "relationships.isAuthorOf": "Authors", + // "relationships.isAuthorOf.Person": "Authors (persons)", + // TODO New key - Add a translation + "relationships.isAuthorOf.Person": "Authors (persons)", + + // "relationships.isAuthorOf.OrgUnit": "Authors (organizational units)", + // TODO New key - Add a translation + "relationships.isAuthorOf.OrgUnit": "Authors (organizational units)", + // "relationships.isIssueOf": "Journal Issues", // TODO New key - Add a translation "relationships.isIssueOf": "Journal Issues", @@ -3607,6 +4974,208 @@ + // "resource-policies.add.button": "Add", + // TODO New key - Add a translation + "resource-policies.add.button": "Add", + + // "resource-policies.add.for.": "Add a new policy", + // TODO New key - Add a translation + "resource-policies.add.for.": "Add a new policy", + + // "resource-policies.add.for.bitstream": "Add a new Bitstream policy", + // TODO New key - Add a translation + "resource-policies.add.for.bitstream": "Add a new Bitstream policy", + + // "resource-policies.add.for.bundle": "Add a new Bundle policy", + // TODO New key - Add a translation + "resource-policies.add.for.bundle": "Add a new Bundle policy", + + // "resource-policies.add.for.item": "Add a new Item policy", + // TODO New key - Add a translation + "resource-policies.add.for.item": "Add a new Item policy", + + // "resource-policies.add.for.community": "Add a new Community policy", + // TODO New key - Add a translation + "resource-policies.add.for.community": "Add a new Community policy", + + // "resource-policies.add.for.collection": "Add a new Collection policy", + // TODO New key - Add a translation + "resource-policies.add.for.collection": "Add a new Collection policy", + + // "resource-policies.create.page.heading": "Create new resource policy for ", + // TODO New key - Add a translation + "resource-policies.create.page.heading": "Create new resource policy for ", + + // "resource-policies.create.page.failure.content": "An error occurred while creating the resource policy.", + // TODO New key - Add a translation + "resource-policies.create.page.failure.content": "An error occurred while creating the resource policy.", + + // "resource-policies.create.page.success.content": "Operation successful", + // TODO New key - Add a translation + "resource-policies.create.page.success.content": "Operation successful", + + // "resource-policies.create.page.title": "Create new resource policy", + // TODO New key - Add a translation + "resource-policies.create.page.title": "Create new resource policy", + + // "resource-policies.delete.btn": "Delete selected", + // TODO New key - Add a translation + "resource-policies.delete.btn": "Delete selected", + + // "resource-policies.delete.btn.title": "Delete selected resource policies", + // TODO New key - Add a translation + "resource-policies.delete.btn.title": "Delete selected resource policies", + + // "resource-policies.delete.failure.content": "An error occurred while deleting selected resource policies.", + // TODO New key - Add a translation + "resource-policies.delete.failure.content": "An error occurred while deleting selected resource policies.", + + // "resource-policies.delete.success.content": "Operation successful", + // TODO New key - Add a translation + "resource-policies.delete.success.content": "Operation successful", + + // "resource-policies.edit.page.heading": "Edit resource policy ", + // TODO New key - Add a translation + "resource-policies.edit.page.heading": "Edit resource policy ", + + // "resource-policies.edit.page.failure.content": "An error occurred while editing the resource policy.", + // TODO New key - Add a translation + "resource-policies.edit.page.failure.content": "An error occurred while editing the resource policy.", + + // "resource-policies.edit.page.success.content": "Operation successful", + // TODO New key - Add a translation + "resource-policies.edit.page.success.content": "Operation successful", + + // "resource-policies.edit.page.title": "Edit resource policy", + // TODO New key - Add a translation + "resource-policies.edit.page.title": "Edit resource policy", + + // "resource-policies.form.action-type.label": "Select the action type", + // TODO New key - Add a translation + "resource-policies.form.action-type.label": "Select the action type", + + // "resource-policies.form.action-type.required": "You must select the resource policy action.", + // TODO New key - Add a translation + "resource-policies.form.action-type.required": "You must select the resource policy action.", + + // "resource-policies.form.eperson-group-list.label": "The eperson or group that will be granted the permission", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.label": "The eperson or group that will be granted the permission", + + // "resource-policies.form.eperson-group-list.select.btn": "Select", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.select.btn": "Select", + + // "resource-policies.form.eperson-group-list.tab.eperson": "Search for a ePerson", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.tab.eperson": "Search for a ePerson", + + // "resource-policies.form.eperson-group-list.tab.group": "Search for a group", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.tab.group": "Search for a group", + + // "resource-policies.form.eperson-group-list.table.headers.action": "Action", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.table.headers.action": "Action", + + // "resource-policies.form.eperson-group-list.table.headers.id": "ID", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.table.headers.id": "ID", + + // "resource-policies.form.eperson-group-list.table.headers.name": "Name", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.table.headers.name": "Name", + + // "resource-policies.form.date.end.label": "End Date", + // TODO New key - Add a translation + "resource-policies.form.date.end.label": "End Date", + + // "resource-policies.form.date.start.label": "Start Date", + // TODO New key - Add a translation + "resource-policies.form.date.start.label": "Start Date", + + // "resource-policies.form.description.label": "Description", + // TODO New key - Add a translation + "resource-policies.form.description.label": "Description", + + // "resource-policies.form.name.label": "Name", + // TODO New key - Add a translation + "resource-policies.form.name.label": "Name", + + // "resource-policies.form.policy-type.label": "Select the policy type", + // TODO New key - Add a translation + "resource-policies.form.policy-type.label": "Select the policy type", + + // "resource-policies.form.policy-type.required": "You must select the resource policy type.", + // TODO New key - Add a translation + "resource-policies.form.policy-type.required": "You must select the resource policy type.", + + // "resource-policies.table.headers.action": "Action", + // TODO New key - Add a translation + "resource-policies.table.headers.action": "Action", + + // "resource-policies.table.headers.date.end": "End Date", + // TODO New key - Add a translation + "resource-policies.table.headers.date.end": "End Date", + + // "resource-policies.table.headers.date.start": "Start Date", + // TODO New key - Add a translation + "resource-policies.table.headers.date.start": "Start Date", + + // "resource-policies.table.headers.edit": "Edit", + // TODO New key - Add a translation + "resource-policies.table.headers.edit": "Edit", + + // "resource-policies.table.headers.edit.group": "Edit group", + // TODO New key - Add a translation + "resource-policies.table.headers.edit.group": "Edit group", + + // "resource-policies.table.headers.edit.policy": "Edit policy", + // TODO New key - Add a translation + "resource-policies.table.headers.edit.policy": "Edit policy", + + // "resource-policies.table.headers.eperson": "EPerson", + // TODO New key - Add a translation + "resource-policies.table.headers.eperson": "EPerson", + + // "resource-policies.table.headers.group": "Group", + // TODO New key - Add a translation + "resource-policies.table.headers.group": "Group", + + // "resource-policies.table.headers.id": "ID", + // TODO New key - Add a translation + "resource-policies.table.headers.id": "ID", + + // "resource-policies.table.headers.name": "Name", + // TODO New key - Add a translation + "resource-policies.table.headers.name": "Name", + + // "resource-policies.table.headers.policyType": "type", + // TODO New key - Add a translation + "resource-policies.table.headers.policyType": "type", + + // "resource-policies.table.headers.title.for.bitstream": "Policies for Bitstream", + // TODO New key - Add a translation + "resource-policies.table.headers.title.for.bitstream": "Policies for Bitstream", + + // "resource-policies.table.headers.title.for.bundle": "Policies for Bundle", + // TODO New key - Add a translation + "resource-policies.table.headers.title.for.bundle": "Policies for Bundle", + + // "resource-policies.table.headers.title.for.item": "Policies for Item", + // TODO New key - Add a translation + "resource-policies.table.headers.title.for.item": "Policies for Item", + + // "resource-policies.table.headers.title.for.community": "Policies for Community", + // TODO New key - Add a translation + "resource-policies.table.headers.title.for.community": "Policies for Community", + + // "resource-policies.table.headers.title.for.collection": "Policies for Collection", + // TODO New key - Add a translation + "resource-policies.table.headers.title.for.collection": "Policies for Collection", + + + // "search.description": "", "search.description": "", @@ -3961,6 +5530,14 @@ + // "sorting.ASC": "Ascending", + // TODO New key - Add a translation + "sorting.ASC": "Ascending", + + // "sorting.DESC": "Descending", + // TODO New key - Add a translation + "sorting.DESC": "Descending", + // "sorting.dc.title.ASC": "Title Ascending", "sorting.dc.title.ASC": "Název vzestupně", @@ -3972,6 +5549,52 @@ + // "statistics.title": "Statistics", + // TODO New key - Add a translation + "statistics.title": "Statistics", + + // "statistics.header": "Statistics for {{ scope }}", + // TODO New key - Add a translation + "statistics.header": "Statistics for {{ scope }}", + + // "statistics.breadcrumbs": "Statistics", + // TODO New key - Add a translation + "statistics.breadcrumbs": "Statistics", + + // "statistics.page.no-data": "No data available", + // TODO New key - Add a translation + "statistics.page.no-data": "No data available", + + // "statistics.table.no-data": "No data available", + // TODO New key - Add a translation + "statistics.table.no-data": "No data available", + + // "statistics.table.title.TotalVisits": "Total visits", + // TODO New key - Add a translation + "statistics.table.title.TotalVisits": "Total visits", + + // "statistics.table.title.TotalVisitsPerMonth": "Total visits per month", + // TODO New key - Add a translation + "statistics.table.title.TotalVisitsPerMonth": "Total visits per month", + + // "statistics.table.title.TotalDownloads": "File Visits", + // TODO New key - Add a translation + "statistics.table.title.TotalDownloads": "File Visits", + + // "statistics.table.title.TopCountries": "Top country views", + // TODO New key - Add a translation + "statistics.table.title.TopCountries": "Top country views", + + // "statistics.table.title.TopCities": "Top city views", + // TODO New key - Add a translation + "statistics.table.title.TopCities": "Top city views", + + // "statistics.table.header.views": "Views", + // TODO New key - Add a translation + "statistics.table.header.views": "Views", + + + // "submission.edit.title": "Edit Submission", // TODO New key - Add a translation "submission.edit.title": "Edit Submission", @@ -4013,6 +5636,85 @@ "submission.general.save-later": "Save for later", + // "submission.import-external.page.title": "Import metadata from an external source", + // TODO New key - Add a translation + "submission.import-external.page.title": "Import metadata from an external source", + + // "submission.import-external.title": "Import metadata from an external source", + // TODO New key - Add a translation + "submission.import-external.title": "Import metadata from an external source", + + // "submission.import-external.page.hint": "Enter a query above to find items from the web to import in to DSpace.", + // TODO New key - Add a translation + "submission.import-external.page.hint": "Enter a query above to find items from the web to import in to DSpace.", + + // "submission.import-external.back-to-my-dspace": "Back to MyDSpace", + // TODO New key - Add a translation + "submission.import-external.back-to-my-dspace": "Back to MyDSpace", + + // "submission.import-external.search.placeholder": "Search the external source", + // TODO New key - Add a translation + "submission.import-external.search.placeholder": "Search the external source", + + // "submission.import-external.search.button": "Search", + // TODO New key - Add a translation + "submission.import-external.search.button": "Search", + + // "submission.import-external.search.button.hint": "Write some words to search", + // TODO New key - Add a translation + "submission.import-external.search.button.hint": "Write some words to search", + + // "submission.import-external.search.source.hint": "Pick an external source", + // TODO New key - Add a translation + "submission.import-external.search.source.hint": "Pick an external source", + + // "submission.import-external.source.arxiv": "arXiv", + // TODO New key - Add a translation + "submission.import-external.source.arxiv": "arXiv", + + // "submission.import-external.source.loading": "Loading ...", + // TODO New key - Add a translation + "submission.import-external.source.loading": "Loading ...", + + // "submission.import-external.source.sherpaJournal": "SHERPA Journals", + // TODO New key - Add a translation + "submission.import-external.source.sherpaJournal": "SHERPA Journals", + + // "submission.import-external.source.sherpaPublisher": "SHERPA Publishers", + // TODO New key - Add a translation + "submission.import-external.source.sherpaPublisher": "SHERPA Publishers", + + // "submission.import-external.source.orcid": "ORCID", + // TODO New key - Add a translation + "submission.import-external.source.orcid": "ORCID", + + // "submission.import-external.source.pubmed": "Pubmed", + // TODO New key - Add a translation + "submission.import-external.source.pubmed": "Pubmed", + + // "submission.import-external.source.lcname": "Library of Congress Names", + // TODO New key - Add a translation + "submission.import-external.source.lcname": "Library of Congress Names", + + // "submission.import-external.preview.title": "Item Preview", + // TODO New key - Add a translation + "submission.import-external.preview.title": "Item Preview", + + // "submission.import-external.preview.subtitle": "The metadata below was imported from an external source. It will be pre-filled when you start the submission.", + // TODO New key - Add a translation + "submission.import-external.preview.subtitle": "The metadata below was imported from an external source. It will be pre-filled when you start the submission.", + + // "submission.import-external.preview.button.import": "Start submission", + // TODO New key - Add a translation + "submission.import-external.preview.button.import": "Start submission", + + // "submission.import-external.preview.error.import.title": "Submission error", + // TODO New key - Add a translation + "submission.import-external.preview.error.import.title": "Submission error", + + // "submission.import-external.preview.error.import.body": "An error occurs during the external source entry import process.", + // TODO New key - Add a translation + "submission.import-external.preview.error.import.body": "An error occurs during the external source entry import process.", // "submission.sections.describe.relationship-lookup.close": "Close", // TODO New key - Add a translation @@ -4022,9 +5724,9 @@ // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.external-source.added": "Successfully added local entry to the selection", - // "submission.sections.describe.relationship-lookup.external-source.import-button-title.Author": "Import remote author", + // "submission.sections.describe.relationship-lookup.external-source.import-button-title.isAuthorOfPublication": "Import remote author", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-button-title.Author": "Import remote author", + "submission.sections.describe.relationship-lookup.external-source.import-button-title.isAuthorOfPublication": "Import remote author", // "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal": "Import remote journal", // TODO New key - Add a translation @@ -4038,17 +5740,17 @@ // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal Volume": "Import remote journal volume", - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.title": "Import Remote Author", + // "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.title": "Import Remote Author", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.title": "Import Remote Author", + "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.title": "Import Remote Author", - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.added.local-entity": "Successfully added local author to the selection", + // "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.added.local-entity": "Successfully added local author to the selection", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.added.local-entity": "Successfully added local author to the selection", + "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.added.local-entity": "Successfully added local author to the selection", - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.added.new-entity": "Successfully imported and added external author to the selection", + // "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.added.new-entity": "Successfully imported and added external author to the selection", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.added.new-entity": "Successfully imported and added external author to the selection", + "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.added.new-entity": "Successfully imported and added external author to the selection", // "submission.sections.describe.relationship-lookup.external-source.import-modal.authority": "Authority", // TODO New key - Add a translation @@ -4090,6 +5792,14 @@ // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.external-source.import-modal.head.sherpaPublisher": "Importing from Sherpa Publisher", + // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.pubmed": "Importing from PubMed", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.head.pubmed": "Importing from PubMed", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.arxiv": "Importing from arXiv", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.head.arxiv": "Importing from arXiv", + // "submission.sections.describe.relationship-lookup.external-source.import-modal.import": "Import", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.external-source.import-modal.import": "Import", @@ -4166,21 +5876,54 @@ // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.selected": "Selected {{ size }} items", - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Author": "Local Authors ({{ count }})", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isAuthorOfPublication": "Local Authors ({{ count }})", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Author": "Local Authors ({{ count }})", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isAuthorOfPublication": "Local Authors ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalOfPublication": "Local Journals ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalOfPublication": "Local Journals ({{ count }})", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Project": "Local Projects ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.Project": "Local Projects ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Publication": "Local Publications ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.Publication": "Local Publications ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Person": "Local Authors ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.Person": "Local Authors ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.OrgUnit": "Local Organizational Units ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.OrgUnit": "Local Organizational Units ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.DataPackage": "Local Data Packages ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.DataPackage": "Local Data Packages ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.DataFile": "Local Data Files ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.DataFile": "Local Data Files ({{ count }})", // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal": "Local Journals ({{ count }})", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal": "Local Journals ({{ count }})", - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal Issue": "Local Journal Issues ({{ count }})", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalIssueOfPublication": "Local Journal Issues ({{ count }})", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal Issue": "Local Journal Issues ({{ count }})", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalIssueOfPublication": "Local Journal Issues ({{ count }})", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.JournalIssue": "Local Journal Issues ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.JournalIssue": "Local Journal Issues ({{ count }})", - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal Volume": "Local Journal Volumes ({{ count }})", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalVolumeOfPublication": "Local Journal Volumes ({{ count }})", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal Volume": "Local Journal Volumes ({{ count }})", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalVolumeOfPublication": "Local Journal Volumes ({{ count }})", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.JournalVolume": "Local Journal Volumes ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.JournalVolume": "Local Journal Volumes ({{ count }})", // "submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaJournal": "Sherpa Journals ({{ count }})", // TODO New key - Add a translation @@ -4198,41 +5941,90 @@ // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.search-tab.tab-title.lcname": "LC Names ({{ count }})", - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Funding Agency": "Search for Funding Agencies", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.pubmed": "PubMed ({{ count }})", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Funding Agency": "Search for Funding Agencies", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.pubmed": "PubMed ({{ count }})", - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Funding": "Search for Funding", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.arxiv": "arXiv ({{ count }})", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Funding": "Search for Funding", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.arxiv": "arXiv ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingAgencyOfPublication": "Search for Funding Agencies", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingAgencyOfPublication": "Search for Funding Agencies", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingOfPublication": "Search for Funding", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingOfPublication": "Search for Funding", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isChildOrgUnitOf": "Search for Organizational Units", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isChildOrgUnitOf": "Search for Organizational Units", // "submission.sections.describe.relationship-lookup.selection-tab.tab-title": "Current Selection ({{ count }})", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.selection-tab.tab-title": "Current Selection ({{ count }})", - // "submission.sections.describe.relationship-lookup.title.Journal Issue": "Journal Issues", + // "submission.sections.describe.relationship-lookup.title.isJournalIssueOfPublication": "Journal Issues", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.title.Journal Issue": "Journal Issues", + "submission.sections.describe.relationship-lookup.title.isJournalIssueOfPublication": "Journal Issues", + // "submission.sections.describe.relationship-lookup.title.JournalIssue": "Journal Issues", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.JournalIssue": "Journal Issues", - // "submission.sections.describe.relationship-lookup.title.Journal Volume": "Journal Volumes", + // "submission.sections.describe.relationship-lookup.title.isJournalVolumeOfPublication": "Journal Volumes", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.title.Journal Volume": "Journal Volumes", + "submission.sections.describe.relationship-lookup.title.isJournalVolumeOfPublication": "Journal Volumes", + // "submission.sections.describe.relationship-lookup.title.JournalVolume": "Journal Volumes", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.JournalVolume": "Journal Volumes", - // "submission.sections.describe.relationship-lookup.title.Journal": "Journals", + // "submission.sections.describe.relationship-lookup.title.isJournalOfPublication": "Journals", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.title.Journal": "Journals", + "submission.sections.describe.relationship-lookup.title.isJournalOfPublication": "Journals", - // "submission.sections.describe.relationship-lookup.title.Author": "Authors", + // "submission.sections.describe.relationship-lookup.title.isAuthorOfPublication": "Authors", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.title.Author": "Authors", + "submission.sections.describe.relationship-lookup.title.isAuthorOfPublication": "Authors", + + // "submission.sections.describe.relationship-lookup.title.isFundingAgencyOfPublication": "Funding Agency", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.isFundingAgencyOfPublication": "Funding Agency", + // "submission.sections.describe.relationship-lookup.title.Project": "Projects", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.Project": "Projects", + + // "submission.sections.describe.relationship-lookup.title.Publication": "Publications", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.Publication": "Publications", + + // "submission.sections.describe.relationship-lookup.title.Person": "Authors", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.Person": "Authors", + + // "submission.sections.describe.relationship-lookup.title.OrgUnit": "Organizational Units", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.OrgUnit": "Organizational Units", + + // "submission.sections.describe.relationship-lookup.title.DataPackage": "Data Packages", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.DataPackage": "Data Packages", + + // "submission.sections.describe.relationship-lookup.title.DataFile": "Data Files", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.DataFile": "Data Files", // "submission.sections.describe.relationship-lookup.title.Funding Agency": "Funding Agency", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.title.Funding Agency": "Funding Agency", - // "submission.sections.describe.relationship-lookup.title.Funding": "Funding", + // "submission.sections.describe.relationship-lookup.title.isFundingOfPublication": "Funding", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.title.Funding": "Funding", + "submission.sections.describe.relationship-lookup.title.isFundingOfPublication": "Funding", + + // "submission.sections.describe.relationship-lookup.title.isChildOrgUnitOf": "Parent Organizational Unit", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.isChildOrgUnitOf": "Parent Organizational Unit", // "submission.sections.describe.relationship-lookup.search-tab.toggle-dropdown": "Toggle dropdown", // TODO New key - Add a translation @@ -4246,21 +6038,66 @@ // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.selection-tab.no-selection": "Your selection is currently empty.", - // "submission.sections.describe.relationship-lookup.selection-tab.title.Author": "Selected Authors", + // "submission.sections.describe.relationship-lookup.selection-tab.title.isAuthorOfPublication": "Selected Authors", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.selection-tab.title.Author": "Selected Authors", + "submission.sections.describe.relationship-lookup.selection-tab.title.isAuthorOfPublication": "Selected Authors", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalOfPublication": "Selected Journals", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalOfPublication": "Selected Journals", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalVolumeOfPublication": "Selected Journal Volume", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalVolumeOfPublication": "Selected Journal Volume", + // "submission.sections.describe.relationship-lookup.selection-tab.title.Project": "Selected Projects", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.Project": "Selected Projects", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.Publication": "Selected Publications", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.Publication": "Selected Publications", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.Person": "Selected Authors", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.Person": "Selected Authors", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.OrgUnit": "Selected Organizational Units", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.OrgUnit": "Selected Organizational Units", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.DataPackage": "Selected Data Packages", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.DataPackage": "Selected Data Packages", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.DataFile": "Selected Data Files", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.DataFile": "Selected Data Files", // "submission.sections.describe.relationship-lookup.selection-tab.title.Journal": "Selected Journals", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.selection-tab.title.Journal": "Selected Journals", - // "submission.sections.describe.relationship-lookup.selection-tab.title.Journal Volume": "Selected Journal Volume", + // "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalIssueOfPublication": "Selected Issue", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.selection-tab.title.Journal Volume": "Selected Journal Volume", + "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalIssueOfPublication": "Selected Issue", + // "submission.sections.describe.relationship-lookup.selection-tab.title.JournalVolume": "Selected Journal Volume", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.JournalVolume": "Selected Journal Volume", - // "submission.sections.describe.relationship-lookup.selection-tab.title.Journal Issue": "Selected Issue", + // "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingAgencyOfPublication": "Selected Funding Agency", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.selection-tab.title.Journal Issue": "Selected Issue", + "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingAgencyOfPublication": "Selected Funding Agency", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingOfPublication": "Selected Funding", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingOfPublication": "Selected Funding", + // "submission.sections.describe.relationship-lookup.selection-tab.title.JournalIssue": "Selected Issue", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.JournalIssue": "Selected Issue", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isChildOrgUnitOf": "Selected Organizational Unit", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.isChildOrgUnitOf": "Selected Organizational Unit", // "submission.sections.describe.relationship-lookup.selection-tab.title.sherpaJournal": "Search Results", // TODO New key - Add a translation @@ -4274,10 +6111,22 @@ // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.selection-tab.title.orcid": "Search Results", + // "submission.sections.describe.relationship-lookup.selection-tab.title.orcidv2": "Search Results", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.orcidv2": "Search Results", + // "submission.sections.describe.relationship-lookup.selection-tab.title.lcname": "Search Results", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.selection-tab.title.lcname": "Search Results", + // "submission.sections.describe.relationship-lookup.selection-tab.title.pubmed": "Search Results", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.pubmed": "Search Results", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.arxiv": "Search Results", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.arxiv": "Search Results", + // "submission.sections.describe.relationship-lookup.name-variant.notification.content": "Would you like to save \"{{ value }}\" as a name variant for this person so you and others can reuse it for future submissions? If you don\'t you can still use it for this submission.", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.name-variant.notification.content": "Would you like to save \"{{ value }}\" as a name variant for this person so you and others can reuse it for future submissions? If you don\'t you can still use it for this submission.", @@ -4290,6 +6139,34 @@ // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.name-variant.notification.decline": "Use only for this submission", + // "submission.sections.ccLicense.type": "License Type", + // TODO New key - Add a translation + "submission.sections.ccLicense.type": "License Type", + + // "submission.sections.ccLicense.select": "Select a license type…", + // TODO New key - Add a translation + "submission.sections.ccLicense.select": "Select a license type…", + + // "submission.sections.ccLicense.change": "Change your license type…", + // TODO New key - Add a translation + "submission.sections.ccLicense.change": "Change your license type…", + + // "submission.sections.ccLicense.none": "No licenses available", + // TODO New key - Add a translation + "submission.sections.ccLicense.none": "No licenses available", + + // "submission.sections.ccLicense.option.select": "Select an option…", + // TODO New key - Add a translation + "submission.sections.ccLicense.option.select": "Select an option…", + + // "submission.sections.ccLicense.link": "You’ve selected the following license:", + // TODO New key - Add a translation + "submission.sections.ccLicense.link": "You’ve selected the following license:", + + // "submission.sections.ccLicense.confirmation": "I grant the license above", + // TODO New key - Add a translation + "submission.sections.ccLicense.confirmation": "I grant the license above", + // "submission.sections.general.add-more": "Add more", // TODO New key - Add a translation "submission.sections.general.add-more": "Add more", @@ -4348,9 +6225,9 @@ - // "submission.sections.submit.progressbar.cclicense": "Creative commons license", + // "submission.sections.submit.progressbar.CClicense": "Creative commons license", // TODO New key - Add a translation - "submission.sections.submit.progressbar.cclicense": "Creative commons license", + "submission.sections.submit.progressbar.CClicense": "Creative commons license", // "submission.sections.submit.progressbar.describe.recycle": "Recycle", // TODO New key - Add a translation @@ -4414,9 +6291,9 @@ // TODO New key - Add a translation "submission.sections.upload.form.date-required": "Date is required.", - // "submission.sections.upload.form.from-label": "Access grant from", + // "submission.sections.upload.form.from-label": "Grant access from", // TODO New key - Add a translation - "submission.sections.upload.form.from-label": "Access grant from", + "submission.sections.upload.form.from-label": "Grant access from", // "submission.sections.upload.form.from-placeholder": "From", // TODO New key - Add a translation @@ -4430,9 +6307,9 @@ // TODO New key - Add a translation "submission.sections.upload.form.group-required": "Group is required.", - // "submission.sections.upload.form.until-label": "Access grant until", + // "submission.sections.upload.form.until-label": "Grant access until", // TODO New key - Add a translation - "submission.sections.upload.form.until-label": "Access grant until", + "submission.sections.upload.form.until-label": "Grant access until", // "submission.sections.upload.form.until-placeholder": "Until", // TODO New key - Add a translation @@ -4598,13 +6475,34 @@ "title": "DSpace", - // "administrativeView.search.results.head": "Administrative Search", - // TODO New key - Add a translation - "administrativeView.search.results.head": "Administrative Search", - // "menu.section.admin_search": "Admin Search", + // "vocabulary-treeview.header": "Hierarchical tree view", // TODO New key - Add a translation - "menu.section.admin_search": "Admin Search", + "vocabulary-treeview.header": "Hierarchical tree view", + + // "vocabulary-treeview.load-more": "Load more", + // TODO New key - Add a translation + "vocabulary-treeview.load-more": "Load more", + + // "vocabulary-treeview.search.form.reset": "Reset", + // TODO New key - Add a translation + "vocabulary-treeview.search.form.reset": "Reset", + + // "vocabulary-treeview.search.form.search": "Search", + // TODO New key - Add a translation + "vocabulary-treeview.search.form.search": "Search", + + // "vocabulary-treeview.search.no-result": "There were no items to show", + // TODO New key - Add a translation + "vocabulary-treeview.search.no-result": "There were no items to show", + + // "vocabulary-treeview.tree.description.nsi": "The Norwegian Science Index", + // TODO New key - Add a translation + "vocabulary-treeview.tree.description.nsi": "The Norwegian Science Index", + + // "vocabulary-treeview.tree.description.srsc": "Research Subject Categories", + // TODO New key - Add a translation + "vocabulary-treeview.tree.description.srsc": "Research Subject Categories", @@ -4616,9 +6514,9 @@ // TODO New key - Add a translation "uploader.drag-message": "Drag & Drop your files here", - // "uploader.or": ", or", + // "uploader.or": ", or ", // TODO New key - Add a translation - "uploader.or": ", or", + "uploader.or": ", or ", // "uploader.processing": "Processing", // TODO New key - Add a translation @@ -4641,5 +6539,77 @@ "virtual-metadata.delete-relationship.modal-head": "Select the items for which you want to save the virtual metadata as real metadata", + + // "workflowAdmin.search.results.head": "Administer Workflow", + // TODO New key - Add a translation + "workflowAdmin.search.results.head": "Administer Workflow", + + + + // "workflow-item.delete.notification.success.title": "Deleted", + // TODO New key - Add a translation + "workflow-item.delete.notification.success.title": "Deleted", + + // "workflow-item.delete.notification.success.content": "This workflow item was successfully deleted", + // TODO New key - Add a translation + "workflow-item.delete.notification.success.content": "This workflow item was successfully deleted", + + // "workflow-item.delete.notification.error.title": "Something went wrong", + // TODO New key - Add a translation + "workflow-item.delete.notification.error.title": "Something went wrong", + + // "workflow-item.delete.notification.error.content": "The workflow item could not be deleted", + // TODO New key - Add a translation + "workflow-item.delete.notification.error.content": "The workflow item could not be deleted", + + // "workflow-item.delete.title": "Delete workflow item", + // TODO New key - Add a translation + "workflow-item.delete.title": "Delete workflow item", + + // "workflow-item.delete.header": "Delete workflow item", + // TODO New key - Add a translation + "workflow-item.delete.header": "Delete workflow item", + + // "workflow-item.delete.button.cancel": "Cancel", + // TODO New key - Add a translation + "workflow-item.delete.button.cancel": "Cancel", + + // "workflow-item.delete.button.confirm": "Delete", + // TODO New key - Add a translation + "workflow-item.delete.button.confirm": "Delete", + + + // "workflow-item.send-back.notification.success.title": "Sent back to submitter", + // TODO New key - Add a translation + "workflow-item.send-back.notification.success.title": "Sent back to submitter", + + // "workflow-item.send-back.notification.success.content": "This workflow item was successfully sent back to the submitter", + // TODO New key - Add a translation + "workflow-item.send-back.notification.success.content": "This workflow item was successfully sent back to the submitter", + + // "workflow-item.send-back.notification.error.title": "Something went wrong", + // TODO New key - Add a translation + "workflow-item.send-back.notification.error.title": "Something went wrong", + + // "workflow-item.send-back.notification.error.content": "The workflow item could not be sent back to the submitter", + // TODO New key - Add a translation + "workflow-item.send-back.notification.error.content": "The workflow item could not be sent back to the submitter", + + // "workflow-item.send-back.title": "Send workflow item back to submitter", + // TODO New key - Add a translation + "workflow-item.send-back.title": "Send workflow item back to submitter", + + // "workflow-item.send-back.header": "Send workflow item back to submitter", + // TODO New key - Add a translation + "workflow-item.send-back.header": "Send workflow item back to submitter", + + // "workflow-item.send-back.button.cancel": "Cancel", + // TODO New key - Add a translation + "workflow-item.send-back.button.cancel": "Cancel", + + // "workflow-item.send-back.button.confirm": "Send back" + // TODO New key - Add a translation + "workflow-item.send-back.button.confirm": "Send back" + } \ No newline at end of file diff --git a/src/assets/i18n/de.json5 b/src/assets/i18n/de.json5 index 1fd92fbf67..4a5b799c29 100644 --- a/src/assets/i18n/de.json5 +++ b/src/assets/i18n/de.json5 @@ -1,5 +1,33 @@ { + // "401.help": "You're not authorized to access this page. You can use the button below to get back to the home page.", + // TODO New key - Add a translation + "401.help": "You're not authorized to access this page. You can use the button below to get back to the home page.", + + // "401.link.home-page": "Take me to the home page", + // TODO New key - Add a translation + "401.link.home-page": "Take me to the home page", + + // "401.unauthorized": "unauthorized", + // TODO New key - Add a translation + "401.unauthorized": "unauthorized", + + + + // "403.help": "You don't have permission to access this page. You can use the button below to get back to the home page.", + // TODO New key - Add a translation + "403.help": "You don't have permission to access this page. You can use the button below to get back to the home page.", + + // "403.link.home-page": "Take me to the home page", + // TODO New key - Add a translation + "403.link.home-page": "Take me to the home page", + + // "403.forbidden": "forbidden", + // TODO New key - Add a translation + "403.forbidden": "forbidden", + + + // "404.help": "We can't find the page you're looking for. The page may have been moved or deleted. You can use the button below to get back to the home page. ", "404.help": "Die Seite, die Sie aufrufen wollten, konnte nicht gefunden werden. Sie könnte verschoben oder gelöscht worden sein. Mit dem Link unten kommen Sie zurück zur Startseite. ", @@ -9,7 +37,25 @@ // "404.page-not-found": "page not found", "404.page-not-found": "Seite nicht gefunden", + // "admin.curation-tasks.breadcrumbs": "System curation tasks", + // TODO New key - Add a translation + "admin.curation-tasks.breadcrumbs": "System curation tasks", + // "admin.curation-tasks.title": "System curation tasks", + // TODO New key - Add a translation + "admin.curation-tasks.title": "System curation tasks", + + // "admin.curation-tasks.header": "System curation tasks", + // TODO New key - Add a translation + "admin.curation-tasks.header": "System curation tasks", + + // "admin.registries.bitstream-formats.breadcrumbs": "Format registry", + // TODO New key - Add a translation + "admin.registries.bitstream-formats.breadcrumbs": "Format registry", + + // "admin.registries.bitstream-formats.create.breadcrumbs": "Bitstream format", + // TODO New key - Add a translation + "admin.registries.bitstream-formats.create.breadcrumbs": "Bitstream format", // "admin.registries.bitstream-formats.create.failure.content": "An error occurred while creating the new bitstream format.", "admin.registries.bitstream-formats.create.failure.content": "Ein Fehler ist beim Anlegen eines neuen Dateiformates aufgetreten.", @@ -44,6 +90,10 @@ // "admin.registries.bitstream-formats.description": "This list of bitstream formats provides information about known formats and their support level.", "admin.registries.bitstream-formats.description": "Die Liste der Dateiformate enthält Informationen über bekannte Formate und deren Unterstützungsgrad.", + // "admin.registries.bitstream-formats.edit.breadcrumbs": "Bitstream format", + // TODO New key - Add a translation + "admin.registries.bitstream-formats.edit.breadcrumbs": "Bitstream format", + // "admin.registries.bitstream-formats.edit.description.hint": "", "admin.registries.bitstream-formats.edit.description.hint": "", @@ -140,6 +190,10 @@ + // "admin.registries.metadata.breadcrumbs": "Metadata registry", + // TODO New key - Add a translation + "admin.registries.metadata.breadcrumbs": "Metadata registry", + // "admin.registries.metadata.description": "The metadata registry maintains a list of all metadata fields available in the repository. These fields may be divided amongst multiple schemas. However, DSpace requires the qualified Dublin Core schema.", "admin.registries.metadata.description": "In der Referenzliste der Metadaten sind alle Metadatenfelder aufgeführt, die in diesem Repositorium zur Verfügung stehen. Diese Felder können auf verschiedene Schemata aufgeteilt sein. Für DSpace ist das Dublin Core Schema auf jeden Fall erforderlich.", @@ -178,6 +232,10 @@ + // "admin.registries.schema.breadcrumbs": "Metadata schema", + // TODO New key - Add a translation + "admin.registries.schema.breadcrumbs": "Metadata schema", + // "admin.registries.schema.description": "This is the metadata schema for \"{{namespace}}\".", "admin.registries.schema.description": "Dies ist das Metadatenschema für den Namensraum \"{{namespace}}\".", @@ -252,6 +310,22 @@ + // "admin.access-control.epeople.actions.delete": "Delete EPerson", + // TODO New key - Add a translation + "admin.access-control.epeople.actions.delete": "Delete EPerson", + + // "admin.access-control.epeople.actions.impersonate": "Impersonate EPerson", + // TODO New key - Add a translation + "admin.access-control.epeople.actions.impersonate": "Impersonate EPerson", + + // "admin.access-control.epeople.actions.reset": "Reset password", + // TODO New key - Add a translation + "admin.access-control.epeople.actions.reset": "Reset password", + + // "admin.access-control.epeople.actions.stop-impersonating": "Stop impersonating EPerson", + // TODO New key - Add a translation + "admin.access-control.epeople.actions.stop-impersonating": "Stop impersonating EPerson", + // "admin.access-control.epeople.title": "DSpace Angular :: EPeople", // TODO New key - Add a translation "admin.access-control.epeople.title": "DSpace Angular :: EPeople", @@ -322,7 +396,7 @@ // "admin.access-control.epeople.form.firstName": "First name", // TODO New key - Add a translation - "admin.access-control.epeople.form.firstName": "Vorname", + "admin.access-control.epeople.form.firstName": "First name", // "admin.access-control.epeople.form.lastName": "Last name", "admin.access-control.epeople.form.lastName": "Nachname", @@ -365,6 +439,14 @@ // TODO New key - Add a translation "admin.access-control.epeople.form.notification.edited.failure": "Failed to edit EPerson \"{{name}}\"", + // "admin.access-control.epeople.form.notification.deleted.success": "Successfully deleted EPerson \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.epeople.form.notification.deleted.success": "Successfully deleted EPerson \"{{name}}\"", + + // "admin.access-control.epeople.form.notification.deleted.failure": "Failed to delete EPerson \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.epeople.form.notification.deleted.failure": "Failed to delete EPerson \"{{name}}\"", + // "admin.access-control.epeople.form.groupsEPersonIsMemberOf": "Member of these groups:", // TODO New key - Add a translation "admin.access-control.epeople.form.groupsEPersonIsMemberOf": "Member of these groups:", @@ -399,6 +481,14 @@ // TODO New key - Add a translation "admin.access-control.groups.title": "DSpace Angular :: Groups", + // "admin.access-control.groups.title.singleGroup": "DSpace Angular :: Edit Group", + // TODO New key - Add a translation + "admin.access-control.groups.title.singleGroup": "DSpace Angular :: Edit Group", + + // "admin.access-control.groups.title.addGroup": "DSpace Angular :: New Group", + // TODO New key - Add a translation + "admin.access-control.groups.title.addGroup": "DSpace Angular :: New Group", + // "admin.access-control.groups.head": "Groups", // TODO New key - Add a translation "admin.access-control.groups.head": "Groups", @@ -431,10 +521,6 @@ // TODO New key - Add a translation "admin.access-control.groups.table.members": "Members", - // "admin.access-control.groups.table.comcol": "Community / Collection", - // TODO New key - Add a translation - "admin.access-control.groups.table.comcol": "Community / Collection", - // "admin.access-control.groups.table.edit": "Edit", // TODO New key - Add a translation "admin.access-control.groups.table.edit": "Edit", @@ -455,10 +541,23 @@ // TODO New key - Add a translation "admin.access-control.groups.notification.deleted.success": "Successfully deleted group \"{{name}}\"", - // "admin.access-control.groups.notification.deleted.failure": "Failed to delete group \"{{name}}\"", + // "admin.access-control.groups.notification.deleted.failure.title": "Failed to delete group \"{{name}}\"", // TODO New key - Add a translation - "admin.access-control.groups.notification.deleted.failure": "Failed to delete group \"{{name}}\"", + "admin.access-control.groups.notification.deleted.failure.title": "Failed to delete group \"{{name}}\"", + // "admin.access-control.groups.notification.deleted.failure.content": "Cause: \"{{cause}}\"", + // TODO New key - Add a translation + "admin.access-control.groups.notification.deleted.failure.content": "Cause: \"{{cause}}\"", + + + + // "admin.access-control.groups.form.alert.permanent": "This group is permanent, so it can't be edited or deleted. You can still add and remove group members using this page.", + // TODO New key - Add a translation + "admin.access-control.groups.form.alert.permanent": "This group is permanent, so it can't be edited or deleted. You can still add and remove group members using this page.", + + // "admin.access-control.groups.form.alert.workflowGroup": "This group can’t be modified or deleted because it corresponds to a role in the submission and workflow process in the \"{{name}}\" {{comcol}}. You can delete it from the \"assign roles\" tab on the edit {{comcol}} page. You can still add and remove group members using this page.", + // TODO New key - Add a translation + "admin.access-control.groups.form.alert.workflowGroup": "This group can’t be modified or deleted because it corresponds to a role in the submission and workflow process in the \"{{name}}\" {{comcol}}. You can delete it from the \"assign roles\" tab on the edit {{comcol}} page. You can still add and remove group members using this page.", // "admin.access-control.groups.form.head.create": "Create group", // TODO New key - Add a translation @@ -488,6 +587,50 @@ // TODO New key - Add a translation "admin.access-control.groups.form.notification.created.failure.groupNameInUse": "Failed to create Group with name: \"{{name}}\", make sure the name is not already in use.", + // "admin.access-control.groups.form.notification.edited.failure": "Failed to edit Group \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.edited.failure": "Failed to edit Group \"{{name}}\"", + + // "admin.access-control.groups.form.notification.edited.failure.groupNameInUse": "Name \"{{name}}\" already in use!", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.edited.failure.groupNameInUse": "Name \"{{name}}\" already in use!", + + // "admin.access-control.groups.form.notification.edited.success": "Successfully edited Group \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.edited.success": "Successfully edited Group \"{{name}}\"", + + // "admin.access-control.groups.form.actions.delete": "Delete Group", + // TODO New key - Add a translation + "admin.access-control.groups.form.actions.delete": "Delete Group", + + // "admin.access-control.groups.form.delete-group.modal.header": "Delete Group \"{{ dsoName }}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.delete-group.modal.header": "Delete Group \"{{ dsoName }}\"", + + // "admin.access-control.groups.form.delete-group.modal.info": "Are you sure you want to delete Group \"{{ dsoName }}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.delete-group.modal.info": "Are you sure you want to delete Group \"{{ dsoName }}\"", + + // "admin.access-control.groups.form.delete-group.modal.cancel": "Cancel", + // TODO New key - Add a translation + "admin.access-control.groups.form.delete-group.modal.cancel": "Cancel", + + // "admin.access-control.groups.form.delete-group.modal.confirm": "Delete", + // TODO New key - Add a translation + "admin.access-control.groups.form.delete-group.modal.confirm": "Delete", + + // "admin.access-control.groups.form.notification.deleted.success": "Successfully deleted group \"{{ name }}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.deleted.success": "Successfully deleted group \"{{ name }}\"", + + // "admin.access-control.groups.form.notification.deleted.failure.title": "Failed to delete group \"{{ name }}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.deleted.failure.title": "Failed to delete group \"{{ name }}\"", + + // "admin.access-control.groups.form.notification.deleted.failure.content": "Cause: \"{{ cause }}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.deleted.failure.content": "Cause: \"{{ cause }}\"", + // "admin.access-control.groups.form.members-list.head": "EPeople", // TODO New key - Add a translation "admin.access-control.groups.form.members-list.head": "EPeople", @@ -564,6 +707,10 @@ // TODO New key - Add a translation "admin.access-control.groups.form.members-list.no-items": "No EPeople found in that search", + // "admin.access-control.groups.form.subgroups-list.notification.failure": "Something went wrong: \"{{cause}}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.subgroups-list.notification.failure": "Something went wrong: \"{{cause}}\"", + // "admin.access-control.groups.form.subgroups-list.head": "Groups", // TODO New key - Add a translation "admin.access-control.groups.form.subgroups-list.head": "Groups", @@ -678,10 +825,6 @@ // TODO New key - Add a translation "admin.search.item.move": "Move", - // "admin.search.item.private": "Private", - // TODO New key - Add a translation - "admin.search.item.private": "Private", - // "admin.search.item.reinstate": "Reinstate", // TODO New key - Add a translation "admin.search.item.reinstate": "Reinstate", @@ -689,13 +832,76 @@ // "admin.search.item.withdraw": "Withdraw", "admin.search.item.withdraw": "Zurückziehen", - // "admin.search.item.withdrawn": "Withdrawn", - "admin.search.item.withdrawn": "Zurückgezogen", - // "admin.search.title": "Administrative Search", // TODO New key - Add a translation "admin.search.title": "Administrative Search", + // "administrativeView.search.results.head": "Administrative Search", + // TODO New key - Add a translation + "administrativeView.search.results.head": "Administrative Search", + + + + + // "admin.workflow.breadcrumbs": "Administer Workflow", + // TODO New key - Add a translation + "admin.workflow.breadcrumbs": "Administer Workflow", + + // "admin.workflow.title": "Administer Workflow", + // TODO New key - Add a translation + "admin.workflow.title": "Administer Workflow", + + // "admin.workflow.item.workflow": "Workflow", + // TODO New key - Add a translation + "admin.workflow.item.workflow": "Workflow", + + // "admin.workflow.item.delete": "Delete", + // TODO New key - Add a translation + "admin.workflow.item.delete": "Delete", + + // "admin.workflow.item.send-back": "Send back", + // TODO New key - Add a translation + "admin.workflow.item.send-back": "Send back", + + + + // "admin.metadata-import.breadcrumbs": "Import Metadata", + // TODO New key - Add a translation + "admin.metadata-import.breadcrumbs": "Import Metadata", + + // "admin.metadata-import.title": "Import Metadata", + // TODO New key - Add a translation + "admin.metadata-import.title": "Import Metadata", + + // "admin.metadata-import.page.header": "Import Metadata", + // TODO New key - Add a translation + "admin.metadata-import.page.header": "Import Metadata", + + // "admin.metadata-import.page.help": "You can drop or browse CSV files that contain batch metadata operations on files here", + // TODO New key - Add a translation + "admin.metadata-import.page.help": "You can drop or browse CSV files that contain batch metadata operations on files here", + + // "admin.metadata-import.page.dropMsg": "Drop a metadata CSV to import", + // TODO New key - Add a translation + "admin.metadata-import.page.dropMsg": "Drop a metadata CSV to import", + + // "admin.metadata-import.page.dropMsgReplace": "Drop to replace the metadata CSV to import", + // TODO New key - Add a translation + "admin.metadata-import.page.dropMsgReplace": "Drop to replace the metadata CSV to import", + + // "admin.metadata-import.page.button.return": "Return", + // TODO New key - Add a translation + "admin.metadata-import.page.button.return": "Return", + + // "admin.metadata-import.page.button.proceed": "Proceed", + // TODO New key - Add a translation + "admin.metadata-import.page.button.proceed": "Proceed", + + // "admin.metadata-import.page.error.addFile": "Select file first!", + // TODO New key - Add a translation + "admin.metadata-import.page.error.addFile": "Select file first!", + + // "auth.errors.invalid-user": "Invalid email address or password.", @@ -893,6 +1099,10 @@ // "collection.create.sub-head": "Create a Collection for Community {{ parent }}", "collection.create.sub-head": "Eine Sammlung in dem Bereich {{ parent }} anlegen", + // "collection.curate.header": "Curate Collection: {{collection}}", + // TODO New key - Add a translation + "collection.curate.header": "Curate Collection: {{collection}}", + // "collection.delete.cancel": "Cancel", "collection.delete.cancel": "Abbrechen", @@ -924,6 +1134,14 @@ + // "collection.edit.tabs.mapper.head": "Item Mapper", + // TODO New key - Add a translation + "collection.edit.tabs.mapper.head": "Item Mapper", + + // "collection.edit.tabs.item-mapper.title": "Collection Edit - Item Mapper", + // TODO New key - Add a translation + "collection.edit.tabs.item-mapper.title": "Collection Edit - Item Mapper", + // "collection.edit.item-mapper.cancel": "Cancel", "collection.edit.item-mapper.cancel": "Abbrechen", @@ -1014,6 +1232,14 @@ // "collection.edit.tabs.curate.title": "Collection Edit - Curate", "collection.edit.tabs.curate.title": "Sammlung bearbeiten - Datenpflege", + // "collection.edit.tabs.authorizations.head": "Authorizations", + // TODO New key - Add a translation + "collection.edit.tabs.authorizations.head": "Authorizations", + + // "collection.edit.tabs.authorizations.title": "Collection Edit - Authorizations", + // TODO New key - Add a translation + "collection.edit.tabs.authorizations.title": "Collection Edit - Authorizations", + // "collection.edit.tabs.metadata.head": "Edit Metadata", "collection.edit.tabs.metadata.head": "Metadaten bearbeiten", @@ -1082,6 +1308,48 @@ + // "collection.edit.template.add-button": "Add", + // TODO New key - Add a translation + "collection.edit.template.add-button": "Add", + + // "collection.edit.template.breadcrumbs": "Item template", + // TODO New key - Add a translation + "collection.edit.template.breadcrumbs": "Item template", + + // "collection.edit.template.cancel": "Cancel", + // TODO New key - Add a translation + "collection.edit.template.cancel": "Cancel", + + // "collection.edit.template.delete-button": "Delete", + // TODO New key - Add a translation + "collection.edit.template.delete-button": "Delete", + + // "collection.edit.template.edit-button": "Edit", + // TODO New key - Add a translation + "collection.edit.template.edit-button": "Edit", + + // "collection.edit.template.head": "Edit Template Item for Collection \"{{ collection }}\"", + // TODO New key - Add a translation + "collection.edit.template.head": "Edit Template Item for Collection \"{{ collection }}\"", + + // "collection.edit.template.label": "Template item", + // TODO New key - Add a translation + "collection.edit.template.label": "Template item", + + // "collection.edit.template.notifications.delete.error": "Failed to delete the item template", + // TODO New key - Add a translation + "collection.edit.template.notifications.delete.error": "Failed to delete the item template", + + // "collection.edit.template.notifications.delete.success": "Successfully deleted the item template", + // TODO New key - Add a translation + "collection.edit.template.notifications.delete.success": "Successfully deleted the item template", + + // "collection.edit.template.title": "Edit Template Item", + // TODO New key - Add a translation + "collection.edit.template.title": "Edit Template Item", + + + // "collection.form.abstract": "Short Description", "collection.form.abstract": "Kurzbeschreibung", @@ -1108,12 +1376,22 @@ + // "collection.listelement.badge": "Collection", + // TODO New key - Add a translation + "collection.listelement.badge": "Collection", + + + // "collection.page.browse.recent.head": "Recent Submissions", "collection.page.browse.recent.head": "Neueste Veröffentlichungen", // "collection.page.browse.recent.empty": "No items to show", "collection.page.browse.recent.empty": "Es gibt keine Ressourcen zum Anzeigen", + // "collection.page.edit": "Edit this collection", + // TODO New key - Add a translation + "collection.page.edit": "Edit this collection", + // "collection.page.handle": "Permanent URI for this collection", "collection.page.handle": "Dauerhafte URI für die Sammlung", @@ -1164,6 +1442,10 @@ // "community.create.sub-head": "Create a Sub-Community for Community {{ parent }}", "community.create.sub-head": "Teilbeirech im Bereich {{ parent }} anlegen", + // "community.curate.header": "Curate Community: {{community}}", + // TODO New key - Add a translation + "community.curate.header": "Curate Community: {{community}}", + // "community.delete.cancel": "Cancel", "community.delete.cancel": "Abbrechen", @@ -1218,6 +1500,14 @@ // "community.edit.notifications.success": "Successfully edited the Community", "community.edit.notifications.success": "Bereich erfolgreich bearbeitet", + // "community.edit.notifications.unauthorized": "You do not have privileges to make this change", + // TODO New key - Add a translation + "community.edit.notifications.unauthorized": "You do not have privileges to make this change", + + // "community.edit.notifications.error": "An error occured while editing the Community", + // TODO New key - Add a translation + "community.edit.notifications.error": "An error occured while editing the Community", + // "community.edit.return": "Return", "community.edit.return": "Zurück", @@ -1241,6 +1531,118 @@ // "community.edit.tabs.roles.title": "Community Edit - Roles", "community.edit.tabs.roles.title": "Bereich bearbeiten - Rollen", + // "community.edit.tabs.authorizations.head": "Authorizations", + // TODO New key - Add a translation + "community.edit.tabs.authorizations.head": "Authorizations", + + // "community.edit.tabs.authorizations.title": "Community Edit - Authorizations", + // TODO New key - Add a translation + "community.edit.tabs.authorizations.title": "Community Edit - Authorizations", + + + + // "community.listelement.badge": "Community", + // TODO New key - Add a translation + "community.listelement.badge": "Community", + + + + // "comcol-role.edit.no-group": "None", + // TODO New key - Add a translation + "comcol-role.edit.no-group": "None", + + // "comcol-role.edit.create": "Create", + // TODO New key - Add a translation + "comcol-role.edit.create": "Create", + + // "comcol-role.edit.restrict": "Restrict", + // TODO New key - Add a translation + "comcol-role.edit.restrict": "Restrict", + + // "comcol-role.edit.delete": "Delete", + // TODO New key - Add a translation + "comcol-role.edit.delete": "Delete", + + + // "comcol-role.edit.community-admin.name": "Administrators", + // TODO New key - Add a translation + "comcol-role.edit.community-admin.name": "Administrators", + + // "comcol-role.edit.collection-admin.name": "Administrators", + // TODO New key - Add a translation + "comcol-role.edit.collection-admin.name": "Administrators", + + + // "comcol-role.edit.community-admin.description": "Community administrators can create sub-communities or collections, and manage or assign management for those sub-communities or collections. In addition, they decide who can submit items to any sub-collections, edit item metadata (after submission), and add (map) existing items from other collections (subject to authorization).", + // TODO New key - Add a translation + "comcol-role.edit.community-admin.description": "Community administrators can create sub-communities or collections, and manage or assign management for those sub-communities or collections. In addition, they decide who can submit items to any sub-collections, edit item metadata (after submission), and add (map) existing items from other collections (subject to authorization).", + + // "comcol-role.edit.collection-admin.description": "Collection administrators decide who can submit items to the collection, edit item metadata (after submission), and add (map) existing items from other collections to this collection (subject to authorization for that collection).", + // TODO New key - Add a translation + "comcol-role.edit.collection-admin.description": "Collection administrators decide who can submit items to the collection, edit item metadata (after submission), and add (map) existing items from other collections to this collection (subject to authorization for that collection).", + + + // "comcol-role.edit.submitters.name": "Submitters", + // TODO New key - Add a translation + "comcol-role.edit.submitters.name": "Submitters", + + // "comcol-role.edit.submitters.description": "The E-People and Groups that have permission to submit new items to this collection.", + // TODO New key - Add a translation + "comcol-role.edit.submitters.description": "The E-People and Groups that have permission to submit new items to this collection.", + + + // "comcol-role.edit.item_read.name": "Default item read access", + // TODO New key - Add a translation + "comcol-role.edit.item_read.name": "Default item read access", + + // "comcol-role.edit.item_read.description": "E-People and Groups that can read new items submitted to this collection. Changes to this role are not retroactive. Existing items in the system will still be viewable by those who had read access at the time of their addition.", + // TODO New key - Add a translation + "comcol-role.edit.item_read.description": "E-People and Groups that can read new items submitted to this collection. Changes to this role are not retroactive. Existing items in the system will still be viewable by those who had read access at the time of their addition.", + + // "comcol-role.edit.item_read.anonymous-group": "Default read for incoming items is currently set to Anonymous.", + // TODO New key - Add a translation + "comcol-role.edit.item_read.anonymous-group": "Default read for incoming items is currently set to Anonymous.", + + + // "comcol-role.edit.bitstream_read.name": "Default bitstream read access", + // TODO New key - Add a translation + "comcol-role.edit.bitstream_read.name": "Default bitstream read access", + + // "comcol-role.edit.bitstream_read.description": "Community administrators can create sub-communities or collections, and manage or assign management for those sub-communities or collections. In addition, they decide who can submit items to any sub-collections, edit item metadata (after submission), and add (map) existing items from other collections (subject to authorization).", + // TODO New key - Add a translation + "comcol-role.edit.bitstream_read.description": "Community administrators can create sub-communities or collections, and manage or assign management for those sub-communities or collections. In addition, they decide who can submit items to any sub-collections, edit item metadata (after submission), and add (map) existing items from other collections (subject to authorization).", + + // "comcol-role.edit.bitstream_read.anonymous-group": "Default read for incoming bitstreams is currently set to Anonymous.", + // TODO New key - Add a translation + "comcol-role.edit.bitstream_read.anonymous-group": "Default read for incoming bitstreams is currently set to Anonymous.", + + + // "comcol-role.edit.editor.name": "Editors", + // TODO New key - Add a translation + "comcol-role.edit.editor.name": "Editors", + + // "comcol-role.edit.editor.description": "Editors are able to edit the metadata of incoming submissions, and then accept or reject them.", + // TODO New key - Add a translation + "comcol-role.edit.editor.description": "Editors are able to edit the metadata of incoming submissions, and then accept or reject them.", + + + // "comcol-role.edit.finaleditor.name": "Final editors", + // TODO New key - Add a translation + "comcol-role.edit.finaleditor.name": "Final editors", + + // "comcol-role.edit.finaleditor.description": "Final editors are able to edit the metadata of incoming submissions, but will not be able to reject them.", + // TODO New key - Add a translation + "comcol-role.edit.finaleditor.description": "Final editors are able to edit the metadata of incoming submissions, but will not be able to reject them.", + + + // "comcol-role.edit.reviewer.name": "Reviewers", + // TODO New key - Add a translation + "comcol-role.edit.reviewer.name": "Reviewers", + + // "comcol-role.edit.reviewer.description": "Reviewers are able to accept or reject incoming submissions. However, they are not able to edit the submission's metadata.", + // TODO New key - Add a translation + "comcol-role.edit.reviewer.description": "Reviewers are able to accept or reject incoming submissions. However, they are not able to edit the submission's metadata.", + // "community.form.abstract": "Short Description", @@ -1261,6 +1663,10 @@ // "community.form.title": "Name", "community.form.title": "Name", + // "community.page.edit": "Edit this community", + // TODO New key - Add a translation + "community.page.edit": "Edit this community", + // "community.page.handle": "Permanent URI for this community", "community.page.handle": "Dauerhafte URI für den Bereich", @@ -1281,9 +1687,187 @@ + // "cookies.consent.accept-all": "Accept all", + // TODO New key - Add a translation + "cookies.consent.accept-all": "Accept all", + + // "cookies.consent.accept-selected": "Accept selected", + // TODO New key - Add a translation + "cookies.consent.accept-selected": "Accept selected", + + // "cookies.consent.app.opt-out.description": "This app is loaded by default (but you can opt out)", + // TODO New key - Add a translation + "cookies.consent.app.opt-out.description": "This app is loaded by default (but you can opt out)", + + // "cookies.consent.app.opt-out.title": "(opt-out)", + // TODO New key - Add a translation + "cookies.consent.app.opt-out.title": "(opt-out)", + + // "cookies.consent.app.purpose": "purpose", + // TODO New key - Add a translation + "cookies.consent.app.purpose": "purpose", + + // "cookies.consent.app.required.description": "This application is always required", + // TODO New key - Add a translation + "cookies.consent.app.required.description": "This application is always required", + + // "cookies.consent.app.required.title": "(always required)", + // TODO New key - Add a translation + "cookies.consent.app.required.title": "(always required)", + + // "cookies.consent.update": "There were changes since your last visit, please update your consent.", + // TODO New key - Add a translation + "cookies.consent.update": "There were changes since your last visit, please update your consent.", + + // "cookies.consent.close": "Close", + // TODO New key - Add a translation + "cookies.consent.close": "Close", + + // "cookies.consent.decline": "Decline", + // TODO New key - Add a translation + "cookies.consent.decline": "Decline", + + // "cookies.consent.content-notice.description": "We collect and process your personal information for the following purposes: Authentication, Preferences, Acknowledgement and Statistics.
To learn more, please read our {privacyPolicy}.", + // TODO New key - Add a translation + "cookies.consent.content-notice.description": "We collect and process your personal information for the following purposes: Authentication, Preferences, Acknowledgement and Statistics.
To learn more, please read our {privacyPolicy}.", + + // "cookies.consent.content-notice.learnMore": "Customize", + // TODO New key - Add a translation + "cookies.consent.content-notice.learnMore": "Customize", + + // "cookies.consent.content-modal.description": "Here you can see and customize the information that we collect about you.", + // TODO New key - Add a translation + "cookies.consent.content-modal.description": "Here you can see and customize the information that we collect about you.", + + // "cookies.consent.content-modal.privacy-policy.name": "privacy policy", + // TODO New key - Add a translation + "cookies.consent.content-modal.privacy-policy.name": "privacy policy", + + // "cookies.consent.content-modal.privacy-policy.text": "To learn more, please read our {privacyPolicy}.", + // TODO New key - Add a translation + "cookies.consent.content-modal.privacy-policy.text": "To learn more, please read our {privacyPolicy}.", + + // "cookies.consent.content-modal.title": "Information that we collect", + // TODO New key - Add a translation + "cookies.consent.content-modal.title": "Information that we collect", + + + + // "cookies.consent.app.title.authentication": "Authentication", + // TODO New key - Add a translation + "cookies.consent.app.title.authentication": "Authentication", + + // "cookies.consent.app.description.authentication": "Required for signing you in", + // TODO New key - Add a translation + "cookies.consent.app.description.authentication": "Required for signing you in", + + + // "cookies.consent.app.title.preferences": "Preferences", + // TODO New key - Add a translation + "cookies.consent.app.title.preferences": "Preferences", + + // "cookies.consent.app.description.preferences": "Required for saving your preferences", + // TODO New key - Add a translation + "cookies.consent.app.description.preferences": "Required for saving your preferences", + + + + // "cookies.consent.app.title.acknowledgement": "Acknowledgement", + // TODO New key - Add a translation + "cookies.consent.app.title.acknowledgement": "Acknowledgement", + + // "cookies.consent.app.description.acknowledgement": "Required for saving your acknowledgements and consents", + // TODO New key - Add a translation + "cookies.consent.app.description.acknowledgement": "Required for saving your acknowledgements and consents", + + + + // "cookies.consent.app.title.google-analytics": "Google Analytics", + // TODO New key - Add a translation + "cookies.consent.app.title.google-analytics": "Google Analytics", + + // "cookies.consent.app.description.google-analytics": "Allows us to track statistical data", + // TODO New key - Add a translation + "cookies.consent.app.description.google-analytics": "Allows us to track statistical data", + + + + // "cookies.consent.purpose.functional": "Functional", + // TODO New key - Add a translation + "cookies.consent.purpose.functional": "Functional", + + // "cookies.consent.purpose.statistical": "Statistical", + // TODO New key - Add a translation + "cookies.consent.purpose.statistical": "Statistical", + + + // "curation-task.task.checklinks.label": "Check Links in Metadata", + // TODO New key - Add a translation + "curation-task.task.checklinks.label": "Check Links in Metadata", + + // "curation-task.task.noop.label": "NOOP", + // TODO New key - Add a translation + "curation-task.task.noop.label": "NOOP", + + // "curation-task.task.profileformats.label": "Profile Bitstream Formats", + // TODO New key - Add a translation + "curation-task.task.profileformats.label": "Profile Bitstream Formats", + + // "curation-task.task.requiredmetadata.label": "Check for Required Metadata", + // TODO New key - Add a translation + "curation-task.task.requiredmetadata.label": "Check for Required Metadata", + + // "curation-task.task.translate.label": "Microsoft Translator", + // TODO New key - Add a translation + "curation-task.task.translate.label": "Microsoft Translator", + + // "curation-task.task.vscan.label": "Virus Scan", + // TODO New key - Add a translation + "curation-task.task.vscan.label": "Virus Scan", + + + + // "curation.form.task-select.label": "Task:", + // TODO New key - Add a translation + "curation.form.task-select.label": "Task:", + + // "curation.form.submit": "Start", + // TODO New key - Add a translation + "curation.form.submit": "Start", + + // "curation.form.submit.success.head": "The curation task has been started successfully", + // TODO New key - Add a translation + "curation.form.submit.success.head": "The curation task has been started successfully", + + // "curation.form.submit.success.content": "You will be redirected to the corresponding process page.", + // TODO New key - Add a translation + "curation.form.submit.success.content": "You will be redirected to the corresponding process page.", + + // "curation.form.submit.error.head": "Running the curation task failed", + // TODO New key - Add a translation + "curation.form.submit.error.head": "Running the curation task failed", + + // "curation.form.submit.error.content": "An error occured when trying to start the curation task.", + // TODO New key - Add a translation + "curation.form.submit.error.content": "An error occured when trying to start the curation task.", + + // "curation.form.handle.label": "Handle:", + // TODO New key - Add a translation + "curation.form.handle.label": "Handle:", + + // "curation.form.handle.hint": "Hint: Enter [your-handle-prefix]/0 to run a task across entire site (not all tasks may support this capability)", + // TODO New key - Add a translation + "curation.form.handle.hint": "Hint: Enter [your-handle-prefix]/0 to run a task across entire site (not all tasks may support this capability)", + + + // "dso-selector.create.collection.head": "New collection", "dso-selector.create.collection.head": "Neue Sammlung", + // "dso-selector.create.collection.sub-level": "Create a new collection in", + // TODO New key - Add a translation + "dso-selector.create.collection.sub-level": "Create a new collection in", + // "dso-selector.create.community.head": "New community", "dso-selector.create.community.head": "Neuer Bereich", @@ -1296,6 +1880,14 @@ // "dso-selector.create.item.head": "New item", "dso-selector.create.item.head": "Neue Ressource", + // "dso-selector.create.item.sub-level": "Create a new item in", + // TODO New key - Add a translation + "dso-selector.create.item.sub-level": "Create a new item in", + + // "dso-selector.create.submission.head": "New submission", + // TODO New key - Add a translation + "dso-selector.create.submission.head": "New submission", + // "dso-selector.edit.collection.head": "Edit collection", "dso-selector.edit.collection.head": "Sammlung bearbeiten", @@ -1305,6 +1897,10 @@ // "dso-selector.edit.item.head": "Edit item", "dso-selector.edit.item.head": "Ressource bearbeiten", + // "dso-selector.export-metadata.dspaceobject.head": "Export metadata from", + // TODO New key - Add a translation + "dso-selector.export-metadata.dspaceobject.head": "Export metadata from", + // "dso-selector.no-results": "No {{ type }} found", "dso-selector.no-results": "Kein(e) {{ type }} gefunden", @@ -1313,6 +1909,39 @@ + // "confirmation-modal.export-metadata.header": "Export metadata for {{ dsoName }}", + // TODO New key - Add a translation + "confirmation-modal.export-metadata.header": "Export metadata for {{ dsoName }}", + + // "confirmation-modal.export-metadata.info": "Are you sure you want to export metadata for {{ dsoName }}", + // TODO New key - Add a translation + "confirmation-modal.export-metadata.info": "Are you sure you want to export metadata for {{ dsoName }}", + + // "confirmation-modal.export-metadata.cancel": "Cancel", + // TODO New key - Add a translation + "confirmation-modal.export-metadata.cancel": "Cancel", + + // "confirmation-modal.export-metadata.confirm": "Export", + // TODO New key - Add a translation + "confirmation-modal.export-metadata.confirm": "Export", + + // "confirmation-modal.delete-eperson.header": "Delete EPerson \"{{ dsoName }}\"", + // TODO New key - Add a translation + "confirmation-modal.delete-eperson.header": "Delete EPerson \"{{ dsoName }}\"", + + // "confirmation-modal.delete-eperson.info": "Are you sure you want to delete EPerson \"{{ dsoName }}\"", + // TODO New key - Add a translation + "confirmation-modal.delete-eperson.info": "Are you sure you want to delete EPerson \"{{ dsoName }}\"", + + // "confirmation-modal.delete-eperson.cancel": "Cancel", + // TODO New key - Add a translation + "confirmation-modal.delete-eperson.cancel": "Cancel", + + // "confirmation-modal.delete-eperson.confirm": "Delete", + // TODO New key - Add a translation + "confirmation-modal.delete-eperson.confirm": "Delete", + + // "error.bitstream": "Error fetching bitstream", // TODO New key - Add a translation "error.bitstream": "Error fetching bitstream", @@ -1373,6 +2002,12 @@ + // "file-section.error.header": "Error obtaining files for this item", + // TODO New key - Add a translation + "file-section.error.header": "Error obtaining files for this item", + + + // "footer.copyright": "copyright © 2002-{{ year }}", "footer.copyright": "Copyright © 2002-{{ year }}", @@ -1382,6 +2017,127 @@ // "footer.link.duraspace": "DuraSpace", "footer.link.duraspace": "DuraSpace", + // "footer.link.cookies": "Cookie settings", + // TODO New key - Add a translation + "footer.link.cookies": "Cookie settings", + + // "footer.link.privacy-policy": "Privacy policy", + // TODO New key - Add a translation + "footer.link.privacy-policy": "Privacy policy", + + // "footer.link.end-user-agreement":"End User Agreement", + // TODO New key - Add a translation + "footer.link.end-user-agreement":"End User Agreement", + + + + // "forgot-email.form.header": "Forgot Password", + // TODO New key - Add a translation + "forgot-email.form.header": "Forgot Password", + + // "forgot-email.form.info": "Enter Register an account to subscribe to collections for email updates, and submit new items to DSpace.", + // TODO New key - Add a translation + "forgot-email.form.info": "Enter Register an account to subscribe to collections for email updates, and submit new items to DSpace.", + + // "forgot-email.form.email": "Email Address *", + // TODO New key - Add a translation + "forgot-email.form.email": "Email Address *", + + // "forgot-email.form.email.error.required": "Please fill in an email address", + // TODO New key - Add a translation + "forgot-email.form.email.error.required": "Please fill in an email address", + + // "forgot-email.form.email.error.pattern": "Please fill in a valid email address", + // TODO New key - Add a translation + "forgot-email.form.email.error.pattern": "Please fill in a valid email address", + + // "forgot-email.form.email.hint": "This address will be verified and used as your login name.", + // TODO New key - Add a translation + "forgot-email.form.email.hint": "This address will be verified and used as your login name.", + + // "forgot-email.form.submit": "Submit", + // TODO New key - Add a translation + "forgot-email.form.submit": "Submit", + + // "forgot-email.form.success.head": "Verification email sent", + // TODO New key - Add a translation + "forgot-email.form.success.head": "Verification email sent", + + // "forgot-email.form.success.content": "An email has been sent to {{ email }} containing a special URL and further instructions.", + // TODO New key - Add a translation + "forgot-email.form.success.content": "An email has been sent to {{ email }} containing a special URL and further instructions.", + + // "forgot-email.form.error.head": "Error when trying to register email", + // TODO New key - Add a translation + "forgot-email.form.error.head": "Error when trying to register email", + + // "forgot-email.form.error.content": "An error occured when registering the following email address: {{ email }}", + // TODO New key - Add a translation + "forgot-email.form.error.content": "An error occured when registering the following email address: {{ email }}", + + + + // "forgot-password.title": "Forgot Password", + // TODO New key - Add a translation + "forgot-password.title": "Forgot Password", + + // "forgot-password.form.head": "Forgot Password", + // TODO New key - Add a translation + "forgot-password.form.head": "Forgot Password", + + // "forgot-password.form.info": "Enter a new password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", + // TODO New key - Add a translation + "forgot-password.form.info": "Enter a new password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", + + // "forgot-password.form.card.security": "Security", + // TODO New key - Add a translation + "forgot-password.form.card.security": "Security", + + // "forgot-password.form.identification.header": "Identify", + // TODO New key - Add a translation + "forgot-password.form.identification.header": "Identify", + + // "forgot-password.form.identification.email": "Email address: ", + // TODO New key - Add a translation + "forgot-password.form.identification.email": "Email address: ", + + // "forgot-password.form.label.password": "Password", + // TODO New key - Add a translation + "forgot-password.form.label.password": "Password", + + // "forgot-password.form.label.passwordrepeat": "Retype to confirm", + // TODO New key - Add a translation + "forgot-password.form.label.passwordrepeat": "Retype to confirm", + + // "forgot-password.form.error.empty-password": "Please enter a password in the box below.", + // TODO New key - Add a translation + "forgot-password.form.error.empty-password": "Please enter a password in the box below.", + + // "forgot-password.form.error.matching-passwords": "The passwords do not match.", + // TODO New key - Add a translation + "forgot-password.form.error.matching-passwords": "The passwords do not match.", + + // "forgot-password.form.error.password-length": "The password should be at least 6 characters long.", + // TODO New key - Add a translation + "forgot-password.form.error.password-length": "The password should be at least 6 characters long.", + + // "forgot-password.form.notification.error.title": "Error when trying to submit new password", + // TODO New key - Add a translation + "forgot-password.form.notification.error.title": "Error when trying to submit new password", + + // "forgot-password.form.notification.success.content": "The password reset was successful. You have been logged in as the created user.", + // TODO New key - Add a translation + "forgot-password.form.notification.success.content": "The password reset was successful. You have been logged in as the created user.", + + // "forgot-password.form.notification.success.title": "Password reset completed", + // TODO New key - Add a translation + "forgot-password.form.notification.success.title": "Password reset completed", + + // "forgot-password.form.submit": "Submit password", + // TODO New key - Add a translation + "forgot-password.form.submit": "Submit password", + + // "form.add": "Add", "form.add": "Hinzufügen", @@ -1452,7 +2208,8 @@ // "form.search": "Search", "form.search": "Suche", - // "form.search-help": "Click here to looking for an existing correspondence", + // "form.search-help": "Click here to look for an existing correspondence", + // TODO Source message changed - Revise the translation "form.search-help": "Klicken Sie hier, um eine Übereinstimmung zu suchen", // "form.submit": "Submit", @@ -1463,6 +2220,10 @@ // "home.description": "", "home.description": "", + // "home.breadcrumbs": "Home", + // TODO New key - Add a translation + "home.breadcrumbs": "Home", + // "home.title": "DSpace Angular :: Home", "home.title": "DSpace Angular :: Startseite", @@ -1474,6 +2235,81 @@ + // "info.end-user-agreement.accept": "I have read and I agree to the End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.accept": "I have read and I agree to the End User Agreement", + + // "info.end-user-agreement.accept.error": "An error occurred accepting the End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.accept.error": "An error occurred accepting the End User Agreement", + + // "info.end-user-agreement.accept.success": "Successfully updated the End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.accept.success": "Successfully updated the End User Agreement", + + // "info.end-user-agreement.breadcrumbs": "End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.breadcrumbs": "End User Agreement", + + // "info.end-user-agreement.buttons.cancel": "Cancel", + // TODO New key - Add a translation + "info.end-user-agreement.buttons.cancel": "Cancel", + + // "info.end-user-agreement.buttons.save": "Save", + // TODO New key - Add a translation + "info.end-user-agreement.buttons.save": "Save", + + // "info.end-user-agreement.head": "End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.head": "End User Agreement", + + // "info.end-user-agreement.title": "End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.title": "End User Agreement", + + // "info.privacy.breadcrumbs": "Privacy Statement", + // TODO New key - Add a translation + "info.privacy.breadcrumbs": "Privacy Statement", + + // "info.privacy.head": "Privacy Statement", + // TODO New key - Add a translation + "info.privacy.head": "Privacy Statement", + + // "info.privacy.title": "Privacy Statement", + // TODO New key - Add a translation + "info.privacy.title": "Privacy Statement", + + + + // "item.alerts.private": "This item is private", + // TODO New key - Add a translation + "item.alerts.private": "This item is private", + + // "item.alerts.withdrawn": "This item has been withdrawn", + // TODO New key - Add a translation + "item.alerts.withdrawn": "This item has been withdrawn", + + + + // "item.edit.authorizations.heading": "With this editor you can view and alter the policies of an item, plus alter policies of individual item components: bundles and bitstreams. Briefly, an item is a container of bundles, and bundles are containers of bitstreams. Containers usually have ADD/REMOVE/READ/WRITE policies, while bitstreams only have READ/WRITE policies.", + // TODO New key - Add a translation + "item.edit.authorizations.heading": "With this editor you can view and alter the policies of an item, plus alter policies of individual item components: bundles and bitstreams. Briefly, an item is a container of bundles, and bundles are containers of bitstreams. Containers usually have ADD/REMOVE/READ/WRITE policies, while bitstreams only have READ/WRITE policies.", + + // "item.edit.authorizations.title": "Edit item's Policies", + // TODO New key - Add a translation + "item.edit.authorizations.title": "Edit item's Policies", + + + + // "item.badge.private": "Private", + // TODO New key - Add a translation + "item.badge.private": "Private", + + // "item.badge.withdrawn": "Withdrawn", + // TODO New key - Add a translation + "item.badge.withdrawn": "Withdrawn", + + // "item.bitstreams.upload.bundle": "Bundle", // TODO New key - Add a translation @@ -1668,6 +2504,13 @@ "item.edit.breadcrumbs": "Ressource bearbeiten", + // "item.edit.tabs.mapper.head": "Collection Mapper", + // TODO New key - Add a translation + "item.edit.tabs.mapper.head": "Collection Mapper", + + // "item.edit.tabs.item-mapper.title": "Item Edit - Collection Mapper", + // TODO New key - Add a translation + "item.edit.tabs.item-mapper.title": "Item Edit - Collection Mapper", // "item.edit.item-mapper.buttons.add": "Map item to selected collections", "item.edit.item-mapper.buttons.add": "Ressource in die gewählte(n) Sammlung(en) spiegeln", @@ -1740,6 +2583,10 @@ // "item.edit.metadata.edit.buttons.unedit": "Stop editing", "item.edit.metadata.edit.buttons.unedit": "Bearbeitung beenden", + // "item.edit.metadata.empty": "The item currently doesn't contain any metadata. Click Add to start adding a metadata value.", + // TODO New key - Add a translation + "item.edit.metadata.empty": "The item currently doesn't contain any metadata. Click Add to start adding a metadata value.", + // "item.edit.metadata.headers.edit": "Edit", "item.edit.metadata.headers.edit": "Bearbeiten", @@ -1761,6 +2608,10 @@ // "item.edit.metadata.notifications.discarded.title": "Changed discarded", "item.edit.metadata.notifications.discarded.title": "Änderungen verworfen", + // "item.edit.metadata.notifications.error.title": "An error occurred", + // TODO New key - Add a translation + "item.edit.metadata.notifications.error.title": "An error occurred", + // "item.edit.metadata.notifications.invalid.content": "Your changes were not saved. Please make sure all fields are valid before you save.", "item.edit.metadata.notifications.invalid.content": "Ihre Änderungen wurden nicht gespeichert. Stellen Sie sicher, dass alle Felder gültig sind, bevor Sie Abspeichern.", @@ -1896,19 +2747,28 @@ // "item.edit.relationships.discard-button": "Discard", "item.edit.relationships.discard-button": "Abbrechen", + // "item.edit.relationships.edit.buttons.add": "Add", + // TODO New key - Add a translation + "item.edit.relationships.edit.buttons.add": "Add", + // "item.edit.relationships.edit.buttons.remove": "Remove", "item.edit.relationships.edit.buttons.remove": "Entfernen", // "item.edit.relationships.edit.buttons.undo": "Undo changes", "item.edit.relationships.edit.buttons.undo": "Rückgängig machen", + // "item.edit.relationships.no-relationships": "No relationships", + // TODO New key - Add a translation + "item.edit.relationships.no-relationships": "No relationships", + // "item.edit.relationships.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", "item.edit.relationships.notifications.discarded.content": "Ihre Änderungen wurden verworfen. Um sie dennoch anzuwenden klicken Sie auf den 'Rückgängig machen' Knopf", // "item.edit.relationships.notifications.discarded.title": "Changes discarded", "item.edit.relationships.notifications.discarded.title": "Änderungen verworfen", - // "item.edit.relationships.notifications.failed.title": "Error deleting relationship", + // "item.edit.relationships.notifications.failed.title": "Error editing relationships", + // TODO Source message changed - Revise the translation "item.edit.relationships.notifications.failed.title": "Fehler beim Löschen der Beziehung", // "item.edit.relationships.notifications.outdated.content": "The item you're currently working on has been changed by another user. Your current changes are discarded to prevent conflicts", @@ -1929,6 +2789,10 @@ // "item.edit.relationships.save-button": "Save", "item.edit.relationships.save-button": "Speichern", + // "item.edit.relationships.no-entity-type": "Add 'relationship.type' metadata to enable relationships for this item", + // TODO New key - Add a translation + "item.edit.relationships.no-entity-type": "Add 'relationship.type' metadata to enable relationships for this item", + // "item.edit.tabs.bitstreams.head": "Bitstreams", @@ -2068,6 +2932,48 @@ + // "item.listelement.badge": "Item", + // TODO New key - Add a translation + "item.listelement.badge": "Item", + + // "item.page.description": "Description", + // TODO New key - Add a translation + "item.page.description": "Description", + + // "item.page.edit": "Edit this item", + // TODO New key - Add a translation + "item.page.edit": "Edit this item", + + // "item.page.journal-issn": "Journal ISSN", + // TODO New key - Add a translation + "item.page.journal-issn": "Journal ISSN", + + // "item.page.journal-title": "Journal Title", + // TODO New key - Add a translation + "item.page.journal-title": "Journal Title", + + // "item.page.publisher": "Publisher", + // TODO New key - Add a translation + "item.page.publisher": "Publisher", + + // "item.page.titleprefix": "Item: ", + // TODO New key - Add a translation + "item.page.titleprefix": "Item: ", + + // "item.page.volume-title": "Volume Title", + // TODO New key - Add a translation + "item.page.volume-title": "Volume Title", + + // "item.search.results.head": "Item Search Results", + // TODO New key - Add a translation + "item.search.results.head": "Item Search Results", + + // "item.search.title": "DSpace Angular :: Item Search", + // TODO New key - Add a translation + "item.search.title": "DSpace Angular :: Item Search", + + + // "item.page.abstract": "Abstract", "item.page.abstract": "Zusammenfassung", @@ -2083,6 +2989,10 @@ // "item.page.date": "Date", "item.page.date": "Datum", + // "item.page.edit": "Edit this item", + // TODO New key - Add a translation + "item.page.edit": "Edit this item", + // "item.page.files": "Files", "item.page.files": "Dateien", @@ -2137,6 +3047,65 @@ // "item.page.uri": "URI", "item.page.uri": "URI", + // "item.page.bitstreams.view-more": "Show more", + // TODO New key - Add a translation + "item.page.bitstreams.view-more": "Show more", + + // "item.page.bitstreams.collapse": "Collapse", + // TODO New key - Add a translation + "item.page.bitstreams.collapse": "Collapse", + + // "item.page.filesection.original.bundle" : "Original bundle", + // TODO New key - Add a translation + "item.page.filesection.original.bundle" : "Original bundle", + + // "item.page.filesection.license.bundle" : "License bundle", + // TODO New key - Add a translation + "item.page.filesection.license.bundle" : "License bundle", + + // "item.preview.dc.identifier.uri": "Identifier:", + // TODO New key - Add a translation + "item.preview.dc.identifier.uri": "Identifier:", + + // "item.preview.dc.contributor.author": "Authors:", + // TODO New key - Add a translation + "item.preview.dc.contributor.author": "Authors:", + + // "item.preview.dc.date.issued": "Published date:", + // TODO New key - Add a translation + "item.preview.dc.date.issued": "Published date:", + + // "item.preview.dc.description.abstract": "Abstract:", + // TODO New key - Add a translation + "item.preview.dc.description.abstract": "Abstract:", + + // "item.preview.dc.identifier.other": "Other identifier:", + // TODO New key - Add a translation + "item.preview.dc.identifier.other": "Other identifier:", + + // "item.preview.dc.language.iso": "Language:", + // TODO New key - Add a translation + "item.preview.dc.language.iso": "Language:", + + // "item.preview.dc.subject": "Subjects:", + // TODO New key - Add a translation + "item.preview.dc.subject": "Subjects:", + + // "item.preview.dc.title": "Title:", + // TODO New key - Add a translation + "item.preview.dc.title": "Title:", + + // "item.preview.person.familyName": "Surname:", + // TODO New key - Add a translation + "item.preview.person.familyName": "Surname:", + + // "item.preview.person.givenName": "Name:", + // TODO New key - Add a translation + "item.preview.person.givenName": "Name:", + + // "item.preview.person.identifier.orcid": "ORCID:", + // TODO New key - Add a translation + "item.preview.person.identifier.orcid": "ORCID:", // "item.select.confirm": "Confirm selected", @@ -2205,6 +3174,10 @@ // "journal.page.description": "Description", "journal.page.description": "Beschreibung", + // "journal.page.edit": "Edit this item", + // TODO New key - Add a translation + "journal.page.edit": "Edit this item", + // "journal.page.editor": "Editor-in-Chief", "journal.page.editor": "Chefredakteur", @@ -2231,6 +3204,10 @@ // "journalissue.page.description": "Description", "journalissue.page.description": "Beschreibeung", + // "journalissue.page.edit": "Edit this item", + // TODO New key - Add a translation + "journalissue.page.edit": "Edit this item", + // "journalissue.page.issuedate": "Issue Date", "journalissue.page.issuedate": "Erscheinungsdatum", @@ -2257,6 +3234,10 @@ // "journalvolume.page.description": "Description", "journalvolume.page.description": "Beschreibung", + // "journalvolume.page.edit": "Edit this item", + // TODO New key - Add a translation + "journalvolume.page.edit": "Edit this item", + // "journalvolume.page.issuedate": "Issue Date", "journalvolume.page.issuedate": "Erscheinungsdatum", @@ -2270,11 +3251,11 @@ // "loading.bitstream": "Loading bitstream...", // TODO New key - Add a translation - "loading.bitstream": "Lade Bitstream...", + "loading.bitstream": "Loading bitstream...", // "loading.bitstreams": "Loading bitstreams...", // TODO New key - Add a translation - "loading.bitstreams": "Lade Bitstreams...", + "loading.bitstreams": "Loading bitstreams...", // "loading.browse-by": "Loading items...", "loading.browse-by": "Lade Ressourcen...", @@ -2499,6 +3480,10 @@ // "menu.section.icon.pin": "Pin sidebar", "menu.section.icon.pin": "Seitenleiste Anheften", + // "menu.section.icon.processes": "Processes menu section", + // TODO New key - Add a translation + "menu.section.icon.processes": "Processes menu section", + // "menu.section.icon.registries": "Registries menu section", "menu.section.icon.registries": "Menübereich Referenzlisten", @@ -2536,6 +3521,10 @@ // "menu.section.new_item_version": "Item Version", "menu.section.new_item_version": "Ressourcenversion", + // "menu.section.new_process": "Process", + // TODO New key - Add a translation + "menu.section.new_process": "Process", + // "menu.section.pin": "Pin sidebar", @@ -2546,6 +3535,12 @@ + // "menu.section.processes": "Processes", + // TODO New key - Add a translation + "menu.section.processes": "Processes", + + + // "menu.section.registries": "Registries", "menu.section.registries": "Referenzlisten", @@ -2596,11 +3591,16 @@ "menu.section.toggle.statistics_task": "Bereich Statistikaufgaben umschalten", + // "menu.section.workflow": "Administer Workflow", + // TODO New key - Add a translation + "menu.section.workflow": "Administer Workflow", + // "mydspace.description": "", "mydspace.description": "", - // "mydspace.general.text-here": "HERE", + // "mydspace.general.text-here": "here", + // TODO Source message changed - Revise the translation "mydspace.general.text-here": "Hier", // "mydspace.messages.controller-help": "Select this option to send a message to item's submitter.", @@ -2645,6 +3645,14 @@ // "mydspace.new-submission": "New submission", "mydspace.new-submission": "Neue Veröffentlichung", + // "mydspace.new-submission-external": "Import metadata from external source", + // TODO New key - Add a translation + "mydspace.new-submission-external": "Import metadata from external source", + + // "mydspace.new-submission-external-short": "Import metadata", + // TODO New key - Add a translation + "mydspace.new-submission-external-short": "Import metadata", + // "mydspace.results.head": "Your submissions", "mydspace.results.head": "Ihre Veröffentlichungen", @@ -2699,6 +3707,14 @@ // "mydspace.upload.upload-failed": "Error creating new workspace. Please verify the content uploaded before retry.", "mydspace.upload.upload-failed": "Fehler beim Anlegen eines neuen Arbeitsbereiches. Bitte überprüfen Sie den Inhalt bevor Sie es nochmal versuchen.", + // "mydspace.upload.upload-failed-manyentries": "Unprocessable file. Detected too many entries but allowed only one for file.", + // TODO New key - Add a translation + "mydspace.upload.upload-failed-manyentries": "Unprocessable file. Detected too many entries but allowed only one for file.", + + // "mydspace.upload.upload-failed-moreonefile": "Unprocessable request. Only one file is allowed.", + // TODO New key - Add a translation + "mydspace.upload.upload-failed-moreonefile": "Unprocessable request. Only one file is allowed.", + // "mydspace.upload.upload-multiple-successful": "{{qty}} new workspace items created.", "mydspace.upload.upload-multiple-successful": "{{qty}} neue(s) Arbeitsbereichressource(n) angelegt.", @@ -2737,6 +3753,10 @@ // "nav.statistics.header": "Statistics", "nav.statistics.header": "Statistiken", + // "nav.stop-impersonating": "Stop impersonating EPerson", + // TODO New key - Add a translation + "nav.stop-impersonating": "Stop impersonating EPerson", + // "orgunit.listelement.badge": "Organizational Unit", @@ -2754,6 +3774,10 @@ // "orgunit.page.description": "Description", "orgunit.page.description": "Beschreibung", + // "orgunit.page.edit": "Edit this item", + // TODO New key - Add a translation + "orgunit.page.edit": "Edit this item", + // "orgunit.page.id": "ID", "orgunit.page.id": "ID", @@ -2779,9 +3803,17 @@ // "person.listelement.badge": "Person", "person.listelement.badge": "Person", + // "person.listelement.no-title": "No name found", + // TODO New key - Add a translation + "person.listelement.no-title": "No name found", + // "person.page.birthdate": "Birth Date", "person.page.birthdate": "Geburtsdatum", + // "person.page.edit": "Edit this item", + // TODO New key - Add a translation + "person.page.edit": "Edit this item", + // "person.page.email": "Email Address", "person.page.email": "E-Mail-Adresse", @@ -2814,6 +3846,183 @@ + // "process.new.select-parameters": "Parameters", + // TODO New key - Add a translation + "process.new.select-parameters": "Parameters", + + // "process.new.cancel": "Cancel", + // TODO New key - Add a translation + "process.new.cancel": "Cancel", + + // "process.new.submit": "Submit", + // TODO New key - Add a translation + "process.new.submit": "Submit", + + // "process.new.select-script": "Script", + // TODO New key - Add a translation + "process.new.select-script": "Script", + + // "process.new.select-script.placeholder": "Choose a script...", + // TODO New key - Add a translation + "process.new.select-script.placeholder": "Choose a script...", + + // "process.new.select-script.required": "Script is required", + // TODO New key - Add a translation + "process.new.select-script.required": "Script is required", + + // "process.new.parameter.file.upload-button": "Select file...", + // TODO New key - Add a translation + "process.new.parameter.file.upload-button": "Select file...", + + // "process.new.parameter.file.required": "Please select a file", + // TODO New key - Add a translation + "process.new.parameter.file.required": "Please select a file", + + // "process.new.parameter.string.required": "Parameter value is required", + // TODO New key - Add a translation + "process.new.parameter.string.required": "Parameter value is required", + + // "process.new.parameter.type.value": "value", + // TODO New key - Add a translation + "process.new.parameter.type.value": "value", + + // "process.new.parameter.type.file": "file", + // TODO New key - Add a translation + "process.new.parameter.type.file": "file", + + // "process.new.parameter.required.missing": "The following parameters are required but still missing:", + // TODO New key - Add a translation + "process.new.parameter.required.missing": "The following parameters are required but still missing:", + + // "process.new.notification.success.title": "Success", + // TODO New key - Add a translation + "process.new.notification.success.title": "Success", + + // "process.new.notification.success.content": "The process was successfully created", + // TODO New key - Add a translation + "process.new.notification.success.content": "The process was successfully created", + + // "process.new.notification.error.title": "Error", + // TODO New key - Add a translation + "process.new.notification.error.title": "Error", + + // "process.new.notification.error.content": "An error occurred while creating this process", + // TODO New key - Add a translation + "process.new.notification.error.content": "An error occurred while creating this process", + + // "process.new.header": "Create a new process", + // TODO New key - Add a translation + "process.new.header": "Create a new process", + + // "process.new.title": "Create a new process", + // TODO New key - Add a translation + "process.new.title": "Create a new process", + + // "process.new.breadcrumbs": "Create a new process", + // TODO New key - Add a translation + "process.new.breadcrumbs": "Create a new process", + + + + // "process.detail.arguments" : "Arguments", + // TODO New key - Add a translation + "process.detail.arguments" : "Arguments", + + // "process.detail.arguments.empty" : "This process doesn't contain any arguments", + // TODO New key - Add a translation + "process.detail.arguments.empty" : "This process doesn't contain any arguments", + + // "process.detail.back" : "Back", + // TODO New key - Add a translation + "process.detail.back" : "Back", + + // "process.detail.output" : "Process Output", + // TODO New key - Add a translation + "process.detail.output" : "Process Output", + + // "process.detail.logs.button": "Retrieve process output", + // TODO New key - Add a translation + "process.detail.logs.button": "Retrieve process output", + + // "process.detail.logs.loading": "Retrieving", + // TODO New key - Add a translation + "process.detail.logs.loading": "Retrieving", + + // "process.detail.logs.none": "This process has no output", + // TODO New key - Add a translation + "process.detail.logs.none": "This process has no output", + + // "process.detail.output-files" : "Output Files", + // TODO New key - Add a translation + "process.detail.output-files" : "Output Files", + + // "process.detail.output-files.empty" : "This process doesn't contain any output files", + // TODO New key - Add a translation + "process.detail.output-files.empty" : "This process doesn't contain any output files", + + // "process.detail.script" : "Script", + // TODO New key - Add a translation + "process.detail.script" : "Script", + + // "process.detail.title" : "Process: {{ id }} - {{ name }}", + // TODO New key - Add a translation + "process.detail.title" : "Process: {{ id }} - {{ name }}", + + // "process.detail.start-time" : "Start time", + // TODO New key - Add a translation + "process.detail.start-time" : "Start time", + + // "process.detail.end-time" : "Finish time", + // TODO New key - Add a translation + "process.detail.end-time" : "Finish time", + + // "process.detail.status" : "Status", + // TODO New key - Add a translation + "process.detail.status" : "Status", + + // "process.detail.create" : "Create similar process", + // TODO New key - Add a translation + "process.detail.create" : "Create similar process", + + + + // "process.overview.table.finish" : "Finish time", + // TODO New key - Add a translation + "process.overview.table.finish" : "Finish time", + + // "process.overview.table.id" : "Process ID", + // TODO New key - Add a translation + "process.overview.table.id" : "Process ID", + + // "process.overview.table.name" : "Name", + // TODO New key - Add a translation + "process.overview.table.name" : "Name", + + // "process.overview.table.start" : "Start time", + // TODO New key - Add a translation + "process.overview.table.start" : "Start time", + + // "process.overview.table.status" : "Status", + // TODO New key - Add a translation + "process.overview.table.status" : "Status", + + // "process.overview.table.user" : "User", + // TODO New key - Add a translation + "process.overview.table.user" : "User", + + // "process.overview.title": "Processes Overview", + // TODO New key - Add a translation + "process.overview.title": "Processes Overview", + + // "process.overview.breadcrumbs": "Processes Overview", + // TODO New key - Add a translation + "process.overview.breadcrumbs": "Processes Overview", + + // "process.overview.new": "New", + // TODO New key - Add a translation + "process.overview.new": "New", + + // "profile.breadcrumbs": "Update Profile", // TODO New key - Add a translation "profile.breadcrumbs": "Update Profile", @@ -2930,6 +4139,10 @@ // "project.page.description": "Description", "project.page.description": "Beschreibung", + // "project.page.edit": "Edit this item", + // TODO New key - Add a translation + "project.page.edit": "Edit this item", + // "project.page.expectedcompletion": "Expected Completion", "project.page.expectedcompletion": "Erwartetes Abschlussdatum", @@ -2959,6 +4172,10 @@ // "publication.page.description": "Description", "publication.page.description": "Beschreibung", + // "publication.page.edit": "Edit this item", + // TODO New key - Add a translation + "publication.page.edit": "Edit this item", + // "publication.page.journal-issn": "Journal ISSN", "publication.page.journal-issn": "Zeitschrift ISSN", @@ -2981,10 +4198,164 @@ "publication.search.title": "DSpace Angular :: Publikationssuche", + // "register-email.title": "New user registration", + // TODO New key - Add a translation + "register-email.title": "New user registration", + + // "register-page.create-profile.header": "Create Profile", + // TODO New key - Add a translation + "register-page.create-profile.header": "Create Profile", + + // "register-page.create-profile.identification.header": "Identify", + // TODO New key - Add a translation + "register-page.create-profile.identification.header": "Identify", + + // "register-page.create-profile.identification.email": "Email Address", + // TODO New key - Add a translation + "register-page.create-profile.identification.email": "Email Address", + + // "register-page.create-profile.identification.first-name": "First Name *", + // TODO New key - Add a translation + "register-page.create-profile.identification.first-name": "First Name *", + + // "register-page.create-profile.identification.first-name.error": "Please fill in a First Name", + // TODO New key - Add a translation + "register-page.create-profile.identification.first-name.error": "Please fill in a First Name", + + // "register-page.create-profile.identification.last-name": "Last Name *", + // TODO New key - Add a translation + "register-page.create-profile.identification.last-name": "Last Name *", + + // "register-page.create-profile.identification.last-name.error": "Please fill in a Last Name", + // TODO New key - Add a translation + "register-page.create-profile.identification.last-name.error": "Please fill in a Last Name", + + // "register-page.create-profile.identification.contact": "Contact Telephone", + // TODO New key - Add a translation + "register-page.create-profile.identification.contact": "Contact Telephone", + + // "register-page.create-profile.identification.language": "Language", + // TODO New key - Add a translation + "register-page.create-profile.identification.language": "Language", + + // "register-page.create-profile.security.header": "Security", + // TODO New key - Add a translation + "register-page.create-profile.security.header": "Security", + + // "register-page.create-profile.security.info": "Please enter a password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", + // TODO New key - Add a translation + "register-page.create-profile.security.info": "Please enter a password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", + + // "register-page.create-profile.security.label.password": "Password *", + // TODO New key - Add a translation + "register-page.create-profile.security.label.password": "Password *", + + // "register-page.create-profile.security.label.passwordrepeat": "Retype to confirm *", + // TODO New key - Add a translation + "register-page.create-profile.security.label.passwordrepeat": "Retype to confirm *", + + // "register-page.create-profile.security.error.empty-password": "Please enter a password in the box below.", + // TODO New key - Add a translation + "register-page.create-profile.security.error.empty-password": "Please enter a password in the box below.", + + // "register-page.create-profile.security.error.matching-passwords": "The passwords do not match.", + // TODO New key - Add a translation + "register-page.create-profile.security.error.matching-passwords": "The passwords do not match.", + + // "register-page.create-profile.security.error.password-length": "The password should be at least 6 characters long.", + // TODO New key - Add a translation + "register-page.create-profile.security.error.password-length": "The password should be at least 6 characters long.", + + // "register-page.create-profile.submit": "Complete Registration", + // TODO New key - Add a translation + "register-page.create-profile.submit": "Complete Registration", + + // "register-page.create-profile.submit.error.content": "Something went wrong while registering a new user.", + // TODO New key - Add a translation + "register-page.create-profile.submit.error.content": "Something went wrong while registering a new user.", + + // "register-page.create-profile.submit.error.head": "Registration failed", + // TODO New key - Add a translation + "register-page.create-profile.submit.error.head": "Registration failed", + + // "register-page.create-profile.submit.success.content": "The registration was successful. You have been logged in as the created user.", + // TODO New key - Add a translation + "register-page.create-profile.submit.success.content": "The registration was successful. You have been logged in as the created user.", + + // "register-page.create-profile.submit.success.head": "Registration completed", + // TODO New key - Add a translation + "register-page.create-profile.submit.success.head": "Registration completed", + + + // "register-page.registration.header": "New user registration", + // TODO New key - Add a translation + "register-page.registration.header": "New user registration", + + // "register-page.registration.info": "Register an account to subscribe to collections for email updates, and submit new items to DSpace.", + // TODO New key - Add a translation + "register-page.registration.info": "Register an account to subscribe to collections for email updates, and submit new items to DSpace.", + + // "register-page.registration.email": "Email Address *", + // TODO New key - Add a translation + "register-page.registration.email": "Email Address *", + + // "register-page.registration.email.error.required": "Please fill in an email address", + // TODO New key - Add a translation + "register-page.registration.email.error.required": "Please fill in an email address", + + // "register-page.registration.email.error.pattern": "Please fill in a valid email address", + // TODO New key - Add a translation + "register-page.registration.email.error.pattern": "Please fill in a valid email address", + + // "register-page.registration.email.hint": "This address will be verified and used as your login name.", + // TODO New key - Add a translation + "register-page.registration.email.hint": "This address will be verified and used as your login name.", + + // "register-page.registration.submit": "Register", + // TODO New key - Add a translation + "register-page.registration.submit": "Register", + + // "register-page.registration.success.head": "Verification email sent", + // TODO New key - Add a translation + "register-page.registration.success.head": "Verification email sent", + + // "register-page.registration.success.content": "An email has been sent to {{ email }} containing a special URL and further instructions.", + // TODO New key - Add a translation + "register-page.registration.success.content": "An email has been sent to {{ email }} containing a special URL and further instructions.", + + // "register-page.registration.error.head": "Error when trying to register email", + // TODO New key - Add a translation + "register-page.registration.error.head": "Error when trying to register email", + + // "register-page.registration.error.content": "An error occured when registering the following email address: {{ email }}", + // TODO New key - Add a translation + "register-page.registration.error.content": "An error occured when registering the following email address: {{ email }}", + + + + // "relationships.add.error.relationship-type.content": "No suitable match could be found for relationship type {{ type }} between the two items", + // TODO New key - Add a translation + "relationships.add.error.relationship-type.content": "No suitable match could be found for relationship type {{ type }} between the two items", + + // "relationships.add.error.server.content": "The server returned an error", + // TODO New key - Add a translation + "relationships.add.error.server.content": "The server returned an error", + + // "relationships.add.error.title": "Unable to add relationship", + // TODO New key - Add a translation + "relationships.add.error.title": "Unable to add relationship", // "relationships.isAuthorOf": "Authors", "relationships.isAuthorOf": "AutorInnen", + // "relationships.isAuthorOf.Person": "Authors (persons)", + // TODO New key - Add a translation + "relationships.isAuthorOf.Person": "Authors (persons)", + + // "relationships.isAuthorOf.OrgUnit": "Authors (organizational units)", + // TODO New key - Add a translation + "relationships.isAuthorOf.OrgUnit": "Authors (organizational units)", + // "relationships.isIssueOf": "Journal Issues", "relationships.isIssueOf": "Zeitschriftenausgaben", @@ -3023,6 +4394,208 @@ + // "resource-policies.add.button": "Add", + // TODO New key - Add a translation + "resource-policies.add.button": "Add", + + // "resource-policies.add.for.": "Add a new policy", + // TODO New key - Add a translation + "resource-policies.add.for.": "Add a new policy", + + // "resource-policies.add.for.bitstream": "Add a new Bitstream policy", + // TODO New key - Add a translation + "resource-policies.add.for.bitstream": "Add a new Bitstream policy", + + // "resource-policies.add.for.bundle": "Add a new Bundle policy", + // TODO New key - Add a translation + "resource-policies.add.for.bundle": "Add a new Bundle policy", + + // "resource-policies.add.for.item": "Add a new Item policy", + // TODO New key - Add a translation + "resource-policies.add.for.item": "Add a new Item policy", + + // "resource-policies.add.for.community": "Add a new Community policy", + // TODO New key - Add a translation + "resource-policies.add.for.community": "Add a new Community policy", + + // "resource-policies.add.for.collection": "Add a new Collection policy", + // TODO New key - Add a translation + "resource-policies.add.for.collection": "Add a new Collection policy", + + // "resource-policies.create.page.heading": "Create new resource policy for ", + // TODO New key - Add a translation + "resource-policies.create.page.heading": "Create new resource policy for ", + + // "resource-policies.create.page.failure.content": "An error occurred while creating the resource policy.", + // TODO New key - Add a translation + "resource-policies.create.page.failure.content": "An error occurred while creating the resource policy.", + + // "resource-policies.create.page.success.content": "Operation successful", + // TODO New key - Add a translation + "resource-policies.create.page.success.content": "Operation successful", + + // "resource-policies.create.page.title": "Create new resource policy", + // TODO New key - Add a translation + "resource-policies.create.page.title": "Create new resource policy", + + // "resource-policies.delete.btn": "Delete selected", + // TODO New key - Add a translation + "resource-policies.delete.btn": "Delete selected", + + // "resource-policies.delete.btn.title": "Delete selected resource policies", + // TODO New key - Add a translation + "resource-policies.delete.btn.title": "Delete selected resource policies", + + // "resource-policies.delete.failure.content": "An error occurred while deleting selected resource policies.", + // TODO New key - Add a translation + "resource-policies.delete.failure.content": "An error occurred while deleting selected resource policies.", + + // "resource-policies.delete.success.content": "Operation successful", + // TODO New key - Add a translation + "resource-policies.delete.success.content": "Operation successful", + + // "resource-policies.edit.page.heading": "Edit resource policy ", + // TODO New key - Add a translation + "resource-policies.edit.page.heading": "Edit resource policy ", + + // "resource-policies.edit.page.failure.content": "An error occurred while editing the resource policy.", + // TODO New key - Add a translation + "resource-policies.edit.page.failure.content": "An error occurred while editing the resource policy.", + + // "resource-policies.edit.page.success.content": "Operation successful", + // TODO New key - Add a translation + "resource-policies.edit.page.success.content": "Operation successful", + + // "resource-policies.edit.page.title": "Edit resource policy", + // TODO New key - Add a translation + "resource-policies.edit.page.title": "Edit resource policy", + + // "resource-policies.form.action-type.label": "Select the action type", + // TODO New key - Add a translation + "resource-policies.form.action-type.label": "Select the action type", + + // "resource-policies.form.action-type.required": "You must select the resource policy action.", + // TODO New key - Add a translation + "resource-policies.form.action-type.required": "You must select the resource policy action.", + + // "resource-policies.form.eperson-group-list.label": "The eperson or group that will be granted the permission", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.label": "The eperson or group that will be granted the permission", + + // "resource-policies.form.eperson-group-list.select.btn": "Select", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.select.btn": "Select", + + // "resource-policies.form.eperson-group-list.tab.eperson": "Search for a ePerson", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.tab.eperson": "Search for a ePerson", + + // "resource-policies.form.eperson-group-list.tab.group": "Search for a group", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.tab.group": "Search for a group", + + // "resource-policies.form.eperson-group-list.table.headers.action": "Action", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.table.headers.action": "Action", + + // "resource-policies.form.eperson-group-list.table.headers.id": "ID", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.table.headers.id": "ID", + + // "resource-policies.form.eperson-group-list.table.headers.name": "Name", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.table.headers.name": "Name", + + // "resource-policies.form.date.end.label": "End Date", + // TODO New key - Add a translation + "resource-policies.form.date.end.label": "End Date", + + // "resource-policies.form.date.start.label": "Start Date", + // TODO New key - Add a translation + "resource-policies.form.date.start.label": "Start Date", + + // "resource-policies.form.description.label": "Description", + // TODO New key - Add a translation + "resource-policies.form.description.label": "Description", + + // "resource-policies.form.name.label": "Name", + // TODO New key - Add a translation + "resource-policies.form.name.label": "Name", + + // "resource-policies.form.policy-type.label": "Select the policy type", + // TODO New key - Add a translation + "resource-policies.form.policy-type.label": "Select the policy type", + + // "resource-policies.form.policy-type.required": "You must select the resource policy type.", + // TODO New key - Add a translation + "resource-policies.form.policy-type.required": "You must select the resource policy type.", + + // "resource-policies.table.headers.action": "Action", + // TODO New key - Add a translation + "resource-policies.table.headers.action": "Action", + + // "resource-policies.table.headers.date.end": "End Date", + // TODO New key - Add a translation + "resource-policies.table.headers.date.end": "End Date", + + // "resource-policies.table.headers.date.start": "Start Date", + // TODO New key - Add a translation + "resource-policies.table.headers.date.start": "Start Date", + + // "resource-policies.table.headers.edit": "Edit", + // TODO New key - Add a translation + "resource-policies.table.headers.edit": "Edit", + + // "resource-policies.table.headers.edit.group": "Edit group", + // TODO New key - Add a translation + "resource-policies.table.headers.edit.group": "Edit group", + + // "resource-policies.table.headers.edit.policy": "Edit policy", + // TODO New key - Add a translation + "resource-policies.table.headers.edit.policy": "Edit policy", + + // "resource-policies.table.headers.eperson": "EPerson", + // TODO New key - Add a translation + "resource-policies.table.headers.eperson": "EPerson", + + // "resource-policies.table.headers.group": "Group", + // TODO New key - Add a translation + "resource-policies.table.headers.group": "Group", + + // "resource-policies.table.headers.id": "ID", + // TODO New key - Add a translation + "resource-policies.table.headers.id": "ID", + + // "resource-policies.table.headers.name": "Name", + // TODO New key - Add a translation + "resource-policies.table.headers.name": "Name", + + // "resource-policies.table.headers.policyType": "type", + // TODO New key - Add a translation + "resource-policies.table.headers.policyType": "type", + + // "resource-policies.table.headers.title.for.bitstream": "Policies for Bitstream", + // TODO New key - Add a translation + "resource-policies.table.headers.title.for.bitstream": "Policies for Bitstream", + + // "resource-policies.table.headers.title.for.bundle": "Policies for Bundle", + // TODO New key - Add a translation + "resource-policies.table.headers.title.for.bundle": "Policies for Bundle", + + // "resource-policies.table.headers.title.for.item": "Policies for Item", + // TODO New key - Add a translation + "resource-policies.table.headers.title.for.item": "Policies for Item", + + // "resource-policies.table.headers.title.for.community": "Policies for Community", + // TODO New key - Add a translation + "resource-policies.table.headers.title.for.community": "Policies for Community", + + // "resource-policies.table.headers.title.for.collection": "Policies for Collection", + // TODO New key - Add a translation + "resource-policies.table.headers.title.for.collection": "Policies for Collection", + + + // "search.description": "", "search.description": "", @@ -3323,6 +4896,14 @@ + // "sorting.ASC": "Ascending", + // TODO New key - Add a translation + "sorting.ASC": "Ascending", + + // "sorting.DESC": "Descending", + // TODO New key - Add a translation + "sorting.DESC": "Descending", + // "sorting.dc.title.ASC": "Title Ascending", "sorting.dc.title.ASC": "Titel aufsteigend", @@ -3334,6 +4915,52 @@ + // "statistics.title": "Statistics", + // TODO New key - Add a translation + "statistics.title": "Statistics", + + // "statistics.header": "Statistics for {{ scope }}", + // TODO New key - Add a translation + "statistics.header": "Statistics for {{ scope }}", + + // "statistics.breadcrumbs": "Statistics", + // TODO New key - Add a translation + "statistics.breadcrumbs": "Statistics", + + // "statistics.page.no-data": "No data available", + // TODO New key - Add a translation + "statistics.page.no-data": "No data available", + + // "statistics.table.no-data": "No data available", + // TODO New key - Add a translation + "statistics.table.no-data": "No data available", + + // "statistics.table.title.TotalVisits": "Total visits", + // TODO New key - Add a translation + "statistics.table.title.TotalVisits": "Total visits", + + // "statistics.table.title.TotalVisitsPerMonth": "Total visits per month", + // TODO New key - Add a translation + "statistics.table.title.TotalVisitsPerMonth": "Total visits per month", + + // "statistics.table.title.TotalDownloads": "File Visits", + // TODO New key - Add a translation + "statistics.table.title.TotalDownloads": "File Visits", + + // "statistics.table.title.TopCountries": "Top country views", + // TODO New key - Add a translation + "statistics.table.title.TopCountries": "Top country views", + + // "statistics.table.title.TopCities": "Top city views", + // TODO New key - Add a translation + "statistics.table.title.TopCities": "Top city views", + + // "statistics.table.header.views": "Views", + // TODO New key - Add a translation + "statistics.table.header.views": "Views", + + + // "submission.edit.title": "Edit Submission", "submission.edit.title": "Einreichung bearbeiten", @@ -3365,6 +4992,85 @@ "submission.general.save-later": "Für später speichern", + // "submission.import-external.page.title": "Import metadata from an external source", + // TODO New key - Add a translation + "submission.import-external.page.title": "Import metadata from an external source", + + // "submission.import-external.title": "Import metadata from an external source", + // TODO New key - Add a translation + "submission.import-external.title": "Import metadata from an external source", + + // "submission.import-external.page.hint": "Enter a query above to find items from the web to import in to DSpace.", + // TODO New key - Add a translation + "submission.import-external.page.hint": "Enter a query above to find items from the web to import in to DSpace.", + + // "submission.import-external.back-to-my-dspace": "Back to MyDSpace", + // TODO New key - Add a translation + "submission.import-external.back-to-my-dspace": "Back to MyDSpace", + + // "submission.import-external.search.placeholder": "Search the external source", + // TODO New key - Add a translation + "submission.import-external.search.placeholder": "Search the external source", + + // "submission.import-external.search.button": "Search", + // TODO New key - Add a translation + "submission.import-external.search.button": "Search", + + // "submission.import-external.search.button.hint": "Write some words to search", + // TODO New key - Add a translation + "submission.import-external.search.button.hint": "Write some words to search", + + // "submission.import-external.search.source.hint": "Pick an external source", + // TODO New key - Add a translation + "submission.import-external.search.source.hint": "Pick an external source", + + // "submission.import-external.source.arxiv": "arXiv", + // TODO New key - Add a translation + "submission.import-external.source.arxiv": "arXiv", + + // "submission.import-external.source.loading": "Loading ...", + // TODO New key - Add a translation + "submission.import-external.source.loading": "Loading ...", + + // "submission.import-external.source.sherpaJournal": "SHERPA Journals", + // TODO New key - Add a translation + "submission.import-external.source.sherpaJournal": "SHERPA Journals", + + // "submission.import-external.source.sherpaPublisher": "SHERPA Publishers", + // TODO New key - Add a translation + "submission.import-external.source.sherpaPublisher": "SHERPA Publishers", + + // "submission.import-external.source.orcid": "ORCID", + // TODO New key - Add a translation + "submission.import-external.source.orcid": "ORCID", + + // "submission.import-external.source.pubmed": "Pubmed", + // TODO New key - Add a translation + "submission.import-external.source.pubmed": "Pubmed", + + // "submission.import-external.source.lcname": "Library of Congress Names", + // TODO New key - Add a translation + "submission.import-external.source.lcname": "Library of Congress Names", + + // "submission.import-external.preview.title": "Item Preview", + // TODO New key - Add a translation + "submission.import-external.preview.title": "Item Preview", + + // "submission.import-external.preview.subtitle": "The metadata below was imported from an external source. It will be pre-filled when you start the submission.", + // TODO New key - Add a translation + "submission.import-external.preview.subtitle": "The metadata below was imported from an external source. It will be pre-filled when you start the submission.", + + // "submission.import-external.preview.button.import": "Start submission", + // TODO New key - Add a translation + "submission.import-external.preview.button.import": "Start submission", + + // "submission.import-external.preview.error.import.title": "Submission error", + // TODO New key - Add a translation + "submission.import-external.preview.error.import.title": "Submission error", + + // "submission.import-external.preview.error.import.body": "An error occurs during the external source entry import process.", + // TODO New key - Add a translation + "submission.import-external.preview.error.import.body": "An error occurs during the external source entry import process.", // "submission.sections.describe.relationship-lookup.close": "Close", "submission.sections.describe.relationship-lookup.close": "Schließen", @@ -3372,8 +5078,9 @@ // "submission.sections.describe.relationship-lookup.external-source.added": "Successfully added local entry to the selection", "submission.sections.describe.relationship-lookup.external-source.added": "Der lokale Eintrage wurde erfolgreich zur Auswahl hinzugefügt.", - // "submission.sections.describe.relationship-lookup.external-source.import-button-title.Author": "Import remote author", - "submission.sections.describe.relationship-lookup.external-source.import-button-title.Author": "AutorIn importieren", + // "submission.sections.describe.relationship-lookup.external-source.import-button-title.isAuthorOfPublication": "Import remote author", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-button-title.isAuthorOfPublication": "Import remote author", // "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal": "Import remote journal", "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal": "Zeitschrift importieren", @@ -3384,14 +5091,17 @@ // "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal Volume": "Import remote journal volume", "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal Volume": "Zeitschriftenband importieren", - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.title": "Import Remote Author", - "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.title": "AutorIn importieren", + // "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.title": "Import Remote Author", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.title": "Import Remote Author", - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.added.local-entity": "Successfully added local author to the selection", - "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.added.local-entity": "Lokale/r Autor/in der Auswahl erfolgreich hinzugefügt", + // "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.added.local-entity": "Successfully added local author to the selection", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.added.local-entity": "Successfully added local author to the selection", - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.added.new-entity": "Successfully imported and added external author to the selection", - "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.added.new-entity": "Externe/r Autor/in erfolgreich zur Auswahl hinzugefügt", + // "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.added.new-entity": "Successfully imported and added external author to the selection", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.added.new-entity": "Successfully imported and added external author to the selection", // "submission.sections.describe.relationship-lookup.external-source.import-modal.authority": "Authority", "submission.sections.describe.relationship-lookup.external-source.import-modal.authority": "Referenz", @@ -3423,6 +5133,14 @@ // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.sherpaPublisher": "Importing from Sherpa Publisher", "submission.sections.describe.relationship-lookup.external-source.import-modal.head.sherpaPublisher": "Von Sherpa Verlag importieren", + // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.pubmed": "Importing from PubMed", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.head.pubmed": "Importing from PubMed", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.arxiv": "Importing from arXiv", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.head.arxiv": "Importing from arXiv", + // "submission.sections.describe.relationship-lookup.external-source.import-modal.import": "Import", "submission.sections.describe.relationship-lookup.external-source.import-modal.import": "Import", @@ -3480,17 +5198,53 @@ // "submission.sections.describe.relationship-lookup.selected": "Selected {{ size }} items", "submission.sections.describe.relationship-lookup.selected": "{{ size }} Ressourcen ausgewählt", - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Author": "Local Authors ({{ count }})", - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Author": "Lokale AutorInnen ({{ count }})", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isAuthorOfPublication": "Local Authors ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isAuthorOfPublication": "Local Authors ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalOfPublication": "Local Journals ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalOfPublication": "Local Journals ({{ count }})", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Project": "Local Projects ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.Project": "Local Projects ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Publication": "Local Publications ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.Publication": "Local Publications ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Person": "Local Authors ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.Person": "Local Authors ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.OrgUnit": "Local Organizational Units ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.OrgUnit": "Local Organizational Units ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.DataPackage": "Local Data Packages ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.DataPackage": "Local Data Packages ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.DataFile": "Local Data Files ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.DataFile": "Local Data Files ({{ count }})", // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal": "Local Journals ({{ count }})", "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal": "Lokale Zeitschriften ({{ count }})", - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal Issue": "Local Journal Issues ({{ count }})", - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal Issue": "Lokale Zeitschriftenausgaben ({{ count }})", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalIssueOfPublication": "Local Journal Issues ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalIssueOfPublication": "Local Journal Issues ({{ count }})", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.JournalIssue": "Local Journal Issues ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.JournalIssue": "Local Journal Issues ({{ count }})", - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal Volume": "Local Journal Volumes ({{ count }})", - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal Volume": "Lokale Zeitschriftenbände ({{ count }})", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalVolumeOfPublication": "Local Journal Volumes ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalVolumeOfPublication": "Local Journal Volumes ({{ count }})", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.JournalVolume": "Local Journal Volumes ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.JournalVolume": "Local Journal Volumes ({{ count }})", // "submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaJournal": "Sherpa Journals ({{ count }})", "submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaJournal": "Sherpa Zeitschriften ({{ count }})", @@ -3504,32 +5258,88 @@ // "submission.sections.describe.relationship-lookup.search-tab.tab-title.lcname": "LC Names ({{ count }})", "submission.sections.describe.relationship-lookup.search-tab.tab-title.lcname": "LC Namen ({{ count }})", - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Funding Agency": "Search for Funding Agencies", - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Funding Agency": "Suche nach Fördereinrichtung", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.pubmed": "PubMed ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.pubmed": "PubMed ({{ count }})", - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Funding": "Search for Funding", - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Funding": "Suche nach Förderung", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.arxiv": "arXiv ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.arxiv": "arXiv ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingAgencyOfPublication": "Search for Funding Agencies", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingAgencyOfPublication": "Search for Funding Agencies", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingOfPublication": "Search for Funding", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingOfPublication": "Search for Funding", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isChildOrgUnitOf": "Search for Organizational Units", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isChildOrgUnitOf": "Search for Organizational Units", // "submission.sections.describe.relationship-lookup.selection-tab.tab-title": "Current Selection ({{ count }})", "submission.sections.describe.relationship-lookup.selection-tab.tab-title": "Aktuelle Auswahl ({{ count }})", - // "submission.sections.describe.relationship-lookup.title.Journal Issue": "Journal Issues", - "submission.sections.describe.relationship-lookup.title.Journal Issue": "Zeitschriftenausgaben", + // "submission.sections.describe.relationship-lookup.title.isJournalIssueOfPublication": "Journal Issues", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.isJournalIssueOfPublication": "Journal Issues", + // "submission.sections.describe.relationship-lookup.title.JournalIssue": "Journal Issues", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.JournalIssue": "Journal Issues", - // "submission.sections.describe.relationship-lookup.title.Journal Volume": "Journal Volumes", - "submission.sections.describe.relationship-lookup.title.Journal Volume": "Zeitschriftenbände", + // "submission.sections.describe.relationship-lookup.title.isJournalVolumeOfPublication": "Journal Volumes", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.isJournalVolumeOfPublication": "Journal Volumes", + // "submission.sections.describe.relationship-lookup.title.JournalVolume": "Journal Volumes", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.JournalVolume": "Journal Volumes", - // "submission.sections.describe.relationship-lookup.title.Journal": "Journals", - "submission.sections.describe.relationship-lookup.title.Journal": "Zeitschriften", + // "submission.sections.describe.relationship-lookup.title.isJournalOfPublication": "Journals", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.isJournalOfPublication": "Journals", - // "submission.sections.describe.relationship-lookup.title.Author": "Authors", - "submission.sections.describe.relationship-lookup.title.Author": "AutorInnen", + // "submission.sections.describe.relationship-lookup.title.isAuthorOfPublication": "Authors", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.isAuthorOfPublication": "Authors", + + // "submission.sections.describe.relationship-lookup.title.isFundingAgencyOfPublication": "Funding Agency", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.isFundingAgencyOfPublication": "Funding Agency", + // "submission.sections.describe.relationship-lookup.title.Project": "Projects", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.Project": "Projects", + + // "submission.sections.describe.relationship-lookup.title.Publication": "Publications", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.Publication": "Publications", + + // "submission.sections.describe.relationship-lookup.title.Person": "Authors", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.Person": "Authors", + + // "submission.sections.describe.relationship-lookup.title.OrgUnit": "Organizational Units", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.OrgUnit": "Organizational Units", + + // "submission.sections.describe.relationship-lookup.title.DataPackage": "Data Packages", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.DataPackage": "Data Packages", + + // "submission.sections.describe.relationship-lookup.title.DataFile": "Data Files", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.DataFile": "Data Files", // "submission.sections.describe.relationship-lookup.title.Funding Agency": "Funding Agency", "submission.sections.describe.relationship-lookup.title.Funding Agency": "Fördereinrichtung", - // "submission.sections.describe.relationship-lookup.title.Funding": "Funding", - "submission.sections.describe.relationship-lookup.title.Funding": "Förderung", + // "submission.sections.describe.relationship-lookup.title.isFundingOfPublication": "Funding", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.isFundingOfPublication": "Funding", + + // "submission.sections.describe.relationship-lookup.title.isChildOrgUnitOf": "Parent Organizational Unit", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.isChildOrgUnitOf": "Parent Organizational Unit", // "submission.sections.describe.relationship-lookup.search-tab.toggle-dropdown": "Toggle dropdown", "submission.sections.describe.relationship-lookup.search-tab.toggle-dropdown": "Liste umschalten", @@ -3540,17 +5350,65 @@ // "submission.sections.describe.relationship-lookup.selection-tab.no-selection": "Your selection is currently empty.", "submission.sections.describe.relationship-lookup.selection-tab.no-selection": "Ihre Auswahl ist momentan leer.", - // "submission.sections.describe.relationship-lookup.selection-tab.title.Author": "Selected Authors", - "submission.sections.describe.relationship-lookup.selection-tab.title.Author": "Augewählte AutorInnen", + // "submission.sections.describe.relationship-lookup.selection-tab.title.isAuthorOfPublication": "Selected Authors", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.isAuthorOfPublication": "Selected Authors", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalOfPublication": "Selected Journals", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalOfPublication": "Selected Journals", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalVolumeOfPublication": "Selected Journal Volume", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalVolumeOfPublication": "Selected Journal Volume", + // "submission.sections.describe.relationship-lookup.selection-tab.title.Project": "Selected Projects", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.Project": "Selected Projects", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.Publication": "Selected Publications", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.Publication": "Selected Publications", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.Person": "Selected Authors", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.Person": "Selected Authors", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.OrgUnit": "Selected Organizational Units", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.OrgUnit": "Selected Organizational Units", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.DataPackage": "Selected Data Packages", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.DataPackage": "Selected Data Packages", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.DataFile": "Selected Data Files", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.DataFile": "Selected Data Files", // "submission.sections.describe.relationship-lookup.selection-tab.title.Journal": "Selected Journals", "submission.sections.describe.relationship-lookup.selection-tab.title.Journal": "Ausgewählte Zeitschriften", - // "submission.sections.describe.relationship-lookup.selection-tab.title.Journal Volume": "Selected Journal Volume", - "submission.sections.describe.relationship-lookup.selection-tab.title.Journal Volume": "Ausgewählte Zeitschriftenbände", + // "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalIssueOfPublication": "Selected Issue", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalIssueOfPublication": "Selected Issue", + // "submission.sections.describe.relationship-lookup.selection-tab.title.JournalVolume": "Selected Journal Volume", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.JournalVolume": "Selected Journal Volume", - // "submission.sections.describe.relationship-lookup.selection-tab.title.Journal Issue": "Selected Issue", - "submission.sections.describe.relationship-lookup.selection-tab.title.Journal Issue": "Ausgewählte Zeitschriftenausgaben", + // "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingAgencyOfPublication": "Selected Funding Agency", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingAgencyOfPublication": "Selected Funding Agency", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingOfPublication": "Selected Funding", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingOfPublication": "Selected Funding", + // "submission.sections.describe.relationship-lookup.selection-tab.title.JournalIssue": "Selected Issue", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.JournalIssue": "Selected Issue", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isChildOrgUnitOf": "Selected Organizational Unit", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.isChildOrgUnitOf": "Selected Organizational Unit", // "submission.sections.describe.relationship-lookup.selection-tab.title.sherpaJournal": "Search Results", "submission.sections.describe.relationship-lookup.selection-tab.title.sherpaJournal": "Suchergebnisse", @@ -3561,9 +5419,21 @@ // "submission.sections.describe.relationship-lookup.selection-tab.title.orcid": "Search Results", "submission.sections.describe.relationship-lookup.selection-tab.title.orcid": "Suchergebnisse", + // "submission.sections.describe.relationship-lookup.selection-tab.title.orcidv2": "Search Results", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.orcidv2": "Search Results", + // "submission.sections.describe.relationship-lookup.selection-tab.title.lcname": "Search Results", "submission.sections.describe.relationship-lookup.selection-tab.title.lcname": "Suchergebnisse", + // "submission.sections.describe.relationship-lookup.selection-tab.title.pubmed": "Search Results", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.pubmed": "Search Results", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.arxiv": "Search Results", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.arxiv": "Search Results", + // "submission.sections.describe.relationship-lookup.name-variant.notification.content": "Would you like to save \"{{ value }}\" as a name variant for this person so you and others can reuse it for future submissions? If you don\'t you can still use it for this submission.", "submission.sections.describe.relationship-lookup.name-variant.notification.content": "Möchten Sie \"{{ value }}\" als Namesvariante für diese Person speichern? So können Sie und andere diese bei zukünftigen Veröffentlichungen verwenden. Wenn Sie das nicht tun, können Sie die Variante immer noch für diese Veröffentlichung verwenden.", @@ -3573,6 +5443,34 @@ // "submission.sections.describe.relationship-lookup.name-variant.notification.decline": "Use only for this submission", "submission.sections.describe.relationship-lookup.name-variant.notification.decline": "Nur für diese Einreichung verwenden", + // "submission.sections.ccLicense.type": "License Type", + // TODO New key - Add a translation + "submission.sections.ccLicense.type": "License Type", + + // "submission.sections.ccLicense.select": "Select a license type…", + // TODO New key - Add a translation + "submission.sections.ccLicense.select": "Select a license type…", + + // "submission.sections.ccLicense.change": "Change your license type…", + // TODO New key - Add a translation + "submission.sections.ccLicense.change": "Change your license type…", + + // "submission.sections.ccLicense.none": "No licenses available", + // TODO New key - Add a translation + "submission.sections.ccLicense.none": "No licenses available", + + // "submission.sections.ccLicense.option.select": "Select an option…", + // TODO New key - Add a translation + "submission.sections.ccLicense.option.select": "Select an option…", + + // "submission.sections.ccLicense.link": "You’ve selected the following license:", + // TODO New key - Add a translation + "submission.sections.ccLicense.link": "You’ve selected the following license:", + + // "submission.sections.ccLicense.confirmation": "I grant the license above", + // TODO New key - Add a translation + "submission.sections.ccLicense.confirmation": "I grant the license above", + // "submission.sections.general.add-more": "Add more", "submission.sections.general.add-more": "Mehr Hinzufügen", @@ -3617,8 +5515,9 @@ - // "submission.sections.submit.progressbar.cclicense": "Creative commons license", - "submission.sections.submit.progressbar.cclicense": "Creative Commons Lizenz", + // "submission.sections.submit.progressbar.CClicense": "Creative commons license", + // TODO New key - Add a translation + "submission.sections.submit.progressbar.CClicense": "Creative commons license", // "submission.sections.submit.progressbar.describe.recycle": "Recycle", "submission.sections.submit.progressbar.describe.recycle": "Wiederverwerten", @@ -3667,7 +5566,8 @@ // "submission.sections.upload.form.date-required": "Date is required.", "submission.sections.upload.form.date-required": "Datum erforderlich.", - // "submission.sections.upload.form.from-label": "Access grant from", + // "submission.sections.upload.form.from-label": "Grant access from", + // TODO Source message changed - Revise the translation "submission.sections.upload.form.from-label": "Zugriff gewährt ab", // "submission.sections.upload.form.from-placeholder": "From", @@ -3679,7 +5579,8 @@ // "submission.sections.upload.form.group-required": "Group is required.", "submission.sections.upload.form.group-required": "Gruppe ist erforderlich", - // "submission.sections.upload.form.until-label": "Access grant until", + // "submission.sections.upload.form.until-label": "Grant access until", + // TODO Source message changed - Revise the translation "submission.sections.upload.form.until-label": "Zugriff gewährt bis", // "submission.sections.upload.form.until-placeholder": "Until", @@ -3809,13 +5710,34 @@ "title": "DSpace", - // "administrativeView.search.results.head": "Administrative Search", - // TODO New key - Add a translation - "administrativeView.search.results.head": "Administrative Search", - // "menu.section.admin_search": "Admin Search", + // "vocabulary-treeview.header": "Hierarchical tree view", // TODO New key - Add a translation - "menu.section.admin_search": "Admin Search", + "vocabulary-treeview.header": "Hierarchical tree view", + + // "vocabulary-treeview.load-more": "Load more", + // TODO New key - Add a translation + "vocabulary-treeview.load-more": "Load more", + + // "vocabulary-treeview.search.form.reset": "Reset", + // TODO New key - Add a translation + "vocabulary-treeview.search.form.reset": "Reset", + + // "vocabulary-treeview.search.form.search": "Search", + // TODO New key - Add a translation + "vocabulary-treeview.search.form.search": "Search", + + // "vocabulary-treeview.search.no-result": "There were no items to show", + // TODO New key - Add a translation + "vocabulary-treeview.search.no-result": "There were no items to show", + + // "vocabulary-treeview.tree.description.nsi": "The Norwegian Science Index", + // TODO New key - Add a translation + "vocabulary-treeview.tree.description.nsi": "The Norwegian Science Index", + + // "vocabulary-treeview.tree.description.srsc": "Research Subject Categories", + // TODO New key - Add a translation + "vocabulary-treeview.tree.description.srsc": "Research Subject Categories", @@ -3825,7 +5747,8 @@ // "uploader.drag-message": "Drag & Drop your files here", "uploader.drag-message": "Ziehen Sie Ihre Dateien hierhin", - // "uploader.or": ", or", + // "uploader.or": ", or ", + // TODO Source message changed - Revise the translation "uploader.or": " oder", // "uploader.processing": "Processing", @@ -3844,5 +5767,77 @@ "virtual-metadata.delete-relationship.modal-head": "Wählen Sie die Ressourcen für die Sie die virtuellen Metadaten als reelle Metadaten speichern wollen", + + // "workflowAdmin.search.results.head": "Administer Workflow", + // TODO New key - Add a translation + "workflowAdmin.search.results.head": "Administer Workflow", + + + + // "workflow-item.delete.notification.success.title": "Deleted", + // TODO New key - Add a translation + "workflow-item.delete.notification.success.title": "Deleted", + + // "workflow-item.delete.notification.success.content": "This workflow item was successfully deleted", + // TODO New key - Add a translation + "workflow-item.delete.notification.success.content": "This workflow item was successfully deleted", + + // "workflow-item.delete.notification.error.title": "Something went wrong", + // TODO New key - Add a translation + "workflow-item.delete.notification.error.title": "Something went wrong", + + // "workflow-item.delete.notification.error.content": "The workflow item could not be deleted", + // TODO New key - Add a translation + "workflow-item.delete.notification.error.content": "The workflow item could not be deleted", + + // "workflow-item.delete.title": "Delete workflow item", + // TODO New key - Add a translation + "workflow-item.delete.title": "Delete workflow item", + + // "workflow-item.delete.header": "Delete workflow item", + // TODO New key - Add a translation + "workflow-item.delete.header": "Delete workflow item", + + // "workflow-item.delete.button.cancel": "Cancel", + // TODO New key - Add a translation + "workflow-item.delete.button.cancel": "Cancel", + + // "workflow-item.delete.button.confirm": "Delete", + // TODO New key - Add a translation + "workflow-item.delete.button.confirm": "Delete", + + + // "workflow-item.send-back.notification.success.title": "Sent back to submitter", + // TODO New key - Add a translation + "workflow-item.send-back.notification.success.title": "Sent back to submitter", + + // "workflow-item.send-back.notification.success.content": "This workflow item was successfully sent back to the submitter", + // TODO New key - Add a translation + "workflow-item.send-back.notification.success.content": "This workflow item was successfully sent back to the submitter", + + // "workflow-item.send-back.notification.error.title": "Something went wrong", + // TODO New key - Add a translation + "workflow-item.send-back.notification.error.title": "Something went wrong", + + // "workflow-item.send-back.notification.error.content": "The workflow item could not be sent back to the submitter", + // TODO New key - Add a translation + "workflow-item.send-back.notification.error.content": "The workflow item could not be sent back to the submitter", + + // "workflow-item.send-back.title": "Send workflow item back to submitter", + // TODO New key - Add a translation + "workflow-item.send-back.title": "Send workflow item back to submitter", + + // "workflow-item.send-back.header": "Send workflow item back to submitter", + // TODO New key - Add a translation + "workflow-item.send-back.header": "Send workflow item back to submitter", + + // "workflow-item.send-back.button.cancel": "Cancel", + // TODO New key - Add a translation + "workflow-item.send-back.button.cancel": "Cancel", + + // "workflow-item.send-back.button.confirm": "Send back" + // TODO New key - Add a translation + "workflow-item.send-back.button.confirm": "Send back" + -} +} \ No newline at end of file diff --git a/src/assets/i18n/es.json5 b/src/assets/i18n/es.json5 index 4eeff3356c..dedf74d32d 100644 --- a/src/assets/i18n/es.json5 +++ b/src/assets/i18n/es.json5 @@ -1,4029 +1,6006 @@ { - + + // "401.help": "You're not authorized to access this page. You can use the button below to get back to the home page.", + // TODO New key - Add a translation + "401.help": "You're not authorized to access this page. You can use the button below to get back to the home page.", + + // "401.link.home-page": "Take me to the home page", + // TODO New key - Add a translation + "401.link.home-page": "Take me to the home page", + + // "401.unauthorized": "unauthorized", + // TODO New key - Add a translation + "401.unauthorized": "unauthorized", + + + + // "403.help": "You don't have permission to access this page. You can use the button below to get back to the home page.", + // TODO New key - Add a translation + "403.help": "You don't have permission to access this page. You can use the button below to get back to the home page.", + + // "403.link.home-page": "Take me to the home page", + // TODO New key - Add a translation + "403.link.home-page": "Take me to the home page", + + // "403.forbidden": "forbidden", + // TODO New key - Add a translation + "403.forbidden": "forbidden", + + + // "404.help": "We can't find the page you're looking for. The page may have been moved or deleted. You can use the button below to get back to the home page. ", "404.help": "No es posible encontrar la página que busca. La página puede haber sido movida o eliminada. Puede utilizar el botón de abajo para regresar a la página de inicio. ", - + // "404.link.home-page": "Take me to the home page", "404.link.home-page": "Ir a la página de inicio", - + // "404.page-not-found": "page not found", "404.page-not-found": "Página no encontrada", - - - + + // "admin.curation-tasks.breadcrumbs": "System curation tasks", + // TODO New key - Add a translation + "admin.curation-tasks.breadcrumbs": "System curation tasks", + + // "admin.curation-tasks.title": "System curation tasks", + // TODO New key - Add a translation + "admin.curation-tasks.title": "System curation tasks", + + // "admin.curation-tasks.header": "System curation tasks", + // TODO New key - Add a translation + "admin.curation-tasks.header": "System curation tasks", + + // "admin.registries.bitstream-formats.breadcrumbs": "Format registry", + // TODO New key - Add a translation + "admin.registries.bitstream-formats.breadcrumbs": "Format registry", + + // "admin.registries.bitstream-formats.create.breadcrumbs": "Bitstream format", + // TODO New key - Add a translation + "admin.registries.bitstream-formats.create.breadcrumbs": "Bitstream format", + // "admin.registries.bitstream-formats.create.failure.content": "An error occurred while creating the new bitstream format.", "admin.registries.bitstream-formats.create.failure.content": "Ha ocurrido un error mientras se creaba el nuevo formato del archivo.", - + // "admin.registries.bitstream-formats.create.failure.head": "Failure", "admin.registries.bitstream-formats.create.failure.head": "Error", - + // "admin.registries.bitstream-formats.create.head": "Create Bitstream format", "admin.registries.bitstream-formats.create.head": "Crear formato de archivo", - + // "admin.registries.bitstream-formats.create.new": "Add a new bitstream format", "admin.registries.bitstream-formats.create.new": "Agregar un nuevo formato de archivo", - + // "admin.registries.bitstream-formats.create.success.content": "The new bitstream format was successfully created.", "admin.registries.bitstream-formats.create.success.content": "El nuevo formato de archivo fue creado exitosamente.", - + // "admin.registries.bitstream-formats.create.success.head": "Success", "admin.registries.bitstream-formats.create.success.head": "Éxito", - + // "admin.registries.bitstream-formats.delete.failure.amount": "Failed to remove {{ amount }} format(s)", "admin.registries.bitstream-formats.delete.failure.amount": "Error al eliminar {{ amount }} formato(s)", - + // "admin.registries.bitstream-formats.delete.failure.head": "Failure", "admin.registries.bitstream-formats.delete.failure.head": "Error", - + // "admin.registries.bitstream-formats.delete.success.amount": "Successfully removed {{ amount }} format(s)", "admin.registries.bitstream-formats.delete.success.amount": "Éxito al eliminar {{ amount }} formato(s)", - + // "admin.registries.bitstream-formats.delete.success.head": "Success", "admin.registries.bitstream-formats.delete.success.head": "Éxito", - + // "admin.registries.bitstream-formats.description": "This list of bitstream formats provides information about known formats and their support level.", "admin.registries.bitstream-formats.description": "Este listado de formatos de archivos provee información acerca de formatos conocidos y su nivel de soporte.", - + + // "admin.registries.bitstream-formats.edit.breadcrumbs": "Bitstream format", + // TODO New key - Add a translation + "admin.registries.bitstream-formats.edit.breadcrumbs": "Bitstream format", + // "admin.registries.bitstream-formats.edit.description.hint": "", "admin.registries.bitstream-formats.edit.description.hint": "", - + // "admin.registries.bitstream-formats.edit.description.label": "Description", "admin.registries.bitstream-formats.edit.description.label": "Descripción", - + // "admin.registries.bitstream-formats.edit.extensions.hint": "Extensions are file extensions that are used to automatically identify the format of uploaded files. You can enter several extensions for each format.", "admin.registries.bitstream-formats.edit.extensions.hint": "Las extensiones son extensiones de archivos que son usados para identificar automáticamente el formato de los archivos cargados. Se puede ingresar varias extensiones para cada formato.", - + // "admin.registries.bitstream-formats.edit.extensions.label": "File extensions", "admin.registries.bitstream-formats.edit.extensions.label": "Extensiones de los archivos", - + // "admin.registries.bitstream-formats.edit.extensions.placeholder": "Enter a file extension without the dot", // TODO Source message changed - Revise the translation "admin.registries.bitstream-formats.edit.extensions.placeholder": "Ingrese la extensión del archivo sin punto", - + // "admin.registries.bitstream-formats.edit.failure.content": "An error occurred while editing the bitstream format.", "admin.registries.bitstream-formats.edit.failure.content": "Ha ocurrido un error mientras se editaba el formato del archivo.", - + // "admin.registries.bitstream-formats.edit.failure.head": "Failure", "admin.registries.bitstream-formats.edit.failure.head": "Error", - + // "admin.registries.bitstream-formats.edit.head": "Bitstream format: {{ format }}", "admin.registries.bitstream-formats.edit.head": "Formato de Archivo: {{ format }}", - + // "admin.registries.bitstream-formats.edit.internal.hint": "Formats marked as internal are hidden from the user, and used for administrative purposes.", // TODO Source message changed - Revise the translation "admin.registries.bitstream-formats.edit.internal.hint": "Los formatos marcados como internos están ocultos para el usuario y se utilizan con fines administrativos.", - + // "admin.registries.bitstream-formats.edit.internal.label": "Internal", "admin.registries.bitstream-formats.edit.internal.label": "Interno", - + // "admin.registries.bitstream-formats.edit.mimetype.hint": "The MIME type associated with this format, does not have to be unique.", "admin.registries.bitstream-formats.edit.mimetype.hint": "El tipo MIME asociado con este formato no tiene que ser único.", - + // "admin.registries.bitstream-formats.edit.mimetype.label": "MIME Type", "admin.registries.bitstream-formats.edit.mimetype.label": "Tipo MIME", - + // "admin.registries.bitstream-formats.edit.shortDescription.hint": "A unique name for this format, (e.g. Microsoft Word XP or Microsoft Word 2000)", "admin.registries.bitstream-formats.edit.shortDescription.hint": "Único nombre para este formato, (e.j. Microsoft Word XP o Microsoft Word 2000)", - + // "admin.registries.bitstream-formats.edit.shortDescription.label": "Name", "admin.registries.bitstream-formats.edit.shortDescription.label": "Nombre", - + // "admin.registries.bitstream-formats.edit.success.content": "The bitstream format was successfully edited.", "admin.registries.bitstream-formats.edit.success.content": "El formato del archivo fue editado exitosamente.", - + // "admin.registries.bitstream-formats.edit.success.head": "Success", "admin.registries.bitstream-formats.edit.success.head": "Éxito", - + // "admin.registries.bitstream-formats.edit.supportLevel.hint": "The level of support your institution pledges for this format.", "admin.registries.bitstream-formats.edit.supportLevel.hint": "El nivel de apoyo que su institución compromete para este formato.", - + // "admin.registries.bitstream-formats.edit.supportLevel.label": "Support level", "admin.registries.bitstream-formats.edit.supportLevel.label": "Nivel de soporte", - + // "admin.registries.bitstream-formats.head": "Bitstream Format Registry", "admin.registries.bitstream-formats.head": "Registro de formato de archivo", - + // "admin.registries.bitstream-formats.no-items": "No bitstream formats to show.", "admin.registries.bitstream-formats.no-items": "No hay formatos de archivo para mostrar.", - + // "admin.registries.bitstream-formats.table.delete": "Delete selected", "admin.registries.bitstream-formats.table.delete": "Eliminar lo seleccionado", - + // "admin.registries.bitstream-formats.table.deselect-all": "Deselect all", "admin.registries.bitstream-formats.table.deselect-all": "Eliminar selección", - + // "admin.registries.bitstream-formats.table.internal": "internal", "admin.registries.bitstream-formats.table.internal": "interno", - + // "admin.registries.bitstream-formats.table.mimetype": "MIME Type", "admin.registries.bitstream-formats.table.mimetype": "Tipo MIME", - + // "admin.registries.bitstream-formats.table.name": "Name", "admin.registries.bitstream-formats.table.name": "Nombre", - + // "admin.registries.bitstream-formats.table.return": "Return", "admin.registries.bitstream-formats.table.return": "Regreso", - + // "admin.registries.bitstream-formats.table.supportLevel.KNOWN": "Known", "admin.registries.bitstream-formats.table.supportLevel.KNOWN": "Conocido", - + // "admin.registries.bitstream-formats.table.supportLevel.SUPPORTED": "Supported", "admin.registries.bitstream-formats.table.supportLevel.SUPPORTED": "Soportado", - + // "admin.registries.bitstream-formats.table.supportLevel.UNKNOWN": "Unknown", "admin.registries.bitstream-formats.table.supportLevel.UNKNOWN": "Desconocido", - + // "admin.registries.bitstream-formats.table.supportLevel.head": "Support Level", "admin.registries.bitstream-formats.table.supportLevel.head": "Nivel de soporte", - + // "admin.registries.bitstream-formats.title": "DSpace Angular :: Bitstream Format Registry", "admin.registries.bitstream-formats.title": "DSpace Angular :: Registro de formato de archivo", - - - + + + + // "admin.registries.metadata.breadcrumbs": "Metadata registry", + // TODO New key - Add a translation + "admin.registries.metadata.breadcrumbs": "Metadata registry", + // "admin.registries.metadata.description": "The metadata registry maintains a list of all metadata fields available in the repository. These fields may be divided amongst multiple schemas. However, DSpace requires the qualified Dublin Core schema.", "admin.registries.metadata.description": "El registro de metadatos mantiene una lista de todos los campos de metadatos disponibles en el repositorio. Estos campos pueden dividirse entre múltiples esquemas. Sin embargo, DSpace requiere el esquema calificado de Dublin Core.", - + // "admin.registries.metadata.form.create": "Create metadata schema", "admin.registries.metadata.form.create": "Crear esquema de metadatos", - + // "admin.registries.metadata.form.edit": "Edit metadata schema", "admin.registries.metadata.form.edit": "Editar esquema de metadatos", - + // "admin.registries.metadata.form.name": "Name", "admin.registries.metadata.form.name": "Nombre", - + // "admin.registries.metadata.form.namespace": "Namespace", "admin.registries.metadata.form.namespace": "Namespace", - + // "admin.registries.metadata.head": "Metadata Registry", "admin.registries.metadata.head": "Registro de metadatos", - + // "admin.registries.metadata.schemas.no-items": "No metadata schemas to show.", "admin.registries.metadata.schemas.no-items": "No existen esquemas de metadatos para mostrar.", - + // "admin.registries.metadata.schemas.table.delete": "Delete selected", "admin.registries.metadata.schemas.table.delete": "Eliminar selección", - + // "admin.registries.metadata.schemas.table.id": "ID", "admin.registries.metadata.schemas.table.id": "ID", - + // "admin.registries.metadata.schemas.table.name": "Name", "admin.registries.metadata.schemas.table.name": "Nombre", - + // "admin.registries.metadata.schemas.table.namespace": "Namespace", "admin.registries.metadata.schemas.table.namespace": "Namespace", - + // "admin.registries.metadata.title": "DSpace Angular :: Metadata Registry", "admin.registries.metadata.title": "DSpace Angular :: Registro de metadatos", - - + + + // "admin.registries.schema.breadcrumbs": "Metadata schema", + // TODO New key - Add a translation + "admin.registries.schema.breadcrumbs": "Metadata schema", + // "admin.registries.schema.description": "This is the metadata schema for \"{{namespace}}\".", "admin.registries.schema.description": "Este es el esquema de metadatos para \"{{namespace}}\".", - + // "admin.registries.schema.fields.head": "Schema metadata fields", "admin.registries.schema.fields.head": "Campos del esquema de metadatos", - + // "admin.registries.schema.fields.no-items": "No metadata fields to show.", "admin.registries.schema.fields.no-items": "No hay campos de metadatos para mostrar.", - + // "admin.registries.schema.fields.table.delete": "Delete selected", "admin.registries.schema.fields.table.delete": "Eliminar selección", - + // "admin.registries.schema.fields.table.field": "Field", "admin.registries.schema.fields.table.field": "Campos", - + // "admin.registries.schema.fields.table.scopenote": "Scope Note", "admin.registries.schema.fields.table.scopenote": "Nota de alcance", - + // "admin.registries.schema.form.create": "Create metadata field", "admin.registries.schema.form.create": "Crear campos de metadatos", - + // "admin.registries.schema.form.edit": "Edit metadata field", "admin.registries.schema.form.edit": "Editar campos de metadatos", - + // "admin.registries.schema.form.element": "Element", "admin.registries.schema.form.element": "Elemento", - + // "admin.registries.schema.form.qualifier": "Qualifier", "admin.registries.schema.form.qualifier": "Calificador", - + // "admin.registries.schema.form.scopenote": "Scope Note", "admin.registries.schema.form.scopenote": "Nota de alcance", - + // "admin.registries.schema.head": "Metadata Schema", "admin.registries.schema.head": "Esquema de Metadatos", - + // "admin.registries.schema.notification.created": "Successfully created metadata schema \"{{prefix}}\"", "admin.registries.schema.notification.created": "Esquema de metadatos creado exitosamente \"{{prefix}}\"", - + // "admin.registries.schema.notification.deleted.failure": "Failed to delete {{amount}} metadata schemas", "admin.registries.schema.notification.deleted.failure": "Error al eliminar {{amount}} esquema de metadatos", - + // "admin.registries.schema.notification.deleted.success": "Successfully deleted {{amount}} metadata schemas", "admin.registries.schema.notification.deleted.success": "Exitosamente eliminado {{amount}} esquema de metadatos", - + // "admin.registries.schema.notification.edited": "Successfully edited metadata schema \"{{prefix}}\"", "admin.registries.schema.notification.edited": "Exitosamente editado el esquema de metadato \"{{prefix}}\"", - + // "admin.registries.schema.notification.failure": "Error", "admin.registries.schema.notification.failure": "Error", - + // "admin.registries.schema.notification.field.created": "Successfully created metadata field \"{{field}}\"", "admin.registries.schema.notification.field.created": "Exitosamente creado el campo de metadato \"{{field}}\"", - + // "admin.registries.schema.notification.field.deleted.failure": "Failed to delete {{amount}} metadata fields", "admin.registries.schema.notification.field.deleted.failure": "Error al eliminar {{amount}} campos de metadata", - + // "admin.registries.schema.notification.field.deleted.success": "Successfully deleted {{amount}} metadata fields", "admin.registries.schema.notification.field.deleted.success": "Exitosamente eliminado {{amount}} campos de metadatos", - + // "admin.registries.schema.notification.field.edited": "Successfully edited metadata field \"{{field}}\"", "admin.registries.schema.notification.field.edited": "Exitosamente editado el campo de metadato \"{{field}}\"", - + // "admin.registries.schema.notification.success": "Success", "admin.registries.schema.notification.success": "Éxito", - + // "admin.registries.schema.return": "Return", "admin.registries.schema.return": "Regreso", - + // "admin.registries.schema.title": "DSpace Angular :: Metadata Schema Registry", "admin.registries.schema.title": "DSpace Angular :: Registro de Esquema de Metadatos", - - - + + + + // "admin.access-control.epeople.actions.delete": "Delete EPerson", + // TODO New key - Add a translation + "admin.access-control.epeople.actions.delete": "Delete EPerson", + + // "admin.access-control.epeople.actions.impersonate": "Impersonate EPerson", + // TODO New key - Add a translation + "admin.access-control.epeople.actions.impersonate": "Impersonate EPerson", + + // "admin.access-control.epeople.actions.reset": "Reset password", + // TODO New key - Add a translation + "admin.access-control.epeople.actions.reset": "Reset password", + + // "admin.access-control.epeople.actions.stop-impersonating": "Stop impersonating EPerson", + // TODO New key - Add a translation + "admin.access-control.epeople.actions.stop-impersonating": "Stop impersonating EPerson", + // "admin.access-control.epeople.title": "DSpace Angular :: EPeople", // TODO New key - Add a translation "admin.access-control.epeople.title": "DSpace Angular :: EPeople", - + // "admin.access-control.epeople.head": "EPeople", // TODO New key - Add a translation "admin.access-control.epeople.head": "EPeople", - + // "admin.access-control.epeople.search.head": "Search", // TODO New key - Add a translation "admin.access-control.epeople.search.head": "Search", - + // "admin.access-control.epeople.button.see-all": "Browse All", // TODO New key - Add a translation "admin.access-control.epeople.button.see-all": "Browse All", - + // "admin.access-control.epeople.search.scope.metadata": "Metadata", // TODO New key - Add a translation "admin.access-control.epeople.search.scope.metadata": "Metadata", - + // "admin.access-control.epeople.search.scope.email": "E-mail (exact)", // TODO New key - Add a translation "admin.access-control.epeople.search.scope.email": "E-mail (exact)", - + // "admin.access-control.epeople.search.button": "Search", // TODO New key - Add a translation "admin.access-control.epeople.search.button": "Search", - + // "admin.access-control.epeople.button.add": "Add EPerson", // TODO New key - Add a translation "admin.access-control.epeople.button.add": "Add EPerson", - + // "admin.access-control.epeople.table.id": "ID", // TODO New key - Add a translation "admin.access-control.epeople.table.id": "ID", - + // "admin.access-control.epeople.table.name": "Name", // TODO New key - Add a translation "admin.access-control.epeople.table.name": "Name", - + // "admin.access-control.epeople.table.email": "E-mail (exact)", // TODO New key - Add a translation "admin.access-control.epeople.table.email": "E-mail (exact)", - + // "admin.access-control.epeople.table.edit": "Edit", // TODO New key - Add a translation "admin.access-control.epeople.table.edit": "Edit", - + // "admin.access-control.epeople.table.edit.buttons.edit": "Edit \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.epeople.table.edit.buttons.edit": "Edit \"{{name}}\"", - + // "admin.access-control.epeople.table.edit.buttons.remove": "Delete \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.epeople.table.edit.buttons.remove": "Delete \"{{name}}\"", - + // "admin.access-control.epeople.no-items": "No EPeople to show.", // TODO New key - Add a translation "admin.access-control.epeople.no-items": "No EPeople to show.", - + // "admin.access-control.epeople.form.create": "Create EPerson", // TODO New key - Add a translation "admin.access-control.epeople.form.create": "Create EPerson", - + // "admin.access-control.epeople.form.edit": "Edit EPerson", // TODO New key - Add a translation "admin.access-control.epeople.form.edit": "Edit EPerson", - + // "admin.access-control.epeople.form.firstName": "First name", // TODO New key - Add a translation "admin.access-control.epeople.form.firstName": "First name", - + // "admin.access-control.epeople.form.lastName": "Last name", // TODO New key - Add a translation "admin.access-control.epeople.form.lastName": "Last name", - + // "admin.access-control.epeople.form.email": "E-mail", // TODO New key - Add a translation "admin.access-control.epeople.form.email": "E-mail", - + // "admin.access-control.epeople.form.emailHint": "Must be valid e-mail address", // TODO New key - Add a translation "admin.access-control.epeople.form.emailHint": "Must be valid e-mail address", - + // "admin.access-control.epeople.form.canLogIn": "Can log in", // TODO New key - Add a translation "admin.access-control.epeople.form.canLogIn": "Can log in", - + // "admin.access-control.epeople.form.requireCertificate": "Requires certificate", // TODO New key - Add a translation "admin.access-control.epeople.form.requireCertificate": "Requires certificate", - + // "admin.access-control.epeople.form.notification.created.success": "Successfully created EPerson \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.epeople.form.notification.created.success": "Successfully created EPerson \"{{name}}\"", - + // "admin.access-control.epeople.form.notification.created.failure": "Failed to create EPerson \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.epeople.form.notification.created.failure": "Failed to create EPerson \"{{name}}\"", - + // "admin.access-control.epeople.form.notification.created.failure.emailInUse": "Failed to create EPerson \"{{name}}\", email \"{{email}}\" already in use.", // TODO New key - Add a translation "admin.access-control.epeople.form.notification.created.failure.emailInUse": "Failed to create EPerson \"{{name}}\", email \"{{email}}\" already in use.", - + // "admin.access-control.epeople.form.notification.edited.failure.emailInUse": "Failed to edit EPerson \"{{name}}\", email \"{{email}}\" already in use.", // TODO New key - Add a translation "admin.access-control.epeople.form.notification.edited.failure.emailInUse": "Failed to edit EPerson \"{{name}}\", email \"{{email}}\" already in use.", - + // "admin.access-control.epeople.form.notification.edited.success": "Successfully edited EPerson \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.epeople.form.notification.edited.success": "Successfully edited EPerson \"{{name}}\"", - + // "admin.access-control.epeople.form.notification.edited.failure": "Failed to edit EPerson \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.epeople.form.notification.edited.failure": "Failed to edit EPerson \"{{name}}\"", - + + // "admin.access-control.epeople.form.notification.deleted.success": "Successfully deleted EPerson \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.epeople.form.notification.deleted.success": "Successfully deleted EPerson \"{{name}}\"", + + // "admin.access-control.epeople.form.notification.deleted.failure": "Failed to delete EPerson \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.epeople.form.notification.deleted.failure": "Failed to delete EPerson \"{{name}}\"", + // "admin.access-control.epeople.form.groupsEPersonIsMemberOf": "Member of these groups:", // TODO New key - Add a translation "admin.access-control.epeople.form.groupsEPersonIsMemberOf": "Member of these groups:", - + // "admin.access-control.epeople.form.table.id": "ID", // TODO New key - Add a translation "admin.access-control.epeople.form.table.id": "ID", - + // "admin.access-control.epeople.form.table.name": "Name", // TODO New key - Add a translation "admin.access-control.epeople.form.table.name": "Name", - + // "admin.access-control.epeople.form.memberOfNoGroups": "This EPerson is not a member of any groups", // TODO New key - Add a translation "admin.access-control.epeople.form.memberOfNoGroups": "This EPerson is not a member of any groups", - + // "admin.access-control.epeople.form.goToGroups": "Add to groups", // TODO New key - Add a translation "admin.access-control.epeople.form.goToGroups": "Add to groups", - + // "admin.access-control.epeople.notification.deleted.failure": "Failed to delete EPerson: \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.epeople.notification.deleted.failure": "Failed to delete EPerson: \"{{name}}\"", - + // "admin.access-control.epeople.notification.deleted.success": "Successfully deleted EPerson: \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.epeople.notification.deleted.success": "Successfully deleted EPerson: \"{{name}}\"", - - - + + + // "admin.access-control.groups.title": "DSpace Angular :: Groups", // TODO New key - Add a translation "admin.access-control.groups.title": "DSpace Angular :: Groups", - + + // "admin.access-control.groups.title.singleGroup": "DSpace Angular :: Edit Group", + // TODO New key - Add a translation + "admin.access-control.groups.title.singleGroup": "DSpace Angular :: Edit Group", + + // "admin.access-control.groups.title.addGroup": "DSpace Angular :: New Group", + // TODO New key - Add a translation + "admin.access-control.groups.title.addGroup": "DSpace Angular :: New Group", + // "admin.access-control.groups.head": "Groups", // TODO New key - Add a translation "admin.access-control.groups.head": "Groups", - + // "admin.access-control.groups.button.add": "Add group", // TODO New key - Add a translation "admin.access-control.groups.button.add": "Add group", - + // "admin.access-control.groups.search.head": "Search groups", // TODO New key - Add a translation "admin.access-control.groups.search.head": "Search groups", - + // "admin.access-control.groups.button.see-all": "Browse all", // TODO New key - Add a translation "admin.access-control.groups.button.see-all": "Browse all", - + // "admin.access-control.groups.search.button": "Search", // TODO New key - Add a translation "admin.access-control.groups.search.button": "Search", - + // "admin.access-control.groups.table.id": "ID", // TODO New key - Add a translation "admin.access-control.groups.table.id": "ID", - + // "admin.access-control.groups.table.name": "Name", // TODO New key - Add a translation "admin.access-control.groups.table.name": "Name", - + // "admin.access-control.groups.table.members": "Members", // TODO New key - Add a translation "admin.access-control.groups.table.members": "Members", - - // "admin.access-control.groups.table.comcol": "Community / Collection", - // TODO New key - Add a translation - "admin.access-control.groups.table.comcol": "Community / Collection", - + // "admin.access-control.groups.table.edit": "Edit", // TODO New key - Add a translation "admin.access-control.groups.table.edit": "Edit", - + // "admin.access-control.groups.table.edit.buttons.edit": "Edit \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.groups.table.edit.buttons.edit": "Edit \"{{name}}\"", - + // "admin.access-control.groups.table.edit.buttons.remove": "Delete \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.groups.table.edit.buttons.remove": "Delete \"{{name}}\"", - + // "admin.access-control.groups.no-items": "No groups found with this in their name or this as UUID", // TODO New key - Add a translation "admin.access-control.groups.no-items": "No groups found with this in their name or this as UUID", - + // "admin.access-control.groups.notification.deleted.success": "Successfully deleted group \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.groups.notification.deleted.success": "Successfully deleted group \"{{name}}\"", - - // "admin.access-control.groups.notification.deleted.failure": "Failed to delete group \"{{name}}\"", + + // "admin.access-control.groups.notification.deleted.failure.title": "Failed to delete group \"{{name}}\"", // TODO New key - Add a translation - "admin.access-control.groups.notification.deleted.failure": "Failed to delete group \"{{name}}\"", - - + "admin.access-control.groups.notification.deleted.failure.title": "Failed to delete group \"{{name}}\"", + + // "admin.access-control.groups.notification.deleted.failure.content": "Cause: \"{{cause}}\"", + // TODO New key - Add a translation + "admin.access-control.groups.notification.deleted.failure.content": "Cause: \"{{cause}}\"", + + + + // "admin.access-control.groups.form.alert.permanent": "This group is permanent, so it can't be edited or deleted. You can still add and remove group members using this page.", + // TODO New key - Add a translation + "admin.access-control.groups.form.alert.permanent": "This group is permanent, so it can't be edited or deleted. You can still add and remove group members using this page.", + + // "admin.access-control.groups.form.alert.workflowGroup": "This group can’t be modified or deleted because it corresponds to a role in the submission and workflow process in the \"{{name}}\" {{comcol}}. You can delete it from the \"assign roles\" tab on the edit {{comcol}} page. You can still add and remove group members using this page.", + // TODO New key - Add a translation + "admin.access-control.groups.form.alert.workflowGroup": "This group can’t be modified or deleted because it corresponds to a role in the submission and workflow process in the \"{{name}}\" {{comcol}}. You can delete it from the \"assign roles\" tab on the edit {{comcol}} page. You can still add and remove group members using this page.", + // "admin.access-control.groups.form.head.create": "Create group", // TODO New key - Add a translation "admin.access-control.groups.form.head.create": "Create group", - + // "admin.access-control.groups.form.head.edit": "Edit group", // TODO New key - Add a translation "admin.access-control.groups.form.head.edit": "Edit group", - + // "admin.access-control.groups.form.groupName": "Group name", // TODO New key - Add a translation "admin.access-control.groups.form.groupName": "Group name", - + // "admin.access-control.groups.form.groupDescription": "Description", // TODO New key - Add a translation "admin.access-control.groups.form.groupDescription": "Description", - + // "admin.access-control.groups.form.notification.created.success": "Successfully created Group \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.groups.form.notification.created.success": "Successfully created Group \"{{name}}\"", - + // "admin.access-control.groups.form.notification.created.failure": "Failed to create Group \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.groups.form.notification.created.failure": "Failed to create Group \"{{name}}\"", - + // "admin.access-control.groups.form.notification.created.failure.groupNameInUse": "Failed to create Group with name: \"{{name}}\", make sure the name is not already in use.", // TODO New key - Add a translation "admin.access-control.groups.form.notification.created.failure.groupNameInUse": "Failed to create Group with name: \"{{name}}\", make sure the name is not already in use.", - + + // "admin.access-control.groups.form.notification.edited.failure": "Failed to edit Group \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.edited.failure": "Failed to edit Group \"{{name}}\"", + + // "admin.access-control.groups.form.notification.edited.failure.groupNameInUse": "Name \"{{name}}\" already in use!", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.edited.failure.groupNameInUse": "Name \"{{name}}\" already in use!", + + // "admin.access-control.groups.form.notification.edited.success": "Successfully edited Group \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.edited.success": "Successfully edited Group \"{{name}}\"", + + // "admin.access-control.groups.form.actions.delete": "Delete Group", + // TODO New key - Add a translation + "admin.access-control.groups.form.actions.delete": "Delete Group", + + // "admin.access-control.groups.form.delete-group.modal.header": "Delete Group \"{{ dsoName }}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.delete-group.modal.header": "Delete Group \"{{ dsoName }}\"", + + // "admin.access-control.groups.form.delete-group.modal.info": "Are you sure you want to delete Group \"{{ dsoName }}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.delete-group.modal.info": "Are you sure you want to delete Group \"{{ dsoName }}\"", + + // "admin.access-control.groups.form.delete-group.modal.cancel": "Cancel", + // TODO New key - Add a translation + "admin.access-control.groups.form.delete-group.modal.cancel": "Cancel", + + // "admin.access-control.groups.form.delete-group.modal.confirm": "Delete", + // TODO New key - Add a translation + "admin.access-control.groups.form.delete-group.modal.confirm": "Delete", + + // "admin.access-control.groups.form.notification.deleted.success": "Successfully deleted group \"{{ name }}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.deleted.success": "Successfully deleted group \"{{ name }}\"", + + // "admin.access-control.groups.form.notification.deleted.failure.title": "Failed to delete group \"{{ name }}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.deleted.failure.title": "Failed to delete group \"{{ name }}\"", + + // "admin.access-control.groups.form.notification.deleted.failure.content": "Cause: \"{{ cause }}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.deleted.failure.content": "Cause: \"{{ cause }}\"", + // "admin.access-control.groups.form.members-list.head": "EPeople", // TODO New key - Add a translation "admin.access-control.groups.form.members-list.head": "EPeople", - + // "admin.access-control.groups.form.members-list.search.head": "Add EPeople", // TODO New key - Add a translation "admin.access-control.groups.form.members-list.search.head": "Add EPeople", - + // "admin.access-control.groups.form.members-list.button.see-all": "Browse All", // TODO New key - Add a translation "admin.access-control.groups.form.members-list.button.see-all": "Browse All", - + // "admin.access-control.groups.form.members-list.headMembers": "Current Members", // TODO New key - Add a translation "admin.access-control.groups.form.members-list.headMembers": "Current Members", - + // "admin.access-control.groups.form.members-list.search.scope.metadata": "Metadata", // TODO New key - Add a translation "admin.access-control.groups.form.members-list.search.scope.metadata": "Metadata", - + // "admin.access-control.groups.form.members-list.search.scope.email": "E-mail (exact)", // TODO New key - Add a translation "admin.access-control.groups.form.members-list.search.scope.email": "E-mail (exact)", - + // "admin.access-control.groups.form.members-list.search.button": "Search", // TODO New key - Add a translation "admin.access-control.groups.form.members-list.search.button": "Search", - + // "admin.access-control.groups.form.members-list.table.id": "ID", // TODO New key - Add a translation "admin.access-control.groups.form.members-list.table.id": "ID", - + // "admin.access-control.groups.form.members-list.table.name": "Name", // TODO New key - Add a translation "admin.access-control.groups.form.members-list.table.name": "Name", - + // "admin.access-control.groups.form.members-list.table.edit": "Remove / Add", // TODO New key - Add a translation "admin.access-control.groups.form.members-list.table.edit": "Remove / Add", - + // "admin.access-control.groups.form.members-list.table.edit.buttons.remove": "Remove member with name \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.groups.form.members-list.table.edit.buttons.remove": "Remove member with name \"{{name}}\"", - + // "admin.access-control.groups.form.members-list.notification.success.addMember": "Successfully added member: \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.groups.form.members-list.notification.success.addMember": "Successfully added member: \"{{name}}\"", - + // "admin.access-control.groups.form.members-list.notification.failure.addMember": "Failed to add member: \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.groups.form.members-list.notification.failure.addMember": "Failed to add member: \"{{name}}\"", - + // "admin.access-control.groups.form.members-list.notification.success.deleteMember": "Successfully deleted member: \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.groups.form.members-list.notification.success.deleteMember": "Successfully deleted member: \"{{name}}\"", - + // "admin.access-control.groups.form.members-list.notification.failure.deleteMember": "Failed to delete member: \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.groups.form.members-list.notification.failure.deleteMember": "Failed to delete member: \"{{name}}\"", - + // "admin.access-control.groups.form.members-list.table.edit.buttons.add": "Add member with name \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.groups.form.members-list.table.edit.buttons.add": "Add member with name \"{{name}}\"", - + // "admin.access-control.groups.form.members-list.notification.failure.noActiveGroup": "No current active group, submit a name first.", // TODO New key - Add a translation "admin.access-control.groups.form.members-list.notification.failure.noActiveGroup": "No current active group, submit a name first.", - + // "admin.access-control.groups.form.members-list.no-members-yet": "No members in group yet, search and add.", // TODO New key - Add a translation "admin.access-control.groups.form.members-list.no-members-yet": "No members in group yet, search and add.", - + // "admin.access-control.groups.form.members-list.no-items": "No EPeople found in that search", // TODO New key - Add a translation "admin.access-control.groups.form.members-list.no-items": "No EPeople found in that search", - + + // "admin.access-control.groups.form.subgroups-list.notification.failure": "Something went wrong: \"{{cause}}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.subgroups-list.notification.failure": "Something went wrong: \"{{cause}}\"", + // "admin.access-control.groups.form.subgroups-list.head": "Groups", // TODO New key - Add a translation "admin.access-control.groups.form.subgroups-list.head": "Groups", - + // "admin.access-control.groups.form.subgroups-list.search.head": "Add Subgroup", // TODO New key - Add a translation "admin.access-control.groups.form.subgroups-list.search.head": "Add Subgroup", - + // "admin.access-control.groups.form.subgroups-list.button.see-all": "Browse All", // TODO New key - Add a translation "admin.access-control.groups.form.subgroups-list.button.see-all": "Browse All", - + // "admin.access-control.groups.form.subgroups-list.headSubgroups": "Current Subgroups", // TODO New key - Add a translation "admin.access-control.groups.form.subgroups-list.headSubgroups": "Current Subgroups", - + // "admin.access-control.groups.form.subgroups-list.search.button": "Search", // TODO New key - Add a translation "admin.access-control.groups.form.subgroups-list.search.button": "Search", - + // "admin.access-control.groups.form.subgroups-list.table.id": "ID", // TODO New key - Add a translation "admin.access-control.groups.form.subgroups-list.table.id": "ID", - + // "admin.access-control.groups.form.subgroups-list.table.name": "Name", // TODO New key - Add a translation "admin.access-control.groups.form.subgroups-list.table.name": "Name", - + // "admin.access-control.groups.form.subgroups-list.table.edit": "Remove / Add", // TODO New key - Add a translation "admin.access-control.groups.form.subgroups-list.table.edit": "Remove / Add", - + // "admin.access-control.groups.form.subgroups-list.table.edit.buttons.remove": "Remove subgroup with name \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.groups.form.subgroups-list.table.edit.buttons.remove": "Remove subgroup with name \"{{name}}\"", - + // "admin.access-control.groups.form.subgroups-list.table.edit.buttons.add": "Add subgroup with name \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.groups.form.subgroups-list.table.edit.buttons.add": "Add subgroup with name \"{{name}}\"", - + // "admin.access-control.groups.form.subgroups-list.table.edit.currentGroup": "Current group", // TODO New key - Add a translation "admin.access-control.groups.form.subgroups-list.table.edit.currentGroup": "Current group", - + // "admin.access-control.groups.form.subgroups-list.notification.success.addSubgroup": "Successfully added subgroup: \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.groups.form.subgroups-list.notification.success.addSubgroup": "Successfully added subgroup: \"{{name}}\"", - + // "admin.access-control.groups.form.subgroups-list.notification.failure.addSubgroup": "Failed to add subgroup: \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.groups.form.subgroups-list.notification.failure.addSubgroup": "Failed to add subgroup: \"{{name}}\"", - + // "admin.access-control.groups.form.subgroups-list.notification.success.deleteSubgroup": "Successfully deleted subgroup: \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.groups.form.subgroups-list.notification.success.deleteSubgroup": "Successfully deleted subgroup: \"{{name}}\"", - + // "admin.access-control.groups.form.subgroups-list.notification.failure.deleteSubgroup": "Failed to delete subgroup: \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.groups.form.subgroups-list.notification.failure.deleteSubgroup": "Failed to delete subgroup: \"{{name}}\"", - + // "admin.access-control.groups.form.subgroups-list.notification.failure.noActiveGroup": "No current active group, submit a name first.", // TODO New key - Add a translation "admin.access-control.groups.form.subgroups-list.notification.failure.noActiveGroup": "No current active group, submit a name first.", - + // "admin.access-control.groups.form.subgroups-list.notification.failure.subgroupToAddIsActiveGroup": "This is the current group, can't be added.", // TODO New key - Add a translation "admin.access-control.groups.form.subgroups-list.notification.failure.subgroupToAddIsActiveGroup": "This is the current group, can't be added.", - + // "admin.access-control.groups.form.subgroups-list.no-items": "No groups found with this in their name or this as UUID", // TODO New key - Add a translation "admin.access-control.groups.form.subgroups-list.no-items": "No groups found with this in their name or this as UUID", - + // "admin.access-control.groups.form.subgroups-list.no-subgroups-yet": "No subgroups in group yet.", // TODO New key - Add a translation "admin.access-control.groups.form.subgroups-list.no-subgroups-yet": "No subgroups in group yet.", - + // "admin.access-control.groups.form.return": "Return to groups", // TODO New key - Add a translation "admin.access-control.groups.form.return": "Return to groups", - - - + + + // "admin.search.breadcrumbs": "Administrative Search", // TODO New key - Add a translation "admin.search.breadcrumbs": "Administrative Search", - + // "admin.search.collection.edit": "Edit", // TODO New key - Add a translation "admin.search.collection.edit": "Edit", - + // "admin.search.community.edit": "Edit", // TODO New key - Add a translation "admin.search.community.edit": "Edit", - + // "admin.search.item.delete": "Delete", // TODO New key - Add a translation "admin.search.item.delete": "Delete", - + // "admin.search.item.edit": "Edit", // TODO New key - Add a translation "admin.search.item.edit": "Edit", - + // "admin.search.item.make-private": "Make Private", // TODO New key - Add a translation "admin.search.item.make-private": "Make Private", - + // "admin.search.item.make-public": "Make Public", // TODO New key - Add a translation "admin.search.item.make-public": "Make Public", - + // "admin.search.item.move": "Move", // TODO New key - Add a translation "admin.search.item.move": "Move", - - // "admin.search.item.private": "Private", - // TODO New key - Add a translation - "admin.search.item.private": "Private", - + // "admin.search.item.reinstate": "Reinstate", // TODO New key - Add a translation "admin.search.item.reinstate": "Reinstate", - + // "admin.search.item.withdraw": "Withdraw", // TODO New key - Add a translation "admin.search.item.withdraw": "Withdraw", - - // "admin.search.item.withdrawn": "Withdrawn", - // TODO New key - Add a translation - "admin.search.item.withdrawn": "Withdrawn", - + // "admin.search.title": "Administrative Search", // TODO New key - Add a translation "admin.search.title": "Administrative Search", - - - - // "auth.errors.invalid-user": "Invalid email address or password.", - "auth.errors.invalid-user": "No es válida la dirección de correo o la clave.", - - // "auth.messages.expired": "Your session has expired. Please log in again.", - "auth.messages.expired": "Su sesión ha expirado. Favor ingresar de nuevo.", - - - - // "bitstream.edit.bitstream": "Bitstream: ", - // TODO New key - Add a translation - "bitstream.edit.bitstream": "Bitstream: ", - - // "bitstream.edit.form.description.hint": "Optionally, provide a brief description of the file, for example \"Main article\" or \"Experiment data readings\".", - // TODO New key - Add a translation - "bitstream.edit.form.description.hint": "Optionally, provide a brief description of the file, for example \"Main article\" or \"Experiment data readings\".", - - // "bitstream.edit.form.description.label": "Description", - // TODO New key - Add a translation - "bitstream.edit.form.description.label": "Description", - - // "bitstream.edit.form.embargo.hint": "The first day from which access is allowed. This date cannot be modified on this form. To set an embargo date for a bitstream, go to the Item Status tab, click Authorizations..., create or edit the bitstream's READ policy, and set the Start Date as desired.", - // TODO New key - Add a translation - "bitstream.edit.form.embargo.hint": "The first day from which access is allowed. This date cannot be modified on this form. To set an embargo date for a bitstream, go to the Item Status tab, click Authorizations..., create or edit the bitstream's READ policy, and set the Start Date as desired.", - - // "bitstream.edit.form.embargo.label": "Embargo until specific date", - // TODO New key - Add a translation - "bitstream.edit.form.embargo.label": "Embargo until specific date", - - // "bitstream.edit.form.fileName.hint": "Change the filename for the bitstream. Note that this will change the display bitstream URL, but old links will still resolve as long as the sequence ID does not change.", - // TODO New key - Add a translation - "bitstream.edit.form.fileName.hint": "Change the filename for the bitstream. Note that this will change the display bitstream URL, but old links will still resolve as long as the sequence ID does not change.", - - // "bitstream.edit.form.fileName.label": "Filename", - // TODO New key - Add a translation - "bitstream.edit.form.fileName.label": "Filename", - - // "bitstream.edit.form.newFormat.label": "Describe new format", - // TODO New key - Add a translation - "bitstream.edit.form.newFormat.label": "Describe new format", - - // "bitstream.edit.form.newFormat.hint": "The application you used to create the file, and the version number (for example, \"ACMESoft SuperApp version 1.5\").", - // TODO New key - Add a translation - "bitstream.edit.form.newFormat.hint": "The application you used to create the file, and the version number (for example, \"ACMESoft SuperApp version 1.5\").", - - // "bitstream.edit.form.primaryBitstream.label": "Primary bitstream", - // TODO New key - Add a translation - "bitstream.edit.form.primaryBitstream.label": "Primary bitstream", - - // "bitstream.edit.form.selectedFormat.hint": "If the format is not in the above list, select \"format not in list\" above and describe it under \"Describe new format\".", - // TODO New key - Add a translation - "bitstream.edit.form.selectedFormat.hint": "If the format is not in the above list, select \"format not in list\" above and describe it under \"Describe new format\".", - - // "bitstream.edit.form.selectedFormat.label": "Selected Format", - // TODO New key - Add a translation - "bitstream.edit.form.selectedFormat.label": "Selected Format", - - // "bitstream.edit.form.selectedFormat.unknown": "Format not in list", - // TODO New key - Add a translation - "bitstream.edit.form.selectedFormat.unknown": "Format not in list", - - // "bitstream.edit.notifications.error.format.title": "An error occurred saving the bitstream's format", - // TODO New key - Add a translation - "bitstream.edit.notifications.error.format.title": "An error occurred saving the bitstream's format", - - // "bitstream.edit.notifications.saved.content": "Your changes to this bitstream were saved.", - // TODO New key - Add a translation - "bitstream.edit.notifications.saved.content": "Your changes to this bitstream were saved.", - - // "bitstream.edit.notifications.saved.title": "Bitstream saved", - // TODO New key - Add a translation - "bitstream.edit.notifications.saved.title": "Bitstream saved", - - // "bitstream.edit.title": "Edit bitstream", - // TODO New key - Add a translation - "bitstream.edit.title": "Edit bitstream", - - - - // "browse.comcol.by.author": "By Author", - "browse.comcol.by.author": "Por Autor", - - // "browse.comcol.by.dateissued": "By Issue Date", - "browse.comcol.by.dateissued": "Por Fecha de Publicación", - - // "browse.comcol.by.subject": "By Subject", - "browse.comcol.by.subject": "Por Materia", - - // "browse.comcol.by.title": "By Title", - "browse.comcol.by.title": "Por Título", - - // "browse.comcol.head": "Browse", - "browse.comcol.head": "Navegar", - - // "browse.empty": "No items to show.", - "browse.empty": "No ítemes para mostrar.", - - // "browse.metadata.author": "Author", - "browse.metadata.author": "Autor", - - // "browse.metadata.dateissued": "Issue Date", - "browse.metadata.dateissued": "Fecha de Publicación", - - // "browse.metadata.subject": "Subject", - "browse.metadata.subject": "Materia", - - // "browse.metadata.title": "Title", - "browse.metadata.title": "Título", - - // "browse.metadata.author.breadcrumbs": "Browse by Author", - // TODO New key - Add a translation - "browse.metadata.author.breadcrumbs": "Browse by Author", - - // "browse.metadata.dateissued.breadcrumbs": "Browse by Date", - // TODO New key - Add a translation - "browse.metadata.dateissued.breadcrumbs": "Browse by Date", - - // "browse.metadata.subject.breadcrumbs": "Browse by Subject", - // TODO New key - Add a translation - "browse.metadata.subject.breadcrumbs": "Browse by Subject", - - // "browse.metadata.title.breadcrumbs": "Browse by Title", - // TODO New key - Add a translation - "browse.metadata.title.breadcrumbs": "Browse by Title", - - // "browse.startsWith.choose_start": "(Choose start)", - "browse.startsWith.choose_start": "(Seleccionar el inicio)", - - // "browse.startsWith.choose_year": "(Choose year)", - "browse.startsWith.choose_year": "(Seleccionar el año)", - - // "browse.startsWith.jump": "Jump to a point in the index:", - "browse.startsWith.jump": "Saltar a un punto en el índice:", - - // "browse.startsWith.months.april": "April", - "browse.startsWith.months.april": "Abril", - - // "browse.startsWith.months.august": "August", - "browse.startsWith.months.august": "Agosto", - - // "browse.startsWith.months.december": "December", - "browse.startsWith.months.december": "Diciembre", - - // "browse.startsWith.months.february": "February", - "browse.startsWith.months.february": "Febrero", - - // "browse.startsWith.months.january": "January", - "browse.startsWith.months.january": "Enero", - - // "browse.startsWith.months.july": "July", - "browse.startsWith.months.july": "Julio", - - // "browse.startsWith.months.june": "June", - "browse.startsWith.months.june": "Junio", - - // "browse.startsWith.months.march": "March", - "browse.startsWith.months.march": "Marzo", - - // "browse.startsWith.months.may": "May", - "browse.startsWith.months.may": "Mayo", - - // "browse.startsWith.months.none": "(Choose month)", - "browse.startsWith.months.none": "(Seleccionar el mes)", - - // "browse.startsWith.months.november": "November", - "browse.startsWith.months.november": "Noviembre", - - // "browse.startsWith.months.october": "October", - "browse.startsWith.months.october": "Octubre", - - // "browse.startsWith.months.september": "September", - "browse.startsWith.months.september": "Septiembre", - - // "browse.startsWith.submit": "Go", - "browse.startsWith.submit": "Ir", - - // "browse.startsWith.type_date": "Or type in a date (year-month):", - "browse.startsWith.type_date": "O escriba una fecha (año-mes):", - - // "browse.startsWith.type_text": "Or enter first few letters:", - "browse.startsWith.type_text": "O ingrese las primeras letras:", - - // "browse.title": "Browsing {{ collection }} by {{ field }} {{ value }}", - "browse.title": "Navegando {{ collection }} por {{ field }} {{ value }}", - - - // "chips.remove": "Remove chip", - "chips.remove": "Eliminar chip", - - - - // "collection.create.head": "Create a Collection", - "collection.create.head": "Crear una Colección", - - // "collection.create.notifications.success": "Successfully created the Collection", - // TODO New key - Add a translation - "collection.create.notifications.success": "Successfully created the Collection", - - // "collection.create.sub-head": "Create a Collection for Community {{ parent }}", - "collection.create.sub-head": "Crear una Colección por Comunidad {{ parent }}", - - // "collection.delete.cancel": "Cancel", - "collection.delete.cancel": "Cancelar", - - // "collection.delete.confirm": "Confirm", - "collection.delete.confirm": "Confirmar", - - // "collection.delete.head": "Delete Collection", - "collection.delete.head": "Eliminar la Colección", - - // "collection.delete.notification.fail": "Collection could not be deleted", - "collection.delete.notification.fail": "La Colección no puede ser eliminada", - - // "collection.delete.notification.success": "Successfully deleted collection", - "collection.delete.notification.success": "Colección eliminada exitosamente", - - // "collection.delete.text": "Are you sure you want to delete collection \"{{ dso }}\"", - "collection.delete.text": "Está seguro de eliminar la colección \"{{ dso }}\"", - - - - // "collection.edit.delete": "Delete this collection", - "collection.edit.delete": "Eliminar esta colección", - - // "collection.edit.head": "Edit Collection", - "collection.edit.head": "Editar la Colección", - - // "collection.edit.breadcrumbs": "Edit Collection", - // TODO New key - Add a translation - "collection.edit.breadcrumbs": "Edit Collection", - - - - // "collection.edit.item-mapper.cancel": "Cancel", - "collection.edit.item-mapper.cancel": "Cancelar", - - // "collection.edit.item-mapper.collection": "Collection: \"{{name}}\"", - "collection.edit.item-mapper.collection": "Colección: \"{{name}}\"", - - // "collection.edit.item-mapper.confirm": "Map selected items", - "collection.edit.item-mapper.confirm": "Mapa de ítemes seleccionados", - - // "collection.edit.item-mapper.description": "This is the item mapper tool that allows collection administrators to map items from other collections into this collection. You can search for items from other collections and map them, or browse the list of currently mapped items.", - "collection.edit.item-mapper.description": "Esta es la herramienta de asignación de ítemes que permite a los administradores de colecciones asignar ítemes de otras colecciones a esta colección. Puede buscar ítemes de otras colecciones y asignarlos, o navegar la lista de elementos asignados actualmente.", - - // "collection.edit.item-mapper.head": "Item Mapper - Map Items from Other Collections", - "collection.edit.item-mapper.head": "Asignación de ítem - Asignación de ítemes para otras Colecciones", - - // "collection.edit.item-mapper.no-search": "Please enter a query to search", - "collection.edit.item-mapper.no-search": "Favor ingrese una consulta para buscar", - - // "collection.edit.item-mapper.notifications.map.error.content": "Errors occurred for mapping of {{amount}} items.", - "collection.edit.item-mapper.notifications.map.error.content": "Errores encontrados para asignar {{amount}} ítemes.", - - // "collection.edit.item-mapper.notifications.map.error.head": "Mapping errors", - "collection.edit.item-mapper.notifications.map.error.head": "Errores asignados", - - // "collection.edit.item-mapper.notifications.map.success.content": "Successfully mapped {{amount}} items.", - "collection.edit.item-mapper.notifications.map.success.content": "Exitosamente asignado {{amount}} ítemes.", - - // "collection.edit.item-mapper.notifications.map.success.head": "Mapping completed", - "collection.edit.item-mapper.notifications.map.success.head": "Asignación completa", - - // "collection.edit.item-mapper.notifications.unmap.error.content": "Errors occurred for removing the mappings of {{amount}} items.", - "collection.edit.item-mapper.notifications.unmap.error.content": "Errores encontrados al eliminar la asignación de {{amount}} ítemes.", - - // "collection.edit.item-mapper.notifications.unmap.error.head": "Remove mapping errors", - "collection.edit.item-mapper.notifications.unmap.error.head": "Eliminar errores de asignación", - - // "collection.edit.item-mapper.notifications.unmap.success.content": "Successfully removed the mappings of {{amount}} items.", - "collection.edit.item-mapper.notifications.unmap.success.content": "Exitosamente eliminado las asignaciones de {{amount}} ítemes.", - - // "collection.edit.item-mapper.notifications.unmap.success.head": "Remove mapping completed", - "collection.edit.item-mapper.notifications.unmap.success.head": "Asignación eliminada completa", - - // "collection.edit.item-mapper.remove": "Remove selected item mappings", - "collection.edit.item-mapper.remove": "Eliminar asignaciones de ítemes seleccionados", - - // "collection.edit.item-mapper.tabs.browse": "Browse mapped items", - "collection.edit.item-mapper.tabs.browse": "Navegar asignación de ítemes", - - // "collection.edit.item-mapper.tabs.map": "Map new items", - "collection.edit.item-mapper.tabs.map": "Asignar nuevo ítemes", - - - - // "collection.edit.logo.label": "Collection logo", - // TODO New key - Add a translation - "collection.edit.logo.label": "Collection logo", - - // "collection.edit.logo.notifications.add.error": "Uploading Collection logo failed. Please verify the content before retrying.", - // TODO New key - Add a translation - "collection.edit.logo.notifications.add.error": "Uploading Collection logo failed. Please verify the content before retrying.", - - // "collection.edit.logo.notifications.add.success": "Upload Collection logo successful.", - // TODO New key - Add a translation - "collection.edit.logo.notifications.add.success": "Upload Collection logo successful.", - - // "collection.edit.logo.notifications.delete.success.title": "Logo deleted", - // TODO New key - Add a translation - "collection.edit.logo.notifications.delete.success.title": "Logo deleted", - - // "collection.edit.logo.notifications.delete.success.content": "Successfully deleted the collection's logo", - // TODO New key - Add a translation - "collection.edit.logo.notifications.delete.success.content": "Successfully deleted the collection's logo", - - // "collection.edit.logo.notifications.delete.error.title": "Error deleting logo", - // TODO New key - Add a translation - "collection.edit.logo.notifications.delete.error.title": "Error deleting logo", - - // "collection.edit.logo.upload": "Drop a Collection Logo to upload", - // TODO New key - Add a translation - "collection.edit.logo.upload": "Drop a Collection Logo to upload", - - - - // "collection.edit.notifications.success": "Successfully edited the Collection", - // TODO New key - Add a translation - "collection.edit.notifications.success": "Successfully edited the Collection", - - // "collection.edit.return": "Return", - // TODO New key - Add a translation - "collection.edit.return": "Return", - - - - // "collection.edit.tabs.curate.head": "Curate", - // TODO New key - Add a translation - "collection.edit.tabs.curate.head": "Curate", - - // "collection.edit.tabs.curate.title": "Collection Edit - Curate", - // TODO New key - Add a translation - "collection.edit.tabs.curate.title": "Collection Edit - Curate", - - // "collection.edit.tabs.metadata.head": "Edit Metadata", - // TODO New key - Add a translation - "collection.edit.tabs.metadata.head": "Edit Metadata", - - // "collection.edit.tabs.metadata.title": "Collection Edit - Metadata", - // TODO New key - Add a translation - "collection.edit.tabs.metadata.title": "Collection Edit - Metadata", - - // "collection.edit.tabs.roles.head": "Assign Roles", - // TODO New key - Add a translation - "collection.edit.tabs.roles.head": "Assign Roles", - - // "collection.edit.tabs.roles.title": "Collection Edit - Roles", - // TODO New key - Add a translation - "collection.edit.tabs.roles.title": "Collection Edit - Roles", - - // "collection.edit.tabs.source.external": "This collection harvests its content from an external source", - // TODO New key - Add a translation - "collection.edit.tabs.source.external": "This collection harvests its content from an external source", - - // "collection.edit.tabs.source.form.errors.oaiSource.required": "You must provide a set id of the target collection.", - // TODO New key - Add a translation - "collection.edit.tabs.source.form.errors.oaiSource.required": "You must provide a set id of the target collection.", - - // "collection.edit.tabs.source.form.harvestType": "Content being harvested", - // TODO New key - Add a translation - "collection.edit.tabs.source.form.harvestType": "Content being harvested", - - // "collection.edit.tabs.source.form.head": "Configure an external source", - // TODO New key - Add a translation - "collection.edit.tabs.source.form.head": "Configure an external source", - - // "collection.edit.tabs.source.form.metadataConfigId": "Metadata Format", - // TODO New key - Add a translation - "collection.edit.tabs.source.form.metadataConfigId": "Metadata Format", - - // "collection.edit.tabs.source.form.oaiSetId": "OAI specific set id", - // TODO New key - Add a translation - "collection.edit.tabs.source.form.oaiSetId": "OAI specific set id", - - // "collection.edit.tabs.source.form.oaiSource": "OAI Provider", - // TODO New key - Add a translation - "collection.edit.tabs.source.form.oaiSource": "OAI Provider", - - // "collection.edit.tabs.source.form.options.harvestType.METADATA_AND_BITSTREAMS": "Harvest metadata and bitstreams (requires ORE support)", - // TODO New key - Add a translation - "collection.edit.tabs.source.form.options.harvestType.METADATA_AND_BITSTREAMS": "Harvest metadata and bitstreams (requires ORE support)", - - // "collection.edit.tabs.source.form.options.harvestType.METADATA_AND_REF": "Harvest metadata and references to bitstreams (requires ORE support)", - // TODO New key - Add a translation - "collection.edit.tabs.source.form.options.harvestType.METADATA_AND_REF": "Harvest metadata and references to bitstreams (requires ORE support)", - - // "collection.edit.tabs.source.form.options.harvestType.METADATA_ONLY": "Harvest metadata only", - // TODO New key - Add a translation - "collection.edit.tabs.source.form.options.harvestType.METADATA_ONLY": "Harvest metadata only", - - // "collection.edit.tabs.source.head": "Content Source", - // TODO New key - Add a translation - "collection.edit.tabs.source.head": "Content Source", - - // "collection.edit.tabs.source.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", - // TODO New key - Add a translation - "collection.edit.tabs.source.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", - - // "collection.edit.tabs.source.notifications.discarded.title": "Changed discarded", - // TODO New key - Add a translation - "collection.edit.tabs.source.notifications.discarded.title": "Changed discarded", - - // "collection.edit.tabs.source.notifications.invalid.content": "Your changes were not saved. Please make sure all fields are valid before you save.", - // TODO New key - Add a translation - "collection.edit.tabs.source.notifications.invalid.content": "Your changes were not saved. Please make sure all fields are valid before you save.", - - // "collection.edit.tabs.source.notifications.invalid.title": "Metadata invalid", - // TODO New key - Add a translation - "collection.edit.tabs.source.notifications.invalid.title": "Metadata invalid", - - // "collection.edit.tabs.source.notifications.saved.content": "Your changes to this collection's content source were saved.", - // TODO New key - Add a translation - "collection.edit.tabs.source.notifications.saved.content": "Your changes to this collection's content source were saved.", - - // "collection.edit.tabs.source.notifications.saved.title": "Content Source saved", - // TODO New key - Add a translation - "collection.edit.tabs.source.notifications.saved.title": "Content Source saved", - - // "collection.edit.tabs.source.title": "Collection Edit - Content Source", - // TODO New key - Add a translation - "collection.edit.tabs.source.title": "Collection Edit - Content Source", - - - - // "collection.form.abstract": "Short Description", - "collection.form.abstract": "Descripción breve", - - // "collection.form.description": "Introductory text (HTML)", - "collection.form.description": "Texto introductorio (HTML)", - - // "collection.form.errors.title.required": "Please enter a collection name", - "collection.form.errors.title.required": "Favor ingrese un nombre a la colección", - - // "collection.form.license": "License", - "collection.form.license": "Licencia", - - // "collection.form.provenance": "Provenance", - "collection.form.provenance": "Procedencia", - - // "collection.form.rights": "Copyright text (HTML)", - "collection.form.rights": "Texto de copyright (HTML)", - - // "collection.form.tableofcontents": "News (HTML)", - "collection.form.tableofcontents": "Noticias (HTML)", - - // "collection.form.title": "Name", - "collection.form.title": "Nombre", - - - - // "collection.page.browse.recent.head": "Recent Submissions", - "collection.page.browse.recent.head": "Envíos recientes", - - // "collection.page.browse.recent.empty": "No items to show", - "collection.page.browse.recent.empty": "No ítemes para mostrar", - - // "collection.page.handle": "Permanent URI for this collection", - "collection.page.handle": "URI permanente para esta colección", - - // "collection.page.license": "License", - "collection.page.license": "Licencia", - - // "collection.page.news": "News", - "collection.page.news": "Noticias", - - - - // "collection.select.confirm": "Confirm selected", - "collection.select.confirm": "Confirmar la selección", - - // "collection.select.empty": "No collections to show", - "collection.select.empty": "No hay colecciones para mostrar", - - // "collection.select.table.title": "Title", - "collection.select.table.title": "Título", - - - - // "collection.source.update.notifications.error.content": "The provided settings have been tested and didn't work.", - // TODO New key - Add a translation - "collection.source.update.notifications.error.content": "The provided settings have been tested and didn't work.", - - // "collection.source.update.notifications.error.title": "Server Error", - // TODO New key - Add a translation - "collection.source.update.notifications.error.title": "Server Error", - - - - // "communityList.tabTitle": "DSpace - Community List", - // TODO New key - Add a translation - "communityList.tabTitle": "DSpace - Community List", - - // "communityList.title": "List of Communities", - // TODO New key - Add a translation - "communityList.title": "List of Communities", - - // "communityList.showMore": "Show More", - // TODO New key - Add a translation - "communityList.showMore": "Show More", - - - - // "community.create.head": "Create a Community", - "community.create.head": "Crear una Comunidad", - - // "community.create.notifications.success": "Successfully created the Community", - // TODO New key - Add a translation - "community.create.notifications.success": "Successfully created the Community", - - // "community.create.sub-head": "Create a Sub-Community for Community {{ parent }}", - "community.create.sub-head": "Crear una Sub-Comunidad por Communidad {{ parent }}", - - // "community.delete.cancel": "Cancel", - "community.delete.cancel": "Cancelar", - - // "community.delete.confirm": "Confirm", - "community.delete.confirm": "Confirmar", - - // "community.delete.head": "Delete Community", - "community.delete.head": "Eliminar Comunidad", - - // "community.delete.notification.fail": "Community could not be deleted", - "community.delete.notification.fail": "Esta comunidad no puede ser eliminada", - - // "community.delete.notification.success": "Successfully deleted community", - "community.delete.notification.success": "Comunidad eliminada exitosamente", - - // "community.delete.text": "Are you sure you want to delete community \"{{ dso }}\"", - "community.delete.text": "Está seguro de eliminar la comunidad \"{{ dso }}\"", - - // "community.edit.delete": "Delete this community", - "community.edit.delete": "Eliminar esta comunidad", - - // "community.edit.head": "Edit Community", - "community.edit.head": "Editar la Comunidad", - - // "community.edit.breadcrumbs": "Edit Community", - // TODO New key - Add a translation - "community.edit.breadcrumbs": "Edit Community", - - - // "community.edit.logo.label": "Community logo", - // TODO New key - Add a translation - "community.edit.logo.label": "Community logo", - - // "community.edit.logo.notifications.add.error": "Uploading Community logo failed. Please verify the content before retrying.", - // TODO New key - Add a translation - "community.edit.logo.notifications.add.error": "Uploading Community logo failed. Please verify the content before retrying.", - - // "community.edit.logo.notifications.add.success": "Upload Community logo successful.", - // TODO New key - Add a translation - "community.edit.logo.notifications.add.success": "Upload Community logo successful.", - - // "community.edit.logo.notifications.delete.success.title": "Logo deleted", - // TODO New key - Add a translation - "community.edit.logo.notifications.delete.success.title": "Logo deleted", - - // "community.edit.logo.notifications.delete.success.content": "Successfully deleted the community's logo", - // TODO New key - Add a translation - "community.edit.logo.notifications.delete.success.content": "Successfully deleted the community's logo", - - // "community.edit.logo.notifications.delete.error.title": "Error deleting logo", - // TODO New key - Add a translation - "community.edit.logo.notifications.delete.error.title": "Error deleting logo", - - // "community.edit.logo.upload": "Drop a Community Logo to upload", - // TODO New key - Add a translation - "community.edit.logo.upload": "Drop a Community Logo to upload", - - - - // "community.edit.notifications.success": "Successfully edited the Community", - // TODO New key - Add a translation - "community.edit.notifications.success": "Successfully edited the Community", - - // "community.edit.return": "Return", - // TODO New key - Add a translation - "community.edit.return": "Return", - - - - // "community.edit.tabs.curate.head": "Curate", - // TODO New key - Add a translation - "community.edit.tabs.curate.head": "Curate", - - // "community.edit.tabs.curate.title": "Community Edit - Curate", - // TODO New key - Add a translation - "community.edit.tabs.curate.title": "Community Edit - Curate", - - // "community.edit.tabs.metadata.head": "Edit Metadata", - // TODO New key - Add a translation - "community.edit.tabs.metadata.head": "Edit Metadata", - - // "community.edit.tabs.metadata.title": "Community Edit - Metadata", - // TODO New key - Add a translation - "community.edit.tabs.metadata.title": "Community Edit - Metadata", - - // "community.edit.tabs.roles.head": "Assign Roles", - // TODO New key - Add a translation - "community.edit.tabs.roles.head": "Assign Roles", - - // "community.edit.tabs.roles.title": "Community Edit - Roles", - // TODO New key - Add a translation - "community.edit.tabs.roles.title": "Community Edit - Roles", - - - - // "community.form.abstract": "Short Description", - "community.form.abstract": "Descripción breve", - - // "community.form.description": "Introductory text (HTML)", - "community.form.description": "Texto introductorio (HTML)", - - // "community.form.errors.title.required": "Please enter a community name", - "community.form.errors.title.required": "Favor ingresar el nombre de la comunidad", - - // "community.form.rights": "Copyright text (HTML)", - "community.form.rights": "Texto de copyright (HTML)", - - // "community.form.tableofcontents": "News (HTML)", - "community.form.tableofcontents": "Noticias (HTML)", - - // "community.form.title": "Name", - "community.form.title": "Nombre", - - // "community.page.handle": "Permanent URI for this community", - "community.page.handle": "URI permanente para esta comunidad", - - // "community.page.license": "License", - "community.page.license": "Licencia", - - // "community.page.news": "News", - "community.page.news": "Noticias", - - // "community.all-lists.head": "Subcommunities and Collections", - "community.all-lists.head": "Subcomunidades y Colecciones", - - // "community.sub-collection-list.head": "Collections of this Community", - "community.sub-collection-list.head": "Colecciones de esta Comunidad", - - // "community.sub-community-list.head": "Communities of this Community", - "community.sub-community-list.head": "Comunidades de esta Comunidad", - - - // "dso-selector.create.collection.head": "New collection", - "dso-selector.create.collection.head": "Nueva colección", - - // "dso-selector.create.community.head": "New community", - "dso-selector.create.community.head": "Nueva comunidad", - - // "dso-selector.create.community.sub-level": "Create a new community in", - "dso-selector.create.community.sub-level": "Crear una nueva comunidad en", - - // "dso-selector.create.community.top-level": "Create a new top-level community", - "dso-selector.create.community.top-level": "Crear una nueva comunidad de nivel superior", - - // "dso-selector.create.item.head": "New item", - "dso-selector.create.item.head": "Nuevo ítem", - - // "dso-selector.edit.collection.head": "Edit collection", - "dso-selector.edit.collection.head": "Editar colección", - - // "dso-selector.edit.community.head": "Edit community", - "dso-selector.edit.community.head": "Editar comunidad", - - // "dso-selector.edit.item.head": "Edit item", - "dso-selector.edit.item.head": "Editar ítem", - - // "dso-selector.no-results": "No {{ type }} found", - "dso-selector.no-results": "No se ha encontrado {{ type }}", - - // "dso-selector.placeholder": "Search for a {{ type }}", - "dso-selector.placeholder": "Buscar por {{ type }}", - - - - // "error.bitstream": "Error fetching bitstream", - // TODO New key - Add a translation - "error.bitstream": "Error fetching bitstream", - - // "error.browse-by": "Error fetching items", - "error.browse-by": "Error al recuperar los ítemes", - - // "error.collection": "Error fetching collection", - "error.collection": "Error al recuperar la colección", - - // "error.collections": "Error fetching collections", - "error.collections": "Error al recuperar las colecciones", - - // "error.community": "Error fetching community", - "error.community": "Error al recuperar la comunidad", - - // "error.identifier": "No item found for the identifier", - "error.identifier": "No se ha encontrado ningún ítem para el identificador.", - - // "error.default": "Error", - "error.default": "Error", - - // "error.item": "Error fetching item", - "error.item": "Error al recuperar el ítem", - - // "error.items": "Error fetching items", - "error.items": "Error al recuperar los ítemes", - - // "error.objects": "Error fetching objects", - "error.objects": "Error al recuperar los objetos", - - // "error.recent-submissions": "Error fetching recent submissions", - "error.recent-submissions": "Error al recuperar los envíos recientes", - - // "error.search-results": "Error fetching search results", - "error.search-results": "Error al recuperar los resultados de búsqueda", - - // "error.sub-collections": "Error fetching sub-collections", - "error.sub-collections": "Error al recuperar las sub-colecciones", - - // "error.sub-communities": "Error fetching sub-communities", - "error.sub-communities": "Error al recuperar las sub-comunidades", - - // "error.submission.sections.init-form-error": "An error occurred during section initialize, please check your input-form configuration. Details are below :

", - "error.submission.sections.init-form-error": "Se produjo un error ocurrió durante el inicio de sesión, favor verifique su configuración del formulario de entrada. Los detalles están abajo :

", - - // "error.top-level-communities": "Error fetching top-level communities", - "error.top-level-communities": "Error al recuperar las comunidades de nivel superior", - - // "error.validation.license.notgranted": "You must grant this license to complete your submission. If you are unable to grant this license at this time you may save your work and return later or remove the submission.", - "error.validation.license.notgranted": "Debe otorgar esta licencia para completar su envío. Si no puede otorgar esta licencia en este momento, puede guardar su trabajo y regresar más tarde o eliminar el envío.", - - // "error.validation.pattern": "This input is restricted by the current pattern: {{ pattern }}.", - "error.validation.pattern": "Esta entrada está restringida por el patrón actual: {{ pattern }}.", - - // "error.validation.filerequired": "The file upload is mandatory", - // TODO New key - Add a translation - "error.validation.filerequired": "The file upload is mandatory", - - - - // "footer.copyright": "copyright © 2002-{{ year }}", - "footer.copyright": "derechos de autor © 2002-{{ year }}", - - // "footer.link.dspace": "DSpace software", - "footer.link.dspace": "Software DSpace", - - // "footer.link.duraspace": "DuraSpace", - "footer.link.duraspace": "DuraSpace", - - - // "form.add": "Add", - // TODO New key - Add a translation - "form.add": "Add", - - // "form.add-help": "Click here to add the current entry and to add another one", - // TODO New key - Add a translation - "form.add-help": "Click here to add the current entry and to add another one", - - // "form.cancel": "Cancel", - "form.cancel": "Cancelar", - - // "form.clear": "Clear", - "form.clear": "Limpiar", - - // "form.clear-help": "Click here to remove the selected value", - "form.clear-help": "Haga clic aquí para eliminar el valor seleccionado.", - - // "form.edit": "Edit", - "form.edit": "Editar", - - // "form.edit-help": "Click here to edit the selected value", - "form.edit-help": "Haga clic aquí para editar el valor seleccionado", - - // "form.first-name": "First name", - "form.first-name": "Primer nombre", - - // "form.group-collapse": "Collapse", - "form.group-collapse": "Contraer", - - // "form.group-collapse-help": "Click here to collapse", - "form.group-collapse-help": "Clic aquí para contraer", - - // "form.group-expand": "Expand", - "form.group-expand": "Expandir", - - // "form.group-expand-help": "Click here to expand and add more elements", - "form.group-expand-help": "Clic aquí para expandir and agregar más elementos", - - // "form.last-name": "Last name", - "form.last-name": "Apellido", - - // "form.loading": "Loading...", - "form.loading": "Cargando...", - - // "form.lookup": "Lookup", - // TODO New key - Add a translation - "form.lookup": "Lookup", - - // "form.lookup-help": "Click here to look up an existing relation", - // TODO New key - Add a translation - "form.lookup-help": "Click here to look up an existing relation", - - // "form.no-results": "No results found", - "form.no-results": "No se han encontrado resultados", - - // "form.no-value": "No value entered", - "form.no-value": "Ningún valor ingresado", - - // "form.other-information": {}, - "form.other-information": {}, - - // "form.remove": "Remove", - "form.remove": "Eliminar", - - // "form.save": "Save", - "form.save": "Guardar", - - // "form.save-help": "Save changes", - "form.save-help": "Guardar cambios", - - // "form.search": "Search", - "form.search": "Buscar", - - // "form.search-help": "Click here to looking for an existing correspondence", - "form.search-help": "Haga clic aquí para buscar una correspondencia existente", - - // "form.submit": "Submit", - "form.submit": "Enviar", - - - - // "home.description": "", - "home.description": "", - - // "home.title": "DSpace Angular :: Home", - "home.title": "DSpace Angular :: Inicio", - - // "home.top-level-communities.head": "Communities in DSpace", - "home.top-level-communities.head": "Comunidades en DSpace", - - // "home.top-level-communities.help": "Select a community to browse its collections.", - "home.top-level-communities.help": "Seleccionar una comunidad para navegar sus colecciones.", - - - - - // "item.bitstreams.upload.bundle": "Bundle", - // TODO New key - Add a translation - "item.bitstreams.upload.bundle": "Bundle", - - // "item.bitstreams.upload.bundle.placeholder": "Select a bundle", - // TODO New key - Add a translation - "item.bitstreams.upload.bundle.placeholder": "Select a bundle", - - // "item.bitstreams.upload.bundle.new": "Create bundle", - // TODO New key - Add a translation - "item.bitstreams.upload.bundle.new": "Create bundle", - - // "item.bitstreams.upload.bundles.empty": "This item doesn\'t contain any bundles to upload a bitstream to.", - // TODO New key - Add a translation - "item.bitstreams.upload.bundles.empty": "This item doesn\'t contain any bundles to upload a bitstream to.", - - // "item.bitstreams.upload.cancel": "Cancel", - // TODO New key - Add a translation - "item.bitstreams.upload.cancel": "Cancel", - - // "item.bitstreams.upload.drop-message": "Drop a file to upload", - // TODO New key - Add a translation - "item.bitstreams.upload.drop-message": "Drop a file to upload", - - // "item.bitstreams.upload.item": "Item: ", - // TODO New key - Add a translation - "item.bitstreams.upload.item": "Item: ", - - // "item.bitstreams.upload.notifications.bundle.created.content": "Successfully created new bundle.", - // TODO New key - Add a translation - "item.bitstreams.upload.notifications.bundle.created.content": "Successfully created new bundle.", - - // "item.bitstreams.upload.notifications.bundle.created.title": "Created bundle", - // TODO New key - Add a translation - "item.bitstreams.upload.notifications.bundle.created.title": "Created bundle", - - // "item.bitstreams.upload.notifications.upload.failed": "Upload failed. Please verify the content before retrying.", - // TODO New key - Add a translation - "item.bitstreams.upload.notifications.upload.failed": "Upload failed. Please verify the content before retrying.", - - // "item.bitstreams.upload.title": "Upload bitstream", - // TODO New key - Add a translation - "item.bitstreams.upload.title": "Upload bitstream", - - - - // "item.edit.bitstreams.bundle.edit.buttons.upload": "Upload", - // TODO New key - Add a translation - "item.edit.bitstreams.bundle.edit.buttons.upload": "Upload", - - // "item.edit.bitstreams.bundle.displaying": "Currently displaying {{ amount }} bitstreams of {{ total }}.", - // TODO New key - Add a translation - "item.edit.bitstreams.bundle.displaying": "Currently displaying {{ amount }} bitstreams of {{ total }}.", - - // "item.edit.bitstreams.bundle.load.all": "Load all ({{ total }})", - // TODO New key - Add a translation - "item.edit.bitstreams.bundle.load.all": "Load all ({{ total }})", - - // "item.edit.bitstreams.bundle.load.more": "Load more", - // TODO New key - Add a translation - "item.edit.bitstreams.bundle.load.more": "Load more", - - // "item.edit.bitstreams.bundle.name": "BUNDLE: {{ name }}", - // TODO New key - Add a translation - "item.edit.bitstreams.bundle.name": "BUNDLE: {{ name }}", - - // "item.edit.bitstreams.discard-button": "Discard", - // TODO New key - Add a translation - "item.edit.bitstreams.discard-button": "Discard", - - // "item.edit.bitstreams.edit.buttons.download": "Download", - // TODO New key - Add a translation - "item.edit.bitstreams.edit.buttons.download": "Download", - - // "item.edit.bitstreams.edit.buttons.drag": "Drag", - // TODO New key - Add a translation - "item.edit.bitstreams.edit.buttons.drag": "Drag", - - // "item.edit.bitstreams.edit.buttons.edit": "Edit", - // TODO New key - Add a translation - "item.edit.bitstreams.edit.buttons.edit": "Edit", - - // "item.edit.bitstreams.edit.buttons.remove": "Remove", - // TODO New key - Add a translation - "item.edit.bitstreams.edit.buttons.remove": "Remove", - - // "item.edit.bitstreams.edit.buttons.undo": "Undo changes", - // TODO New key - Add a translation - "item.edit.bitstreams.edit.buttons.undo": "Undo changes", - - // "item.edit.bitstreams.empty": "This item doesn't contain any bitstreams. Click the upload button to create one.", - // TODO New key - Add a translation - "item.edit.bitstreams.empty": "This item doesn't contain any bitstreams. Click the upload button to create one.", - - // "item.edit.bitstreams.headers.actions": "Actions", - // TODO New key - Add a translation - "item.edit.bitstreams.headers.actions": "Actions", - - // "item.edit.bitstreams.headers.bundle": "Bundle", - // TODO New key - Add a translation - "item.edit.bitstreams.headers.bundle": "Bundle", - - // "item.edit.bitstreams.headers.description": "Description", - // TODO New key - Add a translation - "item.edit.bitstreams.headers.description": "Description", - - // "item.edit.bitstreams.headers.format": "Format", - // TODO New key - Add a translation - "item.edit.bitstreams.headers.format": "Format", - - // "item.edit.bitstreams.headers.name": "Name", - // TODO New key - Add a translation - "item.edit.bitstreams.headers.name": "Name", - - // "item.edit.bitstreams.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", - // TODO New key - Add a translation - "item.edit.bitstreams.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", - - // "item.edit.bitstreams.notifications.discarded.title": "Changes discarded", - // TODO New key - Add a translation - "item.edit.bitstreams.notifications.discarded.title": "Changes discarded", - - // "item.edit.bitstreams.notifications.move.failed.title": "Error moving bitstreams", - // TODO New key - Add a translation - "item.edit.bitstreams.notifications.move.failed.title": "Error moving bitstreams", - - // "item.edit.bitstreams.notifications.move.saved.content": "Your move changes to this item's bitstreams and bundles have been saved.", - // TODO New key - Add a translation - "item.edit.bitstreams.notifications.move.saved.content": "Your move changes to this item's bitstreams and bundles have been saved.", - - // "item.edit.bitstreams.notifications.move.saved.title": "Move changes saved", - // TODO New key - Add a translation - "item.edit.bitstreams.notifications.move.saved.title": "Move changes saved", - - // "item.edit.bitstreams.notifications.outdated.content": "The item you're currently working on has been changed by another user. Your current changes are discarded to prevent conflicts", - // TODO New key - Add a translation - "item.edit.bitstreams.notifications.outdated.content": "The item you're currently working on has been changed by another user. Your current changes are discarded to prevent conflicts", - - // "item.edit.bitstreams.notifications.outdated.title": "Changes outdated", - // TODO New key - Add a translation - "item.edit.bitstreams.notifications.outdated.title": "Changes outdated", - - // "item.edit.bitstreams.notifications.remove.failed.title": "Error deleting bitstream", - // TODO New key - Add a translation - "item.edit.bitstreams.notifications.remove.failed.title": "Error deleting bitstream", - - // "item.edit.bitstreams.notifications.remove.saved.content": "Your removal changes to this item's bitstreams have been saved.", - // TODO New key - Add a translation - "item.edit.bitstreams.notifications.remove.saved.content": "Your removal changes to this item's bitstreams have been saved.", - - // "item.edit.bitstreams.notifications.remove.saved.title": "Removal changes saved", - // TODO New key - Add a translation - "item.edit.bitstreams.notifications.remove.saved.title": "Removal changes saved", - - // "item.edit.bitstreams.reinstate-button": "Undo", - // TODO New key - Add a translation - "item.edit.bitstreams.reinstate-button": "Undo", - - // "item.edit.bitstreams.save-button": "Save", - // TODO New key - Add a translation - "item.edit.bitstreams.save-button": "Save", - - // "item.edit.bitstreams.upload-button": "Upload", - // TODO New key - Add a translation - "item.edit.bitstreams.upload-button": "Upload", - - - - // "item.edit.delete.cancel": "Cancel", - "item.edit.delete.cancel": "Cancelar", - - // "item.edit.delete.confirm": "Delete", - "item.edit.delete.confirm": "Eliminar", - - // "item.edit.delete.description": "Are you sure this item should be completely deleted? Caution: At present, no tombstone would be left.", - "item.edit.delete.description": "¿Estás seguro de que este ítem debe eliminarse por completo? Precaución: en la actualidad no quedaría ningún tombstone.", - - // "item.edit.delete.error": "An error occurred while deleting the item", - "item.edit.delete.error": "Se produjo un error al eliminar el ítem.", - - // "item.edit.delete.header": "Delete item: {{ id }}", - "item.edit.delete.header": "Eliminar el ítem: {{ id }}", - - // "item.edit.delete.success": "The item has been deleted", - "item.edit.delete.success": "El ítem ha sido eliminado", - - // "item.edit.head": "Edit Item", - "item.edit.head": "Editar el ítem", - - // "item.edit.breadcrumbs": "Edit Item", - // TODO New key - Add a translation - "item.edit.breadcrumbs": "Edit Item", - - - - // "item.edit.item-mapper.buttons.add": "Map item to selected collections", - "item.edit.item-mapper.buttons.add": "Asignar el ítem a las colecciones seleccionadas", - - // "item.edit.item-mapper.buttons.remove": "Remove item's mapping for selected collections", - "item.edit.item-mapper.buttons.remove": "Eliminar la asignación de ítemes para las colecciones seleccionadas", - - // "item.edit.item-mapper.cancel": "Cancel", - "item.edit.item-mapper.cancel": "Cancelar", - - // "item.edit.item-mapper.description": "This is the item mapper tool that allows administrators to map this item to other collections. You can search for collections and map them, or browse the list of collections the item is currently mapped to.", - "item.edit.item-mapper.description": "Esta es la herramienta de asignación de ítemes que permite a los administradores asignar este ítem a otras colecciones. Puede buscar colecciones y asignarlas, o navegar la lista de colecciones a las que está asignado actualmente el ítem", - - // "item.edit.item-mapper.head": "Item Mapper - Map Item to Collections", - "item.edit.item-mapper.head": "Asignación de ítemes - Asignación del ítem a las Colecciones", - - // "item.edit.item-mapper.item": "Item: \"{{name}}\"", - "item.edit.item-mapper.item": "Item: \"{{name}}\"", - - // "item.edit.item-mapper.no-search": "Please enter a query to search", - "item.edit.item-mapper.no-search": "Favor ingrese una consulta para buscar", - - // "item.edit.item-mapper.notifications.add.error.content": "Errors occurred for mapping of item to {{amount}} collections.", - "item.edit.item-mapper.notifications.add.error.content": "Se produjeron errores al asignar el ítem a las {{amount}} colecciones.", - - // "item.edit.item-mapper.notifications.add.error.head": "Mapping errors", - "item.edit.item-mapper.notifications.add.error.head": "Errores de asignación", - - // "item.edit.item-mapper.notifications.add.success.content": "Successfully mapped item to {{amount}} collections.", - "item.edit.item-mapper.notifications.add.success.content": "Exitosamente asignado el ítem a las {{amount}} colecciones.", - - // "item.edit.item-mapper.notifications.add.success.head": "Mapping completed", - "item.edit.item-mapper.notifications.add.success.head": "Asignación completa", - - // "item.edit.item-mapper.notifications.remove.error.content": "Errors occurred for the removal of the mapping to {{amount}} collections.", - "item.edit.item-mapper.notifications.remove.error.content": "Se produjeron errores al eliminar la asignación a las {{amount}} colecciones.", - - // "item.edit.item-mapper.notifications.remove.error.head": "Removal of mapping errors", - "item.edit.item-mapper.notifications.remove.error.head": "Eliminación de errores de mapeo", - - // "item.edit.item-mapper.notifications.remove.success.content": "Successfully removed mapping of item to {{amount}} collections.", - "item.edit.item-mapper.notifications.remove.success.content": "Se eliminó con éxito la asignación del elemento a {{amount}} colecciones.", - - // "item.edit.item-mapper.notifications.remove.success.head": "Removal of mapping completed", - "item.edit.item-mapper.notifications.remove.success.head": "Eliminación completa de asignación", - - // "item.edit.item-mapper.tabs.browse": "Browse mapped collections", - "item.edit.item-mapper.tabs.browse": "Navegar colecciones asignadas", - - // "item.edit.item-mapper.tabs.map": "Map new collections", - "item.edit.item-mapper.tabs.map": "Asignar nuevas colecciones", - - - - // "item.edit.metadata.add-button": "Add", - "item.edit.metadata.add-button": "Agregar", - - // "item.edit.metadata.discard-button": "Discard", - "item.edit.metadata.discard-button": "Descartar", - - // "item.edit.metadata.edit.buttons.edit": "Edit", - "item.edit.metadata.edit.buttons.edit": "Editar", - - // "item.edit.metadata.edit.buttons.remove": "Remove", - "item.edit.metadata.edit.buttons.remove": "Eliminar", - - // "item.edit.metadata.edit.buttons.undo": "Undo changes", - "item.edit.metadata.edit.buttons.undo": "Deshacer cambios", - - // "item.edit.metadata.edit.buttons.unedit": "Stop editing", - "item.edit.metadata.edit.buttons.unedit": "Parar la edición", - - // "item.edit.metadata.headers.edit": "Edit", - "item.edit.metadata.headers.edit": "Editar", - - // "item.edit.metadata.headers.field": "Field", - "item.edit.metadata.headers.field": "Campo", - - // "item.edit.metadata.headers.language": "Lang", - "item.edit.metadata.headers.language": "Lenguaje", - - // "item.edit.metadata.headers.value": "Value", - "item.edit.metadata.headers.value": "Valor", - - // "item.edit.metadata.metadatafield.invalid": "Please choose a valid metadata field", - "item.edit.metadata.metadatafield.invalid": "Favor escoger un campo de metadato válido", - - // "item.edit.metadata.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", - "item.edit.metadata.notifications.discarded.content": "Los cambios fueron descartados. Para restablecer sus cambios, haga clic en el botón 'Deshacer'", - - // "item.edit.metadata.notifications.discarded.title": "Changed discarded", - "item.edit.metadata.notifications.discarded.title": "Cambio descartado", - - // "item.edit.metadata.notifications.invalid.content": "Your changes were not saved. Please make sure all fields are valid before you save.", - "item.edit.metadata.notifications.invalid.content": "No se guardaron los cambios. Asegúrese de que todos los campos sean válidos antes de guardar.", - - // "item.edit.metadata.notifications.invalid.title": "Metadata invalid", - "item.edit.metadata.notifications.invalid.title": "Metadatos inválidos", - - // "item.edit.metadata.notifications.outdated.content": "The item you're currently working on has been changed by another user. Your current changes are discarded to prevent conflicts", - "item.edit.metadata.notifications.outdated.content": "El ítem en el que está trabajando actualmente ha sido cambiado por otro usuario. Sus cambios actuales se descartan para evitar conflictos", - - // "item.edit.metadata.notifications.outdated.title": "Changed outdated", - "item.edit.metadata.notifications.outdated.title": "Cambio desactualizado", - - // "item.edit.metadata.notifications.saved.content": "Your changes to this item's metadata were saved.", - "item.edit.metadata.notifications.saved.content": "Se guaradaron los cambios de la metadata para este ítem.", - - // "item.edit.metadata.notifications.saved.title": "Metadata saved", - "item.edit.metadata.notifications.saved.title": "Metadatos guardados", - - // "item.edit.metadata.reinstate-button": "Undo", - "item.edit.metadata.reinstate-button": "Deshacer", - - // "item.edit.metadata.save-button": "Save", - "item.edit.metadata.save-button": "Guardar", - - - - // "item.edit.modify.overview.field": "Field", - "item.edit.modify.overview.field": "Campo", - - // "item.edit.modify.overview.language": "Language", - "item.edit.modify.overview.language": "Lenguaje", - - // "item.edit.modify.overview.value": "Value", - "item.edit.modify.overview.value": "Valor", - - - - // "item.edit.move.cancel": "Cancel", - "item.edit.move.cancel": "Cancelar", - - // "item.edit.move.description": "Select the collection you wish to move this item to. To narrow down the list of displayed collections, you can enter a search query in the box.", - "item.edit.move.description": "Seleccione la colección a la que desea mover este ítem. Para reducir la lista de colecciones mostradas, puede ingresar una consulta de búsqueda en el cuadro.", - - // "item.edit.move.error": "An error occurred when attempting to move the item", - "item.edit.move.error": "Ha ocurrido un error cuando ha intentado mover el ítem", - - // "item.edit.move.head": "Move item: {{id}}", - "item.edit.move.head": "Mover el ítem: {{id}}", - - // "item.edit.move.inheritpolicies.checkbox": "Inherit policies", - "item.edit.move.inheritpolicies.checkbox": "Heredar políticas", - - // "item.edit.move.inheritpolicies.description": "Inherit the default policies of the destination collection", - "item.edit.move.inheritpolicies.description": "Heredar las políticas predeterminadas de la colección de destino.", - - // "item.edit.move.move": "Move", - "item.edit.move.move": "Mover", - - // "item.edit.move.processing": "Moving...", - "item.edit.move.processing": "Moviendo...", - - // "item.edit.move.search.placeholder": "Enter a search query to look for collections", - "item.edit.move.search.placeholder": "Ingrese una consulta para buscar colecciones", - - // "item.edit.move.success": "The item has been moved successfully", - "item.edit.move.success": "El ítem ha sido movido exitosamente", - - // "item.edit.move.title": "Move item", - "item.edit.move.title": "Mover ítem", - - - - // "item.edit.private.cancel": "Cancel", - "item.edit.private.cancel": "Cancelar", - - // "item.edit.private.confirm": "Make it Private", - "item.edit.private.confirm": "Hacerle privado", - - // "item.edit.private.description": "Are you sure this item should be made private in the archive?", - "item.edit.private.description": "¿Está seguro de que este ítem debe ser privado en el archivo?", - - // "item.edit.private.error": "An error occurred while making the item private", - "item.edit.private.error": "Se produjo un error mientras se hacía privado el ítem.", - - // "item.edit.private.header": "Make item private: {{ id }}", - "item.edit.private.header": "Hacer privado el ítem: {{ id }}", - - // "item.edit.private.success": "The item is now private", - "item.edit.private.success": "Ahora está privado el ítem", - - - - // "item.edit.public.cancel": "Cancel", - "item.edit.public.cancel": "Cancelar", - - // "item.edit.public.confirm": "Make it Public", - "item.edit.public.confirm": "Hacerle público", - - // "item.edit.public.description": "Are you sure this item should be made public in the archive?", - "item.edit.public.description": "¿Estás seguro de que este ítem debe hacerse público en el archivo?", - - // "item.edit.public.error": "An error occurred while making the item public", - "item.edit.public.error": "Se produjo un error mientras se hacía público el ítem.", - - // "item.edit.public.header": "Make item public: {{ id }}", - "item.edit.public.header": "Hacer público el ítem: {{ id }}", - - // "item.edit.public.success": "The item is now public", - "item.edit.public.success": "Ahora está público el ítem", - - - - // "item.edit.reinstate.cancel": "Cancel", - "item.edit.reinstate.cancel": "Cancelar", - - // "item.edit.reinstate.confirm": "Reinstate", - "item.edit.reinstate.confirm": "Reintegrar", - - // "item.edit.reinstate.description": "Are you sure this item should be reinstated to the archive?", - "item.edit.reinstate.description": "¿Está seguro de que este ítem debe reintegrarse en el archivo?", - - // "item.edit.reinstate.error": "An error occurred while reinstating the item", - "item.edit.reinstate.error": "Se produjo un error al restablecer el ítem.", - - // "item.edit.reinstate.header": "Reinstate item: {{ id }}", - "item.edit.reinstate.header": "Reintegrar ítem: {{ id }}", - - // "item.edit.reinstate.success": "The item was reinstated successfully", - "item.edit.reinstate.success": "El ítem fue reintegrado exitosamente", - - - - // "item.edit.relationships.discard-button": "Discard", - "item.edit.relationships.discard-button": "Descartar", - - // "item.edit.relationships.edit.buttons.remove": "Remove", - "item.edit.relationships.edit.buttons.remove": "Remover", - - // "item.edit.relationships.edit.buttons.undo": "Undo changes", - "item.edit.relationships.edit.buttons.undo": "Deshacer cambios", - - // "item.edit.relationships.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", - "item.edit.relationships.notifications.discarded.content": "Los cambios fueron descartados. Para restablecer sus cambios, haga clic en el botón 'Deshacer'", - - // "item.edit.relationships.notifications.discarded.title": "Changes discarded", - "item.edit.relationships.notifications.discarded.title": "Cambios descartados", - - // "item.edit.relationships.notifications.failed.title": "Error deleting relationship", - "item.edit.relationships.notifications.failed.title": "Error al eliminar la relación", - - // "item.edit.relationships.notifications.outdated.content": "The item you're currently working on has been changed by another user. Your current changes are discarded to prevent conflicts", - "item.edit.relationships.notifications.outdated.content": "El ítem en el que está trabajando actualmente ha sido cambiado por otro usuario. Sus cambios actuales se descartan para evitar conflictos", - - // "item.edit.relationships.notifications.outdated.title": "Changes outdated", - "item.edit.relationships.notifications.outdated.title": "Cambio desactualizado", - - // "item.edit.relationships.notifications.saved.content": "Your changes to this item's relationships were saved.", - "item.edit.relationships.notifications.saved.content": "Se guardaron los cambios en las relaciones de este ítem.", - - // "item.edit.relationships.notifications.saved.title": "Relationships saved", - "item.edit.relationships.notifications.saved.title": "Relación guardada", - - // "item.edit.relationships.reinstate-button": "Undo", - "item.edit.relationships.reinstate-button": "Deshacer", - - // "item.edit.relationships.save-button": "Save", - "item.edit.relationships.save-button": "Guardar", - - - - // "item.edit.tabs.bitstreams.head": "Bitstreams", - // TODO Source message changed - Revise the translation - "item.edit.tabs.bitstreams.head": "Archivos del ítem", - - // "item.edit.tabs.bitstreams.title": "Item Edit - Bitstreams", - "item.edit.tabs.bitstreams.title": "Editar ítem - Archivos", - - // "item.edit.tabs.curate.head": "Curate", - "item.edit.tabs.curate.head": "Curar", - - // "item.edit.tabs.curate.title": "Item Edit - Curate", - "item.edit.tabs.curate.title": "Editar - Curar Item", - - // "item.edit.tabs.metadata.head": "Metadata", - // TODO Source message changed - Revise the translation - "item.edit.tabs.metadata.head": "Metadatos del ítem", - - // "item.edit.tabs.metadata.title": "Item Edit - Metadata", - "item.edit.tabs.metadata.title": "Editar ítem - Metadatos", - - // "item.edit.tabs.relationships.head": "Relationships", - // TODO Source message changed - Revise the translation - "item.edit.tabs.relationships.head": "Relacionador de ítem", - - // "item.edit.tabs.relationships.title": "Item Edit - Relationships", - "item.edit.tabs.relationships.title": "Editar ítem - Relacionador", - - // "item.edit.tabs.status.buttons.authorizations.button": "Authorizations...", - "item.edit.tabs.status.buttons.authorizations.button": "Autorizaciones...", - - // "item.edit.tabs.status.buttons.authorizations.label": "Edit item's authorization policies", - "item.edit.tabs.status.buttons.authorizations.label": "Editar políticas de autorización de ítemes", - - // "item.edit.tabs.status.buttons.delete.button": "Permanently delete", - "item.edit.tabs.status.buttons.delete.button": "Eliminar permanentemente", - - // "item.edit.tabs.status.buttons.delete.label": "Completely expunge item", - "item.edit.tabs.status.buttons.delete.label": "Ítem completamente eliminado", - - // "item.edit.tabs.status.buttons.mappedCollections.button": "Mapped collections", - "item.edit.tabs.status.buttons.mappedCollections.button": "Colecciones asignadas", - - // "item.edit.tabs.status.buttons.mappedCollections.label": "Manage mapped collections", - "item.edit.tabs.status.buttons.mappedCollections.label": "Gestionar colecciones asignadas", - - // "item.edit.tabs.status.buttons.move.button": "Move...", - "item.edit.tabs.status.buttons.move.button": "Mover...", - - // "item.edit.tabs.status.buttons.move.label": "Move item to another collection", - "item.edit.tabs.status.buttons.move.label": "Mover el ítem a otra colección", - - // "item.edit.tabs.status.buttons.private.button": "Make it private...", - "item.edit.tabs.status.buttons.private.button": "Hacerle privado...", - - // "item.edit.tabs.status.buttons.private.label": "Make item private", - "item.edit.tabs.status.buttons.private.label": "Hacer privado el ítem", - - // "item.edit.tabs.status.buttons.public.button": "Make it public...", - "item.edit.tabs.status.buttons.public.button": "Hacerle público...", - - // "item.edit.tabs.status.buttons.public.label": "Make item public", - "item.edit.tabs.status.buttons.public.label": "Hacer público el ítem", - - // "item.edit.tabs.status.buttons.reinstate.button": "Reinstate...", - "item.edit.tabs.status.buttons.reinstate.button": "Reintegrar...", - - // "item.edit.tabs.status.buttons.reinstate.label": "Reinstate item into the repository", - "item.edit.tabs.status.buttons.reinstate.label": "Reintegrar el ítem al repositorio", - - // "item.edit.tabs.status.buttons.withdraw.button": "Withdraw...", - "item.edit.tabs.status.buttons.withdraw.button": "Retirar...", - - // "item.edit.tabs.status.buttons.withdraw.label": "Withdraw item from the repository", - "item.edit.tabs.status.buttons.withdraw.label": "Retirar el ítem del repositorio", - - // "item.edit.tabs.status.description": "Welcome to the item management page. From here you can withdraw, reinstate, move or delete the item. You may also update or add new metadata / bitstreams on the other tabs.", - "item.edit.tabs.status.description": "Bienvenido a la página de gestión de ítemes. Desde aquí puede retirar, restablecer, mover o eliminar el ítem. También puede actualizar o agregar nuevos metadatos / archivos en las otras pestañas.", - - // "item.edit.tabs.status.head": "Status", - // TODO Source message changed - Revise the translation - "item.edit.tabs.status.head": "Estado del ítem", - - // "item.edit.tabs.status.labels.handle": "Handle", - "item.edit.tabs.status.labels.handle": "Handle", - - // "item.edit.tabs.status.labels.id": "Item Internal ID", - "item.edit.tabs.status.labels.id": "ID interno del ítem", - - // "item.edit.tabs.status.labels.itemPage": "Item Page", - "item.edit.tabs.status.labels.itemPage": "Página del ítem", - - // "item.edit.tabs.status.labels.lastModified": "Last Modified", - "item.edit.tabs.status.labels.lastModified": "Última modificación", - - // "item.edit.tabs.status.title": "Item Edit - Status", - "item.edit.tabs.status.title": "Editar ítem - Estado", - - // "item.edit.tabs.versionhistory.head": "Version History", - // TODO New key - Add a translation - "item.edit.tabs.versionhistory.head": "Version History", - - // "item.edit.tabs.versionhistory.title": "Item Edit - Version History", - // TODO New key - Add a translation - "item.edit.tabs.versionhistory.title": "Item Edit - Version History", - - // "item.edit.tabs.versionhistory.under-construction": "Editing or adding new versions is not yet possible in this user interface.", - // TODO New key - Add a translation - "item.edit.tabs.versionhistory.under-construction": "Editing or adding new versions is not yet possible in this user interface.", - - // "item.edit.tabs.view.head": "View Item", - "item.edit.tabs.view.head": "Ver ítem", - - // "item.edit.tabs.view.title": "Item Edit - View", - "item.edit.tabs.view.title": "Editar ítem - Ver", - - - - // "item.edit.withdraw.cancel": "Cancel", - "item.edit.withdraw.cancel": "Cancelar", - - // "item.edit.withdraw.confirm": "Withdraw", - "item.edit.withdraw.confirm": "Retirar", - - // "item.edit.withdraw.description": "Are you sure this item should be withdrawn from the archive?", - "item.edit.withdraw.description": "¿Estás seguro de que este ítem debe ser retirado del archivo?", - - // "item.edit.withdraw.error": "An error occurred while withdrawing the item", - "item.edit.withdraw.error": "Ha ocurrido un error mientras se retiraba el ítem", - - // "item.edit.withdraw.header": "Withdraw item: {{ id }}", - "item.edit.withdraw.header": "Retirar el ítem: {{ id }}", - - // "item.edit.withdraw.success": "The item was withdrawn successfully", - "item.edit.withdraw.success": "Fue retirado exitosamente el ítem", - - - - // "item.page.abstract": "Abstract", - "item.page.abstract": "Resumen", - - // "item.page.author": "Authors", - "item.page.author": "Autores", - - // "item.page.citation": "Citation", - "item.page.citation": "Citación", - - // "item.page.collections": "Collections", - "item.page.collections": "Colecciones", - - // "item.page.date": "Date", - "item.page.date": "Fecha", - - // "item.page.files": "Files", - "item.page.files": "Archivos", - - // "item.page.filesection.description": "Description:", - "item.page.filesection.description": "Descripción:", - - // "item.page.filesection.download": "Download", - "item.page.filesection.download": "Descargar", - - // "item.page.filesection.format": "Format:", - "item.page.filesection.format": "Formato:", - - // "item.page.filesection.name": "Name:", - "item.page.filesection.name": "Nombre:", - - // "item.page.filesection.size": "Size:", - "item.page.filesection.size": "Tamaño:", - - // "item.page.journal.search.title": "Articles in this journal", - "item.page.journal.search.title": "Artículos en esta revista", - - // "item.page.link.full": "Full item page", - "item.page.link.full": "Página completa del ítem", - - // "item.page.link.simple": "Simple item page", - "item.page.link.simple": "Página simple del ítem", - - // "item.page.person.search.title": "Articles by this author", - "item.page.person.search.title": "Artículos por este autor", - - // "item.page.related-items.view-more": "Show {{ amount }} more", - // TODO Source message changed - Revise the translation - "item.page.related-items.view-more": "Ver más", - - // "item.page.related-items.view-less": "Hide last {{ amount }}", - // TODO Source message changed - Revise the translation - "item.page.related-items.view-less": "View menos", - - // "item.page.relationships.isAuthorOfPublication": "Publications", - // TODO New key - Add a translation - "item.page.relationships.isAuthorOfPublication": "Publications", - - // "item.page.relationships.isJournalOfPublication": "Publications", - // TODO New key - Add a translation - "item.page.relationships.isJournalOfPublication": "Publications", - - // "item.page.relationships.isOrgUnitOfPerson": "Authors", - // TODO New key - Add a translation - "item.page.relationships.isOrgUnitOfPerson": "Authors", - - // "item.page.relationships.isOrgUnitOfProject": "Research Projects", - // TODO New key - Add a translation - "item.page.relationships.isOrgUnitOfProject": "Research Projects", - - // "item.page.subject": "Keywords", - "item.page.subject": "Claves", - - // "item.page.uri": "URI", - "item.page.uri": "URI", - - - - // "item.select.confirm": "Confirm selected", - "item.select.confirm": "Confirmar lo seleccionado", - - // "item.select.empty": "No items to show", - "item.select.empty": "No ítemes para mostrar", - - // "item.select.table.author": "Author", - "item.select.table.author": "Autor", - - // "item.select.table.collection": "Collection", - "item.select.table.collection": "Colección", - - // "item.select.table.title": "Title", - "item.select.table.title": "Título", - - - // "item.version.history.empty": "There are no other versions for this item yet.", - // TODO New key - Add a translation - "item.version.history.empty": "There are no other versions for this item yet.", - - // "item.version.history.head": "Version History", - // TODO New key - Add a translation - "item.version.history.head": "Version History", - - // "item.version.history.return": "Return", - // TODO New key - Add a translation - "item.version.history.return": "Return", - - // "item.version.history.selected": "Selected version", - // TODO New key - Add a translation - "item.version.history.selected": "Selected version", - - // "item.version.history.table.version": "Version", - // TODO New key - Add a translation - "item.version.history.table.version": "Version", - - // "item.version.history.table.item": "Item", - // TODO New key - Add a translation - "item.version.history.table.item": "Item", - - // "item.version.history.table.editor": "Editor", - // TODO New key - Add a translation - "item.version.history.table.editor": "Editor", - - // "item.version.history.table.date": "Date", - // TODO New key - Add a translation - "item.version.history.table.date": "Date", - - // "item.version.history.table.summary": "Summary", - // TODO New key - Add a translation - "item.version.history.table.summary": "Summary", - - - - // "item.version.notice": "This is not the latest version of this item. The latest version can be found here.", - // TODO New key - Add a translation - "item.version.notice": "This is not the latest version of this item. The latest version can be found here.", - - - - // "journal.listelement.badge": "Journal", - "journal.listelement.badge": "Revista", - - // "journal.page.description": "Description", - "journal.page.description": "Descripción", - - // "journal.page.editor": "Editor-in-Chief", - "journal.page.editor": "Editor-en-Jefe", - - // "journal.page.issn": "ISSN", - "journal.page.issn": "ISSN", - - // "journal.page.publisher": "Publisher", - "journal.page.publisher": "Editor", - - // "journal.page.titleprefix": "Journal: ", - "journal.page.titleprefix": "Revista: ", - - // "journal.search.results.head": "Journal Search Results", - "journal.search.results.head": "Resultados de búsqueda de revistas", - - // "journal.search.title": "DSpace Angular :: Journal Search", - "journal.search.title": "DSpace Angular :: Búsqueda de revistas", - - - - // "journalissue.listelement.badge": "Journal Issue", - "journalissue.listelement.badge": "Número de Revista", - - // "journalissue.page.description": "Description", - "journalissue.page.description": "Descripción", - - // "journalissue.page.issuedate": "Issue Date", - "journalissue.page.issuedate": "Fecha de Publicación", - - // "journalissue.page.journal-issn": "Journal ISSN", - "journalissue.page.journal-issn": "ISSN de Revista", - - // "journalissue.page.journal-title": "Journal Title", - "journalissue.page.journal-title": "Título de Revista", - - // "journalissue.page.keyword": "Keywords", - "journalissue.page.keyword": "Claves", - - // "journalissue.page.number": "Number", - "journalissue.page.number": "Número", - - // "journalissue.page.titleprefix": "Journal Issue: ", - "journalissue.page.titleprefix": "Número de Revista: ", - - - - // "journalvolume.listelement.badge": "Journal Volume", - "journalvolume.listelement.badge": "Volumen de la Revista", - - // "journalvolume.page.description": "Description", - "journalvolume.page.description": "Descripción", - - // "journalvolume.page.issuedate": "Issue Date", - "journalvolume.page.issuedate": "Fecha de Publicación", - - // "journalvolume.page.titleprefix": "Journal Volume: ", - "journalvolume.page.titleprefix": "Volumen de la Revista: ", - - // "journalvolume.page.volume": "Volume", - "journalvolume.page.volume": "Volumen", - - - - // "loading.bitstream": "Loading bitstream...", - // TODO New key - Add a translation - "loading.bitstream": "Loading bitstream...", - - // "loading.bitstreams": "Loading bitstreams...", - // TODO New key - Add a translation - "loading.bitstreams": "Loading bitstreams...", - - // "loading.browse-by": "Loading items...", - "loading.browse-by": "Cargando ítemes...", - - // "loading.browse-by-page": "Loading page...", - "loading.browse-by-page": "Cargando página...", - - // "loading.collection": "Loading collection...", - "loading.collection": "Cargando colección...", - - // "loading.collections": "Loading collections...", - "loading.collections": "Cargando colecciones...", - - // "loading.content-source": "Loading content source...", - // TODO New key - Add a translation - "loading.content-source": "Loading content source...", - - // "loading.community": "Loading community...", - "loading.community": "Cargando comunidad...", - - // "loading.default": "Loading...", - "loading.default": "Cargando...", - - // "loading.item": "Loading item...", - "loading.item": "Cargando ítem...", - - // "loading.items": "Loading items...", - "loading.items": "Cargando ítemes...", - - // "loading.mydspace-results": "Loading items...", - "loading.mydspace-results": "Cargando ítemes...", - - // "loading.objects": "Loading...", - "loading.objects": "Cargando...", - - // "loading.recent-submissions": "Loading recent submissions...", - "loading.recent-submissions": "Cargando envíos recientes...", - - // "loading.search-results": "Loading search results...", - "loading.search-results": "Cargando resultados de búsqueda...", - - // "loading.sub-collections": "Loading sub-collections...", - "loading.sub-collections": "Cargando sub-colecciones...", - - // "loading.sub-communities": "Loading sub-communities...", - "loading.sub-communities": "Cargando sub-comunidades...", - - // "loading.top-level-communities": "Loading top-level communities...", - "loading.top-level-communities": "Cargando comunidades de nivel superior...", - - - - // "login.form.email": "Email address", - "login.form.email": "Dirección de correo electrónico", - - // "login.form.forgot-password": "Have you forgotten your password?", - "login.form.forgot-password": "¿Ha olvidado su contraseña?", - - // "login.form.header": "Please log in to DSpace", - "login.form.header": "Favor inicie sesión en DSpace", - - // "login.form.new-user": "New user? Click here to register.", - "login.form.new-user": "¿Usuario nuevo? Clic aquí para registrarse.", - - // "login.form.or-divider": "or", - // TODO New key - Add a translation - "login.form.or-divider": "or", - - // "login.form.password": "Password", - "login.form.password": "Clave", - - // "login.form.shibboleth": "Log in with Shibboleth", - // TODO New key - Add a translation - "login.form.shibboleth": "Log in with Shibboleth", - - // "login.form.submit": "Log in", - "login.form.submit": "Iniciar sesión", - - // "login.title": "Login", - "login.title": "Iniciar sesión", - - // "login.breadcrumbs": "Login", - // TODO New key - Add a translation - "login.breadcrumbs": "Login", - - - - // "logout.form.header": "Log out from DSpace", - "logout.form.header": "Cerrar sesión de DSpace", - - // "logout.form.submit": "Log out", - "logout.form.submit": "Cerrar sesión", - - // "logout.title": "Logout", - "logout.title": "Cerrar sesión", - - - - // "menu.header.admin": "Admin", - "menu.header.admin": "Administrar", - - // "menu.header.image.logo": "Repository logo", - "menu.header.image.logo": "Logo del Repositorio ", - - - - // "menu.section.access_control": "Access Control", - "menu.section.access_control": "Control de acceso", - - // "menu.section.access_control_authorizations": "Authorizations", - "menu.section.access_control_authorizations": "Autorizaciones", - - // "menu.section.access_control_groups": "Groups", - "menu.section.access_control_groups": "Grupos", - - // "menu.section.access_control_people": "People", - "menu.section.access_control_people": "Personas", - - - - // "menu.section.admin_search": "Admin Search", - // TODO New key - Add a translation - "menu.section.admin_search": "Admin Search", - - - - // "menu.section.browse_community": "This Community", - "menu.section.browse_community": "Esta comunidad", - - // "menu.section.browse_community_by_author": "By Author", - "menu.section.browse_community_by_author": "Por Autor", - - // "menu.section.browse_community_by_issue_date": "By Issue Date", - "menu.section.browse_community_by_issue_date": "Por Fecha de Publicación", - - // "menu.section.browse_community_by_title": "By Title", - "menu.section.browse_community_by_title": "Por Título", - - // "menu.section.browse_global": "All of DSpace", - "menu.section.browse_global": "Todo DSpace", - - // "menu.section.browse_global_by_author": "By Author", - "menu.section.browse_global_by_author": "Por Autor", - - // "menu.section.browse_global_by_dateissued": "By Issue Date", - "menu.section.browse_global_by_dateissued": "Por Fecha de Publicación", - - // "menu.section.browse_global_by_subject": "By Subject", - "menu.section.browse_global_by_subject": "Por Materia", - - // "menu.section.browse_global_by_title": "By Title", - "menu.section.browse_global_by_title": "Por Título", - - // "menu.section.browse_global_communities_and_collections": "Communities & Collections", - "menu.section.browse_global_communities_and_collections": "Comunidades & Colecciones", - - - - // "menu.section.control_panel": "Control Panel", - "menu.section.control_panel": "Panel de Control", - - // "menu.section.curation_task": "Curation Task", - "menu.section.curation_task": "Tarea de Curación", - - - - // "menu.section.edit": "Edit", - "menu.section.edit": "Editar", - - // "menu.section.edit_collection": "Collection", - "menu.section.edit_collection": "Colección", - - // "menu.section.edit_community": "Community", - "menu.section.edit_community": "Comunidad", - - // "menu.section.edit_item": "Item", - "menu.section.edit_item": "Ítem", - - - - // "menu.section.export": "Export", - "menu.section.export": "Exportar", - - // "menu.section.export_collection": "Collection", - "menu.section.export_collection": "Colección", - - // "menu.section.export_community": "Community", - "menu.section.export_community": "Comunidad", - - // "menu.section.export_item": "Item", - "menu.section.export_item": "Ítem", - - // "menu.section.export_metadata": "Metadata", - "menu.section.export_metadata": "Metadatos", - - - - // "menu.section.icon.access_control": "Access Control menu section", - "menu.section.icon.access_control": "Sección del menú de Control de Acceso", - - // "menu.section.icon.admin_search": "Admin search menu section", - // TODO New key - Add a translation - "menu.section.icon.admin_search": "Admin search menu section", - - // "menu.section.icon.control_panel": "Control Panel menu section", - "menu.section.icon.control_panel": "Sección del menú de Panel Control", - - // "menu.section.icon.curation_task": "Curation Task menu section", - "menu.section.icon.curation_task": "Sección del menú de Tarea de Curación", - - // "menu.section.icon.edit": "Edit menu section", - "menu.section.icon.edit": "Sección del Menú Editar", - - // "menu.section.icon.export": "Export menu section", - "menu.section.icon.export": "Sección del Menú Exportar", - - // "menu.section.icon.find": "Find menu section", - "menu.section.icon.find": "Sección del Menú Encontrar", - - // "menu.section.icon.import": "Import menu section", - "menu.section.icon.import": "Sección del Menú Importar", - - // "menu.section.icon.new": "New menu section", - "menu.section.icon.new": "Sección del Menú Nuevo", - - // "menu.section.icon.pin": "Pin sidebar", - "menu.section.icon.pin": "Pin sidebar", - - // "menu.section.icon.registries": "Registries menu section", - "menu.section.icon.registries": "Sección del Menú Registros", - - // "menu.section.icon.statistics_task": "Statistics Task menu section", - "menu.section.icon.statistics_task": "Sección del Menú Tarea de Estadísticas", - - // "menu.section.icon.unpin": "Unpin sidebar", - "menu.section.icon.unpin": "Unpin sidebar", - - - - // "menu.section.import": "Import", - "menu.section.import": "Importar", - - // "menu.section.import_batch": "Batch Import (ZIP)", - "menu.section.import_batch": "Importar Batch (ZIP)", - - // "menu.section.import_metadata": "Metadata", - "menu.section.import_metadata": "Metadatos", - - - - // "menu.section.new": "New", - "menu.section.new": "Nuevo", - - // "menu.section.new_collection": "Collection", - "menu.section.new_collection": "Colección", - - // "menu.section.new_community": "Community", - "menu.section.new_community": "Comunidad", - - // "menu.section.new_item": "Item", - "menu.section.new_item": "Ítem", - - // "menu.section.new_item_version": "Item Version", - "menu.section.new_item_version": "Version del Ítem", - - - - // "menu.section.pin": "Pin sidebar", - "menu.section.pin": "Pin sidebar", - - // "menu.section.unpin": "Unpin sidebar", - "menu.section.unpin": "Unpin sidebar", - - - - // "menu.section.registries": "Registries", - "menu.section.registries": "Registros", - - // "menu.section.registries_format": "Format", - "menu.section.registries_format": "Formato", - - // "menu.section.registries_metadata": "Metadata", - "menu.section.registries_metadata": "Metadatos", - - - - // "menu.section.statistics": "Statistics", - "menu.section.statistics": "Estadísticas", - - // "menu.section.statistics_task": "Statistics Task", - "menu.section.statistics_task": "Tarea de Estadíisticas", - - - - // "menu.section.toggle.access_control": "Toggle Access Control section", - "menu.section.toggle.access_control": "Alternar la sección de Control de Acceso", - - // "menu.section.toggle.control_panel": "Toggle Control Panel section", - "menu.section.toggle.control_panel": "Alternar la sección de Panel de Control", - - // "menu.section.toggle.curation_task": "Toggle Curation Task section", - "menu.section.toggle.curation_task": "Alternar la sección de Tarea de Curación", - - // "menu.section.toggle.edit": "Toggle Edit section", - "menu.section.toggle.edit": "Alternar la sección de Editar", - - // "menu.section.toggle.export": "Toggle Export section", - "menu.section.toggle.export": "Alternar la sección de Exportar", - - // "menu.section.toggle.find": "Toggle Find section", - "menu.section.toggle.find": "Alternar la sección de Encontrar", - - // "menu.section.toggle.import": "Toggle Import section", - "menu.section.toggle.import": "Alternar la sección de Importar", - - // "menu.section.toggle.new": "Toggle New section", - "menu.section.toggle.new": "Alternar la sección de Nuevo", - - // "menu.section.toggle.registries": "Toggle Registries section", - "menu.section.toggle.registries": "Alternar la sección de Registros", - - // "menu.section.toggle.statistics_task": "Toggle Statistics Task section", - "menu.section.toggle.statistics_task": "Alternar la sección de Tareas de Estadísticas", - - - - // "mydspace.description": "", - "mydspace.description": "", - - // "mydspace.general.text-here": "HERE", - "mydspace.general.text-here": "AQUÍ", - - // "mydspace.messages.controller-help": "Select this option to send a message to item's submitter.", - "mydspace.messages.controller-help": "Seleccione esta opción para enviar un mensaje al remitente del ítem.", - - // "mydspace.messages.description-placeholder": "Insert your message here...", - "mydspace.messages.description-placeholder": "Ingrese su mensaje aquí...", - - // "mydspace.messages.hide-msg": "Hide message", - "mydspace.messages.hide-msg": "Ocultar mensaje", - - // "mydspace.messages.mark-as-read": "Mark as read", - "mydspace.messages.mark-as-read": "Marcar como leído", - - // "mydspace.messages.mark-as-unread": "Mark as unread", - "mydspace.messages.mark-as-unread": "Macar como no leído", - - // "mydspace.messages.no-content": "No content.", - "mydspace.messages.no-content": "Sin contenido.", - - // "mydspace.messages.no-messages": "No messages yet.", - "mydspace.messages.no-messages": "Aún no hay mensajes.", - - // "mydspace.messages.send-btn": "Send", - "mydspace.messages.send-btn": "Enviar", - - // "mydspace.messages.show-msg": "Show message", - "mydspace.messages.show-msg": "Mostrar mensaje", - - // "mydspace.messages.subject-placeholder": "Subject...", - "mydspace.messages.subject-placeholder": "Materia...", - - // "mydspace.messages.submitter-help": "Select this option to send a message to controller.", - "mydspace.messages.submitter-help": "Seleccione esta opción para enviar un mensaje al controlador.", - - // "mydspace.messages.title": "Messages", - "mydspace.messages.title": "Mensajes", - - // "mydspace.messages.to": "To", - "mydspace.messages.to": "Para", - - // "mydspace.new-submission": "New submission", - "mydspace.new-submission": "Nuevo envío", - - // "mydspace.results.head": "Your submissions", - "mydspace.results.head": "Sus envíos", - - // "mydspace.results.no-abstract": "No Abstract", - "mydspace.results.no-abstract": "Sin Resumen", - - // "mydspace.results.no-authors": "No Authors", - "mydspace.results.no-authors": "Sin Autores", - - // "mydspace.results.no-collections": "No Collections", - "mydspace.results.no-collections": "Sin Colecciones", - - // "mydspace.results.no-date": "No Date", - "mydspace.results.no-date": "Sin Fecha", - - // "mydspace.results.no-files": "No Files", - "mydspace.results.no-files": "Sin Archivos", - - // "mydspace.results.no-results": "There were no items to show", - "mydspace.results.no-results": "No hay ítemes para mostrar", - - // "mydspace.results.no-title": "No title", - "mydspace.results.no-title": "Sin título", - - // "mydspace.results.no-uri": "No Uri", - "mydspace.results.no-uri": "Sin Uri", - - // "mydspace.show.workflow": "All tasks", - "mydspace.show.workflow": "Todas las tareas", - - // "mydspace.show.workspace": "Your Submissions", - "mydspace.show.workspace": "Sus envíos", - - // "mydspace.status.archived": "Archived", - "mydspace.status.archived": "Archivado", - - // "mydspace.status.validation": "Validation", - "mydspace.status.validation": "Validación", - - // "mydspace.status.waiting-for-controller": "Waiting for controller", - "mydspace.status.waiting-for-controller": "Esperando controlador", - - // "mydspace.status.workflow": "Workflow", - "mydspace.status.workflow": "Flujo de trabajo", - - // "mydspace.status.workspace": "Workspace", - "mydspace.status.workspace": "Workspace", - - // "mydspace.title": "MyDSpace", - "mydspace.title": "MiDSpace", - - // "mydspace.upload.upload-failed": "Error creating new workspace. Please verify the content uploaded before retry.", - "mydspace.upload.upload-failed": "Error al crear nuevo Workspace. Verifique el contenido cargado antes de intentar.", - - // "mydspace.upload.upload-multiple-successful": "{{qty}} new workspace items created.", - "mydspace.upload.upload-multiple-successful": "{{qty}} Nuevos ítemes de workspace creados.", - - // "mydspace.upload.upload-successful": "New workspace item created. Click {{here}} for edit it.", - "mydspace.upload.upload-successful": "Nuevos ítemes de workspace creados. Clic {{here}} para editar.", - - // "mydspace.view-btn": "View", - "mydspace.view-btn": "Ver", - - - - // "nav.browse.header": "All of DSpace", - "nav.browse.header": "Todo DSpace", - - // "nav.community-browse.header": "By Community", - "nav.community-browse.header": "Por Comunidad", - - // "nav.language": "Language switch", - "nav.language": "Cambio de idioma", - - // "nav.login": "Log In", - "nav.login": "Inicio de Sesión", - - // "nav.logout": "Log Out", - "nav.logout": "Cerrar Sesión", - - // "nav.mydspace": "MyDSpace", - "nav.mydspace": "Mi DSpace", - - // "nav.profile": "Profile", - // TODO New key - Add a translation - "nav.profile": "Profile", - - // "nav.search": "Search", - "nav.search": "Buscar", - - // "nav.statistics.header": "Statistics", - "nav.statistics.header": "Estadísticas", - - - - // "orgunit.listelement.badge": "Organizational Unit", - "orgunit.listelement.badge": "Unidad organizacional", - - // "orgunit.page.city": "City", - "orgunit.page.city": "Ciudad", - - // "orgunit.page.country": "Country", - "orgunit.page.country": "País", - - // "orgunit.page.dateestablished": "Date established", - "orgunit.page.dateestablished": "Fecha establecida", - - // "orgunit.page.description": "Description", - "orgunit.page.description": "Descripción", - - // "orgunit.page.id": "ID", - "orgunit.page.id": "ID", - - // "orgunit.page.titleprefix": "Organizational Unit: ", - "orgunit.page.titleprefix": "Unidad organizacional: ", - - - - // "pagination.results-per-page": "Results Per Page", - "pagination.results-per-page": "Resultados por Página", - - // "pagination.showing.detail": "{{ range }} of {{ total }}", - "pagination.showing.detail": "{{ range }} de {{ total }}", - - // "pagination.showing.label": "Now showing ", - "pagination.showing.label": "Mostrando ", - - // "pagination.sort-direction": "Sort Options", - "pagination.sort-direction": "Opciones de orden", - - - - // "person.listelement.badge": "Person", - "person.listelement.badge": "Persona", - - // "person.page.birthdate": "Birth Date", - "person.page.birthdate": "Fecha de Nacimiento", - - // "person.page.email": "Email Address", - "person.page.email": "Dirección de correo electrónico", - - // "person.page.firstname": "First Name", - "person.page.firstname": "Nombre", - - // "person.page.jobtitle": "Job Title", - "person.page.jobtitle": "Título profesional", - - // "person.page.lastname": "Last Name", - "person.page.lastname": "Apellido", - - // "person.page.link.full": "Show all metadata", - "person.page.link.full": "Mostrar todos los metadatos", - - // "person.page.orcid": "ORCID", - "person.page.orcid": "ORCID", - - // "person.page.staffid": "Staff ID", - "person.page.staffid": "Identificación del personal", - - // "person.page.titleprefix": "Person: ", - "person.page.titleprefix": "Persona: ", - - // "person.search.results.head": "Person Search Results", - "person.search.results.head": "Resultados de búsqueda de personas", - - // "person.search.title": "DSpace Angular :: Person Search", - "person.search.title": "DSpace Angular :: Búsqueda de persona", - - - - // "profile.breadcrumbs": "Update Profile", - // TODO New key - Add a translation - "profile.breadcrumbs": "Update Profile", - - // "profile.card.identify": "Identify", - // TODO New key - Add a translation - "profile.card.identify": "Identify", - - // "profile.card.security": "Security", - // TODO New key - Add a translation - "profile.card.security": "Security", - - // "profile.form.submit": "Update Profile", - // TODO New key - Add a translation - "profile.form.submit": "Update Profile", - - // "profile.groups.head": "Authorization groups you belong to", - // TODO New key - Add a translation - "profile.groups.head": "Authorization groups you belong to", - - // "profile.head": "Update Profile", - // TODO New key - Add a translation - "profile.head": "Update Profile", - - // "profile.metadata.form.error.firstname.required": "First Name is required", - // TODO New key - Add a translation - "profile.metadata.form.error.firstname.required": "First Name is required", - - // "profile.metadata.form.error.lastname.required": "Last Name is required", - // TODO New key - Add a translation - "profile.metadata.form.error.lastname.required": "Last Name is required", - - // "profile.metadata.form.label.email": "Email Address", - // TODO New key - Add a translation - "profile.metadata.form.label.email": "Email Address", - - // "profile.metadata.form.label.firstname": "First Name", - // TODO New key - Add a translation - "profile.metadata.form.label.firstname": "First Name", - - // "profile.metadata.form.label.language": "Language", - // TODO New key - Add a translation - "profile.metadata.form.label.language": "Language", - - // "profile.metadata.form.label.lastname": "Last Name", - // TODO New key - Add a translation - "profile.metadata.form.label.lastname": "Last Name", - - // "profile.metadata.form.label.phone": "Contact Telephone", - // TODO New key - Add a translation - "profile.metadata.form.label.phone": "Contact Telephone", - - // "profile.metadata.form.notifications.success.content": "Your changes to the profile were saved.", - // TODO New key - Add a translation - "profile.metadata.form.notifications.success.content": "Your changes to the profile were saved.", - - // "profile.metadata.form.notifications.success.title": "Profile saved", - // TODO New key - Add a translation - "profile.metadata.form.notifications.success.title": "Profile saved", - - // "profile.notifications.warning.no-changes.content": "No changes were made to the Profile.", - // TODO New key - Add a translation - "profile.notifications.warning.no-changes.content": "No changes were made to the Profile.", - - // "profile.notifications.warning.no-changes.title": "No changes", - // TODO New key - Add a translation - "profile.notifications.warning.no-changes.title": "No changes", - - // "profile.security.form.error.matching-passwords": "The passwords do not match.", - // TODO New key - Add a translation - "profile.security.form.error.matching-passwords": "The passwords do not match.", - - // "profile.security.form.error.password-length": "The password should be at least 6 characters long.", - // TODO New key - Add a translation - "profile.security.form.error.password-length": "The password should be at least 6 characters long.", - - // "profile.security.form.info": "Optionally, you can enter a new password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", - // TODO New key - Add a translation - "profile.security.form.info": "Optionally, you can enter a new password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", - - // "profile.security.form.label.password": "Password", - // TODO New key - Add a translation - "profile.security.form.label.password": "Password", - - // "profile.security.form.label.passwordrepeat": "Retype to confirm", - // TODO New key - Add a translation - "profile.security.form.label.passwordrepeat": "Retype to confirm", - - // "profile.security.form.notifications.success.content": "Your changes to the password were saved.", - // TODO New key - Add a translation - "profile.security.form.notifications.success.content": "Your changes to the password were saved.", - - // "profile.security.form.notifications.success.title": "Password saved", - // TODO New key - Add a translation - "profile.security.form.notifications.success.title": "Password saved", - - // "profile.security.form.notifications.error.title": "Error changing passwords", - // TODO New key - Add a translation - "profile.security.form.notifications.error.title": "Error changing passwords", - - // "profile.security.form.notifications.error.not-long-enough": "The password has to be at least 6 characters long.", - // TODO New key - Add a translation - "profile.security.form.notifications.error.not-long-enough": "The password has to be at least 6 characters long.", - - // "profile.security.form.notifications.error.not-same": "The provided passwords are not the same.", - // TODO New key - Add a translation - "profile.security.form.notifications.error.not-same": "The provided passwords are not the same.", - - // "profile.title": "Update Profile", - // TODO New key - Add a translation - "profile.title": "Update Profile", - - - - // "project.listelement.badge": "Research Project", - "project.listelement.badge": "Proyecto de investigación", - - // "project.page.contributor": "Contributors", - "project.page.contributor": "Contribuyentes", - - // "project.page.description": "Description", - "project.page.description": "Descripción", - - // "project.page.expectedcompletion": "Expected Completion", - "project.page.expectedcompletion": "Finalización prevista", - - // "project.page.funder": "Funders", - "project.page.funder": "Financiadores", - - // "project.page.id": "ID", - "project.page.id": "ID", - - // "project.page.keyword": "Keywords", - "project.page.keyword": "Claves", - - // "project.page.status": "Status", - "project.page.status": "Estado", - - // "project.page.titleprefix": "Research Project: ", - "project.page.titleprefix": "Proyecto de investigación: ", - - // "project.search.results.head": "Project Search Results", - // TODO New key - Add a translation - "project.search.results.head": "Project Search Results", - - - - // "publication.listelement.badge": "Publication", - "publication.listelement.badge": "Publicación", - - // "publication.page.description": "Description", - "publication.page.description": "Descripción", - - // "publication.page.journal-issn": "Journal ISSN", - "publication.page.journal-issn": "Revista ISSN", - - // "publication.page.journal-title": "Journal Title", - "publication.page.journal-title": "Título de Revista", - - // "publication.page.publisher": "Publisher", - "publication.page.publisher": "Editor", - - // "publication.page.titleprefix": "Publication: ", - "publication.page.titleprefix": "Publicación: ", - - // "publication.page.volume-title": "Volume Title", - "publication.page.volume-title": "Título del Volumen", - - // "publication.search.results.head": "Publication Search Results", - "publication.search.results.head": "Resultados de la búsqueda de publicaciones", - - // "publication.search.title": "DSpace Angular :: Publication Search", - "publication.search.title": "DSpace Angular :: Búsqueda de publicación", - - - - // "relationships.isAuthorOf": "Authors", - "relationships.isAuthorOf": "Autores", - - // "relationships.isIssueOf": "Journal Issues", - "relationships.isIssueOf": "Números de Revista", - - // "relationships.isJournalIssueOf": "Journal Issue", - "relationships.isJournalIssueOf": "Número de Revista", - - // "relationships.isJournalOf": "Journals", - "relationships.isJournalOf": "Revistas", - - // "relationships.isOrgUnitOf": "Organizational Units", - "relationships.isOrgUnitOf": "Unidades Organizacionales", - - // "relationships.isPersonOf": "Authors", - "relationships.isPersonOf": "Autores", - - // "relationships.isProjectOf": "Research Projects", - "relationships.isProjectOf": "Proyectos de investigación", - - // "relationships.isPublicationOf": "Publications", - "relationships.isPublicationOf": "Publicaciones", - - // "relationships.isPublicationOfJournalIssue": "Articles", - "relationships.isPublicationOfJournalIssue": "Artículos", - - // "relationships.isSingleJournalOf": "Journal", - "relationships.isSingleJournalOf": "Revista", - - // "relationships.isSingleVolumeOf": "Journal Volume", - "relationships.isSingleVolumeOf": "Volumen de Revista", - - // "relationships.isVolumeOf": "Journal Volumes", - "relationships.isVolumeOf": "Volúmenes de Revista", - - // "relationships.isContributorOf": "Contributors", - // TODO New key - Add a translation - "relationships.isContributorOf": "Contributors", - - - - // "search.description": "", - "search.description": "", - - // "search.switch-configuration.title": "Show", - // TODO Source message changed - Revise the translation - "search.switch-configuration.title": "Show", - - // "search.title": "DSpace Angular :: Search", - // TODO Source message changed - Revise the translation - "search.title": "DSpace Angular :: Search", - - // "search.breadcrumbs": "Search", - // TODO New key - Add a translation - "search.breadcrumbs": "Search", - - - // "search.filters.applied.f.author": "Author", - "search.filters.applied.f.author": "Autor", - - // "search.filters.applied.f.dateIssued.max": "End date", - "search.filters.applied.f.dateIssued.max": "Fecha Final", - - // "search.filters.applied.f.dateIssued.min": "Start date", - "search.filters.applied.f.dateIssued.min": "Fecha de Inicio", - - // "search.filters.applied.f.dateSubmitted": "Date submitted", - "search.filters.applied.f.dateSubmitted": "Fecha de Envío", - - // "search.filters.applied.f.discoverable": "Private", - // TODO New key - Add a translation - "search.filters.applied.f.discoverable": "Private", - - // "search.filters.applied.f.entityType": "Item Type", - "search.filters.applied.f.entityType": "Tipo de Ítem", - - // "search.filters.applied.f.has_content_in_original_bundle": "Has files", - "search.filters.applied.f.has_content_in_original_bundle": "Tiene archivos", - - // "search.filters.applied.f.itemtype": "Type", - "search.filters.applied.f.itemtype": "Tipo", - - // "search.filters.applied.f.namedresourcetype": "Status", - "search.filters.applied.f.namedresourcetype": "Estado", - - // "search.filters.applied.f.subject": "Subject", - "search.filters.applied.f.subject": "Materia", - - // "search.filters.applied.f.submitter": "Submitter", - "search.filters.applied.f.submitter": "Remitente", - - // "search.filters.applied.f.jobTitle": "Job Title", - // TODO New key - Add a translation - "search.filters.applied.f.jobTitle": "Job Title", - - // "search.filters.applied.f.birthDate.max": "End birth date", - // TODO New key - Add a translation - "search.filters.applied.f.birthDate.max": "End birth date", - - // "search.filters.applied.f.birthDate.min": "Start birth date", - // TODO New key - Add a translation - "search.filters.applied.f.birthDate.min": "Start birth date", - - // "search.filters.applied.f.withdrawn": "Withdrawn", - // TODO New key - Add a translation - "search.filters.applied.f.withdrawn": "Withdrawn", - - - - // "search.filters.filter.author.head": "Author", - "search.filters.filter.author.head": "Autor", - - // "search.filters.filter.author.placeholder": "Author name", - "search.filters.filter.author.placeholder": "Nombre del autor", - - // "search.filters.filter.birthDate.head": "Birth Date", - "search.filters.filter.birthDate.head": "Fecha de Nacimiento", - - // "search.filters.filter.birthDate.placeholder": "Birth Date", - "search.filters.filter.birthDate.placeholder": "Fecha de Nacimiento", - - // "search.filters.filter.creativeDatePublished.head": "Date Published", - "search.filters.filter.creativeDatePublished.head": "Fecha de Publicación", - - // "search.filters.filter.creativeDatePublished.placeholder": "Date Published", - "search.filters.filter.creativeDatePublished.placeholder": "Fecha de Publicación", - - // "search.filters.filter.creativeWorkEditor.head": "Editor", - "search.filters.filter.creativeWorkEditor.head": "Editor", - - // "search.filters.filter.creativeWorkEditor.placeholder": "Editor", - "search.filters.filter.creativeWorkEditor.placeholder": "Editor", - - // "search.filters.filter.creativeWorkKeywords.head": "Subject", - "search.filters.filter.creativeWorkKeywords.head": "Materia", - - // "search.filters.filter.creativeWorkKeywords.placeholder": "Subject", - "search.filters.filter.creativeWorkKeywords.placeholder": "Materia", - - // "search.filters.filter.creativeWorkPublisher.head": "Publisher", - "search.filters.filter.creativeWorkPublisher.head": "Editor", - - // "search.filters.filter.creativeWorkPublisher.placeholder": "Publisher", - "search.filters.filter.creativeWorkPublisher.placeholder": "Editor", - - // "search.filters.filter.dateIssued.head": "Date", - "search.filters.filter.dateIssued.head": "Fecha", - - // "search.filters.filter.dateIssued.max.placeholder": "Minimum Date", - "search.filters.filter.dateIssued.max.placeholder": "Fecha Mínima", - - // "search.filters.filter.dateIssued.min.placeholder": "Maximum Date", - "search.filters.filter.dateIssued.min.placeholder": "Fecha Máxima", - - // "search.filters.filter.dateSubmitted.head": "Date submitted", - "search.filters.filter.dateSubmitted.head": "Fecha de Envío", - - // "search.filters.filter.dateSubmitted.placeholder": "Date submitted", - "search.filters.filter.dateSubmitted.placeholder": "Fecha de Envío", - - // "search.filters.filter.discoverable.head": "Private", - // TODO New key - Add a translation - "search.filters.filter.discoverable.head": "Private", - - // "search.filters.filter.withdrawn.head": "Withdrawn", - // TODO New key - Add a translation - "search.filters.filter.withdrawn.head": "Withdrawn", - - // "search.filters.filter.entityType.head": "Item Type", - "search.filters.filter.entityType.head": "Tipo de Ítem", - - // "search.filters.filter.entityType.placeholder": "Item Type", - "search.filters.filter.entityType.placeholder": "Tipo de Ítem", - - // "search.filters.filter.has_content_in_original_bundle.head": "Has files", - "search.filters.filter.has_content_in_original_bundle.head": "Tiene archivos", - - // "search.filters.filter.itemtype.head": "Type", - "search.filters.filter.itemtype.head": "Tipo", - - // "search.filters.filter.itemtype.placeholder": "Type", - "search.filters.filter.itemtype.placeholder": "Tipo", - - // "search.filters.filter.jobTitle.head": "Job Title", - "search.filters.filter.jobTitle.head": "Título profesional", - - // "search.filters.filter.jobTitle.placeholder": "Job Title", - "search.filters.filter.jobTitle.placeholder": "Título profesional", - - // "search.filters.filter.knowsLanguage.head": "Known language", - "search.filters.filter.knowsLanguage.head": "Idioma conocido", - - // "search.filters.filter.knowsLanguage.placeholder": "Known language", - "search.filters.filter.knowsLanguage.placeholder": "Idioma conocido", - - // "search.filters.filter.namedresourcetype.head": "Status", - "search.filters.filter.namedresourcetype.head": "Estado", - - // "search.filters.filter.namedresourcetype.placeholder": "Status", - "search.filters.filter.namedresourcetype.placeholder": "Estado", - - // "search.filters.filter.objectpeople.head": "People", - "search.filters.filter.objectpeople.head": "Persona", - - // "search.filters.filter.objectpeople.placeholder": "People", - "search.filters.filter.objectpeople.placeholder": "Persona", - - // "search.filters.filter.organizationAddressCountry.head": "Country", - "search.filters.filter.organizationAddressCountry.head": "País", - - // "search.filters.filter.organizationAddressCountry.placeholder": "Country", - "search.filters.filter.organizationAddressCountry.placeholder": "País", - - // "search.filters.filter.organizationAddressLocality.head": "City", - "search.filters.filter.organizationAddressLocality.head": "Ciudad", - - // "search.filters.filter.organizationAddressLocality.placeholder": "City", - "search.filters.filter.organizationAddressLocality.placeholder": "Ciudad", - - // "search.filters.filter.organizationFoundingDate.head": "Date Founded", - "search.filters.filter.organizationFoundingDate.head": "Fecha de fundación", - - // "search.filters.filter.organizationFoundingDate.placeholder": "Date Founded", - "search.filters.filter.organizationFoundingDate.placeholder": "Fecha de fundación", - - // "search.filters.filter.scope.head": "Scope", - "search.filters.filter.scope.head": "Alcance", - - // "search.filters.filter.scope.placeholder": "Scope filter", - "search.filters.filter.scope.placeholder": "Filtro del Alcance", - - // "search.filters.filter.show-less": "Collapse", - "search.filters.filter.show-less": "Contraer", - - // "search.filters.filter.show-more": "Show more", - "search.filters.filter.show-more": "Mostrar más", - - // "search.filters.filter.subject.head": "Subject", - "search.filters.filter.subject.head": "Materia", - - // "search.filters.filter.subject.placeholder": "Subject", - "search.filters.filter.subject.placeholder": "Materia", - - // "search.filters.filter.submitter.head": "Submitter", - "search.filters.filter.submitter.head": "Remitente", - - // "search.filters.filter.submitter.placeholder": "Submitter", - "search.filters.filter.submitter.placeholder": "Remitente", - - - - // "search.filters.entityType.JournalIssue": "Journal Issue", - // TODO New key - Add a translation - "search.filters.entityType.JournalIssue": "Journal Issue", - - // "search.filters.entityType.JournalVolume": "Journal Volume", - // TODO New key - Add a translation - "search.filters.entityType.JournalVolume": "Journal Volume", - - // "search.filters.entityType.OrgUnit": "Organizational Unit", - // TODO New key - Add a translation - "search.filters.entityType.OrgUnit": "Organizational Unit", - - // "search.filters.has_content_in_original_bundle.true": "Yes", - // TODO New key - Add a translation - "search.filters.has_content_in_original_bundle.true": "Yes", - - // "search.filters.has_content_in_original_bundle.false": "No", - // TODO New key - Add a translation - "search.filters.has_content_in_original_bundle.false": "No", - - // "search.filters.discoverable.true": "No", - // TODO New key - Add a translation - "search.filters.discoverable.true": "No", - - // "search.filters.discoverable.false": "Yes", - // TODO New key - Add a translation - "search.filters.discoverable.false": "Yes", - - // "search.filters.withdrawn.true": "Yes", - // TODO New key - Add a translation - "search.filters.withdrawn.true": "Yes", - - // "search.filters.withdrawn.false": "No", - // TODO New key - Add a translation - "search.filters.withdrawn.false": "No", - - - // "search.filters.head": "Filters", - "search.filters.head": "Filtros", - - // "search.filters.reset": "Reset filters", - "search.filters.reset": "Restablecer filtros", - - - - // "search.form.search": "Search", - "search.form.search": "Buscar", - - // "search.form.search_dspace": "Search DSpace", - "search.form.search_dspace": "Buscar DSpace", - - // "search.form.search_mydspace": "Search MyDSpace", - "search.form.search_mydspace": "Buscar MyDSpace", - - - - // "search.results.head": "Search Results", - "search.results.head": "Resultados de Búsqueda", - - // "search.results.no-results": "Your search returned no results. Having trouble finding what you're looking for? Try putting", - // TODO Source message changed - Revise the translation - "search.results.no-results": "Your search returned no results. Having trouble finding what you're looking for? Try putting", - - // "search.results.no-results-link": "quotes around it", - "search.results.no-results-link": "citas a su alrededor", - - // "search.results.empty": "Your search returned no results.", - // TODO New key - Add a translation - "search.results.empty": "Your search returned no results.", - - - - // "search.sidebar.close": "Back to results", - "search.sidebar.close": "Regresar a resultados", - - // "search.sidebar.filters.title": "Filters", - "search.sidebar.filters.title": "Filtros", - - // "search.sidebar.open": "Search Tools", - "search.sidebar.open": "Herramientas de búsqueda", - - // "search.sidebar.results": "results", - "search.sidebar.results": "resultados", - - // "search.sidebar.settings.rpp": "Results per page", - "search.sidebar.settings.rpp": "Resultados por página", - - // "search.sidebar.settings.sort-by": "Sort By", - "search.sidebar.settings.sort-by": "Ordenar por", - - // "search.sidebar.settings.title": "Settings", - "search.sidebar.settings.title": "Configuraciones", - - - - // "search.view-switch.show-detail": "Show detail", - "search.view-switch.show-detail": "Mostrar detalle", - - // "search.view-switch.show-grid": "Show as grid", - "search.view-switch.show-grid": "Mostrar como cuadriculado", - - // "search.view-switch.show-list": "Show as list", - "search.view-switch.show-list": "Mostrar como lista", - - - - // "sorting.dc.title.ASC": "Title Ascending", - "sorting.dc.title.ASC": "Título Ascendente", - - // "sorting.dc.title.DESC": "Title Descending", - "sorting.dc.title.DESC": "Título Descendente", - - // "sorting.score.DESC": "Relevance", - "sorting.score.DESC": "Relevancia", - - - - // "submission.edit.title": "Edit Submission", - "submission.edit.title": "Editar envío", - - // "submission.general.cannot_submit": "You have not the privilege to make a new submission.", - "submission.general.cannot_submit": "No tiene el privilegio de hacer un nuevo envío.", - - // "submission.general.deposit": "Deposit", - "submission.general.deposit": "Depositar", - - // "submission.general.discard.confirm.cancel": "Cancel", - "submission.general.discard.confirm.cancel": "Cancelar", - - // "submission.general.discard.confirm.info": "This operation can't be undone. Are you sure?", - "submission.general.discard.confirm.info": "Esta operación no se puede deshacer. Está seguro?", - - // "submission.general.discard.confirm.submit": "Yes, I'm sure", - "submission.general.discard.confirm.submit": "Si, Estoy seguro", - - // "submission.general.discard.confirm.title": "Discard submission", - "submission.general.discard.confirm.title": "Descartar el envío", - - // "submission.general.discard.submit": "Discard", - "submission.general.discard.submit": "Descartar", - - // "submission.general.save": "Save", - "submission.general.save": "Guardar", - - // "submission.general.save-later": "Save for later", - "submission.general.save-later": "Guardar para más adelante", - - - - // "submission.sections.describe.relationship-lookup.close": "Close", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.close": "Close", - - // "submission.sections.describe.relationship-lookup.external-source.added": "Successfully added local entry to the selection", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.added": "Successfully added local entry to the selection", - - // "submission.sections.describe.relationship-lookup.external-source.import-button-title.Author": "Import remote author", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-button-title.Author": "Import remote author", - - // "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal": "Import remote journal", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal": "Import remote journal", - - // "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal Issue": "Import remote journal issue", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal Issue": "Import remote journal issue", - - // "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal Volume": "Import remote journal volume", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal Volume": "Import remote journal volume", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.title": "Import Remote Author", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.title": "Import Remote Author", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.added.local-entity": "Successfully added local author to the selection", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.added.local-entity": "Successfully added local author to the selection", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.added.new-entity": "Successfully imported and added external author to the selection", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.added.new-entity": "Successfully imported and added external author to the selection", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.authority": "Authority", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.authority": "Authority", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.authority.new": "Import as a new local authority entry", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.authority.new": "Import as a new local authority entry", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.cancel": "Cancel", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.cancel": "Cancel", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.collection": "Select a collection to import new entries to", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.collection": "Select a collection to import new entries to", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.entities": "Entities", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.entities": "Entities", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.entities.new": "Import as a new local entity", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.entities.new": "Import as a new local entity", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.lcname": "Importing from LC Name", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.head.lcname": "Importing from LC Name", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.orcid": "Importing from ORCID", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.head.orcid": "Importing from ORCID", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.sherpaJournal": "Importing from Sherpa Journal", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.head.sherpaJournal": "Importing from Sherpa Journal", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.sherpaPublisher": "Importing from Sherpa Publisher", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.head.sherpaPublisher": "Importing from Sherpa Publisher", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.import": "Import", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.import": "Import", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal.title": "Import Remote Journal", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal.title": "Import Remote Journal", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal.added.local-entity": "Successfully added local journal to the selection", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal.added.local-entity": "Successfully added local journal to the selection", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal.added.new-entity": "Successfully imported and added external journal to the selection", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal.added.new-entity": "Successfully imported and added external journal to the selection", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Issue.title": "Import Remote Journal Issue", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Issue.title": "Import Remote Journal Issue", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Issue.added.local-entity": "Successfully added local journal issue to the selection", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Issue.added.local-entity": "Successfully added local journal issue to the selection", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Issue.added.new-entity": "Successfully imported and added external journal issue to the selection", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Issue.added.new-entity": "Successfully imported and added external journal issue to the selection", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Volume.title": "Import Remote Journal Volume", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Volume.title": "Import Remote Journal Volume", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Volume.added.local-entity": "Successfully added local journal volume to the selection", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Volume.added.local-entity": "Successfully added local journal volume to the selection", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Volume.added.new-entity": "Successfully imported and added external journal volume to the selection", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Volume.added.new-entity": "Successfully imported and added external journal volume to the selection", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.select": "Select a local match:", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.select": "Select a local match:", - - // "submission.sections.describe.relationship-lookup.search-tab.deselect-all": "Deselect all", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.deselect-all": "Deselect all", - - // "submission.sections.describe.relationship-lookup.search-tab.deselect-page": "Deselect page", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.deselect-page": "Deselect page", - - // "submission.sections.describe.relationship-lookup.search-tab.loading": "Loading...", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.loading": "Loading...", - - // "submission.sections.describe.relationship-lookup.search-tab.placeholder": "Search query", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.placeholder": "Search query", - - // "submission.sections.describe.relationship-lookup.search-tab.search": "Go", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.search": "Go", - - // "submission.sections.describe.relationship-lookup.search-tab.select-all": "Select all", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.select-all": "Select all", - - // "submission.sections.describe.relationship-lookup.search-tab.select-page": "Select page", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.select-page": "Select page", - - // "submission.sections.describe.relationship-lookup.selected": "Selected {{ size }} items", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.selected": "Selected {{ size }} items", - - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Author": "Local Authors ({{ count }})", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Author": "Local Authors ({{ count }})", - - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal": "Local Journals ({{ count }})", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal": "Local Journals ({{ count }})", - - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal Issue": "Local Journal Issues ({{ count }})", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal Issue": "Local Journal Issues ({{ count }})", - - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal Volume": "Local Journal Volumes ({{ count }})", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal Volume": "Local Journal Volumes ({{ count }})", - - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaJournal": "Sherpa Journals ({{ count }})", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaJournal": "Sherpa Journals ({{ count }})", - - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaPublisher": "Sherpa Publishers ({{ count }})", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaPublisher": "Sherpa Publishers ({{ count }})", - - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.orcid": "ORCID ({{ count }})", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.tab-title.orcid": "ORCID ({{ count }})", - - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.lcname": "LC Names ({{ count }})", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.tab-title.lcname": "LC Names ({{ count }})", - - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Funding Agency": "Search for Funding Agencies", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Funding Agency": "Search for Funding Agencies", - - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Funding": "Search for Funding", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Funding": "Search for Funding", - - // "submission.sections.describe.relationship-lookup.selection-tab.tab-title": "Current Selection ({{ count }})", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.selection-tab.tab-title": "Current Selection ({{ count }})", - - // "submission.sections.describe.relationship-lookup.title.Journal Issue": "Journal Issues", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.title.Journal Issue": "Journal Issues", - - // "submission.sections.describe.relationship-lookup.title.Journal Volume": "Journal Volumes", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.title.Journal Volume": "Journal Volumes", - - // "submission.sections.describe.relationship-lookup.title.Journal": "Journals", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.title.Journal": "Journals", - - // "submission.sections.describe.relationship-lookup.title.Author": "Authors", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.title.Author": "Authors", - - // "submission.sections.describe.relationship-lookup.title.Funding Agency": "Funding Agency", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.title.Funding Agency": "Funding Agency", - - // "submission.sections.describe.relationship-lookup.title.Funding": "Funding", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.title.Funding": "Funding", - - // "submission.sections.describe.relationship-lookup.search-tab.toggle-dropdown": "Toggle dropdown", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.toggle-dropdown": "Toggle dropdown", - - // "submission.sections.describe.relationship-lookup.selection-tab.settings": "Settings", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.selection-tab.settings": "Settings", - - // "submission.sections.describe.relationship-lookup.selection-tab.no-selection": "Your selection is currently empty.", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.selection-tab.no-selection": "Your selection is currently empty.", - - // "submission.sections.describe.relationship-lookup.selection-tab.title.Author": "Selected Authors", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.selection-tab.title.Author": "Selected Authors", - - // "submission.sections.describe.relationship-lookup.selection-tab.title.Journal": "Selected Journals", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.selection-tab.title.Journal": "Selected Journals", - - // "submission.sections.describe.relationship-lookup.selection-tab.title.Journal Volume": "Selected Journal Volume", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.selection-tab.title.Journal Volume": "Selected Journal Volume", - - // "submission.sections.describe.relationship-lookup.selection-tab.title.Journal Issue": "Selected Issue", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.selection-tab.title.Journal Issue": "Selected Issue", - - // "submission.sections.describe.relationship-lookup.selection-tab.title.sherpaJournal": "Search Results", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.selection-tab.title.sherpaJournal": "Search Results", - - // "submission.sections.describe.relationship-lookup.selection-tab.title.sherpaPublisher": "Search Results", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.selection-tab.title.sherpaPublisher": "Search Results", - - // "submission.sections.describe.relationship-lookup.selection-tab.title.orcid": "Search Results", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.selection-tab.title.orcid": "Search Results", - - // "submission.sections.describe.relationship-lookup.selection-tab.title.lcname": "Search Results", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.selection-tab.title.lcname": "Search Results", - - // "submission.sections.describe.relationship-lookup.name-variant.notification.content": "Would you like to save \"{{ value }}\" as a name variant for this person so you and others can reuse it for future submissions? If you don\'t you can still use it for this submission.", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.name-variant.notification.content": "Would you like to save \"{{ value }}\" as a name variant for this person so you and others can reuse it for future submissions? If you don\'t you can still use it for this submission.", - - // "submission.sections.describe.relationship-lookup.name-variant.notification.confirm": "Save a new name variant", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.name-variant.notification.confirm": "Save a new name variant", - - // "submission.sections.describe.relationship-lookup.name-variant.notification.decline": "Use only for this submission", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.name-variant.notification.decline": "Use only for this submission", - - // "submission.sections.general.add-more": "Add more", - "submission.sections.general.add-more": "Agregar más", - - // "submission.sections.general.collection": "Collection", - "submission.sections.general.collection": "Colección", - - // "submission.sections.general.deposit_error_notice": "There was an issue when submitting the item, please try again later.", - "submission.sections.general.deposit_error_notice": "Hubo un problema al enviar el artículo, inténtelo más tarde.", - - // "submission.sections.general.deposit_success_notice": "Submission deposited successfully.", - "submission.sections.general.deposit_success_notice": "Envío depositado exitosamente.", - - // "submission.sections.general.discard_error_notice": "There was an issue when discarding the item, please try again later.", - "submission.sections.general.discard_error_notice": "Hubo un problema cuando se descartó el ítem, inténtelo más tarde.", - - // "submission.sections.general.discard_success_notice": "Submission discarded successfully.", - "submission.sections.general.discard_success_notice": "Envío descartado exitosamente.", - - // "submission.sections.general.metadata-extracted": "New metadata have been extracted and added to the {{sectionId}} section.", - "submission.sections.general.metadata-extracted": "Nueva metadata ha sido extraída y agregada a la sección {{sectionId}}.", - - // "submission.sections.general.metadata-extracted-new-section": "New {{sectionId}} section has been added to submission.", - "submission.sections.general.metadata-extracted-new-section": "Nueva sección {{sectionId}} ha sido enviada.", - - // "submission.sections.general.no-collection": "No collection found", - "submission.sections.general.no-collection": "Nueva colección enviada", - - // "submission.sections.general.no-sections": "No options available", - "submission.sections.general.no-sections": "No hay opciones disponibles", - - // "submission.sections.general.save_error_notice": "There was an issue when saving the item, please try again later.", - "submission.sections.general.save_error_notice": "Hubo un problema cuando se guardó el ítem, inténtelo más tarde.", - - // "submission.sections.general.save_success_notice": "Submission saved successfully.", - "submission.sections.general.save_success_notice": "Envío guardado exitosamente.", - - // "submission.sections.general.search-collection": "Search for a collection", - "submission.sections.general.search-collection": "Search for a collection", - - // "submission.sections.general.sections_not_valid": "There are incomplete sections.", - "submission.sections.general.sections_not_valid": "Existen secciones incompletas.", - - - - // "submission.sections.submit.progressbar.cclicense": "Creative commons license", - "submission.sections.submit.progressbar.cclicense": "Licencia Creative Commons ", - - // "submission.sections.submit.progressbar.describe.recycle": "Recycle", - "submission.sections.submit.progressbar.describe.recycle": "Reciclar", - - // "submission.sections.submit.progressbar.describe.stepcustom": "Describe", - "submission.sections.submit.progressbar.describe.stepcustom": "Describir", - - // "submission.sections.submit.progressbar.describe.stepone": "Describe", - "submission.sections.submit.progressbar.describe.stepone": "Describir", - - // "submission.sections.submit.progressbar.describe.steptwo": "Describe", - "submission.sections.submit.progressbar.describe.steptwo": "Describir", - - // "submission.sections.submit.progressbar.detect-duplicate": "Potential duplicates", - "submission.sections.submit.progressbar.detect-duplicate": "Posibles duplicados", - - // "submission.sections.submit.progressbar.license": "Deposit license", - "submission.sections.submit.progressbar.license": "Licencia de depósito", - - // "submission.sections.submit.progressbar.upload": "Upload files", - "submission.sections.submit.progressbar.upload": "Subir archivos", - - - - // "submission.sections.upload.delete.confirm.cancel": "Cancel", - "submission.sections.upload.delete.confirm.cancel": "Cancelar", - - // "submission.sections.upload.delete.confirm.info": "This operation can't be undone. Are you sure?", - "submission.sections.upload.delete.confirm.info": "Esta operación no se puede deshacer. Está seguro?", - - // "submission.sections.upload.delete.confirm.submit": "Yes, I'm sure", - "submission.sections.upload.delete.confirm.submit": "Si, Estoy seguro", - - // "submission.sections.upload.delete.confirm.title": "Delete bitstream", - "submission.sections.upload.delete.confirm.title": "Eliminar archivo", - - // "submission.sections.upload.delete.submit": "Delete", - "submission.sections.upload.delete.submit": "Eliminar", - - // "submission.sections.upload.drop-message": "Drop files to attach them to the item", - "submission.sections.upload.drop-message": "Bajar archivos para adjuntarlos al ítem", - - // "submission.sections.upload.form.access-condition-label": "Access condition type", - "submission.sections.upload.form.access-condition-label": "Tipo de condición de acceso", - - // "submission.sections.upload.form.date-required": "Date is required.", - "submission.sections.upload.form.date-required": "La fecha es requerida.", - - // "submission.sections.upload.form.from-label": "Access grant from", - "submission.sections.upload.form.from-label": "Concesión de acceso desde", - - // "submission.sections.upload.form.from-placeholder": "From", - "submission.sections.upload.form.from-placeholder": "Desde", - - // "submission.sections.upload.form.group-label": "Group", - "submission.sections.upload.form.group-label": "Grupo", - - // "submission.sections.upload.form.group-required": "Group is required.", - "submission.sections.upload.form.group-required": "El Grupo es requerido.", - - // "submission.sections.upload.form.until-label": "Access grant until", - "submission.sections.upload.form.until-label": "Concesión de acceso hasta", - - // "submission.sections.upload.form.until-placeholder": "Until", - "submission.sections.upload.form.until-placeholder": "Hasta", - - // "submission.sections.upload.header.policy.default.nolist": "Uploaded files in the {{collectionName}} collection will be accessible according to the following group(s):", - "submission.sections.upload.header.policy.default.nolist": "Archivos subidos a la colección {{collectionName}} serán accesibles según el siguiente grupo(s):", - - // "submission.sections.upload.header.policy.default.withlist": "Please note that uploaded files in the {{collectionName}} collection will be accessible, in addition to what is explicitly decided for the single file, with the following group(s):", - "submission.sections.upload.header.policy.default.withlist": "Tenga en cuenta que los archivos cargados en la colección {{collectionName}} serán accesibles, además de lo que se decida explísitamente para el único archivo con el siguiente grupo(s):", - - // "submission.sections.upload.info": "Here you will find all the files currently in the item. You can update the file metadata and access conditions or upload additional files just dragging & dropping them everywhere in the page", - "submission.sections.upload.info": "Aquí encontrará todos los archivos aque actualmente están en el ítem.. Puede actualizar los metadatos del archivo y las condiciones de acceso o cargar los archivos adicionales simplemente arrastrándolos y soltándolos en cualquier parte de la página", - - // "submission.sections.upload.no-entry": "No", - "submission.sections.upload.no-entry": "No", - - // "submission.sections.upload.no-file-uploaded": "No file uploaded yet.", - "submission.sections.upload.no-file-uploaded": "Todavía no hay archivos cargados.", - - // "submission.sections.upload.save-metadata": "Save metadata", - "submission.sections.upload.save-metadata": "Metadatos guardados", - - // "submission.sections.upload.undo": "Cancel", - "submission.sections.upload.undo": "Cancelar", - - // "submission.sections.upload.upload-failed": "Upload failed", - "submission.sections.upload.upload-failed": "Falla en la carga", - - // "submission.sections.upload.upload-successful": "Upload successful", - "submission.sections.upload.upload-successful": "Carga exitosa", - - - - // "submission.submit.title": "Submission", - "submission.submit.title": "Envío", - - - - // "submission.workflow.generic.delete": "Delete", - "submission.workflow.generic.delete": "Eliminar", - - // "submission.workflow.generic.delete-help": "If you would to discard this item, select \"Delete\". You will then be asked to confirm it.", - "submission.workflow.generic.delete-help": "Si desea descartar este ítem, seleccion \"Eliminar\". Después se solicitará que confirme.", - - // "submission.workflow.generic.edit": "Edit", - "submission.workflow.generic.edit": "Editar", - - // "submission.workflow.generic.edit-help": "Select this option to change the item's metadata.", - "submission.workflow.generic.edit-help": "Seleccione la opción para cambiar los metadatos del ítem.", - - // "submission.workflow.generic.view": "View", - "submission.workflow.generic.view": "Ver", - - // "submission.workflow.generic.view-help": "Select this option to view the item's metadata.", - "submission.workflow.generic.view-help": "Seleccion esta opción para visualizar los metadatos del ítem.", - - - - // "submission.workflow.tasks.claimed.approve": "Approve", - "submission.workflow.tasks.claimed.approve": "Aprobar", - - // "submission.workflow.tasks.claimed.approve_help": "If you have reviewed the item and it is suitable for inclusion in the collection, select \"Approve\".", - "submission.workflow.tasks.claimed.approve_help": "Si ha revisado el ítem y es adecuado para su inclusión en la colección., seleccione \"Aprobar\".", - - // "submission.workflow.tasks.claimed.edit": "Edit", - "submission.workflow.tasks.claimed.edit": "Editar", - - // "submission.workflow.tasks.claimed.edit_help": "Select this option to change the item's metadata.", - "submission.workflow.tasks.claimed.edit_help": "Seleccione esta opción para cambiar los metadatos del ítem.", - - // "submission.workflow.tasks.claimed.reject.reason.info": "Please enter your reason for rejecting the submission into the box below, indicating whether the submitter may fix a problem and resubmit.", - "submission.workflow.tasks.claimed.reject.reason.info": "Favor ingrese abajo su motivo para rechazar el envío, indicando si el remitente puede solucionar un problema y volver a enviar.", - - // "submission.workflow.tasks.claimed.reject.reason.placeholder": "Describe the reason of reject", - "submission.workflow.tasks.claimed.reject.reason.placeholder": "Describe el motivo del rechazo", - - // "submission.workflow.tasks.claimed.reject.reason.submit": "Reject item", - "submission.workflow.tasks.claimed.reject.reason.submit": "Rechazar el 'item", - - // "submission.workflow.tasks.claimed.reject.reason.title": "Reason", - "submission.workflow.tasks.claimed.reject.reason.title": "Razón", - - // "submission.workflow.tasks.claimed.reject.submit": "Reject", - "submission.workflow.tasks.claimed.reject.submit": "Rechazar", - - // "submission.workflow.tasks.claimed.reject_help": "If you have reviewed the item and found it is not suitable for inclusion in the collection, select \"Reject\". You will then be asked to enter a message indicating why the item is unsuitable, and whether the submitter should change something and resubmit.", - "submission.workflow.tasks.claimed.reject_help": "Si ha revisado el ítem y ha encontrado que no es adecuado para su inclusión en la colección, seleccione \"Rechazar\". Después se le pedirá que ingrese un mensaje que indique por qué el ítem no es adecuado y si el remitente debe cambiar algo y volver a enviarlo.", - - // "submission.workflow.tasks.claimed.return": "Return to pool", - "submission.workflow.tasks.claimed.return": "Regresar al pool", - - // "submission.workflow.tasks.claimed.return_help": "Return the task to the pool so that another user may perform the task.", - "submission.workflow.tasks.claimed.return_help": "Devolver la tarea al pool para que otro usuario pueda realizar la tarea..", - - - - // "submission.workflow.tasks.generic.error": "Error occurred during operation...", - "submission.workflow.tasks.generic.error": "Ha ocurrido un error durante la operación...", - - // "submission.workflow.tasks.generic.processing": "Processing...", - "submission.workflow.tasks.generic.processing": "Procesando...", - - // "submission.workflow.tasks.generic.submitter": "Submitter", - "submission.workflow.tasks.generic.submitter": "Remitente", - - // "submission.workflow.tasks.generic.success": "Operation successful", - "submission.workflow.tasks.generic.success": "Operación exitosa", - - - - // "submission.workflow.tasks.pool.claim": "Claim", - "submission.workflow.tasks.pool.claim": "Reclamar", - - // "submission.workflow.tasks.pool.claim_help": "Assign this task to yourself.", - "submission.workflow.tasks.pool.claim_help": "Asígnese esta tarea a usted mismo.", - - // "submission.workflow.tasks.pool.hide-detail": "Hide detail", - "submission.workflow.tasks.pool.hide-detail": "Ocultar detalles", - - // "submission.workflow.tasks.pool.show-detail": "Show detail", - "submission.workflow.tasks.pool.show-detail": "Mostrar detalles", - - - - // "title": "DSpace", - "title": "DSpace", - - // "administrativeView.search.results.head": "Administrative Search", // TODO New key - Add a translation "administrativeView.search.results.head": "Administrative Search", - + + + + + // "admin.workflow.breadcrumbs": "Administer Workflow", + // TODO New key - Add a translation + "admin.workflow.breadcrumbs": "Administer Workflow", + + // "admin.workflow.title": "Administer Workflow", + // TODO New key - Add a translation + "admin.workflow.title": "Administer Workflow", + + // "admin.workflow.item.workflow": "Workflow", + // TODO New key - Add a translation + "admin.workflow.item.workflow": "Workflow", + + // "admin.workflow.item.delete": "Delete", + // TODO New key - Add a translation + "admin.workflow.item.delete": "Delete", + + // "admin.workflow.item.send-back": "Send back", + // TODO New key - Add a translation + "admin.workflow.item.send-back": "Send back", + + + + // "admin.metadata-import.breadcrumbs": "Import Metadata", + // TODO New key - Add a translation + "admin.metadata-import.breadcrumbs": "Import Metadata", + + // "admin.metadata-import.title": "Import Metadata", + // TODO New key - Add a translation + "admin.metadata-import.title": "Import Metadata", + + // "admin.metadata-import.page.header": "Import Metadata", + // TODO New key - Add a translation + "admin.metadata-import.page.header": "Import Metadata", + + // "admin.metadata-import.page.help": "You can drop or browse CSV files that contain batch metadata operations on files here", + // TODO New key - Add a translation + "admin.metadata-import.page.help": "You can drop or browse CSV files that contain batch metadata operations on files here", + + // "admin.metadata-import.page.dropMsg": "Drop a metadata CSV to import", + // TODO New key - Add a translation + "admin.metadata-import.page.dropMsg": "Drop a metadata CSV to import", + + // "admin.metadata-import.page.dropMsgReplace": "Drop to replace the metadata CSV to import", + // TODO New key - Add a translation + "admin.metadata-import.page.dropMsgReplace": "Drop to replace the metadata CSV to import", + + // "admin.metadata-import.page.button.return": "Return", + // TODO New key - Add a translation + "admin.metadata-import.page.button.return": "Return", + + // "admin.metadata-import.page.button.proceed": "Proceed", + // TODO New key - Add a translation + "admin.metadata-import.page.button.proceed": "Proceed", + + // "admin.metadata-import.page.error.addFile": "Select file first!", + // TODO New key - Add a translation + "admin.metadata-import.page.error.addFile": "Select file first!", + + + + + // "auth.errors.invalid-user": "Invalid email address or password.", + "auth.errors.invalid-user": "No es válida la dirección de correo o la clave.", + + // "auth.messages.expired": "Your session has expired. Please log in again.", + "auth.messages.expired": "Su sesión ha expirado. Favor ingresar de nuevo.", + + + + // "bitstream.edit.bitstream": "Bitstream: ", + // TODO New key - Add a translation + "bitstream.edit.bitstream": "Bitstream: ", + + // "bitstream.edit.form.description.hint": "Optionally, provide a brief description of the file, for example \"Main article\" or \"Experiment data readings\".", + // TODO New key - Add a translation + "bitstream.edit.form.description.hint": "Optionally, provide a brief description of the file, for example \"Main article\" or \"Experiment data readings\".", + + // "bitstream.edit.form.description.label": "Description", + // TODO New key - Add a translation + "bitstream.edit.form.description.label": "Description", + + // "bitstream.edit.form.embargo.hint": "The first day from which access is allowed. This date cannot be modified on this form. To set an embargo date for a bitstream, go to the Item Status tab, click Authorizations..., create or edit the bitstream's READ policy, and set the Start Date as desired.", + // TODO New key - Add a translation + "bitstream.edit.form.embargo.hint": "The first day from which access is allowed. This date cannot be modified on this form. To set an embargo date for a bitstream, go to the Item Status tab, click Authorizations..., create or edit the bitstream's READ policy, and set the Start Date as desired.", + + // "bitstream.edit.form.embargo.label": "Embargo until specific date", + // TODO New key - Add a translation + "bitstream.edit.form.embargo.label": "Embargo until specific date", + + // "bitstream.edit.form.fileName.hint": "Change the filename for the bitstream. Note that this will change the display bitstream URL, but old links will still resolve as long as the sequence ID does not change.", + // TODO New key - Add a translation + "bitstream.edit.form.fileName.hint": "Change the filename for the bitstream. Note that this will change the display bitstream URL, but old links will still resolve as long as the sequence ID does not change.", + + // "bitstream.edit.form.fileName.label": "Filename", + // TODO New key - Add a translation + "bitstream.edit.form.fileName.label": "Filename", + + // "bitstream.edit.form.newFormat.label": "Describe new format", + // TODO New key - Add a translation + "bitstream.edit.form.newFormat.label": "Describe new format", + + // "bitstream.edit.form.newFormat.hint": "The application you used to create the file, and the version number (for example, \"ACMESoft SuperApp version 1.5\").", + // TODO New key - Add a translation + "bitstream.edit.form.newFormat.hint": "The application you used to create the file, and the version number (for example, \"ACMESoft SuperApp version 1.5\").", + + // "bitstream.edit.form.primaryBitstream.label": "Primary bitstream", + // TODO New key - Add a translation + "bitstream.edit.form.primaryBitstream.label": "Primary bitstream", + + // "bitstream.edit.form.selectedFormat.hint": "If the format is not in the above list, select \"format not in list\" above and describe it under \"Describe new format\".", + // TODO New key - Add a translation + "bitstream.edit.form.selectedFormat.hint": "If the format is not in the above list, select \"format not in list\" above and describe it under \"Describe new format\".", + + // "bitstream.edit.form.selectedFormat.label": "Selected Format", + // TODO New key - Add a translation + "bitstream.edit.form.selectedFormat.label": "Selected Format", + + // "bitstream.edit.form.selectedFormat.unknown": "Format not in list", + // TODO New key - Add a translation + "bitstream.edit.form.selectedFormat.unknown": "Format not in list", + + // "bitstream.edit.notifications.error.format.title": "An error occurred saving the bitstream's format", + // TODO New key - Add a translation + "bitstream.edit.notifications.error.format.title": "An error occurred saving the bitstream's format", + + // "bitstream.edit.notifications.saved.content": "Your changes to this bitstream were saved.", + // TODO New key - Add a translation + "bitstream.edit.notifications.saved.content": "Your changes to this bitstream were saved.", + + // "bitstream.edit.notifications.saved.title": "Bitstream saved", + // TODO New key - Add a translation + "bitstream.edit.notifications.saved.title": "Bitstream saved", + + // "bitstream.edit.title": "Edit bitstream", + // TODO New key - Add a translation + "bitstream.edit.title": "Edit bitstream", + + + + // "browse.comcol.by.author": "By Author", + "browse.comcol.by.author": "Por Autor", + + // "browse.comcol.by.dateissued": "By Issue Date", + "browse.comcol.by.dateissued": "Por Fecha de Publicación", + + // "browse.comcol.by.subject": "By Subject", + "browse.comcol.by.subject": "Por Materia", + + // "browse.comcol.by.title": "By Title", + "browse.comcol.by.title": "Por Título", + + // "browse.comcol.head": "Browse", + "browse.comcol.head": "Navegar", + + // "browse.empty": "No items to show.", + "browse.empty": "No ítemes para mostrar.", + + // "browse.metadata.author": "Author", + "browse.metadata.author": "Autor", + + // "browse.metadata.dateissued": "Issue Date", + "browse.metadata.dateissued": "Fecha de Publicación", + + // "browse.metadata.subject": "Subject", + "browse.metadata.subject": "Materia", + + // "browse.metadata.title": "Title", + "browse.metadata.title": "Título", + + // "browse.metadata.author.breadcrumbs": "Browse by Author", + // TODO New key - Add a translation + "browse.metadata.author.breadcrumbs": "Browse by Author", + + // "browse.metadata.dateissued.breadcrumbs": "Browse by Date", + // TODO New key - Add a translation + "browse.metadata.dateissued.breadcrumbs": "Browse by Date", + + // "browse.metadata.subject.breadcrumbs": "Browse by Subject", + // TODO New key - Add a translation + "browse.metadata.subject.breadcrumbs": "Browse by Subject", + + // "browse.metadata.title.breadcrumbs": "Browse by Title", + // TODO New key - Add a translation + "browse.metadata.title.breadcrumbs": "Browse by Title", + + // "browse.startsWith.choose_start": "(Choose start)", + "browse.startsWith.choose_start": "(Seleccionar el inicio)", + + // "browse.startsWith.choose_year": "(Choose year)", + "browse.startsWith.choose_year": "(Seleccionar el año)", + + // "browse.startsWith.jump": "Jump to a point in the index:", + "browse.startsWith.jump": "Saltar a un punto en el índice:", + + // "browse.startsWith.months.april": "April", + "browse.startsWith.months.april": "Abril", + + // "browse.startsWith.months.august": "August", + "browse.startsWith.months.august": "Agosto", + + // "browse.startsWith.months.december": "December", + "browse.startsWith.months.december": "Diciembre", + + // "browse.startsWith.months.february": "February", + "browse.startsWith.months.february": "Febrero", + + // "browse.startsWith.months.january": "January", + "browse.startsWith.months.january": "Enero", + + // "browse.startsWith.months.july": "July", + "browse.startsWith.months.july": "Julio", + + // "browse.startsWith.months.june": "June", + "browse.startsWith.months.june": "Junio", + + // "browse.startsWith.months.march": "March", + "browse.startsWith.months.march": "Marzo", + + // "browse.startsWith.months.may": "May", + "browse.startsWith.months.may": "Mayo", + + // "browse.startsWith.months.none": "(Choose month)", + "browse.startsWith.months.none": "(Seleccionar el mes)", + + // "browse.startsWith.months.november": "November", + "browse.startsWith.months.november": "Noviembre", + + // "browse.startsWith.months.october": "October", + "browse.startsWith.months.october": "Octubre", + + // "browse.startsWith.months.september": "September", + "browse.startsWith.months.september": "Septiembre", + + // "browse.startsWith.submit": "Go", + "browse.startsWith.submit": "Ir", + + // "browse.startsWith.type_date": "Or type in a date (year-month):", + "browse.startsWith.type_date": "O escriba una fecha (año-mes):", + + // "browse.startsWith.type_text": "Or enter first few letters:", + "browse.startsWith.type_text": "O ingrese las primeras letras:", + + // "browse.title": "Browsing {{ collection }} by {{ field }} {{ value }}", + "browse.title": "Navegando {{ collection }} por {{ field }} {{ value }}", + + + // "chips.remove": "Remove chip", + "chips.remove": "Eliminar chip", + + + + // "collection.create.head": "Create a Collection", + "collection.create.head": "Crear una Colección", + + // "collection.create.notifications.success": "Successfully created the Collection", + // TODO New key - Add a translation + "collection.create.notifications.success": "Successfully created the Collection", + + // "collection.create.sub-head": "Create a Collection for Community {{ parent }}", + "collection.create.sub-head": "Crear una Colección por Comunidad {{ parent }}", + + // "collection.curate.header": "Curate Collection: {{collection}}", + // TODO New key - Add a translation + "collection.curate.header": "Curate Collection: {{collection}}", + + // "collection.delete.cancel": "Cancel", + "collection.delete.cancel": "Cancelar", + + // "collection.delete.confirm": "Confirm", + "collection.delete.confirm": "Confirmar", + + // "collection.delete.head": "Delete Collection", + "collection.delete.head": "Eliminar la Colección", + + // "collection.delete.notification.fail": "Collection could not be deleted", + "collection.delete.notification.fail": "La Colección no puede ser eliminada", + + // "collection.delete.notification.success": "Successfully deleted collection", + "collection.delete.notification.success": "Colección eliminada exitosamente", + + // "collection.delete.text": "Are you sure you want to delete collection \"{{ dso }}\"", + "collection.delete.text": "Está seguro de eliminar la colección \"{{ dso }}\"", + + + + // "collection.edit.delete": "Delete this collection", + "collection.edit.delete": "Eliminar esta colección", + + // "collection.edit.head": "Edit Collection", + "collection.edit.head": "Editar la Colección", + + // "collection.edit.breadcrumbs": "Edit Collection", + // TODO New key - Add a translation + "collection.edit.breadcrumbs": "Edit Collection", + + + + // "collection.edit.tabs.mapper.head": "Item Mapper", + // TODO New key - Add a translation + "collection.edit.tabs.mapper.head": "Item Mapper", + + // "collection.edit.tabs.item-mapper.title": "Collection Edit - Item Mapper", + // TODO New key - Add a translation + "collection.edit.tabs.item-mapper.title": "Collection Edit - Item Mapper", + + // "collection.edit.item-mapper.cancel": "Cancel", + "collection.edit.item-mapper.cancel": "Cancelar", + + // "collection.edit.item-mapper.collection": "Collection: \"{{name}}\"", + "collection.edit.item-mapper.collection": "Colección: \"{{name}}\"", + + // "collection.edit.item-mapper.confirm": "Map selected items", + "collection.edit.item-mapper.confirm": "Mapa de ítemes seleccionados", + + // "collection.edit.item-mapper.description": "This is the item mapper tool that allows collection administrators to map items from other collections into this collection. You can search for items from other collections and map them, or browse the list of currently mapped items.", + "collection.edit.item-mapper.description": "Esta es la herramienta de asignación de ítemes que permite a los administradores de colecciones asignar ítemes de otras colecciones a esta colección. Puede buscar ítemes de otras colecciones y asignarlos, o navegar la lista de elementos asignados actualmente.", + + // "collection.edit.item-mapper.head": "Item Mapper - Map Items from Other Collections", + "collection.edit.item-mapper.head": "Asignación de ítem - Asignación de ítemes para otras Colecciones", + + // "collection.edit.item-mapper.no-search": "Please enter a query to search", + "collection.edit.item-mapper.no-search": "Favor ingrese una consulta para buscar", + + // "collection.edit.item-mapper.notifications.map.error.content": "Errors occurred for mapping of {{amount}} items.", + "collection.edit.item-mapper.notifications.map.error.content": "Errores encontrados para asignar {{amount}} ítemes.", + + // "collection.edit.item-mapper.notifications.map.error.head": "Mapping errors", + "collection.edit.item-mapper.notifications.map.error.head": "Errores asignados", + + // "collection.edit.item-mapper.notifications.map.success.content": "Successfully mapped {{amount}} items.", + "collection.edit.item-mapper.notifications.map.success.content": "Exitosamente asignado {{amount}} ítemes.", + + // "collection.edit.item-mapper.notifications.map.success.head": "Mapping completed", + "collection.edit.item-mapper.notifications.map.success.head": "Asignación completa", + + // "collection.edit.item-mapper.notifications.unmap.error.content": "Errors occurred for removing the mappings of {{amount}} items.", + "collection.edit.item-mapper.notifications.unmap.error.content": "Errores encontrados al eliminar la asignación de {{amount}} ítemes.", + + // "collection.edit.item-mapper.notifications.unmap.error.head": "Remove mapping errors", + "collection.edit.item-mapper.notifications.unmap.error.head": "Eliminar errores de asignación", + + // "collection.edit.item-mapper.notifications.unmap.success.content": "Successfully removed the mappings of {{amount}} items.", + "collection.edit.item-mapper.notifications.unmap.success.content": "Exitosamente eliminado las asignaciones de {{amount}} ítemes.", + + // "collection.edit.item-mapper.notifications.unmap.success.head": "Remove mapping completed", + "collection.edit.item-mapper.notifications.unmap.success.head": "Asignación eliminada completa", + + // "collection.edit.item-mapper.remove": "Remove selected item mappings", + "collection.edit.item-mapper.remove": "Eliminar asignaciones de ítemes seleccionados", + + // "collection.edit.item-mapper.tabs.browse": "Browse mapped items", + "collection.edit.item-mapper.tabs.browse": "Navegar asignación de ítemes", + + // "collection.edit.item-mapper.tabs.map": "Map new items", + "collection.edit.item-mapper.tabs.map": "Asignar nuevo ítemes", + + + + // "collection.edit.logo.label": "Collection logo", + // TODO New key - Add a translation + "collection.edit.logo.label": "Collection logo", + + // "collection.edit.logo.notifications.add.error": "Uploading Collection logo failed. Please verify the content before retrying.", + // TODO New key - Add a translation + "collection.edit.logo.notifications.add.error": "Uploading Collection logo failed. Please verify the content before retrying.", + + // "collection.edit.logo.notifications.add.success": "Upload Collection logo successful.", + // TODO New key - Add a translation + "collection.edit.logo.notifications.add.success": "Upload Collection logo successful.", + + // "collection.edit.logo.notifications.delete.success.title": "Logo deleted", + // TODO New key - Add a translation + "collection.edit.logo.notifications.delete.success.title": "Logo deleted", + + // "collection.edit.logo.notifications.delete.success.content": "Successfully deleted the collection's logo", + // TODO New key - Add a translation + "collection.edit.logo.notifications.delete.success.content": "Successfully deleted the collection's logo", + + // "collection.edit.logo.notifications.delete.error.title": "Error deleting logo", + // TODO New key - Add a translation + "collection.edit.logo.notifications.delete.error.title": "Error deleting logo", + + // "collection.edit.logo.upload": "Drop a Collection Logo to upload", + // TODO New key - Add a translation + "collection.edit.logo.upload": "Drop a Collection Logo to upload", + + + + // "collection.edit.notifications.success": "Successfully edited the Collection", + // TODO New key - Add a translation + "collection.edit.notifications.success": "Successfully edited the Collection", + + // "collection.edit.return": "Return", + // TODO New key - Add a translation + "collection.edit.return": "Return", + + + + // "collection.edit.tabs.curate.head": "Curate", + // TODO New key - Add a translation + "collection.edit.tabs.curate.head": "Curate", + + // "collection.edit.tabs.curate.title": "Collection Edit - Curate", + // TODO New key - Add a translation + "collection.edit.tabs.curate.title": "Collection Edit - Curate", + + // "collection.edit.tabs.authorizations.head": "Authorizations", + // TODO New key - Add a translation + "collection.edit.tabs.authorizations.head": "Authorizations", + + // "collection.edit.tabs.authorizations.title": "Collection Edit - Authorizations", + // TODO New key - Add a translation + "collection.edit.tabs.authorizations.title": "Collection Edit - Authorizations", + + // "collection.edit.tabs.metadata.head": "Edit Metadata", + // TODO New key - Add a translation + "collection.edit.tabs.metadata.head": "Edit Metadata", + + // "collection.edit.tabs.metadata.title": "Collection Edit - Metadata", + // TODO New key - Add a translation + "collection.edit.tabs.metadata.title": "Collection Edit - Metadata", + + // "collection.edit.tabs.roles.head": "Assign Roles", + // TODO New key - Add a translation + "collection.edit.tabs.roles.head": "Assign Roles", + + // "collection.edit.tabs.roles.title": "Collection Edit - Roles", + // TODO New key - Add a translation + "collection.edit.tabs.roles.title": "Collection Edit - Roles", + + // "collection.edit.tabs.source.external": "This collection harvests its content from an external source", + // TODO New key - Add a translation + "collection.edit.tabs.source.external": "This collection harvests its content from an external source", + + // "collection.edit.tabs.source.form.errors.oaiSource.required": "You must provide a set id of the target collection.", + // TODO New key - Add a translation + "collection.edit.tabs.source.form.errors.oaiSource.required": "You must provide a set id of the target collection.", + + // "collection.edit.tabs.source.form.harvestType": "Content being harvested", + // TODO New key - Add a translation + "collection.edit.tabs.source.form.harvestType": "Content being harvested", + + // "collection.edit.tabs.source.form.head": "Configure an external source", + // TODO New key - Add a translation + "collection.edit.tabs.source.form.head": "Configure an external source", + + // "collection.edit.tabs.source.form.metadataConfigId": "Metadata Format", + // TODO New key - Add a translation + "collection.edit.tabs.source.form.metadataConfigId": "Metadata Format", + + // "collection.edit.tabs.source.form.oaiSetId": "OAI specific set id", + // TODO New key - Add a translation + "collection.edit.tabs.source.form.oaiSetId": "OAI specific set id", + + // "collection.edit.tabs.source.form.oaiSource": "OAI Provider", + // TODO New key - Add a translation + "collection.edit.tabs.source.form.oaiSource": "OAI Provider", + + // "collection.edit.tabs.source.form.options.harvestType.METADATA_AND_BITSTREAMS": "Harvest metadata and bitstreams (requires ORE support)", + // TODO New key - Add a translation + "collection.edit.tabs.source.form.options.harvestType.METADATA_AND_BITSTREAMS": "Harvest metadata and bitstreams (requires ORE support)", + + // "collection.edit.tabs.source.form.options.harvestType.METADATA_AND_REF": "Harvest metadata and references to bitstreams (requires ORE support)", + // TODO New key - Add a translation + "collection.edit.tabs.source.form.options.harvestType.METADATA_AND_REF": "Harvest metadata and references to bitstreams (requires ORE support)", + + // "collection.edit.tabs.source.form.options.harvestType.METADATA_ONLY": "Harvest metadata only", + // TODO New key - Add a translation + "collection.edit.tabs.source.form.options.harvestType.METADATA_ONLY": "Harvest metadata only", + + // "collection.edit.tabs.source.head": "Content Source", + // TODO New key - Add a translation + "collection.edit.tabs.source.head": "Content Source", + + // "collection.edit.tabs.source.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", + // TODO New key - Add a translation + "collection.edit.tabs.source.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", + + // "collection.edit.tabs.source.notifications.discarded.title": "Changed discarded", + // TODO New key - Add a translation + "collection.edit.tabs.source.notifications.discarded.title": "Changed discarded", + + // "collection.edit.tabs.source.notifications.invalid.content": "Your changes were not saved. Please make sure all fields are valid before you save.", + // TODO New key - Add a translation + "collection.edit.tabs.source.notifications.invalid.content": "Your changes were not saved. Please make sure all fields are valid before you save.", + + // "collection.edit.tabs.source.notifications.invalid.title": "Metadata invalid", + // TODO New key - Add a translation + "collection.edit.tabs.source.notifications.invalid.title": "Metadata invalid", + + // "collection.edit.tabs.source.notifications.saved.content": "Your changes to this collection's content source were saved.", + // TODO New key - Add a translation + "collection.edit.tabs.source.notifications.saved.content": "Your changes to this collection's content source were saved.", + + // "collection.edit.tabs.source.notifications.saved.title": "Content Source saved", + // TODO New key - Add a translation + "collection.edit.tabs.source.notifications.saved.title": "Content Source saved", + + // "collection.edit.tabs.source.title": "Collection Edit - Content Source", + // TODO New key - Add a translation + "collection.edit.tabs.source.title": "Collection Edit - Content Source", + + + + // "collection.edit.template.add-button": "Add", + // TODO New key - Add a translation + "collection.edit.template.add-button": "Add", + + // "collection.edit.template.breadcrumbs": "Item template", + // TODO New key - Add a translation + "collection.edit.template.breadcrumbs": "Item template", + + // "collection.edit.template.cancel": "Cancel", + // TODO New key - Add a translation + "collection.edit.template.cancel": "Cancel", + + // "collection.edit.template.delete-button": "Delete", + // TODO New key - Add a translation + "collection.edit.template.delete-button": "Delete", + + // "collection.edit.template.edit-button": "Edit", + // TODO New key - Add a translation + "collection.edit.template.edit-button": "Edit", + + // "collection.edit.template.head": "Edit Template Item for Collection \"{{ collection }}\"", + // TODO New key - Add a translation + "collection.edit.template.head": "Edit Template Item for Collection \"{{ collection }}\"", + + // "collection.edit.template.label": "Template item", + // TODO New key - Add a translation + "collection.edit.template.label": "Template item", + + // "collection.edit.template.notifications.delete.error": "Failed to delete the item template", + // TODO New key - Add a translation + "collection.edit.template.notifications.delete.error": "Failed to delete the item template", + + // "collection.edit.template.notifications.delete.success": "Successfully deleted the item template", + // TODO New key - Add a translation + "collection.edit.template.notifications.delete.success": "Successfully deleted the item template", + + // "collection.edit.template.title": "Edit Template Item", + // TODO New key - Add a translation + "collection.edit.template.title": "Edit Template Item", + + + + // "collection.form.abstract": "Short Description", + "collection.form.abstract": "Descripción breve", + + // "collection.form.description": "Introductory text (HTML)", + "collection.form.description": "Texto introductorio (HTML)", + + // "collection.form.errors.title.required": "Please enter a collection name", + "collection.form.errors.title.required": "Favor ingrese un nombre a la colección", + + // "collection.form.license": "License", + "collection.form.license": "Licencia", + + // "collection.form.provenance": "Provenance", + "collection.form.provenance": "Procedencia", + + // "collection.form.rights": "Copyright text (HTML)", + "collection.form.rights": "Texto de copyright (HTML)", + + // "collection.form.tableofcontents": "News (HTML)", + "collection.form.tableofcontents": "Noticias (HTML)", + + // "collection.form.title": "Name", + "collection.form.title": "Nombre", + + + + // "collection.listelement.badge": "Collection", + // TODO New key - Add a translation + "collection.listelement.badge": "Collection", + + + + // "collection.page.browse.recent.head": "Recent Submissions", + "collection.page.browse.recent.head": "Envíos recientes", + + // "collection.page.browse.recent.empty": "No items to show", + "collection.page.browse.recent.empty": "No ítemes para mostrar", + + // "collection.page.edit": "Edit this collection", + // TODO New key - Add a translation + "collection.page.edit": "Edit this collection", + + // "collection.page.handle": "Permanent URI for this collection", + "collection.page.handle": "URI permanente para esta colección", + + // "collection.page.license": "License", + "collection.page.license": "Licencia", + + // "collection.page.news": "News", + "collection.page.news": "Noticias", + + + + // "collection.select.confirm": "Confirm selected", + "collection.select.confirm": "Confirmar la selección", + + // "collection.select.empty": "No collections to show", + "collection.select.empty": "No hay colecciones para mostrar", + + // "collection.select.table.title": "Title", + "collection.select.table.title": "Título", + + + + // "collection.source.update.notifications.error.content": "The provided settings have been tested and didn't work.", + // TODO New key - Add a translation + "collection.source.update.notifications.error.content": "The provided settings have been tested and didn't work.", + + // "collection.source.update.notifications.error.title": "Server Error", + // TODO New key - Add a translation + "collection.source.update.notifications.error.title": "Server Error", + + + + // "communityList.tabTitle": "DSpace - Community List", + // TODO New key - Add a translation + "communityList.tabTitle": "DSpace - Community List", + + // "communityList.title": "List of Communities", + // TODO New key - Add a translation + "communityList.title": "List of Communities", + + // "communityList.showMore": "Show More", + // TODO New key - Add a translation + "communityList.showMore": "Show More", + + + + // "community.create.head": "Create a Community", + "community.create.head": "Crear una Comunidad", + + // "community.create.notifications.success": "Successfully created the Community", + // TODO New key - Add a translation + "community.create.notifications.success": "Successfully created the Community", + + // "community.create.sub-head": "Create a Sub-Community for Community {{ parent }}", + "community.create.sub-head": "Crear una Sub-Comunidad por Communidad {{ parent }}", + + // "community.curate.header": "Curate Community: {{community}}", + // TODO New key - Add a translation + "community.curate.header": "Curate Community: {{community}}", + + // "community.delete.cancel": "Cancel", + "community.delete.cancel": "Cancelar", + + // "community.delete.confirm": "Confirm", + "community.delete.confirm": "Confirmar", + + // "community.delete.head": "Delete Community", + "community.delete.head": "Eliminar Comunidad", + + // "community.delete.notification.fail": "Community could not be deleted", + "community.delete.notification.fail": "Esta comunidad no puede ser eliminada", + + // "community.delete.notification.success": "Successfully deleted community", + "community.delete.notification.success": "Comunidad eliminada exitosamente", + + // "community.delete.text": "Are you sure you want to delete community \"{{ dso }}\"", + "community.delete.text": "Está seguro de eliminar la comunidad \"{{ dso }}\"", + + // "community.edit.delete": "Delete this community", + "community.edit.delete": "Eliminar esta comunidad", + + // "community.edit.head": "Edit Community", + "community.edit.head": "Editar la Comunidad", + + // "community.edit.breadcrumbs": "Edit Community", + // TODO New key - Add a translation + "community.edit.breadcrumbs": "Edit Community", + + + // "community.edit.logo.label": "Community logo", + // TODO New key - Add a translation + "community.edit.logo.label": "Community logo", + + // "community.edit.logo.notifications.add.error": "Uploading Community logo failed. Please verify the content before retrying.", + // TODO New key - Add a translation + "community.edit.logo.notifications.add.error": "Uploading Community logo failed. Please verify the content before retrying.", + + // "community.edit.logo.notifications.add.success": "Upload Community logo successful.", + // TODO New key - Add a translation + "community.edit.logo.notifications.add.success": "Upload Community logo successful.", + + // "community.edit.logo.notifications.delete.success.title": "Logo deleted", + // TODO New key - Add a translation + "community.edit.logo.notifications.delete.success.title": "Logo deleted", + + // "community.edit.logo.notifications.delete.success.content": "Successfully deleted the community's logo", + // TODO New key - Add a translation + "community.edit.logo.notifications.delete.success.content": "Successfully deleted the community's logo", + + // "community.edit.logo.notifications.delete.error.title": "Error deleting logo", + // TODO New key - Add a translation + "community.edit.logo.notifications.delete.error.title": "Error deleting logo", + + // "community.edit.logo.upload": "Drop a Community Logo to upload", + // TODO New key - Add a translation + "community.edit.logo.upload": "Drop a Community Logo to upload", + + + + // "community.edit.notifications.success": "Successfully edited the Community", + // TODO New key - Add a translation + "community.edit.notifications.success": "Successfully edited the Community", + + // "community.edit.notifications.unauthorized": "You do not have privileges to make this change", + // TODO New key - Add a translation + "community.edit.notifications.unauthorized": "You do not have privileges to make this change", + + // "community.edit.notifications.error": "An error occured while editing the Community", + // TODO New key - Add a translation + "community.edit.notifications.error": "An error occured while editing the Community", + + // "community.edit.return": "Return", + // TODO New key - Add a translation + "community.edit.return": "Return", + + + + // "community.edit.tabs.curate.head": "Curate", + // TODO New key - Add a translation + "community.edit.tabs.curate.head": "Curate", + + // "community.edit.tabs.curate.title": "Community Edit - Curate", + // TODO New key - Add a translation + "community.edit.tabs.curate.title": "Community Edit - Curate", + + // "community.edit.tabs.metadata.head": "Edit Metadata", + // TODO New key - Add a translation + "community.edit.tabs.metadata.head": "Edit Metadata", + + // "community.edit.tabs.metadata.title": "Community Edit - Metadata", + // TODO New key - Add a translation + "community.edit.tabs.metadata.title": "Community Edit - Metadata", + + // "community.edit.tabs.roles.head": "Assign Roles", + // TODO New key - Add a translation + "community.edit.tabs.roles.head": "Assign Roles", + + // "community.edit.tabs.roles.title": "Community Edit - Roles", + // TODO New key - Add a translation + "community.edit.tabs.roles.title": "Community Edit - Roles", + + // "community.edit.tabs.authorizations.head": "Authorizations", + // TODO New key - Add a translation + "community.edit.tabs.authorizations.head": "Authorizations", + + // "community.edit.tabs.authorizations.title": "Community Edit - Authorizations", + // TODO New key - Add a translation + "community.edit.tabs.authorizations.title": "Community Edit - Authorizations", + + + + // "community.listelement.badge": "Community", + // TODO New key - Add a translation + "community.listelement.badge": "Community", + + + + // "comcol-role.edit.no-group": "None", + // TODO New key - Add a translation + "comcol-role.edit.no-group": "None", + + // "comcol-role.edit.create": "Create", + // TODO New key - Add a translation + "comcol-role.edit.create": "Create", + + // "comcol-role.edit.restrict": "Restrict", + // TODO New key - Add a translation + "comcol-role.edit.restrict": "Restrict", + + // "comcol-role.edit.delete": "Delete", + // TODO New key - Add a translation + "comcol-role.edit.delete": "Delete", + + + // "comcol-role.edit.community-admin.name": "Administrators", + // TODO New key - Add a translation + "comcol-role.edit.community-admin.name": "Administrators", + + // "comcol-role.edit.collection-admin.name": "Administrators", + // TODO New key - Add a translation + "comcol-role.edit.collection-admin.name": "Administrators", + + + // "comcol-role.edit.community-admin.description": "Community administrators can create sub-communities or collections, and manage or assign management for those sub-communities or collections. In addition, they decide who can submit items to any sub-collections, edit item metadata (after submission), and add (map) existing items from other collections (subject to authorization).", + // TODO New key - Add a translation + "comcol-role.edit.community-admin.description": "Community administrators can create sub-communities or collections, and manage or assign management for those sub-communities or collections. In addition, they decide who can submit items to any sub-collections, edit item metadata (after submission), and add (map) existing items from other collections (subject to authorization).", + + // "comcol-role.edit.collection-admin.description": "Collection administrators decide who can submit items to the collection, edit item metadata (after submission), and add (map) existing items from other collections to this collection (subject to authorization for that collection).", + // TODO New key - Add a translation + "comcol-role.edit.collection-admin.description": "Collection administrators decide who can submit items to the collection, edit item metadata (after submission), and add (map) existing items from other collections to this collection (subject to authorization for that collection).", + + + // "comcol-role.edit.submitters.name": "Submitters", + // TODO New key - Add a translation + "comcol-role.edit.submitters.name": "Submitters", + + // "comcol-role.edit.submitters.description": "The E-People and Groups that have permission to submit new items to this collection.", + // TODO New key - Add a translation + "comcol-role.edit.submitters.description": "The E-People and Groups that have permission to submit new items to this collection.", + + + // "comcol-role.edit.item_read.name": "Default item read access", + // TODO New key - Add a translation + "comcol-role.edit.item_read.name": "Default item read access", + + // "comcol-role.edit.item_read.description": "E-People and Groups that can read new items submitted to this collection. Changes to this role are not retroactive. Existing items in the system will still be viewable by those who had read access at the time of their addition.", + // TODO New key - Add a translation + "comcol-role.edit.item_read.description": "E-People and Groups that can read new items submitted to this collection. Changes to this role are not retroactive. Existing items in the system will still be viewable by those who had read access at the time of their addition.", + + // "comcol-role.edit.item_read.anonymous-group": "Default read for incoming items is currently set to Anonymous.", + // TODO New key - Add a translation + "comcol-role.edit.item_read.anonymous-group": "Default read for incoming items is currently set to Anonymous.", + + + // "comcol-role.edit.bitstream_read.name": "Default bitstream read access", + // TODO New key - Add a translation + "comcol-role.edit.bitstream_read.name": "Default bitstream read access", + + // "comcol-role.edit.bitstream_read.description": "Community administrators can create sub-communities or collections, and manage or assign management for those sub-communities or collections. In addition, they decide who can submit items to any sub-collections, edit item metadata (after submission), and add (map) existing items from other collections (subject to authorization).", + // TODO New key - Add a translation + "comcol-role.edit.bitstream_read.description": "Community administrators can create sub-communities or collections, and manage or assign management for those sub-communities or collections. In addition, they decide who can submit items to any sub-collections, edit item metadata (after submission), and add (map) existing items from other collections (subject to authorization).", + + // "comcol-role.edit.bitstream_read.anonymous-group": "Default read for incoming bitstreams is currently set to Anonymous.", + // TODO New key - Add a translation + "comcol-role.edit.bitstream_read.anonymous-group": "Default read for incoming bitstreams is currently set to Anonymous.", + + + // "comcol-role.edit.editor.name": "Editors", + // TODO New key - Add a translation + "comcol-role.edit.editor.name": "Editors", + + // "comcol-role.edit.editor.description": "Editors are able to edit the metadata of incoming submissions, and then accept or reject them.", + // TODO New key - Add a translation + "comcol-role.edit.editor.description": "Editors are able to edit the metadata of incoming submissions, and then accept or reject them.", + + + // "comcol-role.edit.finaleditor.name": "Final editors", + // TODO New key - Add a translation + "comcol-role.edit.finaleditor.name": "Final editors", + + // "comcol-role.edit.finaleditor.description": "Final editors are able to edit the metadata of incoming submissions, but will not be able to reject them.", + // TODO New key - Add a translation + "comcol-role.edit.finaleditor.description": "Final editors are able to edit the metadata of incoming submissions, but will not be able to reject them.", + + + // "comcol-role.edit.reviewer.name": "Reviewers", + // TODO New key - Add a translation + "comcol-role.edit.reviewer.name": "Reviewers", + + // "comcol-role.edit.reviewer.description": "Reviewers are able to accept or reject incoming submissions. However, they are not able to edit the submission's metadata.", + // TODO New key - Add a translation + "comcol-role.edit.reviewer.description": "Reviewers are able to accept or reject incoming submissions. However, they are not able to edit the submission's metadata.", + + + + // "community.form.abstract": "Short Description", + "community.form.abstract": "Descripción breve", + + // "community.form.description": "Introductory text (HTML)", + "community.form.description": "Texto introductorio (HTML)", + + // "community.form.errors.title.required": "Please enter a community name", + "community.form.errors.title.required": "Favor ingresar el nombre de la comunidad", + + // "community.form.rights": "Copyright text (HTML)", + "community.form.rights": "Texto de copyright (HTML)", + + // "community.form.tableofcontents": "News (HTML)", + "community.form.tableofcontents": "Noticias (HTML)", + + // "community.form.title": "Name", + "community.form.title": "Nombre", + + // "community.page.edit": "Edit this community", + // TODO New key - Add a translation + "community.page.edit": "Edit this community", + + // "community.page.handle": "Permanent URI for this community", + "community.page.handle": "URI permanente para esta comunidad", + + // "community.page.license": "License", + "community.page.license": "Licencia", + + // "community.page.news": "News", + "community.page.news": "Noticias", + + // "community.all-lists.head": "Subcommunities and Collections", + "community.all-lists.head": "Subcomunidades y Colecciones", + + // "community.sub-collection-list.head": "Collections of this Community", + "community.sub-collection-list.head": "Colecciones de esta Comunidad", + + // "community.sub-community-list.head": "Communities of this Community", + "community.sub-community-list.head": "Comunidades de esta Comunidad", + + + + // "cookies.consent.accept-all": "Accept all", + // TODO New key - Add a translation + "cookies.consent.accept-all": "Accept all", + + // "cookies.consent.accept-selected": "Accept selected", + // TODO New key - Add a translation + "cookies.consent.accept-selected": "Accept selected", + + // "cookies.consent.app.opt-out.description": "This app is loaded by default (but you can opt out)", + // TODO New key - Add a translation + "cookies.consent.app.opt-out.description": "This app is loaded by default (but you can opt out)", + + // "cookies.consent.app.opt-out.title": "(opt-out)", + // TODO New key - Add a translation + "cookies.consent.app.opt-out.title": "(opt-out)", + + // "cookies.consent.app.purpose": "purpose", + // TODO New key - Add a translation + "cookies.consent.app.purpose": "purpose", + + // "cookies.consent.app.required.description": "This application is always required", + // TODO New key - Add a translation + "cookies.consent.app.required.description": "This application is always required", + + // "cookies.consent.app.required.title": "(always required)", + // TODO New key - Add a translation + "cookies.consent.app.required.title": "(always required)", + + // "cookies.consent.update": "There were changes since your last visit, please update your consent.", + // TODO New key - Add a translation + "cookies.consent.update": "There were changes since your last visit, please update your consent.", + + // "cookies.consent.close": "Close", + // TODO New key - Add a translation + "cookies.consent.close": "Close", + + // "cookies.consent.decline": "Decline", + // TODO New key - Add a translation + "cookies.consent.decline": "Decline", + + // "cookies.consent.content-notice.description": "We collect and process your personal information for the following purposes: Authentication, Preferences, Acknowledgement and Statistics.
To learn more, please read our {privacyPolicy}.", + // TODO New key - Add a translation + "cookies.consent.content-notice.description": "We collect and process your personal information for the following purposes: Authentication, Preferences, Acknowledgement and Statistics.
To learn more, please read our {privacyPolicy}.", + + // "cookies.consent.content-notice.learnMore": "Customize", + // TODO New key - Add a translation + "cookies.consent.content-notice.learnMore": "Customize", + + // "cookies.consent.content-modal.description": "Here you can see and customize the information that we collect about you.", + // TODO New key - Add a translation + "cookies.consent.content-modal.description": "Here you can see and customize the information that we collect about you.", + + // "cookies.consent.content-modal.privacy-policy.name": "privacy policy", + // TODO New key - Add a translation + "cookies.consent.content-modal.privacy-policy.name": "privacy policy", + + // "cookies.consent.content-modal.privacy-policy.text": "To learn more, please read our {privacyPolicy}.", + // TODO New key - Add a translation + "cookies.consent.content-modal.privacy-policy.text": "To learn more, please read our {privacyPolicy}.", + + // "cookies.consent.content-modal.title": "Information that we collect", + // TODO New key - Add a translation + "cookies.consent.content-modal.title": "Information that we collect", + + + + // "cookies.consent.app.title.authentication": "Authentication", + // TODO New key - Add a translation + "cookies.consent.app.title.authentication": "Authentication", + + // "cookies.consent.app.description.authentication": "Required for signing you in", + // TODO New key - Add a translation + "cookies.consent.app.description.authentication": "Required for signing you in", + + + // "cookies.consent.app.title.preferences": "Preferences", + // TODO New key - Add a translation + "cookies.consent.app.title.preferences": "Preferences", + + // "cookies.consent.app.description.preferences": "Required for saving your preferences", + // TODO New key - Add a translation + "cookies.consent.app.description.preferences": "Required for saving your preferences", + + + + // "cookies.consent.app.title.acknowledgement": "Acknowledgement", + // TODO New key - Add a translation + "cookies.consent.app.title.acknowledgement": "Acknowledgement", + + // "cookies.consent.app.description.acknowledgement": "Required for saving your acknowledgements and consents", + // TODO New key - Add a translation + "cookies.consent.app.description.acknowledgement": "Required for saving your acknowledgements and consents", + + + + // "cookies.consent.app.title.google-analytics": "Google Analytics", + // TODO New key - Add a translation + "cookies.consent.app.title.google-analytics": "Google Analytics", + + // "cookies.consent.app.description.google-analytics": "Allows us to track statistical data", + // TODO New key - Add a translation + "cookies.consent.app.description.google-analytics": "Allows us to track statistical data", + + + + // "cookies.consent.purpose.functional": "Functional", + // TODO New key - Add a translation + "cookies.consent.purpose.functional": "Functional", + + // "cookies.consent.purpose.statistical": "Statistical", + // TODO New key - Add a translation + "cookies.consent.purpose.statistical": "Statistical", + + + // "curation-task.task.checklinks.label": "Check Links in Metadata", + // TODO New key - Add a translation + "curation-task.task.checklinks.label": "Check Links in Metadata", + + // "curation-task.task.noop.label": "NOOP", + // TODO New key - Add a translation + "curation-task.task.noop.label": "NOOP", + + // "curation-task.task.profileformats.label": "Profile Bitstream Formats", + // TODO New key - Add a translation + "curation-task.task.profileformats.label": "Profile Bitstream Formats", + + // "curation-task.task.requiredmetadata.label": "Check for Required Metadata", + // TODO New key - Add a translation + "curation-task.task.requiredmetadata.label": "Check for Required Metadata", + + // "curation-task.task.translate.label": "Microsoft Translator", + // TODO New key - Add a translation + "curation-task.task.translate.label": "Microsoft Translator", + + // "curation-task.task.vscan.label": "Virus Scan", + // TODO New key - Add a translation + "curation-task.task.vscan.label": "Virus Scan", + + + + // "curation.form.task-select.label": "Task:", + // TODO New key - Add a translation + "curation.form.task-select.label": "Task:", + + // "curation.form.submit": "Start", + // TODO New key - Add a translation + "curation.form.submit": "Start", + + // "curation.form.submit.success.head": "The curation task has been started successfully", + // TODO New key - Add a translation + "curation.form.submit.success.head": "The curation task has been started successfully", + + // "curation.form.submit.success.content": "You will be redirected to the corresponding process page.", + // TODO New key - Add a translation + "curation.form.submit.success.content": "You will be redirected to the corresponding process page.", + + // "curation.form.submit.error.head": "Running the curation task failed", + // TODO New key - Add a translation + "curation.form.submit.error.head": "Running the curation task failed", + + // "curation.form.submit.error.content": "An error occured when trying to start the curation task.", + // TODO New key - Add a translation + "curation.form.submit.error.content": "An error occured when trying to start the curation task.", + + // "curation.form.handle.label": "Handle:", + // TODO New key - Add a translation + "curation.form.handle.label": "Handle:", + + // "curation.form.handle.hint": "Hint: Enter [your-handle-prefix]/0 to run a task across entire site (not all tasks may support this capability)", + // TODO New key - Add a translation + "curation.form.handle.hint": "Hint: Enter [your-handle-prefix]/0 to run a task across entire site (not all tasks may support this capability)", + + + + // "dso-selector.create.collection.head": "New collection", + "dso-selector.create.collection.head": "Nueva colección", + + // "dso-selector.create.collection.sub-level": "Create a new collection in", + // TODO New key - Add a translation + "dso-selector.create.collection.sub-level": "Create a new collection in", + + // "dso-selector.create.community.head": "New community", + "dso-selector.create.community.head": "Nueva comunidad", + + // "dso-selector.create.community.sub-level": "Create a new community in", + "dso-selector.create.community.sub-level": "Crear una nueva comunidad en", + + // "dso-selector.create.community.top-level": "Create a new top-level community", + "dso-selector.create.community.top-level": "Crear una nueva comunidad de nivel superior", + + // "dso-selector.create.item.head": "New item", + "dso-selector.create.item.head": "Nuevo ítem", + + // "dso-selector.create.item.sub-level": "Create a new item in", + // TODO New key - Add a translation + "dso-selector.create.item.sub-level": "Create a new item in", + + // "dso-selector.create.submission.head": "New submission", + // TODO New key - Add a translation + "dso-selector.create.submission.head": "New submission", + + // "dso-selector.edit.collection.head": "Edit collection", + "dso-selector.edit.collection.head": "Editar colección", + + // "dso-selector.edit.community.head": "Edit community", + "dso-selector.edit.community.head": "Editar comunidad", + + // "dso-selector.edit.item.head": "Edit item", + "dso-selector.edit.item.head": "Editar ítem", + + // "dso-selector.export-metadata.dspaceobject.head": "Export metadata from", + // TODO New key - Add a translation + "dso-selector.export-metadata.dspaceobject.head": "Export metadata from", + + // "dso-selector.no-results": "No {{ type }} found", + "dso-selector.no-results": "No se ha encontrado {{ type }}", + + // "dso-selector.placeholder": "Search for a {{ type }}", + "dso-selector.placeholder": "Buscar por {{ type }}", + + + + // "confirmation-modal.export-metadata.header": "Export metadata for {{ dsoName }}", + // TODO New key - Add a translation + "confirmation-modal.export-metadata.header": "Export metadata for {{ dsoName }}", + + // "confirmation-modal.export-metadata.info": "Are you sure you want to export metadata for {{ dsoName }}", + // TODO New key - Add a translation + "confirmation-modal.export-metadata.info": "Are you sure you want to export metadata for {{ dsoName }}", + + // "confirmation-modal.export-metadata.cancel": "Cancel", + // TODO New key - Add a translation + "confirmation-modal.export-metadata.cancel": "Cancel", + + // "confirmation-modal.export-metadata.confirm": "Export", + // TODO New key - Add a translation + "confirmation-modal.export-metadata.confirm": "Export", + + // "confirmation-modal.delete-eperson.header": "Delete EPerson \"{{ dsoName }}\"", + // TODO New key - Add a translation + "confirmation-modal.delete-eperson.header": "Delete EPerson \"{{ dsoName }}\"", + + // "confirmation-modal.delete-eperson.info": "Are you sure you want to delete EPerson \"{{ dsoName }}\"", + // TODO New key - Add a translation + "confirmation-modal.delete-eperson.info": "Are you sure you want to delete EPerson \"{{ dsoName }}\"", + + // "confirmation-modal.delete-eperson.cancel": "Cancel", + // TODO New key - Add a translation + "confirmation-modal.delete-eperson.cancel": "Cancel", + + // "confirmation-modal.delete-eperson.confirm": "Delete", + // TODO New key - Add a translation + "confirmation-modal.delete-eperson.confirm": "Delete", + + + // "error.bitstream": "Error fetching bitstream", + // TODO New key - Add a translation + "error.bitstream": "Error fetching bitstream", + + // "error.browse-by": "Error fetching items", + "error.browse-by": "Error al recuperar los ítemes", + + // "error.collection": "Error fetching collection", + "error.collection": "Error al recuperar la colección", + + // "error.collections": "Error fetching collections", + "error.collections": "Error al recuperar las colecciones", + + // "error.community": "Error fetching community", + "error.community": "Error al recuperar la comunidad", + + // "error.identifier": "No item found for the identifier", + "error.identifier": "No se ha encontrado ningún ítem para el identificador.", + + // "error.default": "Error", + "error.default": "Error", + + // "error.item": "Error fetching item", + "error.item": "Error al recuperar el ítem", + + // "error.items": "Error fetching items", + "error.items": "Error al recuperar los ítemes", + + // "error.objects": "Error fetching objects", + "error.objects": "Error al recuperar los objetos", + + // "error.recent-submissions": "Error fetching recent submissions", + "error.recent-submissions": "Error al recuperar los envíos recientes", + + // "error.search-results": "Error fetching search results", + "error.search-results": "Error al recuperar los resultados de búsqueda", + + // "error.sub-collections": "Error fetching sub-collections", + "error.sub-collections": "Error al recuperar las sub-colecciones", + + // "error.sub-communities": "Error fetching sub-communities", + "error.sub-communities": "Error al recuperar las sub-comunidades", + + // "error.submission.sections.init-form-error": "An error occurred during section initialize, please check your input-form configuration. Details are below :

", + "error.submission.sections.init-form-error": "Se produjo un error ocurrió durante el inicio de sesión, favor verifique su configuración del formulario de entrada. Los detalles están abajo :

", + + // "error.top-level-communities": "Error fetching top-level communities", + "error.top-level-communities": "Error al recuperar las comunidades de nivel superior", + + // "error.validation.license.notgranted": "You must grant this license to complete your submission. If you are unable to grant this license at this time you may save your work and return later or remove the submission.", + "error.validation.license.notgranted": "Debe otorgar esta licencia para completar su envío. Si no puede otorgar esta licencia en este momento, puede guardar su trabajo y regresar más tarde o eliminar el envío.", + + // "error.validation.pattern": "This input is restricted by the current pattern: {{ pattern }}.", + "error.validation.pattern": "Esta entrada está restringida por el patrón actual: {{ pattern }}.", + + // "error.validation.filerequired": "The file upload is mandatory", + // TODO New key - Add a translation + "error.validation.filerequired": "The file upload is mandatory", + + + + // "file-section.error.header": "Error obtaining files for this item", + // TODO New key - Add a translation + "file-section.error.header": "Error obtaining files for this item", + + + + // "footer.copyright": "copyright © 2002-{{ year }}", + "footer.copyright": "derechos de autor © 2002-{{ year }}", + + // "footer.link.dspace": "DSpace software", + "footer.link.dspace": "Software DSpace", + + // "footer.link.duraspace": "DuraSpace", + "footer.link.duraspace": "DuraSpace", + + // "footer.link.cookies": "Cookie settings", + // TODO New key - Add a translation + "footer.link.cookies": "Cookie settings", + + // "footer.link.privacy-policy": "Privacy policy", + // TODO New key - Add a translation + "footer.link.privacy-policy": "Privacy policy", + + // "footer.link.end-user-agreement":"End User Agreement", + // TODO New key - Add a translation + "footer.link.end-user-agreement":"End User Agreement", + + + + // "forgot-email.form.header": "Forgot Password", + // TODO New key - Add a translation + "forgot-email.form.header": "Forgot Password", + + // "forgot-email.form.info": "Enter Register an account to subscribe to collections for email updates, and submit new items to DSpace.", + // TODO New key - Add a translation + "forgot-email.form.info": "Enter Register an account to subscribe to collections for email updates, and submit new items to DSpace.", + + // "forgot-email.form.email": "Email Address *", + // TODO New key - Add a translation + "forgot-email.form.email": "Email Address *", + + // "forgot-email.form.email.error.required": "Please fill in an email address", + // TODO New key - Add a translation + "forgot-email.form.email.error.required": "Please fill in an email address", + + // "forgot-email.form.email.error.pattern": "Please fill in a valid email address", + // TODO New key - Add a translation + "forgot-email.form.email.error.pattern": "Please fill in a valid email address", + + // "forgot-email.form.email.hint": "This address will be verified and used as your login name.", + // TODO New key - Add a translation + "forgot-email.form.email.hint": "This address will be verified and used as your login name.", + + // "forgot-email.form.submit": "Submit", + // TODO New key - Add a translation + "forgot-email.form.submit": "Submit", + + // "forgot-email.form.success.head": "Verification email sent", + // TODO New key - Add a translation + "forgot-email.form.success.head": "Verification email sent", + + // "forgot-email.form.success.content": "An email has been sent to {{ email }} containing a special URL and further instructions.", + // TODO New key - Add a translation + "forgot-email.form.success.content": "An email has been sent to {{ email }} containing a special URL and further instructions.", + + // "forgot-email.form.error.head": "Error when trying to register email", + // TODO New key - Add a translation + "forgot-email.form.error.head": "Error when trying to register email", + + // "forgot-email.form.error.content": "An error occured when registering the following email address: {{ email }}", + // TODO New key - Add a translation + "forgot-email.form.error.content": "An error occured when registering the following email address: {{ email }}", + + + + // "forgot-password.title": "Forgot Password", + // TODO New key - Add a translation + "forgot-password.title": "Forgot Password", + + // "forgot-password.form.head": "Forgot Password", + // TODO New key - Add a translation + "forgot-password.form.head": "Forgot Password", + + // "forgot-password.form.info": "Enter a new password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", + // TODO New key - Add a translation + "forgot-password.form.info": "Enter a new password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", + + // "forgot-password.form.card.security": "Security", + // TODO New key - Add a translation + "forgot-password.form.card.security": "Security", + + // "forgot-password.form.identification.header": "Identify", + // TODO New key - Add a translation + "forgot-password.form.identification.header": "Identify", + + // "forgot-password.form.identification.email": "Email address: ", + // TODO New key - Add a translation + "forgot-password.form.identification.email": "Email address: ", + + // "forgot-password.form.label.password": "Password", + // TODO New key - Add a translation + "forgot-password.form.label.password": "Password", + + // "forgot-password.form.label.passwordrepeat": "Retype to confirm", + // TODO New key - Add a translation + "forgot-password.form.label.passwordrepeat": "Retype to confirm", + + // "forgot-password.form.error.empty-password": "Please enter a password in the box below.", + // TODO New key - Add a translation + "forgot-password.form.error.empty-password": "Please enter a password in the box below.", + + // "forgot-password.form.error.matching-passwords": "The passwords do not match.", + // TODO New key - Add a translation + "forgot-password.form.error.matching-passwords": "The passwords do not match.", + + // "forgot-password.form.error.password-length": "The password should be at least 6 characters long.", + // TODO New key - Add a translation + "forgot-password.form.error.password-length": "The password should be at least 6 characters long.", + + // "forgot-password.form.notification.error.title": "Error when trying to submit new password", + // TODO New key - Add a translation + "forgot-password.form.notification.error.title": "Error when trying to submit new password", + + // "forgot-password.form.notification.success.content": "The password reset was successful. You have been logged in as the created user.", + // TODO New key - Add a translation + "forgot-password.form.notification.success.content": "The password reset was successful. You have been logged in as the created user.", + + // "forgot-password.form.notification.success.title": "Password reset completed", + // TODO New key - Add a translation + "forgot-password.form.notification.success.title": "Password reset completed", + + // "forgot-password.form.submit": "Submit password", + // TODO New key - Add a translation + "forgot-password.form.submit": "Submit password", + + + + // "form.add": "Add", + // TODO New key - Add a translation + "form.add": "Add", + + // "form.add-help": "Click here to add the current entry and to add another one", + // TODO New key - Add a translation + "form.add-help": "Click here to add the current entry and to add another one", + + // "form.cancel": "Cancel", + "form.cancel": "Cancelar", + + // "form.clear": "Clear", + "form.clear": "Limpiar", + + // "form.clear-help": "Click here to remove the selected value", + "form.clear-help": "Haga clic aquí para eliminar el valor seleccionado.", + + // "form.edit": "Edit", + "form.edit": "Editar", + + // "form.edit-help": "Click here to edit the selected value", + "form.edit-help": "Haga clic aquí para editar el valor seleccionado", + + // "form.first-name": "First name", + "form.first-name": "Primer nombre", + + // "form.group-collapse": "Collapse", + "form.group-collapse": "Contraer", + + // "form.group-collapse-help": "Click here to collapse", + "form.group-collapse-help": "Clic aquí para contraer", + + // "form.group-expand": "Expand", + "form.group-expand": "Expandir", + + // "form.group-expand-help": "Click here to expand and add more elements", + "form.group-expand-help": "Clic aquí para expandir and agregar más elementos", + + // "form.last-name": "Last name", + "form.last-name": "Apellido", + + // "form.loading": "Loading...", + "form.loading": "Cargando...", + + // "form.lookup": "Lookup", + // TODO New key - Add a translation + "form.lookup": "Lookup", + + // "form.lookup-help": "Click here to look up an existing relation", + // TODO New key - Add a translation + "form.lookup-help": "Click here to look up an existing relation", + + // "form.no-results": "No results found", + "form.no-results": "No se han encontrado resultados", + + // "form.no-value": "No value entered", + "form.no-value": "Ningún valor ingresado", + + // "form.other-information": {}, + "form.other-information": {}, + + // "form.remove": "Remove", + "form.remove": "Eliminar", + + // "form.save": "Save", + "form.save": "Guardar", + + // "form.save-help": "Save changes", + "form.save-help": "Guardar cambios", + + // "form.search": "Search", + "form.search": "Buscar", + + // "form.search-help": "Click here to look for an existing correspondence", + // TODO Source message changed - Revise the translation + "form.search-help": "Haga clic aquí para buscar una correspondencia existente", + + // "form.submit": "Submit", + "form.submit": "Enviar", + + + + // "home.description": "", + "home.description": "", + + // "home.breadcrumbs": "Home", + // TODO New key - Add a translation + "home.breadcrumbs": "Home", + + // "home.title": "DSpace Angular :: Home", + "home.title": "DSpace Angular :: Inicio", + + // "home.top-level-communities.head": "Communities in DSpace", + "home.top-level-communities.head": "Comunidades en DSpace", + + // "home.top-level-communities.help": "Select a community to browse its collections.", + "home.top-level-communities.help": "Seleccionar una comunidad para navegar sus colecciones.", + + + + // "info.end-user-agreement.accept": "I have read and I agree to the End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.accept": "I have read and I agree to the End User Agreement", + + // "info.end-user-agreement.accept.error": "An error occurred accepting the End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.accept.error": "An error occurred accepting the End User Agreement", + + // "info.end-user-agreement.accept.success": "Successfully updated the End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.accept.success": "Successfully updated the End User Agreement", + + // "info.end-user-agreement.breadcrumbs": "End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.breadcrumbs": "End User Agreement", + + // "info.end-user-agreement.buttons.cancel": "Cancel", + // TODO New key - Add a translation + "info.end-user-agreement.buttons.cancel": "Cancel", + + // "info.end-user-agreement.buttons.save": "Save", + // TODO New key - Add a translation + "info.end-user-agreement.buttons.save": "Save", + + // "info.end-user-agreement.head": "End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.head": "End User Agreement", + + // "info.end-user-agreement.title": "End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.title": "End User Agreement", + + // "info.privacy.breadcrumbs": "Privacy Statement", + // TODO New key - Add a translation + "info.privacy.breadcrumbs": "Privacy Statement", + + // "info.privacy.head": "Privacy Statement", + // TODO New key - Add a translation + "info.privacy.head": "Privacy Statement", + + // "info.privacy.title": "Privacy Statement", + // TODO New key - Add a translation + "info.privacy.title": "Privacy Statement", + + + + // "item.alerts.private": "This item is private", + // TODO New key - Add a translation + "item.alerts.private": "This item is private", + + // "item.alerts.withdrawn": "This item has been withdrawn", + // TODO New key - Add a translation + "item.alerts.withdrawn": "This item has been withdrawn", + + + + // "item.edit.authorizations.heading": "With this editor you can view and alter the policies of an item, plus alter policies of individual item components: bundles and bitstreams. Briefly, an item is a container of bundles, and bundles are containers of bitstreams. Containers usually have ADD/REMOVE/READ/WRITE policies, while bitstreams only have READ/WRITE policies.", + // TODO New key - Add a translation + "item.edit.authorizations.heading": "With this editor you can view and alter the policies of an item, plus alter policies of individual item components: bundles and bitstreams. Briefly, an item is a container of bundles, and bundles are containers of bitstreams. Containers usually have ADD/REMOVE/READ/WRITE policies, while bitstreams only have READ/WRITE policies.", + + // "item.edit.authorizations.title": "Edit item's Policies", + // TODO New key - Add a translation + "item.edit.authorizations.title": "Edit item's Policies", + + + + // "item.badge.private": "Private", + // TODO New key - Add a translation + "item.badge.private": "Private", + + // "item.badge.withdrawn": "Withdrawn", + // TODO New key - Add a translation + "item.badge.withdrawn": "Withdrawn", + + + + // "item.bitstreams.upload.bundle": "Bundle", + // TODO New key - Add a translation + "item.bitstreams.upload.bundle": "Bundle", + + // "item.bitstreams.upload.bundle.placeholder": "Select a bundle", + // TODO New key - Add a translation + "item.bitstreams.upload.bundle.placeholder": "Select a bundle", + + // "item.bitstreams.upload.bundle.new": "Create bundle", + // TODO New key - Add a translation + "item.bitstreams.upload.bundle.new": "Create bundle", + + // "item.bitstreams.upload.bundles.empty": "This item doesn\'t contain any bundles to upload a bitstream to.", + // TODO New key - Add a translation + "item.bitstreams.upload.bundles.empty": "This item doesn\'t contain any bundles to upload a bitstream to.", + + // "item.bitstreams.upload.cancel": "Cancel", + // TODO New key - Add a translation + "item.bitstreams.upload.cancel": "Cancel", + + // "item.bitstreams.upload.drop-message": "Drop a file to upload", + // TODO New key - Add a translation + "item.bitstreams.upload.drop-message": "Drop a file to upload", + + // "item.bitstreams.upload.item": "Item: ", + // TODO New key - Add a translation + "item.bitstreams.upload.item": "Item: ", + + // "item.bitstreams.upload.notifications.bundle.created.content": "Successfully created new bundle.", + // TODO New key - Add a translation + "item.bitstreams.upload.notifications.bundle.created.content": "Successfully created new bundle.", + + // "item.bitstreams.upload.notifications.bundle.created.title": "Created bundle", + // TODO New key - Add a translation + "item.bitstreams.upload.notifications.bundle.created.title": "Created bundle", + + // "item.bitstreams.upload.notifications.upload.failed": "Upload failed. Please verify the content before retrying.", + // TODO New key - Add a translation + "item.bitstreams.upload.notifications.upload.failed": "Upload failed. Please verify the content before retrying.", + + // "item.bitstreams.upload.title": "Upload bitstream", + // TODO New key - Add a translation + "item.bitstreams.upload.title": "Upload bitstream", + + + + // "item.edit.bitstreams.bundle.edit.buttons.upload": "Upload", + // TODO New key - Add a translation + "item.edit.bitstreams.bundle.edit.buttons.upload": "Upload", + + // "item.edit.bitstreams.bundle.displaying": "Currently displaying {{ amount }} bitstreams of {{ total }}.", + // TODO New key - Add a translation + "item.edit.bitstreams.bundle.displaying": "Currently displaying {{ amount }} bitstreams of {{ total }}.", + + // "item.edit.bitstreams.bundle.load.all": "Load all ({{ total }})", + // TODO New key - Add a translation + "item.edit.bitstreams.bundle.load.all": "Load all ({{ total }})", + + // "item.edit.bitstreams.bundle.load.more": "Load more", + // TODO New key - Add a translation + "item.edit.bitstreams.bundle.load.more": "Load more", + + // "item.edit.bitstreams.bundle.name": "BUNDLE: {{ name }}", + // TODO New key - Add a translation + "item.edit.bitstreams.bundle.name": "BUNDLE: {{ name }}", + + // "item.edit.bitstreams.discard-button": "Discard", + // TODO New key - Add a translation + "item.edit.bitstreams.discard-button": "Discard", + + // "item.edit.bitstreams.edit.buttons.download": "Download", + // TODO New key - Add a translation + "item.edit.bitstreams.edit.buttons.download": "Download", + + // "item.edit.bitstreams.edit.buttons.drag": "Drag", + // TODO New key - Add a translation + "item.edit.bitstreams.edit.buttons.drag": "Drag", + + // "item.edit.bitstreams.edit.buttons.edit": "Edit", + // TODO New key - Add a translation + "item.edit.bitstreams.edit.buttons.edit": "Edit", + + // "item.edit.bitstreams.edit.buttons.remove": "Remove", + // TODO New key - Add a translation + "item.edit.bitstreams.edit.buttons.remove": "Remove", + + // "item.edit.bitstreams.edit.buttons.undo": "Undo changes", + // TODO New key - Add a translation + "item.edit.bitstreams.edit.buttons.undo": "Undo changes", + + // "item.edit.bitstreams.empty": "This item doesn't contain any bitstreams. Click the upload button to create one.", + // TODO New key - Add a translation + "item.edit.bitstreams.empty": "This item doesn't contain any bitstreams. Click the upload button to create one.", + + // "item.edit.bitstreams.headers.actions": "Actions", + // TODO New key - Add a translation + "item.edit.bitstreams.headers.actions": "Actions", + + // "item.edit.bitstreams.headers.bundle": "Bundle", + // TODO New key - Add a translation + "item.edit.bitstreams.headers.bundle": "Bundle", + + // "item.edit.bitstreams.headers.description": "Description", + // TODO New key - Add a translation + "item.edit.bitstreams.headers.description": "Description", + + // "item.edit.bitstreams.headers.format": "Format", + // TODO New key - Add a translation + "item.edit.bitstreams.headers.format": "Format", + + // "item.edit.bitstreams.headers.name": "Name", + // TODO New key - Add a translation + "item.edit.bitstreams.headers.name": "Name", + + // "item.edit.bitstreams.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", + // TODO New key - Add a translation + "item.edit.bitstreams.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", + + // "item.edit.bitstreams.notifications.discarded.title": "Changes discarded", + // TODO New key - Add a translation + "item.edit.bitstreams.notifications.discarded.title": "Changes discarded", + + // "item.edit.bitstreams.notifications.move.failed.title": "Error moving bitstreams", + // TODO New key - Add a translation + "item.edit.bitstreams.notifications.move.failed.title": "Error moving bitstreams", + + // "item.edit.bitstreams.notifications.move.saved.content": "Your move changes to this item's bitstreams and bundles have been saved.", + // TODO New key - Add a translation + "item.edit.bitstreams.notifications.move.saved.content": "Your move changes to this item's bitstreams and bundles have been saved.", + + // "item.edit.bitstreams.notifications.move.saved.title": "Move changes saved", + // TODO New key - Add a translation + "item.edit.bitstreams.notifications.move.saved.title": "Move changes saved", + + // "item.edit.bitstreams.notifications.outdated.content": "The item you're currently working on has been changed by another user. Your current changes are discarded to prevent conflicts", + // TODO New key - Add a translation + "item.edit.bitstreams.notifications.outdated.content": "The item you're currently working on has been changed by another user. Your current changes are discarded to prevent conflicts", + + // "item.edit.bitstreams.notifications.outdated.title": "Changes outdated", + // TODO New key - Add a translation + "item.edit.bitstreams.notifications.outdated.title": "Changes outdated", + + // "item.edit.bitstreams.notifications.remove.failed.title": "Error deleting bitstream", + // TODO New key - Add a translation + "item.edit.bitstreams.notifications.remove.failed.title": "Error deleting bitstream", + + // "item.edit.bitstreams.notifications.remove.saved.content": "Your removal changes to this item's bitstreams have been saved.", + // TODO New key - Add a translation + "item.edit.bitstreams.notifications.remove.saved.content": "Your removal changes to this item's bitstreams have been saved.", + + // "item.edit.bitstreams.notifications.remove.saved.title": "Removal changes saved", + // TODO New key - Add a translation + "item.edit.bitstreams.notifications.remove.saved.title": "Removal changes saved", + + // "item.edit.bitstreams.reinstate-button": "Undo", + // TODO New key - Add a translation + "item.edit.bitstreams.reinstate-button": "Undo", + + // "item.edit.bitstreams.save-button": "Save", + // TODO New key - Add a translation + "item.edit.bitstreams.save-button": "Save", + + // "item.edit.bitstreams.upload-button": "Upload", + // TODO New key - Add a translation + "item.edit.bitstreams.upload-button": "Upload", + + + + // "item.edit.delete.cancel": "Cancel", + "item.edit.delete.cancel": "Cancelar", + + // "item.edit.delete.confirm": "Delete", + "item.edit.delete.confirm": "Eliminar", + + // "item.edit.delete.description": "Are you sure this item should be completely deleted? Caution: At present, no tombstone would be left.", + "item.edit.delete.description": "¿Estás seguro de que este ítem debe eliminarse por completo? Precaución: en la actualidad no quedaría ningún tombstone.", + + // "item.edit.delete.error": "An error occurred while deleting the item", + "item.edit.delete.error": "Se produjo un error al eliminar el ítem.", + + // "item.edit.delete.header": "Delete item: {{ id }}", + "item.edit.delete.header": "Eliminar el ítem: {{ id }}", + + // "item.edit.delete.success": "The item has been deleted", + "item.edit.delete.success": "El ítem ha sido eliminado", + + // "item.edit.head": "Edit Item", + "item.edit.head": "Editar el ítem", + + // "item.edit.breadcrumbs": "Edit Item", + // TODO New key - Add a translation + "item.edit.breadcrumbs": "Edit Item", + + + // "item.edit.tabs.mapper.head": "Collection Mapper", + // TODO New key - Add a translation + "item.edit.tabs.mapper.head": "Collection Mapper", + + // "item.edit.tabs.item-mapper.title": "Item Edit - Collection Mapper", + // TODO New key - Add a translation + "item.edit.tabs.item-mapper.title": "Item Edit - Collection Mapper", + + // "item.edit.item-mapper.buttons.add": "Map item to selected collections", + "item.edit.item-mapper.buttons.add": "Asignar el ítem a las colecciones seleccionadas", + + // "item.edit.item-mapper.buttons.remove": "Remove item's mapping for selected collections", + "item.edit.item-mapper.buttons.remove": "Eliminar la asignación de ítemes para las colecciones seleccionadas", + + // "item.edit.item-mapper.cancel": "Cancel", + "item.edit.item-mapper.cancel": "Cancelar", + + // "item.edit.item-mapper.description": "This is the item mapper tool that allows administrators to map this item to other collections. You can search for collections and map them, or browse the list of collections the item is currently mapped to.", + "item.edit.item-mapper.description": "Esta es la herramienta de asignación de ítemes que permite a los administradores asignar este ítem a otras colecciones. Puede buscar colecciones y asignarlas, o navegar la lista de colecciones a las que está asignado actualmente el ítem", + + // "item.edit.item-mapper.head": "Item Mapper - Map Item to Collections", + "item.edit.item-mapper.head": "Asignación de ítemes - Asignación del ítem a las Colecciones", + + // "item.edit.item-mapper.item": "Item: \"{{name}}\"", + "item.edit.item-mapper.item": "Item: \"{{name}}\"", + + // "item.edit.item-mapper.no-search": "Please enter a query to search", + "item.edit.item-mapper.no-search": "Favor ingrese una consulta para buscar", + + // "item.edit.item-mapper.notifications.add.error.content": "Errors occurred for mapping of item to {{amount}} collections.", + "item.edit.item-mapper.notifications.add.error.content": "Se produjeron errores al asignar el ítem a las {{amount}} colecciones.", + + // "item.edit.item-mapper.notifications.add.error.head": "Mapping errors", + "item.edit.item-mapper.notifications.add.error.head": "Errores de asignación", + + // "item.edit.item-mapper.notifications.add.success.content": "Successfully mapped item to {{amount}} collections.", + "item.edit.item-mapper.notifications.add.success.content": "Exitosamente asignado el ítem a las {{amount}} colecciones.", + + // "item.edit.item-mapper.notifications.add.success.head": "Mapping completed", + "item.edit.item-mapper.notifications.add.success.head": "Asignación completa", + + // "item.edit.item-mapper.notifications.remove.error.content": "Errors occurred for the removal of the mapping to {{amount}} collections.", + "item.edit.item-mapper.notifications.remove.error.content": "Se produjeron errores al eliminar la asignación a las {{amount}} colecciones.", + + // "item.edit.item-mapper.notifications.remove.error.head": "Removal of mapping errors", + "item.edit.item-mapper.notifications.remove.error.head": "Eliminación de errores de mapeo", + + // "item.edit.item-mapper.notifications.remove.success.content": "Successfully removed mapping of item to {{amount}} collections.", + "item.edit.item-mapper.notifications.remove.success.content": "Se eliminó con éxito la asignación del elemento a {{amount}} colecciones.", + + // "item.edit.item-mapper.notifications.remove.success.head": "Removal of mapping completed", + "item.edit.item-mapper.notifications.remove.success.head": "Eliminación completa de asignación", + + // "item.edit.item-mapper.tabs.browse": "Browse mapped collections", + "item.edit.item-mapper.tabs.browse": "Navegar colecciones asignadas", + + // "item.edit.item-mapper.tabs.map": "Map new collections", + "item.edit.item-mapper.tabs.map": "Asignar nuevas colecciones", + + + + // "item.edit.metadata.add-button": "Add", + "item.edit.metadata.add-button": "Agregar", + + // "item.edit.metadata.discard-button": "Discard", + "item.edit.metadata.discard-button": "Descartar", + + // "item.edit.metadata.edit.buttons.edit": "Edit", + "item.edit.metadata.edit.buttons.edit": "Editar", + + // "item.edit.metadata.edit.buttons.remove": "Remove", + "item.edit.metadata.edit.buttons.remove": "Eliminar", + + // "item.edit.metadata.edit.buttons.undo": "Undo changes", + "item.edit.metadata.edit.buttons.undo": "Deshacer cambios", + + // "item.edit.metadata.edit.buttons.unedit": "Stop editing", + "item.edit.metadata.edit.buttons.unedit": "Parar la edición", + + // "item.edit.metadata.empty": "The item currently doesn't contain any metadata. Click Add to start adding a metadata value.", + // TODO New key - Add a translation + "item.edit.metadata.empty": "The item currently doesn't contain any metadata. Click Add to start adding a metadata value.", + + // "item.edit.metadata.headers.edit": "Edit", + "item.edit.metadata.headers.edit": "Editar", + + // "item.edit.metadata.headers.field": "Field", + "item.edit.metadata.headers.field": "Campo", + + // "item.edit.metadata.headers.language": "Lang", + "item.edit.metadata.headers.language": "Lenguaje", + + // "item.edit.metadata.headers.value": "Value", + "item.edit.metadata.headers.value": "Valor", + + // "item.edit.metadata.metadatafield.invalid": "Please choose a valid metadata field", + "item.edit.metadata.metadatafield.invalid": "Favor escoger un campo de metadato válido", + + // "item.edit.metadata.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", + "item.edit.metadata.notifications.discarded.content": "Los cambios fueron descartados. Para restablecer sus cambios, haga clic en el botón 'Deshacer'", + + // "item.edit.metadata.notifications.discarded.title": "Changed discarded", + "item.edit.metadata.notifications.discarded.title": "Cambio descartado", + + // "item.edit.metadata.notifications.error.title": "An error occurred", + // TODO New key - Add a translation + "item.edit.metadata.notifications.error.title": "An error occurred", + + // "item.edit.metadata.notifications.invalid.content": "Your changes were not saved. Please make sure all fields are valid before you save.", + "item.edit.metadata.notifications.invalid.content": "No se guardaron los cambios. Asegúrese de que todos los campos sean válidos antes de guardar.", + + // "item.edit.metadata.notifications.invalid.title": "Metadata invalid", + "item.edit.metadata.notifications.invalid.title": "Metadatos inválidos", + + // "item.edit.metadata.notifications.outdated.content": "The item you're currently working on has been changed by another user. Your current changes are discarded to prevent conflicts", + "item.edit.metadata.notifications.outdated.content": "El ítem en el que está trabajando actualmente ha sido cambiado por otro usuario. Sus cambios actuales se descartan para evitar conflictos", + + // "item.edit.metadata.notifications.outdated.title": "Changed outdated", + "item.edit.metadata.notifications.outdated.title": "Cambio desactualizado", + + // "item.edit.metadata.notifications.saved.content": "Your changes to this item's metadata were saved.", + "item.edit.metadata.notifications.saved.content": "Se guaradaron los cambios de la metadata para este ítem.", + + // "item.edit.metadata.notifications.saved.title": "Metadata saved", + "item.edit.metadata.notifications.saved.title": "Metadatos guardados", + + // "item.edit.metadata.reinstate-button": "Undo", + "item.edit.metadata.reinstate-button": "Deshacer", + + // "item.edit.metadata.save-button": "Save", + "item.edit.metadata.save-button": "Guardar", + + + + // "item.edit.modify.overview.field": "Field", + "item.edit.modify.overview.field": "Campo", + + // "item.edit.modify.overview.language": "Language", + "item.edit.modify.overview.language": "Lenguaje", + + // "item.edit.modify.overview.value": "Value", + "item.edit.modify.overview.value": "Valor", + + + + // "item.edit.move.cancel": "Cancel", + "item.edit.move.cancel": "Cancelar", + + // "item.edit.move.description": "Select the collection you wish to move this item to. To narrow down the list of displayed collections, you can enter a search query in the box.", + "item.edit.move.description": "Seleccione la colección a la que desea mover este ítem. Para reducir la lista de colecciones mostradas, puede ingresar una consulta de búsqueda en el cuadro.", + + // "item.edit.move.error": "An error occurred when attempting to move the item", + "item.edit.move.error": "Ha ocurrido un error cuando ha intentado mover el ítem", + + // "item.edit.move.head": "Move item: {{id}}", + "item.edit.move.head": "Mover el ítem: {{id}}", + + // "item.edit.move.inheritpolicies.checkbox": "Inherit policies", + "item.edit.move.inheritpolicies.checkbox": "Heredar políticas", + + // "item.edit.move.inheritpolicies.description": "Inherit the default policies of the destination collection", + "item.edit.move.inheritpolicies.description": "Heredar las políticas predeterminadas de la colección de destino.", + + // "item.edit.move.move": "Move", + "item.edit.move.move": "Mover", + + // "item.edit.move.processing": "Moving...", + "item.edit.move.processing": "Moviendo...", + + // "item.edit.move.search.placeholder": "Enter a search query to look for collections", + "item.edit.move.search.placeholder": "Ingrese una consulta para buscar colecciones", + + // "item.edit.move.success": "The item has been moved successfully", + "item.edit.move.success": "El ítem ha sido movido exitosamente", + + // "item.edit.move.title": "Move item", + "item.edit.move.title": "Mover ítem", + + + + // "item.edit.private.cancel": "Cancel", + "item.edit.private.cancel": "Cancelar", + + // "item.edit.private.confirm": "Make it Private", + "item.edit.private.confirm": "Hacerle privado", + + // "item.edit.private.description": "Are you sure this item should be made private in the archive?", + "item.edit.private.description": "¿Está seguro de que este ítem debe ser privado en el archivo?", + + // "item.edit.private.error": "An error occurred while making the item private", + "item.edit.private.error": "Se produjo un error mientras se hacía privado el ítem.", + + // "item.edit.private.header": "Make item private: {{ id }}", + "item.edit.private.header": "Hacer privado el ítem: {{ id }}", + + // "item.edit.private.success": "The item is now private", + "item.edit.private.success": "Ahora está privado el ítem", + + + + // "item.edit.public.cancel": "Cancel", + "item.edit.public.cancel": "Cancelar", + + // "item.edit.public.confirm": "Make it Public", + "item.edit.public.confirm": "Hacerle público", + + // "item.edit.public.description": "Are you sure this item should be made public in the archive?", + "item.edit.public.description": "¿Estás seguro de que este ítem debe hacerse público en el archivo?", + + // "item.edit.public.error": "An error occurred while making the item public", + "item.edit.public.error": "Se produjo un error mientras se hacía público el ítem.", + + // "item.edit.public.header": "Make item public: {{ id }}", + "item.edit.public.header": "Hacer público el ítem: {{ id }}", + + // "item.edit.public.success": "The item is now public", + "item.edit.public.success": "Ahora está público el ítem", + + + + // "item.edit.reinstate.cancel": "Cancel", + "item.edit.reinstate.cancel": "Cancelar", + + // "item.edit.reinstate.confirm": "Reinstate", + "item.edit.reinstate.confirm": "Reintegrar", + + // "item.edit.reinstate.description": "Are you sure this item should be reinstated to the archive?", + "item.edit.reinstate.description": "¿Está seguro de que este ítem debe reintegrarse en el archivo?", + + // "item.edit.reinstate.error": "An error occurred while reinstating the item", + "item.edit.reinstate.error": "Se produjo un error al restablecer el ítem.", + + // "item.edit.reinstate.header": "Reinstate item: {{ id }}", + "item.edit.reinstate.header": "Reintegrar ítem: {{ id }}", + + // "item.edit.reinstate.success": "The item was reinstated successfully", + "item.edit.reinstate.success": "El ítem fue reintegrado exitosamente", + + + + // "item.edit.relationships.discard-button": "Discard", + "item.edit.relationships.discard-button": "Descartar", + + // "item.edit.relationships.edit.buttons.add": "Add", + // TODO New key - Add a translation + "item.edit.relationships.edit.buttons.add": "Add", + + // "item.edit.relationships.edit.buttons.remove": "Remove", + "item.edit.relationships.edit.buttons.remove": "Remover", + + // "item.edit.relationships.edit.buttons.undo": "Undo changes", + "item.edit.relationships.edit.buttons.undo": "Deshacer cambios", + + // "item.edit.relationships.no-relationships": "No relationships", + // TODO New key - Add a translation + "item.edit.relationships.no-relationships": "No relationships", + + // "item.edit.relationships.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", + "item.edit.relationships.notifications.discarded.content": "Los cambios fueron descartados. Para restablecer sus cambios, haga clic en el botón 'Deshacer'", + + // "item.edit.relationships.notifications.discarded.title": "Changes discarded", + "item.edit.relationships.notifications.discarded.title": "Cambios descartados", + + // "item.edit.relationships.notifications.failed.title": "Error editing relationships", + // TODO Source message changed - Revise the translation + "item.edit.relationships.notifications.failed.title": "Error al eliminar la relación", + + // "item.edit.relationships.notifications.outdated.content": "The item you're currently working on has been changed by another user. Your current changes are discarded to prevent conflicts", + "item.edit.relationships.notifications.outdated.content": "El ítem en el que está trabajando actualmente ha sido cambiado por otro usuario. Sus cambios actuales se descartan para evitar conflictos", + + // "item.edit.relationships.notifications.outdated.title": "Changes outdated", + "item.edit.relationships.notifications.outdated.title": "Cambio desactualizado", + + // "item.edit.relationships.notifications.saved.content": "Your changes to this item's relationships were saved.", + "item.edit.relationships.notifications.saved.content": "Se guardaron los cambios en las relaciones de este ítem.", + + // "item.edit.relationships.notifications.saved.title": "Relationships saved", + "item.edit.relationships.notifications.saved.title": "Relación guardada", + + // "item.edit.relationships.reinstate-button": "Undo", + "item.edit.relationships.reinstate-button": "Deshacer", + + // "item.edit.relationships.save-button": "Save", + "item.edit.relationships.save-button": "Guardar", + + // "item.edit.relationships.no-entity-type": "Add 'relationship.type' metadata to enable relationships for this item", + // TODO New key - Add a translation + "item.edit.relationships.no-entity-type": "Add 'relationship.type' metadata to enable relationships for this item", + + + + // "item.edit.tabs.bitstreams.head": "Bitstreams", + // TODO Source message changed - Revise the translation + "item.edit.tabs.bitstreams.head": "Archivos del ítem", + + // "item.edit.tabs.bitstreams.title": "Item Edit - Bitstreams", + "item.edit.tabs.bitstreams.title": "Editar ítem - Archivos", + + // "item.edit.tabs.curate.head": "Curate", + "item.edit.tabs.curate.head": "Curar", + + // "item.edit.tabs.curate.title": "Item Edit - Curate", + "item.edit.tabs.curate.title": "Editar - Curar Item", + + // "item.edit.tabs.metadata.head": "Metadata", + // TODO Source message changed - Revise the translation + "item.edit.tabs.metadata.head": "Metadatos del ítem", + + // "item.edit.tabs.metadata.title": "Item Edit - Metadata", + "item.edit.tabs.metadata.title": "Editar ítem - Metadatos", + + // "item.edit.tabs.relationships.head": "Relationships", + // TODO Source message changed - Revise the translation + "item.edit.tabs.relationships.head": "Relacionador de ítem", + + // "item.edit.tabs.relationships.title": "Item Edit - Relationships", + "item.edit.tabs.relationships.title": "Editar ítem - Relacionador", + + // "item.edit.tabs.status.buttons.authorizations.button": "Authorizations...", + "item.edit.tabs.status.buttons.authorizations.button": "Autorizaciones...", + + // "item.edit.tabs.status.buttons.authorizations.label": "Edit item's authorization policies", + "item.edit.tabs.status.buttons.authorizations.label": "Editar políticas de autorización de ítemes", + + // "item.edit.tabs.status.buttons.delete.button": "Permanently delete", + "item.edit.tabs.status.buttons.delete.button": "Eliminar permanentemente", + + // "item.edit.tabs.status.buttons.delete.label": "Completely expunge item", + "item.edit.tabs.status.buttons.delete.label": "Ítem completamente eliminado", + + // "item.edit.tabs.status.buttons.mappedCollections.button": "Mapped collections", + "item.edit.tabs.status.buttons.mappedCollections.button": "Colecciones asignadas", + + // "item.edit.tabs.status.buttons.mappedCollections.label": "Manage mapped collections", + "item.edit.tabs.status.buttons.mappedCollections.label": "Gestionar colecciones asignadas", + + // "item.edit.tabs.status.buttons.move.button": "Move...", + "item.edit.tabs.status.buttons.move.button": "Mover...", + + // "item.edit.tabs.status.buttons.move.label": "Move item to another collection", + "item.edit.tabs.status.buttons.move.label": "Mover el ítem a otra colección", + + // "item.edit.tabs.status.buttons.private.button": "Make it private...", + "item.edit.tabs.status.buttons.private.button": "Hacerle privado...", + + // "item.edit.tabs.status.buttons.private.label": "Make item private", + "item.edit.tabs.status.buttons.private.label": "Hacer privado el ítem", + + // "item.edit.tabs.status.buttons.public.button": "Make it public...", + "item.edit.tabs.status.buttons.public.button": "Hacerle público...", + + // "item.edit.tabs.status.buttons.public.label": "Make item public", + "item.edit.tabs.status.buttons.public.label": "Hacer público el ítem", + + // "item.edit.tabs.status.buttons.reinstate.button": "Reinstate...", + "item.edit.tabs.status.buttons.reinstate.button": "Reintegrar...", + + // "item.edit.tabs.status.buttons.reinstate.label": "Reinstate item into the repository", + "item.edit.tabs.status.buttons.reinstate.label": "Reintegrar el ítem al repositorio", + + // "item.edit.tabs.status.buttons.withdraw.button": "Withdraw...", + "item.edit.tabs.status.buttons.withdraw.button": "Retirar...", + + // "item.edit.tabs.status.buttons.withdraw.label": "Withdraw item from the repository", + "item.edit.tabs.status.buttons.withdraw.label": "Retirar el ítem del repositorio", + + // "item.edit.tabs.status.description": "Welcome to the item management page. From here you can withdraw, reinstate, move or delete the item. You may also update or add new metadata / bitstreams on the other tabs.", + "item.edit.tabs.status.description": "Bienvenido a la página de gestión de ítemes. Desde aquí puede retirar, restablecer, mover o eliminar el ítem. También puede actualizar o agregar nuevos metadatos / archivos en las otras pestañas.", + + // "item.edit.tabs.status.head": "Status", + // TODO Source message changed - Revise the translation + "item.edit.tabs.status.head": "Estado del ítem", + + // "item.edit.tabs.status.labels.handle": "Handle", + "item.edit.tabs.status.labels.handle": "Handle", + + // "item.edit.tabs.status.labels.id": "Item Internal ID", + "item.edit.tabs.status.labels.id": "ID interno del ítem", + + // "item.edit.tabs.status.labels.itemPage": "Item Page", + "item.edit.tabs.status.labels.itemPage": "Página del ítem", + + // "item.edit.tabs.status.labels.lastModified": "Last Modified", + "item.edit.tabs.status.labels.lastModified": "Última modificación", + + // "item.edit.tabs.status.title": "Item Edit - Status", + "item.edit.tabs.status.title": "Editar ítem - Estado", + + // "item.edit.tabs.versionhistory.head": "Version History", + // TODO New key - Add a translation + "item.edit.tabs.versionhistory.head": "Version History", + + // "item.edit.tabs.versionhistory.title": "Item Edit - Version History", + // TODO New key - Add a translation + "item.edit.tabs.versionhistory.title": "Item Edit - Version History", + + // "item.edit.tabs.versionhistory.under-construction": "Editing or adding new versions is not yet possible in this user interface.", + // TODO New key - Add a translation + "item.edit.tabs.versionhistory.under-construction": "Editing or adding new versions is not yet possible in this user interface.", + + // "item.edit.tabs.view.head": "View Item", + "item.edit.tabs.view.head": "Ver ítem", + + // "item.edit.tabs.view.title": "Item Edit - View", + "item.edit.tabs.view.title": "Editar ítem - Ver", + + + + // "item.edit.withdraw.cancel": "Cancel", + "item.edit.withdraw.cancel": "Cancelar", + + // "item.edit.withdraw.confirm": "Withdraw", + "item.edit.withdraw.confirm": "Retirar", + + // "item.edit.withdraw.description": "Are you sure this item should be withdrawn from the archive?", + "item.edit.withdraw.description": "¿Estás seguro de que este ítem debe ser retirado del archivo?", + + // "item.edit.withdraw.error": "An error occurred while withdrawing the item", + "item.edit.withdraw.error": "Ha ocurrido un error mientras se retiraba el ítem", + + // "item.edit.withdraw.header": "Withdraw item: {{ id }}", + "item.edit.withdraw.header": "Retirar el ítem: {{ id }}", + + // "item.edit.withdraw.success": "The item was withdrawn successfully", + "item.edit.withdraw.success": "Fue retirado exitosamente el ítem", + + + + // "item.listelement.badge": "Item", + // TODO New key - Add a translation + "item.listelement.badge": "Item", + + // "item.page.description": "Description", + // TODO New key - Add a translation + "item.page.description": "Description", + + // "item.page.edit": "Edit this item", + // TODO New key - Add a translation + "item.page.edit": "Edit this item", + + // "item.page.journal-issn": "Journal ISSN", + // TODO New key - Add a translation + "item.page.journal-issn": "Journal ISSN", + + // "item.page.journal-title": "Journal Title", + // TODO New key - Add a translation + "item.page.journal-title": "Journal Title", + + // "item.page.publisher": "Publisher", + // TODO New key - Add a translation + "item.page.publisher": "Publisher", + + // "item.page.titleprefix": "Item: ", + // TODO New key - Add a translation + "item.page.titleprefix": "Item: ", + + // "item.page.volume-title": "Volume Title", + // TODO New key - Add a translation + "item.page.volume-title": "Volume Title", + + // "item.search.results.head": "Item Search Results", + // TODO New key - Add a translation + "item.search.results.head": "Item Search Results", + + // "item.search.title": "DSpace Angular :: Item Search", + // TODO New key - Add a translation + "item.search.title": "DSpace Angular :: Item Search", + + + + // "item.page.abstract": "Abstract", + "item.page.abstract": "Resumen", + + // "item.page.author": "Authors", + "item.page.author": "Autores", + + // "item.page.citation": "Citation", + "item.page.citation": "Citación", + + // "item.page.collections": "Collections", + "item.page.collections": "Colecciones", + + // "item.page.date": "Date", + "item.page.date": "Fecha", + + // "item.page.edit": "Edit this item", + // TODO New key - Add a translation + "item.page.edit": "Edit this item", + + // "item.page.files": "Files", + "item.page.files": "Archivos", + + // "item.page.filesection.description": "Description:", + "item.page.filesection.description": "Descripción:", + + // "item.page.filesection.download": "Download", + "item.page.filesection.download": "Descargar", + + // "item.page.filesection.format": "Format:", + "item.page.filesection.format": "Formato:", + + // "item.page.filesection.name": "Name:", + "item.page.filesection.name": "Nombre:", + + // "item.page.filesection.size": "Size:", + "item.page.filesection.size": "Tamaño:", + + // "item.page.journal.search.title": "Articles in this journal", + "item.page.journal.search.title": "Artículos en esta revista", + + // "item.page.link.full": "Full item page", + "item.page.link.full": "Página completa del ítem", + + // "item.page.link.simple": "Simple item page", + "item.page.link.simple": "Página simple del ítem", + + // "item.page.person.search.title": "Articles by this author", + "item.page.person.search.title": "Artículos por este autor", + + // "item.page.related-items.view-more": "Show {{ amount }} more", + // TODO Source message changed - Revise the translation + "item.page.related-items.view-more": "Ver más", + + // "item.page.related-items.view-less": "Hide last {{ amount }}", + // TODO Source message changed - Revise the translation + "item.page.related-items.view-less": "View menos", + + // "item.page.relationships.isAuthorOfPublication": "Publications", + // TODO New key - Add a translation + "item.page.relationships.isAuthorOfPublication": "Publications", + + // "item.page.relationships.isJournalOfPublication": "Publications", + // TODO New key - Add a translation + "item.page.relationships.isJournalOfPublication": "Publications", + + // "item.page.relationships.isOrgUnitOfPerson": "Authors", + // TODO New key - Add a translation + "item.page.relationships.isOrgUnitOfPerson": "Authors", + + // "item.page.relationships.isOrgUnitOfProject": "Research Projects", + // TODO New key - Add a translation + "item.page.relationships.isOrgUnitOfProject": "Research Projects", + + // "item.page.subject": "Keywords", + "item.page.subject": "Claves", + + // "item.page.uri": "URI", + "item.page.uri": "URI", + + // "item.page.bitstreams.view-more": "Show more", + // TODO New key - Add a translation + "item.page.bitstreams.view-more": "Show more", + + // "item.page.bitstreams.collapse": "Collapse", + // TODO New key - Add a translation + "item.page.bitstreams.collapse": "Collapse", + + // "item.page.filesection.original.bundle" : "Original bundle", + // TODO New key - Add a translation + "item.page.filesection.original.bundle" : "Original bundle", + + // "item.page.filesection.license.bundle" : "License bundle", + // TODO New key - Add a translation + "item.page.filesection.license.bundle" : "License bundle", + + // "item.preview.dc.identifier.uri": "Identifier:", + // TODO New key - Add a translation + "item.preview.dc.identifier.uri": "Identifier:", + + // "item.preview.dc.contributor.author": "Authors:", + // TODO New key - Add a translation + "item.preview.dc.contributor.author": "Authors:", + + // "item.preview.dc.date.issued": "Published date:", + // TODO New key - Add a translation + "item.preview.dc.date.issued": "Published date:", + + // "item.preview.dc.description.abstract": "Abstract:", + // TODO New key - Add a translation + "item.preview.dc.description.abstract": "Abstract:", + + // "item.preview.dc.identifier.other": "Other identifier:", + // TODO New key - Add a translation + "item.preview.dc.identifier.other": "Other identifier:", + + // "item.preview.dc.language.iso": "Language:", + // TODO New key - Add a translation + "item.preview.dc.language.iso": "Language:", + + // "item.preview.dc.subject": "Subjects:", + // TODO New key - Add a translation + "item.preview.dc.subject": "Subjects:", + + // "item.preview.dc.title": "Title:", + // TODO New key - Add a translation + "item.preview.dc.title": "Title:", + + // "item.preview.person.familyName": "Surname:", + // TODO New key - Add a translation + "item.preview.person.familyName": "Surname:", + + // "item.preview.person.givenName": "Name:", + // TODO New key - Add a translation + "item.preview.person.givenName": "Name:", + + // "item.preview.person.identifier.orcid": "ORCID:", + // TODO New key - Add a translation + "item.preview.person.identifier.orcid": "ORCID:", + + + // "item.select.confirm": "Confirm selected", + "item.select.confirm": "Confirmar lo seleccionado", + + // "item.select.empty": "No items to show", + "item.select.empty": "No ítemes para mostrar", + + // "item.select.table.author": "Author", + "item.select.table.author": "Autor", + + // "item.select.table.collection": "Collection", + "item.select.table.collection": "Colección", + + // "item.select.table.title": "Title", + "item.select.table.title": "Título", + + + // "item.version.history.empty": "There are no other versions for this item yet.", + // TODO New key - Add a translation + "item.version.history.empty": "There are no other versions for this item yet.", + + // "item.version.history.head": "Version History", + // TODO New key - Add a translation + "item.version.history.head": "Version History", + + // "item.version.history.return": "Return", + // TODO New key - Add a translation + "item.version.history.return": "Return", + + // "item.version.history.selected": "Selected version", + // TODO New key - Add a translation + "item.version.history.selected": "Selected version", + + // "item.version.history.table.version": "Version", + // TODO New key - Add a translation + "item.version.history.table.version": "Version", + + // "item.version.history.table.item": "Item", + // TODO New key - Add a translation + "item.version.history.table.item": "Item", + + // "item.version.history.table.editor": "Editor", + // TODO New key - Add a translation + "item.version.history.table.editor": "Editor", + + // "item.version.history.table.date": "Date", + // TODO New key - Add a translation + "item.version.history.table.date": "Date", + + // "item.version.history.table.summary": "Summary", + // TODO New key - Add a translation + "item.version.history.table.summary": "Summary", + + + + // "item.version.notice": "This is not the latest version of this item. The latest version can be found here.", + // TODO New key - Add a translation + "item.version.notice": "This is not the latest version of this item. The latest version can be found here.", + + + + // "journal.listelement.badge": "Journal", + "journal.listelement.badge": "Revista", + + // "journal.page.description": "Description", + "journal.page.description": "Descripción", + + // "journal.page.edit": "Edit this item", + // TODO New key - Add a translation + "journal.page.edit": "Edit this item", + + // "journal.page.editor": "Editor-in-Chief", + "journal.page.editor": "Editor-en-Jefe", + + // "journal.page.issn": "ISSN", + "journal.page.issn": "ISSN", + + // "journal.page.publisher": "Publisher", + "journal.page.publisher": "Editor", + + // "journal.page.titleprefix": "Journal: ", + "journal.page.titleprefix": "Revista: ", + + // "journal.search.results.head": "Journal Search Results", + "journal.search.results.head": "Resultados de búsqueda de revistas", + + // "journal.search.title": "DSpace Angular :: Journal Search", + "journal.search.title": "DSpace Angular :: Búsqueda de revistas", + + + + // "journalissue.listelement.badge": "Journal Issue", + "journalissue.listelement.badge": "Número de Revista", + + // "journalissue.page.description": "Description", + "journalissue.page.description": "Descripción", + + // "journalissue.page.edit": "Edit this item", + // TODO New key - Add a translation + "journalissue.page.edit": "Edit this item", + + // "journalissue.page.issuedate": "Issue Date", + "journalissue.page.issuedate": "Fecha de Publicación", + + // "journalissue.page.journal-issn": "Journal ISSN", + "journalissue.page.journal-issn": "ISSN de Revista", + + // "journalissue.page.journal-title": "Journal Title", + "journalissue.page.journal-title": "Título de Revista", + + // "journalissue.page.keyword": "Keywords", + "journalissue.page.keyword": "Claves", + + // "journalissue.page.number": "Number", + "journalissue.page.number": "Número", + + // "journalissue.page.titleprefix": "Journal Issue: ", + "journalissue.page.titleprefix": "Número de Revista: ", + + + + // "journalvolume.listelement.badge": "Journal Volume", + "journalvolume.listelement.badge": "Volumen de la Revista", + + // "journalvolume.page.description": "Description", + "journalvolume.page.description": "Descripción", + + // "journalvolume.page.edit": "Edit this item", + // TODO New key - Add a translation + "journalvolume.page.edit": "Edit this item", + + // "journalvolume.page.issuedate": "Issue Date", + "journalvolume.page.issuedate": "Fecha de Publicación", + + // "journalvolume.page.titleprefix": "Journal Volume: ", + "journalvolume.page.titleprefix": "Volumen de la Revista: ", + + // "journalvolume.page.volume": "Volume", + "journalvolume.page.volume": "Volumen", + + + + // "loading.bitstream": "Loading bitstream...", + // TODO New key - Add a translation + "loading.bitstream": "Loading bitstream...", + + // "loading.bitstreams": "Loading bitstreams...", + // TODO New key - Add a translation + "loading.bitstreams": "Loading bitstreams...", + + // "loading.browse-by": "Loading items...", + "loading.browse-by": "Cargando ítemes...", + + // "loading.browse-by-page": "Loading page...", + "loading.browse-by-page": "Cargando página...", + + // "loading.collection": "Loading collection...", + "loading.collection": "Cargando colección...", + + // "loading.collections": "Loading collections...", + "loading.collections": "Cargando colecciones...", + + // "loading.content-source": "Loading content source...", + // TODO New key - Add a translation + "loading.content-source": "Loading content source...", + + // "loading.community": "Loading community...", + "loading.community": "Cargando comunidad...", + + // "loading.default": "Loading...", + "loading.default": "Cargando...", + + // "loading.item": "Loading item...", + "loading.item": "Cargando ítem...", + + // "loading.items": "Loading items...", + "loading.items": "Cargando ítemes...", + + // "loading.mydspace-results": "Loading items...", + "loading.mydspace-results": "Cargando ítemes...", + + // "loading.objects": "Loading...", + "loading.objects": "Cargando...", + + // "loading.recent-submissions": "Loading recent submissions...", + "loading.recent-submissions": "Cargando envíos recientes...", + + // "loading.search-results": "Loading search results...", + "loading.search-results": "Cargando resultados de búsqueda...", + + // "loading.sub-collections": "Loading sub-collections...", + "loading.sub-collections": "Cargando sub-colecciones...", + + // "loading.sub-communities": "Loading sub-communities...", + "loading.sub-communities": "Cargando sub-comunidades...", + + // "loading.top-level-communities": "Loading top-level communities...", + "loading.top-level-communities": "Cargando comunidades de nivel superior...", + + + + // "login.form.email": "Email address", + "login.form.email": "Dirección de correo electrónico", + + // "login.form.forgot-password": "Have you forgotten your password?", + "login.form.forgot-password": "¿Ha olvidado su contraseña?", + + // "login.form.header": "Please log in to DSpace", + "login.form.header": "Favor inicie sesión en DSpace", + + // "login.form.new-user": "New user? Click here to register.", + "login.form.new-user": "¿Usuario nuevo? Clic aquí para registrarse.", + + // "login.form.or-divider": "or", + // TODO New key - Add a translation + "login.form.or-divider": "or", + + // "login.form.password": "Password", + "login.form.password": "Clave", + + // "login.form.shibboleth": "Log in with Shibboleth", + // TODO New key - Add a translation + "login.form.shibboleth": "Log in with Shibboleth", + + // "login.form.submit": "Log in", + "login.form.submit": "Iniciar sesión", + + // "login.title": "Login", + "login.title": "Iniciar sesión", + + // "login.breadcrumbs": "Login", + // TODO New key - Add a translation + "login.breadcrumbs": "Login", + + + + // "logout.form.header": "Log out from DSpace", + "logout.form.header": "Cerrar sesión de DSpace", + + // "logout.form.submit": "Log out", + "logout.form.submit": "Cerrar sesión", + + // "logout.title": "Logout", + "logout.title": "Cerrar sesión", + + + + // "menu.header.admin": "Admin", + "menu.header.admin": "Administrar", + + // "menu.header.image.logo": "Repository logo", + "menu.header.image.logo": "Logo del Repositorio ", + + + + // "menu.section.access_control": "Access Control", + "menu.section.access_control": "Control de acceso", + + // "menu.section.access_control_authorizations": "Authorizations", + "menu.section.access_control_authorizations": "Autorizaciones", + + // "menu.section.access_control_groups": "Groups", + "menu.section.access_control_groups": "Grupos", + + // "menu.section.access_control_people": "People", + "menu.section.access_control_people": "Personas", + + + // "menu.section.admin_search": "Admin Search", // TODO New key - Add a translation "menu.section.admin_search": "Admin Search", - - - + + + + // "menu.section.browse_community": "This Community", + "menu.section.browse_community": "Esta comunidad", + + // "menu.section.browse_community_by_author": "By Author", + "menu.section.browse_community_by_author": "Por Autor", + + // "menu.section.browse_community_by_issue_date": "By Issue Date", + "menu.section.browse_community_by_issue_date": "Por Fecha de Publicación", + + // "menu.section.browse_community_by_title": "By Title", + "menu.section.browse_community_by_title": "Por Título", + + // "menu.section.browse_global": "All of DSpace", + "menu.section.browse_global": "Todo DSpace", + + // "menu.section.browse_global_by_author": "By Author", + "menu.section.browse_global_by_author": "Por Autor", + + // "menu.section.browse_global_by_dateissued": "By Issue Date", + "menu.section.browse_global_by_dateissued": "Por Fecha de Publicación", + + // "menu.section.browse_global_by_subject": "By Subject", + "menu.section.browse_global_by_subject": "Por Materia", + + // "menu.section.browse_global_by_title": "By Title", + "menu.section.browse_global_by_title": "Por Título", + + // "menu.section.browse_global_communities_and_collections": "Communities & Collections", + "menu.section.browse_global_communities_and_collections": "Comunidades & Colecciones", + + + + // "menu.section.control_panel": "Control Panel", + "menu.section.control_panel": "Panel de Control", + + // "menu.section.curation_task": "Curation Task", + "menu.section.curation_task": "Tarea de Curación", + + + + // "menu.section.edit": "Edit", + "menu.section.edit": "Editar", + + // "menu.section.edit_collection": "Collection", + "menu.section.edit_collection": "Colección", + + // "menu.section.edit_community": "Community", + "menu.section.edit_community": "Comunidad", + + // "menu.section.edit_item": "Item", + "menu.section.edit_item": "Ítem", + + + + // "menu.section.export": "Export", + "menu.section.export": "Exportar", + + // "menu.section.export_collection": "Collection", + "menu.section.export_collection": "Colección", + + // "menu.section.export_community": "Community", + "menu.section.export_community": "Comunidad", + + // "menu.section.export_item": "Item", + "menu.section.export_item": "Ítem", + + // "menu.section.export_metadata": "Metadata", + "menu.section.export_metadata": "Metadatos", + + + + // "menu.section.icon.access_control": "Access Control menu section", + "menu.section.icon.access_control": "Sección del menú de Control de Acceso", + + // "menu.section.icon.admin_search": "Admin search menu section", + // TODO New key - Add a translation + "menu.section.icon.admin_search": "Admin search menu section", + + // "menu.section.icon.control_panel": "Control Panel menu section", + "menu.section.icon.control_panel": "Sección del menú de Panel Control", + + // "menu.section.icon.curation_task": "Curation Task menu section", + "menu.section.icon.curation_task": "Sección del menú de Tarea de Curación", + + // "menu.section.icon.edit": "Edit menu section", + "menu.section.icon.edit": "Sección del Menú Editar", + + // "menu.section.icon.export": "Export menu section", + "menu.section.icon.export": "Sección del Menú Exportar", + + // "menu.section.icon.find": "Find menu section", + "menu.section.icon.find": "Sección del Menú Encontrar", + + // "menu.section.icon.import": "Import menu section", + "menu.section.icon.import": "Sección del Menú Importar", + + // "menu.section.icon.new": "New menu section", + "menu.section.icon.new": "Sección del Menú Nuevo", + + // "menu.section.icon.pin": "Pin sidebar", + "menu.section.icon.pin": "Pin sidebar", + + // "menu.section.icon.processes": "Processes menu section", + // TODO New key - Add a translation + "menu.section.icon.processes": "Processes menu section", + + // "menu.section.icon.registries": "Registries menu section", + "menu.section.icon.registries": "Sección del Menú Registros", + + // "menu.section.icon.statistics_task": "Statistics Task menu section", + "menu.section.icon.statistics_task": "Sección del Menú Tarea de Estadísticas", + + // "menu.section.icon.unpin": "Unpin sidebar", + "menu.section.icon.unpin": "Unpin sidebar", + + + + // "menu.section.import": "Import", + "menu.section.import": "Importar", + + // "menu.section.import_batch": "Batch Import (ZIP)", + "menu.section.import_batch": "Importar Batch (ZIP)", + + // "menu.section.import_metadata": "Metadata", + "menu.section.import_metadata": "Metadatos", + + + + // "menu.section.new": "New", + "menu.section.new": "Nuevo", + + // "menu.section.new_collection": "Collection", + "menu.section.new_collection": "Colección", + + // "menu.section.new_community": "Community", + "menu.section.new_community": "Comunidad", + + // "menu.section.new_item": "Item", + "menu.section.new_item": "Ítem", + + // "menu.section.new_item_version": "Item Version", + "menu.section.new_item_version": "Version del Ítem", + + // "menu.section.new_process": "Process", + // TODO New key - Add a translation + "menu.section.new_process": "Process", + + + + // "menu.section.pin": "Pin sidebar", + "menu.section.pin": "Pin sidebar", + + // "menu.section.unpin": "Unpin sidebar", + "menu.section.unpin": "Unpin sidebar", + + + + // "menu.section.processes": "Processes", + // TODO New key - Add a translation + "menu.section.processes": "Processes", + + + + // "menu.section.registries": "Registries", + "menu.section.registries": "Registros", + + // "menu.section.registries_format": "Format", + "menu.section.registries_format": "Formato", + + // "menu.section.registries_metadata": "Metadata", + "menu.section.registries_metadata": "Metadatos", + + + + // "menu.section.statistics": "Statistics", + "menu.section.statistics": "Estadísticas", + + // "menu.section.statistics_task": "Statistics Task", + "menu.section.statistics_task": "Tarea de Estadíisticas", + + + + // "menu.section.toggle.access_control": "Toggle Access Control section", + "menu.section.toggle.access_control": "Alternar la sección de Control de Acceso", + + // "menu.section.toggle.control_panel": "Toggle Control Panel section", + "menu.section.toggle.control_panel": "Alternar la sección de Panel de Control", + + // "menu.section.toggle.curation_task": "Toggle Curation Task section", + "menu.section.toggle.curation_task": "Alternar la sección de Tarea de Curación", + + // "menu.section.toggle.edit": "Toggle Edit section", + "menu.section.toggle.edit": "Alternar la sección de Editar", + + // "menu.section.toggle.export": "Toggle Export section", + "menu.section.toggle.export": "Alternar la sección de Exportar", + + // "menu.section.toggle.find": "Toggle Find section", + "menu.section.toggle.find": "Alternar la sección de Encontrar", + + // "menu.section.toggle.import": "Toggle Import section", + "menu.section.toggle.import": "Alternar la sección de Importar", + + // "menu.section.toggle.new": "Toggle New section", + "menu.section.toggle.new": "Alternar la sección de Nuevo", + + // "menu.section.toggle.registries": "Toggle Registries section", + "menu.section.toggle.registries": "Alternar la sección de Registros", + + // "menu.section.toggle.statistics_task": "Toggle Statistics Task section", + "menu.section.toggle.statistics_task": "Alternar la sección de Tareas de Estadísticas", + + + // "menu.section.workflow": "Administer Workflow", + // TODO New key - Add a translation + "menu.section.workflow": "Administer Workflow", + + + // "mydspace.description": "", + "mydspace.description": "", + + // "mydspace.general.text-here": "here", + // TODO Source message changed - Revise the translation + "mydspace.general.text-here": "AQUÍ", + + // "mydspace.messages.controller-help": "Select this option to send a message to item's submitter.", + "mydspace.messages.controller-help": "Seleccione esta opción para enviar un mensaje al remitente del ítem.", + + // "mydspace.messages.description-placeholder": "Insert your message here...", + "mydspace.messages.description-placeholder": "Ingrese su mensaje aquí...", + + // "mydspace.messages.hide-msg": "Hide message", + "mydspace.messages.hide-msg": "Ocultar mensaje", + + // "mydspace.messages.mark-as-read": "Mark as read", + "mydspace.messages.mark-as-read": "Marcar como leído", + + // "mydspace.messages.mark-as-unread": "Mark as unread", + "mydspace.messages.mark-as-unread": "Macar como no leído", + + // "mydspace.messages.no-content": "No content.", + "mydspace.messages.no-content": "Sin contenido.", + + // "mydspace.messages.no-messages": "No messages yet.", + "mydspace.messages.no-messages": "Aún no hay mensajes.", + + // "mydspace.messages.send-btn": "Send", + "mydspace.messages.send-btn": "Enviar", + + // "mydspace.messages.show-msg": "Show message", + "mydspace.messages.show-msg": "Mostrar mensaje", + + // "mydspace.messages.subject-placeholder": "Subject...", + "mydspace.messages.subject-placeholder": "Materia...", + + // "mydspace.messages.submitter-help": "Select this option to send a message to controller.", + "mydspace.messages.submitter-help": "Seleccione esta opción para enviar un mensaje al controlador.", + + // "mydspace.messages.title": "Messages", + "mydspace.messages.title": "Mensajes", + + // "mydspace.messages.to": "To", + "mydspace.messages.to": "Para", + + // "mydspace.new-submission": "New submission", + "mydspace.new-submission": "Nuevo envío", + + // "mydspace.new-submission-external": "Import metadata from external source", + // TODO New key - Add a translation + "mydspace.new-submission-external": "Import metadata from external source", + + // "mydspace.new-submission-external-short": "Import metadata", + // TODO New key - Add a translation + "mydspace.new-submission-external-short": "Import metadata", + + // "mydspace.results.head": "Your submissions", + "mydspace.results.head": "Sus envíos", + + // "mydspace.results.no-abstract": "No Abstract", + "mydspace.results.no-abstract": "Sin Resumen", + + // "mydspace.results.no-authors": "No Authors", + "mydspace.results.no-authors": "Sin Autores", + + // "mydspace.results.no-collections": "No Collections", + "mydspace.results.no-collections": "Sin Colecciones", + + // "mydspace.results.no-date": "No Date", + "mydspace.results.no-date": "Sin Fecha", + + // "mydspace.results.no-files": "No Files", + "mydspace.results.no-files": "Sin Archivos", + + // "mydspace.results.no-results": "There were no items to show", + "mydspace.results.no-results": "No hay ítemes para mostrar", + + // "mydspace.results.no-title": "No title", + "mydspace.results.no-title": "Sin título", + + // "mydspace.results.no-uri": "No Uri", + "mydspace.results.no-uri": "Sin Uri", + + // "mydspace.show.workflow": "All tasks", + "mydspace.show.workflow": "Todas las tareas", + + // "mydspace.show.workspace": "Your Submissions", + "mydspace.show.workspace": "Sus envíos", + + // "mydspace.status.archived": "Archived", + "mydspace.status.archived": "Archivado", + + // "mydspace.status.validation": "Validation", + "mydspace.status.validation": "Validación", + + // "mydspace.status.waiting-for-controller": "Waiting for controller", + "mydspace.status.waiting-for-controller": "Esperando controlador", + + // "mydspace.status.workflow": "Workflow", + "mydspace.status.workflow": "Flujo de trabajo", + + // "mydspace.status.workspace": "Workspace", + "mydspace.status.workspace": "Workspace", + + // "mydspace.title": "MyDSpace", + "mydspace.title": "MiDSpace", + + // "mydspace.upload.upload-failed": "Error creating new workspace. Please verify the content uploaded before retry.", + "mydspace.upload.upload-failed": "Error al crear nuevo Workspace. Verifique el contenido cargado antes de intentar.", + + // "mydspace.upload.upload-failed-manyentries": "Unprocessable file. Detected too many entries but allowed only one for file.", + // TODO New key - Add a translation + "mydspace.upload.upload-failed-manyentries": "Unprocessable file. Detected too many entries but allowed only one for file.", + + // "mydspace.upload.upload-failed-moreonefile": "Unprocessable request. Only one file is allowed.", + // TODO New key - Add a translation + "mydspace.upload.upload-failed-moreonefile": "Unprocessable request. Only one file is allowed.", + + // "mydspace.upload.upload-multiple-successful": "{{qty}} new workspace items created.", + "mydspace.upload.upload-multiple-successful": "{{qty}} Nuevos ítemes de workspace creados.", + + // "mydspace.upload.upload-successful": "New workspace item created. Click {{here}} for edit it.", + "mydspace.upload.upload-successful": "Nuevos ítemes de workspace creados. Clic {{here}} para editar.", + + // "mydspace.view-btn": "View", + "mydspace.view-btn": "Ver", + + + + // "nav.browse.header": "All of DSpace", + "nav.browse.header": "Todo DSpace", + + // "nav.community-browse.header": "By Community", + "nav.community-browse.header": "Por Comunidad", + + // "nav.language": "Language switch", + "nav.language": "Cambio de idioma", + + // "nav.login": "Log In", + "nav.login": "Inicio de Sesión", + + // "nav.logout": "Log Out", + "nav.logout": "Cerrar Sesión", + + // "nav.mydspace": "MyDSpace", + "nav.mydspace": "Mi DSpace", + + // "nav.profile": "Profile", + // TODO New key - Add a translation + "nav.profile": "Profile", + + // "nav.search": "Search", + "nav.search": "Buscar", + + // "nav.statistics.header": "Statistics", + "nav.statistics.header": "Estadísticas", + + // "nav.stop-impersonating": "Stop impersonating EPerson", + // TODO New key - Add a translation + "nav.stop-impersonating": "Stop impersonating EPerson", + + + + // "orgunit.listelement.badge": "Organizational Unit", + "orgunit.listelement.badge": "Unidad organizacional", + + // "orgunit.page.city": "City", + "orgunit.page.city": "Ciudad", + + // "orgunit.page.country": "Country", + "orgunit.page.country": "País", + + // "orgunit.page.dateestablished": "Date established", + "orgunit.page.dateestablished": "Fecha establecida", + + // "orgunit.page.description": "Description", + "orgunit.page.description": "Descripción", + + // "orgunit.page.edit": "Edit this item", + // TODO New key - Add a translation + "orgunit.page.edit": "Edit this item", + + // "orgunit.page.id": "ID", + "orgunit.page.id": "ID", + + // "orgunit.page.titleprefix": "Organizational Unit: ", + "orgunit.page.titleprefix": "Unidad organizacional: ", + + + + // "pagination.results-per-page": "Results Per Page", + "pagination.results-per-page": "Resultados por Página", + + // "pagination.showing.detail": "{{ range }} of {{ total }}", + "pagination.showing.detail": "{{ range }} de {{ total }}", + + // "pagination.showing.label": "Now showing ", + "pagination.showing.label": "Mostrando ", + + // "pagination.sort-direction": "Sort Options", + "pagination.sort-direction": "Opciones de orden", + + + + // "person.listelement.badge": "Person", + "person.listelement.badge": "Persona", + + // "person.listelement.no-title": "No name found", + // TODO New key - Add a translation + "person.listelement.no-title": "No name found", + + // "person.page.birthdate": "Birth Date", + "person.page.birthdate": "Fecha de Nacimiento", + + // "person.page.edit": "Edit this item", + // TODO New key - Add a translation + "person.page.edit": "Edit this item", + + // "person.page.email": "Email Address", + "person.page.email": "Dirección de correo electrónico", + + // "person.page.firstname": "First Name", + "person.page.firstname": "Nombre", + + // "person.page.jobtitle": "Job Title", + "person.page.jobtitle": "Título profesional", + + // "person.page.lastname": "Last Name", + "person.page.lastname": "Apellido", + + // "person.page.link.full": "Show all metadata", + "person.page.link.full": "Mostrar todos los metadatos", + + // "person.page.orcid": "ORCID", + "person.page.orcid": "ORCID", + + // "person.page.staffid": "Staff ID", + "person.page.staffid": "Identificación del personal", + + // "person.page.titleprefix": "Person: ", + "person.page.titleprefix": "Persona: ", + + // "person.search.results.head": "Person Search Results", + "person.search.results.head": "Resultados de búsqueda de personas", + + // "person.search.title": "DSpace Angular :: Person Search", + "person.search.title": "DSpace Angular :: Búsqueda de persona", + + + + // "process.new.select-parameters": "Parameters", + // TODO New key - Add a translation + "process.new.select-parameters": "Parameters", + + // "process.new.cancel": "Cancel", + // TODO New key - Add a translation + "process.new.cancel": "Cancel", + + // "process.new.submit": "Submit", + // TODO New key - Add a translation + "process.new.submit": "Submit", + + // "process.new.select-script": "Script", + // TODO New key - Add a translation + "process.new.select-script": "Script", + + // "process.new.select-script.placeholder": "Choose a script...", + // TODO New key - Add a translation + "process.new.select-script.placeholder": "Choose a script...", + + // "process.new.select-script.required": "Script is required", + // TODO New key - Add a translation + "process.new.select-script.required": "Script is required", + + // "process.new.parameter.file.upload-button": "Select file...", + // TODO New key - Add a translation + "process.new.parameter.file.upload-button": "Select file...", + + // "process.new.parameter.file.required": "Please select a file", + // TODO New key - Add a translation + "process.new.parameter.file.required": "Please select a file", + + // "process.new.parameter.string.required": "Parameter value is required", + // TODO New key - Add a translation + "process.new.parameter.string.required": "Parameter value is required", + + // "process.new.parameter.type.value": "value", + // TODO New key - Add a translation + "process.new.parameter.type.value": "value", + + // "process.new.parameter.type.file": "file", + // TODO New key - Add a translation + "process.new.parameter.type.file": "file", + + // "process.new.parameter.required.missing": "The following parameters are required but still missing:", + // TODO New key - Add a translation + "process.new.parameter.required.missing": "The following parameters are required but still missing:", + + // "process.new.notification.success.title": "Success", + // TODO New key - Add a translation + "process.new.notification.success.title": "Success", + + // "process.new.notification.success.content": "The process was successfully created", + // TODO New key - Add a translation + "process.new.notification.success.content": "The process was successfully created", + + // "process.new.notification.error.title": "Error", + // TODO New key - Add a translation + "process.new.notification.error.title": "Error", + + // "process.new.notification.error.content": "An error occurred while creating this process", + // TODO New key - Add a translation + "process.new.notification.error.content": "An error occurred while creating this process", + + // "process.new.header": "Create a new process", + // TODO New key - Add a translation + "process.new.header": "Create a new process", + + // "process.new.title": "Create a new process", + // TODO New key - Add a translation + "process.new.title": "Create a new process", + + // "process.new.breadcrumbs": "Create a new process", + // TODO New key - Add a translation + "process.new.breadcrumbs": "Create a new process", + + + + // "process.detail.arguments" : "Arguments", + // TODO New key - Add a translation + "process.detail.arguments" : "Arguments", + + // "process.detail.arguments.empty" : "This process doesn't contain any arguments", + // TODO New key - Add a translation + "process.detail.arguments.empty" : "This process doesn't contain any arguments", + + // "process.detail.back" : "Back", + // TODO New key - Add a translation + "process.detail.back" : "Back", + + // "process.detail.output" : "Process Output", + // TODO New key - Add a translation + "process.detail.output" : "Process Output", + + // "process.detail.logs.button": "Retrieve process output", + // TODO New key - Add a translation + "process.detail.logs.button": "Retrieve process output", + + // "process.detail.logs.loading": "Retrieving", + // TODO New key - Add a translation + "process.detail.logs.loading": "Retrieving", + + // "process.detail.logs.none": "This process has no output", + // TODO New key - Add a translation + "process.detail.logs.none": "This process has no output", + + // "process.detail.output-files" : "Output Files", + // TODO New key - Add a translation + "process.detail.output-files" : "Output Files", + + // "process.detail.output-files.empty" : "This process doesn't contain any output files", + // TODO New key - Add a translation + "process.detail.output-files.empty" : "This process doesn't contain any output files", + + // "process.detail.script" : "Script", + // TODO New key - Add a translation + "process.detail.script" : "Script", + + // "process.detail.title" : "Process: {{ id }} - {{ name }}", + // TODO New key - Add a translation + "process.detail.title" : "Process: {{ id }} - {{ name }}", + + // "process.detail.start-time" : "Start time", + // TODO New key - Add a translation + "process.detail.start-time" : "Start time", + + // "process.detail.end-time" : "Finish time", + // TODO New key - Add a translation + "process.detail.end-time" : "Finish time", + + // "process.detail.status" : "Status", + // TODO New key - Add a translation + "process.detail.status" : "Status", + + // "process.detail.create" : "Create similar process", + // TODO New key - Add a translation + "process.detail.create" : "Create similar process", + + + + // "process.overview.table.finish" : "Finish time", + // TODO New key - Add a translation + "process.overview.table.finish" : "Finish time", + + // "process.overview.table.id" : "Process ID", + // TODO New key - Add a translation + "process.overview.table.id" : "Process ID", + + // "process.overview.table.name" : "Name", + // TODO New key - Add a translation + "process.overview.table.name" : "Name", + + // "process.overview.table.start" : "Start time", + // TODO New key - Add a translation + "process.overview.table.start" : "Start time", + + // "process.overview.table.status" : "Status", + // TODO New key - Add a translation + "process.overview.table.status" : "Status", + + // "process.overview.table.user" : "User", + // TODO New key - Add a translation + "process.overview.table.user" : "User", + + // "process.overview.title": "Processes Overview", + // TODO New key - Add a translation + "process.overview.title": "Processes Overview", + + // "process.overview.breadcrumbs": "Processes Overview", + // TODO New key - Add a translation + "process.overview.breadcrumbs": "Processes Overview", + + // "process.overview.new": "New", + // TODO New key - Add a translation + "process.overview.new": "New", + + + // "profile.breadcrumbs": "Update Profile", + // TODO New key - Add a translation + "profile.breadcrumbs": "Update Profile", + + // "profile.card.identify": "Identify", + // TODO New key - Add a translation + "profile.card.identify": "Identify", + + // "profile.card.security": "Security", + // TODO New key - Add a translation + "profile.card.security": "Security", + + // "profile.form.submit": "Update Profile", + // TODO New key - Add a translation + "profile.form.submit": "Update Profile", + + // "profile.groups.head": "Authorization groups you belong to", + // TODO New key - Add a translation + "profile.groups.head": "Authorization groups you belong to", + + // "profile.head": "Update Profile", + // TODO New key - Add a translation + "profile.head": "Update Profile", + + // "profile.metadata.form.error.firstname.required": "First Name is required", + // TODO New key - Add a translation + "profile.metadata.form.error.firstname.required": "First Name is required", + + // "profile.metadata.form.error.lastname.required": "Last Name is required", + // TODO New key - Add a translation + "profile.metadata.form.error.lastname.required": "Last Name is required", + + // "profile.metadata.form.label.email": "Email Address", + // TODO New key - Add a translation + "profile.metadata.form.label.email": "Email Address", + + // "profile.metadata.form.label.firstname": "First Name", + // TODO New key - Add a translation + "profile.metadata.form.label.firstname": "First Name", + + // "profile.metadata.form.label.language": "Language", + // TODO New key - Add a translation + "profile.metadata.form.label.language": "Language", + + // "profile.metadata.form.label.lastname": "Last Name", + // TODO New key - Add a translation + "profile.metadata.form.label.lastname": "Last Name", + + // "profile.metadata.form.label.phone": "Contact Telephone", + // TODO New key - Add a translation + "profile.metadata.form.label.phone": "Contact Telephone", + + // "profile.metadata.form.notifications.success.content": "Your changes to the profile were saved.", + // TODO New key - Add a translation + "profile.metadata.form.notifications.success.content": "Your changes to the profile were saved.", + + // "profile.metadata.form.notifications.success.title": "Profile saved", + // TODO New key - Add a translation + "profile.metadata.form.notifications.success.title": "Profile saved", + + // "profile.notifications.warning.no-changes.content": "No changes were made to the Profile.", + // TODO New key - Add a translation + "profile.notifications.warning.no-changes.content": "No changes were made to the Profile.", + + // "profile.notifications.warning.no-changes.title": "No changes", + // TODO New key - Add a translation + "profile.notifications.warning.no-changes.title": "No changes", + + // "profile.security.form.error.matching-passwords": "The passwords do not match.", + // TODO New key - Add a translation + "profile.security.form.error.matching-passwords": "The passwords do not match.", + + // "profile.security.form.error.password-length": "The password should be at least 6 characters long.", + // TODO New key - Add a translation + "profile.security.form.error.password-length": "The password should be at least 6 characters long.", + + // "profile.security.form.info": "Optionally, you can enter a new password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", + // TODO New key - Add a translation + "profile.security.form.info": "Optionally, you can enter a new password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", + + // "profile.security.form.label.password": "Password", + // TODO New key - Add a translation + "profile.security.form.label.password": "Password", + + // "profile.security.form.label.passwordrepeat": "Retype to confirm", + // TODO New key - Add a translation + "profile.security.form.label.passwordrepeat": "Retype to confirm", + + // "profile.security.form.notifications.success.content": "Your changes to the password were saved.", + // TODO New key - Add a translation + "profile.security.form.notifications.success.content": "Your changes to the password were saved.", + + // "profile.security.form.notifications.success.title": "Password saved", + // TODO New key - Add a translation + "profile.security.form.notifications.success.title": "Password saved", + + // "profile.security.form.notifications.error.title": "Error changing passwords", + // TODO New key - Add a translation + "profile.security.form.notifications.error.title": "Error changing passwords", + + // "profile.security.form.notifications.error.not-long-enough": "The password has to be at least 6 characters long.", + // TODO New key - Add a translation + "profile.security.form.notifications.error.not-long-enough": "The password has to be at least 6 characters long.", + + // "profile.security.form.notifications.error.not-same": "The provided passwords are not the same.", + // TODO New key - Add a translation + "profile.security.form.notifications.error.not-same": "The provided passwords are not the same.", + + // "profile.title": "Update Profile", + // TODO New key - Add a translation + "profile.title": "Update Profile", + + + + // "project.listelement.badge": "Research Project", + "project.listelement.badge": "Proyecto de investigación", + + // "project.page.contributor": "Contributors", + "project.page.contributor": "Contribuyentes", + + // "project.page.description": "Description", + "project.page.description": "Descripción", + + // "project.page.edit": "Edit this item", + // TODO New key - Add a translation + "project.page.edit": "Edit this item", + + // "project.page.expectedcompletion": "Expected Completion", + "project.page.expectedcompletion": "Finalización prevista", + + // "project.page.funder": "Funders", + "project.page.funder": "Financiadores", + + // "project.page.id": "ID", + "project.page.id": "ID", + + // "project.page.keyword": "Keywords", + "project.page.keyword": "Claves", + + // "project.page.status": "Status", + "project.page.status": "Estado", + + // "project.page.titleprefix": "Research Project: ", + "project.page.titleprefix": "Proyecto de investigación: ", + + // "project.search.results.head": "Project Search Results", + // TODO New key - Add a translation + "project.search.results.head": "Project Search Results", + + + + // "publication.listelement.badge": "Publication", + "publication.listelement.badge": "Publicación", + + // "publication.page.description": "Description", + "publication.page.description": "Descripción", + + // "publication.page.edit": "Edit this item", + // TODO New key - Add a translation + "publication.page.edit": "Edit this item", + + // "publication.page.journal-issn": "Journal ISSN", + "publication.page.journal-issn": "Revista ISSN", + + // "publication.page.journal-title": "Journal Title", + "publication.page.journal-title": "Título de Revista", + + // "publication.page.publisher": "Publisher", + "publication.page.publisher": "Editor", + + // "publication.page.titleprefix": "Publication: ", + "publication.page.titleprefix": "Publicación: ", + + // "publication.page.volume-title": "Volume Title", + "publication.page.volume-title": "Título del Volumen", + + // "publication.search.results.head": "Publication Search Results", + "publication.search.results.head": "Resultados de la búsqueda de publicaciones", + + // "publication.search.title": "DSpace Angular :: Publication Search", + "publication.search.title": "DSpace Angular :: Búsqueda de publicación", + + + // "register-email.title": "New user registration", + // TODO New key - Add a translation + "register-email.title": "New user registration", + + // "register-page.create-profile.header": "Create Profile", + // TODO New key - Add a translation + "register-page.create-profile.header": "Create Profile", + + // "register-page.create-profile.identification.header": "Identify", + // TODO New key - Add a translation + "register-page.create-profile.identification.header": "Identify", + + // "register-page.create-profile.identification.email": "Email Address", + // TODO New key - Add a translation + "register-page.create-profile.identification.email": "Email Address", + + // "register-page.create-profile.identification.first-name": "First Name *", + // TODO New key - Add a translation + "register-page.create-profile.identification.first-name": "First Name *", + + // "register-page.create-profile.identification.first-name.error": "Please fill in a First Name", + // TODO New key - Add a translation + "register-page.create-profile.identification.first-name.error": "Please fill in a First Name", + + // "register-page.create-profile.identification.last-name": "Last Name *", + // TODO New key - Add a translation + "register-page.create-profile.identification.last-name": "Last Name *", + + // "register-page.create-profile.identification.last-name.error": "Please fill in a Last Name", + // TODO New key - Add a translation + "register-page.create-profile.identification.last-name.error": "Please fill in a Last Name", + + // "register-page.create-profile.identification.contact": "Contact Telephone", + // TODO New key - Add a translation + "register-page.create-profile.identification.contact": "Contact Telephone", + + // "register-page.create-profile.identification.language": "Language", + // TODO New key - Add a translation + "register-page.create-profile.identification.language": "Language", + + // "register-page.create-profile.security.header": "Security", + // TODO New key - Add a translation + "register-page.create-profile.security.header": "Security", + + // "register-page.create-profile.security.info": "Please enter a password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", + // TODO New key - Add a translation + "register-page.create-profile.security.info": "Please enter a password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", + + // "register-page.create-profile.security.label.password": "Password *", + // TODO New key - Add a translation + "register-page.create-profile.security.label.password": "Password *", + + // "register-page.create-profile.security.label.passwordrepeat": "Retype to confirm *", + // TODO New key - Add a translation + "register-page.create-profile.security.label.passwordrepeat": "Retype to confirm *", + + // "register-page.create-profile.security.error.empty-password": "Please enter a password in the box below.", + // TODO New key - Add a translation + "register-page.create-profile.security.error.empty-password": "Please enter a password in the box below.", + + // "register-page.create-profile.security.error.matching-passwords": "The passwords do not match.", + // TODO New key - Add a translation + "register-page.create-profile.security.error.matching-passwords": "The passwords do not match.", + + // "register-page.create-profile.security.error.password-length": "The password should be at least 6 characters long.", + // TODO New key - Add a translation + "register-page.create-profile.security.error.password-length": "The password should be at least 6 characters long.", + + // "register-page.create-profile.submit": "Complete Registration", + // TODO New key - Add a translation + "register-page.create-profile.submit": "Complete Registration", + + // "register-page.create-profile.submit.error.content": "Something went wrong while registering a new user.", + // TODO New key - Add a translation + "register-page.create-profile.submit.error.content": "Something went wrong while registering a new user.", + + // "register-page.create-profile.submit.error.head": "Registration failed", + // TODO New key - Add a translation + "register-page.create-profile.submit.error.head": "Registration failed", + + // "register-page.create-profile.submit.success.content": "The registration was successful. You have been logged in as the created user.", + // TODO New key - Add a translation + "register-page.create-profile.submit.success.content": "The registration was successful. You have been logged in as the created user.", + + // "register-page.create-profile.submit.success.head": "Registration completed", + // TODO New key - Add a translation + "register-page.create-profile.submit.success.head": "Registration completed", + + + // "register-page.registration.header": "New user registration", + // TODO New key - Add a translation + "register-page.registration.header": "New user registration", + + // "register-page.registration.info": "Register an account to subscribe to collections for email updates, and submit new items to DSpace.", + // TODO New key - Add a translation + "register-page.registration.info": "Register an account to subscribe to collections for email updates, and submit new items to DSpace.", + + // "register-page.registration.email": "Email Address *", + // TODO New key - Add a translation + "register-page.registration.email": "Email Address *", + + // "register-page.registration.email.error.required": "Please fill in an email address", + // TODO New key - Add a translation + "register-page.registration.email.error.required": "Please fill in an email address", + + // "register-page.registration.email.error.pattern": "Please fill in a valid email address", + // TODO New key - Add a translation + "register-page.registration.email.error.pattern": "Please fill in a valid email address", + + // "register-page.registration.email.hint": "This address will be verified and used as your login name.", + // TODO New key - Add a translation + "register-page.registration.email.hint": "This address will be verified and used as your login name.", + + // "register-page.registration.submit": "Register", + // TODO New key - Add a translation + "register-page.registration.submit": "Register", + + // "register-page.registration.success.head": "Verification email sent", + // TODO New key - Add a translation + "register-page.registration.success.head": "Verification email sent", + + // "register-page.registration.success.content": "An email has been sent to {{ email }} containing a special URL and further instructions.", + // TODO New key - Add a translation + "register-page.registration.success.content": "An email has been sent to {{ email }} containing a special URL and further instructions.", + + // "register-page.registration.error.head": "Error when trying to register email", + // TODO New key - Add a translation + "register-page.registration.error.head": "Error when trying to register email", + + // "register-page.registration.error.content": "An error occured when registering the following email address: {{ email }}", + // TODO New key - Add a translation + "register-page.registration.error.content": "An error occured when registering the following email address: {{ email }}", + + + + // "relationships.add.error.relationship-type.content": "No suitable match could be found for relationship type {{ type }} between the two items", + // TODO New key - Add a translation + "relationships.add.error.relationship-type.content": "No suitable match could be found for relationship type {{ type }} between the two items", + + // "relationships.add.error.server.content": "The server returned an error", + // TODO New key - Add a translation + "relationships.add.error.server.content": "The server returned an error", + + // "relationships.add.error.title": "Unable to add relationship", + // TODO New key - Add a translation + "relationships.add.error.title": "Unable to add relationship", + + // "relationships.isAuthorOf": "Authors", + "relationships.isAuthorOf": "Autores", + + // "relationships.isAuthorOf.Person": "Authors (persons)", + // TODO New key - Add a translation + "relationships.isAuthorOf.Person": "Authors (persons)", + + // "relationships.isAuthorOf.OrgUnit": "Authors (organizational units)", + // TODO New key - Add a translation + "relationships.isAuthorOf.OrgUnit": "Authors (organizational units)", + + // "relationships.isIssueOf": "Journal Issues", + "relationships.isIssueOf": "Números de Revista", + + // "relationships.isJournalIssueOf": "Journal Issue", + "relationships.isJournalIssueOf": "Número de Revista", + + // "relationships.isJournalOf": "Journals", + "relationships.isJournalOf": "Revistas", + + // "relationships.isOrgUnitOf": "Organizational Units", + "relationships.isOrgUnitOf": "Unidades Organizacionales", + + // "relationships.isPersonOf": "Authors", + "relationships.isPersonOf": "Autores", + + // "relationships.isProjectOf": "Research Projects", + "relationships.isProjectOf": "Proyectos de investigación", + + // "relationships.isPublicationOf": "Publications", + "relationships.isPublicationOf": "Publicaciones", + + // "relationships.isPublicationOfJournalIssue": "Articles", + "relationships.isPublicationOfJournalIssue": "Artículos", + + // "relationships.isSingleJournalOf": "Journal", + "relationships.isSingleJournalOf": "Revista", + + // "relationships.isSingleVolumeOf": "Journal Volume", + "relationships.isSingleVolumeOf": "Volumen de Revista", + + // "relationships.isVolumeOf": "Journal Volumes", + "relationships.isVolumeOf": "Volúmenes de Revista", + + // "relationships.isContributorOf": "Contributors", + // TODO New key - Add a translation + "relationships.isContributorOf": "Contributors", + + + + // "resource-policies.add.button": "Add", + // TODO New key - Add a translation + "resource-policies.add.button": "Add", + + // "resource-policies.add.for.": "Add a new policy", + // TODO New key - Add a translation + "resource-policies.add.for.": "Add a new policy", + + // "resource-policies.add.for.bitstream": "Add a new Bitstream policy", + // TODO New key - Add a translation + "resource-policies.add.for.bitstream": "Add a new Bitstream policy", + + // "resource-policies.add.for.bundle": "Add a new Bundle policy", + // TODO New key - Add a translation + "resource-policies.add.for.bundle": "Add a new Bundle policy", + + // "resource-policies.add.for.item": "Add a new Item policy", + // TODO New key - Add a translation + "resource-policies.add.for.item": "Add a new Item policy", + + // "resource-policies.add.for.community": "Add a new Community policy", + // TODO New key - Add a translation + "resource-policies.add.for.community": "Add a new Community policy", + + // "resource-policies.add.for.collection": "Add a new Collection policy", + // TODO New key - Add a translation + "resource-policies.add.for.collection": "Add a new Collection policy", + + // "resource-policies.create.page.heading": "Create new resource policy for ", + // TODO New key - Add a translation + "resource-policies.create.page.heading": "Create new resource policy for ", + + // "resource-policies.create.page.failure.content": "An error occurred while creating the resource policy.", + // TODO New key - Add a translation + "resource-policies.create.page.failure.content": "An error occurred while creating the resource policy.", + + // "resource-policies.create.page.success.content": "Operation successful", + // TODO New key - Add a translation + "resource-policies.create.page.success.content": "Operation successful", + + // "resource-policies.create.page.title": "Create new resource policy", + // TODO New key - Add a translation + "resource-policies.create.page.title": "Create new resource policy", + + // "resource-policies.delete.btn": "Delete selected", + // TODO New key - Add a translation + "resource-policies.delete.btn": "Delete selected", + + // "resource-policies.delete.btn.title": "Delete selected resource policies", + // TODO New key - Add a translation + "resource-policies.delete.btn.title": "Delete selected resource policies", + + // "resource-policies.delete.failure.content": "An error occurred while deleting selected resource policies.", + // TODO New key - Add a translation + "resource-policies.delete.failure.content": "An error occurred while deleting selected resource policies.", + + // "resource-policies.delete.success.content": "Operation successful", + // TODO New key - Add a translation + "resource-policies.delete.success.content": "Operation successful", + + // "resource-policies.edit.page.heading": "Edit resource policy ", + // TODO New key - Add a translation + "resource-policies.edit.page.heading": "Edit resource policy ", + + // "resource-policies.edit.page.failure.content": "An error occurred while editing the resource policy.", + // TODO New key - Add a translation + "resource-policies.edit.page.failure.content": "An error occurred while editing the resource policy.", + + // "resource-policies.edit.page.success.content": "Operation successful", + // TODO New key - Add a translation + "resource-policies.edit.page.success.content": "Operation successful", + + // "resource-policies.edit.page.title": "Edit resource policy", + // TODO New key - Add a translation + "resource-policies.edit.page.title": "Edit resource policy", + + // "resource-policies.form.action-type.label": "Select the action type", + // TODO New key - Add a translation + "resource-policies.form.action-type.label": "Select the action type", + + // "resource-policies.form.action-type.required": "You must select the resource policy action.", + // TODO New key - Add a translation + "resource-policies.form.action-type.required": "You must select the resource policy action.", + + // "resource-policies.form.eperson-group-list.label": "The eperson or group that will be granted the permission", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.label": "The eperson or group that will be granted the permission", + + // "resource-policies.form.eperson-group-list.select.btn": "Select", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.select.btn": "Select", + + // "resource-policies.form.eperson-group-list.tab.eperson": "Search for a ePerson", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.tab.eperson": "Search for a ePerson", + + // "resource-policies.form.eperson-group-list.tab.group": "Search for a group", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.tab.group": "Search for a group", + + // "resource-policies.form.eperson-group-list.table.headers.action": "Action", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.table.headers.action": "Action", + + // "resource-policies.form.eperson-group-list.table.headers.id": "ID", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.table.headers.id": "ID", + + // "resource-policies.form.eperson-group-list.table.headers.name": "Name", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.table.headers.name": "Name", + + // "resource-policies.form.date.end.label": "End Date", + // TODO New key - Add a translation + "resource-policies.form.date.end.label": "End Date", + + // "resource-policies.form.date.start.label": "Start Date", + // TODO New key - Add a translation + "resource-policies.form.date.start.label": "Start Date", + + // "resource-policies.form.description.label": "Description", + // TODO New key - Add a translation + "resource-policies.form.description.label": "Description", + + // "resource-policies.form.name.label": "Name", + // TODO New key - Add a translation + "resource-policies.form.name.label": "Name", + + // "resource-policies.form.policy-type.label": "Select the policy type", + // TODO New key - Add a translation + "resource-policies.form.policy-type.label": "Select the policy type", + + // "resource-policies.form.policy-type.required": "You must select the resource policy type.", + // TODO New key - Add a translation + "resource-policies.form.policy-type.required": "You must select the resource policy type.", + + // "resource-policies.table.headers.action": "Action", + // TODO New key - Add a translation + "resource-policies.table.headers.action": "Action", + + // "resource-policies.table.headers.date.end": "End Date", + // TODO New key - Add a translation + "resource-policies.table.headers.date.end": "End Date", + + // "resource-policies.table.headers.date.start": "Start Date", + // TODO New key - Add a translation + "resource-policies.table.headers.date.start": "Start Date", + + // "resource-policies.table.headers.edit": "Edit", + // TODO New key - Add a translation + "resource-policies.table.headers.edit": "Edit", + + // "resource-policies.table.headers.edit.group": "Edit group", + // TODO New key - Add a translation + "resource-policies.table.headers.edit.group": "Edit group", + + // "resource-policies.table.headers.edit.policy": "Edit policy", + // TODO New key - Add a translation + "resource-policies.table.headers.edit.policy": "Edit policy", + + // "resource-policies.table.headers.eperson": "EPerson", + // TODO New key - Add a translation + "resource-policies.table.headers.eperson": "EPerson", + + // "resource-policies.table.headers.group": "Group", + // TODO New key - Add a translation + "resource-policies.table.headers.group": "Group", + + // "resource-policies.table.headers.id": "ID", + // TODO New key - Add a translation + "resource-policies.table.headers.id": "ID", + + // "resource-policies.table.headers.name": "Name", + // TODO New key - Add a translation + "resource-policies.table.headers.name": "Name", + + // "resource-policies.table.headers.policyType": "type", + // TODO New key - Add a translation + "resource-policies.table.headers.policyType": "type", + + // "resource-policies.table.headers.title.for.bitstream": "Policies for Bitstream", + // TODO New key - Add a translation + "resource-policies.table.headers.title.for.bitstream": "Policies for Bitstream", + + // "resource-policies.table.headers.title.for.bundle": "Policies for Bundle", + // TODO New key - Add a translation + "resource-policies.table.headers.title.for.bundle": "Policies for Bundle", + + // "resource-policies.table.headers.title.for.item": "Policies for Item", + // TODO New key - Add a translation + "resource-policies.table.headers.title.for.item": "Policies for Item", + + // "resource-policies.table.headers.title.for.community": "Policies for Community", + // TODO New key - Add a translation + "resource-policies.table.headers.title.for.community": "Policies for Community", + + // "resource-policies.table.headers.title.for.collection": "Policies for Collection", + // TODO New key - Add a translation + "resource-policies.table.headers.title.for.collection": "Policies for Collection", + + + + // "search.description": "", + "search.description": "", + + // "search.switch-configuration.title": "Show", + // TODO Source message changed - Revise the translation + "search.switch-configuration.title": "Show", + + // "search.title": "DSpace Angular :: Search", + // TODO Source message changed - Revise the translation + "search.title": "DSpace Angular :: Search", + + // "search.breadcrumbs": "Search", + // TODO New key - Add a translation + "search.breadcrumbs": "Search", + + + // "search.filters.applied.f.author": "Author", + "search.filters.applied.f.author": "Autor", + + // "search.filters.applied.f.dateIssued.max": "End date", + "search.filters.applied.f.dateIssued.max": "Fecha Final", + + // "search.filters.applied.f.dateIssued.min": "Start date", + "search.filters.applied.f.dateIssued.min": "Fecha de Inicio", + + // "search.filters.applied.f.dateSubmitted": "Date submitted", + "search.filters.applied.f.dateSubmitted": "Fecha de Envío", + + // "search.filters.applied.f.discoverable": "Private", + // TODO New key - Add a translation + "search.filters.applied.f.discoverable": "Private", + + // "search.filters.applied.f.entityType": "Item Type", + "search.filters.applied.f.entityType": "Tipo de Ítem", + + // "search.filters.applied.f.has_content_in_original_bundle": "Has files", + "search.filters.applied.f.has_content_in_original_bundle": "Tiene archivos", + + // "search.filters.applied.f.itemtype": "Type", + "search.filters.applied.f.itemtype": "Tipo", + + // "search.filters.applied.f.namedresourcetype": "Status", + "search.filters.applied.f.namedresourcetype": "Estado", + + // "search.filters.applied.f.subject": "Subject", + "search.filters.applied.f.subject": "Materia", + + // "search.filters.applied.f.submitter": "Submitter", + "search.filters.applied.f.submitter": "Remitente", + + // "search.filters.applied.f.jobTitle": "Job Title", + // TODO New key - Add a translation + "search.filters.applied.f.jobTitle": "Job Title", + + // "search.filters.applied.f.birthDate.max": "End birth date", + // TODO New key - Add a translation + "search.filters.applied.f.birthDate.max": "End birth date", + + // "search.filters.applied.f.birthDate.min": "Start birth date", + // TODO New key - Add a translation + "search.filters.applied.f.birthDate.min": "Start birth date", + + // "search.filters.applied.f.withdrawn": "Withdrawn", + // TODO New key - Add a translation + "search.filters.applied.f.withdrawn": "Withdrawn", + + + + // "search.filters.filter.author.head": "Author", + "search.filters.filter.author.head": "Autor", + + // "search.filters.filter.author.placeholder": "Author name", + "search.filters.filter.author.placeholder": "Nombre del autor", + + // "search.filters.filter.birthDate.head": "Birth Date", + "search.filters.filter.birthDate.head": "Fecha de Nacimiento", + + // "search.filters.filter.birthDate.placeholder": "Birth Date", + "search.filters.filter.birthDate.placeholder": "Fecha de Nacimiento", + + // "search.filters.filter.creativeDatePublished.head": "Date Published", + "search.filters.filter.creativeDatePublished.head": "Fecha de Publicación", + + // "search.filters.filter.creativeDatePublished.placeholder": "Date Published", + "search.filters.filter.creativeDatePublished.placeholder": "Fecha de Publicación", + + // "search.filters.filter.creativeWorkEditor.head": "Editor", + "search.filters.filter.creativeWorkEditor.head": "Editor", + + // "search.filters.filter.creativeWorkEditor.placeholder": "Editor", + "search.filters.filter.creativeWorkEditor.placeholder": "Editor", + + // "search.filters.filter.creativeWorkKeywords.head": "Subject", + "search.filters.filter.creativeWorkKeywords.head": "Materia", + + // "search.filters.filter.creativeWorkKeywords.placeholder": "Subject", + "search.filters.filter.creativeWorkKeywords.placeholder": "Materia", + + // "search.filters.filter.creativeWorkPublisher.head": "Publisher", + "search.filters.filter.creativeWorkPublisher.head": "Editor", + + // "search.filters.filter.creativeWorkPublisher.placeholder": "Publisher", + "search.filters.filter.creativeWorkPublisher.placeholder": "Editor", + + // "search.filters.filter.dateIssued.head": "Date", + "search.filters.filter.dateIssued.head": "Fecha", + + // "search.filters.filter.dateIssued.max.placeholder": "Minimum Date", + "search.filters.filter.dateIssued.max.placeholder": "Fecha Mínima", + + // "search.filters.filter.dateIssued.min.placeholder": "Maximum Date", + "search.filters.filter.dateIssued.min.placeholder": "Fecha Máxima", + + // "search.filters.filter.dateSubmitted.head": "Date submitted", + "search.filters.filter.dateSubmitted.head": "Fecha de Envío", + + // "search.filters.filter.dateSubmitted.placeholder": "Date submitted", + "search.filters.filter.dateSubmitted.placeholder": "Fecha de Envío", + + // "search.filters.filter.discoverable.head": "Private", + // TODO New key - Add a translation + "search.filters.filter.discoverable.head": "Private", + + // "search.filters.filter.withdrawn.head": "Withdrawn", + // TODO New key - Add a translation + "search.filters.filter.withdrawn.head": "Withdrawn", + + // "search.filters.filter.entityType.head": "Item Type", + "search.filters.filter.entityType.head": "Tipo de Ítem", + + // "search.filters.filter.entityType.placeholder": "Item Type", + "search.filters.filter.entityType.placeholder": "Tipo de Ítem", + + // "search.filters.filter.has_content_in_original_bundle.head": "Has files", + "search.filters.filter.has_content_in_original_bundle.head": "Tiene archivos", + + // "search.filters.filter.itemtype.head": "Type", + "search.filters.filter.itemtype.head": "Tipo", + + // "search.filters.filter.itemtype.placeholder": "Type", + "search.filters.filter.itemtype.placeholder": "Tipo", + + // "search.filters.filter.jobTitle.head": "Job Title", + "search.filters.filter.jobTitle.head": "Título profesional", + + // "search.filters.filter.jobTitle.placeholder": "Job Title", + "search.filters.filter.jobTitle.placeholder": "Título profesional", + + // "search.filters.filter.knowsLanguage.head": "Known language", + "search.filters.filter.knowsLanguage.head": "Idioma conocido", + + // "search.filters.filter.knowsLanguage.placeholder": "Known language", + "search.filters.filter.knowsLanguage.placeholder": "Idioma conocido", + + // "search.filters.filter.namedresourcetype.head": "Status", + "search.filters.filter.namedresourcetype.head": "Estado", + + // "search.filters.filter.namedresourcetype.placeholder": "Status", + "search.filters.filter.namedresourcetype.placeholder": "Estado", + + // "search.filters.filter.objectpeople.head": "People", + "search.filters.filter.objectpeople.head": "Persona", + + // "search.filters.filter.objectpeople.placeholder": "People", + "search.filters.filter.objectpeople.placeholder": "Persona", + + // "search.filters.filter.organizationAddressCountry.head": "Country", + "search.filters.filter.organizationAddressCountry.head": "País", + + // "search.filters.filter.organizationAddressCountry.placeholder": "Country", + "search.filters.filter.organizationAddressCountry.placeholder": "País", + + // "search.filters.filter.organizationAddressLocality.head": "City", + "search.filters.filter.organizationAddressLocality.head": "Ciudad", + + // "search.filters.filter.organizationAddressLocality.placeholder": "City", + "search.filters.filter.organizationAddressLocality.placeholder": "Ciudad", + + // "search.filters.filter.organizationFoundingDate.head": "Date Founded", + "search.filters.filter.organizationFoundingDate.head": "Fecha de fundación", + + // "search.filters.filter.organizationFoundingDate.placeholder": "Date Founded", + "search.filters.filter.organizationFoundingDate.placeholder": "Fecha de fundación", + + // "search.filters.filter.scope.head": "Scope", + "search.filters.filter.scope.head": "Alcance", + + // "search.filters.filter.scope.placeholder": "Scope filter", + "search.filters.filter.scope.placeholder": "Filtro del Alcance", + + // "search.filters.filter.show-less": "Collapse", + "search.filters.filter.show-less": "Contraer", + + // "search.filters.filter.show-more": "Show more", + "search.filters.filter.show-more": "Mostrar más", + + // "search.filters.filter.subject.head": "Subject", + "search.filters.filter.subject.head": "Materia", + + // "search.filters.filter.subject.placeholder": "Subject", + "search.filters.filter.subject.placeholder": "Materia", + + // "search.filters.filter.submitter.head": "Submitter", + "search.filters.filter.submitter.head": "Remitente", + + // "search.filters.filter.submitter.placeholder": "Submitter", + "search.filters.filter.submitter.placeholder": "Remitente", + + + + // "search.filters.entityType.JournalIssue": "Journal Issue", + // TODO New key - Add a translation + "search.filters.entityType.JournalIssue": "Journal Issue", + + // "search.filters.entityType.JournalVolume": "Journal Volume", + // TODO New key - Add a translation + "search.filters.entityType.JournalVolume": "Journal Volume", + + // "search.filters.entityType.OrgUnit": "Organizational Unit", + // TODO New key - Add a translation + "search.filters.entityType.OrgUnit": "Organizational Unit", + + // "search.filters.has_content_in_original_bundle.true": "Yes", + // TODO New key - Add a translation + "search.filters.has_content_in_original_bundle.true": "Yes", + + // "search.filters.has_content_in_original_bundle.false": "No", + // TODO New key - Add a translation + "search.filters.has_content_in_original_bundle.false": "No", + + // "search.filters.discoverable.true": "No", + // TODO New key - Add a translation + "search.filters.discoverable.true": "No", + + // "search.filters.discoverable.false": "Yes", + // TODO New key - Add a translation + "search.filters.discoverable.false": "Yes", + + // "search.filters.withdrawn.true": "Yes", + // TODO New key - Add a translation + "search.filters.withdrawn.true": "Yes", + + // "search.filters.withdrawn.false": "No", + // TODO New key - Add a translation + "search.filters.withdrawn.false": "No", + + + // "search.filters.head": "Filters", + "search.filters.head": "Filtros", + + // "search.filters.reset": "Reset filters", + "search.filters.reset": "Restablecer filtros", + + + + // "search.form.search": "Search", + "search.form.search": "Buscar", + + // "search.form.search_dspace": "Search DSpace", + "search.form.search_dspace": "Buscar DSpace", + + // "search.form.search_mydspace": "Search MyDSpace", + "search.form.search_mydspace": "Buscar MyDSpace", + + + + // "search.results.head": "Search Results", + "search.results.head": "Resultados de Búsqueda", + + // "search.results.no-results": "Your search returned no results. Having trouble finding what you're looking for? Try putting", + // TODO Source message changed - Revise the translation + "search.results.no-results": "Your search returned no results. Having trouble finding what you're looking for? Try putting", + + // "search.results.no-results-link": "quotes around it", + "search.results.no-results-link": "citas a su alrededor", + + // "search.results.empty": "Your search returned no results.", + // TODO New key - Add a translation + "search.results.empty": "Your search returned no results.", + + + + // "search.sidebar.close": "Back to results", + "search.sidebar.close": "Regresar a resultados", + + // "search.sidebar.filters.title": "Filters", + "search.sidebar.filters.title": "Filtros", + + // "search.sidebar.open": "Search Tools", + "search.sidebar.open": "Herramientas de búsqueda", + + // "search.sidebar.results": "results", + "search.sidebar.results": "resultados", + + // "search.sidebar.settings.rpp": "Results per page", + "search.sidebar.settings.rpp": "Resultados por página", + + // "search.sidebar.settings.sort-by": "Sort By", + "search.sidebar.settings.sort-by": "Ordenar por", + + // "search.sidebar.settings.title": "Settings", + "search.sidebar.settings.title": "Configuraciones", + + + + // "search.view-switch.show-detail": "Show detail", + "search.view-switch.show-detail": "Mostrar detalle", + + // "search.view-switch.show-grid": "Show as grid", + "search.view-switch.show-grid": "Mostrar como cuadriculado", + + // "search.view-switch.show-list": "Show as list", + "search.view-switch.show-list": "Mostrar como lista", + + + + // "sorting.ASC": "Ascending", + // TODO New key - Add a translation + "sorting.ASC": "Ascending", + + // "sorting.DESC": "Descending", + // TODO New key - Add a translation + "sorting.DESC": "Descending", + + // "sorting.dc.title.ASC": "Title Ascending", + "sorting.dc.title.ASC": "Título Ascendente", + + // "sorting.dc.title.DESC": "Title Descending", + "sorting.dc.title.DESC": "Título Descendente", + + // "sorting.score.DESC": "Relevance", + "sorting.score.DESC": "Relevancia", + + + + // "statistics.title": "Statistics", + // TODO New key - Add a translation + "statistics.title": "Statistics", + + // "statistics.header": "Statistics for {{ scope }}", + // TODO New key - Add a translation + "statistics.header": "Statistics for {{ scope }}", + + // "statistics.breadcrumbs": "Statistics", + // TODO New key - Add a translation + "statistics.breadcrumbs": "Statistics", + + // "statistics.page.no-data": "No data available", + // TODO New key - Add a translation + "statistics.page.no-data": "No data available", + + // "statistics.table.no-data": "No data available", + // TODO New key - Add a translation + "statistics.table.no-data": "No data available", + + // "statistics.table.title.TotalVisits": "Total visits", + // TODO New key - Add a translation + "statistics.table.title.TotalVisits": "Total visits", + + // "statistics.table.title.TotalVisitsPerMonth": "Total visits per month", + // TODO New key - Add a translation + "statistics.table.title.TotalVisitsPerMonth": "Total visits per month", + + // "statistics.table.title.TotalDownloads": "File Visits", + // TODO New key - Add a translation + "statistics.table.title.TotalDownloads": "File Visits", + + // "statistics.table.title.TopCountries": "Top country views", + // TODO New key - Add a translation + "statistics.table.title.TopCountries": "Top country views", + + // "statistics.table.title.TopCities": "Top city views", + // TODO New key - Add a translation + "statistics.table.title.TopCities": "Top city views", + + // "statistics.table.header.views": "Views", + // TODO New key - Add a translation + "statistics.table.header.views": "Views", + + + + // "submission.edit.title": "Edit Submission", + "submission.edit.title": "Editar envío", + + // "submission.general.cannot_submit": "You have not the privilege to make a new submission.", + "submission.general.cannot_submit": "No tiene el privilegio de hacer un nuevo envío.", + + // "submission.general.deposit": "Deposit", + "submission.general.deposit": "Depositar", + + // "submission.general.discard.confirm.cancel": "Cancel", + "submission.general.discard.confirm.cancel": "Cancelar", + + // "submission.general.discard.confirm.info": "This operation can't be undone. Are you sure?", + "submission.general.discard.confirm.info": "Esta operación no se puede deshacer. Está seguro?", + + // "submission.general.discard.confirm.submit": "Yes, I'm sure", + "submission.general.discard.confirm.submit": "Si, Estoy seguro", + + // "submission.general.discard.confirm.title": "Discard submission", + "submission.general.discard.confirm.title": "Descartar el envío", + + // "submission.general.discard.submit": "Discard", + "submission.general.discard.submit": "Descartar", + + // "submission.general.save": "Save", + "submission.general.save": "Guardar", + + // "submission.general.save-later": "Save for later", + "submission.general.save-later": "Guardar para más adelante", + + + // "submission.import-external.page.title": "Import metadata from an external source", + // TODO New key - Add a translation + "submission.import-external.page.title": "Import metadata from an external source", + + // "submission.import-external.title": "Import metadata from an external source", + // TODO New key - Add a translation + "submission.import-external.title": "Import metadata from an external source", + + // "submission.import-external.page.hint": "Enter a query above to find items from the web to import in to DSpace.", + // TODO New key - Add a translation + "submission.import-external.page.hint": "Enter a query above to find items from the web to import in to DSpace.", + + // "submission.import-external.back-to-my-dspace": "Back to MyDSpace", + // TODO New key - Add a translation + "submission.import-external.back-to-my-dspace": "Back to MyDSpace", + + // "submission.import-external.search.placeholder": "Search the external source", + // TODO New key - Add a translation + "submission.import-external.search.placeholder": "Search the external source", + + // "submission.import-external.search.button": "Search", + // TODO New key - Add a translation + "submission.import-external.search.button": "Search", + + // "submission.import-external.search.button.hint": "Write some words to search", + // TODO New key - Add a translation + "submission.import-external.search.button.hint": "Write some words to search", + + // "submission.import-external.search.source.hint": "Pick an external source", + // TODO New key - Add a translation + "submission.import-external.search.source.hint": "Pick an external source", + + // "submission.import-external.source.arxiv": "arXiv", + // TODO New key - Add a translation + "submission.import-external.source.arxiv": "arXiv", + + // "submission.import-external.source.loading": "Loading ...", + // TODO New key - Add a translation + "submission.import-external.source.loading": "Loading ...", + + // "submission.import-external.source.sherpaJournal": "SHERPA Journals", + // TODO New key - Add a translation + "submission.import-external.source.sherpaJournal": "SHERPA Journals", + + // "submission.import-external.source.sherpaPublisher": "SHERPA Publishers", + // TODO New key - Add a translation + "submission.import-external.source.sherpaPublisher": "SHERPA Publishers", + + // "submission.import-external.source.orcid": "ORCID", + // TODO New key - Add a translation + "submission.import-external.source.orcid": "ORCID", + + // "submission.import-external.source.pubmed": "Pubmed", + // TODO New key - Add a translation + "submission.import-external.source.pubmed": "Pubmed", + + // "submission.import-external.source.lcname": "Library of Congress Names", + // TODO New key - Add a translation + "submission.import-external.source.lcname": "Library of Congress Names", + + // "submission.import-external.preview.title": "Item Preview", + // TODO New key - Add a translation + "submission.import-external.preview.title": "Item Preview", + + // "submission.import-external.preview.subtitle": "The metadata below was imported from an external source. It will be pre-filled when you start the submission.", + // TODO New key - Add a translation + "submission.import-external.preview.subtitle": "The metadata below was imported from an external source. It will be pre-filled when you start the submission.", + + // "submission.import-external.preview.button.import": "Start submission", + // TODO New key - Add a translation + "submission.import-external.preview.button.import": "Start submission", + + // "submission.import-external.preview.error.import.title": "Submission error", + // TODO New key - Add a translation + "submission.import-external.preview.error.import.title": "Submission error", + + // "submission.import-external.preview.error.import.body": "An error occurs during the external source entry import process.", + // TODO New key - Add a translation + "submission.import-external.preview.error.import.body": "An error occurs during the external source entry import process.", + + // "submission.sections.describe.relationship-lookup.close": "Close", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.close": "Close", + + // "submission.sections.describe.relationship-lookup.external-source.added": "Successfully added local entry to the selection", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.added": "Successfully added local entry to the selection", + + // "submission.sections.describe.relationship-lookup.external-source.import-button-title.isAuthorOfPublication": "Import remote author", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-button-title.isAuthorOfPublication": "Import remote author", + + // "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal": "Import remote journal", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal": "Import remote journal", + + // "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal Issue": "Import remote journal issue", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal Issue": "Import remote journal issue", + + // "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal Volume": "Import remote journal volume", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal Volume": "Import remote journal volume", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.title": "Import Remote Author", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.title": "Import Remote Author", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.added.local-entity": "Successfully added local author to the selection", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.added.local-entity": "Successfully added local author to the selection", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.added.new-entity": "Successfully imported and added external author to the selection", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.added.new-entity": "Successfully imported and added external author to the selection", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.authority": "Authority", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.authority": "Authority", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.authority.new": "Import as a new local authority entry", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.authority.new": "Import as a new local authority entry", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.cancel": "Cancel", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.cancel": "Cancel", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.collection": "Select a collection to import new entries to", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.collection": "Select a collection to import new entries to", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.entities": "Entities", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.entities": "Entities", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.entities.new": "Import as a new local entity", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.entities.new": "Import as a new local entity", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.lcname": "Importing from LC Name", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.head.lcname": "Importing from LC Name", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.orcid": "Importing from ORCID", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.head.orcid": "Importing from ORCID", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.sherpaJournal": "Importing from Sherpa Journal", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.head.sherpaJournal": "Importing from Sherpa Journal", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.sherpaPublisher": "Importing from Sherpa Publisher", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.head.sherpaPublisher": "Importing from Sherpa Publisher", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.pubmed": "Importing from PubMed", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.head.pubmed": "Importing from PubMed", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.arxiv": "Importing from arXiv", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.head.arxiv": "Importing from arXiv", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.import": "Import", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.import": "Import", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal.title": "Import Remote Journal", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal.title": "Import Remote Journal", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal.added.local-entity": "Successfully added local journal to the selection", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal.added.local-entity": "Successfully added local journal to the selection", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal.added.new-entity": "Successfully imported and added external journal to the selection", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal.added.new-entity": "Successfully imported and added external journal to the selection", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Issue.title": "Import Remote Journal Issue", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Issue.title": "Import Remote Journal Issue", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Issue.added.local-entity": "Successfully added local journal issue to the selection", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Issue.added.local-entity": "Successfully added local journal issue to the selection", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Issue.added.new-entity": "Successfully imported and added external journal issue to the selection", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Issue.added.new-entity": "Successfully imported and added external journal issue to the selection", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Volume.title": "Import Remote Journal Volume", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Volume.title": "Import Remote Journal Volume", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Volume.added.local-entity": "Successfully added local journal volume to the selection", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Volume.added.local-entity": "Successfully added local journal volume to the selection", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Volume.added.new-entity": "Successfully imported and added external journal volume to the selection", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Volume.added.new-entity": "Successfully imported and added external journal volume to the selection", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.select": "Select a local match:", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.select": "Select a local match:", + + // "submission.sections.describe.relationship-lookup.search-tab.deselect-all": "Deselect all", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.deselect-all": "Deselect all", + + // "submission.sections.describe.relationship-lookup.search-tab.deselect-page": "Deselect page", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.deselect-page": "Deselect page", + + // "submission.sections.describe.relationship-lookup.search-tab.loading": "Loading...", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.loading": "Loading...", + + // "submission.sections.describe.relationship-lookup.search-tab.placeholder": "Search query", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.placeholder": "Search query", + + // "submission.sections.describe.relationship-lookup.search-tab.search": "Go", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.search": "Go", + + // "submission.sections.describe.relationship-lookup.search-tab.select-all": "Select all", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.select-all": "Select all", + + // "submission.sections.describe.relationship-lookup.search-tab.select-page": "Select page", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.select-page": "Select page", + + // "submission.sections.describe.relationship-lookup.selected": "Selected {{ size }} items", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selected": "Selected {{ size }} items", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isAuthorOfPublication": "Local Authors ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isAuthorOfPublication": "Local Authors ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalOfPublication": "Local Journals ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalOfPublication": "Local Journals ({{ count }})", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Project": "Local Projects ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.Project": "Local Projects ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Publication": "Local Publications ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.Publication": "Local Publications ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Person": "Local Authors ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.Person": "Local Authors ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.OrgUnit": "Local Organizational Units ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.OrgUnit": "Local Organizational Units ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.DataPackage": "Local Data Packages ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.DataPackage": "Local Data Packages ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.DataFile": "Local Data Files ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.DataFile": "Local Data Files ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal": "Local Journals ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal": "Local Journals ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalIssueOfPublication": "Local Journal Issues ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalIssueOfPublication": "Local Journal Issues ({{ count }})", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.JournalIssue": "Local Journal Issues ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.JournalIssue": "Local Journal Issues ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalVolumeOfPublication": "Local Journal Volumes ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalVolumeOfPublication": "Local Journal Volumes ({{ count }})", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.JournalVolume": "Local Journal Volumes ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.JournalVolume": "Local Journal Volumes ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaJournal": "Sherpa Journals ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaJournal": "Sherpa Journals ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaPublisher": "Sherpa Publishers ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaPublisher": "Sherpa Publishers ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.orcid": "ORCID ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.orcid": "ORCID ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.lcname": "LC Names ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.lcname": "LC Names ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.pubmed": "PubMed ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.pubmed": "PubMed ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.arxiv": "arXiv ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.arxiv": "arXiv ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingAgencyOfPublication": "Search for Funding Agencies", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingAgencyOfPublication": "Search for Funding Agencies", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingOfPublication": "Search for Funding", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingOfPublication": "Search for Funding", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isChildOrgUnitOf": "Search for Organizational Units", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isChildOrgUnitOf": "Search for Organizational Units", + + // "submission.sections.describe.relationship-lookup.selection-tab.tab-title": "Current Selection ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.tab-title": "Current Selection ({{ count }})", + + // "submission.sections.describe.relationship-lookup.title.isJournalIssueOfPublication": "Journal Issues", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.isJournalIssueOfPublication": "Journal Issues", + // "submission.sections.describe.relationship-lookup.title.JournalIssue": "Journal Issues", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.JournalIssue": "Journal Issues", + + // "submission.sections.describe.relationship-lookup.title.isJournalVolumeOfPublication": "Journal Volumes", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.isJournalVolumeOfPublication": "Journal Volumes", + // "submission.sections.describe.relationship-lookup.title.JournalVolume": "Journal Volumes", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.JournalVolume": "Journal Volumes", + + // "submission.sections.describe.relationship-lookup.title.isJournalOfPublication": "Journals", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.isJournalOfPublication": "Journals", + + // "submission.sections.describe.relationship-lookup.title.isAuthorOfPublication": "Authors", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.isAuthorOfPublication": "Authors", + + // "submission.sections.describe.relationship-lookup.title.isFundingAgencyOfPublication": "Funding Agency", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.isFundingAgencyOfPublication": "Funding Agency", + // "submission.sections.describe.relationship-lookup.title.Project": "Projects", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.Project": "Projects", + + // "submission.sections.describe.relationship-lookup.title.Publication": "Publications", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.Publication": "Publications", + + // "submission.sections.describe.relationship-lookup.title.Person": "Authors", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.Person": "Authors", + + // "submission.sections.describe.relationship-lookup.title.OrgUnit": "Organizational Units", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.OrgUnit": "Organizational Units", + + // "submission.sections.describe.relationship-lookup.title.DataPackage": "Data Packages", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.DataPackage": "Data Packages", + + // "submission.sections.describe.relationship-lookup.title.DataFile": "Data Files", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.DataFile": "Data Files", + + // "submission.sections.describe.relationship-lookup.title.Funding Agency": "Funding Agency", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.Funding Agency": "Funding Agency", + + // "submission.sections.describe.relationship-lookup.title.isFundingOfPublication": "Funding", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.isFundingOfPublication": "Funding", + + // "submission.sections.describe.relationship-lookup.title.isChildOrgUnitOf": "Parent Organizational Unit", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.isChildOrgUnitOf": "Parent Organizational Unit", + + // "submission.sections.describe.relationship-lookup.search-tab.toggle-dropdown": "Toggle dropdown", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.toggle-dropdown": "Toggle dropdown", + + // "submission.sections.describe.relationship-lookup.selection-tab.settings": "Settings", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.settings": "Settings", + + // "submission.sections.describe.relationship-lookup.selection-tab.no-selection": "Your selection is currently empty.", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.no-selection": "Your selection is currently empty.", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isAuthorOfPublication": "Selected Authors", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.isAuthorOfPublication": "Selected Authors", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalOfPublication": "Selected Journals", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalOfPublication": "Selected Journals", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalVolumeOfPublication": "Selected Journal Volume", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalVolumeOfPublication": "Selected Journal Volume", + // "submission.sections.describe.relationship-lookup.selection-tab.title.Project": "Selected Projects", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.Project": "Selected Projects", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.Publication": "Selected Publications", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.Publication": "Selected Publications", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.Person": "Selected Authors", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.Person": "Selected Authors", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.OrgUnit": "Selected Organizational Units", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.OrgUnit": "Selected Organizational Units", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.DataPackage": "Selected Data Packages", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.DataPackage": "Selected Data Packages", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.DataFile": "Selected Data Files", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.DataFile": "Selected Data Files", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.Journal": "Selected Journals", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.Journal": "Selected Journals", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalIssueOfPublication": "Selected Issue", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalIssueOfPublication": "Selected Issue", + // "submission.sections.describe.relationship-lookup.selection-tab.title.JournalVolume": "Selected Journal Volume", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.JournalVolume": "Selected Journal Volume", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingAgencyOfPublication": "Selected Funding Agency", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingAgencyOfPublication": "Selected Funding Agency", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingOfPublication": "Selected Funding", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingOfPublication": "Selected Funding", + // "submission.sections.describe.relationship-lookup.selection-tab.title.JournalIssue": "Selected Issue", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.JournalIssue": "Selected Issue", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isChildOrgUnitOf": "Selected Organizational Unit", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.isChildOrgUnitOf": "Selected Organizational Unit", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.sherpaJournal": "Search Results", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.sherpaJournal": "Search Results", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.sherpaPublisher": "Search Results", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.sherpaPublisher": "Search Results", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.orcid": "Search Results", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.orcid": "Search Results", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.orcidv2": "Search Results", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.orcidv2": "Search Results", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.lcname": "Search Results", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.lcname": "Search Results", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.pubmed": "Search Results", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.pubmed": "Search Results", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.arxiv": "Search Results", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.arxiv": "Search Results", + + // "submission.sections.describe.relationship-lookup.name-variant.notification.content": "Would you like to save \"{{ value }}\" as a name variant for this person so you and others can reuse it for future submissions? If you don\'t you can still use it for this submission.", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.name-variant.notification.content": "Would you like to save \"{{ value }}\" as a name variant for this person so you and others can reuse it for future submissions? If you don\'t you can still use it for this submission.", + + // "submission.sections.describe.relationship-lookup.name-variant.notification.confirm": "Save a new name variant", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.name-variant.notification.confirm": "Save a new name variant", + + // "submission.sections.describe.relationship-lookup.name-variant.notification.decline": "Use only for this submission", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.name-variant.notification.decline": "Use only for this submission", + + // "submission.sections.ccLicense.type": "License Type", + // TODO New key - Add a translation + "submission.sections.ccLicense.type": "License Type", + + // "submission.sections.ccLicense.select": "Select a license type…", + // TODO New key - Add a translation + "submission.sections.ccLicense.select": "Select a license type…", + + // "submission.sections.ccLicense.change": "Change your license type…", + // TODO New key - Add a translation + "submission.sections.ccLicense.change": "Change your license type…", + + // "submission.sections.ccLicense.none": "No licenses available", + // TODO New key - Add a translation + "submission.sections.ccLicense.none": "No licenses available", + + // "submission.sections.ccLicense.option.select": "Select an option…", + // TODO New key - Add a translation + "submission.sections.ccLicense.option.select": "Select an option…", + + // "submission.sections.ccLicense.link": "You’ve selected the following license:", + // TODO New key - Add a translation + "submission.sections.ccLicense.link": "You’ve selected the following license:", + + // "submission.sections.ccLicense.confirmation": "I grant the license above", + // TODO New key - Add a translation + "submission.sections.ccLicense.confirmation": "I grant the license above", + + // "submission.sections.general.add-more": "Add more", + "submission.sections.general.add-more": "Agregar más", + + // "submission.sections.general.collection": "Collection", + "submission.sections.general.collection": "Colección", + + // "submission.sections.general.deposit_error_notice": "There was an issue when submitting the item, please try again later.", + "submission.sections.general.deposit_error_notice": "Hubo un problema al enviar el artículo, inténtelo más tarde.", + + // "submission.sections.general.deposit_success_notice": "Submission deposited successfully.", + "submission.sections.general.deposit_success_notice": "Envío depositado exitosamente.", + + // "submission.sections.general.discard_error_notice": "There was an issue when discarding the item, please try again later.", + "submission.sections.general.discard_error_notice": "Hubo un problema cuando se descartó el ítem, inténtelo más tarde.", + + // "submission.sections.general.discard_success_notice": "Submission discarded successfully.", + "submission.sections.general.discard_success_notice": "Envío descartado exitosamente.", + + // "submission.sections.general.metadata-extracted": "New metadata have been extracted and added to the {{sectionId}} section.", + "submission.sections.general.metadata-extracted": "Nueva metadata ha sido extraída y agregada a la sección {{sectionId}}.", + + // "submission.sections.general.metadata-extracted-new-section": "New {{sectionId}} section has been added to submission.", + "submission.sections.general.metadata-extracted-new-section": "Nueva sección {{sectionId}} ha sido enviada.", + + // "submission.sections.general.no-collection": "No collection found", + "submission.sections.general.no-collection": "Nueva colección enviada", + + // "submission.sections.general.no-sections": "No options available", + "submission.sections.general.no-sections": "No hay opciones disponibles", + + // "submission.sections.general.save_error_notice": "There was an issue when saving the item, please try again later.", + "submission.sections.general.save_error_notice": "Hubo un problema cuando se guardó el ítem, inténtelo más tarde.", + + // "submission.sections.general.save_success_notice": "Submission saved successfully.", + "submission.sections.general.save_success_notice": "Envío guardado exitosamente.", + + // "submission.sections.general.search-collection": "Search for a collection", + "submission.sections.general.search-collection": "Search for a collection", + + // "submission.sections.general.sections_not_valid": "There are incomplete sections.", + "submission.sections.general.sections_not_valid": "Existen secciones incompletas.", + + + + // "submission.sections.submit.progressbar.CClicense": "Creative commons license", + // TODO New key - Add a translation + "submission.sections.submit.progressbar.CClicense": "Creative commons license", + + // "submission.sections.submit.progressbar.describe.recycle": "Recycle", + "submission.sections.submit.progressbar.describe.recycle": "Reciclar", + + // "submission.sections.submit.progressbar.describe.stepcustom": "Describe", + "submission.sections.submit.progressbar.describe.stepcustom": "Describir", + + // "submission.sections.submit.progressbar.describe.stepone": "Describe", + "submission.sections.submit.progressbar.describe.stepone": "Describir", + + // "submission.sections.submit.progressbar.describe.steptwo": "Describe", + "submission.sections.submit.progressbar.describe.steptwo": "Describir", + + // "submission.sections.submit.progressbar.detect-duplicate": "Potential duplicates", + "submission.sections.submit.progressbar.detect-duplicate": "Posibles duplicados", + + // "submission.sections.submit.progressbar.license": "Deposit license", + "submission.sections.submit.progressbar.license": "Licencia de depósito", + + // "submission.sections.submit.progressbar.upload": "Upload files", + "submission.sections.submit.progressbar.upload": "Subir archivos", + + + + // "submission.sections.upload.delete.confirm.cancel": "Cancel", + "submission.sections.upload.delete.confirm.cancel": "Cancelar", + + // "submission.sections.upload.delete.confirm.info": "This operation can't be undone. Are you sure?", + "submission.sections.upload.delete.confirm.info": "Esta operación no se puede deshacer. Está seguro?", + + // "submission.sections.upload.delete.confirm.submit": "Yes, I'm sure", + "submission.sections.upload.delete.confirm.submit": "Si, Estoy seguro", + + // "submission.sections.upload.delete.confirm.title": "Delete bitstream", + "submission.sections.upload.delete.confirm.title": "Eliminar archivo", + + // "submission.sections.upload.delete.submit": "Delete", + "submission.sections.upload.delete.submit": "Eliminar", + + // "submission.sections.upload.drop-message": "Drop files to attach them to the item", + "submission.sections.upload.drop-message": "Bajar archivos para adjuntarlos al ítem", + + // "submission.sections.upload.form.access-condition-label": "Access condition type", + "submission.sections.upload.form.access-condition-label": "Tipo de condición de acceso", + + // "submission.sections.upload.form.date-required": "Date is required.", + "submission.sections.upload.form.date-required": "La fecha es requerida.", + + // "submission.sections.upload.form.from-label": "Grant access from", + // TODO Source message changed - Revise the translation + "submission.sections.upload.form.from-label": "Concesión de acceso desde", + + // "submission.sections.upload.form.from-placeholder": "From", + "submission.sections.upload.form.from-placeholder": "Desde", + + // "submission.sections.upload.form.group-label": "Group", + "submission.sections.upload.form.group-label": "Grupo", + + // "submission.sections.upload.form.group-required": "Group is required.", + "submission.sections.upload.form.group-required": "El Grupo es requerido.", + + // "submission.sections.upload.form.until-label": "Grant access until", + // TODO Source message changed - Revise the translation + "submission.sections.upload.form.until-label": "Concesión de acceso hasta", + + // "submission.sections.upload.form.until-placeholder": "Until", + "submission.sections.upload.form.until-placeholder": "Hasta", + + // "submission.sections.upload.header.policy.default.nolist": "Uploaded files in the {{collectionName}} collection will be accessible according to the following group(s):", + "submission.sections.upload.header.policy.default.nolist": "Archivos subidos a la colección {{collectionName}} serán accesibles según el siguiente grupo(s):", + + // "submission.sections.upload.header.policy.default.withlist": "Please note that uploaded files in the {{collectionName}} collection will be accessible, in addition to what is explicitly decided for the single file, with the following group(s):", + "submission.sections.upload.header.policy.default.withlist": "Tenga en cuenta que los archivos cargados en la colección {{collectionName}} serán accesibles, además de lo que se decida explísitamente para el único archivo con el siguiente grupo(s):", + + // "submission.sections.upload.info": "Here you will find all the files currently in the item. You can update the file metadata and access conditions or upload additional files just dragging & dropping them everywhere in the page", + "submission.sections.upload.info": "Aquí encontrará todos los archivos aque actualmente están en el ítem.. Puede actualizar los metadatos del archivo y las condiciones de acceso o cargar los archivos adicionales simplemente arrastrándolos y soltándolos en cualquier parte de la página", + + // "submission.sections.upload.no-entry": "No", + "submission.sections.upload.no-entry": "No", + + // "submission.sections.upload.no-file-uploaded": "No file uploaded yet.", + "submission.sections.upload.no-file-uploaded": "Todavía no hay archivos cargados.", + + // "submission.sections.upload.save-metadata": "Save metadata", + "submission.sections.upload.save-metadata": "Metadatos guardados", + + // "submission.sections.upload.undo": "Cancel", + "submission.sections.upload.undo": "Cancelar", + + // "submission.sections.upload.upload-failed": "Upload failed", + "submission.sections.upload.upload-failed": "Falla en la carga", + + // "submission.sections.upload.upload-successful": "Upload successful", + "submission.sections.upload.upload-successful": "Carga exitosa", + + + + // "submission.submit.title": "Submission", + "submission.submit.title": "Envío", + + + + // "submission.workflow.generic.delete": "Delete", + "submission.workflow.generic.delete": "Eliminar", + + // "submission.workflow.generic.delete-help": "If you would to discard this item, select \"Delete\". You will then be asked to confirm it.", + "submission.workflow.generic.delete-help": "Si desea descartar este ítem, seleccion \"Eliminar\". Después se solicitará que confirme.", + + // "submission.workflow.generic.edit": "Edit", + "submission.workflow.generic.edit": "Editar", + + // "submission.workflow.generic.edit-help": "Select this option to change the item's metadata.", + "submission.workflow.generic.edit-help": "Seleccione la opción para cambiar los metadatos del ítem.", + + // "submission.workflow.generic.view": "View", + "submission.workflow.generic.view": "Ver", + + // "submission.workflow.generic.view-help": "Select this option to view the item's metadata.", + "submission.workflow.generic.view-help": "Seleccion esta opción para visualizar los metadatos del ítem.", + + + + // "submission.workflow.tasks.claimed.approve": "Approve", + "submission.workflow.tasks.claimed.approve": "Aprobar", + + // "submission.workflow.tasks.claimed.approve_help": "If you have reviewed the item and it is suitable for inclusion in the collection, select \"Approve\".", + "submission.workflow.tasks.claimed.approve_help": "Si ha revisado el ítem y es adecuado para su inclusión en la colección., seleccione \"Aprobar\".", + + // "submission.workflow.tasks.claimed.edit": "Edit", + "submission.workflow.tasks.claimed.edit": "Editar", + + // "submission.workflow.tasks.claimed.edit_help": "Select this option to change the item's metadata.", + "submission.workflow.tasks.claimed.edit_help": "Seleccione esta opción para cambiar los metadatos del ítem.", + + // "submission.workflow.tasks.claimed.reject.reason.info": "Please enter your reason for rejecting the submission into the box below, indicating whether the submitter may fix a problem and resubmit.", + "submission.workflow.tasks.claimed.reject.reason.info": "Favor ingrese abajo su motivo para rechazar el envío, indicando si el remitente puede solucionar un problema y volver a enviar.", + + // "submission.workflow.tasks.claimed.reject.reason.placeholder": "Describe the reason of reject", + "submission.workflow.tasks.claimed.reject.reason.placeholder": "Describe el motivo del rechazo", + + // "submission.workflow.tasks.claimed.reject.reason.submit": "Reject item", + "submission.workflow.tasks.claimed.reject.reason.submit": "Rechazar el 'item", + + // "submission.workflow.tasks.claimed.reject.reason.title": "Reason", + "submission.workflow.tasks.claimed.reject.reason.title": "Razón", + + // "submission.workflow.tasks.claimed.reject.submit": "Reject", + "submission.workflow.tasks.claimed.reject.submit": "Rechazar", + + // "submission.workflow.tasks.claimed.reject_help": "If you have reviewed the item and found it is not suitable for inclusion in the collection, select \"Reject\". You will then be asked to enter a message indicating why the item is unsuitable, and whether the submitter should change something and resubmit.", + "submission.workflow.tasks.claimed.reject_help": "Si ha revisado el ítem y ha encontrado que no es adecuado para su inclusión en la colección, seleccione \"Rechazar\". Después se le pedirá que ingrese un mensaje que indique por qué el ítem no es adecuado y si el remitente debe cambiar algo y volver a enviarlo.", + + // "submission.workflow.tasks.claimed.return": "Return to pool", + "submission.workflow.tasks.claimed.return": "Regresar al pool", + + // "submission.workflow.tasks.claimed.return_help": "Return the task to the pool so that another user may perform the task.", + "submission.workflow.tasks.claimed.return_help": "Devolver la tarea al pool para que otro usuario pueda realizar la tarea..", + + + + // "submission.workflow.tasks.generic.error": "Error occurred during operation...", + "submission.workflow.tasks.generic.error": "Ha ocurrido un error durante la operación...", + + // "submission.workflow.tasks.generic.processing": "Processing...", + "submission.workflow.tasks.generic.processing": "Procesando...", + + // "submission.workflow.tasks.generic.submitter": "Submitter", + "submission.workflow.tasks.generic.submitter": "Remitente", + + // "submission.workflow.tasks.generic.success": "Operation successful", + "submission.workflow.tasks.generic.success": "Operación exitosa", + + + + // "submission.workflow.tasks.pool.claim": "Claim", + "submission.workflow.tasks.pool.claim": "Reclamar", + + // "submission.workflow.tasks.pool.claim_help": "Assign this task to yourself.", + "submission.workflow.tasks.pool.claim_help": "Asígnese esta tarea a usted mismo.", + + // "submission.workflow.tasks.pool.hide-detail": "Hide detail", + "submission.workflow.tasks.pool.hide-detail": "Ocultar detalles", + + // "submission.workflow.tasks.pool.show-detail": "Show detail", + "submission.workflow.tasks.pool.show-detail": "Mostrar detalles", + + + + // "title": "DSpace", + "title": "DSpace", + + + + // "vocabulary-treeview.header": "Hierarchical tree view", + // TODO New key - Add a translation + "vocabulary-treeview.header": "Hierarchical tree view", + + // "vocabulary-treeview.load-more": "Load more", + // TODO New key - Add a translation + "vocabulary-treeview.load-more": "Load more", + + // "vocabulary-treeview.search.form.reset": "Reset", + // TODO New key - Add a translation + "vocabulary-treeview.search.form.reset": "Reset", + + // "vocabulary-treeview.search.form.search": "Search", + // TODO New key - Add a translation + "vocabulary-treeview.search.form.search": "Search", + + // "vocabulary-treeview.search.no-result": "There were no items to show", + // TODO New key - Add a translation + "vocabulary-treeview.search.no-result": "There were no items to show", + + // "vocabulary-treeview.tree.description.nsi": "The Norwegian Science Index", + // TODO New key - Add a translation + "vocabulary-treeview.tree.description.nsi": "The Norwegian Science Index", + + // "vocabulary-treeview.tree.description.srsc": "Research Subject Categories", + // TODO New key - Add a translation + "vocabulary-treeview.tree.description.srsc": "Research Subject Categories", + + + // "uploader.browse": "browse", "uploader.browse": "navegar", - + // "uploader.drag-message": "Drag & Drop your files here", "uploader.drag-message": "Arrastrar y soltar sus archivos aquí", - - // "uploader.or": ", or", + + // "uploader.or": ", or ", + // TODO Source message changed - Revise the translation "uploader.or": ", o", - + // "uploader.processing": "Processing", "uploader.processing": "Procesando", - + // "uploader.queue-length": "Queue length", "uploader.queue-length": "Longitud de la cola", - + // "virtual-metadata.delete-item.info": "Select the types for which you want to save the virtual metadata as real metadata", // TODO New key - Add a translation "virtual-metadata.delete-item.info": "Select the types for which you want to save the virtual metadata as real metadata", - + // "virtual-metadata.delete-item.modal-head": "The virtual metadata of this relation", // TODO New key - Add a translation "virtual-metadata.delete-item.modal-head": "The virtual metadata of this relation", - + // "virtual-metadata.delete-relationship.modal-head": "Select the items for which you want to save the virtual metadata as real metadata", // TODO New key - Add a translation "virtual-metadata.delete-relationship.modal-head": "Select the items for which you want to save the virtual metadata as real metadata", + + + + // "workflowAdmin.search.results.head": "Administer Workflow", + // TODO New key - Add a translation + "workflowAdmin.search.results.head": "Administer Workflow", + + + + // "workflow-item.delete.notification.success.title": "Deleted", + // TODO New key - Add a translation + "workflow-item.delete.notification.success.title": "Deleted", + + // "workflow-item.delete.notification.success.content": "This workflow item was successfully deleted", + // TODO New key - Add a translation + "workflow-item.delete.notification.success.content": "This workflow item was successfully deleted", + + // "workflow-item.delete.notification.error.title": "Something went wrong", + // TODO New key - Add a translation + "workflow-item.delete.notification.error.title": "Something went wrong", + + // "workflow-item.delete.notification.error.content": "The workflow item could not be deleted", + // TODO New key - Add a translation + "workflow-item.delete.notification.error.content": "The workflow item could not be deleted", + + // "workflow-item.delete.title": "Delete workflow item", + // TODO New key - Add a translation + "workflow-item.delete.title": "Delete workflow item", + + // "workflow-item.delete.header": "Delete workflow item", + // TODO New key - Add a translation + "workflow-item.delete.header": "Delete workflow item", + + // "workflow-item.delete.button.cancel": "Cancel", + // TODO New key - Add a translation + "workflow-item.delete.button.cancel": "Cancel", + + // "workflow-item.delete.button.confirm": "Delete", + // TODO New key - Add a translation + "workflow-item.delete.button.confirm": "Delete", + + + // "workflow-item.send-back.notification.success.title": "Sent back to submitter", + // TODO New key - Add a translation + "workflow-item.send-back.notification.success.title": "Sent back to submitter", + + // "workflow-item.send-back.notification.success.content": "This workflow item was successfully sent back to the submitter", + // TODO New key - Add a translation + "workflow-item.send-back.notification.success.content": "This workflow item was successfully sent back to the submitter", + + // "workflow-item.send-back.notification.error.title": "Something went wrong", + // TODO New key - Add a translation + "workflow-item.send-back.notification.error.title": "Something went wrong", + + // "workflow-item.send-back.notification.error.content": "The workflow item could not be sent back to the submitter", + // TODO New key - Add a translation + "workflow-item.send-back.notification.error.content": "The workflow item could not be sent back to the submitter", + + // "workflow-item.send-back.title": "Send workflow item back to submitter", + // TODO New key - Add a translation + "workflow-item.send-back.title": "Send workflow item back to submitter", + + // "workflow-item.send-back.header": "Send workflow item back to submitter", + // TODO New key - Add a translation + "workflow-item.send-back.header": "Send workflow item back to submitter", + + // "workflow-item.send-back.button.cancel": "Cancel", + // TODO New key - Add a translation + "workflow-item.send-back.button.cancel": "Cancel", + + // "workflow-item.send-back.button.confirm": "Send back" + // TODO New key - Add a translation + "workflow-item.send-back.button.confirm": "Send back" + - - -} +} \ No newline at end of file diff --git a/src/assets/i18n/fi.json5 b/src/assets/i18n/fi.json5 index 24946bfb0c..4932e49bbc 100644 --- a/src/assets/i18n/fi.json5 +++ b/src/assets/i18n/fi.json5 @@ -1,5 +1,33 @@ { + // "401.help": "You're not authorized to access this page. You can use the button below to get back to the home page.", + // TODO New key - Add a translation + "401.help": "You're not authorized to access this page. You can use the button below to get back to the home page.", + + // "401.link.home-page": "Take me to the home page", + // TODO New key - Add a translation + "401.link.home-page": "Take me to the home page", + + // "401.unauthorized": "unauthorized", + // TODO New key - Add a translation + "401.unauthorized": "unauthorized", + + + + // "403.help": "You don't have permission to access this page. You can use the button below to get back to the home page.", + // TODO New key - Add a translation + "403.help": "You don't have permission to access this page. You can use the button below to get back to the home page.", + + // "403.link.home-page": "Take me to the home page", + // TODO New key - Add a translation + "403.link.home-page": "Take me to the home page", + + // "403.forbidden": "forbidden", + // TODO New key - Add a translation + "403.forbidden": "forbidden", + + + // "404.help": "We can't find the page you're looking for. The page may have been moved or deleted. You can use the button below to get back to the home page. ", "404.help": "Hakemaasi sivua ei löytynyt. Sivu on voitu siirtää tai poistaa. Painamalla alapuolella olevaa nappia palaat kotisivulle. ", @@ -9,7 +37,25 @@ // "404.page-not-found": "page not found", "404.page-not-found": "sivua ei löytynyt", + // "admin.curation-tasks.breadcrumbs": "System curation tasks", + // TODO New key - Add a translation + "admin.curation-tasks.breadcrumbs": "System curation tasks", + // "admin.curation-tasks.title": "System curation tasks", + // TODO New key - Add a translation + "admin.curation-tasks.title": "System curation tasks", + + // "admin.curation-tasks.header": "System curation tasks", + // TODO New key - Add a translation + "admin.curation-tasks.header": "System curation tasks", + + // "admin.registries.bitstream-formats.breadcrumbs": "Format registry", + // TODO New key - Add a translation + "admin.registries.bitstream-formats.breadcrumbs": "Format registry", + + // "admin.registries.bitstream-formats.create.breadcrumbs": "Bitstream format", + // TODO New key - Add a translation + "admin.registries.bitstream-formats.create.breadcrumbs": "Bitstream format", // "admin.registries.bitstream-formats.create.failure.content": "An error occurred while creating the new bitstream format.", "admin.registries.bitstream-formats.create.failure.content": "Virhe uutta tiedostoformaattia luotaessa.", @@ -44,6 +90,10 @@ // "admin.registries.bitstream-formats.description": "This list of bitstream formats provides information about known formats and their support level.", "admin.registries.bitstream-formats.description": "Tässä luetellaan tiedostoformaatit ja niiden tukitasot.", + // "admin.registries.bitstream-formats.edit.breadcrumbs": "Bitstream format", + // TODO New key - Add a translation + "admin.registries.bitstream-formats.edit.breadcrumbs": "Bitstream format", + // "admin.registries.bitstream-formats.edit.description.hint": "", "admin.registries.bitstream-formats.edit.description.hint": "", @@ -139,6 +189,10 @@ + // "admin.registries.metadata.breadcrumbs": "Metadata registry", + // TODO New key - Add a translation + "admin.registries.metadata.breadcrumbs": "Metadata registry", + // "admin.registries.metadata.description": "The metadata registry maintains a list of all metadata fields available in the repository. These fields may be divided amongst multiple schemas. However, DSpace requires the qualified Dublin Core schema.", "admin.registries.metadata.description": "Metadatarekisteriin on koottu tässä julkaisuarkistossa käytössä olevat metadatakentät. Kentät voivat jakautua eri skeemoihin. DSpace-alusta edellyttää Qualified Dublin Core -skeeman käyttöä.", @@ -177,6 +231,10 @@ + // "admin.registries.schema.breadcrumbs": "Metadata schema", + // TODO New key - Add a translation + "admin.registries.schema.breadcrumbs": "Metadata schema", + // "admin.registries.schema.description": "This is the metadata schema for \"{{namespace}}\".", "admin.registries.schema.description": "Tämä on metadataskeema \"{{namespace}}\"-nimiavaruudelle.", @@ -251,6 +309,22 @@ + // "admin.access-control.epeople.actions.delete": "Delete EPerson", + // TODO New key - Add a translation + "admin.access-control.epeople.actions.delete": "Delete EPerson", + + // "admin.access-control.epeople.actions.impersonate": "Impersonate EPerson", + // TODO New key - Add a translation + "admin.access-control.epeople.actions.impersonate": "Impersonate EPerson", + + // "admin.access-control.epeople.actions.reset": "Reset password", + // TODO New key - Add a translation + "admin.access-control.epeople.actions.reset": "Reset password", + + // "admin.access-control.epeople.actions.stop-impersonating": "Stop impersonating EPerson", + // TODO New key - Add a translation + "admin.access-control.epeople.actions.stop-impersonating": "Stop impersonating EPerson", + // "admin.access-control.epeople.title": "DSpace Angular :: EPeople", "admin.access-control.epeople.title": "DSpace Angular :: Käyttäjät", @@ -338,6 +412,14 @@ // "admin.access-control.epeople.form.notification.edited.failure": "Failed to edit EPerson \"{{name}}\"", "admin.access-control.epeople.form.notification.edited.failure": "Käyttäjän \"{{name}}\" muokkaus epäonnistui", + // "admin.access-control.epeople.form.notification.deleted.success": "Successfully deleted EPerson \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.epeople.form.notification.deleted.success": "Successfully deleted EPerson \"{{name}}\"", + + // "admin.access-control.epeople.form.notification.deleted.failure": "Failed to delete EPerson \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.epeople.form.notification.deleted.failure": "Failed to delete EPerson \"{{name}}\"", + // "admin.access-control.epeople.form.groupsEPersonIsMemberOf": "Member of these groups:", "admin.access-control.epeople.form.groupsEPersonIsMemberOf": "Jäsenenä näissä ryhmissä:", @@ -364,6 +446,14 @@ // "admin.access-control.groups.title": "DSpace Angular :: Groups", "admin.access-control.groups.title": "DSpace Angular :: Ryhmät", + // "admin.access-control.groups.title.singleGroup": "DSpace Angular :: Edit Group", + // TODO New key - Add a translation + "admin.access-control.groups.title.singleGroup": "DSpace Angular :: Edit Group", + + // "admin.access-control.groups.title.addGroup": "DSpace Angular :: New Group", + // TODO New key - Add a translation + "admin.access-control.groups.title.addGroup": "DSpace Angular :: New Group", + // "admin.access-control.groups.head": "Groups", "admin.access-control.groups.head": "Ryhmät", @@ -388,9 +478,6 @@ // "admin.access-control.groups.table.members": "Members", "admin.access-control.groups.table.members": "Jäsenet", - // "admin.access-control.groups.table.comcol": "Community / Collection", - "admin.access-control.groups.table.comcol": "Yhteisö / Kokoelma", - // "admin.access-control.groups.table.edit": "Edit", "admin.access-control.groups.table.edit": "Muokkaa", @@ -406,9 +493,23 @@ // "admin.access-control.groups.notification.deleted.success": "Successfully deleted group \"{{name}}\"", "admin.access-control.groups.notification.deleted.success": "Ryhmä \"{{name}}\" poistettu", - // "admin.access-control.groups.notification.deleted.failure": "Failed to delete group \"{{name}}\"", - "admin.access-control.groups.notification.deleted.failure": "Ryhmän \"{{name}}\" poisto epäonnistui", + // "admin.access-control.groups.notification.deleted.failure.title": "Failed to delete group \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.groups.notification.deleted.failure.title": "Failed to delete group \"{{name}}\"", + // "admin.access-control.groups.notification.deleted.failure.content": "Cause: \"{{cause}}\"", + // TODO New key - Add a translation + "admin.access-control.groups.notification.deleted.failure.content": "Cause: \"{{cause}}\"", + + + + // "admin.access-control.groups.form.alert.permanent": "This group is permanent, so it can't be edited or deleted. You can still add and remove group members using this page.", + // TODO New key - Add a translation + "admin.access-control.groups.form.alert.permanent": "This group is permanent, so it can't be edited or deleted. You can still add and remove group members using this page.", + + // "admin.access-control.groups.form.alert.workflowGroup": "This group can’t be modified or deleted because it corresponds to a role in the submission and workflow process in the \"{{name}}\" {{comcol}}. You can delete it from the \"assign roles\" tab on the edit {{comcol}} page. You can still add and remove group members using this page.", + // TODO New key - Add a translation + "admin.access-control.groups.form.alert.workflowGroup": "This group can’t be modified or deleted because it corresponds to a role in the submission and workflow process in the \"{{name}}\" {{comcol}}. You can delete it from the \"assign roles\" tab on the edit {{comcol}} page. You can still add and remove group members using this page.", // "admin.access-control.groups.form.head.create": "Create group", "admin.access-control.groups.form.head.create": "Luo ryhmä", @@ -431,6 +532,50 @@ // "admin.access-control.groups.form.notification.created.failure.groupNameInUse": "Failed to create Group with name: \"{{name}}\", make sure the name is not already in use.", "admin.access-control.groups.form.notification.created.failure.groupNameInUse": "Ryhmän \"{{name}}\" luonti epäonnistui. Tarkista, että nimi ei ole käytössä.", + // "admin.access-control.groups.form.notification.edited.failure": "Failed to edit Group \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.edited.failure": "Failed to edit Group \"{{name}}\"", + + // "admin.access-control.groups.form.notification.edited.failure.groupNameInUse": "Name \"{{name}}\" already in use!", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.edited.failure.groupNameInUse": "Name \"{{name}}\" already in use!", + + // "admin.access-control.groups.form.notification.edited.success": "Successfully edited Group \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.edited.success": "Successfully edited Group \"{{name}}\"", + + // "admin.access-control.groups.form.actions.delete": "Delete Group", + // TODO New key - Add a translation + "admin.access-control.groups.form.actions.delete": "Delete Group", + + // "admin.access-control.groups.form.delete-group.modal.header": "Delete Group \"{{ dsoName }}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.delete-group.modal.header": "Delete Group \"{{ dsoName }}\"", + + // "admin.access-control.groups.form.delete-group.modal.info": "Are you sure you want to delete Group \"{{ dsoName }}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.delete-group.modal.info": "Are you sure you want to delete Group \"{{ dsoName }}\"", + + // "admin.access-control.groups.form.delete-group.modal.cancel": "Cancel", + // TODO New key - Add a translation + "admin.access-control.groups.form.delete-group.modal.cancel": "Cancel", + + // "admin.access-control.groups.form.delete-group.modal.confirm": "Delete", + // TODO New key - Add a translation + "admin.access-control.groups.form.delete-group.modal.confirm": "Delete", + + // "admin.access-control.groups.form.notification.deleted.success": "Successfully deleted group \"{{ name }}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.deleted.success": "Successfully deleted group \"{{ name }}\"", + + // "admin.access-control.groups.form.notification.deleted.failure.title": "Failed to delete group \"{{ name }}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.deleted.failure.title": "Failed to delete group \"{{ name }}\"", + + // "admin.access-control.groups.form.notification.deleted.failure.content": "Cause: \"{{ cause }}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.deleted.failure.content": "Cause: \"{{ cause }}\"", + // "admin.access-control.groups.form.members-list.head": "EPeople", "admin.access-control.groups.form.members-list.head": "Käyttäjät", @@ -488,6 +633,10 @@ // "admin.access-control.groups.form.members-list.no-items": "No EPeople found in that search", "admin.access-control.groups.form.members-list.no-items": "Haku ei palauttanut käyttäjiä", + // "admin.access-control.groups.form.subgroups-list.notification.failure": "Something went wrong: \"{{cause}}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.subgroups-list.notification.failure": "Something went wrong: \"{{cause}}\"", + // "admin.access-control.groups.form.subgroups-list.head": "Groups", "admin.access-control.groups.form.subgroups-list.head": "Ryhmät", @@ -574,21 +723,80 @@ // "admin.search.item.move": "Move", "admin.search.item.move": "Siirrä", - // "admin.search.item.private": "Private", - "admin.search.item.private": "Yksityinen", - // "admin.search.item.reinstate": "Reinstate", "admin.search.item.reinstate": "Palauta käyttöön", // "admin.search.item.withdraw": "Withdraw", "admin.search.item.withdraw": "Poista käytöstä", - // "admin.search.item.withdrawn": "Withdrawn", - "admin.search.item.withdrawn": "Poistettu käytöstä", - // "admin.search.title": "Administrative Search", "admin.search.title": "Hallinnollinen haku", + // "administrativeView.search.results.head": "Administrative Search", + "administrativeView.search.results.head": "Hallinnollinen haku", + + + + + // "admin.workflow.breadcrumbs": "Administer Workflow", + // TODO New key - Add a translation + "admin.workflow.breadcrumbs": "Administer Workflow", + + // "admin.workflow.title": "Administer Workflow", + // TODO New key - Add a translation + "admin.workflow.title": "Administer Workflow", + + // "admin.workflow.item.workflow": "Workflow", + // TODO New key - Add a translation + "admin.workflow.item.workflow": "Workflow", + + // "admin.workflow.item.delete": "Delete", + // TODO New key - Add a translation + "admin.workflow.item.delete": "Delete", + + // "admin.workflow.item.send-back": "Send back", + // TODO New key - Add a translation + "admin.workflow.item.send-back": "Send back", + + + + // "admin.metadata-import.breadcrumbs": "Import Metadata", + // TODO New key - Add a translation + "admin.metadata-import.breadcrumbs": "Import Metadata", + + // "admin.metadata-import.title": "Import Metadata", + // TODO New key - Add a translation + "admin.metadata-import.title": "Import Metadata", + + // "admin.metadata-import.page.header": "Import Metadata", + // TODO New key - Add a translation + "admin.metadata-import.page.header": "Import Metadata", + + // "admin.metadata-import.page.help": "You can drop or browse CSV files that contain batch metadata operations on files here", + // TODO New key - Add a translation + "admin.metadata-import.page.help": "You can drop or browse CSV files that contain batch metadata operations on files here", + + // "admin.metadata-import.page.dropMsg": "Drop a metadata CSV to import", + // TODO New key - Add a translation + "admin.metadata-import.page.dropMsg": "Drop a metadata CSV to import", + + // "admin.metadata-import.page.dropMsgReplace": "Drop to replace the metadata CSV to import", + // TODO New key - Add a translation + "admin.metadata-import.page.dropMsgReplace": "Drop to replace the metadata CSV to import", + + // "admin.metadata-import.page.button.return": "Return", + // TODO New key - Add a translation + "admin.metadata-import.page.button.return": "Return", + + // "admin.metadata-import.page.button.proceed": "Proceed", + // TODO New key - Add a translation + "admin.metadata-import.page.button.proceed": "Proceed", + + // "admin.metadata-import.page.error.addFile": "Select file first!", + // TODO New key - Add a translation + "admin.metadata-import.page.error.addFile": "Select file first!", + + // "auth.errors.invalid-user": "Invalid email address or password.", @@ -769,6 +977,10 @@ // "collection.create.sub-head": "Create a Collection for Community {{ parent }}", "collection.create.sub-head": "Luo kokoelma {{ parent }}-yhteisöön", + // "collection.curate.header": "Curate Collection: {{collection}}", + // TODO New key - Add a translation + "collection.curate.header": "Curate Collection: {{collection}}", + // "collection.delete.cancel": "Cancel", "collection.delete.cancel": "Peruuta", @@ -800,6 +1012,14 @@ + // "collection.edit.tabs.mapper.head": "Item Mapper", + // TODO New key - Add a translation + "collection.edit.tabs.mapper.head": "Item Mapper", + + // "collection.edit.tabs.item-mapper.title": "Collection Edit - Item Mapper", + // TODO New key - Add a translation + "collection.edit.tabs.item-mapper.title": "Collection Edit - Item Mapper", + // "collection.edit.item-mapper.cancel": "Cancel", "collection.edit.item-mapper.cancel": "Peruuta", @@ -890,6 +1110,14 @@ // "collection.edit.tabs.curate.title": "Collection Edit - Curate", "collection.edit.tabs.curate.title": "Kokoelman muokkaus - Kuratoi", + // "collection.edit.tabs.authorizations.head": "Authorizations", + // TODO New key - Add a translation + "collection.edit.tabs.authorizations.head": "Authorizations", + + // "collection.edit.tabs.authorizations.title": "Collection Edit - Authorizations", + // TODO New key - Add a translation + "collection.edit.tabs.authorizations.title": "Collection Edit - Authorizations", + // "collection.edit.tabs.metadata.head": "Edit Metadata", "collection.edit.tabs.metadata.head": "Muokkaa metadataa", @@ -958,6 +1186,48 @@ + // "collection.edit.template.add-button": "Add", + // TODO New key - Add a translation + "collection.edit.template.add-button": "Add", + + // "collection.edit.template.breadcrumbs": "Item template", + // TODO New key - Add a translation + "collection.edit.template.breadcrumbs": "Item template", + + // "collection.edit.template.cancel": "Cancel", + // TODO New key - Add a translation + "collection.edit.template.cancel": "Cancel", + + // "collection.edit.template.delete-button": "Delete", + // TODO New key - Add a translation + "collection.edit.template.delete-button": "Delete", + + // "collection.edit.template.edit-button": "Edit", + // TODO New key - Add a translation + "collection.edit.template.edit-button": "Edit", + + // "collection.edit.template.head": "Edit Template Item for Collection \"{{ collection }}\"", + // TODO New key - Add a translation + "collection.edit.template.head": "Edit Template Item for Collection \"{{ collection }}\"", + + // "collection.edit.template.label": "Template item", + // TODO New key - Add a translation + "collection.edit.template.label": "Template item", + + // "collection.edit.template.notifications.delete.error": "Failed to delete the item template", + // TODO New key - Add a translation + "collection.edit.template.notifications.delete.error": "Failed to delete the item template", + + // "collection.edit.template.notifications.delete.success": "Successfully deleted the item template", + // TODO New key - Add a translation + "collection.edit.template.notifications.delete.success": "Successfully deleted the item template", + + // "collection.edit.template.title": "Edit Template Item", + // TODO New key - Add a translation + "collection.edit.template.title": "Edit Template Item", + + + // "collection.form.abstract": "Short Description", "collection.form.abstract": "Lyhyt kuvaus", @@ -984,12 +1254,22 @@ + // "collection.listelement.badge": "Collection", + // TODO New key - Add a translation + "collection.listelement.badge": "Collection", + + + // "collection.page.browse.recent.head": "Recent Submissions", "collection.page.browse.recent.head": "Viimeksi lisätyt", // "collection.page.browse.recent.empty": "No items to show", "collection.page.browse.recent.empty": "No items to show", + // "collection.page.edit": "Edit this collection", + // TODO New key - Add a translation + "collection.page.edit": "Edit this collection", + // "collection.page.handle": "Permanent URI for this collection", "collection.page.handle": "Kokoelman pysyvä URL-osoite", @@ -1040,6 +1320,10 @@ // "community.create.sub-head": "Create a Sub-Community for Community {{ parent }}", "community.create.sub-head": "Luo alayhteisö {{ parent }}-yhteisölle", + // "community.curate.header": "Curate Community: {{community}}", + // TODO New key - Add a translation + "community.curate.header": "Curate Community: {{community}}", + // "community.delete.cancel": "Cancel", "community.delete.cancel": "Peruuta", @@ -1094,6 +1378,14 @@ // "community.edit.notifications.success": "Successfully edited the Community", "community.edit.notifications.success": "Yhteisön muokkaus onnistui", + // "community.edit.notifications.unauthorized": "You do not have privileges to make this change", + // TODO New key - Add a translation + "community.edit.notifications.unauthorized": "You do not have privileges to make this change", + + // "community.edit.notifications.error": "An error occured while editing the Community", + // TODO New key - Add a translation + "community.edit.notifications.error": "An error occured while editing the Community", + // "community.edit.return": "Return", "community.edit.return": "Palaa", @@ -1117,6 +1409,118 @@ // "community.edit.tabs.roles.title": "Community Edit - Roles", "community.edit.tabs.roles.title": "Yhteisön muokkaus - Roolit", + // "community.edit.tabs.authorizations.head": "Authorizations", + // TODO New key - Add a translation + "community.edit.tabs.authorizations.head": "Authorizations", + + // "community.edit.tabs.authorizations.title": "Community Edit - Authorizations", + // TODO New key - Add a translation + "community.edit.tabs.authorizations.title": "Community Edit - Authorizations", + + + + // "community.listelement.badge": "Community", + // TODO New key - Add a translation + "community.listelement.badge": "Community", + + + + // "comcol-role.edit.no-group": "None", + // TODO New key - Add a translation + "comcol-role.edit.no-group": "None", + + // "comcol-role.edit.create": "Create", + // TODO New key - Add a translation + "comcol-role.edit.create": "Create", + + // "comcol-role.edit.restrict": "Restrict", + // TODO New key - Add a translation + "comcol-role.edit.restrict": "Restrict", + + // "comcol-role.edit.delete": "Delete", + // TODO New key - Add a translation + "comcol-role.edit.delete": "Delete", + + + // "comcol-role.edit.community-admin.name": "Administrators", + // TODO New key - Add a translation + "comcol-role.edit.community-admin.name": "Administrators", + + // "comcol-role.edit.collection-admin.name": "Administrators", + // TODO New key - Add a translation + "comcol-role.edit.collection-admin.name": "Administrators", + + + // "comcol-role.edit.community-admin.description": "Community administrators can create sub-communities or collections, and manage or assign management for those sub-communities or collections. In addition, they decide who can submit items to any sub-collections, edit item metadata (after submission), and add (map) existing items from other collections (subject to authorization).", + // TODO New key - Add a translation + "comcol-role.edit.community-admin.description": "Community administrators can create sub-communities or collections, and manage or assign management for those sub-communities or collections. In addition, they decide who can submit items to any sub-collections, edit item metadata (after submission), and add (map) existing items from other collections (subject to authorization).", + + // "comcol-role.edit.collection-admin.description": "Collection administrators decide who can submit items to the collection, edit item metadata (after submission), and add (map) existing items from other collections to this collection (subject to authorization for that collection).", + // TODO New key - Add a translation + "comcol-role.edit.collection-admin.description": "Collection administrators decide who can submit items to the collection, edit item metadata (after submission), and add (map) existing items from other collections to this collection (subject to authorization for that collection).", + + + // "comcol-role.edit.submitters.name": "Submitters", + // TODO New key - Add a translation + "comcol-role.edit.submitters.name": "Submitters", + + // "comcol-role.edit.submitters.description": "The E-People and Groups that have permission to submit new items to this collection.", + // TODO New key - Add a translation + "comcol-role.edit.submitters.description": "The E-People and Groups that have permission to submit new items to this collection.", + + + // "comcol-role.edit.item_read.name": "Default item read access", + // TODO New key - Add a translation + "comcol-role.edit.item_read.name": "Default item read access", + + // "comcol-role.edit.item_read.description": "E-People and Groups that can read new items submitted to this collection. Changes to this role are not retroactive. Existing items in the system will still be viewable by those who had read access at the time of their addition.", + // TODO New key - Add a translation + "comcol-role.edit.item_read.description": "E-People and Groups that can read new items submitted to this collection. Changes to this role are not retroactive. Existing items in the system will still be viewable by those who had read access at the time of their addition.", + + // "comcol-role.edit.item_read.anonymous-group": "Default read for incoming items is currently set to Anonymous.", + // TODO New key - Add a translation + "comcol-role.edit.item_read.anonymous-group": "Default read for incoming items is currently set to Anonymous.", + + + // "comcol-role.edit.bitstream_read.name": "Default bitstream read access", + // TODO New key - Add a translation + "comcol-role.edit.bitstream_read.name": "Default bitstream read access", + + // "comcol-role.edit.bitstream_read.description": "Community administrators can create sub-communities or collections, and manage or assign management for those sub-communities or collections. In addition, they decide who can submit items to any sub-collections, edit item metadata (after submission), and add (map) existing items from other collections (subject to authorization).", + // TODO New key - Add a translation + "comcol-role.edit.bitstream_read.description": "Community administrators can create sub-communities or collections, and manage or assign management for those sub-communities or collections. In addition, they decide who can submit items to any sub-collections, edit item metadata (after submission), and add (map) existing items from other collections (subject to authorization).", + + // "comcol-role.edit.bitstream_read.anonymous-group": "Default read for incoming bitstreams is currently set to Anonymous.", + // TODO New key - Add a translation + "comcol-role.edit.bitstream_read.anonymous-group": "Default read for incoming bitstreams is currently set to Anonymous.", + + + // "comcol-role.edit.editor.name": "Editors", + // TODO New key - Add a translation + "comcol-role.edit.editor.name": "Editors", + + // "comcol-role.edit.editor.description": "Editors are able to edit the metadata of incoming submissions, and then accept or reject them.", + // TODO New key - Add a translation + "comcol-role.edit.editor.description": "Editors are able to edit the metadata of incoming submissions, and then accept or reject them.", + + + // "comcol-role.edit.finaleditor.name": "Final editors", + // TODO New key - Add a translation + "comcol-role.edit.finaleditor.name": "Final editors", + + // "comcol-role.edit.finaleditor.description": "Final editors are able to edit the metadata of incoming submissions, but will not be able to reject them.", + // TODO New key - Add a translation + "comcol-role.edit.finaleditor.description": "Final editors are able to edit the metadata of incoming submissions, but will not be able to reject them.", + + + // "comcol-role.edit.reviewer.name": "Reviewers", + // TODO New key - Add a translation + "comcol-role.edit.reviewer.name": "Reviewers", + + // "comcol-role.edit.reviewer.description": "Reviewers are able to accept or reject incoming submissions. However, they are not able to edit the submission's metadata.", + // TODO New key - Add a translation + "comcol-role.edit.reviewer.description": "Reviewers are able to accept or reject incoming submissions. However, they are not able to edit the submission's metadata.", + // "community.form.abstract": "Short Description", @@ -1137,6 +1541,10 @@ // "community.form.title": "Name", "community.form.title": "Nimi", + // "community.page.edit": "Edit this community", + // TODO New key - Add a translation + "community.page.edit": "Edit this community", + // "community.page.handle": "Permanent URI for this community", "community.page.handle": "Yhteisön pysyvä URL-osoite", @@ -1157,9 +1565,187 @@ + // "cookies.consent.accept-all": "Accept all", + // TODO New key - Add a translation + "cookies.consent.accept-all": "Accept all", + + // "cookies.consent.accept-selected": "Accept selected", + // TODO New key - Add a translation + "cookies.consent.accept-selected": "Accept selected", + + // "cookies.consent.app.opt-out.description": "This app is loaded by default (but you can opt out)", + // TODO New key - Add a translation + "cookies.consent.app.opt-out.description": "This app is loaded by default (but you can opt out)", + + // "cookies.consent.app.opt-out.title": "(opt-out)", + // TODO New key - Add a translation + "cookies.consent.app.opt-out.title": "(opt-out)", + + // "cookies.consent.app.purpose": "purpose", + // TODO New key - Add a translation + "cookies.consent.app.purpose": "purpose", + + // "cookies.consent.app.required.description": "This application is always required", + // TODO New key - Add a translation + "cookies.consent.app.required.description": "This application is always required", + + // "cookies.consent.app.required.title": "(always required)", + // TODO New key - Add a translation + "cookies.consent.app.required.title": "(always required)", + + // "cookies.consent.update": "There were changes since your last visit, please update your consent.", + // TODO New key - Add a translation + "cookies.consent.update": "There were changes since your last visit, please update your consent.", + + // "cookies.consent.close": "Close", + // TODO New key - Add a translation + "cookies.consent.close": "Close", + + // "cookies.consent.decline": "Decline", + // TODO New key - Add a translation + "cookies.consent.decline": "Decline", + + // "cookies.consent.content-notice.description": "We collect and process your personal information for the following purposes: Authentication, Preferences, Acknowledgement and Statistics.
To learn more, please read our {privacyPolicy}.", + // TODO New key - Add a translation + "cookies.consent.content-notice.description": "We collect and process your personal information for the following purposes: Authentication, Preferences, Acknowledgement and Statistics.
To learn more, please read our {privacyPolicy}.", + + // "cookies.consent.content-notice.learnMore": "Customize", + // TODO New key - Add a translation + "cookies.consent.content-notice.learnMore": "Customize", + + // "cookies.consent.content-modal.description": "Here you can see and customize the information that we collect about you.", + // TODO New key - Add a translation + "cookies.consent.content-modal.description": "Here you can see and customize the information that we collect about you.", + + // "cookies.consent.content-modal.privacy-policy.name": "privacy policy", + // TODO New key - Add a translation + "cookies.consent.content-modal.privacy-policy.name": "privacy policy", + + // "cookies.consent.content-modal.privacy-policy.text": "To learn more, please read our {privacyPolicy}.", + // TODO New key - Add a translation + "cookies.consent.content-modal.privacy-policy.text": "To learn more, please read our {privacyPolicy}.", + + // "cookies.consent.content-modal.title": "Information that we collect", + // TODO New key - Add a translation + "cookies.consent.content-modal.title": "Information that we collect", + + + + // "cookies.consent.app.title.authentication": "Authentication", + // TODO New key - Add a translation + "cookies.consent.app.title.authentication": "Authentication", + + // "cookies.consent.app.description.authentication": "Required for signing you in", + // TODO New key - Add a translation + "cookies.consent.app.description.authentication": "Required for signing you in", + + + // "cookies.consent.app.title.preferences": "Preferences", + // TODO New key - Add a translation + "cookies.consent.app.title.preferences": "Preferences", + + // "cookies.consent.app.description.preferences": "Required for saving your preferences", + // TODO New key - Add a translation + "cookies.consent.app.description.preferences": "Required for saving your preferences", + + + + // "cookies.consent.app.title.acknowledgement": "Acknowledgement", + // TODO New key - Add a translation + "cookies.consent.app.title.acknowledgement": "Acknowledgement", + + // "cookies.consent.app.description.acknowledgement": "Required for saving your acknowledgements and consents", + // TODO New key - Add a translation + "cookies.consent.app.description.acknowledgement": "Required for saving your acknowledgements and consents", + + + + // "cookies.consent.app.title.google-analytics": "Google Analytics", + // TODO New key - Add a translation + "cookies.consent.app.title.google-analytics": "Google Analytics", + + // "cookies.consent.app.description.google-analytics": "Allows us to track statistical data", + // TODO New key - Add a translation + "cookies.consent.app.description.google-analytics": "Allows us to track statistical data", + + + + // "cookies.consent.purpose.functional": "Functional", + // TODO New key - Add a translation + "cookies.consent.purpose.functional": "Functional", + + // "cookies.consent.purpose.statistical": "Statistical", + // TODO New key - Add a translation + "cookies.consent.purpose.statistical": "Statistical", + + + // "curation-task.task.checklinks.label": "Check Links in Metadata", + // TODO New key - Add a translation + "curation-task.task.checklinks.label": "Check Links in Metadata", + + // "curation-task.task.noop.label": "NOOP", + // TODO New key - Add a translation + "curation-task.task.noop.label": "NOOP", + + // "curation-task.task.profileformats.label": "Profile Bitstream Formats", + // TODO New key - Add a translation + "curation-task.task.profileformats.label": "Profile Bitstream Formats", + + // "curation-task.task.requiredmetadata.label": "Check for Required Metadata", + // TODO New key - Add a translation + "curation-task.task.requiredmetadata.label": "Check for Required Metadata", + + // "curation-task.task.translate.label": "Microsoft Translator", + // TODO New key - Add a translation + "curation-task.task.translate.label": "Microsoft Translator", + + // "curation-task.task.vscan.label": "Virus Scan", + // TODO New key - Add a translation + "curation-task.task.vscan.label": "Virus Scan", + + + + // "curation.form.task-select.label": "Task:", + // TODO New key - Add a translation + "curation.form.task-select.label": "Task:", + + // "curation.form.submit": "Start", + // TODO New key - Add a translation + "curation.form.submit": "Start", + + // "curation.form.submit.success.head": "The curation task has been started successfully", + // TODO New key - Add a translation + "curation.form.submit.success.head": "The curation task has been started successfully", + + // "curation.form.submit.success.content": "You will be redirected to the corresponding process page.", + // TODO New key - Add a translation + "curation.form.submit.success.content": "You will be redirected to the corresponding process page.", + + // "curation.form.submit.error.head": "Running the curation task failed", + // TODO New key - Add a translation + "curation.form.submit.error.head": "Running the curation task failed", + + // "curation.form.submit.error.content": "An error occured when trying to start the curation task.", + // TODO New key - Add a translation + "curation.form.submit.error.content": "An error occured when trying to start the curation task.", + + // "curation.form.handle.label": "Handle:", + // TODO New key - Add a translation + "curation.form.handle.label": "Handle:", + + // "curation.form.handle.hint": "Hint: Enter [your-handle-prefix]/0 to run a task across entire site (not all tasks may support this capability)", + // TODO New key - Add a translation + "curation.form.handle.hint": "Hint: Enter [your-handle-prefix]/0 to run a task across entire site (not all tasks may support this capability)", + + + // "dso-selector.create.collection.head": "New collection", "dso-selector.create.collection.head": "Uusi kokoelma", + // "dso-selector.create.collection.sub-level": "Create a new collection in", + // TODO New key - Add a translation + "dso-selector.create.collection.sub-level": "Create a new collection in", + // "dso-selector.create.community.head": "New community", "dso-selector.create.community.head": "Uusi yhteisö", @@ -1172,6 +1758,14 @@ // "dso-selector.create.item.head": "New item", "dso-selector.create.item.head": "Uusi tietue", + // "dso-selector.create.item.sub-level": "Create a new item in", + // TODO New key - Add a translation + "dso-selector.create.item.sub-level": "Create a new item in", + + // "dso-selector.create.submission.head": "New submission", + // TODO New key - Add a translation + "dso-selector.create.submission.head": "New submission", + // "dso-selector.edit.collection.head": "Edit collection", "dso-selector.edit.collection.head": "Muokkaa kokoelmaa", @@ -1181,6 +1775,10 @@ // "dso-selector.edit.item.head": "Edit item", "dso-selector.edit.item.head": "Muokkaa tietuetta", + // "dso-selector.export-metadata.dspaceobject.head": "Export metadata from", + // TODO New key - Add a translation + "dso-selector.export-metadata.dspaceobject.head": "Export metadata from", + // "dso-selector.no-results": "No {{ type }} found", "dso-selector.no-results": "Ei {{ type }}-tyyppiä.", @@ -1189,6 +1787,39 @@ + // "confirmation-modal.export-metadata.header": "Export metadata for {{ dsoName }}", + // TODO New key - Add a translation + "confirmation-modal.export-metadata.header": "Export metadata for {{ dsoName }}", + + // "confirmation-modal.export-metadata.info": "Are you sure you want to export metadata for {{ dsoName }}", + // TODO New key - Add a translation + "confirmation-modal.export-metadata.info": "Are you sure you want to export metadata for {{ dsoName }}", + + // "confirmation-modal.export-metadata.cancel": "Cancel", + // TODO New key - Add a translation + "confirmation-modal.export-metadata.cancel": "Cancel", + + // "confirmation-modal.export-metadata.confirm": "Export", + // TODO New key - Add a translation + "confirmation-modal.export-metadata.confirm": "Export", + + // "confirmation-modal.delete-eperson.header": "Delete EPerson \"{{ dsoName }}\"", + // TODO New key - Add a translation + "confirmation-modal.delete-eperson.header": "Delete EPerson \"{{ dsoName }}\"", + + // "confirmation-modal.delete-eperson.info": "Are you sure you want to delete EPerson \"{{ dsoName }}\"", + // TODO New key - Add a translation + "confirmation-modal.delete-eperson.info": "Are you sure you want to delete EPerson \"{{ dsoName }}\"", + + // "confirmation-modal.delete-eperson.cancel": "Cancel", + // TODO New key - Add a translation + "confirmation-modal.delete-eperson.cancel": "Cancel", + + // "confirmation-modal.delete-eperson.confirm": "Delete", + // TODO New key - Add a translation + "confirmation-modal.delete-eperson.confirm": "Delete", + + // "error.bitstream": "Error fetching bitstream", "error.bitstream": "Virhe tiedostoa noudettaessa", @@ -1248,6 +1879,12 @@ + // "file-section.error.header": "Error obtaining files for this item", + // TODO New key - Add a translation + "file-section.error.header": "Error obtaining files for this item", + + + // "footer.copyright": "copyright © 2002-{{ year }}", "footer.copyright": "tekijänoikeus © 2002-{{ year }}", @@ -1257,6 +1894,127 @@ // "footer.link.duraspace": "DuraSpace", "footer.link.duraspace": "DuraSpace", + // "footer.link.cookies": "Cookie settings", + // TODO New key - Add a translation + "footer.link.cookies": "Cookie settings", + + // "footer.link.privacy-policy": "Privacy policy", + // TODO New key - Add a translation + "footer.link.privacy-policy": "Privacy policy", + + // "footer.link.end-user-agreement":"End User Agreement", + // TODO New key - Add a translation + "footer.link.end-user-agreement":"End User Agreement", + + + + // "forgot-email.form.header": "Forgot Password", + // TODO New key - Add a translation + "forgot-email.form.header": "Forgot Password", + + // "forgot-email.form.info": "Enter Register an account to subscribe to collections for email updates, and submit new items to DSpace.", + // TODO New key - Add a translation + "forgot-email.form.info": "Enter Register an account to subscribe to collections for email updates, and submit new items to DSpace.", + + // "forgot-email.form.email": "Email Address *", + // TODO New key - Add a translation + "forgot-email.form.email": "Email Address *", + + // "forgot-email.form.email.error.required": "Please fill in an email address", + // TODO New key - Add a translation + "forgot-email.form.email.error.required": "Please fill in an email address", + + // "forgot-email.form.email.error.pattern": "Please fill in a valid email address", + // TODO New key - Add a translation + "forgot-email.form.email.error.pattern": "Please fill in a valid email address", + + // "forgot-email.form.email.hint": "This address will be verified and used as your login name.", + // TODO New key - Add a translation + "forgot-email.form.email.hint": "This address will be verified and used as your login name.", + + // "forgot-email.form.submit": "Submit", + // TODO New key - Add a translation + "forgot-email.form.submit": "Submit", + + // "forgot-email.form.success.head": "Verification email sent", + // TODO New key - Add a translation + "forgot-email.form.success.head": "Verification email sent", + + // "forgot-email.form.success.content": "An email has been sent to {{ email }} containing a special URL and further instructions.", + // TODO New key - Add a translation + "forgot-email.form.success.content": "An email has been sent to {{ email }} containing a special URL and further instructions.", + + // "forgot-email.form.error.head": "Error when trying to register email", + // TODO New key - Add a translation + "forgot-email.form.error.head": "Error when trying to register email", + + // "forgot-email.form.error.content": "An error occured when registering the following email address: {{ email }}", + // TODO New key - Add a translation + "forgot-email.form.error.content": "An error occured when registering the following email address: {{ email }}", + + + + // "forgot-password.title": "Forgot Password", + // TODO New key - Add a translation + "forgot-password.title": "Forgot Password", + + // "forgot-password.form.head": "Forgot Password", + // TODO New key - Add a translation + "forgot-password.form.head": "Forgot Password", + + // "forgot-password.form.info": "Enter a new password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", + // TODO New key - Add a translation + "forgot-password.form.info": "Enter a new password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", + + // "forgot-password.form.card.security": "Security", + // TODO New key - Add a translation + "forgot-password.form.card.security": "Security", + + // "forgot-password.form.identification.header": "Identify", + // TODO New key - Add a translation + "forgot-password.form.identification.header": "Identify", + + // "forgot-password.form.identification.email": "Email address: ", + // TODO New key - Add a translation + "forgot-password.form.identification.email": "Email address: ", + + // "forgot-password.form.label.password": "Password", + // TODO New key - Add a translation + "forgot-password.form.label.password": "Password", + + // "forgot-password.form.label.passwordrepeat": "Retype to confirm", + // TODO New key - Add a translation + "forgot-password.form.label.passwordrepeat": "Retype to confirm", + + // "forgot-password.form.error.empty-password": "Please enter a password in the box below.", + // TODO New key - Add a translation + "forgot-password.form.error.empty-password": "Please enter a password in the box below.", + + // "forgot-password.form.error.matching-passwords": "The passwords do not match.", + // TODO New key - Add a translation + "forgot-password.form.error.matching-passwords": "The passwords do not match.", + + // "forgot-password.form.error.password-length": "The password should be at least 6 characters long.", + // TODO New key - Add a translation + "forgot-password.form.error.password-length": "The password should be at least 6 characters long.", + + // "forgot-password.form.notification.error.title": "Error when trying to submit new password", + // TODO New key - Add a translation + "forgot-password.form.notification.error.title": "Error when trying to submit new password", + + // "forgot-password.form.notification.success.content": "The password reset was successful. You have been logged in as the created user.", + // TODO New key - Add a translation + "forgot-password.form.notification.success.content": "The password reset was successful. You have been logged in as the created user.", + + // "forgot-password.form.notification.success.title": "Password reset completed", + // TODO New key - Add a translation + "forgot-password.form.notification.success.title": "Password reset completed", + + // "forgot-password.form.submit": "Submit password", + // TODO New key - Add a translation + "forgot-password.form.submit": "Submit password", + + // "form.add": "Add", "form.add": "Lisää", @@ -1327,7 +2085,8 @@ // "form.search": "Search", "form.search": "Hae", - // "form.search-help": "Click here to looking for an existing correspondence", + // "form.search-help": "Click here to look for an existing correspondence", + // TODO Source message changed - Revise the translation "form.search-help": "Valitse etsiäksesi olemassa olevaa vastaavuutta", // "form.submit": "Submit", @@ -1338,6 +2097,10 @@ // "home.description": "", "home.description": "", + // "home.breadcrumbs": "Home", + // TODO New key - Add a translation + "home.breadcrumbs": "Home", + // "home.title": "DSpace Angular :: Home", "home.title": "DSpace Angular :: Etusivu", @@ -1349,6 +2112,81 @@ + // "info.end-user-agreement.accept": "I have read and I agree to the End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.accept": "I have read and I agree to the End User Agreement", + + // "info.end-user-agreement.accept.error": "An error occurred accepting the End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.accept.error": "An error occurred accepting the End User Agreement", + + // "info.end-user-agreement.accept.success": "Successfully updated the End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.accept.success": "Successfully updated the End User Agreement", + + // "info.end-user-agreement.breadcrumbs": "End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.breadcrumbs": "End User Agreement", + + // "info.end-user-agreement.buttons.cancel": "Cancel", + // TODO New key - Add a translation + "info.end-user-agreement.buttons.cancel": "Cancel", + + // "info.end-user-agreement.buttons.save": "Save", + // TODO New key - Add a translation + "info.end-user-agreement.buttons.save": "Save", + + // "info.end-user-agreement.head": "End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.head": "End User Agreement", + + // "info.end-user-agreement.title": "End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.title": "End User Agreement", + + // "info.privacy.breadcrumbs": "Privacy Statement", + // TODO New key - Add a translation + "info.privacy.breadcrumbs": "Privacy Statement", + + // "info.privacy.head": "Privacy Statement", + // TODO New key - Add a translation + "info.privacy.head": "Privacy Statement", + + // "info.privacy.title": "Privacy Statement", + // TODO New key - Add a translation + "info.privacy.title": "Privacy Statement", + + + + // "item.alerts.private": "This item is private", + // TODO New key - Add a translation + "item.alerts.private": "This item is private", + + // "item.alerts.withdrawn": "This item has been withdrawn", + // TODO New key - Add a translation + "item.alerts.withdrawn": "This item has been withdrawn", + + + + // "item.edit.authorizations.heading": "With this editor you can view and alter the policies of an item, plus alter policies of individual item components: bundles and bitstreams. Briefly, an item is a container of bundles, and bundles are containers of bitstreams. Containers usually have ADD/REMOVE/READ/WRITE policies, while bitstreams only have READ/WRITE policies.", + // TODO New key - Add a translation + "item.edit.authorizations.heading": "With this editor you can view and alter the policies of an item, plus alter policies of individual item components: bundles and bitstreams. Briefly, an item is a container of bundles, and bundles are containers of bitstreams. Containers usually have ADD/REMOVE/READ/WRITE policies, while bitstreams only have READ/WRITE policies.", + + // "item.edit.authorizations.title": "Edit item's Policies", + // TODO New key - Add a translation + "item.edit.authorizations.title": "Edit item's Policies", + + + + // "item.badge.private": "Private", + // TODO New key - Add a translation + "item.badge.private": "Private", + + // "item.badge.withdrawn": "Withdrawn", + // TODO New key - Add a translation + "item.badge.withdrawn": "Withdrawn", + + // "item.bitstreams.upload.bundle": "Bundle", "item.bitstreams.upload.bundle": "Nippu", @@ -1502,6 +2340,13 @@ "item.edit.breadcrumbs": "Muokkaa tietuetta", + // "item.edit.tabs.mapper.head": "Collection Mapper", + // TODO New key - Add a translation + "item.edit.tabs.mapper.head": "Collection Mapper", + + // "item.edit.tabs.item-mapper.title": "Item Edit - Collection Mapper", + // TODO New key - Add a translation + "item.edit.tabs.item-mapper.title": "Item Edit - Collection Mapper", // "item.edit.item-mapper.buttons.add": "Map item to selected collections", "item.edit.item-mapper.buttons.add": "Liitä tietue valittuihin kokoelmiin", @@ -1574,6 +2419,10 @@ // "item.edit.metadata.edit.buttons.unedit": "Stop editing", "item.edit.metadata.edit.buttons.unedit": "Lopeta muokkaus", + // "item.edit.metadata.empty": "The item currently doesn't contain any metadata. Click Add to start adding a metadata value.", + // TODO New key - Add a translation + "item.edit.metadata.empty": "The item currently doesn't contain any metadata. Click Add to start adding a metadata value.", + // "item.edit.metadata.headers.edit": "Edit", "item.edit.metadata.headers.edit": "Muokkaa", @@ -1595,6 +2444,10 @@ // "item.edit.metadata.notifications.discarded.title": "Changed discarded", "item.edit.metadata.notifications.discarded.title": "Muutokset hylätty", + // "item.edit.metadata.notifications.error.title": "An error occurred", + // TODO New key - Add a translation + "item.edit.metadata.notifications.error.title": "An error occurred", + // "item.edit.metadata.notifications.invalid.content": "Your changes were not saved. Please make sure all fields are valid before you save.", "item.edit.metadata.notifications.invalid.content": "Muutoksia ei tallennettu. Tarkista kaikkien kenttien oikeellisuus ennen tallennusta.", @@ -1730,19 +2583,28 @@ // "item.edit.relationships.discard-button": "Discard", "item.edit.relationships.discard-button": "Hylkää", + // "item.edit.relationships.edit.buttons.add": "Add", + // TODO New key - Add a translation + "item.edit.relationships.edit.buttons.add": "Add", + // "item.edit.relationships.edit.buttons.remove": "Remove", "item.edit.relationships.edit.buttons.remove": "Poista", // "item.edit.relationships.edit.buttons.undo": "Undo changes", "item.edit.relationships.edit.buttons.undo": "Peruuta muutokset", + // "item.edit.relationships.no-relationships": "No relationships", + // TODO New key - Add a translation + "item.edit.relationships.no-relationships": "No relationships", + // "item.edit.relationships.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", "item.edit.relationships.notifications.discarded.content": "Muutoksesi hylättiin. Valitse 'Peruuta' palauttaaksesi ne.", // "item.edit.relationships.notifications.discarded.title": "Changes discarded", "item.edit.relationships.notifications.discarded.title": "Muutokset hylätty", - // "item.edit.relationships.notifications.failed.title": "Error deleting relationship", + // "item.edit.relationships.notifications.failed.title": "Error editing relationships", + // TODO Source message changed - Revise the translation "item.edit.relationships.notifications.failed.title": "Virhe yhteyksiä poistettaessa", // "item.edit.relationships.notifications.outdated.content": "The item you're currently working on has been changed by another user. Your current changes are discarded to prevent conflicts", @@ -1763,6 +2625,10 @@ // "item.edit.relationships.save-button": "Save", "item.edit.relationships.save-button": "Tallenna", + // "item.edit.relationships.no-entity-type": "Add 'relationship.type' metadata to enable relationships for this item", + // TODO New key - Add a translation + "item.edit.relationships.no-entity-type": "Add 'relationship.type' metadata to enable relationships for this item", + // "item.edit.tabs.bitstreams.head": "Bitstreams", @@ -1895,6 +2761,48 @@ + // "item.listelement.badge": "Item", + // TODO New key - Add a translation + "item.listelement.badge": "Item", + + // "item.page.description": "Description", + // TODO New key - Add a translation + "item.page.description": "Description", + + // "item.page.edit": "Edit this item", + // TODO New key - Add a translation + "item.page.edit": "Edit this item", + + // "item.page.journal-issn": "Journal ISSN", + // TODO New key - Add a translation + "item.page.journal-issn": "Journal ISSN", + + // "item.page.journal-title": "Journal Title", + // TODO New key - Add a translation + "item.page.journal-title": "Journal Title", + + // "item.page.publisher": "Publisher", + // TODO New key - Add a translation + "item.page.publisher": "Publisher", + + // "item.page.titleprefix": "Item: ", + // TODO New key - Add a translation + "item.page.titleprefix": "Item: ", + + // "item.page.volume-title": "Volume Title", + // TODO New key - Add a translation + "item.page.volume-title": "Volume Title", + + // "item.search.results.head": "Item Search Results", + // TODO New key - Add a translation + "item.search.results.head": "Item Search Results", + + // "item.search.title": "DSpace Angular :: Item Search", + // TODO New key - Add a translation + "item.search.title": "DSpace Angular :: Item Search", + + + // "item.page.abstract": "Abstract", "item.page.abstract": "Tiivistelmä", @@ -1910,6 +2818,10 @@ // "item.page.date": "Date", "item.page.date": "Päivämäärä", + // "item.page.edit": "Edit this item", + // TODO New key - Add a translation + "item.page.edit": "Edit this item", + // "item.page.files": "Files", "item.page.files": "Tiedostot", @@ -1964,6 +2876,65 @@ // "item.page.uri": "URI", "item.page.uri": "URL-osoite", + // "item.page.bitstreams.view-more": "Show more", + // TODO New key - Add a translation + "item.page.bitstreams.view-more": "Show more", + + // "item.page.bitstreams.collapse": "Collapse", + // TODO New key - Add a translation + "item.page.bitstreams.collapse": "Collapse", + + // "item.page.filesection.original.bundle" : "Original bundle", + // TODO New key - Add a translation + "item.page.filesection.original.bundle" : "Original bundle", + + // "item.page.filesection.license.bundle" : "License bundle", + // TODO New key - Add a translation + "item.page.filesection.license.bundle" : "License bundle", + + // "item.preview.dc.identifier.uri": "Identifier:", + // TODO New key - Add a translation + "item.preview.dc.identifier.uri": "Identifier:", + + // "item.preview.dc.contributor.author": "Authors:", + // TODO New key - Add a translation + "item.preview.dc.contributor.author": "Authors:", + + // "item.preview.dc.date.issued": "Published date:", + // TODO New key - Add a translation + "item.preview.dc.date.issued": "Published date:", + + // "item.preview.dc.description.abstract": "Abstract:", + // TODO New key - Add a translation + "item.preview.dc.description.abstract": "Abstract:", + + // "item.preview.dc.identifier.other": "Other identifier:", + // TODO New key - Add a translation + "item.preview.dc.identifier.other": "Other identifier:", + + // "item.preview.dc.language.iso": "Language:", + // TODO New key - Add a translation + "item.preview.dc.language.iso": "Language:", + + // "item.preview.dc.subject": "Subjects:", + // TODO New key - Add a translation + "item.preview.dc.subject": "Subjects:", + + // "item.preview.dc.title": "Title:", + // TODO New key - Add a translation + "item.preview.dc.title": "Title:", + + // "item.preview.person.familyName": "Surname:", + // TODO New key - Add a translation + "item.preview.person.familyName": "Surname:", + + // "item.preview.person.givenName": "Name:", + // TODO New key - Add a translation + "item.preview.person.givenName": "Name:", + + // "item.preview.person.identifier.orcid": "ORCID:", + // TODO New key - Add a translation + "item.preview.person.identifier.orcid": "ORCID:", // "item.select.confirm": "Confirm selected", @@ -2022,6 +2993,10 @@ // "journal.page.description": "Description", "journal.page.description": "Kuvaus", + // "journal.page.edit": "Edit this item", + // TODO New key - Add a translation + "journal.page.edit": "Edit this item", + // "journal.page.editor": "Editor-in-Chief", "journal.page.editor": "Päätoimittaja", @@ -2048,6 +3023,10 @@ // "journalissue.page.description": "Description", "journalissue.page.description": "Kuvaus", + // "journalissue.page.edit": "Edit this item", + // TODO New key - Add a translation + "journalissue.page.edit": "Edit this item", + // "journalissue.page.issuedate": "Issue Date", "journalissue.page.issuedate": "Julkaisuaika", @@ -2074,6 +3053,10 @@ // "journalvolume.page.description": "Description", "journalvolume.page.description": "Kuvaus", + // "journalvolume.page.edit": "Edit this item", + // TODO New key - Add a translation + "journalvolume.page.edit": "Edit this item", + // "journalvolume.page.issuedate": "Issue Date", "journalvolume.page.issuedate": "Julkaisuaika", @@ -2312,6 +3295,10 @@ // "menu.section.icon.pin": "Pin sidebar", "menu.section.icon.pin": "Kiinnitä sivupalkki", + // "menu.section.icon.processes": "Processes menu section", + // TODO New key - Add a translation + "menu.section.icon.processes": "Processes menu section", + // "menu.section.icon.registries": "Registries menu section", "menu.section.icon.registries": "Rekisterit", @@ -2349,6 +3336,10 @@ // "menu.section.new_item_version": "Item Version", "menu.section.new_item_version": "Tietueen versio", + // "menu.section.new_process": "Process", + // TODO New key - Add a translation + "menu.section.new_process": "Process", + // "menu.section.pin": "Pin sidebar", @@ -2359,6 +3350,12 @@ + // "menu.section.processes": "Processes", + // TODO New key - Add a translation + "menu.section.processes": "Processes", + + + // "menu.section.registries": "Registries", "menu.section.registries": "Rekisterit", @@ -2409,11 +3406,16 @@ "menu.section.toggle.statistics_task": "Vaihda Tilastointitehtävä-osion tilaa", + // "menu.section.workflow": "Administer Workflow", + // TODO New key - Add a translation + "menu.section.workflow": "Administer Workflow", + // "mydspace.description": "", "mydspace.description": "", - // "mydspace.general.text-here": "HERE", + // "mydspace.general.text-here": "here", + // TODO Source message changed - Revise the translation "mydspace.general.text-here": "TÄSSÄ", // "mydspace.messages.controller-help": "Select this option to send a message to item's submitter.", @@ -2458,6 +3460,14 @@ // "mydspace.new-submission": "New submission", "mydspace.new-submission": "Uusi julkaisu", + // "mydspace.new-submission-external": "Import metadata from external source", + // TODO New key - Add a translation + "mydspace.new-submission-external": "Import metadata from external source", + + // "mydspace.new-submission-external-short": "Import metadata", + // TODO New key - Add a translation + "mydspace.new-submission-external-short": "Import metadata", + // "mydspace.results.head": "Your submissions", "mydspace.results.head": "Julkaisusi", @@ -2512,6 +3522,14 @@ // "mydspace.upload.upload-failed": "Error creating new workspace. Please verify the content uploaded before retry.", "mydspace.upload.upload-failed": "Virhe uutta työtilaa luotaessa. Tarkista ladattava sisältö ennen kuin yrität uudelleen.", + // "mydspace.upload.upload-failed-manyentries": "Unprocessable file. Detected too many entries but allowed only one for file.", + // TODO New key - Add a translation + "mydspace.upload.upload-failed-manyentries": "Unprocessable file. Detected too many entries but allowed only one for file.", + + // "mydspace.upload.upload-failed-moreonefile": "Unprocessable request. Only one file is allowed.", + // TODO New key - Add a translation + "mydspace.upload.upload-failed-moreonefile": "Unprocessable request. Only one file is allowed.", + // "mydspace.upload.upload-multiple-successful": "{{qty}} new workspace items created.", "mydspace.upload.upload-multiple-successful": "{{qty}} uutta työtilaa luotu.", @@ -2550,6 +3568,10 @@ // "nav.statistics.header": "Statistics", "nav.statistics.header": "Tilastot", + // "nav.stop-impersonating": "Stop impersonating EPerson", + // TODO New key - Add a translation + "nav.stop-impersonating": "Stop impersonating EPerson", + // "orgunit.listelement.badge": "Organizational Unit", @@ -2567,6 +3589,10 @@ // "orgunit.page.description": "Description", "orgunit.page.description": "Kuvaus", + // "orgunit.page.edit": "Edit this item", + // TODO New key - Add a translation + "orgunit.page.edit": "Edit this item", + // "orgunit.page.id": "ID", "orgunit.page.id": "ID-tunnus", @@ -2592,9 +3618,17 @@ // "person.listelement.badge": "Person", "person.listelement.badge": "Käyttäjä", + // "person.listelement.no-title": "No name found", + // TODO New key - Add a translation + "person.listelement.no-title": "No name found", + // "person.page.birthdate": "Birth Date", "person.page.birthdate": "Syntymäaika", + // "person.page.edit": "Edit this item", + // TODO New key - Add a translation + "person.page.edit": "Edit this item", + // "person.page.email": "Email Address", "person.page.email": "Sähköpostiosoite", @@ -2627,6 +3661,183 @@ + // "process.new.select-parameters": "Parameters", + // TODO New key - Add a translation + "process.new.select-parameters": "Parameters", + + // "process.new.cancel": "Cancel", + // TODO New key - Add a translation + "process.new.cancel": "Cancel", + + // "process.new.submit": "Submit", + // TODO New key - Add a translation + "process.new.submit": "Submit", + + // "process.new.select-script": "Script", + // TODO New key - Add a translation + "process.new.select-script": "Script", + + // "process.new.select-script.placeholder": "Choose a script...", + // TODO New key - Add a translation + "process.new.select-script.placeholder": "Choose a script...", + + // "process.new.select-script.required": "Script is required", + // TODO New key - Add a translation + "process.new.select-script.required": "Script is required", + + // "process.new.parameter.file.upload-button": "Select file...", + // TODO New key - Add a translation + "process.new.parameter.file.upload-button": "Select file...", + + // "process.new.parameter.file.required": "Please select a file", + // TODO New key - Add a translation + "process.new.parameter.file.required": "Please select a file", + + // "process.new.parameter.string.required": "Parameter value is required", + // TODO New key - Add a translation + "process.new.parameter.string.required": "Parameter value is required", + + // "process.new.parameter.type.value": "value", + // TODO New key - Add a translation + "process.new.parameter.type.value": "value", + + // "process.new.parameter.type.file": "file", + // TODO New key - Add a translation + "process.new.parameter.type.file": "file", + + // "process.new.parameter.required.missing": "The following parameters are required but still missing:", + // TODO New key - Add a translation + "process.new.parameter.required.missing": "The following parameters are required but still missing:", + + // "process.new.notification.success.title": "Success", + // TODO New key - Add a translation + "process.new.notification.success.title": "Success", + + // "process.new.notification.success.content": "The process was successfully created", + // TODO New key - Add a translation + "process.new.notification.success.content": "The process was successfully created", + + // "process.new.notification.error.title": "Error", + // TODO New key - Add a translation + "process.new.notification.error.title": "Error", + + // "process.new.notification.error.content": "An error occurred while creating this process", + // TODO New key - Add a translation + "process.new.notification.error.content": "An error occurred while creating this process", + + // "process.new.header": "Create a new process", + // TODO New key - Add a translation + "process.new.header": "Create a new process", + + // "process.new.title": "Create a new process", + // TODO New key - Add a translation + "process.new.title": "Create a new process", + + // "process.new.breadcrumbs": "Create a new process", + // TODO New key - Add a translation + "process.new.breadcrumbs": "Create a new process", + + + + // "process.detail.arguments" : "Arguments", + // TODO New key - Add a translation + "process.detail.arguments" : "Arguments", + + // "process.detail.arguments.empty" : "This process doesn't contain any arguments", + // TODO New key - Add a translation + "process.detail.arguments.empty" : "This process doesn't contain any arguments", + + // "process.detail.back" : "Back", + // TODO New key - Add a translation + "process.detail.back" : "Back", + + // "process.detail.output" : "Process Output", + // TODO New key - Add a translation + "process.detail.output" : "Process Output", + + // "process.detail.logs.button": "Retrieve process output", + // TODO New key - Add a translation + "process.detail.logs.button": "Retrieve process output", + + // "process.detail.logs.loading": "Retrieving", + // TODO New key - Add a translation + "process.detail.logs.loading": "Retrieving", + + // "process.detail.logs.none": "This process has no output", + // TODO New key - Add a translation + "process.detail.logs.none": "This process has no output", + + // "process.detail.output-files" : "Output Files", + // TODO New key - Add a translation + "process.detail.output-files" : "Output Files", + + // "process.detail.output-files.empty" : "This process doesn't contain any output files", + // TODO New key - Add a translation + "process.detail.output-files.empty" : "This process doesn't contain any output files", + + // "process.detail.script" : "Script", + // TODO New key - Add a translation + "process.detail.script" : "Script", + + // "process.detail.title" : "Process: {{ id }} - {{ name }}", + // TODO New key - Add a translation + "process.detail.title" : "Process: {{ id }} - {{ name }}", + + // "process.detail.start-time" : "Start time", + // TODO New key - Add a translation + "process.detail.start-time" : "Start time", + + // "process.detail.end-time" : "Finish time", + // TODO New key - Add a translation + "process.detail.end-time" : "Finish time", + + // "process.detail.status" : "Status", + // TODO New key - Add a translation + "process.detail.status" : "Status", + + // "process.detail.create" : "Create similar process", + // TODO New key - Add a translation + "process.detail.create" : "Create similar process", + + + + // "process.overview.table.finish" : "Finish time", + // TODO New key - Add a translation + "process.overview.table.finish" : "Finish time", + + // "process.overview.table.id" : "Process ID", + // TODO New key - Add a translation + "process.overview.table.id" : "Process ID", + + // "process.overview.table.name" : "Name", + // TODO New key - Add a translation + "process.overview.table.name" : "Name", + + // "process.overview.table.start" : "Start time", + // TODO New key - Add a translation + "process.overview.table.start" : "Start time", + + // "process.overview.table.status" : "Status", + // TODO New key - Add a translation + "process.overview.table.status" : "Status", + + // "process.overview.table.user" : "User", + // TODO New key - Add a translation + "process.overview.table.user" : "User", + + // "process.overview.title": "Processes Overview", + // TODO New key - Add a translation + "process.overview.title": "Processes Overview", + + // "process.overview.breadcrumbs": "Processes Overview", + // TODO New key - Add a translation + "process.overview.breadcrumbs": "Processes Overview", + + // "process.overview.new": "New", + // TODO New key - Add a translation + "process.overview.new": "New", + + // "profile.breadcrumbs": "Update Profile", "profile.breadcrumbs": "Päivitä profiili", @@ -2722,6 +3933,10 @@ // "project.page.description": "Description", "project.page.description": "Kuvaus", + // "project.page.edit": "Edit this item", + // TODO New key - Add a translation + "project.page.edit": "Edit this item", + // "project.page.expectedcompletion": "Expected Completion", "project.page.expectedcompletion": "Todennäköinen päättyminen", @@ -2751,6 +3966,10 @@ // "publication.page.description": "Description", "publication.page.description": "Kuvaus", + // "publication.page.edit": "Edit this item", + // TODO New key - Add a translation + "publication.page.edit": "Edit this item", + // "publication.page.journal-issn": "Journal ISSN", "publication.page.journal-issn": "Kausijulkaisun ISSN-tunnus", @@ -2773,10 +3992,164 @@ "publication.search.title": "DSpace Angular :: Aineistohaku", + // "register-email.title": "New user registration", + // TODO New key - Add a translation + "register-email.title": "New user registration", + + // "register-page.create-profile.header": "Create Profile", + // TODO New key - Add a translation + "register-page.create-profile.header": "Create Profile", + + // "register-page.create-profile.identification.header": "Identify", + // TODO New key - Add a translation + "register-page.create-profile.identification.header": "Identify", + + // "register-page.create-profile.identification.email": "Email Address", + // TODO New key - Add a translation + "register-page.create-profile.identification.email": "Email Address", + + // "register-page.create-profile.identification.first-name": "First Name *", + // TODO New key - Add a translation + "register-page.create-profile.identification.first-name": "First Name *", + + // "register-page.create-profile.identification.first-name.error": "Please fill in a First Name", + // TODO New key - Add a translation + "register-page.create-profile.identification.first-name.error": "Please fill in a First Name", + + // "register-page.create-profile.identification.last-name": "Last Name *", + // TODO New key - Add a translation + "register-page.create-profile.identification.last-name": "Last Name *", + + // "register-page.create-profile.identification.last-name.error": "Please fill in a Last Name", + // TODO New key - Add a translation + "register-page.create-profile.identification.last-name.error": "Please fill in a Last Name", + + // "register-page.create-profile.identification.contact": "Contact Telephone", + // TODO New key - Add a translation + "register-page.create-profile.identification.contact": "Contact Telephone", + + // "register-page.create-profile.identification.language": "Language", + // TODO New key - Add a translation + "register-page.create-profile.identification.language": "Language", + + // "register-page.create-profile.security.header": "Security", + // TODO New key - Add a translation + "register-page.create-profile.security.header": "Security", + + // "register-page.create-profile.security.info": "Please enter a password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", + // TODO New key - Add a translation + "register-page.create-profile.security.info": "Please enter a password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", + + // "register-page.create-profile.security.label.password": "Password *", + // TODO New key - Add a translation + "register-page.create-profile.security.label.password": "Password *", + + // "register-page.create-profile.security.label.passwordrepeat": "Retype to confirm *", + // TODO New key - Add a translation + "register-page.create-profile.security.label.passwordrepeat": "Retype to confirm *", + + // "register-page.create-profile.security.error.empty-password": "Please enter a password in the box below.", + // TODO New key - Add a translation + "register-page.create-profile.security.error.empty-password": "Please enter a password in the box below.", + + // "register-page.create-profile.security.error.matching-passwords": "The passwords do not match.", + // TODO New key - Add a translation + "register-page.create-profile.security.error.matching-passwords": "The passwords do not match.", + + // "register-page.create-profile.security.error.password-length": "The password should be at least 6 characters long.", + // TODO New key - Add a translation + "register-page.create-profile.security.error.password-length": "The password should be at least 6 characters long.", + + // "register-page.create-profile.submit": "Complete Registration", + // TODO New key - Add a translation + "register-page.create-profile.submit": "Complete Registration", + + // "register-page.create-profile.submit.error.content": "Something went wrong while registering a new user.", + // TODO New key - Add a translation + "register-page.create-profile.submit.error.content": "Something went wrong while registering a new user.", + + // "register-page.create-profile.submit.error.head": "Registration failed", + // TODO New key - Add a translation + "register-page.create-profile.submit.error.head": "Registration failed", + + // "register-page.create-profile.submit.success.content": "The registration was successful. You have been logged in as the created user.", + // TODO New key - Add a translation + "register-page.create-profile.submit.success.content": "The registration was successful. You have been logged in as the created user.", + + // "register-page.create-profile.submit.success.head": "Registration completed", + // TODO New key - Add a translation + "register-page.create-profile.submit.success.head": "Registration completed", + + + // "register-page.registration.header": "New user registration", + // TODO New key - Add a translation + "register-page.registration.header": "New user registration", + + // "register-page.registration.info": "Register an account to subscribe to collections for email updates, and submit new items to DSpace.", + // TODO New key - Add a translation + "register-page.registration.info": "Register an account to subscribe to collections for email updates, and submit new items to DSpace.", + + // "register-page.registration.email": "Email Address *", + // TODO New key - Add a translation + "register-page.registration.email": "Email Address *", + + // "register-page.registration.email.error.required": "Please fill in an email address", + // TODO New key - Add a translation + "register-page.registration.email.error.required": "Please fill in an email address", + + // "register-page.registration.email.error.pattern": "Please fill in a valid email address", + // TODO New key - Add a translation + "register-page.registration.email.error.pattern": "Please fill in a valid email address", + + // "register-page.registration.email.hint": "This address will be verified and used as your login name.", + // TODO New key - Add a translation + "register-page.registration.email.hint": "This address will be verified and used as your login name.", + + // "register-page.registration.submit": "Register", + // TODO New key - Add a translation + "register-page.registration.submit": "Register", + + // "register-page.registration.success.head": "Verification email sent", + // TODO New key - Add a translation + "register-page.registration.success.head": "Verification email sent", + + // "register-page.registration.success.content": "An email has been sent to {{ email }} containing a special URL and further instructions.", + // TODO New key - Add a translation + "register-page.registration.success.content": "An email has been sent to {{ email }} containing a special URL and further instructions.", + + // "register-page.registration.error.head": "Error when trying to register email", + // TODO New key - Add a translation + "register-page.registration.error.head": "Error when trying to register email", + + // "register-page.registration.error.content": "An error occured when registering the following email address: {{ email }}", + // TODO New key - Add a translation + "register-page.registration.error.content": "An error occured when registering the following email address: {{ email }}", + + + + // "relationships.add.error.relationship-type.content": "No suitable match could be found for relationship type {{ type }} between the two items", + // TODO New key - Add a translation + "relationships.add.error.relationship-type.content": "No suitable match could be found for relationship type {{ type }} between the two items", + + // "relationships.add.error.server.content": "The server returned an error", + // TODO New key - Add a translation + "relationships.add.error.server.content": "The server returned an error", + + // "relationships.add.error.title": "Unable to add relationship", + // TODO New key - Add a translation + "relationships.add.error.title": "Unable to add relationship", // "relationships.isAuthorOf": "Authors", "relationships.isAuthorOf": "Tekijät", + // "relationships.isAuthorOf.Person": "Authors (persons)", + // TODO New key - Add a translation + "relationships.isAuthorOf.Person": "Authors (persons)", + + // "relationships.isAuthorOf.OrgUnit": "Authors (organizational units)", + // TODO New key - Add a translation + "relationships.isAuthorOf.OrgUnit": "Authors (organizational units)", + // "relationships.isIssueOf": "Journal Issues", "relationships.isIssueOf": "Kausijulkaisun numerot", @@ -2815,6 +4188,208 @@ + // "resource-policies.add.button": "Add", + // TODO New key - Add a translation + "resource-policies.add.button": "Add", + + // "resource-policies.add.for.": "Add a new policy", + // TODO New key - Add a translation + "resource-policies.add.for.": "Add a new policy", + + // "resource-policies.add.for.bitstream": "Add a new Bitstream policy", + // TODO New key - Add a translation + "resource-policies.add.for.bitstream": "Add a new Bitstream policy", + + // "resource-policies.add.for.bundle": "Add a new Bundle policy", + // TODO New key - Add a translation + "resource-policies.add.for.bundle": "Add a new Bundle policy", + + // "resource-policies.add.for.item": "Add a new Item policy", + // TODO New key - Add a translation + "resource-policies.add.for.item": "Add a new Item policy", + + // "resource-policies.add.for.community": "Add a new Community policy", + // TODO New key - Add a translation + "resource-policies.add.for.community": "Add a new Community policy", + + // "resource-policies.add.for.collection": "Add a new Collection policy", + // TODO New key - Add a translation + "resource-policies.add.for.collection": "Add a new Collection policy", + + // "resource-policies.create.page.heading": "Create new resource policy for ", + // TODO New key - Add a translation + "resource-policies.create.page.heading": "Create new resource policy for ", + + // "resource-policies.create.page.failure.content": "An error occurred while creating the resource policy.", + // TODO New key - Add a translation + "resource-policies.create.page.failure.content": "An error occurred while creating the resource policy.", + + // "resource-policies.create.page.success.content": "Operation successful", + // TODO New key - Add a translation + "resource-policies.create.page.success.content": "Operation successful", + + // "resource-policies.create.page.title": "Create new resource policy", + // TODO New key - Add a translation + "resource-policies.create.page.title": "Create new resource policy", + + // "resource-policies.delete.btn": "Delete selected", + // TODO New key - Add a translation + "resource-policies.delete.btn": "Delete selected", + + // "resource-policies.delete.btn.title": "Delete selected resource policies", + // TODO New key - Add a translation + "resource-policies.delete.btn.title": "Delete selected resource policies", + + // "resource-policies.delete.failure.content": "An error occurred while deleting selected resource policies.", + // TODO New key - Add a translation + "resource-policies.delete.failure.content": "An error occurred while deleting selected resource policies.", + + // "resource-policies.delete.success.content": "Operation successful", + // TODO New key - Add a translation + "resource-policies.delete.success.content": "Operation successful", + + // "resource-policies.edit.page.heading": "Edit resource policy ", + // TODO New key - Add a translation + "resource-policies.edit.page.heading": "Edit resource policy ", + + // "resource-policies.edit.page.failure.content": "An error occurred while editing the resource policy.", + // TODO New key - Add a translation + "resource-policies.edit.page.failure.content": "An error occurred while editing the resource policy.", + + // "resource-policies.edit.page.success.content": "Operation successful", + // TODO New key - Add a translation + "resource-policies.edit.page.success.content": "Operation successful", + + // "resource-policies.edit.page.title": "Edit resource policy", + // TODO New key - Add a translation + "resource-policies.edit.page.title": "Edit resource policy", + + // "resource-policies.form.action-type.label": "Select the action type", + // TODO New key - Add a translation + "resource-policies.form.action-type.label": "Select the action type", + + // "resource-policies.form.action-type.required": "You must select the resource policy action.", + // TODO New key - Add a translation + "resource-policies.form.action-type.required": "You must select the resource policy action.", + + // "resource-policies.form.eperson-group-list.label": "The eperson or group that will be granted the permission", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.label": "The eperson or group that will be granted the permission", + + // "resource-policies.form.eperson-group-list.select.btn": "Select", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.select.btn": "Select", + + // "resource-policies.form.eperson-group-list.tab.eperson": "Search for a ePerson", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.tab.eperson": "Search for a ePerson", + + // "resource-policies.form.eperson-group-list.tab.group": "Search for a group", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.tab.group": "Search for a group", + + // "resource-policies.form.eperson-group-list.table.headers.action": "Action", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.table.headers.action": "Action", + + // "resource-policies.form.eperson-group-list.table.headers.id": "ID", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.table.headers.id": "ID", + + // "resource-policies.form.eperson-group-list.table.headers.name": "Name", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.table.headers.name": "Name", + + // "resource-policies.form.date.end.label": "End Date", + // TODO New key - Add a translation + "resource-policies.form.date.end.label": "End Date", + + // "resource-policies.form.date.start.label": "Start Date", + // TODO New key - Add a translation + "resource-policies.form.date.start.label": "Start Date", + + // "resource-policies.form.description.label": "Description", + // TODO New key - Add a translation + "resource-policies.form.description.label": "Description", + + // "resource-policies.form.name.label": "Name", + // TODO New key - Add a translation + "resource-policies.form.name.label": "Name", + + // "resource-policies.form.policy-type.label": "Select the policy type", + // TODO New key - Add a translation + "resource-policies.form.policy-type.label": "Select the policy type", + + // "resource-policies.form.policy-type.required": "You must select the resource policy type.", + // TODO New key - Add a translation + "resource-policies.form.policy-type.required": "You must select the resource policy type.", + + // "resource-policies.table.headers.action": "Action", + // TODO New key - Add a translation + "resource-policies.table.headers.action": "Action", + + // "resource-policies.table.headers.date.end": "End Date", + // TODO New key - Add a translation + "resource-policies.table.headers.date.end": "End Date", + + // "resource-policies.table.headers.date.start": "Start Date", + // TODO New key - Add a translation + "resource-policies.table.headers.date.start": "Start Date", + + // "resource-policies.table.headers.edit": "Edit", + // TODO New key - Add a translation + "resource-policies.table.headers.edit": "Edit", + + // "resource-policies.table.headers.edit.group": "Edit group", + // TODO New key - Add a translation + "resource-policies.table.headers.edit.group": "Edit group", + + // "resource-policies.table.headers.edit.policy": "Edit policy", + // TODO New key - Add a translation + "resource-policies.table.headers.edit.policy": "Edit policy", + + // "resource-policies.table.headers.eperson": "EPerson", + // TODO New key - Add a translation + "resource-policies.table.headers.eperson": "EPerson", + + // "resource-policies.table.headers.group": "Group", + // TODO New key - Add a translation + "resource-policies.table.headers.group": "Group", + + // "resource-policies.table.headers.id": "ID", + // TODO New key - Add a translation + "resource-policies.table.headers.id": "ID", + + // "resource-policies.table.headers.name": "Name", + // TODO New key - Add a translation + "resource-policies.table.headers.name": "Name", + + // "resource-policies.table.headers.policyType": "type", + // TODO New key - Add a translation + "resource-policies.table.headers.policyType": "type", + + // "resource-policies.table.headers.title.for.bitstream": "Policies for Bitstream", + // TODO New key - Add a translation + "resource-policies.table.headers.title.for.bitstream": "Policies for Bitstream", + + // "resource-policies.table.headers.title.for.bundle": "Policies for Bundle", + // TODO New key - Add a translation + "resource-policies.table.headers.title.for.bundle": "Policies for Bundle", + + // "resource-policies.table.headers.title.for.item": "Policies for Item", + // TODO New key - Add a translation + "resource-policies.table.headers.title.for.item": "Policies for Item", + + // "resource-policies.table.headers.title.for.community": "Policies for Community", + // TODO New key - Add a translation + "resource-policies.table.headers.title.for.community": "Policies for Community", + + // "resource-policies.table.headers.title.for.collection": "Policies for Collection", + // TODO New key - Add a translation + "resource-policies.table.headers.title.for.collection": "Policies for Collection", + + + // "search.description": "", "search.description": "", @@ -3110,6 +4685,14 @@ + // "sorting.ASC": "Ascending", + // TODO New key - Add a translation + "sorting.ASC": "Ascending", + + // "sorting.DESC": "Descending", + // TODO New key - Add a translation + "sorting.DESC": "Descending", + // "sorting.dc.title.ASC": "Title Ascending", "sorting.dc.title.ASC": "Nimeke (A-Ö)", @@ -3121,6 +4704,52 @@ + // "statistics.title": "Statistics", + // TODO New key - Add a translation + "statistics.title": "Statistics", + + // "statistics.header": "Statistics for {{ scope }}", + // TODO New key - Add a translation + "statistics.header": "Statistics for {{ scope }}", + + // "statistics.breadcrumbs": "Statistics", + // TODO New key - Add a translation + "statistics.breadcrumbs": "Statistics", + + // "statistics.page.no-data": "No data available", + // TODO New key - Add a translation + "statistics.page.no-data": "No data available", + + // "statistics.table.no-data": "No data available", + // TODO New key - Add a translation + "statistics.table.no-data": "No data available", + + // "statistics.table.title.TotalVisits": "Total visits", + // TODO New key - Add a translation + "statistics.table.title.TotalVisits": "Total visits", + + // "statistics.table.title.TotalVisitsPerMonth": "Total visits per month", + // TODO New key - Add a translation + "statistics.table.title.TotalVisitsPerMonth": "Total visits per month", + + // "statistics.table.title.TotalDownloads": "File Visits", + // TODO New key - Add a translation + "statistics.table.title.TotalDownloads": "File Visits", + + // "statistics.table.title.TopCountries": "Top country views", + // TODO New key - Add a translation + "statistics.table.title.TopCountries": "Top country views", + + // "statistics.table.title.TopCities": "Top city views", + // TODO New key - Add a translation + "statistics.table.title.TopCities": "Top city views", + + // "statistics.table.header.views": "Views", + // TODO New key - Add a translation + "statistics.table.header.views": "Views", + + + // "submission.edit.title": "Edit Submission", "submission.edit.title": "Muokkaa julkaisua", @@ -3152,6 +4781,85 @@ "submission.general.save-later": "Tallenna myöhemmäksi", + // "submission.import-external.page.title": "Import metadata from an external source", + // TODO New key - Add a translation + "submission.import-external.page.title": "Import metadata from an external source", + + // "submission.import-external.title": "Import metadata from an external source", + // TODO New key - Add a translation + "submission.import-external.title": "Import metadata from an external source", + + // "submission.import-external.page.hint": "Enter a query above to find items from the web to import in to DSpace.", + // TODO New key - Add a translation + "submission.import-external.page.hint": "Enter a query above to find items from the web to import in to DSpace.", + + // "submission.import-external.back-to-my-dspace": "Back to MyDSpace", + // TODO New key - Add a translation + "submission.import-external.back-to-my-dspace": "Back to MyDSpace", + + // "submission.import-external.search.placeholder": "Search the external source", + // TODO New key - Add a translation + "submission.import-external.search.placeholder": "Search the external source", + + // "submission.import-external.search.button": "Search", + // TODO New key - Add a translation + "submission.import-external.search.button": "Search", + + // "submission.import-external.search.button.hint": "Write some words to search", + // TODO New key - Add a translation + "submission.import-external.search.button.hint": "Write some words to search", + + // "submission.import-external.search.source.hint": "Pick an external source", + // TODO New key - Add a translation + "submission.import-external.search.source.hint": "Pick an external source", + + // "submission.import-external.source.arxiv": "arXiv", + // TODO New key - Add a translation + "submission.import-external.source.arxiv": "arXiv", + + // "submission.import-external.source.loading": "Loading ...", + // TODO New key - Add a translation + "submission.import-external.source.loading": "Loading ...", + + // "submission.import-external.source.sherpaJournal": "SHERPA Journals", + // TODO New key - Add a translation + "submission.import-external.source.sherpaJournal": "SHERPA Journals", + + // "submission.import-external.source.sherpaPublisher": "SHERPA Publishers", + // TODO New key - Add a translation + "submission.import-external.source.sherpaPublisher": "SHERPA Publishers", + + // "submission.import-external.source.orcid": "ORCID", + // TODO New key - Add a translation + "submission.import-external.source.orcid": "ORCID", + + // "submission.import-external.source.pubmed": "Pubmed", + // TODO New key - Add a translation + "submission.import-external.source.pubmed": "Pubmed", + + // "submission.import-external.source.lcname": "Library of Congress Names", + // TODO New key - Add a translation + "submission.import-external.source.lcname": "Library of Congress Names", + + // "submission.import-external.preview.title": "Item Preview", + // TODO New key - Add a translation + "submission.import-external.preview.title": "Item Preview", + + // "submission.import-external.preview.subtitle": "The metadata below was imported from an external source. It will be pre-filled when you start the submission.", + // TODO New key - Add a translation + "submission.import-external.preview.subtitle": "The metadata below was imported from an external source. It will be pre-filled when you start the submission.", + + // "submission.import-external.preview.button.import": "Start submission", + // TODO New key - Add a translation + "submission.import-external.preview.button.import": "Start submission", + + // "submission.import-external.preview.error.import.title": "Submission error", + // TODO New key - Add a translation + "submission.import-external.preview.error.import.title": "Submission error", + + // "submission.import-external.preview.error.import.body": "An error occurs during the external source entry import process.", + // TODO New key - Add a translation + "submission.import-external.preview.error.import.body": "An error occurs during the external source entry import process.", // "submission.sections.describe.relationship-lookup.close": "Close", "submission.sections.describe.relationship-lookup.close": "Sulje", @@ -3159,8 +4867,9 @@ // "submission.sections.describe.relationship-lookup.external-source.added": "Successfully added local entry to the selection", "submission.sections.describe.relationship-lookup.external-source.added": "Paikallinen kohde lisätty valintaan", - // "submission.sections.describe.relationship-lookup.external-source.import-button-title.Author": "Import remote author", - "submission.sections.describe.relationship-lookup.external-source.import-button-title.Author": "Importoi tekijä ulkoisesta lähteestä", + // "submission.sections.describe.relationship-lookup.external-source.import-button-title.isAuthorOfPublication": "Import remote author", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-button-title.isAuthorOfPublication": "Import remote author", // "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal": "Import remote journal", "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal": "Importoi kausijulkaisu ulkoisesta lähteestä", @@ -3171,14 +4880,17 @@ // "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal Volume": "Import remote journal volume", "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal Volume": "Importoi kausijulkaisun vuosikerta ulkoisesta lähteestä", - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.title": "Import Remote Author", - "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.title": "Importoi tekijä ulkoisesta lähteestä", + // "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.title": "Import Remote Author", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.title": "Import Remote Author", - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.added.local-entity": "Successfully added local author to the selection", - "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.added.local-entity": "Paikallinen tekijä lisätty valintaan", + // "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.added.local-entity": "Successfully added local author to the selection", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.added.local-entity": "Successfully added local author to the selection", - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.added.new-entity": "Successfully imported and added external author to the selection", - "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.added.new-entity": "Ulkoinen tekijä importoitu ja lisätty valintaan", + // "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.added.new-entity": "Successfully imported and added external author to the selection", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.added.new-entity": "Successfully imported and added external author to the selection", // "submission.sections.describe.relationship-lookup.external-source.import-modal.authority": "Authority", "submission.sections.describe.relationship-lookup.external-source.import-modal.authority": "Auktoriteetti", @@ -3201,8 +4913,9 @@ // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.lcname": "Importing from LC Name", "submission.sections.describe.relationship-lookup.external-source.import-modal.head.lcname": "Importointi Library of Congress -nimestä", - // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.orcidV2": "Importing from ORCID", - "submission.sections.describe.relationship-lookup.external-source.import-modal.head.orcidV2": "Importointi ORCID-tunnisteesta", + // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.orcid": "Importing from ORCID", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.head.orcid": "Importing from ORCID", // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.sherpaJournal": "Importing from Sherpa Journal", "submission.sections.describe.relationship-lookup.external-source.import-modal.head.sherpaJournal": "Importointi Sherpa-julkaisusta", @@ -3210,6 +4923,14 @@ // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.sherpaPublisher": "Importing from Sherpa Publisher", "submission.sections.describe.relationship-lookup.external-source.import-modal.head.sherpaPublisher": "Importointi Sherpa-julkaisijalta", + // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.pubmed": "Importing from PubMed", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.head.pubmed": "Importing from PubMed", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.arxiv": "Importing from arXiv", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.head.arxiv": "Importing from arXiv", + // "submission.sections.describe.relationship-lookup.external-source.import-modal.import": "Import", "submission.sections.describe.relationship-lookup.external-source.import-modal.import": "Importoi", @@ -3267,17 +4988,53 @@ // "submission.sections.describe.relationship-lookup.selected": "Selected {{ size }} items", "submission.sections.describe.relationship-lookup.selected": "Valittu {{ size }} tietuetta", - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Author": "Local Authors ({{ count }})", - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Author": "Paikallisia tekijöitä ({{ count }})", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isAuthorOfPublication": "Local Authors ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isAuthorOfPublication": "Local Authors ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalOfPublication": "Local Journals ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalOfPublication": "Local Journals ({{ count }})", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Project": "Local Projects ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.Project": "Local Projects ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Publication": "Local Publications ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.Publication": "Local Publications ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Person": "Local Authors ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.Person": "Local Authors ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.OrgUnit": "Local Organizational Units ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.OrgUnit": "Local Organizational Units ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.DataPackage": "Local Data Packages ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.DataPackage": "Local Data Packages ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.DataFile": "Local Data Files ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.DataFile": "Local Data Files ({{ count }})", // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal": "Local Journals ({{ count }})", "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal": "Paikallisia kausijulkaisuja ({{ count }})", - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal Issue": "Local Journal Issues ({{ count }})", - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal Issue": "Paikallisia kausijulkaisun numeroita ({{ count }})", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalIssueOfPublication": "Local Journal Issues ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalIssueOfPublication": "Local Journal Issues ({{ count }})", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.JournalIssue": "Local Journal Issues ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.JournalIssue": "Local Journal Issues ({{ count }})", - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal Volume": "Local Journal Volumes ({{ count }})", - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal Volume": "Paikallisia kausijulkaisun vuosikertoja ({{ count }})", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalVolumeOfPublication": "Local Journal Volumes ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalVolumeOfPublication": "Local Journal Volumes ({{ count }})", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.JournalVolume": "Local Journal Volumes ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.JournalVolume": "Local Journal Volumes ({{ count }})", // "submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaJournal": "Sherpa Journals ({{ count }})", "submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaJournal": "Sherpa-kausijulkaisuja ({{ count }})", @@ -3285,38 +5042,95 @@ // "submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaPublisher": "Sherpa Publishers ({{ count }})", "submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaPublisher": "Sherpa-julkaisijoita ({{ count }})", - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.orcidV2": "ORCID ({{ count }})", - "submission.sections.describe.relationship-lookup.search-tab.tab-title.orcidV2": "ORCID-tunnisteita ({{ count }})", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.orcid": "ORCID ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.orcid": "ORCID ({{ count }})", // "submission.sections.describe.relationship-lookup.search-tab.tab-title.lcname": "LC Names ({{ count }})", "submission.sections.describe.relationship-lookup.search-tab.tab-title.lcname": "Library of Congress -nimiä ({{ count }})", - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Funding Agency": "Search for Funding Agencies", - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Funding Agency": "Hae rahoittajatahoja", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.pubmed": "PubMed ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.pubmed": "PubMed ({{ count }})", - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Funding": "Search for Funding", - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Funding": "Hae rahoitusta", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.arxiv": "arXiv ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.arxiv": "arXiv ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingAgencyOfPublication": "Search for Funding Agencies", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingAgencyOfPublication": "Search for Funding Agencies", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingOfPublication": "Search for Funding", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingOfPublication": "Search for Funding", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isChildOrgUnitOf": "Search for Organizational Units", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isChildOrgUnitOf": "Search for Organizational Units", // "submission.sections.describe.relationship-lookup.selection-tab.tab-title": "Current Selection ({{ count }})", "submission.sections.describe.relationship-lookup.selection-tab.tab-title": "Nykyinen valinta ({{ count }})", - // "submission.sections.describe.relationship-lookup.title.Journal Issue": "Journal Issues", - "submission.sections.describe.relationship-lookup.title.Journal Issue": "Kausijulkaisun numerot", + // "submission.sections.describe.relationship-lookup.title.isJournalIssueOfPublication": "Journal Issues", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.isJournalIssueOfPublication": "Journal Issues", + // "submission.sections.describe.relationship-lookup.title.JournalIssue": "Journal Issues", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.JournalIssue": "Journal Issues", - // "submission.sections.describe.relationship-lookup.title.Journal Volume": "Journal Volumes", - "submission.sections.describe.relationship-lookup.title.Journal Volume": "Kausijulkaisun vuosikerrat", + // "submission.sections.describe.relationship-lookup.title.isJournalVolumeOfPublication": "Journal Volumes", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.isJournalVolumeOfPublication": "Journal Volumes", + // "submission.sections.describe.relationship-lookup.title.JournalVolume": "Journal Volumes", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.JournalVolume": "Journal Volumes", - // "submission.sections.describe.relationship-lookup.title.Journal": "Journals", - "submission.sections.describe.relationship-lookup.title.Journal": "Kausijulkaisut", + // "submission.sections.describe.relationship-lookup.title.isJournalOfPublication": "Journals", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.isJournalOfPublication": "Journals", - // "submission.sections.describe.relationship-lookup.title.Author": "Authors", - "submission.sections.describe.relationship-lookup.title.Author": "Tekijät", + // "submission.sections.describe.relationship-lookup.title.isAuthorOfPublication": "Authors", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.isAuthorOfPublication": "Authors", + + // "submission.sections.describe.relationship-lookup.title.isFundingAgencyOfPublication": "Funding Agency", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.isFundingAgencyOfPublication": "Funding Agency", + // "submission.sections.describe.relationship-lookup.title.Project": "Projects", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.Project": "Projects", + + // "submission.sections.describe.relationship-lookup.title.Publication": "Publications", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.Publication": "Publications", + + // "submission.sections.describe.relationship-lookup.title.Person": "Authors", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.Person": "Authors", + + // "submission.sections.describe.relationship-lookup.title.OrgUnit": "Organizational Units", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.OrgUnit": "Organizational Units", + + // "submission.sections.describe.relationship-lookup.title.DataPackage": "Data Packages", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.DataPackage": "Data Packages", + + // "submission.sections.describe.relationship-lookup.title.DataFile": "Data Files", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.DataFile": "Data Files", // "submission.sections.describe.relationship-lookup.title.Funding Agency": "Funding Agency", "submission.sections.describe.relationship-lookup.title.Funding Agency": "Rahoittajataho", - // "submission.sections.describe.relationship-lookup.title.Funding": "Funding", - "submission.sections.describe.relationship-lookup.title.Funding": "Rahoitus", + // "submission.sections.describe.relationship-lookup.title.isFundingOfPublication": "Funding", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.isFundingOfPublication": "Funding", + + // "submission.sections.describe.relationship-lookup.title.isChildOrgUnitOf": "Parent Organizational Unit", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.isChildOrgUnitOf": "Parent Organizational Unit", // "submission.sections.describe.relationship-lookup.search-tab.toggle-dropdown": "Toggle dropdown", "submission.sections.describe.relationship-lookup.search-tab.toggle-dropdown": "Vaihda valikon tilaa", @@ -3327,17 +5141,65 @@ // "submission.sections.describe.relationship-lookup.selection-tab.no-selection": "Your selection is currently empty.", "submission.sections.describe.relationship-lookup.selection-tab.no-selection": "Valinta on tyhjä.", - // "submission.sections.describe.relationship-lookup.selection-tab.title.Author": "Selected Authors", - "submission.sections.describe.relationship-lookup.selection-tab.title.Author": "Valitut tekijät", + // "submission.sections.describe.relationship-lookup.selection-tab.title.isAuthorOfPublication": "Selected Authors", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.isAuthorOfPublication": "Selected Authors", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalOfPublication": "Selected Journals", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalOfPublication": "Selected Journals", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalVolumeOfPublication": "Selected Journal Volume", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalVolumeOfPublication": "Selected Journal Volume", + // "submission.sections.describe.relationship-lookup.selection-tab.title.Project": "Selected Projects", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.Project": "Selected Projects", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.Publication": "Selected Publications", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.Publication": "Selected Publications", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.Person": "Selected Authors", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.Person": "Selected Authors", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.OrgUnit": "Selected Organizational Units", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.OrgUnit": "Selected Organizational Units", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.DataPackage": "Selected Data Packages", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.DataPackage": "Selected Data Packages", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.DataFile": "Selected Data Files", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.DataFile": "Selected Data Files", // "submission.sections.describe.relationship-lookup.selection-tab.title.Journal": "Selected Journals", "submission.sections.describe.relationship-lookup.selection-tab.title.Journal": "Valitut kausijulkaisut", - // "submission.sections.describe.relationship-lookup.selection-tab.title.Journal Volume": "Selected Journal Volume", - "submission.sections.describe.relationship-lookup.selection-tab.title.Journal Volume": "Valittu kausijulkaisun vuosikerta", + // "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalIssueOfPublication": "Selected Issue", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalIssueOfPublication": "Selected Issue", + // "submission.sections.describe.relationship-lookup.selection-tab.title.JournalVolume": "Selected Journal Volume", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.JournalVolume": "Selected Journal Volume", - // "submission.sections.describe.relationship-lookup.selection-tab.title.Journal Issue": "Selected Issue", - "submission.sections.describe.relationship-lookup.selection-tab.title.Journal Issue": "Valittu numero", + // "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingAgencyOfPublication": "Selected Funding Agency", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingAgencyOfPublication": "Selected Funding Agency", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingOfPublication": "Selected Funding", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingOfPublication": "Selected Funding", + // "submission.sections.describe.relationship-lookup.selection-tab.title.JournalIssue": "Selected Issue", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.JournalIssue": "Selected Issue", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isChildOrgUnitOf": "Selected Organizational Unit", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.isChildOrgUnitOf": "Selected Organizational Unit", // "submission.sections.describe.relationship-lookup.selection-tab.title.sherpaJournal": "Search Results", "submission.sections.describe.relationship-lookup.selection-tab.title.sherpaJournal": "Hakutulokset", @@ -3345,12 +5207,25 @@ // "submission.sections.describe.relationship-lookup.selection-tab.title.sherpaPublisher": "Search Results", "submission.sections.describe.relationship-lookup.selection-tab.title.sherpaPublisher": "Hakutulokset", - // "submission.sections.describe.relationship-lookup.selection-tab.title.orcidV2": "Search Results", - "submission.sections.describe.relationship-lookup.selection-tab.title.orcidV2": "Hakutulokset", + // "submission.sections.describe.relationship-lookup.selection-tab.title.orcid": "Search Results", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.orcid": "Search Results", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.orcidv2": "Search Results", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.orcidv2": "Search Results", // "submission.sections.describe.relationship-lookup.selection-tab.title.lcname": "Search Results", "submission.sections.describe.relationship-lookup.selection-tab.title.lcname": "Hakutulokset", + // "submission.sections.describe.relationship-lookup.selection-tab.title.pubmed": "Search Results", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.pubmed": "Search Results", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.arxiv": "Search Results", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.arxiv": "Search Results", + // "submission.sections.describe.relationship-lookup.name-variant.notification.content": "Would you like to save \"{{ value }}\" as a name variant for this person so you and others can reuse it for future submissions? If you don\'t you can still use it for this submission.", "submission.sections.describe.relationship-lookup.name-variant.notification.content": "Haluatko tallentaa nimen \"{{ value }}\" käyttäjän vaihtoehtoiseksi nimeksi, jota muutkin voivat käyttää uudelleen myös tulevissa julkaisuissa? Ellet tallenna nimeä, voit silti käyttää sitä tässä julkaisussa.", @@ -3360,6 +5235,34 @@ // "submission.sections.describe.relationship-lookup.name-variant.notification.decline": "Use only for this submission", "submission.sections.describe.relationship-lookup.name-variant.notification.decline": "Käytä vain tässä julkaisussa", + // "submission.sections.ccLicense.type": "License Type", + // TODO New key - Add a translation + "submission.sections.ccLicense.type": "License Type", + + // "submission.sections.ccLicense.select": "Select a license type…", + // TODO New key - Add a translation + "submission.sections.ccLicense.select": "Select a license type…", + + // "submission.sections.ccLicense.change": "Change your license type…", + // TODO New key - Add a translation + "submission.sections.ccLicense.change": "Change your license type…", + + // "submission.sections.ccLicense.none": "No licenses available", + // TODO New key - Add a translation + "submission.sections.ccLicense.none": "No licenses available", + + // "submission.sections.ccLicense.option.select": "Select an option…", + // TODO New key - Add a translation + "submission.sections.ccLicense.option.select": "Select an option…", + + // "submission.sections.ccLicense.link": "You’ve selected the following license:", + // TODO New key - Add a translation + "submission.sections.ccLicense.link": "You’ve selected the following license:", + + // "submission.sections.ccLicense.confirmation": "I grant the license above", + // TODO New key - Add a translation + "submission.sections.ccLicense.confirmation": "I grant the license above", + // "submission.sections.general.add-more": "Add more", "submission.sections.general.add-more": "Lisää enemmän", @@ -3404,8 +5307,9 @@ - // "submission.sections.submit.progressbar.cclicense": "Creative commons license", - "submission.sections.submit.progressbar.cclicense": "Creative commons -lisenssi", + // "submission.sections.submit.progressbar.CClicense": "Creative commons license", + // TODO New key - Add a translation + "submission.sections.submit.progressbar.CClicense": "Creative commons license", // "submission.sections.submit.progressbar.describe.recycle": "Recycle", "submission.sections.submit.progressbar.describe.recycle": "Kierrätä", @@ -3454,7 +5358,8 @@ // "submission.sections.upload.form.date-required": "Date is required.", "submission.sections.upload.form.date-required": "Päivämäärä on pakollinen tieto.", - // "submission.sections.upload.form.from-label": "Access grant from", + // "submission.sections.upload.form.from-label": "Grant access from", + // TODO Source message changed - Revise the translation "submission.sections.upload.form.from-label": "Pääsyoikeus alkaa", // "submission.sections.upload.form.from-placeholder": "From", @@ -3466,7 +5371,8 @@ // "submission.sections.upload.form.group-required": "Group is required.", "submission.sections.upload.form.group-required": "Ryhmä on pakollinen tieto.", - // "submission.sections.upload.form.until-label": "Access grant until", + // "submission.sections.upload.form.until-label": "Grant access until", + // TODO Source message changed - Revise the translation "submission.sections.upload.form.until-label": "Pääsyoikeus päättyy", // "submission.sections.upload.form.until-placeholder": "Until", @@ -3596,11 +5502,34 @@ "title": "Julkaisuarkisto", - // "administrativeView.search.results.head": "Administrative Search", - "administrativeView.search.results.head": "Hallinnollinen haku", - // "menu.section.admin_search": "Admin Search", - "menu.section.admin_search": "Admin-haku", + // "vocabulary-treeview.header": "Hierarchical tree view", + // TODO New key - Add a translation + "vocabulary-treeview.header": "Hierarchical tree view", + + // "vocabulary-treeview.load-more": "Load more", + // TODO New key - Add a translation + "vocabulary-treeview.load-more": "Load more", + + // "vocabulary-treeview.search.form.reset": "Reset", + // TODO New key - Add a translation + "vocabulary-treeview.search.form.reset": "Reset", + + // "vocabulary-treeview.search.form.search": "Search", + // TODO New key - Add a translation + "vocabulary-treeview.search.form.search": "Search", + + // "vocabulary-treeview.search.no-result": "There were no items to show", + // TODO New key - Add a translation + "vocabulary-treeview.search.no-result": "There were no items to show", + + // "vocabulary-treeview.tree.description.nsi": "The Norwegian Science Index", + // TODO New key - Add a translation + "vocabulary-treeview.tree.description.nsi": "The Norwegian Science Index", + + // "vocabulary-treeview.tree.description.srsc": "Research Subject Categories", + // TODO New key - Add a translation + "vocabulary-treeview.tree.description.srsc": "Research Subject Categories", @@ -3610,7 +5539,8 @@ // "uploader.drag-message": "Drag & Drop your files here", "uploader.drag-message": "Raahaa tiedostot tähän", - // "uploader.or": ", or", + // "uploader.or": ", or ", + // TODO Source message changed - Revise the translation "uploader.or": " tai", // "uploader.processing": "Processing", @@ -3629,5 +5559,77 @@ "virtual-metadata.delete-relationship.modal-head": "Valitse tietueet, joiden virtuaalisen metadatan haluat tallentaa varsinaiseksi metadataksi", + + // "workflowAdmin.search.results.head": "Administer Workflow", + // TODO New key - Add a translation + "workflowAdmin.search.results.head": "Administer Workflow", + + + + // "workflow-item.delete.notification.success.title": "Deleted", + // TODO New key - Add a translation + "workflow-item.delete.notification.success.title": "Deleted", + + // "workflow-item.delete.notification.success.content": "This workflow item was successfully deleted", + // TODO New key - Add a translation + "workflow-item.delete.notification.success.content": "This workflow item was successfully deleted", + + // "workflow-item.delete.notification.error.title": "Something went wrong", + // TODO New key - Add a translation + "workflow-item.delete.notification.error.title": "Something went wrong", + + // "workflow-item.delete.notification.error.content": "The workflow item could not be deleted", + // TODO New key - Add a translation + "workflow-item.delete.notification.error.content": "The workflow item could not be deleted", + + // "workflow-item.delete.title": "Delete workflow item", + // TODO New key - Add a translation + "workflow-item.delete.title": "Delete workflow item", + + // "workflow-item.delete.header": "Delete workflow item", + // TODO New key - Add a translation + "workflow-item.delete.header": "Delete workflow item", + + // "workflow-item.delete.button.cancel": "Cancel", + // TODO New key - Add a translation + "workflow-item.delete.button.cancel": "Cancel", + + // "workflow-item.delete.button.confirm": "Delete", + // TODO New key - Add a translation + "workflow-item.delete.button.confirm": "Delete", + + + // "workflow-item.send-back.notification.success.title": "Sent back to submitter", + // TODO New key - Add a translation + "workflow-item.send-back.notification.success.title": "Sent back to submitter", + + // "workflow-item.send-back.notification.success.content": "This workflow item was successfully sent back to the submitter", + // TODO New key - Add a translation + "workflow-item.send-back.notification.success.content": "This workflow item was successfully sent back to the submitter", + + // "workflow-item.send-back.notification.error.title": "Something went wrong", + // TODO New key - Add a translation + "workflow-item.send-back.notification.error.title": "Something went wrong", + + // "workflow-item.send-back.notification.error.content": "The workflow item could not be sent back to the submitter", + // TODO New key - Add a translation + "workflow-item.send-back.notification.error.content": "The workflow item could not be sent back to the submitter", + + // "workflow-item.send-back.title": "Send workflow item back to submitter", + // TODO New key - Add a translation + "workflow-item.send-back.title": "Send workflow item back to submitter", + + // "workflow-item.send-back.header": "Send workflow item back to submitter", + // TODO New key - Add a translation + "workflow-item.send-back.header": "Send workflow item back to submitter", + + // "workflow-item.send-back.button.cancel": "Cancel", + // TODO New key - Add a translation + "workflow-item.send-back.button.cancel": "Cancel", + + // "workflow-item.send-back.button.confirm": "Send back" + // TODO New key - Add a translation + "workflow-item.send-back.button.confirm": "Send back" + -} +} \ No newline at end of file diff --git a/src/assets/i18n/fr.json5 b/src/assets/i18n/fr.json5 index 28436e0eb9..42fad7c682 100644 --- a/src/assets/i18n/fr.json5 +++ b/src/assets/i18n/fr.json5 @@ -1,5 +1,33 @@ { + // "401.help": "You're not authorized to access this page. You can use the button below to get back to the home page.", + // TODO New key - Add a translation + "401.help": "You're not authorized to access this page. You can use the button below to get back to the home page.", + + // "401.link.home-page": "Take me to the home page", + // TODO New key - Add a translation + "401.link.home-page": "Take me to the home page", + + // "401.unauthorized": "unauthorized", + // TODO New key - Add a translation + "401.unauthorized": "unauthorized", + + + + // "403.help": "You don't have permission to access this page. You can use the button below to get back to the home page.", + // TODO New key - Add a translation + "403.help": "You don't have permission to access this page. You can use the button below to get back to the home page.", + + // "403.link.home-page": "Take me to the home page", + // TODO New key - Add a translation + "403.link.home-page": "Take me to the home page", + + // "403.forbidden": "forbidden", + // TODO New key - Add a translation + "403.forbidden": "forbidden", + + + // "404.help": "We can't find the page you're looking for. The page may have been moved or deleted. You can use the button below to get back to the home page. ", "404.help": "La page que vous recherchez n'a pas pu être localisée. Cette page pourrait avoir été déplacée ou supprimée. Vous pouvez utiliser le bouton ci-dessous pour revenir sur la page d'accueil.", @@ -9,7 +37,25 @@ // "404.page-not-found": "page not found", "404.page-not-found": "Page introuvable", + // "admin.curation-tasks.breadcrumbs": "System curation tasks", + // TODO New key - Add a translation + "admin.curation-tasks.breadcrumbs": "System curation tasks", + // "admin.curation-tasks.title": "System curation tasks", + // TODO New key - Add a translation + "admin.curation-tasks.title": "System curation tasks", + + // "admin.curation-tasks.header": "System curation tasks", + // TODO New key - Add a translation + "admin.curation-tasks.header": "System curation tasks", + + // "admin.registries.bitstream-formats.breadcrumbs": "Format registry", + // TODO New key - Add a translation + "admin.registries.bitstream-formats.breadcrumbs": "Format registry", + + // "admin.registries.bitstream-formats.create.breadcrumbs": "Bitstream format", + // TODO New key - Add a translation + "admin.registries.bitstream-formats.create.breadcrumbs": "Bitstream format", // "admin.registries.bitstream-formats.create.failure.content": "An error occurred while creating the new bitstream format.", "admin.registries.bitstream-formats.create.failure.content": "Une erreur s'est produite lors de l'ajout du nouveau format Bitstream.", @@ -44,6 +90,10 @@ // "admin.registries.bitstream-formats.description": "This list of bitstream formats provides information about known formats and their support level.", "admin.registries.bitstream-formats.description": "Cette liste des formats Bitstream contient les informations relatives aux formats connus et leur niveau de support.", + // "admin.registries.bitstream-formats.edit.breadcrumbs": "Bitstream format", + // TODO New key - Add a translation + "admin.registries.bitstream-formats.edit.breadcrumbs": "Bitstream format", + // "admin.registries.bitstream-formats.edit.description.hint": "", "admin.registries.bitstream-formats.edit.description.hint": "", @@ -141,6 +191,10 @@ + // "admin.registries.metadata.breadcrumbs": "Metadata registry", + // TODO New key - Add a translation + "admin.registries.metadata.breadcrumbs": "Metadata registry", + // "admin.registries.metadata.description": "The metadata registry maintains a list of all metadata fields available in the repository. These fields may be divided amongst multiple schemas. However, DSpace requires the qualified Dublin Core schema.", "admin.registries.metadata.description": "Le registre de métadonnées présente une liste à jour de tous les champs de métadonnées disponibles dans le dépôt. Ces champs peuvent être répartis entre plusieurs schémas. Le schéma Dublin Core qualifié est toutefois requis dans DSpace.", @@ -179,6 +233,10 @@ + // "admin.registries.schema.breadcrumbs": "Metadata schema", + // TODO New key - Add a translation + "admin.registries.schema.breadcrumbs": "Metadata schema", + // "admin.registries.schema.description": "This is the metadata schema for \"{{namespace}}\".", "admin.registries.schema.description": "Ceci est le schéma de métadonnées correspondant à l'espace de nommage « {{namespace}} ».", @@ -253,6 +311,22 @@ + // "admin.access-control.epeople.actions.delete": "Delete EPerson", + // TODO New key - Add a translation + "admin.access-control.epeople.actions.delete": "Delete EPerson", + + // "admin.access-control.epeople.actions.impersonate": "Impersonate EPerson", + // TODO New key - Add a translation + "admin.access-control.epeople.actions.impersonate": "Impersonate EPerson", + + // "admin.access-control.epeople.actions.reset": "Reset password", + // TODO New key - Add a translation + "admin.access-control.epeople.actions.reset": "Reset password", + + // "admin.access-control.epeople.actions.stop-impersonating": "Stop impersonating EPerson", + // TODO New key - Add a translation + "admin.access-control.epeople.actions.stop-impersonating": "Stop impersonating EPerson", + // "admin.access-control.epeople.title": "DSpace Angular :: EPeople", // TODO New key - Add a translation "admin.access-control.epeople.title": "DSpace Angular :: EPeople", @@ -369,6 +443,14 @@ // TODO New key - Add a translation "admin.access-control.epeople.form.notification.edited.failure": "Failed to edit EPerson \"{{name}}\"", + // "admin.access-control.epeople.form.notification.deleted.success": "Successfully deleted EPerson \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.epeople.form.notification.deleted.success": "Successfully deleted EPerson \"{{name}}\"", + + // "admin.access-control.epeople.form.notification.deleted.failure": "Failed to delete EPerson \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.epeople.form.notification.deleted.failure": "Failed to delete EPerson \"{{name}}\"", + // "admin.access-control.epeople.form.groupsEPersonIsMemberOf": "Member of these groups:", // TODO New key - Add a translation "admin.access-control.epeople.form.groupsEPersonIsMemberOf": "Member of these groups:", @@ -403,6 +485,14 @@ // TODO New key - Add a translation "admin.access-control.groups.title": "DSpace Angular :: Groups", + // "admin.access-control.groups.title.singleGroup": "DSpace Angular :: Edit Group", + // TODO New key - Add a translation + "admin.access-control.groups.title.singleGroup": "DSpace Angular :: Edit Group", + + // "admin.access-control.groups.title.addGroup": "DSpace Angular :: New Group", + // TODO New key - Add a translation + "admin.access-control.groups.title.addGroup": "DSpace Angular :: New Group", + // "admin.access-control.groups.head": "Groups", // TODO New key - Add a translation "admin.access-control.groups.head": "Groups", @@ -435,10 +525,6 @@ // TODO New key - Add a translation "admin.access-control.groups.table.members": "Members", - // "admin.access-control.groups.table.comcol": "Community / Collection", - // TODO New key - Add a translation - "admin.access-control.groups.table.comcol": "Community / Collection", - // "admin.access-control.groups.table.edit": "Edit", // TODO New key - Add a translation "admin.access-control.groups.table.edit": "Edit", @@ -459,10 +545,23 @@ // TODO New key - Add a translation "admin.access-control.groups.notification.deleted.success": "Successfully deleted group \"{{name}}\"", - // "admin.access-control.groups.notification.deleted.failure": "Failed to delete group \"{{name}}\"", + // "admin.access-control.groups.notification.deleted.failure.title": "Failed to delete group \"{{name}}\"", // TODO New key - Add a translation - "admin.access-control.groups.notification.deleted.failure": "Failed to delete group \"{{name}}\"", + "admin.access-control.groups.notification.deleted.failure.title": "Failed to delete group \"{{name}}\"", + // "admin.access-control.groups.notification.deleted.failure.content": "Cause: \"{{cause}}\"", + // TODO New key - Add a translation + "admin.access-control.groups.notification.deleted.failure.content": "Cause: \"{{cause}}\"", + + + + // "admin.access-control.groups.form.alert.permanent": "This group is permanent, so it can't be edited or deleted. You can still add and remove group members using this page.", + // TODO New key - Add a translation + "admin.access-control.groups.form.alert.permanent": "This group is permanent, so it can't be edited or deleted. You can still add and remove group members using this page.", + + // "admin.access-control.groups.form.alert.workflowGroup": "This group can’t be modified or deleted because it corresponds to a role in the submission and workflow process in the \"{{name}}\" {{comcol}}. You can delete it from the \"assign roles\" tab on the edit {{comcol}} page. You can still add and remove group members using this page.", + // TODO New key - Add a translation + "admin.access-control.groups.form.alert.workflowGroup": "This group can’t be modified or deleted because it corresponds to a role in the submission and workflow process in the \"{{name}}\" {{comcol}}. You can delete it from the \"assign roles\" tab on the edit {{comcol}} page. You can still add and remove group members using this page.", // "admin.access-control.groups.form.head.create": "Create group", // TODO New key - Add a translation @@ -492,6 +591,50 @@ // TODO New key - Add a translation "admin.access-control.groups.form.notification.created.failure.groupNameInUse": "Failed to create Group with name: \"{{name}}\", make sure the name is not already in use.", + // "admin.access-control.groups.form.notification.edited.failure": "Failed to edit Group \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.edited.failure": "Failed to edit Group \"{{name}}\"", + + // "admin.access-control.groups.form.notification.edited.failure.groupNameInUse": "Name \"{{name}}\" already in use!", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.edited.failure.groupNameInUse": "Name \"{{name}}\" already in use!", + + // "admin.access-control.groups.form.notification.edited.success": "Successfully edited Group \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.edited.success": "Successfully edited Group \"{{name}}\"", + + // "admin.access-control.groups.form.actions.delete": "Delete Group", + // TODO New key - Add a translation + "admin.access-control.groups.form.actions.delete": "Delete Group", + + // "admin.access-control.groups.form.delete-group.modal.header": "Delete Group \"{{ dsoName }}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.delete-group.modal.header": "Delete Group \"{{ dsoName }}\"", + + // "admin.access-control.groups.form.delete-group.modal.info": "Are you sure you want to delete Group \"{{ dsoName }}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.delete-group.modal.info": "Are you sure you want to delete Group \"{{ dsoName }}\"", + + // "admin.access-control.groups.form.delete-group.modal.cancel": "Cancel", + // TODO New key - Add a translation + "admin.access-control.groups.form.delete-group.modal.cancel": "Cancel", + + // "admin.access-control.groups.form.delete-group.modal.confirm": "Delete", + // TODO New key - Add a translation + "admin.access-control.groups.form.delete-group.modal.confirm": "Delete", + + // "admin.access-control.groups.form.notification.deleted.success": "Successfully deleted group \"{{ name }}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.deleted.success": "Successfully deleted group \"{{ name }}\"", + + // "admin.access-control.groups.form.notification.deleted.failure.title": "Failed to delete group \"{{ name }}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.deleted.failure.title": "Failed to delete group \"{{ name }}\"", + + // "admin.access-control.groups.form.notification.deleted.failure.content": "Cause: \"{{ cause }}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.deleted.failure.content": "Cause: \"{{ cause }}\"", + // "admin.access-control.groups.form.members-list.head": "EPeople", // TODO New key - Add a translation "admin.access-control.groups.form.members-list.head": "EPeople", @@ -568,6 +711,10 @@ // TODO New key - Add a translation "admin.access-control.groups.form.members-list.no-items": "No EPeople found in that search", + // "admin.access-control.groups.form.subgroups-list.notification.failure": "Something went wrong: \"{{cause}}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.subgroups-list.notification.failure": "Something went wrong: \"{{cause}}\"", + // "admin.access-control.groups.form.subgroups-list.head": "Groups", // TODO New key - Add a translation "admin.access-control.groups.form.subgroups-list.head": "Groups", @@ -682,10 +829,6 @@ // TODO New key - Add a translation "admin.search.item.move": "Move", - // "admin.search.item.private": "Private", - // TODO New key - Add a translation - "admin.search.item.private": "Private", - // "admin.search.item.reinstate": "Reinstate", // TODO New key - Add a translation "admin.search.item.reinstate": "Reinstate", @@ -694,14 +837,76 @@ // TODO New key - Add a translation "admin.search.item.withdraw": "Withdraw", - // "admin.search.item.withdrawn": "Withdrawn", - // TODO New key - Add a translation - "admin.search.item.withdrawn": "Withdrawn", - // "admin.search.title": "Administrative Search", // TODO New key - Add a translation "admin.search.title": "Administrative Search", + // "administrativeView.search.results.head": "Administrative Search", + // TODO New key - Add a translation + "administrativeView.search.results.head": "Administrative Search", + + + + + // "admin.workflow.breadcrumbs": "Administer Workflow", + // TODO New key - Add a translation + "admin.workflow.breadcrumbs": "Administer Workflow", + + // "admin.workflow.title": "Administer Workflow", + // TODO New key - Add a translation + "admin.workflow.title": "Administer Workflow", + + // "admin.workflow.item.workflow": "Workflow", + // TODO New key - Add a translation + "admin.workflow.item.workflow": "Workflow", + + // "admin.workflow.item.delete": "Delete", + // TODO New key - Add a translation + "admin.workflow.item.delete": "Delete", + + // "admin.workflow.item.send-back": "Send back", + // TODO New key - Add a translation + "admin.workflow.item.send-back": "Send back", + + + + // "admin.metadata-import.breadcrumbs": "Import Metadata", + // TODO New key - Add a translation + "admin.metadata-import.breadcrumbs": "Import Metadata", + + // "admin.metadata-import.title": "Import Metadata", + // TODO New key - Add a translation + "admin.metadata-import.title": "Import Metadata", + + // "admin.metadata-import.page.header": "Import Metadata", + // TODO New key - Add a translation + "admin.metadata-import.page.header": "Import Metadata", + + // "admin.metadata-import.page.help": "You can drop or browse CSV files that contain batch metadata operations on files here", + // TODO New key - Add a translation + "admin.metadata-import.page.help": "You can drop or browse CSV files that contain batch metadata operations on files here", + + // "admin.metadata-import.page.dropMsg": "Drop a metadata CSV to import", + // TODO New key - Add a translation + "admin.metadata-import.page.dropMsg": "Drop a metadata CSV to import", + + // "admin.metadata-import.page.dropMsgReplace": "Drop to replace the metadata CSV to import", + // TODO New key - Add a translation + "admin.metadata-import.page.dropMsgReplace": "Drop to replace the metadata CSV to import", + + // "admin.metadata-import.page.button.return": "Return", + // TODO New key - Add a translation + "admin.metadata-import.page.button.return": "Return", + + // "admin.metadata-import.page.button.proceed": "Proceed", + // TODO New key - Add a translation + "admin.metadata-import.page.button.proceed": "Proceed", + + // "admin.metadata-import.page.error.addFile": "Select file first!", + // TODO New key - Add a translation + "admin.metadata-import.page.error.addFile": "Select file first!", + + // "auth.errors.invalid-user": "Invalid email address or password.", @@ -904,6 +1109,10 @@ // "collection.create.sub-head": "Create a Collection for Community {{ parent }}", "collection.create.sub-head": "Créer une Collection au sein de la Communauté {{ parent }}", + // "collection.curate.header": "Curate Collection: {{collection}}", + // TODO New key - Add a translation + "collection.curate.header": "Curate Collection: {{collection}}", + // "collection.delete.cancel": "Cancel", "collection.delete.cancel": "Annuler", @@ -936,6 +1145,14 @@ + // "collection.edit.tabs.mapper.head": "Item Mapper", + // TODO New key - Add a translation + "collection.edit.tabs.mapper.head": "Item Mapper", + + // "collection.edit.tabs.item-mapper.title": "Collection Edit - Item Mapper", + // TODO New key - Add a translation + "collection.edit.tabs.item-mapper.title": "Collection Edit - Item Mapper", + // "collection.edit.item-mapper.cancel": "Cancel", "collection.edit.item-mapper.cancel": "Annuler", @@ -1037,6 +1254,14 @@ // TODO New key - Add a translation "collection.edit.tabs.curate.title": "Collection Edit - Curate", + // "collection.edit.tabs.authorizations.head": "Authorizations", + // TODO New key - Add a translation + "collection.edit.tabs.authorizations.head": "Authorizations", + + // "collection.edit.tabs.authorizations.title": "Collection Edit - Authorizations", + // TODO New key - Add a translation + "collection.edit.tabs.authorizations.title": "Collection Edit - Authorizations", + // "collection.edit.tabs.metadata.head": "Edit Metadata", // TODO New key - Add a translation "collection.edit.tabs.metadata.head": "Edit Metadata", @@ -1127,6 +1352,48 @@ + // "collection.edit.template.add-button": "Add", + // TODO New key - Add a translation + "collection.edit.template.add-button": "Add", + + // "collection.edit.template.breadcrumbs": "Item template", + // TODO New key - Add a translation + "collection.edit.template.breadcrumbs": "Item template", + + // "collection.edit.template.cancel": "Cancel", + // TODO New key - Add a translation + "collection.edit.template.cancel": "Cancel", + + // "collection.edit.template.delete-button": "Delete", + // TODO New key - Add a translation + "collection.edit.template.delete-button": "Delete", + + // "collection.edit.template.edit-button": "Edit", + // TODO New key - Add a translation + "collection.edit.template.edit-button": "Edit", + + // "collection.edit.template.head": "Edit Template Item for Collection \"{{ collection }}\"", + // TODO New key - Add a translation + "collection.edit.template.head": "Edit Template Item for Collection \"{{ collection }}\"", + + // "collection.edit.template.label": "Template item", + // TODO New key - Add a translation + "collection.edit.template.label": "Template item", + + // "collection.edit.template.notifications.delete.error": "Failed to delete the item template", + // TODO New key - Add a translation + "collection.edit.template.notifications.delete.error": "Failed to delete the item template", + + // "collection.edit.template.notifications.delete.success": "Successfully deleted the item template", + // TODO New key - Add a translation + "collection.edit.template.notifications.delete.success": "Successfully deleted the item template", + + // "collection.edit.template.title": "Edit Template Item", + // TODO New key - Add a translation + "collection.edit.template.title": "Edit Template Item", + + + // "collection.form.abstract": "Short Description", "collection.form.abstract": "Description succincte", @@ -1153,12 +1420,22 @@ + // "collection.listelement.badge": "Collection", + // TODO New key - Add a translation + "collection.listelement.badge": "Collection", + + + // "collection.page.browse.recent.head": "Recent Submissions", "collection.page.browse.recent.head": "Dépôts récents", // "collection.page.browse.recent.empty": "No items to show", "collection.page.browse.recent.empty": "Aucun dépôt disponible", + // "collection.page.edit": "Edit this collection", + // TODO New key - Add a translation + "collection.page.edit": "Edit this collection", + // "collection.page.handle": "Permanent URI for this collection", "collection.page.handle": "URI permanent de cette Collection", @@ -1215,6 +1492,10 @@ // "community.create.sub-head": "Create a Sub-Community for Community {{ parent }}", "community.create.sub-head": "Créer une Sous-Communauté pour la Communauté {{ parent }}", + // "community.curate.header": "Curate Community: {{community}}", + // TODO New key - Add a translation + "community.curate.header": "Curate Community: {{community}}", + // "community.delete.cancel": "Cancel", "community.delete.cancel": "Annuler", @@ -1278,6 +1559,14 @@ // TODO New key - Add a translation "community.edit.notifications.success": "Successfully edited the Community", + // "community.edit.notifications.unauthorized": "You do not have privileges to make this change", + // TODO New key - Add a translation + "community.edit.notifications.unauthorized": "You do not have privileges to make this change", + + // "community.edit.notifications.error": "An error occured while editing the Community", + // TODO New key - Add a translation + "community.edit.notifications.error": "An error occured while editing the Community", + // "community.edit.return": "Return", // TODO New key - Add a translation "community.edit.return": "Return", @@ -1308,6 +1597,118 @@ // TODO New key - Add a translation "community.edit.tabs.roles.title": "Community Edit - Roles", + // "community.edit.tabs.authorizations.head": "Authorizations", + // TODO New key - Add a translation + "community.edit.tabs.authorizations.head": "Authorizations", + + // "community.edit.tabs.authorizations.title": "Community Edit - Authorizations", + // TODO New key - Add a translation + "community.edit.tabs.authorizations.title": "Community Edit - Authorizations", + + + + // "community.listelement.badge": "Community", + // TODO New key - Add a translation + "community.listelement.badge": "Community", + + + + // "comcol-role.edit.no-group": "None", + // TODO New key - Add a translation + "comcol-role.edit.no-group": "None", + + // "comcol-role.edit.create": "Create", + // TODO New key - Add a translation + "comcol-role.edit.create": "Create", + + // "comcol-role.edit.restrict": "Restrict", + // TODO New key - Add a translation + "comcol-role.edit.restrict": "Restrict", + + // "comcol-role.edit.delete": "Delete", + // TODO New key - Add a translation + "comcol-role.edit.delete": "Delete", + + + // "comcol-role.edit.community-admin.name": "Administrators", + // TODO New key - Add a translation + "comcol-role.edit.community-admin.name": "Administrators", + + // "comcol-role.edit.collection-admin.name": "Administrators", + // TODO New key - Add a translation + "comcol-role.edit.collection-admin.name": "Administrators", + + + // "comcol-role.edit.community-admin.description": "Community administrators can create sub-communities or collections, and manage or assign management for those sub-communities or collections. In addition, they decide who can submit items to any sub-collections, edit item metadata (after submission), and add (map) existing items from other collections (subject to authorization).", + // TODO New key - Add a translation + "comcol-role.edit.community-admin.description": "Community administrators can create sub-communities or collections, and manage or assign management for those sub-communities or collections. In addition, they decide who can submit items to any sub-collections, edit item metadata (after submission), and add (map) existing items from other collections (subject to authorization).", + + // "comcol-role.edit.collection-admin.description": "Collection administrators decide who can submit items to the collection, edit item metadata (after submission), and add (map) existing items from other collections to this collection (subject to authorization for that collection).", + // TODO New key - Add a translation + "comcol-role.edit.collection-admin.description": "Collection administrators decide who can submit items to the collection, edit item metadata (after submission), and add (map) existing items from other collections to this collection (subject to authorization for that collection).", + + + // "comcol-role.edit.submitters.name": "Submitters", + // TODO New key - Add a translation + "comcol-role.edit.submitters.name": "Submitters", + + // "comcol-role.edit.submitters.description": "The E-People and Groups that have permission to submit new items to this collection.", + // TODO New key - Add a translation + "comcol-role.edit.submitters.description": "The E-People and Groups that have permission to submit new items to this collection.", + + + // "comcol-role.edit.item_read.name": "Default item read access", + // TODO New key - Add a translation + "comcol-role.edit.item_read.name": "Default item read access", + + // "comcol-role.edit.item_read.description": "E-People and Groups that can read new items submitted to this collection. Changes to this role are not retroactive. Existing items in the system will still be viewable by those who had read access at the time of their addition.", + // TODO New key - Add a translation + "comcol-role.edit.item_read.description": "E-People and Groups that can read new items submitted to this collection. Changes to this role are not retroactive. Existing items in the system will still be viewable by those who had read access at the time of their addition.", + + // "comcol-role.edit.item_read.anonymous-group": "Default read for incoming items is currently set to Anonymous.", + // TODO New key - Add a translation + "comcol-role.edit.item_read.anonymous-group": "Default read for incoming items is currently set to Anonymous.", + + + // "comcol-role.edit.bitstream_read.name": "Default bitstream read access", + // TODO New key - Add a translation + "comcol-role.edit.bitstream_read.name": "Default bitstream read access", + + // "comcol-role.edit.bitstream_read.description": "Community administrators can create sub-communities or collections, and manage or assign management for those sub-communities or collections. In addition, they decide who can submit items to any sub-collections, edit item metadata (after submission), and add (map) existing items from other collections (subject to authorization).", + // TODO New key - Add a translation + "comcol-role.edit.bitstream_read.description": "Community administrators can create sub-communities or collections, and manage or assign management for those sub-communities or collections. In addition, they decide who can submit items to any sub-collections, edit item metadata (after submission), and add (map) existing items from other collections (subject to authorization).", + + // "comcol-role.edit.bitstream_read.anonymous-group": "Default read for incoming bitstreams is currently set to Anonymous.", + // TODO New key - Add a translation + "comcol-role.edit.bitstream_read.anonymous-group": "Default read for incoming bitstreams is currently set to Anonymous.", + + + // "comcol-role.edit.editor.name": "Editors", + // TODO New key - Add a translation + "comcol-role.edit.editor.name": "Editors", + + // "comcol-role.edit.editor.description": "Editors are able to edit the metadata of incoming submissions, and then accept or reject them.", + // TODO New key - Add a translation + "comcol-role.edit.editor.description": "Editors are able to edit the metadata of incoming submissions, and then accept or reject them.", + + + // "comcol-role.edit.finaleditor.name": "Final editors", + // TODO New key - Add a translation + "comcol-role.edit.finaleditor.name": "Final editors", + + // "comcol-role.edit.finaleditor.description": "Final editors are able to edit the metadata of incoming submissions, but will not be able to reject them.", + // TODO New key - Add a translation + "comcol-role.edit.finaleditor.description": "Final editors are able to edit the metadata of incoming submissions, but will not be able to reject them.", + + + // "comcol-role.edit.reviewer.name": "Reviewers", + // TODO New key - Add a translation + "comcol-role.edit.reviewer.name": "Reviewers", + + // "comcol-role.edit.reviewer.description": "Reviewers are able to accept or reject incoming submissions. However, they are not able to edit the submission's metadata.", + // TODO New key - Add a translation + "comcol-role.edit.reviewer.description": "Reviewers are able to accept or reject incoming submissions. However, they are not able to edit the submission's metadata.", + // "community.form.abstract": "Short Description", @@ -1328,6 +1729,10 @@ // "community.form.title": "Name", "community.form.title": "Nom", + // "community.page.edit": "Edit this community", + // TODO New key - Add a translation + "community.page.edit": "Edit this community", + // "community.page.handle": "Permanent URI for this community", "community.page.handle": "URI permanent de cette Communauté", @@ -1348,9 +1753,187 @@ + // "cookies.consent.accept-all": "Accept all", + // TODO New key - Add a translation + "cookies.consent.accept-all": "Accept all", + + // "cookies.consent.accept-selected": "Accept selected", + // TODO New key - Add a translation + "cookies.consent.accept-selected": "Accept selected", + + // "cookies.consent.app.opt-out.description": "This app is loaded by default (but you can opt out)", + // TODO New key - Add a translation + "cookies.consent.app.opt-out.description": "This app is loaded by default (but you can opt out)", + + // "cookies.consent.app.opt-out.title": "(opt-out)", + // TODO New key - Add a translation + "cookies.consent.app.opt-out.title": "(opt-out)", + + // "cookies.consent.app.purpose": "purpose", + // TODO New key - Add a translation + "cookies.consent.app.purpose": "purpose", + + // "cookies.consent.app.required.description": "This application is always required", + // TODO New key - Add a translation + "cookies.consent.app.required.description": "This application is always required", + + // "cookies.consent.app.required.title": "(always required)", + // TODO New key - Add a translation + "cookies.consent.app.required.title": "(always required)", + + // "cookies.consent.update": "There were changes since your last visit, please update your consent.", + // TODO New key - Add a translation + "cookies.consent.update": "There were changes since your last visit, please update your consent.", + + // "cookies.consent.close": "Close", + // TODO New key - Add a translation + "cookies.consent.close": "Close", + + // "cookies.consent.decline": "Decline", + // TODO New key - Add a translation + "cookies.consent.decline": "Decline", + + // "cookies.consent.content-notice.description": "We collect and process your personal information for the following purposes: Authentication, Preferences, Acknowledgement and Statistics.
To learn more, please read our {privacyPolicy}.", + // TODO New key - Add a translation + "cookies.consent.content-notice.description": "We collect and process your personal information for the following purposes: Authentication, Preferences, Acknowledgement and Statistics.
To learn more, please read our {privacyPolicy}.", + + // "cookies.consent.content-notice.learnMore": "Customize", + // TODO New key - Add a translation + "cookies.consent.content-notice.learnMore": "Customize", + + // "cookies.consent.content-modal.description": "Here you can see and customize the information that we collect about you.", + // TODO New key - Add a translation + "cookies.consent.content-modal.description": "Here you can see and customize the information that we collect about you.", + + // "cookies.consent.content-modal.privacy-policy.name": "privacy policy", + // TODO New key - Add a translation + "cookies.consent.content-modal.privacy-policy.name": "privacy policy", + + // "cookies.consent.content-modal.privacy-policy.text": "To learn more, please read our {privacyPolicy}.", + // TODO New key - Add a translation + "cookies.consent.content-modal.privacy-policy.text": "To learn more, please read our {privacyPolicy}.", + + // "cookies.consent.content-modal.title": "Information that we collect", + // TODO New key - Add a translation + "cookies.consent.content-modal.title": "Information that we collect", + + + + // "cookies.consent.app.title.authentication": "Authentication", + // TODO New key - Add a translation + "cookies.consent.app.title.authentication": "Authentication", + + // "cookies.consent.app.description.authentication": "Required for signing you in", + // TODO New key - Add a translation + "cookies.consent.app.description.authentication": "Required for signing you in", + + + // "cookies.consent.app.title.preferences": "Preferences", + // TODO New key - Add a translation + "cookies.consent.app.title.preferences": "Preferences", + + // "cookies.consent.app.description.preferences": "Required for saving your preferences", + // TODO New key - Add a translation + "cookies.consent.app.description.preferences": "Required for saving your preferences", + + + + // "cookies.consent.app.title.acknowledgement": "Acknowledgement", + // TODO New key - Add a translation + "cookies.consent.app.title.acknowledgement": "Acknowledgement", + + // "cookies.consent.app.description.acknowledgement": "Required for saving your acknowledgements and consents", + // TODO New key - Add a translation + "cookies.consent.app.description.acknowledgement": "Required for saving your acknowledgements and consents", + + + + // "cookies.consent.app.title.google-analytics": "Google Analytics", + // TODO New key - Add a translation + "cookies.consent.app.title.google-analytics": "Google Analytics", + + // "cookies.consent.app.description.google-analytics": "Allows us to track statistical data", + // TODO New key - Add a translation + "cookies.consent.app.description.google-analytics": "Allows us to track statistical data", + + + + // "cookies.consent.purpose.functional": "Functional", + // TODO New key - Add a translation + "cookies.consent.purpose.functional": "Functional", + + // "cookies.consent.purpose.statistical": "Statistical", + // TODO New key - Add a translation + "cookies.consent.purpose.statistical": "Statistical", + + + // "curation-task.task.checklinks.label": "Check Links in Metadata", + // TODO New key - Add a translation + "curation-task.task.checklinks.label": "Check Links in Metadata", + + // "curation-task.task.noop.label": "NOOP", + // TODO New key - Add a translation + "curation-task.task.noop.label": "NOOP", + + // "curation-task.task.profileformats.label": "Profile Bitstream Formats", + // TODO New key - Add a translation + "curation-task.task.profileformats.label": "Profile Bitstream Formats", + + // "curation-task.task.requiredmetadata.label": "Check for Required Metadata", + // TODO New key - Add a translation + "curation-task.task.requiredmetadata.label": "Check for Required Metadata", + + // "curation-task.task.translate.label": "Microsoft Translator", + // TODO New key - Add a translation + "curation-task.task.translate.label": "Microsoft Translator", + + // "curation-task.task.vscan.label": "Virus Scan", + // TODO New key - Add a translation + "curation-task.task.vscan.label": "Virus Scan", + + + + // "curation.form.task-select.label": "Task:", + // TODO New key - Add a translation + "curation.form.task-select.label": "Task:", + + // "curation.form.submit": "Start", + // TODO New key - Add a translation + "curation.form.submit": "Start", + + // "curation.form.submit.success.head": "The curation task has been started successfully", + // TODO New key - Add a translation + "curation.form.submit.success.head": "The curation task has been started successfully", + + // "curation.form.submit.success.content": "You will be redirected to the corresponding process page.", + // TODO New key - Add a translation + "curation.form.submit.success.content": "You will be redirected to the corresponding process page.", + + // "curation.form.submit.error.head": "Running the curation task failed", + // TODO New key - Add a translation + "curation.form.submit.error.head": "Running the curation task failed", + + // "curation.form.submit.error.content": "An error occured when trying to start the curation task.", + // TODO New key - Add a translation + "curation.form.submit.error.content": "An error occured when trying to start the curation task.", + + // "curation.form.handle.label": "Handle:", + // TODO New key - Add a translation + "curation.form.handle.label": "Handle:", + + // "curation.form.handle.hint": "Hint: Enter [your-handle-prefix]/0 to run a task across entire site (not all tasks may support this capability)", + // TODO New key - Add a translation + "curation.form.handle.hint": "Hint: Enter [your-handle-prefix]/0 to run a task across entire site (not all tasks may support this capability)", + + + // "dso-selector.create.collection.head": "New collection", "dso-selector.create.collection.head": "Nouvelle Collection", + // "dso-selector.create.collection.sub-level": "Create a new collection in", + // TODO New key - Add a translation + "dso-selector.create.collection.sub-level": "Create a new collection in", + // "dso-selector.create.community.head": "New community", "dso-selector.create.community.head": "Nouvelle Communauté", @@ -1363,6 +1946,14 @@ // "dso-selector.create.item.head": "New item", "dso-selector.create.item.head": "Nouvel Item", + // "dso-selector.create.item.sub-level": "Create a new item in", + // TODO New key - Add a translation + "dso-selector.create.item.sub-level": "Create a new item in", + + // "dso-selector.create.submission.head": "New submission", + // TODO New key - Add a translation + "dso-selector.create.submission.head": "New submission", + // "dso-selector.edit.collection.head": "Edit collection", "dso-selector.edit.collection.head": "Éditer Collection", @@ -1372,6 +1963,10 @@ // "dso-selector.edit.item.head": "Edit item", "dso-selector.edit.item.head": "Éditer Item", + // "dso-selector.export-metadata.dspaceobject.head": "Export metadata from", + // TODO New key - Add a translation + "dso-selector.export-metadata.dspaceobject.head": "Export metadata from", + // "dso-selector.no-results": "No {{ type }} found", "dso-selector.no-results": "Aucun {{ type }} trouvé", @@ -1380,6 +1975,39 @@ + // "confirmation-modal.export-metadata.header": "Export metadata for {{ dsoName }}", + // TODO New key - Add a translation + "confirmation-modal.export-metadata.header": "Export metadata for {{ dsoName }}", + + // "confirmation-modal.export-metadata.info": "Are you sure you want to export metadata for {{ dsoName }}", + // TODO New key - Add a translation + "confirmation-modal.export-metadata.info": "Are you sure you want to export metadata for {{ dsoName }}", + + // "confirmation-modal.export-metadata.cancel": "Cancel", + // TODO New key - Add a translation + "confirmation-modal.export-metadata.cancel": "Cancel", + + // "confirmation-modal.export-metadata.confirm": "Export", + // TODO New key - Add a translation + "confirmation-modal.export-metadata.confirm": "Export", + + // "confirmation-modal.delete-eperson.header": "Delete EPerson \"{{ dsoName }}\"", + // TODO New key - Add a translation + "confirmation-modal.delete-eperson.header": "Delete EPerson \"{{ dsoName }}\"", + + // "confirmation-modal.delete-eperson.info": "Are you sure you want to delete EPerson \"{{ dsoName }}\"", + // TODO New key - Add a translation + "confirmation-modal.delete-eperson.info": "Are you sure you want to delete EPerson \"{{ dsoName }}\"", + + // "confirmation-modal.delete-eperson.cancel": "Cancel", + // TODO New key - Add a translation + "confirmation-modal.delete-eperson.cancel": "Cancel", + + // "confirmation-modal.delete-eperson.confirm": "Delete", + // TODO New key - Add a translation + "confirmation-modal.delete-eperson.confirm": "Delete", + + // "error.bitstream": "Error fetching bitstream", // TODO New key - Add a translation "error.bitstream": "Error fetching bitstream", @@ -1441,6 +2069,12 @@ + // "file-section.error.header": "Error obtaining files for this item", + // TODO New key - Add a translation + "file-section.error.header": "Error obtaining files for this item", + + + // "footer.copyright": "copyright © 2002-{{ year }}", // TODO New key - Add a translation "footer.copyright": "copyright © 2002-{{ year }}", @@ -1451,6 +2085,127 @@ // "footer.link.duraspace": "DuraSpace", "footer.link.duraspace": "DuraSpace", + // "footer.link.cookies": "Cookie settings", + // TODO New key - Add a translation + "footer.link.cookies": "Cookie settings", + + // "footer.link.privacy-policy": "Privacy policy", + // TODO New key - Add a translation + "footer.link.privacy-policy": "Privacy policy", + + // "footer.link.end-user-agreement":"End User Agreement", + // TODO New key - Add a translation + "footer.link.end-user-agreement":"End User Agreement", + + + + // "forgot-email.form.header": "Forgot Password", + // TODO New key - Add a translation + "forgot-email.form.header": "Forgot Password", + + // "forgot-email.form.info": "Enter Register an account to subscribe to collections for email updates, and submit new items to DSpace.", + // TODO New key - Add a translation + "forgot-email.form.info": "Enter Register an account to subscribe to collections for email updates, and submit new items to DSpace.", + + // "forgot-email.form.email": "Email Address *", + // TODO New key - Add a translation + "forgot-email.form.email": "Email Address *", + + // "forgot-email.form.email.error.required": "Please fill in an email address", + // TODO New key - Add a translation + "forgot-email.form.email.error.required": "Please fill in an email address", + + // "forgot-email.form.email.error.pattern": "Please fill in a valid email address", + // TODO New key - Add a translation + "forgot-email.form.email.error.pattern": "Please fill in a valid email address", + + // "forgot-email.form.email.hint": "This address will be verified and used as your login name.", + // TODO New key - Add a translation + "forgot-email.form.email.hint": "This address will be verified and used as your login name.", + + // "forgot-email.form.submit": "Submit", + // TODO New key - Add a translation + "forgot-email.form.submit": "Submit", + + // "forgot-email.form.success.head": "Verification email sent", + // TODO New key - Add a translation + "forgot-email.form.success.head": "Verification email sent", + + // "forgot-email.form.success.content": "An email has been sent to {{ email }} containing a special URL and further instructions.", + // TODO New key - Add a translation + "forgot-email.form.success.content": "An email has been sent to {{ email }} containing a special URL and further instructions.", + + // "forgot-email.form.error.head": "Error when trying to register email", + // TODO New key - Add a translation + "forgot-email.form.error.head": "Error when trying to register email", + + // "forgot-email.form.error.content": "An error occured when registering the following email address: {{ email }}", + // TODO New key - Add a translation + "forgot-email.form.error.content": "An error occured when registering the following email address: {{ email }}", + + + + // "forgot-password.title": "Forgot Password", + // TODO New key - Add a translation + "forgot-password.title": "Forgot Password", + + // "forgot-password.form.head": "Forgot Password", + // TODO New key - Add a translation + "forgot-password.form.head": "Forgot Password", + + // "forgot-password.form.info": "Enter a new password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", + // TODO New key - Add a translation + "forgot-password.form.info": "Enter a new password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", + + // "forgot-password.form.card.security": "Security", + // TODO New key - Add a translation + "forgot-password.form.card.security": "Security", + + // "forgot-password.form.identification.header": "Identify", + // TODO New key - Add a translation + "forgot-password.form.identification.header": "Identify", + + // "forgot-password.form.identification.email": "Email address: ", + // TODO New key - Add a translation + "forgot-password.form.identification.email": "Email address: ", + + // "forgot-password.form.label.password": "Password", + // TODO New key - Add a translation + "forgot-password.form.label.password": "Password", + + // "forgot-password.form.label.passwordrepeat": "Retype to confirm", + // TODO New key - Add a translation + "forgot-password.form.label.passwordrepeat": "Retype to confirm", + + // "forgot-password.form.error.empty-password": "Please enter a password in the box below.", + // TODO New key - Add a translation + "forgot-password.form.error.empty-password": "Please enter a password in the box below.", + + // "forgot-password.form.error.matching-passwords": "The passwords do not match.", + // TODO New key - Add a translation + "forgot-password.form.error.matching-passwords": "The passwords do not match.", + + // "forgot-password.form.error.password-length": "The password should be at least 6 characters long.", + // TODO New key - Add a translation + "forgot-password.form.error.password-length": "The password should be at least 6 characters long.", + + // "forgot-password.form.notification.error.title": "Error when trying to submit new password", + // TODO New key - Add a translation + "forgot-password.form.notification.error.title": "Error when trying to submit new password", + + // "forgot-password.form.notification.success.content": "The password reset was successful. You have been logged in as the created user.", + // TODO New key - Add a translation + "forgot-password.form.notification.success.content": "The password reset was successful. You have been logged in as the created user.", + + // "forgot-password.form.notification.success.title": "Password reset completed", + // TODO New key - Add a translation + "forgot-password.form.notification.success.title": "Password reset completed", + + // "forgot-password.form.submit": "Submit password", + // TODO New key - Add a translation + "forgot-password.form.submit": "Submit password", + + // "form.add": "Add", // TODO New key - Add a translation @@ -1525,7 +2280,8 @@ // "form.search": "Search", "form.search": "Rechercher", - // "form.search-help": "Click here to looking for an existing correspondence", + // "form.search-help": "Click here to look for an existing correspondence", + // TODO Source message changed - Revise the translation "form.search-help": "Cliquer ici pour rechercher une correspondance existante", // "form.submit": "Submit", @@ -1536,6 +2292,10 @@ // "home.description": "", "home.description": "", + // "home.breadcrumbs": "Home", + // TODO New key - Add a translation + "home.breadcrumbs": "Home", + // "home.title": "DSpace Angular :: Home", "home.title": "DSpace Angular :: Home", @@ -1547,6 +2307,81 @@ + // "info.end-user-agreement.accept": "I have read and I agree to the End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.accept": "I have read and I agree to the End User Agreement", + + // "info.end-user-agreement.accept.error": "An error occurred accepting the End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.accept.error": "An error occurred accepting the End User Agreement", + + // "info.end-user-agreement.accept.success": "Successfully updated the End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.accept.success": "Successfully updated the End User Agreement", + + // "info.end-user-agreement.breadcrumbs": "End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.breadcrumbs": "End User Agreement", + + // "info.end-user-agreement.buttons.cancel": "Cancel", + // TODO New key - Add a translation + "info.end-user-agreement.buttons.cancel": "Cancel", + + // "info.end-user-agreement.buttons.save": "Save", + // TODO New key - Add a translation + "info.end-user-agreement.buttons.save": "Save", + + // "info.end-user-agreement.head": "End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.head": "End User Agreement", + + // "info.end-user-agreement.title": "End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.title": "End User Agreement", + + // "info.privacy.breadcrumbs": "Privacy Statement", + // TODO New key - Add a translation + "info.privacy.breadcrumbs": "Privacy Statement", + + // "info.privacy.head": "Privacy Statement", + // TODO New key - Add a translation + "info.privacy.head": "Privacy Statement", + + // "info.privacy.title": "Privacy Statement", + // TODO New key - Add a translation + "info.privacy.title": "Privacy Statement", + + + + // "item.alerts.private": "This item is private", + // TODO New key - Add a translation + "item.alerts.private": "This item is private", + + // "item.alerts.withdrawn": "This item has been withdrawn", + // TODO New key - Add a translation + "item.alerts.withdrawn": "This item has been withdrawn", + + + + // "item.edit.authorizations.heading": "With this editor you can view and alter the policies of an item, plus alter policies of individual item components: bundles and bitstreams. Briefly, an item is a container of bundles, and bundles are containers of bitstreams. Containers usually have ADD/REMOVE/READ/WRITE policies, while bitstreams only have READ/WRITE policies.", + // TODO New key - Add a translation + "item.edit.authorizations.heading": "With this editor you can view and alter the policies of an item, plus alter policies of individual item components: bundles and bitstreams. Briefly, an item is a container of bundles, and bundles are containers of bitstreams. Containers usually have ADD/REMOVE/READ/WRITE policies, while bitstreams only have READ/WRITE policies.", + + // "item.edit.authorizations.title": "Edit item's Policies", + // TODO New key - Add a translation + "item.edit.authorizations.title": "Edit item's Policies", + + + + // "item.badge.private": "Private", + // TODO New key - Add a translation + "item.badge.private": "Private", + + // "item.badge.withdrawn": "Withdrawn", + // TODO New key - Add a translation + "item.badge.withdrawn": "Withdrawn", + + // "item.bitstreams.upload.bundle": "Bundle", // TODO New key - Add a translation @@ -1742,6 +2577,13 @@ "item.edit.breadcrumbs": "Edit Item", + // "item.edit.tabs.mapper.head": "Collection Mapper", + // TODO New key - Add a translation + "item.edit.tabs.mapper.head": "Collection Mapper", + + // "item.edit.tabs.item-mapper.title": "Item Edit - Collection Mapper", + // TODO New key - Add a translation + "item.edit.tabs.item-mapper.title": "Item Edit - Collection Mapper", // "item.edit.item-mapper.buttons.add": "Map item to selected collections", "item.edit.item-mapper.buttons.add": "Associer Item aux Collections sélectionnées", @@ -1814,6 +2656,10 @@ // "item.edit.metadata.edit.buttons.unedit": "Stop editing", "item.edit.metadata.edit.buttons.unedit": "Stopper l'édition", + // "item.edit.metadata.empty": "The item currently doesn't contain any metadata. Click Add to start adding a metadata value.", + // TODO New key - Add a translation + "item.edit.metadata.empty": "The item currently doesn't contain any metadata. Click Add to start adding a metadata value.", + // "item.edit.metadata.headers.edit": "Edit", "item.edit.metadata.headers.edit": "Éditer", @@ -1835,6 +2681,10 @@ // "item.edit.metadata.notifications.discarded.title": "Changed discarded", "item.edit.metadata.notifications.discarded.title": "Changements annulés", + // "item.edit.metadata.notifications.error.title": "An error occurred", + // TODO New key - Add a translation + "item.edit.metadata.notifications.error.title": "An error occurred", + // "item.edit.metadata.notifications.invalid.content": "Your changes were not saved. Please make sure all fields are valid before you save.", "item.edit.metadata.notifications.invalid.content": "Vos changements n'ont pas été sauvegardés. Veuillez vérifier que tous les champs sont valides avant de sauvegarder.", @@ -1972,19 +2822,28 @@ // "item.edit.relationships.discard-button": "Discard", "item.edit.relationships.discard-button": "Annuler", + // "item.edit.relationships.edit.buttons.add": "Add", + // TODO New key - Add a translation + "item.edit.relationships.edit.buttons.add": "Add", + // "item.edit.relationships.edit.buttons.remove": "Remove", "item.edit.relationships.edit.buttons.remove": "Supprimer", // "item.edit.relationships.edit.buttons.undo": "Undo changes", "item.edit.relationships.edit.buttons.undo": "Annuler changements", + // "item.edit.relationships.no-relationships": "No relationships", + // TODO New key - Add a translation + "item.edit.relationships.no-relationships": "No relationships", + // "item.edit.relationships.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", "item.edit.relationships.notifications.discarded.content": "Vos changements ont été annulés. Pour rétablir vos changements, cliquer sur le bouton 'Rétablir'", // "item.edit.relationships.notifications.discarded.title": "Changes discarded", "item.edit.relationships.notifications.discarded.title": "Changements annulés", - // "item.edit.relationships.notifications.failed.title": "Error deleting relationship", + // "item.edit.relationships.notifications.failed.title": "Error editing relationships", + // TODO Source message changed - Revise the translation "item.edit.relationships.notifications.failed.title": "Erreur lors de la suppression de la Relation", // "item.edit.relationships.notifications.outdated.content": "The item you're currently working on has been changed by another user. Your current changes are discarded to prevent conflicts", @@ -2005,6 +2864,10 @@ // "item.edit.relationships.save-button": "Save", "item.edit.relationships.save-button": "Sauvegarder", + // "item.edit.relationships.no-entity-type": "Add 'relationship.type' metadata to enable relationships for this item", + // TODO New key - Add a translation + "item.edit.relationships.no-entity-type": "Add 'relationship.type' metadata to enable relationships for this item", + // "item.edit.tabs.bitstreams.head": "Bitstreams", @@ -2145,6 +3008,48 @@ + // "item.listelement.badge": "Item", + // TODO New key - Add a translation + "item.listelement.badge": "Item", + + // "item.page.description": "Description", + // TODO New key - Add a translation + "item.page.description": "Description", + + // "item.page.edit": "Edit this item", + // TODO New key - Add a translation + "item.page.edit": "Edit this item", + + // "item.page.journal-issn": "Journal ISSN", + // TODO New key - Add a translation + "item.page.journal-issn": "Journal ISSN", + + // "item.page.journal-title": "Journal Title", + // TODO New key - Add a translation + "item.page.journal-title": "Journal Title", + + // "item.page.publisher": "Publisher", + // TODO New key - Add a translation + "item.page.publisher": "Publisher", + + // "item.page.titleprefix": "Item: ", + // TODO New key - Add a translation + "item.page.titleprefix": "Item: ", + + // "item.page.volume-title": "Volume Title", + // TODO New key - Add a translation + "item.page.volume-title": "Volume Title", + + // "item.search.results.head": "Item Search Results", + // TODO New key - Add a translation + "item.search.results.head": "Item Search Results", + + // "item.search.title": "DSpace Angular :: Item Search", + // TODO New key - Add a translation + "item.search.title": "DSpace Angular :: Item Search", + + + // "item.page.abstract": "Abstract", "item.page.abstract": "Résumé", @@ -2160,6 +3065,10 @@ // "item.page.date": "Date", "item.page.date": "Date", + // "item.page.edit": "Edit this item", + // TODO New key - Add a translation + "item.page.edit": "Edit this item", + // "item.page.files": "Files", "item.page.files": "Fichiers", @@ -2220,6 +3129,65 @@ // "item.page.uri": "URI", "item.page.uri": "URI", + // "item.page.bitstreams.view-more": "Show more", + // TODO New key - Add a translation + "item.page.bitstreams.view-more": "Show more", + + // "item.page.bitstreams.collapse": "Collapse", + // TODO New key - Add a translation + "item.page.bitstreams.collapse": "Collapse", + + // "item.page.filesection.original.bundle" : "Original bundle", + // TODO New key - Add a translation + "item.page.filesection.original.bundle" : "Original bundle", + + // "item.page.filesection.license.bundle" : "License bundle", + // TODO New key - Add a translation + "item.page.filesection.license.bundle" : "License bundle", + + // "item.preview.dc.identifier.uri": "Identifier:", + // TODO New key - Add a translation + "item.preview.dc.identifier.uri": "Identifier:", + + // "item.preview.dc.contributor.author": "Authors:", + // TODO New key - Add a translation + "item.preview.dc.contributor.author": "Authors:", + + // "item.preview.dc.date.issued": "Published date:", + // TODO New key - Add a translation + "item.preview.dc.date.issued": "Published date:", + + // "item.preview.dc.description.abstract": "Abstract:", + // TODO New key - Add a translation + "item.preview.dc.description.abstract": "Abstract:", + + // "item.preview.dc.identifier.other": "Other identifier:", + // TODO New key - Add a translation + "item.preview.dc.identifier.other": "Other identifier:", + + // "item.preview.dc.language.iso": "Language:", + // TODO New key - Add a translation + "item.preview.dc.language.iso": "Language:", + + // "item.preview.dc.subject": "Subjects:", + // TODO New key - Add a translation + "item.preview.dc.subject": "Subjects:", + + // "item.preview.dc.title": "Title:", + // TODO New key - Add a translation + "item.preview.dc.title": "Title:", + + // "item.preview.person.familyName": "Surname:", + // TODO New key - Add a translation + "item.preview.person.familyName": "Surname:", + + // "item.preview.person.givenName": "Name:", + // TODO New key - Add a translation + "item.preview.person.givenName": "Name:", + + // "item.preview.person.identifier.orcid": "ORCID:", + // TODO New key - Add a translation + "item.preview.person.identifier.orcid": "ORCID:", // "item.select.confirm": "Confirm selected", @@ -2288,6 +3256,10 @@ // "journal.page.description": "Description", "journal.page.description": "Description", + // "journal.page.edit": "Edit this item", + // TODO New key - Add a translation + "journal.page.edit": "Edit this item", + // "journal.page.editor": "Editor-in-Chief", "journal.page.editor": "Rédacteur en chef", @@ -2314,6 +3286,10 @@ // "journalissue.page.description": "Description", "journalissue.page.description": "Description", + // "journalissue.page.edit": "Edit this item", + // TODO New key - Add a translation + "journalissue.page.edit": "Edit this item", + // "journalissue.page.issuedate": "Issue Date", "journalissue.page.issuedate": "Date de publication", @@ -2340,6 +3316,10 @@ // "journalvolume.page.description": "Description", "journalvolume.page.description": "Description", + // "journalvolume.page.edit": "Edit this item", + // TODO New key - Add a translation + "journalvolume.page.edit": "Edit this item", + // "journalvolume.page.issuedate": "Issue Date", "journalvolume.page.issuedate": "Date de publication", @@ -2586,6 +3566,10 @@ // "menu.section.icon.pin": "Pin sidebar", "menu.section.icon.pin": "Epingler menu latéral", + // "menu.section.icon.processes": "Processes menu section", + // TODO New key - Add a translation + "menu.section.icon.processes": "Processes menu section", + // "menu.section.icon.registries": "Registries menu section", "menu.section.icon.registries": "Section du menu relative aux Registres", @@ -2624,6 +3608,10 @@ // "menu.section.new_item_version": "Item Version", "menu.section.new_item_version": "Version", + // "menu.section.new_process": "Process", + // TODO New key - Add a translation + "menu.section.new_process": "Process", + // "menu.section.pin": "Pin sidebar", @@ -2634,6 +3622,12 @@ + // "menu.section.processes": "Processes", + // TODO New key - Add a translation + "menu.section.processes": "Processes", + + + // "menu.section.registries": "Registries", "menu.section.registries": "Registres", @@ -2684,11 +3678,16 @@ "menu.section.toggle.statistics_task": "Ouvrir/Fermer section Tâche statistiques", + // "menu.section.workflow": "Administer Workflow", + // TODO New key - Add a translation + "menu.section.workflow": "Administer Workflow", + // "mydspace.description": "", "mydspace.description": "", - // "mydspace.general.text-here": "HERE", + // "mydspace.general.text-here": "here", + // TODO Source message changed - Revise the translation "mydspace.general.text-here": "ICI", // "mydspace.messages.controller-help": "Select this option to send a message to item's submitter.", @@ -2733,6 +3732,14 @@ // "mydspace.new-submission": "New submission", "mydspace.new-submission": "Nouveau dépôt", + // "mydspace.new-submission-external": "Import metadata from external source", + // TODO New key - Add a translation + "mydspace.new-submission-external": "Import metadata from external source", + + // "mydspace.new-submission-external-short": "Import metadata", + // TODO New key - Add a translation + "mydspace.new-submission-external-short": "Import metadata", + // "mydspace.results.head": "Your submissions", "mydspace.results.head": "Vos dépôts", @@ -2787,6 +3794,14 @@ // "mydspace.upload.upload-failed": "Error creating new workspace. Please verify the content uploaded before retry.", "mydspace.upload.upload-failed": "Erreur à la création du Workspace. Veuillez vérifier le contenu téléchargé avant de réessayer.", + // "mydspace.upload.upload-failed-manyentries": "Unprocessable file. Detected too many entries but allowed only one for file.", + // TODO New key - Add a translation + "mydspace.upload.upload-failed-manyentries": "Unprocessable file. Detected too many entries but allowed only one for file.", + + // "mydspace.upload.upload-failed-moreonefile": "Unprocessable request. Only one file is allowed.", + // TODO New key - Add a translation + "mydspace.upload.upload-failed-moreonefile": "Unprocessable request. Only one file is allowed.", + // "mydspace.upload.upload-multiple-successful": "{{qty}} new workspace items created.", "mydspace.upload.upload-multiple-successful": "{{qty}} nouveaux Items créés dans le Workspace.", @@ -2826,6 +3841,10 @@ // "nav.statistics.header": "Statistics", "nav.statistics.header": "Statistiques", + // "nav.stop-impersonating": "Stop impersonating EPerson", + // TODO New key - Add a translation + "nav.stop-impersonating": "Stop impersonating EPerson", + // "orgunit.listelement.badge": "Organizational Unit", @@ -2843,6 +3862,10 @@ // "orgunit.page.description": "Description", "orgunit.page.description": "Description", + // "orgunit.page.edit": "Edit this item", + // TODO New key - Add a translation + "orgunit.page.edit": "Edit this item", + // "orgunit.page.id": "ID", "orgunit.page.id": "ID", @@ -2868,9 +3891,17 @@ // "person.listelement.badge": "Person", "person.listelement.badge": "Personne", + // "person.listelement.no-title": "No name found", + // TODO New key - Add a translation + "person.listelement.no-title": "No name found", + // "person.page.birthdate": "Birth Date", "person.page.birthdate": "Date de naissance", + // "person.page.edit": "Edit this item", + // TODO New key - Add a translation + "person.page.edit": "Edit this item", + // "person.page.email": "Email Address", "person.page.email": "Adresse mail", @@ -2903,6 +3934,183 @@ + // "process.new.select-parameters": "Parameters", + // TODO New key - Add a translation + "process.new.select-parameters": "Parameters", + + // "process.new.cancel": "Cancel", + // TODO New key - Add a translation + "process.new.cancel": "Cancel", + + // "process.new.submit": "Submit", + // TODO New key - Add a translation + "process.new.submit": "Submit", + + // "process.new.select-script": "Script", + // TODO New key - Add a translation + "process.new.select-script": "Script", + + // "process.new.select-script.placeholder": "Choose a script...", + // TODO New key - Add a translation + "process.new.select-script.placeholder": "Choose a script...", + + // "process.new.select-script.required": "Script is required", + // TODO New key - Add a translation + "process.new.select-script.required": "Script is required", + + // "process.new.parameter.file.upload-button": "Select file...", + // TODO New key - Add a translation + "process.new.parameter.file.upload-button": "Select file...", + + // "process.new.parameter.file.required": "Please select a file", + // TODO New key - Add a translation + "process.new.parameter.file.required": "Please select a file", + + // "process.new.parameter.string.required": "Parameter value is required", + // TODO New key - Add a translation + "process.new.parameter.string.required": "Parameter value is required", + + // "process.new.parameter.type.value": "value", + // TODO New key - Add a translation + "process.new.parameter.type.value": "value", + + // "process.new.parameter.type.file": "file", + // TODO New key - Add a translation + "process.new.parameter.type.file": "file", + + // "process.new.parameter.required.missing": "The following parameters are required but still missing:", + // TODO New key - Add a translation + "process.new.parameter.required.missing": "The following parameters are required but still missing:", + + // "process.new.notification.success.title": "Success", + // TODO New key - Add a translation + "process.new.notification.success.title": "Success", + + // "process.new.notification.success.content": "The process was successfully created", + // TODO New key - Add a translation + "process.new.notification.success.content": "The process was successfully created", + + // "process.new.notification.error.title": "Error", + // TODO New key - Add a translation + "process.new.notification.error.title": "Error", + + // "process.new.notification.error.content": "An error occurred while creating this process", + // TODO New key - Add a translation + "process.new.notification.error.content": "An error occurred while creating this process", + + // "process.new.header": "Create a new process", + // TODO New key - Add a translation + "process.new.header": "Create a new process", + + // "process.new.title": "Create a new process", + // TODO New key - Add a translation + "process.new.title": "Create a new process", + + // "process.new.breadcrumbs": "Create a new process", + // TODO New key - Add a translation + "process.new.breadcrumbs": "Create a new process", + + + + // "process.detail.arguments" : "Arguments", + // TODO New key - Add a translation + "process.detail.arguments" : "Arguments", + + // "process.detail.arguments.empty" : "This process doesn't contain any arguments", + // TODO New key - Add a translation + "process.detail.arguments.empty" : "This process doesn't contain any arguments", + + // "process.detail.back" : "Back", + // TODO New key - Add a translation + "process.detail.back" : "Back", + + // "process.detail.output" : "Process Output", + // TODO New key - Add a translation + "process.detail.output" : "Process Output", + + // "process.detail.logs.button": "Retrieve process output", + // TODO New key - Add a translation + "process.detail.logs.button": "Retrieve process output", + + // "process.detail.logs.loading": "Retrieving", + // TODO New key - Add a translation + "process.detail.logs.loading": "Retrieving", + + // "process.detail.logs.none": "This process has no output", + // TODO New key - Add a translation + "process.detail.logs.none": "This process has no output", + + // "process.detail.output-files" : "Output Files", + // TODO New key - Add a translation + "process.detail.output-files" : "Output Files", + + // "process.detail.output-files.empty" : "This process doesn't contain any output files", + // TODO New key - Add a translation + "process.detail.output-files.empty" : "This process doesn't contain any output files", + + // "process.detail.script" : "Script", + // TODO New key - Add a translation + "process.detail.script" : "Script", + + // "process.detail.title" : "Process: {{ id }} - {{ name }}", + // TODO New key - Add a translation + "process.detail.title" : "Process: {{ id }} - {{ name }}", + + // "process.detail.start-time" : "Start time", + // TODO New key - Add a translation + "process.detail.start-time" : "Start time", + + // "process.detail.end-time" : "Finish time", + // TODO New key - Add a translation + "process.detail.end-time" : "Finish time", + + // "process.detail.status" : "Status", + // TODO New key - Add a translation + "process.detail.status" : "Status", + + // "process.detail.create" : "Create similar process", + // TODO New key - Add a translation + "process.detail.create" : "Create similar process", + + + + // "process.overview.table.finish" : "Finish time", + // TODO New key - Add a translation + "process.overview.table.finish" : "Finish time", + + // "process.overview.table.id" : "Process ID", + // TODO New key - Add a translation + "process.overview.table.id" : "Process ID", + + // "process.overview.table.name" : "Name", + // TODO New key - Add a translation + "process.overview.table.name" : "Name", + + // "process.overview.table.start" : "Start time", + // TODO New key - Add a translation + "process.overview.table.start" : "Start time", + + // "process.overview.table.status" : "Status", + // TODO New key - Add a translation + "process.overview.table.status" : "Status", + + // "process.overview.table.user" : "User", + // TODO New key - Add a translation + "process.overview.table.user" : "User", + + // "process.overview.title": "Processes Overview", + // TODO New key - Add a translation + "process.overview.title": "Processes Overview", + + // "process.overview.breadcrumbs": "Processes Overview", + // TODO New key - Add a translation + "process.overview.breadcrumbs": "Processes Overview", + + // "process.overview.new": "New", + // TODO New key - Add a translation + "process.overview.new": "New", + + // "profile.breadcrumbs": "Update Profile", // TODO New key - Add a translation "profile.breadcrumbs": "Update Profile", @@ -3026,6 +4234,10 @@ // "project.page.description": "Description", "project.page.description": "Description", + // "project.page.edit": "Edit this item", + // TODO New key - Add a translation + "project.page.edit": "Edit this item", + // "project.page.expectedcompletion": "Expected Completion", "project.page.expectedcompletion": "Échéance prévue", @@ -3056,6 +4268,10 @@ // "publication.page.description": "Description", "publication.page.description": "Description", + // "publication.page.edit": "Edit this item", + // TODO New key - Add a translation + "publication.page.edit": "Edit this item", + // "publication.page.journal-issn": "Journal ISSN", "publication.page.journal-issn": "ISSN du Périodique", @@ -3078,10 +4294,164 @@ "publication.search.title": "DSpace Angular :: Recherche Publication", + // "register-email.title": "New user registration", + // TODO New key - Add a translation + "register-email.title": "New user registration", + + // "register-page.create-profile.header": "Create Profile", + // TODO New key - Add a translation + "register-page.create-profile.header": "Create Profile", + + // "register-page.create-profile.identification.header": "Identify", + // TODO New key - Add a translation + "register-page.create-profile.identification.header": "Identify", + + // "register-page.create-profile.identification.email": "Email Address", + // TODO New key - Add a translation + "register-page.create-profile.identification.email": "Email Address", + + // "register-page.create-profile.identification.first-name": "First Name *", + // TODO New key - Add a translation + "register-page.create-profile.identification.first-name": "First Name *", + + // "register-page.create-profile.identification.first-name.error": "Please fill in a First Name", + // TODO New key - Add a translation + "register-page.create-profile.identification.first-name.error": "Please fill in a First Name", + + // "register-page.create-profile.identification.last-name": "Last Name *", + // TODO New key - Add a translation + "register-page.create-profile.identification.last-name": "Last Name *", + + // "register-page.create-profile.identification.last-name.error": "Please fill in a Last Name", + // TODO New key - Add a translation + "register-page.create-profile.identification.last-name.error": "Please fill in a Last Name", + + // "register-page.create-profile.identification.contact": "Contact Telephone", + // TODO New key - Add a translation + "register-page.create-profile.identification.contact": "Contact Telephone", + + // "register-page.create-profile.identification.language": "Language", + // TODO New key - Add a translation + "register-page.create-profile.identification.language": "Language", + + // "register-page.create-profile.security.header": "Security", + // TODO New key - Add a translation + "register-page.create-profile.security.header": "Security", + + // "register-page.create-profile.security.info": "Please enter a password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", + // TODO New key - Add a translation + "register-page.create-profile.security.info": "Please enter a password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", + + // "register-page.create-profile.security.label.password": "Password *", + // TODO New key - Add a translation + "register-page.create-profile.security.label.password": "Password *", + + // "register-page.create-profile.security.label.passwordrepeat": "Retype to confirm *", + // TODO New key - Add a translation + "register-page.create-profile.security.label.passwordrepeat": "Retype to confirm *", + + // "register-page.create-profile.security.error.empty-password": "Please enter a password in the box below.", + // TODO New key - Add a translation + "register-page.create-profile.security.error.empty-password": "Please enter a password in the box below.", + + // "register-page.create-profile.security.error.matching-passwords": "The passwords do not match.", + // TODO New key - Add a translation + "register-page.create-profile.security.error.matching-passwords": "The passwords do not match.", + + // "register-page.create-profile.security.error.password-length": "The password should be at least 6 characters long.", + // TODO New key - Add a translation + "register-page.create-profile.security.error.password-length": "The password should be at least 6 characters long.", + + // "register-page.create-profile.submit": "Complete Registration", + // TODO New key - Add a translation + "register-page.create-profile.submit": "Complete Registration", + + // "register-page.create-profile.submit.error.content": "Something went wrong while registering a new user.", + // TODO New key - Add a translation + "register-page.create-profile.submit.error.content": "Something went wrong while registering a new user.", + + // "register-page.create-profile.submit.error.head": "Registration failed", + // TODO New key - Add a translation + "register-page.create-profile.submit.error.head": "Registration failed", + + // "register-page.create-profile.submit.success.content": "The registration was successful. You have been logged in as the created user.", + // TODO New key - Add a translation + "register-page.create-profile.submit.success.content": "The registration was successful. You have been logged in as the created user.", + + // "register-page.create-profile.submit.success.head": "Registration completed", + // TODO New key - Add a translation + "register-page.create-profile.submit.success.head": "Registration completed", + + + // "register-page.registration.header": "New user registration", + // TODO New key - Add a translation + "register-page.registration.header": "New user registration", + + // "register-page.registration.info": "Register an account to subscribe to collections for email updates, and submit new items to DSpace.", + // TODO New key - Add a translation + "register-page.registration.info": "Register an account to subscribe to collections for email updates, and submit new items to DSpace.", + + // "register-page.registration.email": "Email Address *", + // TODO New key - Add a translation + "register-page.registration.email": "Email Address *", + + // "register-page.registration.email.error.required": "Please fill in an email address", + // TODO New key - Add a translation + "register-page.registration.email.error.required": "Please fill in an email address", + + // "register-page.registration.email.error.pattern": "Please fill in a valid email address", + // TODO New key - Add a translation + "register-page.registration.email.error.pattern": "Please fill in a valid email address", + + // "register-page.registration.email.hint": "This address will be verified and used as your login name.", + // TODO New key - Add a translation + "register-page.registration.email.hint": "This address will be verified and used as your login name.", + + // "register-page.registration.submit": "Register", + // TODO New key - Add a translation + "register-page.registration.submit": "Register", + + // "register-page.registration.success.head": "Verification email sent", + // TODO New key - Add a translation + "register-page.registration.success.head": "Verification email sent", + + // "register-page.registration.success.content": "An email has been sent to {{ email }} containing a special URL and further instructions.", + // TODO New key - Add a translation + "register-page.registration.success.content": "An email has been sent to {{ email }} containing a special URL and further instructions.", + + // "register-page.registration.error.head": "Error when trying to register email", + // TODO New key - Add a translation + "register-page.registration.error.head": "Error when trying to register email", + + // "register-page.registration.error.content": "An error occured when registering the following email address: {{ email }}", + // TODO New key - Add a translation + "register-page.registration.error.content": "An error occured when registering the following email address: {{ email }}", + + + + // "relationships.add.error.relationship-type.content": "No suitable match could be found for relationship type {{ type }} between the two items", + // TODO New key - Add a translation + "relationships.add.error.relationship-type.content": "No suitable match could be found for relationship type {{ type }} between the two items", + + // "relationships.add.error.server.content": "The server returned an error", + // TODO New key - Add a translation + "relationships.add.error.server.content": "The server returned an error", + + // "relationships.add.error.title": "Unable to add relationship", + // TODO New key - Add a translation + "relationships.add.error.title": "Unable to add relationship", // "relationships.isAuthorOf": "Authors", "relationships.isAuthorOf": "Auteurs", + // "relationships.isAuthorOf.Person": "Authors (persons)", + // TODO New key - Add a translation + "relationships.isAuthorOf.Person": "Authors (persons)", + + // "relationships.isAuthorOf.OrgUnit": "Authors (organizational units)", + // TODO New key - Add a translation + "relationships.isAuthorOf.OrgUnit": "Authors (organizational units)", + // "relationships.isIssueOf": "Journal Issues", "relationships.isIssueOf": "Numéros de Périodique", @@ -3121,6 +4491,208 @@ + // "resource-policies.add.button": "Add", + // TODO New key - Add a translation + "resource-policies.add.button": "Add", + + // "resource-policies.add.for.": "Add a new policy", + // TODO New key - Add a translation + "resource-policies.add.for.": "Add a new policy", + + // "resource-policies.add.for.bitstream": "Add a new Bitstream policy", + // TODO New key - Add a translation + "resource-policies.add.for.bitstream": "Add a new Bitstream policy", + + // "resource-policies.add.for.bundle": "Add a new Bundle policy", + // TODO New key - Add a translation + "resource-policies.add.for.bundle": "Add a new Bundle policy", + + // "resource-policies.add.for.item": "Add a new Item policy", + // TODO New key - Add a translation + "resource-policies.add.for.item": "Add a new Item policy", + + // "resource-policies.add.for.community": "Add a new Community policy", + // TODO New key - Add a translation + "resource-policies.add.for.community": "Add a new Community policy", + + // "resource-policies.add.for.collection": "Add a new Collection policy", + // TODO New key - Add a translation + "resource-policies.add.for.collection": "Add a new Collection policy", + + // "resource-policies.create.page.heading": "Create new resource policy for ", + // TODO New key - Add a translation + "resource-policies.create.page.heading": "Create new resource policy for ", + + // "resource-policies.create.page.failure.content": "An error occurred while creating the resource policy.", + // TODO New key - Add a translation + "resource-policies.create.page.failure.content": "An error occurred while creating the resource policy.", + + // "resource-policies.create.page.success.content": "Operation successful", + // TODO New key - Add a translation + "resource-policies.create.page.success.content": "Operation successful", + + // "resource-policies.create.page.title": "Create new resource policy", + // TODO New key - Add a translation + "resource-policies.create.page.title": "Create new resource policy", + + // "resource-policies.delete.btn": "Delete selected", + // TODO New key - Add a translation + "resource-policies.delete.btn": "Delete selected", + + // "resource-policies.delete.btn.title": "Delete selected resource policies", + // TODO New key - Add a translation + "resource-policies.delete.btn.title": "Delete selected resource policies", + + // "resource-policies.delete.failure.content": "An error occurred while deleting selected resource policies.", + // TODO New key - Add a translation + "resource-policies.delete.failure.content": "An error occurred while deleting selected resource policies.", + + // "resource-policies.delete.success.content": "Operation successful", + // TODO New key - Add a translation + "resource-policies.delete.success.content": "Operation successful", + + // "resource-policies.edit.page.heading": "Edit resource policy ", + // TODO New key - Add a translation + "resource-policies.edit.page.heading": "Edit resource policy ", + + // "resource-policies.edit.page.failure.content": "An error occurred while editing the resource policy.", + // TODO New key - Add a translation + "resource-policies.edit.page.failure.content": "An error occurred while editing the resource policy.", + + // "resource-policies.edit.page.success.content": "Operation successful", + // TODO New key - Add a translation + "resource-policies.edit.page.success.content": "Operation successful", + + // "resource-policies.edit.page.title": "Edit resource policy", + // TODO New key - Add a translation + "resource-policies.edit.page.title": "Edit resource policy", + + // "resource-policies.form.action-type.label": "Select the action type", + // TODO New key - Add a translation + "resource-policies.form.action-type.label": "Select the action type", + + // "resource-policies.form.action-type.required": "You must select the resource policy action.", + // TODO New key - Add a translation + "resource-policies.form.action-type.required": "You must select the resource policy action.", + + // "resource-policies.form.eperson-group-list.label": "The eperson or group that will be granted the permission", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.label": "The eperson or group that will be granted the permission", + + // "resource-policies.form.eperson-group-list.select.btn": "Select", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.select.btn": "Select", + + // "resource-policies.form.eperson-group-list.tab.eperson": "Search for a ePerson", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.tab.eperson": "Search for a ePerson", + + // "resource-policies.form.eperson-group-list.tab.group": "Search for a group", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.tab.group": "Search for a group", + + // "resource-policies.form.eperson-group-list.table.headers.action": "Action", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.table.headers.action": "Action", + + // "resource-policies.form.eperson-group-list.table.headers.id": "ID", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.table.headers.id": "ID", + + // "resource-policies.form.eperson-group-list.table.headers.name": "Name", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.table.headers.name": "Name", + + // "resource-policies.form.date.end.label": "End Date", + // TODO New key - Add a translation + "resource-policies.form.date.end.label": "End Date", + + // "resource-policies.form.date.start.label": "Start Date", + // TODO New key - Add a translation + "resource-policies.form.date.start.label": "Start Date", + + // "resource-policies.form.description.label": "Description", + // TODO New key - Add a translation + "resource-policies.form.description.label": "Description", + + // "resource-policies.form.name.label": "Name", + // TODO New key - Add a translation + "resource-policies.form.name.label": "Name", + + // "resource-policies.form.policy-type.label": "Select the policy type", + // TODO New key - Add a translation + "resource-policies.form.policy-type.label": "Select the policy type", + + // "resource-policies.form.policy-type.required": "You must select the resource policy type.", + // TODO New key - Add a translation + "resource-policies.form.policy-type.required": "You must select the resource policy type.", + + // "resource-policies.table.headers.action": "Action", + // TODO New key - Add a translation + "resource-policies.table.headers.action": "Action", + + // "resource-policies.table.headers.date.end": "End Date", + // TODO New key - Add a translation + "resource-policies.table.headers.date.end": "End Date", + + // "resource-policies.table.headers.date.start": "Start Date", + // TODO New key - Add a translation + "resource-policies.table.headers.date.start": "Start Date", + + // "resource-policies.table.headers.edit": "Edit", + // TODO New key - Add a translation + "resource-policies.table.headers.edit": "Edit", + + // "resource-policies.table.headers.edit.group": "Edit group", + // TODO New key - Add a translation + "resource-policies.table.headers.edit.group": "Edit group", + + // "resource-policies.table.headers.edit.policy": "Edit policy", + // TODO New key - Add a translation + "resource-policies.table.headers.edit.policy": "Edit policy", + + // "resource-policies.table.headers.eperson": "EPerson", + // TODO New key - Add a translation + "resource-policies.table.headers.eperson": "EPerson", + + // "resource-policies.table.headers.group": "Group", + // TODO New key - Add a translation + "resource-policies.table.headers.group": "Group", + + // "resource-policies.table.headers.id": "ID", + // TODO New key - Add a translation + "resource-policies.table.headers.id": "ID", + + // "resource-policies.table.headers.name": "Name", + // TODO New key - Add a translation + "resource-policies.table.headers.name": "Name", + + // "resource-policies.table.headers.policyType": "type", + // TODO New key - Add a translation + "resource-policies.table.headers.policyType": "type", + + // "resource-policies.table.headers.title.for.bitstream": "Policies for Bitstream", + // TODO New key - Add a translation + "resource-policies.table.headers.title.for.bitstream": "Policies for Bitstream", + + // "resource-policies.table.headers.title.for.bundle": "Policies for Bundle", + // TODO New key - Add a translation + "resource-policies.table.headers.title.for.bundle": "Policies for Bundle", + + // "resource-policies.table.headers.title.for.item": "Policies for Item", + // TODO New key - Add a translation + "resource-policies.table.headers.title.for.item": "Policies for Item", + + // "resource-policies.table.headers.title.for.community": "Policies for Community", + // TODO New key - Add a translation + "resource-policies.table.headers.title.for.community": "Policies for Community", + + // "resource-policies.table.headers.title.for.collection": "Policies for Collection", + // TODO New key - Add a translation + "resource-policies.table.headers.title.for.collection": "Policies for Collection", + + + // "search.description": "", "search.description": "", @@ -3434,6 +5006,14 @@ + // "sorting.ASC": "Ascending", + // TODO New key - Add a translation + "sorting.ASC": "Ascending", + + // "sorting.DESC": "Descending", + // TODO New key - Add a translation + "sorting.DESC": "Descending", + // "sorting.dc.title.ASC": "Title Ascending", "sorting.dc.title.ASC": "Titre croissant", @@ -3445,6 +5025,52 @@ + // "statistics.title": "Statistics", + // TODO New key - Add a translation + "statistics.title": "Statistics", + + // "statistics.header": "Statistics for {{ scope }}", + // TODO New key - Add a translation + "statistics.header": "Statistics for {{ scope }}", + + // "statistics.breadcrumbs": "Statistics", + // TODO New key - Add a translation + "statistics.breadcrumbs": "Statistics", + + // "statistics.page.no-data": "No data available", + // TODO New key - Add a translation + "statistics.page.no-data": "No data available", + + // "statistics.table.no-data": "No data available", + // TODO New key - Add a translation + "statistics.table.no-data": "No data available", + + // "statistics.table.title.TotalVisits": "Total visits", + // TODO New key - Add a translation + "statistics.table.title.TotalVisits": "Total visits", + + // "statistics.table.title.TotalVisitsPerMonth": "Total visits per month", + // TODO New key - Add a translation + "statistics.table.title.TotalVisitsPerMonth": "Total visits per month", + + // "statistics.table.title.TotalDownloads": "File Visits", + // TODO New key - Add a translation + "statistics.table.title.TotalDownloads": "File Visits", + + // "statistics.table.title.TopCountries": "Top country views", + // TODO New key - Add a translation + "statistics.table.title.TopCountries": "Top country views", + + // "statistics.table.title.TopCities": "Top city views", + // TODO New key - Add a translation + "statistics.table.title.TopCities": "Top city views", + + // "statistics.table.header.views": "Views", + // TODO New key - Add a translation + "statistics.table.header.views": "Views", + + + // "submission.edit.title": "Edit Submission", "submission.edit.title": "Éditer dépôt", @@ -3476,6 +5102,85 @@ "submission.general.save-later": "Sauvegarder pour plus tard", + // "submission.import-external.page.title": "Import metadata from an external source", + // TODO New key - Add a translation + "submission.import-external.page.title": "Import metadata from an external source", + + // "submission.import-external.title": "Import metadata from an external source", + // TODO New key - Add a translation + "submission.import-external.title": "Import metadata from an external source", + + // "submission.import-external.page.hint": "Enter a query above to find items from the web to import in to DSpace.", + // TODO New key - Add a translation + "submission.import-external.page.hint": "Enter a query above to find items from the web to import in to DSpace.", + + // "submission.import-external.back-to-my-dspace": "Back to MyDSpace", + // TODO New key - Add a translation + "submission.import-external.back-to-my-dspace": "Back to MyDSpace", + + // "submission.import-external.search.placeholder": "Search the external source", + // TODO New key - Add a translation + "submission.import-external.search.placeholder": "Search the external source", + + // "submission.import-external.search.button": "Search", + // TODO New key - Add a translation + "submission.import-external.search.button": "Search", + + // "submission.import-external.search.button.hint": "Write some words to search", + // TODO New key - Add a translation + "submission.import-external.search.button.hint": "Write some words to search", + + // "submission.import-external.search.source.hint": "Pick an external source", + // TODO New key - Add a translation + "submission.import-external.search.source.hint": "Pick an external source", + + // "submission.import-external.source.arxiv": "arXiv", + // TODO New key - Add a translation + "submission.import-external.source.arxiv": "arXiv", + + // "submission.import-external.source.loading": "Loading ...", + // TODO New key - Add a translation + "submission.import-external.source.loading": "Loading ...", + + // "submission.import-external.source.sherpaJournal": "SHERPA Journals", + // TODO New key - Add a translation + "submission.import-external.source.sherpaJournal": "SHERPA Journals", + + // "submission.import-external.source.sherpaPublisher": "SHERPA Publishers", + // TODO New key - Add a translation + "submission.import-external.source.sherpaPublisher": "SHERPA Publishers", + + // "submission.import-external.source.orcid": "ORCID", + // TODO New key - Add a translation + "submission.import-external.source.orcid": "ORCID", + + // "submission.import-external.source.pubmed": "Pubmed", + // TODO New key - Add a translation + "submission.import-external.source.pubmed": "Pubmed", + + // "submission.import-external.source.lcname": "Library of Congress Names", + // TODO New key - Add a translation + "submission.import-external.source.lcname": "Library of Congress Names", + + // "submission.import-external.preview.title": "Item Preview", + // TODO New key - Add a translation + "submission.import-external.preview.title": "Item Preview", + + // "submission.import-external.preview.subtitle": "The metadata below was imported from an external source. It will be pre-filled when you start the submission.", + // TODO New key - Add a translation + "submission.import-external.preview.subtitle": "The metadata below was imported from an external source. It will be pre-filled when you start the submission.", + + // "submission.import-external.preview.button.import": "Start submission", + // TODO New key - Add a translation + "submission.import-external.preview.button.import": "Start submission", + + // "submission.import-external.preview.error.import.title": "Submission error", + // TODO New key - Add a translation + "submission.import-external.preview.error.import.title": "Submission error", + + // "submission.import-external.preview.error.import.body": "An error occurs during the external source entry import process.", + // TODO New key - Add a translation + "submission.import-external.preview.error.import.body": "An error occurs during the external source entry import process.", // "submission.sections.describe.relationship-lookup.close": "Close", // TODO New key - Add a translation @@ -3485,9 +5190,9 @@ // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.external-source.added": "Successfully added local entry to the selection", - // "submission.sections.describe.relationship-lookup.external-source.import-button-title.Author": "Import remote author", + // "submission.sections.describe.relationship-lookup.external-source.import-button-title.isAuthorOfPublication": "Import remote author", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-button-title.Author": "Import remote author", + "submission.sections.describe.relationship-lookup.external-source.import-button-title.isAuthorOfPublication": "Import remote author", // "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal": "Import remote journal", // TODO New key - Add a translation @@ -3501,17 +5206,17 @@ // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal Volume": "Import remote journal volume", - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.title": "Import Remote Author", + // "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.title": "Import Remote Author", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.title": "Import Remote Author", + "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.title": "Import Remote Author", - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.added.local-entity": "Successfully added local author to the selection", + // "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.added.local-entity": "Successfully added local author to the selection", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.added.local-entity": "Successfully added local author to the selection", + "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.added.local-entity": "Successfully added local author to the selection", - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.added.new-entity": "Successfully imported and added external author to the selection", + // "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.added.new-entity": "Successfully imported and added external author to the selection", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.added.new-entity": "Successfully imported and added external author to the selection", + "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.added.new-entity": "Successfully imported and added external author to the selection", // "submission.sections.describe.relationship-lookup.external-source.import-modal.authority": "Authority", // TODO New key - Add a translation @@ -3553,6 +5258,14 @@ // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.external-source.import-modal.head.sherpaPublisher": "Importing from Sherpa Publisher", + // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.pubmed": "Importing from PubMed", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.head.pubmed": "Importing from PubMed", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.arxiv": "Importing from arXiv", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.head.arxiv": "Importing from arXiv", + // "submission.sections.describe.relationship-lookup.external-source.import-modal.import": "Import", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.external-source.import-modal.import": "Import", @@ -3629,21 +5342,54 @@ // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.selected": "Selected {{ size }} items", - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Author": "Local Authors ({{ count }})", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isAuthorOfPublication": "Local Authors ({{ count }})", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Author": "Local Authors ({{ count }})", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isAuthorOfPublication": "Local Authors ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalOfPublication": "Local Journals ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalOfPublication": "Local Journals ({{ count }})", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Project": "Local Projects ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.Project": "Local Projects ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Publication": "Local Publications ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.Publication": "Local Publications ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Person": "Local Authors ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.Person": "Local Authors ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.OrgUnit": "Local Organizational Units ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.OrgUnit": "Local Organizational Units ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.DataPackage": "Local Data Packages ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.DataPackage": "Local Data Packages ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.DataFile": "Local Data Files ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.DataFile": "Local Data Files ({{ count }})", // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal": "Local Journals ({{ count }})", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal": "Local Journals ({{ count }})", - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal Issue": "Local Journal Issues ({{ count }})", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalIssueOfPublication": "Local Journal Issues ({{ count }})", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal Issue": "Local Journal Issues ({{ count }})", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalIssueOfPublication": "Local Journal Issues ({{ count }})", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.JournalIssue": "Local Journal Issues ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.JournalIssue": "Local Journal Issues ({{ count }})", - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal Volume": "Local Journal Volumes ({{ count }})", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalVolumeOfPublication": "Local Journal Volumes ({{ count }})", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal Volume": "Local Journal Volumes ({{ count }})", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalVolumeOfPublication": "Local Journal Volumes ({{ count }})", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.JournalVolume": "Local Journal Volumes ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.JournalVolume": "Local Journal Volumes ({{ count }})", // "submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaJournal": "Sherpa Journals ({{ count }})", // TODO New key - Add a translation @@ -3661,41 +5407,90 @@ // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.search-tab.tab-title.lcname": "LC Names ({{ count }})", - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Funding Agency": "Search for Funding Agencies", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.pubmed": "PubMed ({{ count }})", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Funding Agency": "Search for Funding Agencies", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.pubmed": "PubMed ({{ count }})", - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Funding": "Search for Funding", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.arxiv": "arXiv ({{ count }})", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Funding": "Search for Funding", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.arxiv": "arXiv ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingAgencyOfPublication": "Search for Funding Agencies", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingAgencyOfPublication": "Search for Funding Agencies", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingOfPublication": "Search for Funding", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingOfPublication": "Search for Funding", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isChildOrgUnitOf": "Search for Organizational Units", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isChildOrgUnitOf": "Search for Organizational Units", // "submission.sections.describe.relationship-lookup.selection-tab.tab-title": "Current Selection ({{ count }})", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.selection-tab.tab-title": "Current Selection ({{ count }})", - // "submission.sections.describe.relationship-lookup.title.Journal Issue": "Journal Issues", + // "submission.sections.describe.relationship-lookup.title.isJournalIssueOfPublication": "Journal Issues", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.title.Journal Issue": "Journal Issues", + "submission.sections.describe.relationship-lookup.title.isJournalIssueOfPublication": "Journal Issues", + // "submission.sections.describe.relationship-lookup.title.JournalIssue": "Journal Issues", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.JournalIssue": "Journal Issues", - // "submission.sections.describe.relationship-lookup.title.Journal Volume": "Journal Volumes", + // "submission.sections.describe.relationship-lookup.title.isJournalVolumeOfPublication": "Journal Volumes", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.title.Journal Volume": "Journal Volumes", + "submission.sections.describe.relationship-lookup.title.isJournalVolumeOfPublication": "Journal Volumes", + // "submission.sections.describe.relationship-lookup.title.JournalVolume": "Journal Volumes", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.JournalVolume": "Journal Volumes", - // "submission.sections.describe.relationship-lookup.title.Journal": "Journals", + // "submission.sections.describe.relationship-lookup.title.isJournalOfPublication": "Journals", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.title.Journal": "Journals", + "submission.sections.describe.relationship-lookup.title.isJournalOfPublication": "Journals", - // "submission.sections.describe.relationship-lookup.title.Author": "Authors", + // "submission.sections.describe.relationship-lookup.title.isAuthorOfPublication": "Authors", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.title.Author": "Authors", + "submission.sections.describe.relationship-lookup.title.isAuthorOfPublication": "Authors", + + // "submission.sections.describe.relationship-lookup.title.isFundingAgencyOfPublication": "Funding Agency", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.isFundingAgencyOfPublication": "Funding Agency", + // "submission.sections.describe.relationship-lookup.title.Project": "Projects", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.Project": "Projects", + + // "submission.sections.describe.relationship-lookup.title.Publication": "Publications", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.Publication": "Publications", + + // "submission.sections.describe.relationship-lookup.title.Person": "Authors", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.Person": "Authors", + + // "submission.sections.describe.relationship-lookup.title.OrgUnit": "Organizational Units", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.OrgUnit": "Organizational Units", + + // "submission.sections.describe.relationship-lookup.title.DataPackage": "Data Packages", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.DataPackage": "Data Packages", + + // "submission.sections.describe.relationship-lookup.title.DataFile": "Data Files", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.DataFile": "Data Files", // "submission.sections.describe.relationship-lookup.title.Funding Agency": "Funding Agency", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.title.Funding Agency": "Funding Agency", - // "submission.sections.describe.relationship-lookup.title.Funding": "Funding", + // "submission.sections.describe.relationship-lookup.title.isFundingOfPublication": "Funding", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.title.Funding": "Funding", + "submission.sections.describe.relationship-lookup.title.isFundingOfPublication": "Funding", + + // "submission.sections.describe.relationship-lookup.title.isChildOrgUnitOf": "Parent Organizational Unit", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.isChildOrgUnitOf": "Parent Organizational Unit", // "submission.sections.describe.relationship-lookup.search-tab.toggle-dropdown": "Toggle dropdown", // TODO New key - Add a translation @@ -3709,21 +5504,66 @@ // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.selection-tab.no-selection": "Your selection is currently empty.", - // "submission.sections.describe.relationship-lookup.selection-tab.title.Author": "Selected Authors", + // "submission.sections.describe.relationship-lookup.selection-tab.title.isAuthorOfPublication": "Selected Authors", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.selection-tab.title.Author": "Selected Authors", + "submission.sections.describe.relationship-lookup.selection-tab.title.isAuthorOfPublication": "Selected Authors", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalOfPublication": "Selected Journals", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalOfPublication": "Selected Journals", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalVolumeOfPublication": "Selected Journal Volume", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalVolumeOfPublication": "Selected Journal Volume", + // "submission.sections.describe.relationship-lookup.selection-tab.title.Project": "Selected Projects", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.Project": "Selected Projects", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.Publication": "Selected Publications", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.Publication": "Selected Publications", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.Person": "Selected Authors", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.Person": "Selected Authors", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.OrgUnit": "Selected Organizational Units", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.OrgUnit": "Selected Organizational Units", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.DataPackage": "Selected Data Packages", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.DataPackage": "Selected Data Packages", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.DataFile": "Selected Data Files", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.DataFile": "Selected Data Files", // "submission.sections.describe.relationship-lookup.selection-tab.title.Journal": "Selected Journals", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.selection-tab.title.Journal": "Selected Journals", - // "submission.sections.describe.relationship-lookup.selection-tab.title.Journal Volume": "Selected Journal Volume", + // "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalIssueOfPublication": "Selected Issue", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.selection-tab.title.Journal Volume": "Selected Journal Volume", + "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalIssueOfPublication": "Selected Issue", + // "submission.sections.describe.relationship-lookup.selection-tab.title.JournalVolume": "Selected Journal Volume", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.JournalVolume": "Selected Journal Volume", - // "submission.sections.describe.relationship-lookup.selection-tab.title.Journal Issue": "Selected Issue", + // "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingAgencyOfPublication": "Selected Funding Agency", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.selection-tab.title.Journal Issue": "Selected Issue", + "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingAgencyOfPublication": "Selected Funding Agency", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingOfPublication": "Selected Funding", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingOfPublication": "Selected Funding", + // "submission.sections.describe.relationship-lookup.selection-tab.title.JournalIssue": "Selected Issue", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.JournalIssue": "Selected Issue", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isChildOrgUnitOf": "Selected Organizational Unit", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.isChildOrgUnitOf": "Selected Organizational Unit", // "submission.sections.describe.relationship-lookup.selection-tab.title.sherpaJournal": "Search Results", // TODO New key - Add a translation @@ -3737,10 +5577,22 @@ // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.selection-tab.title.orcid": "Search Results", + // "submission.sections.describe.relationship-lookup.selection-tab.title.orcidv2": "Search Results", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.orcidv2": "Search Results", + // "submission.sections.describe.relationship-lookup.selection-tab.title.lcname": "Search Results", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.selection-tab.title.lcname": "Search Results", + // "submission.sections.describe.relationship-lookup.selection-tab.title.pubmed": "Search Results", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.pubmed": "Search Results", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.arxiv": "Search Results", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.arxiv": "Search Results", + // "submission.sections.describe.relationship-lookup.name-variant.notification.content": "Would you like to save \"{{ value }}\" as a name variant for this person so you and others can reuse it for future submissions? If you don\'t you can still use it for this submission.", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.name-variant.notification.content": "Would you like to save \"{{ value }}\" as a name variant for this person so you and others can reuse it for future submissions? If you don\'t you can still use it for this submission.", @@ -3753,6 +5605,34 @@ // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.name-variant.notification.decline": "Use only for this submission", + // "submission.sections.ccLicense.type": "License Type", + // TODO New key - Add a translation + "submission.sections.ccLicense.type": "License Type", + + // "submission.sections.ccLicense.select": "Select a license type…", + // TODO New key - Add a translation + "submission.sections.ccLicense.select": "Select a license type…", + + // "submission.sections.ccLicense.change": "Change your license type…", + // TODO New key - Add a translation + "submission.sections.ccLicense.change": "Change your license type…", + + // "submission.sections.ccLicense.none": "No licenses available", + // TODO New key - Add a translation + "submission.sections.ccLicense.none": "No licenses available", + + // "submission.sections.ccLicense.option.select": "Select an option…", + // TODO New key - Add a translation + "submission.sections.ccLicense.option.select": "Select an option…", + + // "submission.sections.ccLicense.link": "You’ve selected the following license:", + // TODO New key - Add a translation + "submission.sections.ccLicense.link": "You’ve selected the following license:", + + // "submission.sections.ccLicense.confirmation": "I grant the license above", + // TODO New key - Add a translation + "submission.sections.ccLicense.confirmation": "I grant the license above", + // "submission.sections.general.add-more": "Add more", "submission.sections.general.add-more": "Ajouter section(s)", @@ -3797,8 +5677,9 @@ - // "submission.sections.submit.progressbar.cclicense": "Creative commons license", - "submission.sections.submit.progressbar.cclicense": "Licence Creative Commons", + // "submission.sections.submit.progressbar.CClicense": "Creative commons license", + // TODO New key - Add a translation + "submission.sections.submit.progressbar.CClicense": "Creative commons license", // "submission.sections.submit.progressbar.describe.recycle": "Recycle", "submission.sections.submit.progressbar.describe.recycle": "Recycler", @@ -3847,7 +5728,8 @@ // "submission.sections.upload.form.date-required": "Date is required.", "submission.sections.upload.form.date-required": "Date obligatoire.", - // "submission.sections.upload.form.from-label": "Access grant from", + // "submission.sections.upload.form.from-label": "Grant access from", + // TODO Source message changed - Revise the translation "submission.sections.upload.form.from-label": "Accès accordé depuis", // "submission.sections.upload.form.from-placeholder": "From", @@ -3859,7 +5741,8 @@ // "submission.sections.upload.form.group-required": "Group is required.", "submission.sections.upload.form.group-required": "Groupe requis.", - // "submission.sections.upload.form.until-label": "Access grant until", + // "submission.sections.upload.form.until-label": "Grant access until", + // TODO Source message changed - Revise the translation "submission.sections.upload.form.until-label": "Accès accordé jusque", // "submission.sections.upload.form.until-placeholder": "Until", @@ -3990,13 +5873,34 @@ "title": "DSpace", - // "administrativeView.search.results.head": "Administrative Search", - // TODO New key - Add a translation - "administrativeView.search.results.head": "Administrative Search", - // "menu.section.admin_search": "Admin Search", + // "vocabulary-treeview.header": "Hierarchical tree view", // TODO New key - Add a translation - "menu.section.admin_search": "Admin Search", + "vocabulary-treeview.header": "Hierarchical tree view", + + // "vocabulary-treeview.load-more": "Load more", + // TODO New key - Add a translation + "vocabulary-treeview.load-more": "Load more", + + // "vocabulary-treeview.search.form.reset": "Reset", + // TODO New key - Add a translation + "vocabulary-treeview.search.form.reset": "Reset", + + // "vocabulary-treeview.search.form.search": "Search", + // TODO New key - Add a translation + "vocabulary-treeview.search.form.search": "Search", + + // "vocabulary-treeview.search.no-result": "There were no items to show", + // TODO New key - Add a translation + "vocabulary-treeview.search.no-result": "There were no items to show", + + // "vocabulary-treeview.tree.description.nsi": "The Norwegian Science Index", + // TODO New key - Add a translation + "vocabulary-treeview.tree.description.nsi": "The Norwegian Science Index", + + // "vocabulary-treeview.tree.description.srsc": "Research Subject Categories", + // TODO New key - Add a translation + "vocabulary-treeview.tree.description.srsc": "Research Subject Categories", @@ -4006,7 +5910,8 @@ // "uploader.drag-message": "Drag & Drop your files here", "uploader.drag-message": "Glisser & Déposer vos fichiers ici", - // "uploader.or": ", or", + // "uploader.or": ", or ", + // TODO Source message changed - Revise the translation "uploader.or": ", ou", // "uploader.processing": "Processing", @@ -4028,5 +5933,77 @@ "virtual-metadata.delete-relationship.modal-head": "Select the items for which you want to save the virtual metadata as real metadata", + + // "workflowAdmin.search.results.head": "Administer Workflow", + // TODO New key - Add a translation + "workflowAdmin.search.results.head": "Administer Workflow", + + + + // "workflow-item.delete.notification.success.title": "Deleted", + // TODO New key - Add a translation + "workflow-item.delete.notification.success.title": "Deleted", + + // "workflow-item.delete.notification.success.content": "This workflow item was successfully deleted", + // TODO New key - Add a translation + "workflow-item.delete.notification.success.content": "This workflow item was successfully deleted", + + // "workflow-item.delete.notification.error.title": "Something went wrong", + // TODO New key - Add a translation + "workflow-item.delete.notification.error.title": "Something went wrong", + + // "workflow-item.delete.notification.error.content": "The workflow item could not be deleted", + // TODO New key - Add a translation + "workflow-item.delete.notification.error.content": "The workflow item could not be deleted", + + // "workflow-item.delete.title": "Delete workflow item", + // TODO New key - Add a translation + "workflow-item.delete.title": "Delete workflow item", + + // "workflow-item.delete.header": "Delete workflow item", + // TODO New key - Add a translation + "workflow-item.delete.header": "Delete workflow item", + + // "workflow-item.delete.button.cancel": "Cancel", + // TODO New key - Add a translation + "workflow-item.delete.button.cancel": "Cancel", + + // "workflow-item.delete.button.confirm": "Delete", + // TODO New key - Add a translation + "workflow-item.delete.button.confirm": "Delete", + + + // "workflow-item.send-back.notification.success.title": "Sent back to submitter", + // TODO New key - Add a translation + "workflow-item.send-back.notification.success.title": "Sent back to submitter", + + // "workflow-item.send-back.notification.success.content": "This workflow item was successfully sent back to the submitter", + // TODO New key - Add a translation + "workflow-item.send-back.notification.success.content": "This workflow item was successfully sent back to the submitter", + + // "workflow-item.send-back.notification.error.title": "Something went wrong", + // TODO New key - Add a translation + "workflow-item.send-back.notification.error.title": "Something went wrong", + + // "workflow-item.send-back.notification.error.content": "The workflow item could not be sent back to the submitter", + // TODO New key - Add a translation + "workflow-item.send-back.notification.error.content": "The workflow item could not be sent back to the submitter", + + // "workflow-item.send-back.title": "Send workflow item back to submitter", + // TODO New key - Add a translation + "workflow-item.send-back.title": "Send workflow item back to submitter", + + // "workflow-item.send-back.header": "Send workflow item back to submitter", + // TODO New key - Add a translation + "workflow-item.send-back.header": "Send workflow item back to submitter", + + // "workflow-item.send-back.button.cancel": "Cancel", + // TODO New key - Add a translation + "workflow-item.send-back.button.cancel": "Cancel", + + // "workflow-item.send-back.button.confirm": "Send back" + // TODO New key - Add a translation + "workflow-item.send-back.button.confirm": "Send back" + } \ No newline at end of file diff --git a/src/assets/i18n/hu.json5 b/src/assets/i18n/hu.json5 index 49aa153ef3..6fec12cf21 100644 --- a/src/assets/i18n/hu.json5 +++ b/src/assets/i18n/hu.json5 @@ -1,5204 +1,5148 @@ { - -// "401.help": "You're not authorized to access this page. You can use the button below to get back to the home page.", + + // "401.help": "You're not authorized to access this page. You can use the button below to get back to the home page.", "401.help": "Nincs jogosultsága az oldal eléréséhez. Az alábbi gombbal vissza tud lépni a főoldalra.", - -// "401.link.home-page": "Take me to the home page", + + // "401.link.home-page": "Take me to the home page", "401.link.home-page": "Vissza a főoldalra", - -// "401.unauthorized": "unauthorized", + + // "401.unauthorized": "unauthorized", "401.unauthorized": "jogosulatlan", - - - -// "403.help": "You don't have permission to access this page. You can use the button below to get back to the home page.", + + + + // "403.help": "You don't have permission to access this page. You can use the button below to get back to the home page.", "403.help": "Nincs jogosultsága az oldal eléréséhez. Az alábbi gombbal vissza tud lépni a főoldalra.", - -// "403.link.home-page": "Take me to the home page", - "403.link.home-page": "Vissza a főoldalra", - -// "403.forbidden": "forbidden", + + // "403.link.home-page": "Take me to the home page", + "403.link.home-page": "Vissza a főoldalra", + + // "403.forbidden": "forbidden", "403.forbidden": "elérhetetlen", - - - -// "404.help": "We can't find the page you're looking for. The page may have been moved or deleted. You can use the button below to get back to the home page. ", + + + + // "404.help": "We can't find the page you're looking for. The page may have been moved or deleted. You can use the button below to get back to the home page. ", "404.help": "A keresett oldal nem található. Az oldalt elköltöztették, vagy letörölték. Az alsó gombbal visszakerülhet a honlapra ", - -// "404.link.home-page": "Take me to the home page", + + // "404.link.home-page": "Take me to the home page", "404.link.home-page": "Vissza a honlapra", - -// "404.page-not-found": "page not found", + + // "404.page-not-found": "page not found", "404.page-not-found": "oldal nem található", - -// "admin.curation-tasks.breadcrumbs": "System curation tasks", + + // "admin.curation-tasks.breadcrumbs": "System curation tasks", "admin.curation-tasks.breadcrumbs": "Karbantartási feladatok", - -// "admin.curation-tasks.title": "System curation tasks", + + // "admin.curation-tasks.title": "System curation tasks", "admin.curation-tasks.title": "Karbantartási feladatok", - -// "admin.curation-tasks.header": "System curation tasks", + + // "admin.curation-tasks.header": "System curation tasks", "admin.curation-tasks.header": "Karbantartási feladatok", - -// "admin.registries.bitstream-formats.breadcrumbs": "Format registry", + + // "admin.registries.bitstream-formats.breadcrumbs": "Format registry", "admin.registries.bitstream-formats.breadcrumbs": "Formátum regiszter", - -// "admin.registries.bitstream-formats.create.breadcrumbs": "Bitstream format", + + // "admin.registries.bitstream-formats.create.breadcrumbs": "Bitstream format", "admin.registries.bitstream-formats.create.breadcrumbs": "Bitfolyam formátum", - -// "admin.registries.bitstream-formats.create.failure.content": "An error occurred while creating the new bitstream format.", + + // "admin.registries.bitstream-formats.create.failure.content": "An error occurred while creating the new bitstream format.", "admin.registries.bitstream-formats.create.failure.content": "Bitfolyam létrehozása közben hiba történt", - -// "admin.registries.bitstream-formats.create.failure.head": "Failure", + + // "admin.registries.bitstream-formats.create.failure.head": "Failure", "admin.registries.bitstream-formats.create.failure.head": "Nem sikerült", - -// "admin.registries.bitstream-formats.create.head": "Create Bitstream format", + + // "admin.registries.bitstream-formats.create.head": "Create Bitstream format", "admin.registries.bitstream-formats.create.head": "Bitfolyam formátum létrehozása", - -// "admin.registries.bitstream-formats.create.new": "Add a new bitstream format", + + // "admin.registries.bitstream-formats.create.new": "Add a new bitstream format", "admin.registries.bitstream-formats.create.new": "Bitfolyam formátum hozzáadása.", - -// "admin.registries.bitstream-formats.create.success.content": "The new bitstream format was successfully created.", + + // "admin.registries.bitstream-formats.create.success.content": "The new bitstream format was successfully created.", "admin.registries.bitstream-formats.create.success.content": "Új bitfolyam formátum sikeresen létrehozva.", - -// "admin.registries.bitstream-formats.create.success.head": "Success", + + // "admin.registries.bitstream-formats.create.success.head": "Success", "admin.registries.bitstream-formats.create.success.head": "Sikerült", - -// "admin.registries.bitstream-formats.delete.failure.amount": "Failed to remove {{ amount }} format(s)", + + // "admin.registries.bitstream-formats.delete.failure.amount": "Failed to remove {{ amount }} format(s)", "admin.registries.bitstream-formats.delete.failure.amount": "A {{ amount }} formátum(ok) törlése nem sikerült", - -// "admin.registries.bitstream-formats.delete.failure.head": "Failure", + + // "admin.registries.bitstream-formats.delete.failure.head": "Failure", "admin.registries.bitstream-formats.delete.failure.head": "Nem sikerült", - -// "admin.registries.bitstream-formats.delete.success.amount": "Successfully removed {{ amount }} format(s)", + + // "admin.registries.bitstream-formats.delete.success.amount": "Successfully removed {{ amount }} format(s)", "admin.registries.bitstream-formats.delete.success.amount": "A {{ amount }} formátum(ok) sikeresen törölve", - -// "admin.registries.bitstream-formats.delete.success.head": "Success", + + // "admin.registries.bitstream-formats.delete.success.head": "Success", "admin.registries.bitstream-formats.delete.success.head": "Sikerült", - -// "admin.registries.bitstream-formats.description": "This list of bitstream formats provides information about known formats and their support level.", + + // "admin.registries.bitstream-formats.description": "This list of bitstream formats provides information about known formats and their support level.", "admin.registries.bitstream-formats.description": "Ez a bitfolyam formátum lista ismert formátumokról és azok támogatásáról nyújt információt.", - -// "admin.registries.bitstream-formats.edit.description.hint": "", + + // "admin.registries.bitstream-formats.edit.breadcrumbs": "Bitstream format", + // TODO New key - Add a translation + "admin.registries.bitstream-formats.edit.breadcrumbs": "Bitstream format", + + // "admin.registries.bitstream-formats.edit.description.hint": "", "admin.registries.bitstream-formats.edit.description.hint": "", - -// "admin.registries.bitstream-formats.edit.description.label": "Description", + + // "admin.registries.bitstream-formats.edit.description.label": "Description", "admin.registries.bitstream-formats.edit.description.label": "Leírás", - -// "admin.registries.bitstream-formats.edit.extensions.hint": "Extensions are file extensions that are used to automatically identify the format of uploaded files. You can enter several extensions for each format.", + + // "admin.registries.bitstream-formats.edit.extensions.hint": "Extensions are file extensions that are used to automatically identify the format of uploaded files. You can enter several extensions for each format.", "admin.registries.bitstream-formats.edit.extensions.hint": "A kiterjesztések olyan állomány kiterjesztések, amelyek arra használhatók, hogy automatikusan azonosítsák a feltöltött állomány formátumát. Minden formátumhoz megadhat több kiterjesztést.", - -// "admin.registries.bitstream-formats.edit.extensions.label": "File extensions", + + // "admin.registries.bitstream-formats.edit.extensions.label": "File extensions", "admin.registries.bitstream-formats.edit.extensions.label": "Állomány kiterjesztés", - -// "admin.registries.bitstream-formats.edit.extensions.placeholder": "Enter a file extension without the dot", + + // "admin.registries.bitstream-formats.edit.extensions.placeholder": "Enter a file extension without the dot", "admin.registries.bitstream-formats.edit.extensions.placeholder": "Írja be az állomány kiterjesztését a pont nélkül", - -// "admin.registries.bitstream-formats.edit.failure.content": "An error occurred while editing the bitstream format.", + + // "admin.registries.bitstream-formats.edit.failure.content": "An error occurred while editing the bitstream format.", "admin.registries.bitstream-formats.edit.failure.content": "Bitfolyam szerkesztése közben hiba történt.", - -// "admin.registries.bitstream-formats.edit.failure.head": "Failure", + + // "admin.registries.bitstream-formats.edit.failure.head": "Failure", "admin.registries.bitstream-formats.edit.failure.head": "Nem sikerült", - -// "admin.registries.bitstream-formats.edit.head": "Bitstream format: {{ format }}", + + // "admin.registries.bitstream-formats.edit.head": "Bitstream format: {{ format }}", "admin.registries.bitstream-formats.edit.head": "Bitfolyam formátum: {{ format }}", - -// "admin.registries.bitstream-formats.edit.internal.hint": "Formats marked as internal are hidden from the user, and used for administrative purposes.", + + // "admin.registries.bitstream-formats.edit.internal.hint": "Formats marked as internal are hidden from the user, and used for administrative purposes.", "admin.registries.bitstream-formats.edit.internal.hint": "Belsőként megjelölt formátumokat a felhasználó nem láthat, ezek adminisztratív célokat szolgálnak.", - -// "admin.registries.bitstream-formats.edit.internal.label": "Internal", + + // "admin.registries.bitstream-formats.edit.internal.label": "Internal", "admin.registries.bitstream-formats.edit.internal.label": "Belső", - -// "admin.registries.bitstream-formats.edit.mimetype.hint": "The MIME type associated with this format, does not have to be unique.", + + // "admin.registries.bitstream-formats.edit.mimetype.hint": "The MIME type associated with this format, does not have to be unique.", "admin.registries.bitstream-formats.edit.mimetype.hint": "Az ehhez a formátumhoz társított MIME típus nem kell, hogy egyedi legyen.", - -// "admin.registries.bitstream-formats.edit.mimetype.label": "MIME Type", + + // "admin.registries.bitstream-formats.edit.mimetype.label": "MIME Type", "admin.registries.bitstream-formats.edit.mimetype.label": "MIME Típus", - -// "admin.registries.bitstream-formats.edit.shortDescription.hint": "A unique name for this format, (e.g. Microsoft Word XP or Microsoft Word 2000)", + + // "admin.registries.bitstream-formats.edit.shortDescription.hint": "A unique name for this format, (e.g. Microsoft Word XP or Microsoft Word 2000)", "admin.registries.bitstream-formats.edit.shortDescription.hint": "Egyedi név ennek a formátumnak, (pl. Microsoft Word XP vagy Microsoft Word 2000)", - -// "admin.registries.bitstream-formats.edit.shortDescription.label": "Name", + + // "admin.registries.bitstream-formats.edit.shortDescription.label": "Name", "admin.registries.bitstream-formats.edit.shortDescription.label": "Név", - -// "admin.registries.bitstream-formats.edit.success.content": "The bitstream format was successfully edited.", + + // "admin.registries.bitstream-formats.edit.success.content": "The bitstream format was successfully edited.", "admin.registries.bitstream-formats.edit.success.content": "Bitfolyam formátum szerkesztése sikerült.", - -// "admin.registries.bitstream-formats.edit.success.head": "Success", + + // "admin.registries.bitstream-formats.edit.success.head": "Success", "admin.registries.bitstream-formats.edit.success.head": "Sikerült", - -// "admin.registries.bitstream-formats.edit.supportLevel.hint": "The level of support your institution pledges for this format.", + + // "admin.registries.bitstream-formats.edit.supportLevel.hint": "The level of support your institution pledges for this format.", "admin.registries.bitstream-formats.edit.supportLevel.hint": "Intézménye ilyen szintű támogatást biztosít ennek a formátumnak.", - -// "admin.registries.bitstream-formats.edit.supportLevel.label": "Support level", + + // "admin.registries.bitstream-formats.edit.supportLevel.label": "Support level", "admin.registries.bitstream-formats.edit.supportLevel.label": "Támogatási szint", - -// "admin.registries.bitstream-formats.head": "Bitstream Format Registry", + + // "admin.registries.bitstream-formats.head": "Bitstream Format Registry", "admin.registries.bitstream-formats.head": "Bitfolyam formátum leíró adatbázis", - -// "admin.registries.bitstream-formats.no-items": "No bitstream formats to show.", + + // "admin.registries.bitstream-formats.no-items": "No bitstream formats to show.", "admin.registries.bitstream-formats.no-items": "Nincs látható bitfolyam formátum.", - -// "admin.registries.bitstream-formats.table.delete": "Delete selected", + + // "admin.registries.bitstream-formats.table.delete": "Delete selected", "admin.registries.bitstream-formats.table.delete": "Kiválasztottak törlése", - -// "admin.registries.bitstream-formats.table.deselect-all": "Deselect all", + + // "admin.registries.bitstream-formats.table.deselect-all": "Deselect all", "admin.registries.bitstream-formats.table.deselect-all": "Valamennyi kiválasztás megszüntetése", - -// "admin.registries.bitstream-formats.table.internal": "internal", + + // "admin.registries.bitstream-formats.table.internal": "internal", "admin.registries.bitstream-formats.table.internal": "belső", - -// "admin.registries.bitstream-formats.table.mimetype": "MIME Type", + + // "admin.registries.bitstream-formats.table.mimetype": "MIME Type", "admin.registries.bitstream-formats.table.mimetype": "MIME típus", - -// "admin.registries.bitstream-formats.table.name": "Name", + + // "admin.registries.bitstream-formats.table.name": "Name", "admin.registries.bitstream-formats.table.name": "Név", - -// "admin.registries.bitstream-formats.table.return": "Return", + + // "admin.registries.bitstream-formats.table.return": "Return", "admin.registries.bitstream-formats.table.return": "Vissza", - -// "admin.registries.bitstream-formats.table.supportLevel.KNOWN": "Known", + + // "admin.registries.bitstream-formats.table.supportLevel.KNOWN": "Known", "admin.registries.bitstream-formats.table.supportLevel.KNOWN": "Ismert", - -// "admin.registries.bitstream-formats.table.supportLevel.SUPPORTED": "Supported", + + // "admin.registries.bitstream-formats.table.supportLevel.SUPPORTED": "Supported", "admin.registries.bitstream-formats.table.supportLevel.SUPPORTED": "Támogatott", - -// "admin.registries.bitstream-formats.table.supportLevel.UNKNOWN": "Unknown", + + // "admin.registries.bitstream-formats.table.supportLevel.UNKNOWN": "Unknown", "admin.registries.bitstream-formats.table.supportLevel.UNKNOWN": "Ismeretlen", - -// "admin.registries.bitstream-formats.table.supportLevel.head": "Support Level", + + // "admin.registries.bitstream-formats.table.supportLevel.head": "Support Level", "admin.registries.bitstream-formats.table.supportLevel.head": "Támogatási szint", - -// "admin.registries.bitstream-formats.title": "DSpace Angular :: Bitstream Format Registry", + + // "admin.registries.bitstream-formats.title": "DSpace Angular :: Bitstream Format Registry", "admin.registries.bitstream-formats.title": "DSpace Angular :: Bitfolyam formátum leíró adatbázis", - - - -// "admin.registries.metadata.breadcrumbs": "Metadata registry", + + + + // "admin.registries.metadata.breadcrumbs": "Metadata registry", "admin.registries.metadata.breadcrumbs": "Metaadat leíró adatbázis", - -// "admin.registries.metadata.description": "The metadata registry maintains a list of all metadata fields available in the repository. These fields may be divided amongst multiple schemas. However, DSpace requires the qualified Dublin Core schema.", + + // "admin.registries.metadata.description": "The metadata registry maintains a list of all metadata fields available in the repository. These fields may be divided amongst multiple schemas. However, DSpace requires the qualified Dublin Core schema.", "admin.registries.metadata.description": "A metaadat leíró adatbázis tartalmazza a tárban fellelhető valamennyi metaadat mező listáját. Ezek a mezők több sémára oszthatók. Viszont a DSpace a minősített Dublin Core sémát kéri.", - -// "admin.registries.metadata.form.create": "Create metadata schema", + + // "admin.registries.metadata.form.create": "Create metadata schema", "admin.registries.metadata.form.create": "Metaadat séma létrehozása", - -// "admin.registries.metadata.form.edit": "Edit metadata schema", + + // "admin.registries.metadata.form.edit": "Edit metadata schema", "admin.registries.metadata.form.edit": "Metaadat séma szerkesztése", - -// "admin.registries.metadata.form.name": "Name", + + // "admin.registries.metadata.form.name": "Name", "admin.registries.metadata.form.name": "Név", - -// "admin.registries.metadata.form.namespace": "Namespace", + + // "admin.registries.metadata.form.namespace": "Namespace", "admin.registries.metadata.form.namespace": "Névhely", - -// "admin.registries.metadata.head": "Metadata Registry", + + // "admin.registries.metadata.head": "Metadata Registry", "admin.registries.metadata.head": "Metaadat leíró adatbázis", - -// "admin.registries.metadata.schemas.no-items": "No metadata schemas to show.", + + // "admin.registries.metadata.schemas.no-items": "No metadata schemas to show.", "admin.registries.metadata.schemas.no-items": "Nincs elérhető metaadat séma.", - -// "admin.registries.metadata.schemas.table.delete": "Delete selected", + + // "admin.registries.metadata.schemas.table.delete": "Delete selected", "admin.registries.metadata.schemas.table.delete": "Kiválasztottak törlése", - -// "admin.registries.metadata.schemas.table.id": "ID", + + // "admin.registries.metadata.schemas.table.id": "ID", "admin.registries.metadata.schemas.table.id": "Azonosító", - -// "admin.registries.metadata.schemas.table.name": "Name", + + // "admin.registries.metadata.schemas.table.name": "Name", "admin.registries.metadata.schemas.table.name": "Név", - -// "admin.registries.metadata.schemas.table.namespace": "Namespace", + + // "admin.registries.metadata.schemas.table.namespace": "Namespace", "admin.registries.metadata.schemas.table.namespace": "Névhely", - -// "admin.registries.metadata.title": "DSpace Angular :: Metadata Registry", + + // "admin.registries.metadata.title": "DSpace Angular :: Metadata Registry", "admin.registries.metadata.title": "DSpace Angular :: Metaadat leíró adatbázis", - - - -// "admin.registries.schema.breadcrumbs": "Metadata schema", + + + + // "admin.registries.schema.breadcrumbs": "Metadata schema", "admin.registries.schema.breadcrumbs": "Metaadat séma", - -// "admin.registries.schema.description": "This is the metadata schema for \"{{namespace}}\".", + + // "admin.registries.schema.description": "This is the metadata schema for \"{{namespace}}\".", "admin.registries.schema.description": "Ez a metaadat séma a következőhöz \"{{namespace}}\".", - -// "admin.registries.schema.fields.head": "Schema metadata fields", + + // "admin.registries.schema.fields.head": "Schema metadata fields", "admin.registries.schema.fields.head": "Séma metaadat mezők", - -// "admin.registries.schema.fields.no-items": "No metadata fields to show.", + + // "admin.registries.schema.fields.no-items": "No metadata fields to show.", "admin.registries.schema.fields.no-items": "Nincs elérhető metaadat mező.", - -// "admin.registries.schema.fields.table.delete": "Delete selected", + + // "admin.registries.schema.fields.table.delete": "Delete selected", "admin.registries.schema.fields.table.delete": "Kiválasztások törlése", - -// "admin.registries.schema.fields.table.field": "Field", + + // "admin.registries.schema.fields.table.field": "Field", "admin.registries.schema.fields.table.field": "Mező", - -// "admin.registries.schema.fields.table.scopenote": "Scope Note", + + // "admin.registries.schema.fields.table.scopenote": "Scope Note", "admin.registries.schema.fields.table.scopenote": "Cél megjegyzés", - -// "admin.registries.schema.form.create": "Create metadata field", + + // "admin.registries.schema.form.create": "Create metadata field", "admin.registries.schema.form.create": "Metaadat mező létrehozása", - -// "admin.registries.schema.form.edit": "Edit metadata field", + + // "admin.registries.schema.form.edit": "Edit metadata field", "admin.registries.schema.form.edit": "metaadat mező szerkesztése", - -// "admin.registries.schema.form.element": "Element", + + // "admin.registries.schema.form.element": "Element", "admin.registries.schema.form.element": "Elem", - -// "admin.registries.schema.form.qualifier": "Qualifier", + + // "admin.registries.schema.form.qualifier": "Qualifier", "admin.registries.schema.form.qualifier": "Minősítő", - -// "admin.registries.schema.form.scopenote": "Scope Note", + + // "admin.registries.schema.form.scopenote": "Scope Note", "admin.registries.schema.form.scopenote": "Cél megjegyzés", - -// "admin.registries.schema.head": "Metadata Schema", + + // "admin.registries.schema.head": "Metadata Schema", "admin.registries.schema.head": "Metaadat Séma", - -// "admin.registries.schema.notification.created": "Successfully created metadata schema \"{{prefix}}\"", + + // "admin.registries.schema.notification.created": "Successfully created metadata schema \"{{prefix}}\"", "admin.registries.schema.notification.created": "Metaadat séma létrehozása sikerült \"{{prefix}}\"", - -// "admin.registries.schema.notification.deleted.failure": "Failed to delete {{amount}} metadata schemas", + + // "admin.registries.schema.notification.deleted.failure": "Failed to delete {{amount}} metadata schemas", "admin.registries.schema.notification.deleted.failure": "A {{amount}} metaadat sémák törlése nem sikerült", - -// "admin.registries.schema.notification.deleted.success": "Successfully deleted {{amount}} metadata schemas", + + // "admin.registries.schema.notification.deleted.success": "Successfully deleted {{amount}} metadata schemas", "admin.registries.schema.notification.deleted.success": "A {{amount}} metaadat sémák törlése sikerült", - -// "admin.registries.schema.notification.edited": "Successfully edited metadata schema \"{{prefix}}\"", + + // "admin.registries.schema.notification.edited": "Successfully edited metadata schema \"{{prefix}}\"", "admin.registries.schema.notification.edited": "Metaadat séma szerkesztése sikerült \"{{prefix}}\"", - -// "admin.registries.schema.notification.failure": "Error", + + // "admin.registries.schema.notification.failure": "Error", "admin.registries.schema.notification.failure": "Hiba", - -// "admin.registries.schema.notification.field.created": "Successfully created metadata field \"{{field}}\"", + + // "admin.registries.schema.notification.field.created": "Successfully created metadata field \"{{field}}\"", "admin.registries.schema.notification.field.created": "Metaadat mező létrehozva\"{{field}}\"", - -// "admin.registries.schema.notification.field.deleted.failure": "Failed to delete {{amount}} metadata fields", + + // "admin.registries.schema.notification.field.deleted.failure": "Failed to delete {{amount}} metadata fields", "admin.registries.schema.notification.field.deleted.failure": "A{{amount}} metaadat mezők törlése nem sikerült", - -// "admin.registries.schema.notification.field.deleted.success": "Successfully deleted {{amount}} metadata fields", + + // "admin.registries.schema.notification.field.deleted.success": "Successfully deleted {{amount}} metadata fields", "admin.registries.schema.notification.field.deleted.success": "A{{amount}} metaadat mezők törlése sikerült", - -// "admin.registries.schema.notification.field.edited": "Successfully edited metadata field \"{{field}}\"", + + // "admin.registries.schema.notification.field.edited": "Successfully edited metadata field \"{{field}}\"", "admin.registries.schema.notification.field.edited": "metaadat mező szerkesztése sikerült\"{{field}}\"", - -// "admin.registries.schema.notification.success": "Success", + + // "admin.registries.schema.notification.success": "Success", "admin.registries.schema.notification.success": "Sikerült", - -// "admin.registries.schema.return": "Return", + + // "admin.registries.schema.return": "Return", "admin.registries.schema.return": "Vissza", - -// "admin.registries.schema.title": "DSpace Angular :: Metadata Schema Registry", + + // "admin.registries.schema.title": "DSpace Angular :: Metadata Schema Registry", "admin.registries.schema.title": "DSpace Angular :: Metaadat Séma leíró adatbázis", - - - -// "admin.access-control.epeople.actions.delete": "Delete EPerson", + + + + // "admin.access-control.epeople.actions.delete": "Delete EPerson", "admin.access-control.epeople.actions.delete": "EPerson törlése", - -// "admin.access-control.epeople.actions.impersonate": "Impersonate EPerson", + + // "admin.access-control.epeople.actions.impersonate": "Impersonate EPerson", "admin.access-control.epeople.actions.impersonate": "EPerson megszemélyesítése", - -// "admin.access-control.epeople.actions.reset": "Reset password", + + // "admin.access-control.epeople.actions.reset": "Reset password", "admin.access-control.epeople.actions.reset": "Jelszó visszaállítása", - -// "admin.access-control.epeople.actions.stop-impersonating": "Stop impersonating EPerson", + + // "admin.access-control.epeople.actions.stop-impersonating": "Stop impersonating EPerson", "admin.access-control.epeople.actions.stop-impersonating": "EPerson megszemélyesítésének befejezése", - -// "admin.access-control.epeople.title": "DSpace Angular :: EPeople", + + // "admin.access-control.epeople.title": "DSpace Angular :: EPeople", "admin.access-control.epeople.title": "DSpace Angular :: EPeople", - -// "admin.access-control.epeople.head": "EPeople", + + // "admin.access-control.epeople.head": "EPeople", "admin.access-control.epeople.head": "EPeople", - -// "admin.access-control.epeople.search.head": "Search", + + // "admin.access-control.epeople.search.head": "Search", "admin.access-control.epeople.search.head": "Keresés", - -// "admin.access-control.epeople.button.see-all": "Browse All", + + // "admin.access-control.epeople.button.see-all": "Browse All", "admin.access-control.epeople.button.see-all": "Valamennyi böngészése", - -// "admin.access-control.epeople.search.scope.metadata": "Metadata", + + // "admin.access-control.epeople.search.scope.metadata": "Metadata", "admin.access-control.epeople.search.scope.metadata": "Metaadat", - -// "admin.access-control.epeople.search.scope.email": "E-mail (exact)", + + // "admin.access-control.epeople.search.scope.email": "E-mail (exact)", "admin.access-control.epeople.search.scope.email": "E-mail (pontosan)", - -// "admin.access-control.epeople.search.button": "Search", + + // "admin.access-control.epeople.search.button": "Search", "admin.access-control.epeople.search.button": "Keresés", - -// "admin.access-control.epeople.button.add": "Add EPerson", + + // "admin.access-control.epeople.button.add": "Add EPerson", "admin.access-control.epeople.button.add": "EPerson hozzáadása", - -// "admin.access-control.epeople.table.id": "ID", + + // "admin.access-control.epeople.table.id": "ID", "admin.access-control.epeople.table.id": "Azonosító", - -// "admin.access-control.epeople.table.name": "Name", + + // "admin.access-control.epeople.table.name": "Name", "admin.access-control.epeople.table.name": "Név", - -// "admin.access-control.epeople.table.email": "E-mail (exact)", + + // "admin.access-control.epeople.table.email": "E-mail (exact)", "admin.access-control.epeople.table.email": "E-mail (pontosan)", - -// "admin.access-control.epeople.table.edit": "Edit", + + // "admin.access-control.epeople.table.edit": "Edit", "admin.access-control.epeople.table.edit": "Szerkesztés", - -// "admin.access-control.epeople.table.edit.buttons.edit": "Edit \"{{name}}\"", + + // "admin.access-control.epeople.table.edit.buttons.edit": "Edit \"{{name}}\"", "admin.access-control.epeople.table.edit.buttons.edit": "Szerkesztés \"{{name}}\"", - -// "admin.access-control.epeople.table.edit.buttons.remove": "Delete \"{{name}}\"", + + // "admin.access-control.epeople.table.edit.buttons.remove": "Delete \"{{name}}\"", "admin.access-control.epeople.table.edit.buttons.remove": "Törlés \"{{name}}\"", - -// "admin.access-control.epeople.no-items": "No EPeople to show.", + + // "admin.access-control.epeople.no-items": "No EPeople to show.", "admin.access-control.epeople.no-items": "Nincs elérhető EPeople.", - -// "admin.access-control.epeople.form.create": "Create EPerson", + + // "admin.access-control.epeople.form.create": "Create EPerson", "admin.access-control.epeople.form.create": "EPerson létrehozása", - -// "admin.access-control.epeople.form.edit": "EPerson szerkesztése", + + // "admin.access-control.epeople.form.edit": "Edit EPerson", + // TODO Source message changed - Revise the translation "admin.access-control.epeople.form.edit": "EPerson szerkesztése", - -// "admin.access-control.epeople.form.firstName": "First name", + + // "admin.access-control.epeople.form.firstName": "First name", "admin.access-control.epeople.form.firstName": "Keresztnév", - -// "admin.access-control.epeople.form.lastName": "Last name", + + // "admin.access-control.epeople.form.lastName": "Last name", "admin.access-control.epeople.form.lastName": "Családnév", - -// "admin.access-control.epeople.form.email": "E-mail", + + // "admin.access-control.epeople.form.email": "E-mail", "admin.access-control.epeople.form.email": "E-mail", - -// "admin.access-control.epeople.form.emailHint": "Must be valid e-mail address", + + // "admin.access-control.epeople.form.emailHint": "Must be valid e-mail address", "admin.access-control.epeople.form.emailHint": "Érvényes e-mail cím kell, hogy legyen", - -// "admin.access-control.epeople.form.canLogIn": "Can log in", + + // "admin.access-control.epeople.form.canLogIn": "Can log in", "admin.access-control.epeople.form.canLogIn": "Bejelentkezhet", - -// "admin.access-control.epeople.form.requireCertificate": "Requires certificate", + + // "admin.access-control.epeople.form.requireCertificate": "Requires certificate", "admin.access-control.epeople.form.requireCertificate": "Tanúsítvány szükséges", - -// "admin.access-control.epeople.form.notification.created.success": "Successfully created EPerson \"{{name}}\"", + + // "admin.access-control.epeople.form.notification.created.success": "Successfully created EPerson \"{{name}}\"", "admin.access-control.epeople.form.notification.created.success": "EPerson \"{{name}} sikeresen létrehozva\"", - -// "admin.access-control.epeople.form.notification.created.failure": "Failed to create EPerson \"{{name}}\"", + + // "admin.access-control.epeople.form.notification.created.failure": "Failed to create EPerson \"{{name}}\"", "admin.access-control.epeople.form.notification.created.failure": "EPerson \"{{name}}létrehozása nem sikerült\"", - -// "admin.access-control.epeople.form.notification.created.failure.emailInUse": "Failed to create EPerson \"{{name}}\", email \"{{email}}\" already in use.", + + // "admin.access-control.epeople.form.notification.created.failure.emailInUse": "Failed to create EPerson \"{{name}}\", email \"{{email}}\" already in use.", "admin.access-control.epeople.form.notification.created.failure.emailInUse": "EPerson \"{{name}}\" létrehozása nem sikerült, email \"{{email}}\" már használatban van.", - -// "admin.access-control.epeople.form.notification.edited.failure.emailInUse": "Failed to edit EPerson \"{{name}}\", email \"{{email}}\" already in use.", + + // "admin.access-control.epeople.form.notification.edited.failure.emailInUse": "Failed to edit EPerson \"{{name}}\", email \"{{email}}\" already in use.", "admin.access-control.epeople.form.notification.edited.failure.emailInUse": "EPerson \"{{name}}\" szerkesztése nem sikerült, email \"{{email}}\" már használatban van.", - -// "admin.access-control.epeople.form.notification.edited.success": "Successfully edited EPerson \"{{name}}\"", + + // "admin.access-control.epeople.form.notification.edited.success": "Successfully edited EPerson \"{{name}}\"", "admin.access-control.epeople.form.notification.edited.success": "EPerson \"{{name}}\" szerkesztése sikerült", - -// "admin.access-control.epeople.form.notification.edited.failure": "Failed to edit EPerson \"{{name}}\"", + + // "admin.access-control.epeople.form.notification.edited.failure": "Failed to edit EPerson \"{{name}}\"", "admin.access-control.epeople.form.notification.edited.failure": "EPerson \"{{name}}\" szerkesztése nem sikerült", - -// "admin.access-control.epeople.form.notification.deleted.success": "Successfully deleted EPerson \"{{name}}\"", + + // "admin.access-control.epeople.form.notification.deleted.success": "Successfully deleted EPerson \"{{name}}\"", "admin.access-control.epeople.form.notification.deleted.success": "Sikeresen törölve: EPerson \"{{name}}\"", - -// "admin.access-control.epeople.form.notification.deleted.failure": "Failed to delete EPerson \"{{name}}\"", + + // "admin.access-control.epeople.form.notification.deleted.failure": "Failed to delete EPerson \"{{name}}\"", "admin.access-control.epeople.form.notification.deleted.failure": "Nem sikerült törülni: EPerson \"{{name}}\"", - -// "admin.access-control.epeople.form.groupsEPersonIsMemberOf": "Member of these groups:", + + // "admin.access-control.epeople.form.groupsEPersonIsMemberOf": "Member of these groups:", "admin.access-control.epeople.form.groupsEPersonIsMemberOf": "Tagja a következő csoportoknak:", - -// "admin.access-control.epeople.form.table.id": "ID", + + // "admin.access-control.epeople.form.table.id": "ID", "admin.access-control.epeople.form.table.id": "Azonosító", - -// "admin.access-control.epeople.form.table.name": "Name", + + // "admin.access-control.epeople.form.table.name": "Name", "admin.access-control.epeople.form.table.name": "Név", - -// "admin.access-control.epeople.form.memberOfNoGroups": "This EPerson is not a member of any groups", + + // "admin.access-control.epeople.form.memberOfNoGroups": "This EPerson is not a member of any groups", "admin.access-control.epeople.form.memberOfNoGroups": "Ez azEPerson egyetlen csoportnak sem tagja", - -// "admin.access-control.epeople.form.goToGroups": "Add to groups", + + // "admin.access-control.epeople.form.goToGroups": "Add to groups", "admin.access-control.epeople.form.goToGroups": "Hozzáadás csoportokhoz", - -// "admin.access-control.epeople.notification.deleted.failure": "Failed to delete EPerson: \"{{name}}\"", + + // "admin.access-control.epeople.notification.deleted.failure": "Failed to delete EPerson: \"{{name}}\"", "admin.access-control.epeople.notification.deleted.failure": "EPerson: \"{{name}}\" törlése nem sikerült", - -// "admin.access-control.epeople.notification.deleted.success": "Successfully deleted EPerson: \"{{name}}\"", + + // "admin.access-control.epeople.notification.deleted.success": "Successfully deleted EPerson: \"{{name}}\"", "admin.access-control.epeople.notification.deleted.success": "EPerson: \"{{name}}\" törlése sikerült", - - - -// "admin.access-control.groups.title": "DSpace Angular :: Groups", + + + + // "admin.access-control.groups.title": "DSpace Angular :: Groups", "admin.access-control.groups.title": "DSpace Angular :: Csoportok", - -// "admin.access-control.groups.title.singleGroup": "DSpace Angular :: Edit Group", + + // "admin.access-control.groups.title.singleGroup": "DSpace Angular :: Edit Group", "admin.access-control.groups.title.singleGroup": "DSpace Angular :: Csoport szerkesztése", - -// "admin.access-control.groups.title.addGroup": "DSpace Angular :: New Group", + + // "admin.access-control.groups.title.addGroup": "DSpace Angular :: New Group", "admin.access-control.groups.title.addGroup": "DSpace Angular :: Új csoport", - -// "admin.access-control.groups.head": "Groups", + + // "admin.access-control.groups.head": "Groups", "admin.access-control.groups.head": "Csoportok", - -// "admin.access-control.groups.button.add": "Add group", + + // "admin.access-control.groups.button.add": "Add group", "admin.access-control.groups.button.add": "Csoport hozzáadása", - -// "admin.access-control.groups.search.head": "Search groups", + + // "admin.access-control.groups.search.head": "Search groups", "admin.access-control.groups.search.head": "Csoportok keresése", - -// "admin.access-control.groups.button.see-all": "Browse all", + + // "admin.access-control.groups.button.see-all": "Browse all", "admin.access-control.groups.button.see-all": "valamennyi böngészése", - -// "admin.access-control.groups.search.button": "Search", + + // "admin.access-control.groups.search.button": "Search", "admin.access-control.groups.search.button": "Keresés", - -// "admin.access-control.groups.table.id": "ID", + + // "admin.access-control.groups.table.id": "ID", "admin.access-control.groups.table.id": "Azonosító", - -// "admin.access-control.groups.table.name": "Name", + + // "admin.access-control.groups.table.name": "Name", "admin.access-control.groups.table.name": "Név", - -// "admin.access-control.groups.table.members": "Members", + + // "admin.access-control.groups.table.members": "Members", "admin.access-control.groups.table.members": "Tagok", - -// "admin.access-control.groups.table.comcol": "Community / Collection", - "admin.access-control.groups.table.comcol": "Közösség / Gyűjtemény", - -// "admin.access-control.groups.table.edit": "Edit", + + // "admin.access-control.groups.table.edit": "Edit", "admin.access-control.groups.table.edit": "Szerkesztés", - -// "admin.access-control.groups.table.edit.buttons.edit": "Edit \"{{name}}\"", + + // "admin.access-control.groups.table.edit.buttons.edit": "Edit \"{{name}}\"", "admin.access-control.groups.table.edit.buttons.edit": "Szerkesztés \"{{name}}\"", - -// "admin.access-control.groups.table.edit.buttons.remove": "Delete \"{{name}}\"", + + // "admin.access-control.groups.table.edit.buttons.remove": "Delete \"{{name}}\"", "admin.access-control.groups.table.edit.buttons.remove": "Törlés \"{{name}}\"", - -// "admin.access-control.groups.no-items": "No groups found with this in their name or this as UUID", + + // "admin.access-control.groups.no-items": "No groups found with this in their name or this as UUID", "admin.access-control.groups.no-items": "Egyetlen csoport sem tartalmazza nevében, vagy UUID-ként ezt", - -// "admin.access-control.groups.notification.deleted.success": "Successfully deleted group \"{{name}}\"", + + // "admin.access-control.groups.notification.deleted.success": "Successfully deleted group \"{{name}}\"", "admin.access-control.groups.notification.deleted.success": "\"{{name}}\" csoport törlése sikerült", - -// "admin.access-control.groups.notification.deleted.failure": "Failed to delete group \"{{name}}\"", + + // "admin.access-control.groups.notification.deleted.failure.title": "Failed to delete group \"{{name}}\"", + // TODO Source message changed - Revise the translation "admin.access-control.groups.notification.deleted.failure.title": "\"{{name}}\" csoport törlése nem sikerült", - -// "admin.access-control.groups.notification.deleted.failure.content": "Cause: \"{{cause}}\"", + + // "admin.access-control.groups.notification.deleted.failure.content": "Cause: \"{{cause}}\"", "admin.access-control.groups.notification.deleted.failure.content": "Ok: \"{{cause}}\"", - - - -// "admin.access-control.groups.form.alert.permanent": "This group is permanent, so it can't be edited or deleted. You can still add and remove group members using this page.", + + + + // "admin.access-control.groups.form.alert.permanent": "This group is permanent, so it can't be edited or deleted. You can still add and remove group members using this page.", "admin.access-control.groups.form.alert.permanent": "Ez a csoport állandó, nem szerkeszthető vagy törölhető. Ugyanakor a csoporttagság szerkeszthető.", - -// "admin.access-control.groups.form.alert.workflowGroup": "This group can’t be modified or deleted because it corresponds to a role in the submission and workflow process in the \"{{name}}\" {{comcol}}. You can delete it from the \"assign roles\" tab on the edit {{comcol}} page. You can still add and remove group members using this page.", + + // "admin.access-control.groups.form.alert.workflowGroup": "This group can’t be modified or deleted because it corresponds to a role in the submission and workflow process in the \"{{name}}\" {{comcol}}. You can delete it from the \"assign roles\" tab on the edit {{comcol}} page. You can still add and remove group members using this page.", "admin.access-control.groups.form.alert.workflowGroup": "A csoport nem módosítható vagy törölhető, mert használva van egy szerepkörben vagy egy folyamatban a(z) \"{{name}}\" {{comcol}} helyen. Törölheti a \"szerepkör hozzárendelése\" fülön a szerkesztés oldalon: {{comcol}}. Ugyanakkor ezen az oldalon, szerkesztheti a csoporttagokat.", - -// "admin.access-control.groups.form.head.create": "Create group", + + // "admin.access-control.groups.form.head.create": "Create group", "admin.access-control.groups.form.head.create": "Csoport létrehozása", - -// "admin.access-control.groups.form.head.edit": "Edit group", + + // "admin.access-control.groups.form.head.edit": "Edit group", "admin.access-control.groups.form.head.edit": "Csoport szerkesztése", - -// "admin.access-control.groups.form.groupName": "Group name", + + // "admin.access-control.groups.form.groupName": "Group name", "admin.access-control.groups.form.groupName": "Csoport neve", - -// "admin.access-control.groups.form.groupDescription": "Description", + + // "admin.access-control.groups.form.groupDescription": "Description", "admin.access-control.groups.form.groupDescription": "Leírás", - -// "admin.access-control.groups.form.notification.created.success": "Successfully created Group \"{{name}}\"", + + // "admin.access-control.groups.form.notification.created.success": "Successfully created Group \"{{name}}\"", "admin.access-control.groups.form.notification.created.success": "\"{{name}}\" csoport létrehozása sikerült", - -// "admin.access-control.groups.form.notification.created.failure": "Failed to create Group \"{{name}}\"", + + // "admin.access-control.groups.form.notification.created.failure": "Failed to create Group \"{{name}}\"", "admin.access-control.groups.form.notification.created.failure": "\"{{name}}\" csoport létrehozása nem sikerült", - -// "admin.access-control.groups.form.notification.created.failure.groupNameInUse": "Failed to create Group with name: \"{{name}}\", make sure the name is not already in use.", + + // "admin.access-control.groups.form.notification.created.failure.groupNameInUse": "Failed to create Group with name: \"{{name}}\", make sure the name is not already in use.", "admin.access-control.groups.form.notification.created.failure.groupNameInUse": "Nem sikerült csoport létrehozása a következő névvel: \"{{name}}\", győződjön meg róla, hogy a név nincs már használatban.", - -// "admin.access-control.groups.form.notification.edited.failure": "Failed to edit Group \"{{name}}\"", + + // "admin.access-control.groups.form.notification.edited.failure": "Failed to edit Group \"{{name}}\"", "admin.access-control.groups.form.notification.edited.failure": "Nem sikerült szerkeszteni a csoportot \"{{name}}\"", - -// "admin.access-control.groups.form.notification.edited.failure.groupNameInUse": "Name \"{{name}}\" already in use!", + + // "admin.access-control.groups.form.notification.edited.failure.groupNameInUse": "Name \"{{name}}\" already in use!", "admin.access-control.groups.form.notification.edited.failure.groupNameInUse": "A(z) \"{{name}}\" név már foglalt!", - -// "admin.access-control.groups.form.notification.edited.success": "Successfully edited Group \"{{name}}\"", + + // "admin.access-control.groups.form.notification.edited.success": "Successfully edited Group \"{{name}}\"", "admin.access-control.groups.form.notification.edited.success": "Sikeresen szerkesztett csoport: \"{{name}}\"", - -// "admin.access-control.groups.form.actions.delete": "Delete Group", + + // "admin.access-control.groups.form.actions.delete": "Delete Group", "admin.access-control.groups.form.actions.delete": "Csoport törlése", - -// "admin.access-control.groups.form.delete-group.modal.header": "Delete Group \"{{ dsoName }}\"", + + // "admin.access-control.groups.form.delete-group.modal.header": "Delete Group \"{{ dsoName }}\"", "admin.access-control.groups.form.delete-group.modal.header": "Csoport törlése: \"{{ dsoName }}\"", - -// "admin.access-control.groups.form.delete-group.modal.info": "Are you sure you want to delete Group \"{{ dsoName }}\"", + + // "admin.access-control.groups.form.delete-group.modal.info": "Are you sure you want to delete Group \"{{ dsoName }}\"", "admin.access-control.groups.form.delete-group.modal.info": "Biztos törli a csoportot: \"{{ dsoName }}\"", - -// "admin.access-control.groups.form.delete-group.modal.cancel": "Cancel", + + // "admin.access-control.groups.form.delete-group.modal.cancel": "Cancel", "admin.access-control.groups.form.delete-group.modal.cancel": "Mégsem", - -// "admin.access-control.groups.form.delete-group.modal.confirm": "Delete", + + // "admin.access-control.groups.form.delete-group.modal.confirm": "Delete", "admin.access-control.groups.form.delete-group.modal.confirm": "Törlés", - -// "admin.access-control.groups.form.notification.deleted.success": "Successfully deleted group \"{{ name }}\"", + + // "admin.access-control.groups.form.notification.deleted.success": "Successfully deleted group \"{{ name }}\"", "admin.access-control.groups.form.notification.deleted.success": "Csoport sikeresen törölve: \"{{ name }}\"", - -// "admin.access-control.groups.form.notification.deleted.failure.title": "Failed to delete group \"{{ name }}\"", + + // "admin.access-control.groups.form.notification.deleted.failure.title": "Failed to delete group \"{{ name }}\"", "admin.access-control.groups.form.notification.deleted.failure.title": "Nem sikerült törölni a csoportot: \"{{ name }}\"", - -// "admin.access-control.groups.form.notification.deleted.failure.content": "Cause: \"{{ cause }}\"", + + // "admin.access-control.groups.form.notification.deleted.failure.content": "Cause: \"{{ cause }}\"", "admin.access-control.groups.form.notification.deleted.failure.content": "Ok: \"{{ cause }}\"", - -// "admin.access-control.groups.form.members-list.head": "EPeople", + + // "admin.access-control.groups.form.members-list.head": "EPeople", "admin.access-control.groups.form.members-list.head": "EPeople", - -// "admin.access-control.groups.form.members-list.search.head": "Add EPeople", + + // "admin.access-control.groups.form.members-list.search.head": "Add EPeople", "admin.access-control.groups.form.members-list.search.head": "EPeople hozzáadása", - -// "admin.access-control.groups.form.members-list.button.see-all": "Browse All", + + // "admin.access-control.groups.form.members-list.button.see-all": "Browse All", "admin.access-control.groups.form.members-list.button.see-all": "Valamennyi böngészése", - -// "admin.access-control.groups.form.members-list.headMembers": "Current Members", + + // "admin.access-control.groups.form.members-list.headMembers": "Current Members", "admin.access-control.groups.form.members-list.headMembers": "Jelenlegi tagok", - -// "admin.access-control.groups.form.members-list.search.scope.metadata": "Metadata", + + // "admin.access-control.groups.form.members-list.search.scope.metadata": "Metadata", "admin.access-control.groups.form.members-list.search.scope.metadata": "Metaadat", - -// "admin.access-control.groups.form.members-list.search.scope.email": "E-mail (exact)", + + // "admin.access-control.groups.form.members-list.search.scope.email": "E-mail (exact)", "admin.access-control.groups.form.members-list.search.scope.email": "E-mail (pontosan)", - -// "admin.access-control.groups.form.members-list.search.button": "Search", + + // "admin.access-control.groups.form.members-list.search.button": "Search", "admin.access-control.groups.form.members-list.search.button": "Keresés", - -// "admin.access-control.groups.form.members-list.table.id": "ID", + + // "admin.access-control.groups.form.members-list.table.id": "ID", "admin.access-control.groups.form.members-list.table.id": "Azonosító", - -// "admin.access-control.groups.form.members-list.table.name": "Name", + + // "admin.access-control.groups.form.members-list.table.name": "Name", "admin.access-control.groups.form.members-list.table.name": "Név", - -// "admin.access-control.groups.form.members-list.table.edit": "Remove / Add", + + // "admin.access-control.groups.form.members-list.table.edit": "Remove / Add", "admin.access-control.groups.form.members-list.table.edit": "Törlés / Hozzáadás", - -// "admin.access-control.groups.form.members-list.table.edit.buttons.remove": "Remove member with name \"{{name}}\"", + + // "admin.access-control.groups.form.members-list.table.edit.buttons.remove": "Remove member with name \"{{name}}\"", "admin.access-control.groups.form.members-list.table.edit.buttons.remove": "A\"{{name}}\" nevű tag törlése", - -// "admin.access-control.groups.form.members-list.notification.success.addMember": "Successfully added member: \"{{name}}\"", + + // "admin.access-control.groups.form.members-list.notification.success.addMember": "Successfully added member: \"{{name}}\"", "admin.access-control.groups.form.members-list.notification.success.addMember": "A: \"{{name}}\" tag sikeresen hozzáadva", - -// "admin.access-control.groups.form.members-list.notification.failure.addMember": "Failed to add member: \"{{name}}\"", + + // "admin.access-control.groups.form.members-list.notification.failure.addMember": "Failed to add member: \"{{name}}\"", "admin.access-control.groups.form.members-list.notification.failure.addMember": "A: \"{{name}}\" tag hozzáadása nem sikerült", - -// "admin.access-control.groups.form.members-list.notification.success.deleteMember": "Successfully deleted member: \"{{name}}\"", + + // "admin.access-control.groups.form.members-list.notification.success.deleteMember": "Successfully deleted member: \"{{name}}\"", "admin.access-control.groups.form.members-list.notification.success.deleteMember": "A: \"{{name}}\" tag törlése sikerült", - -// "admin.access-control.groups.form.members-list.notification.failure.deleteMember": "Failed to delete member: \"{{name}}\"", + + // "admin.access-control.groups.form.members-list.notification.failure.deleteMember": "Failed to delete member: \"{{name}}\"", "admin.access-control.groups.form.members-list.notification.failure.deleteMember": "A: \"{{name}}\" tag törlése nem sikerült", - -// "admin.access-control.groups.form.members-list.table.edit.buttons.add": "Add member with name \"{{name}}\"", + + // "admin.access-control.groups.form.members-list.table.edit.buttons.add": "Add member with name \"{{name}}\"", "admin.access-control.groups.form.members-list.table.edit.buttons.add": "Tag hozzáadása a következő névvel: \"{{name}}\"", - -// "admin.access-control.groups.form.members-list.notification.failure.noActiveGroup": "No current active group, submit a name first.", + + // "admin.access-control.groups.form.members-list.notification.failure.noActiveGroup": "No current active group, submit a name first.", "admin.access-control.groups.form.members-list.notification.failure.noActiveGroup": "Nincs jelenleg aktív csoport, előbb adjon meg egy nevet.", - -// "admin.access-control.groups.form.members-list.no-members-yet": "No members in group yet, search and add.", + + // "admin.access-control.groups.form.members-list.no-members-yet": "No members in group yet, search and add.", "admin.access-control.groups.form.members-list.no-members-yet": "A csoportnak még nincs egy tagja sem, keressen s adjon hozzá.", - -// "admin.access-control.groups.form.members-list.no-items": "No EPeople found in that search", + + // "admin.access-control.groups.form.members-list.no-items": "No EPeople found in that search", "admin.access-control.groups.form.members-list.no-items": "Ez a keresés nem talált EPeople-t", - -// "admin.access-control.groups.form.subgroups-list.head": "Groups", + + // "admin.access-control.groups.form.subgroups-list.notification.failure": "Something went wrong: \"{{cause}}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.subgroups-list.notification.failure": "Something went wrong: \"{{cause}}\"", + + // "admin.access-control.groups.form.subgroups-list.head": "Groups", "admin.access-control.groups.form.subgroups-list.head": "Csoportok", - -// "admin.access-control.groups.form.subgroups-list.search.head": "Add Subgroup", + + // "admin.access-control.groups.form.subgroups-list.search.head": "Add Subgroup", "admin.access-control.groups.form.subgroups-list.search.head": "Alcsoport hozzáadása", - -// "admin.access-control.groups.form.subgroups-list.button.see-all": "Browse All", + + // "admin.access-control.groups.form.subgroups-list.button.see-all": "Browse All", "admin.access-control.groups.form.subgroups-list.button.see-all": "valamennyi böngészése", - -// "admin.access-control.groups.form.subgroups-list.headSubgroups": "Current Subgroups", + + // "admin.access-control.groups.form.subgroups-list.headSubgroups": "Current Subgroups", "admin.access-control.groups.form.subgroups-list.headSubgroups": "jelenlegi alcsoportok", - -// "admin.access-control.groups.form.subgroups-list.search.button": "Search", + + // "admin.access-control.groups.form.subgroups-list.search.button": "Search", "admin.access-control.groups.form.subgroups-list.search.button": "keresés", - -// "admin.access-control.groups.form.subgroups-list.table.id": "ID", + + // "admin.access-control.groups.form.subgroups-list.table.id": "ID", "admin.access-control.groups.form.subgroups-list.table.id": "Azonosító", - -// "admin.access-control.groups.form.subgroups-list.table.name": "Name", + + // "admin.access-control.groups.form.subgroups-list.table.name": "Name", "admin.access-control.groups.form.subgroups-list.table.name": "Név", - -// "admin.access-control.groups.form.subgroups-list.table.edit": "Remove / Add", + + // "admin.access-control.groups.form.subgroups-list.table.edit": "Remove / Add", "admin.access-control.groups.form.subgroups-list.table.edit": "Törlés / Hozzáadás", - -// "admin.access-control.groups.form.subgroups-list.table.edit.buttons.remove": "Remove subgroup with name \"{{name}}\"", + + // "admin.access-control.groups.form.subgroups-list.table.edit.buttons.remove": "Remove subgroup with name \"{{name}}\"", "admin.access-control.groups.form.subgroups-list.table.edit.buttons.remove": "A következő nevű \"{{name}}\" alcsoport törlése", - -// "admin.access-control.groups.form.subgroups-list.table.edit.buttons.add": "Add subgroup with name \"{{name}}\"", + + // "admin.access-control.groups.form.subgroups-list.table.edit.buttons.add": "Add subgroup with name \"{{name}}\"", "admin.access-control.groups.form.subgroups-list.table.edit.buttons.add": "A következő nevű \"{{name}}\" alcsoport hozzáadása", - -// "admin.access-control.groups.form.subgroups-list.table.edit.currentGroup": "Current group", + + // "admin.access-control.groups.form.subgroups-list.table.edit.currentGroup": "Current group", "admin.access-control.groups.form.subgroups-list.table.edit.currentGroup": "Jelenlegi csoport", - -// "admin.access-control.groups.form.subgroups-list.notification.success.addSubgroup": "Successfully added subgroup: \"{{name}}\"", + + // "admin.access-control.groups.form.subgroups-list.notification.success.addSubgroup": "Successfully added subgroup: \"{{name}}\"", "admin.access-control.groups.form.subgroups-list.notification.success.addSubgroup": "A: \"{{name}}\" alcsoport sikeresen hozzáadva", - -// "admin.access-control.groups.form.subgroups-list.notification.failure.addSubgroup": "Failed to add subgroup: \"{{name}}\"", + + // "admin.access-control.groups.form.subgroups-list.notification.failure.addSubgroup": "Failed to add subgroup: \"{{name}}\"", "admin.access-control.groups.form.subgroups-list.notification.failure.addSubgroup": "A: \"{{name}}\" alcsoport hozzáadása nem sikerült", - -// "admin.access-control.groups.form.subgroups-list.notification.success.deleteSubgroup": "Successfully deleted subgroup: \"{{name}}\"", + + // "admin.access-control.groups.form.subgroups-list.notification.success.deleteSubgroup": "Successfully deleted subgroup: \"{{name}}\"", "admin.access-control.groups.form.subgroups-list.notification.success.deleteSubgroup": "A: \"{{name}}\" alcsoport sikeresen törölve", - -// "admin.access-control.groups.form.subgroups-list.notification.failure.deleteSubgroup": "Failed to delete subgroup: \"{{name}}\"", + + // "admin.access-control.groups.form.subgroups-list.notification.failure.deleteSubgroup": "Failed to delete subgroup: \"{{name}}\"", "admin.access-control.groups.form.subgroups-list.notification.failure.deleteSubgroup": "A: \"{{name}}\" alcsoport törlése nem sikerült", - -// "admin.access-control.groups.form.subgroups-list.notification.failure.noActiveGroup": "No current active group, submit a name first.", + + // "admin.access-control.groups.form.subgroups-list.notification.failure.noActiveGroup": "No current active group, submit a name first.", "admin.access-control.groups.form.subgroups-list.notification.failure.noActiveGroup": "jelenleg nincs aktív csoport, előbb adjon meg egy nevet.", - -// "admin.access-control.groups.form.subgroups-list.notification.failure.subgroupToAddIsActiveGroup": "This is the current group, can't be added.", + + // "admin.access-control.groups.form.subgroups-list.notification.failure.subgroupToAddIsActiveGroup": "This is the current group, can't be added.", "admin.access-control.groups.form.subgroups-list.notification.failure.subgroupToAddIsActiveGroup": "Ez a jelenlegi csoport, nem lehet hozzáadni.", - -// "admin.access-control.groups.form.subgroups-list.no-items": "No groups found with this in their name or this as UUID", + + // "admin.access-control.groups.form.subgroups-list.no-items": "No groups found with this in their name or this as UUID", "admin.access-control.groups.form.subgroups-list.no-items": "Egyetlen csoport neve vagy UUID-je sem tartalmazza ezt", - -// "admin.access-control.groups.form.subgroups-list.no-subgroups-yet": "No subgroups in group yet.", + + // "admin.access-control.groups.form.subgroups-list.no-subgroups-yet": "No subgroups in group yet.", "admin.access-control.groups.form.subgroups-list.no-subgroups-yet": "A csoportnak még nincsenek alcsoportjai.", - -// "admin.access-control.groups.form.return": "Return to groups", + + // "admin.access-control.groups.form.return": "Return to groups", "admin.access-control.groups.form.return": "Vissza a csoportokhoz", - - - -// "admin.search.breadcrumbs": "Administrative Search", + + + + // "admin.search.breadcrumbs": "Administrative Search", "admin.search.breadcrumbs": "Adminisztratív keresés", - -// "admin.search.collection.edit": "Edit", + + // "admin.search.collection.edit": "Edit", "admin.search.collection.edit": "Szerkesztés", - -// "admin.search.community.edit": "Edit", + + // "admin.search.community.edit": "Edit", "admin.search.community.edit": "Szerkesztés", - -// "admin.search.item.delete": "Delete", + + // "admin.search.item.delete": "Delete", "admin.search.item.delete": "Törlés", - -// "admin.search.item.edit": "Edit", + + // "admin.search.item.edit": "Edit", "admin.search.item.edit": "Szerkesztés", - -// "admin.search.item.make-private": "Make Private", + + // "admin.search.item.make-private": "Make Private", "admin.search.item.make-private": "legyen privát", - -// "admin.search.item.make-public": "Make Public", + + // "admin.search.item.make-public": "Make Public", "admin.search.item.make-public": "Legyen nyilvános", - -// "admin.search.item.move": "Move", + + // "admin.search.item.move": "Move", "admin.search.item.move": "Költöztetés", - -// "admin.search.item.reinstate": "Reinstate", + + // "admin.search.item.reinstate": "Reinstate", "admin.search.item.reinstate": "Visszaállítás", - -// "admin.search.item.withdraw": "Withdraw", + + // "admin.search.item.withdraw": "Withdraw", "admin.search.item.withdraw": "Visszavonás", - -// "admin.search.title": "Administrative Search", + + // "admin.search.title": "Administrative Search", "admin.search.title": "Adminisztratív keresés", - - - - -// "admin.workflow.breadcrumbs": "Administer Workflow", - "admin.workflow.breadcrumbs": "Munkafolyamat irányítása", - -// "admin.workflow.title": "Administer Workflow", - "admin.workflow.title": "Munkafolyamat irányítása", - -// "admin.workflow.item.workflow": "Workflow", - "admin.workflow.item.workflow": "Munkafolyamat", - -// "admin.workflow.item.delete": "Delete", - "admin.workflow.item.delete": "Törlés", - -// "admin.workflow.item.send-back": "Send back", - "admin.workflow.item.send-back": "Visszaküldés", - - - -// "admin.metadata-import.breadcrumbs": "Import Metadata", - "admin.metadata-import.breadcrumbs": "Metaadat importálása", - -// "admin.metadata-import.title": "Import Metadata", - "admin.metadata-import.title": "Metaadat importálása", - -// "admin.metadata-import.page.header": "Import Metadata", - "admin.metadata-import.page.header": "Metaadat importálása", - -// "admin.metadata-import.page.help": "You can drop or browse CSV files that contain batch metadata operations on files here", - "admin.metadata-import.page.help": "Becsatolhat vagy kikereshet CSV fájlokat, amelyek az itt tárolt fájlokra vonatkozó műveleteket tárolnak", - -// "admin.metadata-import.page.dropMsg": "Drop a metadata CSV to import", - "admin.metadata-import.page.dropMsg": "Húzzon ide egy metaadat CSV-t az importáláshoz", - -// "admin.metadata-import.page.dropMsgReplace": "Drop to replace the metadata CSV to import", - "admin.metadata-import.page.dropMsgReplace": "Húzzon ide egy metaadat CSV-t az importálás felülírásához", - -// "admin.metadata-import.page.button.return": "Return", - "admin.metadata-import.page.button.return": "Vissza", - -// "admin.metadata-import.page.button.proceed": "Proceed", - "admin.metadata-import.page.button.proceed": "Folytassa", - -// "admin.metadata-import.page.error.addFile": "Select file first!", - "admin.metadata-import.page.error.addFile": "Előbb válassza ki a fájlt!", - - - - -// "auth.errors.invalid-user": "Invalid email address or password.", - "auth.errors.invalid-user": "Érvénytelen email cím, vagy jelszó.", - -// "auth.messages.expired": "Your session has expired. Please log in again.", - "auth.messages.expired": "Az idő lejárt. Kérjük, lépjen be újra.", - - - -// "bitstream.edit.bitstream": "Bitstream: ", - "bitstream.edit.bitstream": "Bitfolyam: ", - -// "bitstream.edit.form.description.hint": "Optionally, provide a brief description of the file, for example \"Main article\" or \"Experiment data readings\".", - "bitstream.edit.form.description.hint": "Választhatóan megadhatja az állomány rövid leírását, például \"Fő cikk\" vagy \"Kísérleti adatok\".", - -// "bitstream.edit.form.description.label": "Description", - "bitstream.edit.form.description.label": "Leírás", - -// "bitstream.edit.form.embargo.hint": "The first day from which access is allowed. This date cannot be modified on this form. To set an embargo date for a bitstream, go to the Item Status tab, click Authorizations..., create or edit the bitstream's READ policy, and set the Start Date as desired.", - "bitstream.edit.form.embargo.hint": "Ettől a naptól engedélyezett a hozzáférés. Ez a dátum ebben a formában nem módosítható. Ha a bitfolyamhoz embargó dátumot óhajt beállítani, akkor ide: Tárgy Státus fül, kattintson: Engedélyezés..., hozza létre, vagy szerkessze a bitfolyam OLVASÁS engedélyezését és állítsa be a Kezdő Dátum kívánsága szerint.", - -// "bitstream.edit.form.embargo.label": "Embargo until specific date", - "bitstream.edit.form.embargo.label": "Embargo egy megadott dátumig", - -// "bitstream.edit.form.fileName.hint": "Change the filename for the bitstream. Note that this will change the display bitstream URL, but old links will still resolve as long as the sequence ID does not change.", - "bitstream.edit.form.fileName.hint": "Változtassa meg a bitfolyam állomány nevét. Ez megváltoztatja a bitfolyam URL-t is, de a régi linkek meg mindig működni fognak, hacsak a szakasz azonosító meg nem változik.", - -// "bitstream.edit.form.fileName.label": "Filename", - "bitstream.edit.form.fileName.label": "Állománynév", - -// "bitstream.edit.form.newFormat.label": "Describe new format", - "bitstream.edit.form.newFormat.label": "Új formátum leírása", - -// "bitstream.edit.form.newFormat.hint": "The application you used to create the file, and the version number (for example, \"ACMESoft SuperApp version 1.5\").", - "bitstream.edit.form.newFormat.hint": "A program, amellyel az állományt létrehozta és a verzió száma (például, \"ACMESoft SuperApp version 1.5\").", - -// "bitstream.edit.form.primaryBitstream.label": "Primary bitstream", - "bitstream.edit.form.primaryBitstream.label": "Elsődleges bitfolyam", - -// "bitstream.edit.form.selectedFormat.hint": "If the format is not in the above list, select \"format not in list\" above and describe it under \"Describe new format\".", - "bitstream.edit.form.selectedFormat.hint": "Amennyiben a formátum nem található a fentebbi listán, válassza \"formátum nincs a listán\" feljebb majd írja le \"Új formátum leírása\".", - -// "bitstream.edit.form.selectedFormat.label": "Selected Format", - "bitstream.edit.form.selectedFormat.label": "Kiválasztott formátum", - -// "bitstream.edit.form.selectedFormat.unknown": "Format not in list", - "bitstream.edit.form.selectedFormat.unknown": "Formátum nincs a listán", - -// "bitstream.edit.notifications.error.format.title": "An error occurred saving the bitstream's format", - "bitstream.edit.notifications.error.format.title": "Bitfolyam formátum mentése közben hiba történt", - -// "bitstream.edit.notifications.saved.content": "Your changes to this bitstream were saved.", - "bitstream.edit.notifications.saved.content": "A bitfolyamban eszközölt változtatások elmentve.", - -// "bitstream.edit.notifications.saved.title": "Bitstream saved", - "bitstream.edit.notifications.saved.title": "Bitfolyam elmentve", - -// "bitstream.edit.title": "Edit bitstream", - "bitstream.edit.title": "Bitfolyam szerkesztése", - - - -// "browse.comcol.by.author": "By Author", - "browse.comcol.by.author": "Szerző szerint", - -// "browse.comcol.by.dateissued": "By Issue Date", - "browse.comcol.by.dateissued": "Megjelenés dátuma szerint", - -// "browse.comcol.by.subject": "By Subject", - "browse.comcol.by.subject": "Tárgy szerint", - -// "browse.comcol.by.title": "By Title", - "browse.comcol.by.title": "Cím szerint", - -// "browse.comcol.head": "Browse", - "browse.comcol.head": "Böngészés", - -// "browse.empty": "No items to show.", - "browse.empty": "Nincs elérhető tárgy.", - -// "browse.metadata.author": "Author", - "browse.metadata.author": "Szerző", - -// "browse.metadata.dateissued": "Issue Date", - "browse.metadata.dateissued": "Megjelenés dátuma", - -// "browse.metadata.subject": "Subject", - "browse.metadata.subject": "Tárgy", - -// "browse.metadata.title": "Title", - "browse.metadata.title": "Cím", - -// "browse.metadata.author.breadcrumbs": "Browse by Author", - "browse.metadata.author.breadcrumbs": "Böngészés szerző szerint", - -// "browse.metadata.dateissued.breadcrumbs": "Browse by Date", - "browse.metadata.dateissued.breadcrumbs": "Böngészés dátum szerint", - -// "browse.metadata.subject.breadcrumbs": "Browse by Subject", - "browse.metadata.subject.breadcrumbs": "Böngészés tárgy szerint", - -// "browse.metadata.title.breadcrumbs": "Browse by Title", - "browse.metadata.title.breadcrumbs": "Böngészés cím szerint", - -// "browse.startsWith.choose_start": "(Choose start)", - "browse.startsWith.choose_start": "(Válassza a kezdést)", - -// "browse.startsWith.choose_year": "(Choose year)", - "browse.startsWith.choose_year": "(Válassza az évet)", - -// "browse.startsWith.jump": "Jump to a point in the index:", - "browse.startsWith.jump": "Ugrás a tartalom egy pontjához:", - -// "browse.startsWith.months.april": "April", - "browse.startsWith.months.april": "Április", - -// "browse.startsWith.months.august": "August", - "browse.startsWith.months.august": "Augusztus", - -// "browse.startsWith.months.december": "December", - "browse.startsWith.months.december": "December", - -// "browse.startsWith.months.february": "February", - "browse.startsWith.months.february": "Február", - -// "browse.startsWith.months.january": "January", - "browse.startsWith.months.january": "Január", - -// "browse.startsWith.months.july": "July", - "browse.startsWith.months.july": "Július", - -// "browse.startsWith.months.june": "June", - "browse.startsWith.months.june": "Június", - -// "browse.startsWith.months.march": "March", - "browse.startsWith.months.march": "Március", - -// "browse.startsWith.months.may": "May", - "browse.startsWith.months.may": "Május", - -// "browse.startsWith.months.none": "(Choose month)", - "browse.startsWith.months.none": "(Válasszon hónapot)", - -// "browse.startsWith.months.november": "November", - "browse.startsWith.months.november": "November", - -// "browse.startsWith.months.october": "October", - "browse.startsWith.months.october": "Október", - -// "browse.startsWith.months.september": "September", - "browse.startsWith.months.september": "Szeptember", - -// "browse.startsWith.submit": "Go", - "browse.startsWith.submit": "Indít", - -// "browse.startsWith.type_date": "Or type in a date (year-month):", - "browse.startsWith.type_date": "Vagy írjon be egy dátumot (év-hónap):", - -// "browse.startsWith.type_text": "Or enter first few letters:", - "browse.startsWith.type_text": "Vagy írja be az első betűket:", - -// "browse.title": "Browsing {{ collection }} by {{ field }} {{ value }}", - "browse.title": "Böngészés {{ collection }} szerint {{ field }} {{ value }}", - - -// "chips.remove": "Remove chip", - "chips.remove": "Vegye ki a chipet", - - - -// "collection.create.head": "Create a Collection", - "collection.create.head": "Hozzon létre egy gyűjteményt", - -// "collection.create.notifications.success": "Successfully created the Collection", - "collection.create.notifications.success": "Guűjtemény sikeresen létrehozva", - -// "collection.create.sub-head": "Create a Collection for Community {{ parent }}", - "collection.create.sub-head": "Hozzon létre gyűjteményt a közösség számára {{ parent }}", - -// "collection.curate.header": "Curate Collection: {{collection}}", - "collection.curate.header": "Gyűjtemény gondozója: {{collection}}", - -// "collection.delete.cancel": "Cancel", - "collection.delete.cancel": "Mégse", - -// "collection.delete.confirm": "Confirm", - "collection.delete.confirm": "Mehet", - -// "collection.delete.head": "Delete Collection", - "collection.delete.head": "Gyűjtemény törlése", - -// "collection.delete.notification.fail": "Collection could not be deleted", - "collection.delete.notification.fail": "Gyűjteményt nem sikerült törölni", - -// "collection.delete.notification.success": "Successfully deleted collection", - "collection.delete.notification.success": "Gyűjtemény törölve", - -// "collection.delete.text": "Are you sure you want to delete collection \"{{ dso }}\"", - "collection.delete.text": "Biztos benne, hogy törölni szeretné a gyűjteményt \"{{ dso }}\"", - - - -// "collection.edit.delete": "Delete this collection", - "collection.edit.delete": "Törölje ezt a gyűjteményt", - -// "collection.edit.head": "Edit Collection", - "collection.edit.head": "Gyűjtemény szerkesztése", - -// "collection.edit.breadcrumbs": "Edit Collection", - "collection.edit.breadcrumbs": "Gyűjtemény szerkesztése", - - - -// "collection.edit.item-mapper.cancel": "Cancel", - "collection.edit.item-mapper.cancel": "Mégse", - -// "collection.edit.item-mapper.collection": "Collection: \"{{name}}\"", - "collection.edit.item-mapper.collection": "Gyűjtemény: \"{{name}}\"", - -// "collection.edit.item-mapper.confirm": "Map selected items", - "collection.edit.item-mapper.confirm": "Térképezze a kiválasztott tárgyakat", - -// "collection.edit.item-mapper.description": "This is the item mapper tool that allows collection administrators to map items from other collections into this collection. You can search for items from other collections and map them, or browse the list of currently mapped items.", - "collection.edit.item-mapper.description": "Ez a tárgytérképező eszköz, amellyel a gyűjtemények kezelői térképezhetnek más gyűjteményekből tárgyakat. Kereshet más gyűjteményekből tárgyakat és térképezheti azokat, vagy böngészheti a jelenleg térképezett tárgyakat.", - -// "collection.edit.item-mapper.head": "Item Mapper - Map Items from Other Collections", - "collection.edit.item-mapper.head": "Tárgytérképező - Térképezzen más gyűjteményekből tárgyakat", - -// "collection.edit.item-mapper.no-search": "Please enter a query to search", - "collection.edit.item-mapper.no-search": "Írja be a keresőszót", - -// "collection.edit.item-mapper.notifications.map.error.content": "Errors occurred for mapping of {{amount}} items.", - "collection.edit.item-mapper.notifications.map.error.content": "A {{amount}} tárgyak térképezésekor hiba történt.", - -// "collection.edit.item-mapper.notifications.map.error.head": "Mapping errors", - "collection.edit.item-mapper.notifications.map.error.head": "Térképezési hibák", - -// "collection.edit.item-mapper.notifications.map.success.content": "Successfully mapped {{amount}} items.", - "collection.edit.item-mapper.notifications.map.success.content": "A {{amount}} tárgyak térképezése sikerült.", - -// "collection.edit.item-mapper.notifications.map.success.head": "Mapping completed", - "collection.edit.item-mapper.notifications.map.success.head": "Térképezés befejezve", - -// "collection.edit.item-mapper.notifications.unmap.error.content": "Errors occurred for removing the mappings of {{amount}} items.", - "collection.edit.item-mapper.notifications.unmap.error.content": "A {{amount}} tárgyak térképezésének törlésekor hiba történt.", - -// "collection.edit.item-mapper.notifications.unmap.error.head": "Remove mapping errors", - "collection.edit.item-mapper.notifications.unmap.error.head": "Térképezési hibák törlése", - -// "collection.edit.item-mapper.notifications.unmap.success.content": "Successfully removed the mappings of {{amount}} items.", - "collection.edit.item-mapper.notifications.unmap.success.content": "A {{amount}} tárgyak térképezése sikeresen törölve.", - -// "collection.edit.item-mapper.notifications.unmap.success.head": "Remove mapping completed", - "collection.edit.item-mapper.notifications.unmap.success.head": "Térképezés törlése befejeződött", - -// "collection.edit.item-mapper.remove": "Remove selected item mappings", - "collection.edit.item-mapper.remove": "Kiválasztott térgyak térképezésének törlése", - -// "collection.edit.item-mapper.tabs.browse": "Browse mapped items", - "collection.edit.item-mapper.tabs.browse": "Térképezett tárgyak böngészése", - -// "collection.edit.item-mapper.tabs.map": "Map new items", - "collection.edit.item-mapper.tabs.map": "Új tárgyak térképezése", - - - -// "collection.edit.logo.label": "Collection logo", - "collection.edit.logo.label": "Gyűjtemény logo", - -// "collection.edit.logo.notifications.add.error": "Uploading Collection logo failed. Please verify the content before retrying.", - "collection.edit.logo.notifications.add.error": "Gyűjtemény logo feltöltése nem sikerült. Kérjük, ellenőrizze a tartalmat, mielőtt újra próbálkozna.", - -// "collection.edit.logo.notifications.add.success": "Upload Collection logo successful.", - "collection.edit.logo.notifications.add.success": "Gyűjtemény logo feltöltése sikerült.", - -// "collection.edit.logo.notifications.delete.success.title": "Logo deleted", - "collection.edit.logo.notifications.delete.success.title": "Logo törölve", - -// "collection.edit.logo.notifications.delete.success.content": "Successfully deleted the collection's logo", - "collection.edit.logo.notifications.delete.success.content": "Gyűjteménylogo sikeresen törölve", - -// "collection.edit.logo.notifications.delete.error.title": "Error deleting logo", - "collection.edit.logo.notifications.delete.error.title": "Logo törlése közben hiba történt", - -// "collection.edit.logo.upload": "Drop a Collection Logo to upload", - "collection.edit.logo.upload": "Feltöltéshez húzza ide a gyűjtemény Logót", - - - -// "collection.edit.notifications.success": "Successfully edited the Collection", - "collection.edit.notifications.success": "Gyűjtemény szerkesztése sikerült", - -// "collection.edit.return": "Return", - "collection.edit.return": "Vissza", - - - -// "collection.edit.tabs.curate.head": "Curate", - "collection.edit.tabs.curate.head": "Gondozás", - -// "collection.edit.tabs.curate.title": "Collection Edit - Curate", - "collection.edit.tabs.curate.title": "Gyűjtemény szerkesztés - gondozás", - -// "collection.edit.tabs.metadata.head": "Edit Metadata", - "collection.edit.tabs.metadata.head": "Metaadat szerkesztés", - -// "collection.edit.tabs.metadata.title": "Collection Edit - Metadata", - "collection.edit.tabs.metadata.title": "Gyűjtemény szerkesztés - Metaadat", - -// "collection.edit.tabs.roles.head": "Assign Roles", - "collection.edit.tabs.roles.head": "Jogok hozzárendelése", - -// "collection.edit.tabs.roles.title": "Collection Edit - Roles", - "collection.edit.tabs.roles.title": "Gyűjtemény szerkesztése - Jogok", - -// "collection.edit.tabs.roles.head": "Assign Roles", - "collection.edit.tabs.roles.head": "Feladatok kijelölése", - -// "collection.edit.tabs.roles.title": "Collection Edit - Roles", - "collection.edit.tabs.roles.title": "Gyűjtemény szerkesztés - Feladatok", - -// "collection.edit.tabs.source.external": "This collection harvests its content from an external source", - "collection.edit.tabs.source.external": "Ez a gyűjtemény külső forrásból gyűjti be tartalmát", - -// "collection.edit.tabs.source.form.errors.oaiSource.required": "You must provide a set id of the target collection.", - "collection.edit.tabs.source.form.errors.oaiSource.required": "Beállított azonosítót kell megadnia a célgyűjteményhez.", - -// "collection.edit.tabs.source.form.harvestType": "Content being harvested", - "collection.edit.tabs.source.form.harvestType": "Tartalom begyűjtése folyamatban", - -// "collection.edit.tabs.source.form.head": "Configure an external source", - "collection.edit.tabs.source.form.head": "Külső forrás beállítása", - -// "collection.edit.tabs.source.form.metadataConfigId": "Metadata Format", - "collection.edit.tabs.source.form.metadataConfigId": "Metaadat formátum", - -// "collection.edit.tabs.source.form.oaiSetId": "OAI specific set id", - "collection.edit.tabs.source.form.oaiSetId": "OAI sajátos beállított azonosító", - -// "collection.edit.tabs.source.form.oaiSource": "OAI Provider", - "collection.edit.tabs.source.form.oaiSource": "OAI szolgáltató", - -// "collection.edit.tabs.source.form.options.harvestType.METADATA_AND_BITSTREAMS": "Harvest metadata and bitstreams (requires ORE support)", - "collection.edit.tabs.source.form.options.harvestType.METADATA_AND_BITSTREAMS": "Metaadat és bitfolyam begyűjtése (ORE támogatás szükséges)", - -// "collection.edit.tabs.source.form.options.harvestType.METADATA_AND_REF": "Harvest metadata and references to bitstreams (requires ORE support)", - "collection.edit.tabs.source.form.options.harvestType.METADATA_AND_REF": "metaadatok és referenciák begyűjtése bitfolyamhoz (ORE támogatás szükséges)", - -// "collection.edit.tabs.source.form.options.harvestType.METADATA_ONLY": "Harvest metadata only", - "collection.edit.tabs.source.form.options.harvestType.METADATA_ONLY": "Csupán metaadatok begyűjtése", - -// "collection.edit.tabs.source.head": "Content Source", - "collection.edit.tabs.source.head": "Tartalom forrása", - -// "collection.edit.tabs.source.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", - "collection.edit.tabs.source.notifications.discarded.content": "Változtatások elvetve. Visszaállításukhoz kattintson a 'Visszaállítás' gombra", - -// "collection.edit.tabs.source.notifications.discarded.title": "Changed discarded", - "collection.edit.tabs.source.notifications.discarded.title": "Változtatások elvetve", - -// "collection.edit.tabs.source.notifications.invalid.content": "Your changes were not saved. Please make sure all fields are valid before you save.", - "collection.edit.tabs.source.notifications.invalid.content": "Változtatások nincsenek mentve. Kérjük, ellenőrizze, hogy valamennyi mező érvényes, mielőtt mentene.", - -// "collection.edit.tabs.source.notifications.invalid.title": "Metadata invalid", - "collection.edit.tabs.source.notifications.invalid.title": "Metaadat érvénytelen", - -// "collection.edit.tabs.source.notifications.saved.content": "Your changes to this collection's content source were saved.", - "collection.edit.tabs.source.notifications.saved.content": "A gyűjtemény tartalmának forrásával kapcsolatos változtatásai elmentve.", - -// "collection.edit.tabs.source.notifications.saved.title": "Content Source saved", - "collection.edit.tabs.source.notifications.saved.title": "Tartalom forrása elmentve", - -// "collection.edit.tabs.source.title": "Collection Edit - Content Source", - "collection.edit.tabs.source.title": "Gyűjtemény szerkesztés - tartalom forrása", - - - -// "collection.edit.template.add-button": "Add", - "collection.edit.template.add-button": "Hozzáad", - -// "collection.edit.template.breadcrumbs": "Item template", - "collection.edit.template.breadcrumbs": "Elemsablon", - -// "collection.edit.template.cancel": "Cancel", - "collection.edit.template.cancel": "Mégsem", - -// "collection.edit.template.delete-button": "Delete", - "collection.edit.template.delete-button": "Töröl", - -// "collection.edit.template.edit-button": "Edit", - "collection.edit.template.edit-button": "Szerkeszt", - -// "collection.edit.template.head": "Edit Template Item for Collection \"{{ collection }}\"", - "collection.edit.template.head": "Gyűjtemény elemsablon szerkesztése: \"{{ collection }}\"", - -// "collection.edit.template.label": "Template item", - "collection.edit.template.label": "Elemsablon", - -// "collection.edit.template.notifications.delete.error": "Failed to delete the item template", - "collection.edit.template.notifications.delete.error": "Nem sikerült törölni az elemsablont", - -// "collection.edit.template.notifications.delete.success": "Successfully deleted the item template", - "collection.edit.template.notifications.delete.success": "Sikeresen töröltük az elemsablont", - -// "collection.edit.template.title": "Edit Template Item", - "collection.edit.template.title": "Elemsablon szerkesztése", - - - -// "collection.form.abstract": "Short Description", - "collection.form.abstract": "Rövid leírás", - -// "collection.form.description": "Introductory text (HTML)", - "collection.form.description": "Bevezető szöveg (HTML)", - -// "collection.form.errors.title.required": "Please enter a collection name", - "collection.form.errors.title.required": "Adja meg a gyűjtemény nevét", - -// "collection.form.license": "License", - "collection.form.license": "Engedély", - -// "collection.form.provenance": "Provenance", - "collection.form.provenance": "Eredet", - -// "collection.form.rights": "Copyright text (HTML)", - "collection.form.rights": "Szerzői jog szövege (HTML)", - -// "collection.form.tableofcontents": "News (HTML)", - "collection.form.tableofcontents": "Hírek (HTML)", - -// "collection.form.title": "Name", - "collection.form.title": "Név", - - - -// "collection.listelement.badge": "Collection", - "collection.listelement.badge": "Gyűjtemény", - - - -// "collection.page.browse.recent.head": "Recent Submissions", - "collection.page.browse.recent.head": "Friss feltöltések", - -// "collection.page.browse.recent.empty": "No items to show", - "collection.page.browse.recent.empty": "Nincs tárgy", - -// "collection.page.edit": "Edit this collection", - "collection.page.edit": "Gyűjtemény szerkesztése", - -// "collection.page.handle": "Permanent URI for this collection", - "collection.page.handle": "Állandó URI ehhez a gyűjteményhez", - -// "collection.page.license": "License", - "collection.page.license": "Engedély", - -// "collection.page.news": "News", - "collection.page.news": "Hírek", - - - -// "collection.select.confirm": "Confirm selected", - "collection.select.confirm": "Kiválasztás igazolása", - -// "collection.select.empty": "No collections to show", - "collection.select.empty": "Nincs gyűjtemény", - -// "collection.select.table.title": "Title", - "collection.select.table.title": "Cím", - - - -// "collection.source.update.notifications.error.content": "The provided settings have been tested and didn't work.", - "collection.source.update.notifications.error.content": "A megadott beállításokat ellenőriztük és nem működnek.", - -// "collection.source.update.notifications.error.title": "Server Error", - "collection.source.update.notifications.error.title": "Szerverhiba", - - - -// "communityList.tabTitle": "DSpace - Community List", - "communityList.tabTitle": "DSpace - Közösség lista", - -// "communityList.title": "List of Communities", - "communityList.title": "Közösségek listája", - -// "communityList.showMore": "Show More", - "communityList.showMore": "Mutasson többet", - - - -// "community.create.head": "Create a Community", - "community.create.head": "Hozzon létre egy közösséget", - -// "community.create.notifications.success": "Successfully created the Community", - "community.create.notifications.success": "Közösség sikeresen létrehozva", - -// "community.create.sub-head": "Create a Sub-Community for Community {{ parent }}", - "community.create.sub-head": "Hozzon létre egy alközösséget a közösségben {{ parent }}", - -// "community.curate.header": "Curate Community: {{community}}", - "community.curate.header": "Közösség gondozása: {{community}}", - -// "community.delete.cancel": "Cancel", - "community.delete.cancel": "Mégse", - -// "community.delete.confirm": "Confirm", - "community.delete.confirm": "Igazolja", - -// "community.delete.head": "Delete Community", - "community.delete.head": "Közösség törlése", - -// "community.delete.notification.fail": "Community could not be deleted", - "community.delete.notification.fail": "Közösség törlése nem sikerült", - -// "community.delete.notification.success": "Successfully deleted community", - "community.delete.notification.success": "SKözösség sikeresen törölve", - -// "community.delete.text": "Are you sure you want to delete community \"{{ dso }}\"", - "community.delete.text": "Biztos benne, hogy törölni szeretné a közösséget \"{{ dso }}\"", - -// "community.edit.delete": "Delete this community", - "community.edit.delete": "Törölje ezt a közösséget", - -// "community.edit.head": "Edit Community", - "community.edit.head": "Közösség szerkesztése", - -// "community.edit.breadcrumbs": "Edit Community", - "community.edit.breadcrumbs": "Közösség szerkesztése", - - -// "community.edit.logo.label": "Community logo", - "community.edit.logo.label": "Közösségi logo", - -// "community.edit.logo.notifications.add.error": "Uploading Community logo failed. Please verify the content before retrying.", - "community.edit.logo.notifications.add.error": "Közösségi logo feltöltése nem sikerült Kérjük, ellenőrizze a tartalmat, mielőtt újra próbálkozna.", - -// "community.edit.logo.notifications.add.success": "Upload Community logo successful.", - "community.edit.logo.notifications.add.success": "Közösségi logo feltöltve.", - -// "community.edit.logo.notifications.delete.success.title": "Logo deleted", - "community.edit.logo.notifications.delete.success.title": "Logo törölve", - -// "community.edit.logo.notifications.delete.success.content": "Successfully deleted the community's logo", - "community.edit.logo.notifications.delete.success.content": "A közösség logóját sikeresen törölte", - -// "community.edit.logo.notifications.delete.error.title": "Error deleting logo", - "community.edit.logo.notifications.delete.error.title": "Logo törlése közben hiba történt", - -// "community.edit.logo.upload": "Drop a Community Logo to upload", - "community.edit.logo.upload": "Feltöltéshez húzza ide a közösségi logót", - - - -// "community.edit.notifications.success": "Successfully edited the Community", - "community.edit.notifications.success": "Közösség szerkesztése sikerült", - -// "community.edit.notifications.unauthorized": "You do not have privileges to make this change", - "community.edit.notifications.unauthorized": "Nincs meg a szükséges jogosultsága a változtatáshoz", - -// "community.edit.notifications.error": "An error occured while editing the Community", - "community.edit.notifications.error": "Hiba történt a közösség szerkesztésekor", - -// "community.edit.return": "Return", - "community.edit.return": "Vissza", - - - -// "community.edit.tabs.curate.head": "Curate", - "community.edit.tabs.curate.head": "Gondozás", - -// "community.edit.tabs.curate.title": "Community Edit - Curate", - "community.edit.tabs.curate.title": "Közösség szerkesztés - Gondozás", - -// "community.edit.tabs.metadata.head": "Edit Metadata", - "community.edit.tabs.metadata.head": "Metaadat szerkesztés", - -// "community.edit.tabs.metadata.title": "Community Edit - Metadata", - "community.edit.tabs.metadata.title": "Közösség szerkesztése - Metaadat", - -// "community.edit.tabs.roles.head": "Assign Roles", - "community.edit.tabs.roles.head": "Feladatok kijelölése", - -// "community.edit.tabs.roles.title": "Community Edit - Roles", - "community.edit.tabs.roles.title": "Közösség szerkesztése - Feladatok", - -// "community.edit.tabs.authorizations.head": "Authorizations", - "community.edit.tabs.authorizations.head": "Jogosultásgok", - -// "community.edit.tabs.authorizations.title": "Community Edit - Authorizations", - "community.edit.tabs.authorizations.title": "Közösségi szerkesztés - Jogosultásgok", - - - -// "community.listelement.badge": "Community", - "community.listelement.badge": "Közösség", - - - -// "comcol-role.edit.no-group": "None", - "comcol-role.edit.no-group": "Egyik sem", - -// "comcol-role.edit.create": "Create", - "comcol-role.edit.create": "Hozzon létre", - -// "comcol-role.edit.restrict": "Restrict", - "comcol-role.edit.restrict": "Korlátozzon", - -// "comcol-role.edit.delete": "Delete", - "comcol-role.edit.delete": "Törölje", - - -// "comcol-role.edit.community-admin.name": "Administrators", - "comcol-role.edit.community-admin.name": "Adminisztrátorok", - -// "comcol-role.edit.collection-admin.name": "Administrators", - "comcol-role.edit.collection-admin.name": "Adminisztrátorok", - - -// "comcol-role.edit.community-admin.description": "Community administrators can create sub-communities or collections, and manage or assign management for those sub-communities or collections. In addition, they decide who can submit items to any sub-collections, edit item metadata (after submission), and add (map) existing items from other collections (subject to authorization).", - "comcol-role.edit.community-admin.description": "A közösségek adminisztrátorai létrehozhatnak alközösségeket vagy gyűjteményeket, irányíthatják azokat, vagy kijelölhetik azok irányítását. Továbbá ők döntik el ki tölthet fel tárgyakat bármely algyűjteménybe, ki szerkesztheti a tárgyak metaadatait (feltöltést követően) és ki adhat hozzá (térképezhet) létező tárgyakat más gyűjteményekből (felhatalmazás szükséges).", - -// "comcol-role.edit.collection-admin.description": "Collection administrators decide who can submit items to the collection, edit item metadata (after submission), and add (map) existing items from other collections to this collection (subject to authorization for that collection).", - "comcol-role.edit.collection-admin.description": "A közösségek adminisztrátorai öntik el ki tölthet fel tárgyakat bármely algyűjteménybe, ki szerkesztheti a tárgyak metaadatait (feltöltést követően) és ki adhat hozzá (térképezhet) létező tárgyakat más gyűjteményekből (felhatalmazás szükséges).", - - -// "comcol-role.edit.submitters.name": "Submitters", - "comcol-role.edit.submitters.name": "Feltöltők", - -// "comcol-role.edit.submitters.description": "The E-People and Groups that have permission to submit new items to this collection.", - "comcol-role.edit.submitters.description": "E-People és csoportok akik feltölthetnek új tárgyakat ebbe a gyűjteménybe.", - - -// "comcol-role.edit.item_read.name": "Default item read access", - "comcol-role.edit.item_read.name": "Alapbeállított tárgy olvasási hozzáférés", - -// "comcol-role.edit.item_read.description": "E-People and Groups that can read new items submitted to this collection. Changes to this role are not retroactive. Existing items in the system will still be viewable by those who had read access at the time of their addition.", - "comcol-role.edit.item_read.description": "Azon E-People és csoportok, amelyek olvashatják az ebbe a gyűjteménybe feltöltött tárgyakat. Az ebben a tekintetben végrehajtott változtatások nem visszamenő érvényűek. A meglévő tárgyak olvashatók maradnak mindazok számára, akik a feltöltés idején rendelkeztek ezzel a hozzáféréssel.", - -// "comcol-role.edit.item_read.anonymous-group": "Default read for incoming items is currently set to Anonymous.", - "comcol-role.edit.item_read.anonymous-group": "Beérkező tárgyak olvasási alapbeállítása jelenleg Névtelen.", - - -// "comcol-role.edit.bitstream_read.name": "Default bitstream read access", - "comcol-role.edit.bitstream_read.name": "Bitfolyam olvasási hozzáférés alapbeállítás", - -// "comcol-role.edit.bitstream_read.description": "Community administrators can create sub-communities or collections, and manage or assign management for those sub-communities or collections. In addition, they decide who can submit items to any sub-collections, edit item metadata (after submission), and add (map) existing items from other collections (subject to authorization).", - "comcol-role.edit.bitstream_read.description": "A közösségek adminisztrátorai létrehozhatnak alközösségeket vagy gyűjteményeket, irányíthatják azokat, vagy kijelölhetik azok irányítását. Továbbá ők döntik el ki tölthet fel tárgyakat bármely algyűjteménybe, ki szerkesztheti a tárgyak metaadatait (feltöltést követően) és ki adhat hozzá (térképezhet) létező tárgyakat más gyűjteményekből (felhatalmazás szükséges).", - -// "comcol-role.edit.bitstream_read.anonymous-group": "Default read for incoming bitstreams is currently set to Anonymous.", - "comcol-role.edit.bitstream_read.anonymous-group": "Beérkező bitfolyamok olvasási alapbeállítása jelenleg Névtelen.", - - -// "comcol-role.edit.editor.name": "Editors", - "comcol-role.edit.editor.name": "Szerkesztők", - -// "comcol-role.edit.editor.description": "Editors are able to edit the metadata of incoming submissions, and then accept or reject them.", - "comcol-role.edit.editor.description": "Szerkesztők szerkeszthetik a beérkező feltöltések metaadatait és elfogadhatják, vagy elutasíthatják azokat.", - - -// "comcol-role.edit.finaleditor.name": "Final editors", - "comcol-role.edit.finaleditor.name": "Végső szerkesztők", - -// "comcol-role.edit.finaleditor.description": "Final editors are able to edit the metadata of incoming submissions, but will not be able to reject them.", - "comcol-role.edit.finaleditor.description": "Végső szerkesztők szerkeszthetik a beérkező feltöltések metaadatait de nem utasíthatják el azokat.", - - -// "comcol-role.edit.reviewer.name": "Reviewers", - "comcol-role.edit.reviewer.name": "Lektorálók", - -// "comcol-role.edit.reviewer.description": "Reviewers are able to accept or reject incoming submissions. However, they are not able to edit the submission's metadata.", - "comcol-role.edit.reviewer.description": "A lektorálók elfogadhatják, vagy elutasíthatják a beérkező feltöltéseket, de nem szerkeszthetik azok metaadatait.", - - - -// "community.form.abstract": "Short Description", - "community.form.abstract": "Rövid leírás", - -// "community.form.description": "Introductory text (HTML)", - "community.form.description": "Bevezető szöveg (HTML)", - -// "community.form.errors.title.required": "Please enter a community name", - "community.form.errors.title.required": "Kérjük adjon meg egy közösség nevet", - -// "community.form.rights": "Copyright text (HTML)", - "community.form.rights": "Szerzői jog szövege (HTML)", - -// "community.form.tableofcontents": "News (HTML)", - "community.form.tableofcontents": "Hírek (HTML)", - -// "community.form.title": "Name", - "community.form.title": "Név", - -// "community.page.edit": "Edit this community", - "community.page.edit": "Közösség szerkesztése", - -// "community.page.handle": "Permanent URI for this community", - "community.page.handle": "Állandó URI ehhez a közösséghez", - -// "community.page.license": "License", - "community.page.license": "Engedély", - -// "community.page.news": "News", - "community.page.news": "Hírek", - -// "community.all-lists.head": "Subcommunities and Collections", - "community.all-lists.head": "Alközösségek és gyűjtemények", - -// "community.sub-collection-list.head": "Collections of this Community", - "community.sub-collection-list.head": "Ennek a közösségnek a gyűjteményei", - -// "community.sub-community-list.head": "Communities of this Community", - "community.sub-community-list.head": "Ennek a közösségnek a közösségei", - - - -// "cookies.consent.accept-all": "Accept all", - "cookies.consent.accept-all": "Mind elfogad", - -// "cookies.consent.accept-selected": "Accept selected", - "cookies.consent.accept-selected": "Kiválasztottat elfogad", - -// "cookies.consent.app.opt-out.description": "This app is loaded by default (but you can opt out)", - "cookies.consent.app.opt-out.description": "Ez az app alaból betöltődik (de letilthatja)", - -// "cookies.consent.app.opt-out.title": "(opt-out)", - "cookies.consent.app.opt-out.title": "(letilt)", - -// "cookies.consent.app.purpose": "purpose", - "cookies.consent.app.purpose": "cél", - -// "cookies.consent.app.required.description": "This application is always required", - "cookies.consent.app.required.description": "Ez egy szükséges alkalmazás", - -// "cookies.consent.app.required.title": "(always required)", - "cookies.consent.app.required.title": "(mindig szükséges)", - -// "cookies.consent.update": "There were changes since your last visit, please update your consent.", - "cookies.consent.update": "Változások történtek az utolsó látogatása óta, frissítse a beleegyezését.", - -// "cookies.consent.close": "Close", - "cookies.consent.close": "Bezár", - -// "cookies.consent.decline": "Decline", - "cookies.consent.decline": "Elutasít", - -// "cookies.consent.content-notice.description": "We collect and process your personal information for the following purposes: Authentication, Preferences, Acknowledgement and Statistics.
To learn more, please read our {privacyPolicy}.", - "cookies.consent.content-notice.description": "Mi gyűjtjük és feldolgozzuk a személyes adatait a következő célból: Hitelesítés, Beállítások, Elismerés és Statisztikák.
Részletekért olvassa el: {privacyPolicy}.", - -// "cookies.consent.content-notice.learnMore": "Customize", - "cookies.consent.content-notice.learnMore": "Személyreszab", - -// "cookies.consent.content-modal.description": "Here you can see and customize the information that we collect about you.", - "cookies.consent.content-modal.description": "Itt láthatja és személyre szabhatja az Önről gyűjtött adatokat.", - -// "cookies.consent.content-modal.privacy-policy.name": "privacy policy", - "cookies.consent.content-modal.privacy-policy.name": "Adatvédelmi irányelvek", - -// "cookies.consent.content-modal.privacy-policy.text": "To learn more, please read our {privacyPolicy}.", - "cookies.consent.content-modal.privacy-policy.text": "Továbbiakért olvassa el: {privacyPolicy}.", - -// "cookies.consent.content-modal.title": "Information that we collect", - "cookies.consent.content-modal.title": "Gyűjtött adatok", - - - -// "cookies.consent.app.title.authentication": "Authentication", - "cookies.consent.app.title.authentication": "Hitelesítés", - -// "cookies.consent.app.description.authentication": "Required for signing you in", - "cookies.consent.app.description.authentication": "Szükséges a beléptetéséhez", - - -// "cookies.consent.app.title.preferences": "Preferences", - "cookies.consent.app.title.preferences": "Beállítások", - -// "cookies.consent.app.description.preferences": "Required for saving your preferences", - "cookies.consent.app.description.preferences": "Szükséges a beállítások mentéséhez", - - - -// "cookies.consent.app.title.acknowledgement": "Acknowledgement", - "cookies.consent.app.title.acknowledgement": "Elismerés", - -// "cookies.consent.app.description.acknowledgement": "Required for saving your acknowledgements and consents", - "cookies.consent.app.description.acknowledgement": "Szükséges az elismerésének és beleegyezésének a mentéséhez", - - - -// "cookies.consent.app.title.google-analytics": "Google Analytics", - "cookies.consent.app.title.google-analytics": "Google Analytics", - -// "cookies.consent.app.description.google-analytics": "Allows us to track statistical data", - "cookies.consent.app.description.google-analytics": "Engedélyezi statisztikai adatok gyűjtését", - - - -// "cookies.consent.purpose.functional": "Functional", - "cookies.consent.purpose.functional": "Funkcionális", - -// "cookies.consent.purpose.statistical": "Statistical", - "cookies.consent.purpose.statistical": "Statisztikai", - - -// "curation-task.task.checklinks.label": "Check Links in Metadata", - "curation-task.task.checklinks.label": "Hivatkozások ellenőrzése a metaadatokban", - -// "curation-task.task.noop.label": "NOOP", - "curation-task.task.noop.label": "NOOP", - -// "curation-task.task.profileformats.label": "Profile Bitstream Formats", - "curation-task.task.profileformats.label": "A profil bitfolyam formátumai", - -// "curation-task.task.requiredmetadata.label": "Check for Required Metadata", - "curation-task.task.requiredmetadata.label": "Szükséges metaadatok ellenőrzése", - -// "curation-task.task.translate.label": "Microsoft Translator", - "curation-task.task.translate.label": "Microsoft fordító", - -// "curation-task.task.vscan.label": "Virus Scan", - "curation-task.task.vscan.label": "Virus ellenőrzés", - - - -// "curation.form.task-select.label": "Task:", - "curation.form.task-select.label": "Feladat:", - -// "curation.form.submit": "Start", - "curation.form.submit": "Start", - -// "curation.form.submit.success.head": "The curation task has been started successfully", - "curation.form.submit.success.head": "A kurátor feladat siskersen elkezdődött", - -// "curation.form.submit.success.content": "You will be redirected to the corresponding process page.", - "curation.form.submit.success.content": "Át lesz irányítva a megfelelő folyamatoldalra.", - -// "curation.form.submit.error.head": "Running the curation task failed", - "curation.form.submit.error.head": "A kurátor feladat futtatása sikertelen", - -// "curation.form.submit.error.content": "An error occured when trying to start the curation task.", - "curation.form.submit.error.content": "Hiba történt a kurátor feladat elindításakor.", - -// "curation.form.handle.label": "Handle:", - "curation.form.handle.label": "Handle:", - -// "curation.form.handle.hint": "Hint: Enter [your-handle-prefix]/0 to run a task across entire site (not all tasks may support this capability)", - "curation.form.handle.hint": "Hint: Írja be a(z) [your-handle-prefix]/0 hogy futtasson egy feladatok az egész oldalon (nem minden feladat alakalmas a futtatásra)", - - - -// "dso-selector.create.collection.head": "New collection", - "dso-selector.create.collection.head": "Új gyűjtemény", - -// "dso-selector.create.collection.sub-level": "Create a new collection in", - "dso-selector.create.collection.sub-level": "Új közösség létrehozása benne", - -// "dso-selector.create.community.head": "New community", - "dso-selector.create.community.head": "Új közösség", - -// "dso-selector.create.community.sub-level": "Create a new community in", - "dso-selector.create.community.sub-level": "Hozzon létre új közösséget benne", - -// "dso-selector.create.community.top-level": "Create a new top-level community", - "dso-selector.create.community.top-level": "Hozzon létre csúcsszintű közösséget", - -// "dso-selector.create.item.head": "New item", - "dso-selector.create.item.head": "Új tárgy", - -// "dso-selector.create.item.sub-level": "Create a new item in", - "dso-selector.create.item.sub-level": "Új elem létrehozása, itt", - -// "dso-selector.create.submission.head": "New submission", - "dso-selector.create.submission.head": "Új beküldés", - -// "dso-selector.edit.collection.head": "Edit collection", - "dso-selector.edit.collection.head": "Szerkessze a gyűjteményt", - -// "dso-selector.edit.community.head": "Edit community", - "dso-selector.edit.community.head": "Szerkessze a közösséget", - -// "dso-selector.edit.item.head": "Edit item", - "dso-selector.edit.item.head": "Szerkessze a tárgyat", - -// "dso-selector.export-metadata.dspaceobject.head": "Export metadata from", - "dso-selector.export-metadata.dspaceobject.head": "Metaadat exportálása innen", - -// "dso-selector.no-results": "No {{ type }} found", - "dso-selector.no-results": "Nincs {{ type }} találat", - -// "dso-selector.placeholder": "Search for a {{ type }}", - "dso-selector.placeholder": "Keressen egy {{ type }}", - - - -// "confirmation-modal.export-metadata.header": "Export metadata for {{ dsoName }}", - "confirmation-modal.export-metadata.header": "Metaadat exportálásának célja {{ dsoName }}", - -// "confirmation-modal.export-metadata.info": "Are you sure you want to export metadata for {{ dsoName }}", - "confirmation-modal.export-metadata.info": "Biztos benne, hogy exportálni szeretné a metaadatok a követkő céllal: {{ dsoName }}", - -// "confirmation-modal.export-metadata.cancel": "Cancel", - "confirmation-modal.export-metadata.cancel": "Mégsem", - -// "confirmation-modal.export-metadata.confirm": "Export", - "confirmation-modal.export-metadata.confirm": "Export", - -// "confirmation-modal.delete-eperson.header": "Delete EPerson \"{{ dsoName }}\"", - "confirmation-modal.delete-eperson.header": "EPerson törlése \"{{ dsoName }}\"", - -// "confirmation-modal.delete-eperson.info": "Are you sure you want to delete EPerson \"{{ dsoName }}\"", - "confirmation-modal.delete-eperson.info": "Biztos benne, hogy törli: EPerson \"{{ dsoName }}\"", - -// "confirmation-modal.delete-eperson.cancel": "Cancel", - "confirmation-modal.delete-eperson.cancel": "Mégsem", - -// "confirmation-modal.delete-eperson.confirm": "Delete", - "confirmation-modal.delete-eperson.confirm": "Töröl", - - -// "error.bitstream": "Error fetching bitstream", - "error.bitstream": "Bitfolyam megjelenítése közben hiba történt", - -// "error.browse-by": "Error fetching items", - "error.browse-by": "Tárgy megjelenítése közben hiba történt", - -// "error.collection": "Error fetching collection", - "error.collection": "Gyűjtemény megjelenítése közben hiba történt", - -// "error.collections": "Error fetching collections", - "error.collections": "Gyűjtemények megjelenítése közben hiba történt", - -// "error.community": "Error fetching community", - "error.community": "Közösség megjelenítése közben hiba történty", - -// "error.identifier": "No item found for the identifier", - "error.identifier": "Ehhez az azonosítóhoz nem találtunk tárgyat", - -// "error.default": "Error", - "error.default": "Hiba", - -// "error.item": "Error fetching item", - "error.item": "Tárgy megjelenítésekor hiba történt", - -// "error.items": "Error fetching items", - "error.items": "Tárgyak megjelenítésekor hiba történt", - -// "error.objects": "Error fetching objects", - "error.objects": "Tárgyak megjelenítésekor hiba történt", - -// "error.recent-submissions": "Error fetching recent submissions", - "error.recent-submissions": "Friss feltöltések megjelenítésekor hiba történt", - -// "error.search-results": "Error fetching search results", - "error.search-results": "keresési eredmények megjelenítésekor hiba történt", - -// "error.sub-collections": "Error fetching sub-collections", - "error.sub-collections": "Algyűjtemények megjelenítésekor hiba történt", - -// "error.sub-communities": "Error fetching sub-communities", - "error.sub-communities": "Alközösségek megjelenítésekor hiba történt", - -// "error.submission.sections.init-form-error": "An error occurred during section initialize, please check your input-form configuration. Details are below :

", - "error.submission.sections.init-form-error": "Szakasz kezdőértékének megadásakor hiba történt, kérjük ellenőrizze az adatbeviteli forma beállításait. Részletek alább :

", - -// "error.top-level-communities": "Error fetching top-level communities", - "error.top-level-communities": "Csúcsszintű közösségek megjelenítésekor hiba történt", - -// "error.validation.license.notgranted": "You must grant this license to complete your submission. If you are unable to grant this license at this time you may save your work and return later or remove the submission.", - "error.validation.license.notgranted": "ezt az engedélyt meg kell adnia ahhoz, hogy befejezze a feltöltést. Ha jelenleg ez nem lehetséges, elmentheti az eddigi munkát és később folytathatja, vagy törölheti a feltöltést.", - -// "error.validation.pattern": "This input is restricted by the current pattern: {{ pattern }}.", - "error.validation.pattern": "Ezt a bevitelt korlátozza a jelenlegi útvonal: {{ pattern }}.", - -// "error.validation.filerequired": "The file upload is mandatory", - "error.validation.filerequired": "Az állomány feltöltése kötelező", - - - -// "file-section.error.header": "Error obtaining files for this item", - "file-section.error.header": "Hiba történ az elemhez tartozó fájlok beszerzésekor", - - - -// "footer.copyright": "copyright © 2002-{{ year }}", - "footer.copyright": "szerzői jog © 2002-{{ year }}", - -// "footer.link.dspace": "DSpace software", - "footer.link.dspace": "DSpace szoftver", - -// "footer.link.duraspace": "DuraSpace", - "footer.link.duraspace": "DuraSpace", - -// "footer.link.cookies": "Cookie settings", - "footer.link.cookies": "Süti beállítások", - -// "footer.link.privacy-policy": "Privacy policy", - "footer.link.privacy-policy": "Privacy policy", - -// "footer.link.end-user-agreement":"End User Agreement", - "footer.link.end-user-agreement":"End User Agreement", - - - -// "forgot-email.form.header": "Forgot Password", - "forgot-email.form.header": "Elfelejtettem a jelszót", - -// "forgot-email.form.info": "Enter Register an account to subscribe to collections for email updates, and submit new items to DSpace.", - "forgot-email.form.info": "Lépjen be a Fiók létrehozásába, hogy feliratkozhasson gyűjtemények e-mail értesítésére, és új elemeket tölthessen fel a DSpace-be.", - -// "forgot-email.form.email": "Email Address *", - "forgot-email.form.email": "Email Cím *", - -// "forgot-email.form.email.error.required": "Please fill in an email address", - "forgot-email.form.email.error.required": "Írjon be egy e-mail címet", - -// "forgot-email.form.email.error.pattern": "Please fill in a valid email address", - "forgot-email.form.email.error.pattern": "Írjon be egy érvényes e-mail címet", - -// "forgot-email.form.email.hint": "This address will be verified and used as your login name.", - "forgot-email.form.email.hint": "Ellenőrizni fogjuk a címet és ezt fogja használni a bejelentkezéshez.", - -// "forgot-email.form.submit": "Submit", - "forgot-email.form.submit": "Beküld", - -// "forgot-email.form.success.head": "Verification email sent", - "forgot-email.form.success.head": "Ellenőrző e-mail kiküldve", - -// "forgot-email.form.success.content": "An email has been sent to {{ email }} containing a special URL and further instructions.", - "forgot-email.form.success.content": "Egy levél ki lett küldve a(z) {{ email }} címre, ami tartalmaz egy speciális hivatkozást a következő lépéshez.", - -// "forgot-email.form.error.head": "Error when trying to register email", - "forgot-email.form.error.head": "Hiba történt az e-mail cím regisztrációjánál", - -// "forgot-email.form.error.content": "An error occured when registering the following email address: {{ email }}", - "forgot-email.form.error.content": "Hiba történt a következő e-mail cím regisztrációjánál: {{ email }}", - - - -// "forgot-password.title": "Forgot Password", - "forgot-password.title": "Elfelejtettem a jelszót", - -// "forgot-password.form.head": "Forgot Password", - "forgot-password.form.head": "Elfelejtettem a jelszót", - -// "forgot-password.form.info": "Enter a new password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", - "forgot-password.form.info": "Írjon be egy új jelszót a lenti mezőbe, és igazolja a második mezőbe újraírva azt. Legalább hat karakter hosszú kell legyen.", - -// "forgot-password.form.card.security": "Security", - "forgot-password.form.card.security": "Biztonság", - -// "forgot-password.form.identification.header": "Identify", - "forgot-password.form.identification.header": "Azonosítás", - -// "forgot-password.form.identification.email": "Email address: ", - "forgot-password.form.identification.email": "E-mail cím: ", - -// "forgot-password.form.label.password": "Password", - "forgot-password.form.label.password": "Jelszó", - -// "forgot-password.form.label.passwordrepeat": "Retype to confirm", - "forgot-password.form.label.passwordrepeat": "Írja újra a visszaigazoláshoz", - -// "forgot-password.form.error.empty-password": "Please enter a password in the box below.", - "forgot-password.form.error.empty-password": "Írja be a jelszót a lenti mezőbe.", - -// "forgot-password.form.error.matching-passwords": "The passwords do not match.", - "forgot-password.form.error.matching-passwords": "A jelszavak nem egyeznek.", - -// "forgot-password.form.error.password-length": "The password should be at least 6 characters long.", - "forgot-password.form.error.password-length": "A jelszó legalább 6 karakter hosszú kell legyen.", - -// "forgot-password.form.notification.error.title": "Error when trying to submit new password", - "forgot-password.form.notification.error.title": "Hiba történt a jelszó beküldésekor", - -// "forgot-password.form.notification.success.content": "The password reset was successful. You have been logged in as the created user.", - "forgot-password.form.notification.success.content": "A jelszóvisszaállítás sikeres volt. Beléphet a létrehozott felhasználóval.", - -// "forgot-password.form.notification.success.title": "Password reset completed", - "forgot-password.form.notification.success.title": "Jelszóvisszaállítás befejeződött", - -// "forgot-password.form.submit": "Submit password", - "forgot-password.form.submit": "Jelszó beküldése", - - - -// "form.add": "Add", - "form.add": "Hozzáadás", - -// "form.add-help": "Click here to add the current entry and to add another one", - "form.add-help": "Kattintson ide a beírt adatok hozzáadásához, majd újabb megadásához", - -// "form.cancel": "Cancel", - "form.cancel": "Mégse", - -// "form.clear": "Clear", - "form.clear": "Töröl", - -// "form.clear-help": "Click here to remove the selected value", - "form.clear-help": "Kattintson ide a kiválasztott érték törléséhez", - -// "form.edit": "Edit", - "form.edit": "Szerkeszt", - -// "form.edit-help": "Click here to edit the selected value", - "form.edit-help": "Kattintson ide a kiválasztott érték szerkesztéséhez", - -// "form.first-name": "First name", - "form.first-name": "Keresztnév", - -// "form.group-collapse": "Collapse", - "form.group-collapse": "Kicsinyít", - -// "form.group-collapse-help": "Click here to collapse", - "form.group-collapse-help": "Kattintson ide a kicsinyítéshez", - -// "form.group-expand": "Expand", - "form.group-expand": "Felnagyít", - -// "form.group-expand-help": "Click here to expand and add more elements", - "form.group-expand-help": "Kattintson ide, hogy felnagyítsa s újabb elemeket adjon hozzá", - -// "form.last-name": "Last name", - "form.last-name": "Családnév", - -// "form.loading": "Loading...", - "form.loading": "Betöltés...", - -// "form.lookup": "Lookup", - "form.lookup": "Keresse ki", - -// "form.lookup-help": "Click here to look up an existing relation", - "form.lookup-help": "Kattintson ide egy meglévő kapcsolat kikereséséhez", - -// "form.no-results": "No results found", - "form.no-results": "Nincs találat", - -// "form.no-value": "No value entered", - "form.no-value": "Nem adott meg értéket", - -// "form.other-information": {}, - "form.other-information": {}, - -// "form.remove": "Remove", - "form.remove": "Törlés", - -// "form.save": "Save", - "form.save": "Mentés", - -// "form.save-help": "Save changes", - "form.save-help": "Változtatások mentése", - -// "form.search": "Search", - "form.search": "Keresés", - -// "form.search-help": "Click here to look for an existing correspondence", - "form.search-help": "Kattintson ide egy meglévő levelezés kikereséséhez", - -// "form.submit": "Submit", - "form.submit": "Feltöltés", - - - -// "home.description": "", - "home.description": "", - -// "home.breadcrumbs": "Home", - "home.breadcrumbs": "Haza", - -// "home.title": "DSpace Angular :: Home", - "home.title": "DSpace Angular :: Haza", - -// "home.top-level-communities.head": "Communities in DSpace", - "home.top-level-communities.head": "Közösségek a DSpace-en", - -// "home.top-level-communities.help": "Select a community to browse its collections.", - "home.top-level-communities.help": "Válasszon ki egy közösséget, hogy böngéssze a gyűjteményeit.", - - - -// "info.end-user-agreement.accept": "I have read and I agree to the End User Agreement", - "info.end-user-agreement.accept": "Elolvastam és elfogadom a felhasználói feltételeket", - -// "info.end-user-agreement.accept.error": "An error occurred accepting the End User Agreement", - "info.end-user-agreement.accept.error": "Hiba történt a felhasználói feltételek elfogadásakor", - -// "info.end-user-agreement.accept.success": "Successfully updated the End User Agreement", - "info.end-user-agreement.accept.success": "Sikeresen frissítette a felhasználói feltételeket", - -// "info.end-user-agreement.breadcrumbs": "End User Agreement", - "info.end-user-agreement.breadcrumbs": "Felhasználói feltételek", - -// "info.end-user-agreement.buttons.cancel": "Cancel", - "info.end-user-agreement.buttons.cancel": "Mégsem", - -// "info.end-user-agreement.buttons.save": "Save", - "info.end-user-agreement.buttons.save": "Mentés", - -// "info.end-user-agreement.head": "End User Agreement", - "info.end-user-agreement.head": "Felhasználói feltételek", - -// "info.end-user-agreement.title": "End User Agreement", - "info.end-user-agreement.title": "Felhasználói feltételek", - -// "info.privacy.breadcrumbs": "Privacy Statement", - "info.privacy.breadcrumbs": "Adatvédelmi nyilatkozat", - -// "info.privacy.head": "Privacy Statement", - "info.privacy.head": "Adatvédelmi nyilatkozat", - -// "info.privacy.title": "Privacy Statement", - "info.privacy.title": "Adatvédelmi nyilatkozat", - - - -// "item.alerts.private": "This item is private", - "item.alerts.private": "Ez az elem privát", - -// "item.alerts.withdrawn": "This item has been withdrawn", - "item.alerts.withdrawn": "Ez az elem vissza lett vonva", - - - -// "item.edit.authorizations.heading": "With this editor you can view and alter the policies of an item, plus alter policies of individual item components: bundles and bitstreams. Briefly, an item is a container of bundles, and bundles are containers of bitstreams. Containers usually have ADD/REMOVE/READ/WRITE policies, while bitstreams only have READ/WRITE policies.", - "item.edit.authorizations.heading": "Evvel a szerkesztővel megnézheti vagy szerkesztheti egy elem jogosutságát, és szerkesztheti egy egyedi elem componenseinek jogosutságát: bundles és bitstreams. Röviden, egy elem a kötegek gyűjteménye, és a kötegek a bitsteramek gyűjteménye. A kötegeknek többnyire van ADD/REMOVE/READ/WRITE jogosultsága, miközben a bitstreameknek csak READ/WRITE jogosultsága.", - -// "item.edit.authorizations.title": "Edit item's Policies", - "item.edit.authorizations.title": "Jogosultásgok elem szerkesztése", - - - -// "item.badge.private": "Private", - "item.badge.private": "Privát", - -// "item.badge.withdrawn": "Withdrawn", - "item.badge.withdrawn": "Visszavont", - - - -// "item.bitstreams.upload.bundle": "Bundle", - "item.bitstreams.upload.bundle": "Csomag", - -// "item.bitstreams.upload.bundle.placeholder": "Select a bundle", - "item.bitstreams.upload.bundle.placeholder": "Válasszon ki egy csomagot", - -// "item.bitstreams.upload.bundle.new": "Create bundle", - "item.bitstreams.upload.bundle.new": "Hozzon létre csomagot", - -// "item.bitstreams.upload.bundles.empty": "This item doesn\'t contain any bundles to upload a bitstream to.", - "item.bitstreams.upload.bundles.empty": "Ez a tárgy nem tartalmaz csomagot, ahova bitfolyamot lehetne feltölteni.", - -// "item.bitstreams.upload.cancel": "Cancel", - "item.bitstreams.upload.cancel": "Mégse", - -// "item.bitstreams.upload.drop-message": "Drop a file to upload", - "item.bitstreams.upload.drop-message": "Húzza ide a feltöltendő állományt", - -// "item.bitstreams.upload.item": "Item: ", - "item.bitstreams.upload.item": "Tárgy: ", - -// "item.bitstreams.upload.notifications.bundle.created.content": "Successfully created new bundle.", - "item.bitstreams.upload.notifications.bundle.created.content": "Új csomag sikeresen létrehozva.", - -// "item.bitstreams.upload.notifications.bundle.created.title": "Created bundle", - "item.bitstreams.upload.notifications.bundle.created.title": "Csomag létrehozva", - -// "item.bitstreams.upload.notifications.upload.failed": "Upload failed. Please verify the content before retrying.", - "item.bitstreams.upload.notifications.upload.failed": "Feltöltés nem sikerült. Kérjük ellenőrizze a tartalmát, mielőtt újra próbálkozna.", - -// "item.bitstreams.upload.title": "Upload bitstream", - "item.bitstreams.upload.title": "Bitfolyam feltöltése", - - - -// "item.edit.bitstreams.bundle.edit.buttons.upload": "Upload", - "item.edit.bitstreams.bundle.edit.buttons.upload": "Feltöltés", - -// "item.edit.bitstreams.bundle.displaying": "Currently displaying {{ amount }} bitstreams of {{ total }}.", - "item.edit.bitstreams.bundle.displaying": "Jelenleg látható {{ amount }} Bitfolyam ennyiből: {{ total }}.", - -// "item.edit.bitstreams.bundle.load.all": "Load all ({{ total }})", - "item.edit.bitstreams.bundle.load.all": "Valamennyi betöltése ({{ total }})", - -// "item.edit.bitstreams.bundle.load.more": "Load more", - "item.edit.bitstreams.bundle.load.more": "Több betöltése", - -// "item.edit.bitstreams.bundle.name": "BUNDLE: {{ name }}", - "item.edit.bitstreams.bundle.name": "CSOMAG: {{ name }}", - -// "item.edit.bitstreams.discard-button": "Discard", - "item.edit.bitstreams.discard-button": "Elvetés", - -// "item.edit.bitstreams.edit.buttons.download": "Download", - "item.edit.bitstreams.edit.buttons.download": "Letöltés", - -// "item.edit.bitstreams.edit.buttons.drag": "Drag", - "item.edit.bitstreams.edit.buttons.drag": "Húzni", - -// "item.edit.bitstreams.edit.buttons.edit": "Edit", - "item.edit.bitstreams.edit.buttons.edit": "Szerkesztés", - -// "item.edit.bitstreams.edit.buttons.remove": "Remove", - "item.edit.bitstreams.edit.buttons.remove": "Eltávolítás", - -// "item.edit.bitstreams.edit.buttons.undo": "Undo changes", - "item.edit.bitstreams.edit.buttons.undo": "Változtatások vissza", - -// "item.edit.bitstreams.empty": "This item doesn't contain any bitstreams. Click the upload button to create one.", - "item.edit.bitstreams.empty": "Ez a tárgy nem tartalmaz bitfolyamot. Kattintson a feltöltés gombra, hogy hozzon létre egyet.", - -// "item.edit.bitstreams.headers.actions": "Actions", - "item.edit.bitstreams.headers.actions": "Műveletek", - -// "item.edit.bitstreams.headers.bundle": "Bundle", - "item.edit.bitstreams.headers.bundle": "Csomag", - -// "item.edit.bitstreams.headers.description": "Description", - "item.edit.bitstreams.headers.description": "Leírás", - -// "item.edit.bitstreams.headers.format": "Format", - "item.edit.bitstreams.headers.format": "Formátum", - -// "item.edit.bitstreams.headers.name": "Name", - "item.edit.bitstreams.headers.name": "Név", - -// "item.edit.bitstreams.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", - "item.edit.bitstreams.notifications.discarded.content": "Változtatásai elvetve. Visszaállításukhoz kattintson a 'visszaállítás' gombra", - -// "item.edit.bitstreams.notifications.discarded.title": "Changes discarded", - "item.edit.bitstreams.notifications.discarded.title": "Változtatások elvetve", - -// "item.edit.bitstreams.notifications.move.failed.title": "Error moving bitstreams", - "item.edit.bitstreams.notifications.move.failed.title": "Bitfolyam elmozdítása közben hiba történt", - -// "item.edit.bitstreams.notifications.move.saved.content": "Your move changes to this item's bitstreams and bundles have been saved.", - "item.edit.bitstreams.notifications.move.saved.content": "Művelete megváltoztatja a tárgy bitfolyamát és a csomagok el vannak mentve.", - -// "item.edit.bitstreams.notifications.move.saved.title": "Move changes saved", - "item.edit.bitstreams.notifications.move.saved.title": "Változtatások elmozdítása elmentve", - -// "item.edit.bitstreams.notifications.outdated.content": "The item you're currently working on has been changed by another user. Your current changes are discarded to prevent conflicts", - "item.edit.bitstreams.notifications.outdated.content": "A tárgyat amin jelenleg dolgozik egy másik felhasználó módosította. A jelenlegi változtatásokat elvetettük, hogy megelőzzük a konfliktusokat", - -// "item.edit.bitstreams.notifications.outdated.title": "Changes outdated", - "item.edit.bitstreams.notifications.outdated.title": "Változtatások idejemúltak", - -// "item.edit.bitstreams.notifications.remove.failed.title": "Error deleting bitstream", - "item.edit.bitstreams.notifications.remove.failed.title": "Bitfolyam törlése közben hiba történt", - -// "item.edit.bitstreams.notifications.remove.saved.content": "Your removal changes to this item's bitstreams have been saved.", - "item.edit.bitstreams.notifications.remove.saved.content": "Az ön eltávolító változtatásai ennek a tárgynak a bitfolyamában el vannak mentve.", - -// "item.edit.bitstreams.notifications.remove.saved.title": "Removal changes saved", - "item.edit.bitstreams.notifications.remove.saved.title": "Eltávolító változtatások mentve", - -// "item.edit.bitstreams.reinstate-button": "Undo", - "item.edit.bitstreams.reinstate-button": "Visszaváltoztatás", - -// "item.edit.bitstreams.save-button": "Save", - "item.edit.bitstreams.save-button": "Mentés", - -// "item.edit.bitstreams.upload-button": "Upload", - "item.edit.bitstreams.upload-button": "Feltöltés", - - - -// "item.edit.delete.cancel": "Cancel", - "item.edit.delete.cancel": "Mégse", - -// "item.edit.delete.confirm": "Delete", - "item.edit.delete.confirm": "Törlés", - -// "item.edit.delete.description": "Are you sure this item should be completely deleted? Caution: At present, no tombstone would be left.", - "item.edit.delete.description": "Biztos benne, hogy ezt a tárgyat teljesen törölni óhajtja? Figyelem: jelenleg nem marad sírkő.", - -// "item.edit.delete.error": "An error occurred while deleting the item", - "item.edit.delete.error": "Tárgy törlése közben hiba történt", - -// "item.edit.delete.header": "Delete item: {{ id }}", - "item.edit.delete.header": "Tárgy törlése: {{ id }}", - -// "item.edit.delete.success": "The item has been deleted", - "item.edit.delete.success": "Tárgy törölve", - -// "item.edit.head": "Edit Item", - "item.edit.head": "Tárgy szerkesztése", - -// "item.edit.breadcrumbs": "Edit Item", - "item.edit.breadcrumbs": "Tárgy szerkesztése", - - - -// "item.edit.item-mapper.buttons.add": "Map item to selected collections", - "item.edit.item-mapper.buttons.add": "Térképezze a tárgyat a kiválasztott gyűjteményekhez", - -// "item.edit.item-mapper.buttons.remove": "Remove item's mapping for selected collections", - "item.edit.item-mapper.buttons.remove": "Törölje a tárgy térképezését a kiválasztott gyűjteményekhez", - -// "item.edit.item-mapper.cancel": "Cancel", - "item.edit.item-mapper.cancel": "Mégse", - -// "item.edit.item-mapper.description": "This is the item mapper tool that allows administrators to map this item to other collections. You can search for collections and map them, or browse the list of collections the item is currently mapped to.", - "item.edit.item-mapper.description": "Ez a térképező eszköz, amellyel az adminisztrátorok ezt a tárgyat más gyűjteményekhez térképezhetik. Kereshet gyűjteményeket amelyekhez térképezze, vagy böngészheti azon gyűjtemények listáját, amelyhez jelenleg hozzá van térképezve..", - -// "item.edit.item-mapper.head": "Item Mapper - Map Item to Collections", - "item.edit.item-mapper.head": "Tárgytérképező - Térképezze a tárgyat gyűjteményekhez", - -// "item.edit.item-mapper.item": "Item: \"{{name}}\"", - "item.edit.item-mapper.item": "Tárgy: \"{{name}}\"", - -// "item.edit.item-mapper.no-search": "Please enter a query to search", - "item.edit.item-mapper.no-search": "Kérjük írja be a keresett szót", - -// "item.edit.item-mapper.notifications.add.error.content": "Errors occurred for mapping of item to {{amount}} collections.", - "item.edit.item-mapper.notifications.add.error.content": "A tárgynak a {{amount}} gyűjteményekhez való térképezésekor hiba történt.", - -// "item.edit.item-mapper.notifications.add.error.head": "Mapping errors", - "item.edit.item-mapper.notifications.add.error.head": "Térképezési hibák", - -// "item.edit.item-mapper.notifications.add.success.content": "Successfully mapped item to {{amount}} collections.", - "item.edit.item-mapper.notifications.add.success.content": "Tárgy sikeresen térképezve {{amount}} gyűjteményhez.", - -// "item.edit.item-mapper.notifications.add.success.head": "Mapping completed", - "item.edit.item-mapper.notifications.add.success.head": "Térképezés befejeződött", - -// "item.edit.item-mapper.notifications.remove.error.content": "Errors occurred for the removal of the mapping to {{amount}} collections.", - "item.edit.item-mapper.notifications.remove.error.content": "A {{amount}} gyűjteményekhez való térképezés eltávolításakor hiba történt.", - -// "item.edit.item-mapper.notifications.remove.error.head": "Removal of mapping errors", - "item.edit.item-mapper.notifications.remove.error.head": "Térképezési hibák eltávolítása", - -// "item.edit.item-mapper.notifications.remove.success.content": "Successfully removed mapping of item to {{amount}} collections.", - "item.edit.item-mapper.notifications.remove.success.content": "A {{amount}} gyűjteményhez való térképezés sikeresen eltávolítva.", - -// "item.edit.item-mapper.notifications.remove.success.head": "Removal of mapping completed", - "item.edit.item-mapper.notifications.remove.success.head": "Térképezés eltávolítása befejeződött", - -// "item.edit.item-mapper.tabs.browse": "Browse mapped collections", - "item.edit.item-mapper.tabs.browse": "Böngéssze a térképezett gyűjteményeket", - -// "item.edit.item-mapper.tabs.map": "Map new collections", - "item.edit.item-mapper.tabs.map": "Térképezzen új gyűjteményeket", - - - -// "item.edit.metadata.add-button": "Add", - "item.edit.metadata.add-button": "Hozzáadás", - -// "item.edit.metadata.discard-button": "Discard", - "item.edit.metadata.discard-button": "Elvetés", - -// "item.edit.metadata.edit.buttons.edit": "Edit", - "item.edit.metadata.edit.buttons.edit": "Szerkesztés", - -// "item.edit.metadata.edit.buttons.remove": "Remove", - "item.edit.metadata.edit.buttons.remove": "Eltávolítás", - -// "item.edit.metadata.edit.buttons.undo": "Undo changes", - "item.edit.metadata.edit.buttons.undo": "Változtatások elvetése", - -// "item.edit.metadata.edit.buttons.unedit": "Stop editing", - "item.edit.metadata.edit.buttons.unedit": "Szerkesztés leállítása", - -// "item.edit.metadata.empty": "The item currently doesn't contain any metadata. Click Add to start adding a metadata value.", - "item.edit.metadata.empty": "Az elem jelenleg nem tartalmaz metaadatot. Kattintson a Hozzáad-ra metaadatok hozzáadásához.", - -// "item.edit.metadata.headers.edit": "Edit", - "item.edit.metadata.headers.edit": "Szerkesztés", - -// "item.edit.metadata.headers.field": "Field", - "item.edit.metadata.headers.field": "Mező", - -// "item.edit.metadata.headers.language": "Lang", - "item.edit.metadata.headers.language": "Nyelv", - -// "item.edit.metadata.headers.value": "Value", - "item.edit.metadata.headers.value": "Érték", - -// "item.edit.metadata.metadatafield.invalid": "Please choose a valid metadata field", - "item.edit.metadata.metadatafield.invalid": "Kérjük válasszon egy érvényes metaadat mezőt", - -// "item.edit.metadata.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", - "item.edit.metadata.notifications.discarded.content": "Módosításai elvetve. Visszaállításukhoz kattintson a 'Visszaállítás' gombra", - -// "item.edit.metadata.notifications.discarded.title": "Changed discarded", - "item.edit.metadata.notifications.discarded.title": "Módosítva elvetve", - -// "item.edit.metadata.notifications.error.title": "An error occurred", - "item.edit.metadata.notifications.error.title": "Hiba történt", - -// "item.edit.metadata.notifications.invalid.content": "Your changes were not saved. Please make sure all fields are valid before you save.", - "item.edit.metadata.notifications.invalid.content": "Módosításai nincsenek elmentve, Kérjük mentés előtt ellenőrizze, hogy valamennyi mező érvényes.", - -// "item.edit.metadata.notifications.invalid.title": "Metadata invalid", - "item.edit.metadata.notifications.invalid.title": "Érvénytelen metaadat", - -// "item.edit.metadata.notifications.outdated.content": "The item you're currently working on has been changed by another user. Your current changes are discarded to prevent conflicts", - "item.edit.metadata.notifications.outdated.content": "A tárgyon amin dolgozik egy másik felhasználó módosításokat eszközölt. Az ön módosításait elvetettük, hogy megelőzzük a konfliktust", - -// "item.edit.metadata.notifications.outdated.title": "Changed outdated", - "item.edit.metadata.notifications.outdated.title": "Módosítva idejemúlt", - -// "item.edit.metadata.notifications.saved.content": "Your changes to this item's metadata were saved.", - "item.edit.metadata.notifications.saved.content": "A tárgy metaadataiban eszközölt módosításai elmentve.", - -// "item.edit.metadata.notifications.saved.title": "Metadata saved", - "item.edit.metadata.notifications.saved.title": "Metaadat elmentve", - -// "item.edit.metadata.reinstate-button": "Undo", - "item.edit.metadata.reinstate-button": "Visszaállítás", - -// "item.edit.metadata.save-button": "Save", - "item.edit.metadata.save-button": "Mentés", - - - -// "item.edit.modify.overview.field": "Field", - "item.edit.modify.overview.field": "Mező", - -// "item.edit.modify.overview.language": "Language", - "item.edit.modify.overview.language": "Nyelv", - -// "item.edit.modify.overview.value": "Value", - "item.edit.modify.overview.value": "Érték", - - - -// "item.edit.move.cancel": "Cancel", - "item.edit.move.cancel": "Mégse", - -// "item.edit.move.description": "Select the collection you wish to move this item to. To narrow down the list of displayed collections, you can enter a search query in the box.", - "item.edit.move.description": "Válassza ki a gyűjteményt amelyhez ezt a tárgyat hozzá kívánja adni. A látható gyűjtemények listájának szűkítéséhez írjon be keresőszót a mezőbe.", - -// "item.edit.move.error": "An error occurred when attempting to move the item", - "item.edit.move.error": "Tárgy mozgatásakor hiba történt", - -// "item.edit.move.head": "Move item: {{id}}", - "item.edit.move.head": "Tárgy mozgatása: {{id}}", - -// "item.edit.move.inheritpolicies.checkbox": "Inherit policies", - "item.edit.move.inheritpolicies.checkbox": "Szabályzatok öröklése", - -// "item.edit.move.inheritpolicies.description": "Inherit the default policies of the destination collection", - "item.edit.move.inheritpolicies.description": "Örökölje a célgyűjtemény alapértelmezett szabályzatát", - -// "item.edit.move.move": "Move", - "item.edit.move.move": "Mozgatás", - -// "item.edit.move.processing": "Moving...", - "item.edit.move.processing": "Mozgatás...", - -// "item.edit.move.search.placeholder": "Enter a search query to look for collections", - "item.edit.move.search.placeholder": "Írjon be keresőszót hogy gyűjteményeket találjon", - -// "item.edit.move.success": "The item has been moved successfully", - "item.edit.move.success": "Tárgy mozgatása sikerült", - -// "item.edit.move.title": "Move item", - "item.edit.move.title": "Tárgy mozgatása", - - - -// "item.edit.private.cancel": "Cancel", - "item.edit.private.cancel": "Mégse", - -// "item.edit.private.confirm": "Make it Private", - "item.edit.private.confirm": "Legyen privát", - -// "item.edit.private.description": "Are you sure this item should be made private in the archive?", - "item.edit.private.description": "Biztos legyen ez a tárgy privát ebben az archívumban?", - -// "item.edit.private.error": "An error occurred while making the item private", - "item.edit.private.error": "A tárgy privát beállí1tása közben hiba történt", - -// "item.edit.private.header": "Make item private: {{ id }}", - "item.edit.private.header": "Legyen a tárgy privát: {{ id }}", - -// "item.edit.private.success": "The item is now private", - "item.edit.private.success": "Ezx a tárgy most privát", - - - -// "item.edit.public.cancel": "Cancel", - "item.edit.public.cancel": "Mégse", - -// "item.edit.public.confirm": "Make it Public", - "item.edit.public.confirm": "legyen nyilvános", - -// "item.edit.public.description": "Are you sure this item should be made public in the archive?", - "item.edit.public.description": "ABiztos legyen ez a tárgy nyilvános ebben az archívumban?", - -// "item.edit.public.error": "An error occurred while making the item public", - "item.edit.public.error": "Tárgy nyilvánossá tétele közben hiba történt", - -// "item.edit.public.header": "Make item public: {{ id }}", - "item.edit.public.header": "MLegyen a tárgy nyilvános: {{ id }}", - -// "item.edit.public.success": "The item is now public", - "item.edit.public.success": "A tárgy most nyilvános", - - - -// "item.edit.reinstate.cancel": "Cancel", - "item.edit.reinstate.cancel": "Mégse", - -// "item.edit.reinstate.confirm": "Reinstate", - "item.edit.reinstate.confirm": "Visszaállítás", - -// "item.edit.reinstate.description": "Are you sure this item should be reinstated to the archive?", - "item.edit.reinstate.description": "Biztos vissza akarja állítani ezt a tárgyat az archívumba?", - -// "item.edit.reinstate.error": "An error occurred while reinstating the item", - "item.edit.reinstate.error": "Tárgy visszaállítása közben hiba történt", - -// "item.edit.reinstate.header": "Reinstate item: {{ id }}", - "item.edit.reinstate.header": "Tárgy visszaállítása: {{ id }}", - -// "item.edit.reinstate.success": "The item was reinstated successfully", - "item.edit.reinstate.success": "Tárgy visszaállítása sikerült", - - - -// "item.edit.relationships.discard-button": "Discard", - "item.edit.relationships.discard-button": "Elvetés", - -// "item.edit.relationships.edit.buttons.add": "Add", - "item.edit.relationships.edit.buttons.add": "Hozzáad", - -// "item.edit.relationships.edit.buttons.remove": "Remove", - "item.edit.relationships.edit.buttons.remove": "Eltávolítás", - -// "item.edit.relationships.edit.buttons.undo": "Undo changes", - "item.edit.relationships.edit.buttons.undo": "Visszamódosítás", - -// "item.edit.relationships.no-relationships": "No relationships", - "item.edit.relationships.no-relationships": "Nincs kapcsolat", - -// "item.edit.relationships.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", - "item.edit.relationships.notifications.discarded.content": "Módosításai elvetve. Visszaállításukhoz kattintson a 'Visszaállítás' gombra", - -// "item.edit.relationships.notifications.discarded.title": "Changes discarded", - "item.edit.relationships.notifications.discarded.title": "Módosítások elvetve", - -// "item.edit.relationships.notifications.failed.title": "Error deleting relationship", - "item.edit.relationships.notifications.failed.title": "Kapcsolat törlésekor hiba történt", - -// "item.edit.relationships.notifications.outdated.content": "The item you're currently working on has been changed by another user. Your current changes are discarded to prevent conflicts", - "item.edit.relationships.notifications.outdated.content": "A tárgyon amin dolgozik egy másik felhasználó módosításokat eszközölt. Az ön módosításait elvetettük, hogy megelőzzük a konfliktust", - -// "item.edit.relationships.notifications.outdated.title": "Changes outdated", - "item.edit.relationships.notifications.outdated.title": "Módosítások idejétmúltak", - -// "item.edit.relationships.notifications.saved.content": "Your changes to this item's relationships were saved.", - "item.edit.relationships.notifications.saved.content": "A tárgy kapcsolataiban eszközölt módosításai elmentve.", - -// "item.edit.relationships.notifications.saved.title": "Relationships saved", - "item.edit.relationships.notifications.saved.title": "Kapcsolatok elmentve", - -// "item.edit.relationships.reinstate-button": "Undo", - "item.edit.relationships.reinstate-button": "Visszaállítás", - -// "item.edit.relationships.save-button": "Save", - "item.edit.relationships.save-button": "Mentés", - -// "item.edit.relationships.no-entity-type": "Add 'relationship.type' metadata to enable relationships for this item", - "item.edit.relationships.no-entity-type": "Adja hozzá a 'relationship.type' metaadatot ezen elem hivatkozásánek engedélyezéséhez", - - - -// "item.edit.tabs.bitstreams.head": "Bitstreams", - "item.edit.tabs.bitstreams.head": "Bitfolyamok", - -// "item.edit.tabs.bitstreams.title": "Item Edit - Bitstreams", - "item.edit.tabs.bitstreams.title": "Tárgy szerkesztése - Bitfolyamok", - -// "item.edit.tabs.curate.head": "Curate", - "item.edit.tabs.curate.head": "Gondozás", - -// "item.edit.tabs.curate.title": "Item Edit - Curate", - "item.edit.tabs.curate.title": "Tárgy szerkesztése - Gondozás", - -// "item.edit.tabs.metadata.head": "Metadata", - "item.edit.tabs.metadata.head": "Metaadat", - -// "item.edit.tabs.metadata.title": "Item Edit - Metadata", - "item.edit.tabs.metadata.title": "Tárgy szerkesztése - Metaadat", - -// "item.edit.tabs.relationships.head": "Relationships", - "item.edit.tabs.relationships.head": "Kapcsolatok", - -// "item.edit.tabs.relationships.title": "Item Edit - Relationships", - "item.edit.tabs.relationships.title": "Tárgy szerkesztése - kapcsolatok", - -// "item.edit.tabs.status.buttons.authorizations.button": "Authorizations...", - "item.edit.tabs.status.buttons.authorizations.button": "Engedélyezés...", - -// "item.edit.tabs.status.buttons.authorizations.label": "Edit item's authorization policies", - "item.edit.tabs.status.buttons.authorizations.label": "Szerkessze a tárgy engedélyezési szabályait", - -// "item.edit.tabs.status.buttons.delete.button": "Permanently delete", - "item.edit.tabs.status.buttons.delete.button": "Véglegesen töröl", - -// "item.edit.tabs.status.buttons.delete.label": "Completely expunge item", - "item.edit.tabs.status.buttons.delete.label": "Tárgy teljes kitörlése", - -// "item.edit.tabs.status.buttons.mappedCollections.button": "Mapped collections", - "item.edit.tabs.status.buttons.mappedCollections.button": "Térképezett gyűjtemények", - -// "item.edit.tabs.status.buttons.mappedCollections.label": "Manage mapped collections", - "item.edit.tabs.status.buttons.mappedCollections.label": "Térképezett gyűjtemények szervezése", - -// "item.edit.tabs.status.buttons.move.button": "Move...", - "item.edit.tabs.status.buttons.move.button": "Elmozdítás...", - -// "item.edit.tabs.status.buttons.move.label": "Move item to another collection", - "item.edit.tabs.status.buttons.move.label": "Tárgy másik gyűjteménybe költöztetése", - -// "item.edit.tabs.status.buttons.private.button": "Make it private...", - "item.edit.tabs.status.buttons.private.button": "Legyen privát...", - -// "item.edit.tabs.status.buttons.private.label": "Make item private", - "item.edit.tabs.status.buttons.private.label": "Legyen a tárgy privát", - -// "item.edit.tabs.status.buttons.public.button": "Make it public...", - "item.edit.tabs.status.buttons.public.button": "Legyen nyilvános...", - -// "item.edit.tabs.status.buttons.public.label": "Make item public", - "item.edit.tabs.status.buttons.public.label": "Legyen a tárgy nyilvános", - -// "item.edit.tabs.status.buttons.reinstate.button": "Reinstate...", - "item.edit.tabs.status.buttons.reinstate.button": "Visszaállí1tás...", - -// "item.edit.tabs.status.buttons.reinstate.label": "Reinstate item into the repository", - "item.edit.tabs.status.buttons.reinstate.label": "Tárgy visszaállítása az adattárba", - -// "item.edit.tabs.status.buttons.withdraw.button": "Withdraw...", - "item.edit.tabs.status.buttons.withdraw.button": "Visszavonás...", - -// "item.edit.tabs.status.buttons.withdraw.label": "Withdraw item from the repository", - "item.edit.tabs.status.buttons.withdraw.label": "Tárgy visszavonása az adattárból", - -// "item.edit.tabs.status.description": "Welcome to the item management page. From here you can withdraw, reinstate, move or delete the item. You may also update or add new metadata / bitstreams on the other tabs.", - "item.edit.tabs.status.description": "Üdvözöljük a tárgyak szervezése oldalon. Itt visszavonhat, visszaállíthat, költöztethet vagy törölhet tárgyakat. Ugyanitt frissíthet metaadatokat illetve bitfolyamokat a többi fülnél, vagy újakat adhat hozzá", - -// "item.edit.tabs.status.head": "Status", - "item.edit.tabs.status.head": "Állapot", - -// "item.edit.tabs.status.labels.handle": "Handle", - "item.edit.tabs.status.labels.handle": "Mutató", - -// "item.edit.tabs.status.labels.id": "Item Internal ID", - "item.edit.tabs.status.labels.id": "Tárgy belső azonosító", - -// "item.edit.tabs.status.labels.itemPage": "Item Page", - "item.edit.tabs.status.labels.itemPage": "Tárgy oldala", - -// "item.edit.tabs.status.labels.lastModified": "Last Modified", - "item.edit.tabs.status.labels.lastModified": "Utoljára módosították", - -// "item.edit.tabs.status.title": "Item Edit - Status", - "item.edit.tabs.status.title": "Tárgy szerkesztése - Állapot", - -// "item.edit.tabs.versionhistory.head": "Version History", - "item.edit.tabs.versionhistory.head": "Változatok története", - -// "item.edit.tabs.versionhistory.title": "Item Edit - Version History", - "item.edit.tabs.versionhistory.title": "Tárgy szerkesztése - Változatok története", - -// "item.edit.tabs.versionhistory.under-construction": "Editing or adding new versions is not yet possible in this user interface.", - "item.edit.tabs.versionhistory.under-construction": "Változatok szerkesztése, vagy újak hozzáadása ezen a felületen még nem lehetséges.", - -// "item.edit.tabs.view.head": "View Item", - "item.edit.tabs.view.head": "Tárgy megtekintése", - -// "item.edit.tabs.view.title": "Item Edit - View", - "item.edit.tabs.view.title": "Tárgy szerkesztése - Megtekintés", - - - -// "item.edit.withdraw.cancel": "Cancel", - "item.edit.withdraw.cancel": "Mégse", - -// "item.edit.withdraw.confirm": "Withdraw", - "item.edit.withdraw.confirm": "Visszavonás", - -// "item.edit.withdraw.description": "Are you sure this item should be withdrawn from the archive?", - "item.edit.withdraw.description": "Biztosan vissza akarja vonni ezt a tárgyat az archívumból?", - -// "item.edit.withdraw.error": "An error occurred while withdrawing the item", - "item.edit.withdraw.error": "Tárgy visszavonásakor hiba történt", - -// "item.edit.withdraw.header": "Withdraw item: {{ id }}", - "item.edit.withdraw.header": "Tárgy visszavonása: {{ id }}", - -// "item.edit.withdraw.success": "The item was withdrawn successfully", - "item.edit.withdraw.success": "Tárgy visszavonása sikerült", - - - -// "item.listelement.badge": "Item", - "item.listelement.badge": "Elem", - -// "item.page.description": "Description", - "item.page.description": "Leírás", - -// "item.page.edit": "Edit this item", - "item.page.edit": "Elem szerkesztése", - -// "item.page.journal-issn": "Journal ISSN", - "item.page.journal-issn": "Folyóirat ISSN", - -// "item.page.journal-title": "Journal Title", - "item.page.journal-title": "Folyóirat címe", - -// "item.page.publisher": "Publisher", - "item.page.publisher": "Kiadó", - -// "item.page.titleprefix": "Item: ", - "item.page.titleprefix": "Elem: ", - -// "item.page.volume-title": "Volume Title", - "item.page.volume-title": "Kötet címe", - -// "item.search.results.head": "Item Search Results", - "item.search.results.head": "Elem keresésének eredménye", - -// "item.search.title": "DSpace Angular :: Item Search", - "item.search.title": "DSpace Angular :: Elem Keresése", - - - -// "item.page.abstract": "Abstract", - "item.page.abstract": "Kivonat", - -// "item.page.author": "Authors", - "item.page.author": "Szerzők", - -// "item.page.citation": "Citation", - "item.page.citation": "Idézések", - -// "item.page.collections": "Collections", - "item.page.collections": "Gyűjtemények", - -// "item.page.date": "Date", - "item.page.date": "Dátum", - -// "item.page.edit": "Edit this item", - "item.page.edit": "Elem szerkesztése", - -// "item.page.files": "Files", - "item.page.files": "Állományok", - -// "item.page.filesection.description": "Description:", - "item.page.filesection.description": "Leírás:", - -// "item.page.filesection.download": "Download", - "item.page.filesection.download": "Letöltés", - -// "item.page.filesection.format": "Format:", - "item.page.filesection.format": "Formátum:", - -// "item.page.filesection.name": "Name:", - "item.page.filesection.name": "Név:", - -// "item.page.filesection.size": "Size:", - "item.page.filesection.size": "Méret:", - -// "item.page.journal.search.title": "Articles in this journal", - "item.page.journal.search.title": "Cikkek ebben a kiadványban", - -// "item.page.link.full": "Full item page", - "item.page.link.full": "Teljes tárgy oldala", - -// "item.page.link.simple": "Simple item page", - "item.page.link.simple": "Egyszerű tárgy oldala", - -// "item.page.person.search.title": "Articles by this author", - "item.page.person.search.title": "Cikkek ettől a szerzőtől", - -// "item.page.related-items.view-more": "Show {{ amount }} more", - "item.page.related-items.view-more": "Mutasson {{ amount }} többet", - -// "item.page.related-items.view-less": "Hide last {{ amount }}", - "item.page.related-items.view-less": "Rejtse el az utolsó {{ amount }}", - -// "item.page.relationships.isAuthorOfPublication": "Publications", - "item.page.relationships.isAuthorOfPublication": "Publikációk", - -// "item.page.relationships.isJournalOfPublication": "Publications", - "item.page.relationships.isJournalOfPublication": "Publikációk", - -// "item.page.relationships.isOrgUnitOfPerson": "Authors", - "item.page.relationships.isOrgUnitOfPerson": "Szerzők", - -// "item.page.relationships.isOrgUnitOfProject": "Research Projects", - "item.page.relationships.isOrgUnitOfProject": "Kutatási projektek", - -// "item.page.subject": "Keywords", - "item.page.subject": "Kulcsszavak", - -// "item.page.uri": "URI", - "item.page.uri": "URI", - -// "item.page.bitstreams.view-more": "Show more", - "item.page.bitstreams.view-more": "Mutass többet", - -// "item.page.bitstreams.collapse": "Collapse", - "item.page.bitstreams.collapse": "Bezár", - -// "item.page.filesection.original.bundle" : "Original bundle", - "item.page.filesection.original.bundle" : "Eredeti csomag", - -// "item.page.filesection.license.bundle" : "License bundle", - "item.page.filesection.license.bundle" : "Licenccsomag", - -// "item.preview.dc.identifier.uri": "Identifier:", - "item.preview.dc.identifier.uri": "Azonosító:", - -// "item.preview.dc.contributor.author": "Authors:", - "item.preview.dc.contributor.author": "Szerzők:", - -// "item.preview.dc.date.issued": "Published date:", - "item.preview.dc.date.issued": "Kiadás dátuma:", - -// "item.preview.dc.description.abstract": "Abstract:", - "item.preview.dc.description.abstract": "Kivonat:", - -// "item.preview.dc.identifier.other": "Other identifier:", - "item.preview.dc.identifier.other": "Más azonosító:", - -// "item.preview.dc.language.iso": "Language:", - "item.preview.dc.language.iso": "Nyelv:", - -// "item.preview.dc.subject": "Subjects:", - "item.preview.dc.subject": "Téma:", - -// "item.preview.dc.title": "Title:", - "item.preview.dc.title": "Cím:", - -// "item.preview.person.familyName": "Surname:", - "item.preview.person.familyName": "Keresztnév:", - -// "item.preview.person.givenName": "Name:", - "item.preview.person.givenName": "Vezetéknév:", - -// "item.preview.person.identifier.orcid": "ORCID:", - "item.preview.person.identifier.orcid": "ORCID:", - - -// "item.select.confirm": "Confirm selected", - "item.select.confirm": "Kiválasztás igazolása", - -// "item.select.empty": "No items to show", - "item.select.empty": "Nincs megtekinthető tárgy", - -// "item.select.table.author": "Author", - "item.select.table.author": "Szerző", - -// "item.select.table.collection": "Collection", - "item.select.table.collection": "Gyűjtemény", - -// "item.select.table.title": "Title", - "item.select.table.title": "Cím", - - -// "item.version.history.empty": "There are no other versions for this item yet.", - "item.version.history.empty": "Ennek a tárgynak még nincs más változata.", - -// "item.version.history.head": "Version History", - "item.version.history.head": "Változatok története", - -// "item.version.history.return": "Return", - "item.version.history.return": "Vissza", - -// "item.version.history.selected": "Selected version", - "item.version.history.selected": "Kiválasztott változat", - -// "item.version.history.table.version": "Version", - "item.version.history.table.version": "Változat", - -// "item.version.history.table.item": "Item", - "item.version.history.table.item": "Tárgy", - -// "item.version.history.table.editor": "Editor", - "item.version.history.table.editor": "Kiadó", - -// "item.version.history.table.date": "Date", - "item.version.history.table.date": "Dátum", - -// "item.version.history.table.summary": "Summary", - "item.version.history.table.summary": "Összefoglaló", - - - -// "item.version.notice": "This is not the latest version of this item. The latest version can be found here.", - "item.version.notice": "Ez nem ennek a tárgynak a legutóbbi változata. A legutóbbi változat megtalálható itt here.", - - - -// "journal.listelement.badge": "Journal", - "journal.listelement.badge": "Folyóirat", - -// "journal.page.description": "Description", - "journal.page.description": "Leírás", - -// "journal.page.edit": "Edit this item", - "journal.page.edit": "Elem szerkesztése", - -// "journal.page.editor": "Editor-in-Chief", - "journal.page.editor": "Főszerkesztő", - -// "journal.page.issn": "ISSN", - "journal.page.issn": "ISSN", - -// "journal.page.publisher": "Publisher", - "journal.page.publisher": "Kiadó", - -// "journal.page.titleprefix": "Journal: ", - "journal.page.titleprefix": "Folyóirat: ", - -// "journal.search.results.head": "Journal Search Results", - "journal.search.results.head": "Folyóirat keresési eredmények", - -// "journal.search.title": "DSpace Angular :: Journal Search", - "journal.search.title": "DSpace Angular :: Folyóirat keresés", - - - -// "journalissue.listelement.badge": "Journal Issue", - "journalissue.listelement.badge": "Folyóirat szám", - -// "journalissue.page.description": "Description", - "journalissue.page.description": "Leírás", - -// "journalissue.page.edit": "Edit this item", - "journalissue.page.edit": "Elem szerkesztése", - -// "journalissue.page.issuedate": "Issue Date", - "journalissue.page.issuedate": "Megjelenés dátuma", - -// "journalissue.page.journal-issn": "Journal ISSN", - "journalissue.page.journal-issn": "Folyóirat ISSN", - -// "journalissue.page.journal-title": "Journal Title", - "journalissue.page.journal-title": "Folyóirat címe", - -// "journalissue.page.keyword": "Keywords", - "journalissue.page.keyword": "Kulcsszavak", - -// "journalissue.page.number": "Number", - "journalissue.page.number": "Szám", - -// "journalissue.page.titleprefix": "Journal Issue: ", - "journalissue.page.titleprefix": "Folyóirat száma: ", - - - -// "journalvolume.listelement.badge": "Journal Volume", - "journalvolume.listelement.badge": "Folyóirat kötet", - -// "journalvolume.page.description": "Description", - "journalvolume.page.description": "Leírás", - -// "journalvolume.page.edit": "Edit this item", - "journalvolume.page.edit": "Elem szerkesztése", - -// "journalvolume.page.issuedate": "Issue Date", - "journalvolume.page.issuedate": "Megjelenés dátuma", - -// "journalvolume.page.titleprefix": "Journal Volume: ", - "journalvolume.page.titleprefix": "Folyóirat kötet: ", - -// "journalvolume.page.volume": "Volume", - "journalvolume.page.volume": "Kötet", - - - -// "loading.bitstream": "Loading bitstream...", - "loading.bitstream": "Bitfolyam betöltése...", - -// "loading.bitstreams": "Loading bitstreams...", - "loading.bitstreams": "Bitfolyamok betöltése...", - -// "loading.browse-by": "Loading items...", - "loading.browse-by": "Tárgy betöltése...", - -// "loading.browse-by-page": "Loading page...", - "loading.browse-by-page": "Oldal betöltése...", - -// "loading.collection": "Loading collection...", - "loading.collection": "Gyűjtemény betöltése...", - -// "loading.collections": "Loading collections...", - "loading.collections": "Gyűjtemények betöltése...", - -// "loading.content-source": "Loading content source...", - "loading.content-source": "tartalom forrásának betöltése...", - -// "loading.community": "Loading community...", - "loading.community": "Közösség betöltése...", - -// "loading.default": "Loading...", - "loading.default": "Betöltés...", - -// "loading.item": "Loading item...", - "loading.item": "Tárgy betöltése...", - -// "loading.items": "Loading items...", - "loading.items": "Tárgyak betöltése...", - -// "loading.mydspace-results": "Loading items...", - "loading.mydspace-results": "Tárgyak betöltése...", - -// "loading.objects": "Loading...", - "loading.objects": "betöltés...", - -// "loading.recent-submissions": "Loading recent submissions...", - "loading.recent-submissions": "Legújabb feltöltések betöltése...", - -// "loading.search-results": "Loading search results...", - "loading.search-results": "keresési eredmények betöltése...", - -// "loading.sub-collections": "Loading sub-collections...", - "loading.sub-collections": "Algyűjtemények betöltése...", - -// "loading.sub-communities": "Loading sub-communities...", - "loading.sub-communities": "Alközösségek betöltése...", - -// "loading.top-level-communities": "Loading top-level communities...", - "loading.top-level-communities": "Csúcsszintű közösségek betöltése...", - - - -// "login.form.email": "Email address", - "login.form.email": "Email cím", - -// "login.form.forgot-password": "Have you forgotten your password?", - "login.form.forgot-password": "Elfelejtette a jelszót?", - -// "login.form.header": "Please log in to DSpace", - "login.form.header": "Lépjen be a DSpace-re", - -// "login.form.new-user": "New user? Click here to register.", - "login.form.new-user": "Új felhasználó? Kattintson ide a regisztráláshoz.", - -// "login.form.or-divider": "or", - "login.form.or-divider": "vagy", - -// "login.form.password": "Password", - "login.form.password": "Jelszó", - -// "login.form.shibboleth": "Log in with Shibboleth", - "login.form.shibboleth": "Lépjen be Shibboleth-el", - -// "login.form.submit": "Log in", - "login.form.submit": "Belépés", - -// "login.title": "Login", - "login.title": "Belépés", - -// "login.breadcrumbs": "Login", - "login.breadcrumbs": "Belépés", - - - -// "logout.form.header": "Log out from DSpace", - "logout.form.header": "Kilépés a DSpace-ből", - -// "logout.form.submit": "Log out", - "logout.form.submit": "Kilépés", - -// "logout.title": "Logout", - "logout.title": "Kilépés", - - - -// "menu.header.admin": "Admin", - "menu.header.admin": "Admin", - -// "menu.header.image.logo": "Repository logo", - "menu.header.image.logo": "Adattár logo", - - - -// "menu.section.access_control": "Access Control", - "menu.section.access_control": "Hozzáférési kontroll", - -// "menu.section.access_control_authorizations": "Authorizations", - "menu.section.access_control_authorizations": "Engedélyezések", - -// "menu.section.access_control_groups": "Groups", - "menu.section.access_control_groups": "csoportok", - -// "menu.section.access_control_people": "People", - "menu.section.access_control_people": "Emberek", - - - -// "menu.section.admin_search": "Admin Search", - "menu.section.admin_search": "Admin keresés", - - - -// "menu.section.browse_community": "This Community", - "menu.section.browse_community": "ez a közösség", - -// "menu.section.browse_community_by_author": "By Author", - "menu.section.browse_community_by_author": "Szerző szerint", - -// "menu.section.browse_community_by_issue_date": "By Issue Date", - "menu.section.browse_community_by_issue_date": "Megjelenés dátuma szerint", - -// "menu.section.browse_community_by_title": "By Title", - "menu.section.browse_community_by_title": "Cím szerint", - -// "menu.section.browse_global": "All of DSpace", - "menu.section.browse_global": "A teljes DSpace", - -// "menu.section.browse_global_by_author": "By Author", - "menu.section.browse_global_by_author": "Szerző szerint", - -// "menu.section.browse_global_by_dateissued": "By Issue Date", - "menu.section.browse_global_by_dateissued": "Megjelenés dátuma szerint", - -// "menu.section.browse_global_by_subject": "By Subject", - "menu.section.browse_global_by_subject": "Tárgy szerint", - -// "menu.section.browse_global_by_title": "By Title", - "menu.section.browse_global_by_title": "Cím szerint", - -// "menu.section.browse_global_communities_and_collections": "Communities & Collections", - "menu.section.browse_global_communities_and_collections": "Közösségek & Gyűjtemények", - - - -// "menu.section.control_panel": "Control Panel", - "menu.section.control_panel": "Vezérlőpult", - -// "menu.section.curation_task": "Curation Task", - "menu.section.curation_task": "Gondozási feladat", - - - -// "menu.section.edit": "Edit", - "menu.section.edit": "Szerkesztés", - -// "menu.section.edit_collection": "Collection", - "menu.section.edit_collection": "Gyűjtemény", - -// "menu.section.edit_community": "Community", - "menu.section.edit_community": "Közösség", - -// "menu.section.edit_item": "Item", - "menu.section.edit_item": "Tárgy", - - - -// "menu.section.export": "Export", - "menu.section.export": "Export", - -// "menu.section.export_collection": "Collection", - "menu.section.export_collection": "Gyűjtemény", - -// "menu.section.export_community": "Community", - "menu.section.export_community": "Közösség", - -// "menu.section.export_item": "Item", - "menu.section.export_item": "Tárgy", - -// "menu.section.export_metadata": "Metadata", - "menu.section.export_metadata": "Metaadat", - - - -// "menu.section.icon.access_control": "Access Control menu section", - "menu.section.icon.access_control": "Hozzáférés kontroll menü felület", - -// "menu.section.icon.admin_search": "Admin search menu section", - "menu.section.icon.admin_search": "Admin keresés menü felület", - -// "menu.section.icon.control_panel": "Control Panel menu section", - "menu.section.icon.control_panel": "Vezérlőpult menü felület", - -// "menu.section.icon.curation_task": "Curation Task menu section", - "menu.section.icon.curation_task": "Gondozási feladat menü felület", - -// "menu.section.icon.edit": "Edit menu section", - "menu.section.icon.edit": "Szerkesztés menü felület", - -// "menu.section.icon.export": "Export menu section", - "menu.section.icon.export": "Export menü felület", - -// "menu.section.icon.find": "Find menu section", - "menu.section.icon.find": "Keresés menü felület", - -// "menu.section.icon.import": "Import menu section", - "menu.section.icon.import": "Import menü felület", - -// "menu.section.icon.new": "New menu section", - "menu.section.icon.new": "Új menü felület", - -// "menu.section.icon.pin": "Pin sidebar", - "menu.section.icon.pin": "Oldalsáv rögzítése", - -// "menu.section.icon.processes": "Processes menu section", - "menu.section.icon.processes": "Menü felület feldolgozása", - -// "menu.section.icon.registries": "Registries menu section", - "menu.section.icon.registries": "Leíró adatbázis menü felület", - -// "menu.section.icon.statistics_task": "Statistics Task menu section", - "menu.section.icon.statistics_task": "Statisztikai feladatok menü felület", - -// "menu.section.icon.unpin": "Unpin sidebar", - "menu.section.icon.unpin": "Oldalbár rögzítés megszüntetése", - - - -// "menu.section.import": "Import", - "menu.section.import": "Import", - -// "menu.section.import_batch": "Batch Import (ZIP)", - "menu.section.import_batch": "Csomag Import (ZIP)", - -// "menu.section.import_metadata": "Metadata", - "menu.section.import_metadata": "Metaadat", - - - -// "menu.section.new": "New", - "menu.section.new": "Új", - -// "menu.section.new_collection": "Collection", - "menu.section.new_collection": "Gyűjtemény", - -// "menu.section.new_community": "Community", - "menu.section.new_community": "Közösség", - -// "menu.section.new_item": "Item", - "menu.section.new_item": "Tárgy", - -// "menu.section.new_item_version": "Item Version", - "menu.section.new_item_version": "Tárgy változat", - -// "menu.section.new_process": "Process", - "menu.section.new_process": "Folyamat", - - - -// "menu.section.pin": "Pin sidebar", - "menu.section.pin": "Oldalsáv rögzítése", - -// "menu.section.unpin": "Unpin sidebar", - "menu.section.unpin": "Oldalsáv rögzítés megszüntetése", - - - -// "menu.section.processes": "Processes", - "menu.section.processes": "Folyamatok", - - - -// "menu.section.registries": "Registries", - "menu.section.registries": "Leíró adatbázisok", - -// "menu.section.registries_format": "Format", - "menu.section.registries_format": "Formátum", - -// "menu.section.registries_metadata": "Metadata", - "menu.section.registries_metadata": "Metaadat", - - - -// "menu.section.statistics": "Statistics", - "menu.section.statistics": "Statisztikák", - -// "menu.section.statistics_task": "Statistics Task", - "menu.section.statistics_task": "Statisztikai feladatok", - - - -// "menu.section.toggle.access_control": "Toggle Access Control section", - "menu.section.toggle.access_control": "Váltás a Hozzáférés kontrol felületre", - -// "menu.section.toggle.control_panel": "Toggle Control Panel section", - "menu.section.toggle.control_panel": "Váltás a Vezérlőpult felületre", - -// "menu.section.toggle.curation_task": "Toggle Curation Task section", - "menu.section.toggle.curation_task": "Gondozási feladat felületre váltás", - -// "menu.section.toggle.edit": "Toggle Edit section", - "menu.section.toggle.edit": "Szerkesztés felületre váltás", - -// "menu.section.toggle.export": "Toggle Export section", - "menu.section.toggle.export": "Export felületre váltás", - -// "menu.section.toggle.find": "Toggle Find section", - "menu.section.toggle.find": "Kereső felületre váltás", - -// "menu.section.toggle.import": "Toggle Import section", - "menu.section.toggle.import": "Import felületre váltás", - -// "menu.section.toggle.new": "Toggle New section", - "menu.section.toggle.new": "Új felületre váltás", - -// "menu.section.toggle.registries": "Toggle Registries section", - "menu.section.toggle.registries": "Leíró adatbázisok felületre váltás", - -// "menu.section.toggle.statistics_task": "Toggle Statistics Task section", - "menu.section.toggle.statistics_task": "Statisztikai feladatok felületre váltás", - - -// "menu.section.workflow": "Administer Workflow", - "menu.section.workflow": "Munkafolyamat irányítása", - - -// "mydspace.description": "", - "mydspace.description": "", - -// "mydspace.general.text-here": "here", - "mydspace.general.text-here": "itt", - -// "mydspace.messages.controller-help": "Select this option to send a message to item's submitter.", - "mydspace.messages.controller-help": "Válassza ezt, hogy üzenjen a tárgy feltöltőjének.", - -// "mydspace.messages.description-placeholder": "Insert your message here...", - "mydspace.messages.description-placeholder": "Írja ide az üzenetét...", - -// "mydspace.messages.hide-msg": "Hide message", - "mydspace.messages.hide-msg": "Rejtse el az üzenetet", - -// "mydspace.messages.mark-as-read": "Mark as read", - "mydspace.messages.mark-as-read": "Jelölje meg elolvasottként", - -// "mydspace.messages.mark-as-unread": "Mark as unread", - "mydspace.messages.mark-as-unread": "Jelölje meg el nem olvasottként", - -// "mydspace.messages.no-content": "No content.", - "mydspace.messages.no-content": "Nincs tartalom.", - -// "mydspace.messages.no-messages": "No messages yet.", - "mydspace.messages.no-messages": "Még nincs üzenet.", - -// "mydspace.messages.send-btn": "Send", - "mydspace.messages.send-btn": "Elküld", - -// "mydspace.messages.show-msg": "Show message", - "mydspace.messages.show-msg": "Üzenetet megjelenít", - -// "mydspace.messages.subject-placeholder": "Subject...", - "mydspace.messages.subject-placeholder": "Tárgy...", - -// "mydspace.messages.submitter-help": "Select this option to send a message to controller.", - "mydspace.messages.submitter-help": "Válassza ezt, hogy üzenjen a kontrollernek.", - -// "mydspace.messages.title": "Messages", - "mydspace.messages.title": "Üzenetek", - -// "mydspace.messages.to": "To", - "mydspace.messages.to": "Címzett", - -// "mydspace.new-submission": "New submission", - "mydspace.new-submission": "Új feltöltés", - -// "mydspace.new-submission-external": "Import metadata from external source", - "mydspace.new-submission-external": "Metaadat importálása külső forrásból", - -// "mydspace.new-submission-external-short": "Import metadata", - "mydspace.new-submission-external-short": "Metaadat importálása", - -// "mydspace.results.head": "Your submissions", - "mydspace.results.head": "Az ön feltöltései", - -// "mydspace.results.no-abstract": "No Abstract", - "mydspace.results.no-abstract": "Nincs kivonat", - -// "mydspace.results.no-authors": "No Authors", - "mydspace.results.no-authors": "Nincsenek szerzők", - -// "mydspace.results.no-collections": "No Collections", - "mydspace.results.no-collections": "Nincs gyűjtemény", - -// "mydspace.results.no-date": "No Date", - "mydspace.results.no-date": "Nincs dátum", - -// "mydspace.results.no-files": "No Files", - "mydspace.results.no-files": "Nincs állomány", - -// "mydspace.results.no-results": "There were no items to show", - "mydspace.results.no-results": "Nincs megjeleníthető tárgy", - -// "mydspace.results.no-title": "No title", - "mydspace.results.no-title": "Nincs cím", - -// "mydspace.results.no-uri": "No Uri", - "mydspace.results.no-uri": "Nincs Uri", - -// "mydspace.show.workflow": "All tasks", - "mydspace.show.workflow": "Valamennyi feladat", - -// "mydspace.show.workspace": "Your Submissions", - "mydspace.show.workspace": "Az ön feltöltései", - -// "mydspace.status.archived": "Archived", - "mydspace.status.archived": "Tárolva", - -// "mydspace.status.validation": "Validation", - "mydspace.status.validation": "Érvényesítés", - -// "mydspace.status.waiting-for-controller": "Waiting for controller", - "mydspace.status.waiting-for-controller": "Várakozás a kontrollerre", - -// "mydspace.status.workflow": "Workflow", - "mydspace.status.workflow": "Munkafolyamat", - -// "mydspace.status.workspace": "Workspace", - "mydspace.status.workspace": "Munkafelület", - -// "mydspace.title": "MyDSpace", - "mydspace.title": "MyDSpace", - -// "mydspace.upload.upload-failed": "Error creating new workspace. Please verify the content uploaded before retry.", - "mydspace.upload.upload-failed": "Új munkafelület létrehozásakor hiba történt. Kérjük ellenőrizze a tartalmat mielőtt újra próbálkozna.", - -// "mydspace.upload.upload-failed-manyentries": "Unprocessable file. Detected too many entries but allowed only one for file.", - "mydspace.upload.upload-failed-manyentries": "Feldolgozhatalan fájl. Több elem észlelve, de fájlonként csak egy engedélyezve.", - -// "mydspace.upload.upload-failed-moreonefile": "Unprocessable request. Only one file is allowed.", - "mydspace.upload.upload-failed-moreonefile": "Feldolgozhatalan kérés. Csak egy fájl van engedélyezve.", - -// "mydspace.upload.upload-multiple-successful": "{{qty}} new workspace items created.", - "mydspace.upload.upload-multiple-successful": "{{qty}} Új munkafelület tárgyak létrehozva.", - -// "mydspace.upload.upload-successful": "New workspace item created. Click {{here}} for edit it.", - "mydspace.upload.upload-successful": "Új munkafelület tárgy létrehozva. Kattintson {{here}} hogy szerkessze.", - -// "mydspace.view-btn": "View", - "mydspace.view-btn": "Megtekintés", - - - -// "nav.browse.header": "All of DSpace", - "nav.browse.header": "A teljes DSpace", - -// "nav.community-browse.header": "By Community", - "nav.community-browse.header": "Közösség szerint", - -// "nav.language": "Language switch", - "nav.language": "Nyelvváltás", - -// "nav.login": "Log In", - "nav.login": "Belépés", - -// "nav.logout": "Log Out", - "nav.logout": "Kilépés", - -// "nav.mydspace": "MyDSpace", - "nav.mydspace": "MyDSpace", - -// "nav.profile": "Profile", - "nav.profile": "Profil", - -// "nav.search": "Search", - "nav.search": "Keresés", - -// "nav.statistics.header": "Statistics", - "nav.statistics.header": "Statisztika", - -// "nav.stop-impersonating": "Stop impersonating EPerson", - "nav.stop-impersonating": "EPerson megszemélyesítésének leállítása", - - - -// "orgunit.listelement.badge": "Organizational Unit", - "orgunit.listelement.badge": "Szervezeti egység", - -// "orgunit.page.city": "City", - "orgunit.page.city": "Város", - -// "orgunit.page.country": "Country", - "orgunit.page.country": "Ország", - -// "orgunit.page.dateestablished": "Date established", - "orgunit.page.dateestablished": "Alapítási dátum", - -// "orgunit.page.description": "Description", - "orgunit.page.description": "Leírás", - -// "orgunit.page.edit": "Edit this item", - "orgunit.page.edit": "Elem szerkesztése", - -// "orgunit.page.id": "ID", - "orgunit.page.id": "Azonosító", - -// "orgunit.page.titleprefix": "Organizational Unit: ", - "orgunit.page.titleprefix": "Szervezeti egység: ", - - - -// "pagination.results-per-page": "Results Per Page", - "pagination.results-per-page": "Eredmények oldalanként", - -// "pagination.showing.detail": "{{ range }} of {{ total }}", - "pagination.showing.detail": "{{ range }} ennyiből {{ total }}", - -// "pagination.showing.label": "Now showing ", - "pagination.showing.label": "Jelenleg látható ", - -// "pagination.sort-direction": "Sort Options", - "pagination.sort-direction": "Rendszerezési lehetőségek", - - - -// "person.listelement.badge": "Person", - "person.listelement.badge": "Személy", - -// "person.listelement.no-title": "No name found", - "person.listelement.no-title": "A névre nincs találat", - -// "person.page.birthdate": "Birth Date", - "person.page.birthdate": "Születés dátuma", - -// "person.page.edit": "Edit this item", - "person.page.edit": "Elem szerkesztése", - -// "person.page.email": "Email Address", - "person.page.email": "Email cím", - -// "person.page.firstname": "First Name", - "person.page.firstname": "Keresztnév", - -// "person.page.jobtitle": "Job Title", - "person.page.jobtitle": "Munkakör", - -// "person.page.lastname": "Last Name", - "person.page.lastname": "Családnév", - -// "person.page.link.full": "Show all metadata", - "person.page.link.full": "valamennyi metaadat megjelenítése", - -// "person.page.orcid": "ORCID", - "person.page.orcid": "ORCID", - -// "person.page.staffid": "Staff ID", - "person.page.staffid": "Személyzeti azonosító", - -// "person.page.titleprefix": "Person: ", - "person.page.titleprefix": "Személy: ", - -// "person.search.results.head": "Person Search Results", - "person.search.results.head": "Személy keresési eredmények", - -// "person.search.title": "DSpace Angular :: Person Search", - "person.search.title": "DSpace Angular :: Személy keresése", - - - -// "process.new.select-parameters": "Parameters", - "process.new.select-parameters": "Paraméterek", - -// "process.new.cancel": "Cancel", - "process.new.cancel": "Mégsem", - -// "process.new.submit": "Submit", - "process.new.submit": "Beküld", - -// "process.new.select-script": "Script", - "process.new.select-script": "Szkript", - -// "process.new.select-script.placeholder": "Choose a script...", - "process.new.select-script.placeholder": "Szkript kiválasztása...", - -// "process.new.select-script.required": "Script is required", - "process.new.select-script.required": "Szkript szükséges", - -// "process.new.parameter.file.upload-button": "Select file...", - "process.new.parameter.file.upload-button": "Fájl kiválasztása...", - -// "process.new.parameter.file.required": "Please select a file", - "process.new.parameter.file.required": "Kérem válasszon egy fájlt", - -// "process.new.parameter.string.required": "Parameter value is required", - "process.new.parameter.string.required": "Szüséges egy paraméter érték", - -// "process.new.parameter.type.value": "value", - "process.new.parameter.type.value": "érték", - -// "process.new.parameter.type.file": "file", - "process.new.parameter.type.file": "fájl", - -// "process.new.parameter.required.missing": "The following parameters are required but still missing:", - "process.new.parameter.required.missing": "A következő paraméter szükséges:", - -// "process.new.notification.success.title": "Success", - "process.new.notification.success.title": "Sikerült", - -// "process.new.notification.success.content": "The process was successfully created", - "process.new.notification.success.content": "A folyamat sikeresen létrehozva", - -// "process.new.notification.error.title": "Error", - "process.new.notification.error.title": "Hiba", - -// "process.new.notification.error.content": "An error occurred while creating this process", - "process.new.notification.error.content": "Hiba történt a folyamat létrehozásakor", - -// "process.new.header": "Create a new process", - "process.new.header": "Új folyamat létrehozása", - -// "process.new.title": "Create a new process", - "process.new.title": "Új folyamat létrehozása", - -// "process.new.breadcrumbs": "Create a new process", - "process.new.breadcrumbs": "Új folyamat létrehozása", - - - -// "process.detail.arguments" : "Arguments", - "process.detail.arguments" : "Érvek", - -// "process.detail.arguments.empty" : "This process doesn't contain any arguments", - "process.detail.arguments.empty" : "Ez a folyamat nem tartalmaz érveket", - -// "process.detail.back" : "Back", - "process.detail.back" : "Vissza", - -// "process.detail.output" : "Process Output", - "process.detail.output" : "Folyamat eredménye", - -// "process.detail.logs.button": "Retrieve process output", - "process.detail.logs.button": "Folyamatkimenet lekérése", - -// "process.detail.logs.loading": "Retrieving", - "process.detail.logs.loading": "Lekérés", - -// "process.detail.logs.none": "This process has no output", - "process.detail.logs.none": "Ennek a folyamatnak nincs kimenete", - -// "process.detail.output-files" : "Output Files", - "process.detail.output-files" : "Kimeneti fájlok", - -// "process.detail.output-files.empty" : "This process doesn't contain any output files", - "process.detail.output-files.empty" : "Ennek a folyamatnak nincsenek kimeneti fájljai", - -// "process.detail.script" : "Script", - "process.detail.script" : "Szkript", - -// "process.detail.title" : "Process: {{ id }} - {{ name }}", - "process.detail.title" : "Folyamat: {{ id }} - {{ name }}", - -// "process.detail.start-time" : "Start time", - "process.detail.start-time" : "Kezdési idő", - -// "process.detail.end-time" : "Finish time", - "process.detail.end-time" : "Végzési idő", - -// "process.detail.status" : "Status", - "process.detail.status" : "Állapot", - -// "process.detail.create" : "Create similar process", - "process.detail.create" : "Hasonló folyamat létrehozása", - - - -// "process.overview.table.finish" : "Finish time", - "process.overview.table.finish" : "Végzési idő", - -// "process.overview.table.id" : "Process ID", - "process.overview.table.id" : "Folyamat ID", - -// "process.overview.table.name" : "Name", - "process.overview.table.name" : "Név", - -// "process.overview.table.start" : "Start time", - "process.overview.table.start" : "Kezdési idő", - -// "process.overview.table.status" : "Status", - "process.overview.table.status" : "Állapot", - -// "process.overview.table.user" : "User", - "process.overview.table.user" : "Felhasználó", - -// "process.overview.title": "Processes Overview", - "process.overview.title": "Folyaamt áttekintő", - -// "process.overview.breadcrumbs": "Processes Overview", - "process.overview.breadcrumbs": "Folyamat áttekintő", - -// "process.overview.new": "New", - "process.overview.new": "Új", - - - -// "profile.breadcrumbs": "Update Profile", - "profile.breadcrumbs": "Profil frissítése", - -// "profile.card.identify": "Identify", - "profile.card.identify": "Azonosít", - -// "profile.card.security": "Security", - "profile.card.security": "Biztonság", - -// "profile.form.submit": "Update Profile", - "profile.form.submit": "Profil frissítése", - -// "profile.groups.head": "Authorization groups you belong to", - "profile.groups.head": "Felhatalmazási csoportok amelyekhez ön tartozik", - -// "profile.head": "Update Profile", - "profile.head": "Profil frissítése", - -// "profile.metadata.form.error.firstname.required": "First Name is required", - "profile.metadata.form.error.firstname.required": "Keresztnév kötelező", - -// "profile.metadata.form.error.lastname.required": "Last Name is required", - "profile.metadata.form.error.lastname.required": "Családnév kötelező", - -// "profile.metadata.form.label.email": "Email Address", - "profile.metadata.form.label.email": "Email cím", - -// "profile.metadata.form.label.firstname": "First Name", - "profile.metadata.form.label.firstname": "Keresztnév", - -// "profile.metadata.form.label.language": "Language", - "profile.metadata.form.label.language": "Nyelv", - -// "profile.metadata.form.label.lastname": "Last Name", - "profile.metadata.form.label.lastname": "Családnév", - -// "profile.metadata.form.label.phone": "Contact Telephone", - "profile.metadata.form.label.phone": "Telefonos elérhetőség", - -// "profile.metadata.form.notifications.success.content": "Your changes to the profile were saved.", - "profile.metadata.form.notifications.success.content": "Profilmódosítások elmentve.", - -// "profile.metadata.form.notifications.success.title": "Profile saved", - "profile.metadata.form.notifications.success.title": "Profil elmentve", - -// "profile.notifications.warning.no-changes.content": "No changes were made to the Profile.", - "profile.notifications.warning.no-changes.content": "Profil nem módosult.", - -// "profile.notifications.warning.no-changes.title": "No changes", - "profile.notifications.warning.no-changes.title": "Nincs változtatás", - -// "profile.security.form.error.matching-passwords": "The passwords do not match.", - "profile.security.form.error.matching-passwords": "A jelszavak nem találnak.", - -// "profile.security.form.error.password-length": "The password should be at least 6 characters long.", - "profile.security.form.error.password-length": "A jelszó legalább 6 karakter hosszú kell, hogy legyen", - -// "profile.security.form.info": "Optionally, you can enter a new password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", - "profile.security.form.info": "Opcionálisan beírhatja jelszavát az alsó mezőbe majd igazolhatja azt, beírva a második mezőbe. Legalább hat karakter hosszú kell, hogy legyen.", - -// "profile.security.form.label.password": "Password", - "profile.security.form.label.password": "Jelszó", - -// "profile.security.form.label.passwordrepeat": "Retype to confirm", - "profile.security.form.label.passwordrepeat": "Írja be újra a jelszót", - -// "profile.security.form.notifications.success.content": "Your changes to the password were saved.", - "profile.security.form.notifications.success.content": "Jelszó módosítása elmentve.", - -// "profile.security.form.notifications.success.title": "Password saved", - "profile.security.form.notifications.success.title": "Jelszó elmentve", - -// "profile.security.form.notifications.error.title": "Error changing passwords", - "profile.security.form.notifications.error.title": "Jelszó megváltoztatásakor hiba történt", - -// "profile.security.form.notifications.error.not-long-enough": "The password has to be at least 6 characters long.", - "profile.security.form.notifications.error.not-long-enough": "A jelszó legalább 8 karakter kell, hogy legyen.", - -// "profile.security.form.notifications.error.not-same": "The provided passwords are not the same.", - "profile.security.form.notifications.error.not-same": "A megadott jelszavak nem azonosak.", - -// "profile.title": "Update Profile", - "profile.title": "Profil frissítése", - - - -// "profile.breadcrumbs": "Update Profile", - "profile.breadcrumbs": "Profil frissítése", - -// "profile.card.identify": "Identify", - "profile.card.identify": "Azonosít", - -// "profile.card.security": "Security", - "profile.card.security": "Biztonság", - -// "profile.form.submit": "Update Profile", - "profile.form.submit": "Profil frissítése", - -// "profile.groups.head": "Authorization groups you belong to", - "profile.groups.head": "Engedélyezett csoportok, amelyekhez ön tartozik", - -// "profile.head": "Update Profile", - "profile.head": "Profil frissítése", - -// "profile.metadata.form.error.firstname.required": "First Name is required", - "profile.metadata.form.error.firstname.required": "Keresztnév kötelező", - -// "profile.metadata.form.error.lastname.required": "Last Name is required", - "profile.metadata.form.error.lastname.required": "Családnév kötelező", - -// "profile.metadata.form.label.email": "Email Address", - "profile.metadata.form.label.email": "Email cím", - -// "profile.metadata.form.label.firstname": "First Name", - "profile.metadata.form.label.firstname": "Keresztnév", - -// "profile.metadata.form.label.language": "Language", - "profile.metadata.form.label.language": "Nyelv", - -// "profile.metadata.form.label.lastname": "Last Name", - "profile.metadata.form.label.lastname": "Családnév", - -// "profile.metadata.form.label.phone": "Contact Telephone", - "profile.metadata.form.label.phone": "Telefonszám", - -// "profile.metadata.form.notifications.success.content": "Your changes to the profile were saved.", - "profile.metadata.form.notifications.success.content": "Profil módisítása elmentve.", - -// "profile.metadata.form.notifications.success.title": "Profile saved", - "profile.metadata.form.notifications.success.title": "Profil elmentve", - -// "profile.notifications.warning.no-changes.content": "No changes were made to the Profile.", - "profile.notifications.warning.no-changes.content": "Profil nem módosult.", - -// "profile.notifications.warning.no-changes.title": "No changes", - "profile.notifications.warning.no-changes.title": "Nincs változtatás", - -// "profile.security.form.error.matching-passwords": "The passwords do not match.", - "profile.security.form.error.matching-passwords": "A jelszavak nem találnak.", - -// "profile.security.form.error.password-length": "The password should be at least 6 characters long.", - "profile.security.form.error.password-length": "A jelszó legalább 6 karakter kell, hogy legyen.", - -// "profile.security.form.info": "Optionally, you can enter a new password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", - "profile.security.form.info": "Opcionálisan beírhatja jelszavát az alsó mezőbe majd igazolhatja azt, beírva a második mezőbe. Legalább hat karakter hosszú kell, hogy legyen.", - -// "profile.security.form.label.password": "Password", - "profile.security.form.label.password": "Jelszó", - -// "profile.security.form.label.passwordrepeat": "Retype to confirm", - "profile.security.form.label.passwordrepeat": "Írja be újra", - -// "profile.security.form.notifications.success.content": "Your changes to the password were saved.", - "profile.security.form.notifications.success.content": "Jelszó módosítása elmentve.", - -// "profile.security.form.notifications.success.title": "Password saved", - "profile.security.form.notifications.success.title": "Jelszó elmentve", - -// "profile.security.form.notifications.error.title": "Error changing passwords", - "profile.security.form.notifications.error.title": "Jelszó módosítása közben hiba történt", - -// "profile.security.form.notifications.error.not-long-enough": "The password has to be at least 6 characters long.", - "profile.security.form.notifications.error.not-long-enough": "A jelszó legalább 6 karakter kell, hogy legyen.", - -// "profile.security.form.notifications.error.not-same": "The provided passwords are not the same.", - "profile.security.form.notifications.error.not-same": "A megadott jelszavak nem azonosak.", - -// "profile.title": "Update Profile", - "profile.title": "Profil frissítése", - - - -// "project.listelement.badge": "Research Project", - "project.listelement.badge": "Kutatási projekt", - -// "project.page.contributor": "Contributors", - "project.page.contributor": "Közreműködők", - -// "project.page.description": "Description", - "project.page.description": "Leírás", - -// "project.page.edit": "Edit this item", - "project.page.edit": "Elem szerkesztése", - -// "project.page.expectedcompletion": "Expected Completion", - "project.page.expectedcompletion": "Várható befejezés", - -// "project.page.funder": "Funders", - "project.page.funder": "Támogatók", - -// "project.page.id": "ID", - "project.page.id": "Azonosító", - -// "project.page.keyword": "Keywords", - "project.page.keyword": "Kulcsszavak", - -// "project.page.status": "Status", - "project.page.status": "Állapot", - -// "project.page.titleprefix": "Research Project: ", - "project.page.titleprefix": "Kutatási projekt: ", - -// "project.search.results.head": "Project Search Results", - "project.search.results.head": "Projekt keresési eredmények", - - - -// "publication.listelement.badge": "Publication", - "publication.listelement.badge": "Publikáció", - -// "publication.page.description": "Description", - "publication.page.description": "Leírás", - -// "publication.page.edit": "Edit this item", - "publication.page.edit": "Elem szerkesztése", - -// "publication.page.journal-issn": "Journal ISSN", - "publication.page.journal-issn": "Folyóirat ISSN", - -// "publication.page.journal-title": "Journal Title", - "publication.page.journal-title": "Folyóirat címe", - -// "publication.page.publisher": "Publisher", - "publication.page.publisher": "Kiadó", - -// "publication.page.titleprefix": "Publication: ", - "publication.page.titleprefix": "Publikáció: ", - -// "publication.page.volume-title": "Volume Title", - "publication.page.volume-title": "Kötet címe", - -// "publication.search.results.head": "Publication Search Results", - "publication.search.results.head": "Publikáció keresési eredmények", - -// "publication.search.title": "DSpace Angular :: Publication Search", - "publication.search.title": "DSpace Angular :: Publikáció keresése", - - - -// "register-email.title": "New user registration", - "register-email.title": "Új felhasználó regisztrálása", - -// "register-page.create-profile.header": "Create Profile", - "register-page.create-profile.header": "Profil létrehozása", - -// "register-page.create-profile.identification.header": "Identify", - "register-page.create-profile.identification.header": "Azonosítás", - -// "register-page.create-profile.identification.email": "Email Address", - "register-page.create-profile.identification.email": "E-mail cím", - -// "register-page.create-profile.identification.first-name": "First Name *", - "register-page.create-profile.identification.first-name": "Keresztnév *", - -// "register-page.create-profile.identification.first-name.error": "Please fill in a First Name", - "register-page.create-profile.identification.first-name.error": "Írja be a keresztnevet", - -// "register-page.create-profile.identification.last-name": "Last Name *", - "register-page.create-profile.identification.last-name": "Családnév *", - -// "register-page.create-profile.identification.last-name.error": "Please fill in a Last Name", - "register-page.create-profile.identification.last-name.error": "Írja be a családnevet", - -// "register-page.create-profile.identification.contact": "Contact Telephone", - "register-page.create-profile.identification.contact": "Telefonszám", - -// "register-page.create-profile.identification.language": "Language", - "register-page.create-profile.identification.language": "Nyelv", - -// "register-page.create-profile.security.header": "Security", - "register-page.create-profile.security.header": "Biztonság", - -// "register-page.create-profile.security.info": "Please enter a password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", - "register-page.create-profile.security.info": "Írjon be egy jelszót a lenti mezőbe, és írja be újra az alatta levőbe. Legalább hat karakter hosszú kell legyen.", - -// "register-page.create-profile.security.label.password": "Password *", - "register-page.create-profile.security.label.password": "Jelszó *", - -// "register-page.create-profile.security.label.passwordrepeat": "Retype to confirm *", - "register-page.create-profile.security.label.passwordrepeat": "Jelszó visszaigazolása *", - -// "register-page.create-profile.security.error.empty-password": "Please enter a password in the box below.", - "register-page.create-profile.security.error.empty-password": "Írja be a jelszót a lenti mezőbe.", - -// "register-page.create-profile.security.error.matching-passwords": "The passwords do not match.", - "register-page.create-profile.security.error.matching-passwords": "A jelszavak nem egyeznek.", - -// "register-page.create-profile.security.error.password-length": "The password should be at least 6 characters long.", - "register-page.create-profile.security.error.password-length": "A jelszó legalább 6 karakter hosszú kell legyen.", - -// "register-page.create-profile.submit": "Complete Registration", - "register-page.create-profile.submit": "Regisztráció befejezése", - -// "register-page.create-profile.submit.error.content": "Something went wrong while registering a new user.", - "register-page.create-profile.submit.error.content": "Hiba történt a regisztrációs folyamat során.", - -// "register-page.create-profile.submit.error.head": "Registration failed", - "register-page.create-profile.submit.error.head": "Hibás regisztráció", - -// "register-page.create-profile.submit.success.content": "The registration was successful. You have been logged in as the created user.", - "register-page.create-profile.submit.success.content": "Sikeres regisztráció. Beléphet a létrehozott felhasználóval.", - -// "register-page.create-profile.submit.success.head": "Registration completed", - "register-page.create-profile.submit.success.head": "Sikeres regisztráció", - - -// "register-page.registration.header": "New user registration", - "register-page.registration.header": "Új felhasználó regisztrálása", - -// "register-page.registration.info": "Register an account to subscribe to collections for email updates, and submit new items to DSpace.", - "register-page.registration.info": "Hozzon létre egy felhasználót, hogy feliratkozhasson gyűjtemények e-mail értesítésére, és új elemeket tölthessen fel a DSpace-be.", - -// "register-page.registration.email": "Email Address *", - "register-page.registration.email": "E-mail cím *", - -// "register-page.registration.email.error.required": "Please fill in an email address", - "register-page.registration.email.error.required": "Töltse ki az e-mail címet", - -// "register-page.registration.email.error.pattern": "Please fill in a valid email address", - "register-page.registration.email.error.pattern": "Írjon be egy érvényes e-mail címet", - -// "register-page.registration.email.hint": "This address will be verified and used as your login name.", - "register-page.registration.email.hint": "Az e-mail cím ellenőrizve lesz és evvel tud belépni a rendszerbe.", - -// "register-page.registration.submit": "Register", - "register-page.registration.submit": "Regisztráció", - -// "register-page.registration.success.head": "Verification email sent", - "register-page.registration.success.head": "Ellenőrző e-mail elküldve", - -// "register-page.registration.success.content": "An email has been sent to {{ email }} containing a special URL and further instructions.", - "register-page.registration.success.content": "Egy e-mail elküldve a(z) {{ email }} címre, tartalmaz egy speciális címet a további utasításokhoz.", - -// "register-page.registration.error.head": "Error when trying to register email", - "register-page.registration.error.head": "Hiba történt az e-mail cím regisztrációjakor", - -// "register-page.registration.error.content": "An error occured when registering the following email address: {{ email }}", - "register-page.registration.error.content": "Hiba történt a következő e-mail cím regisztrációjakor: {{ email }}", - - - -// "relationships.isAuthorOf": "Authors", - "relationships.isAuthorOf": "Szerzők", - -// "relationships.isAuthorOf.Person": "Authors (persons)", - "relationships.isAuthorOf.Person": "Szerzők (személye)", - -// "relationships.isAuthorOf.OrgUnit": "Authors (organizational units)", - "relationships.isAuthorOf.OrgUnit": "Szerzők (szervezeti egységek)", - -// "relationships.isIssueOf": "Journal Issues", - "relationships.isIssueOf": "Folyóirat számok", - -// "relationships.isJournalIssueOf": "Journal Issue", - "relationships.isJournalIssueOf": "Folyóirat szám", - -// "relationships.isJournalOf": "Journals", - "relationships.isJournalOf": "Folyóiratok", - -// "relationships.isOrgUnitOf": "Organizational Units", - "relationships.isOrgUnitOf": "Szervezeti egységek", - -// "relationships.isPersonOf": "Authors", - "relationships.isPersonOf": "Szerzők", - -// "relationships.isProjectOf": "Research Projects", - "relationships.isProjectOf": "Kutatási projektek", - -// "relationships.isPublicationOf": "Publications", - "relationships.isPublicationOf": "Publikációk", - -// "relationships.isPublicationOfJournalIssue": "Articles", - "relationships.isPublicationOfJournalIssue": "Cikkek", - -// "relationships.isSingleJournalOf": "Journal", - "relationships.isSingleJournalOf": "Folyóirat", - -// "relationships.isSingleVolumeOf": "Journal Volume", - "relationships.isSingleVolumeOf": "Folyóirat kötet", - -// "relationships.isVolumeOf": "Journal Volumes", - "relationships.isVolumeOf": "Folyóirat kötetek", - -// "relationships.isContributorOf": "Contributors", - "relationships.isContributorOf": "Közreműködők", - - - -// "resource-policies.add.button": "Add", - "resource-policies.add.button": "Hozzáad", - -// "resource-policies.add.for.": "Add a new policy", - "resource-policies.add.for.": "Új szabály", - -// "resource-policies.add.for.bitstream": "Add a new Bitstream policy", - "resource-policies.add.for.bitstream": "Új Bitstream szabály", - -// "resource-policies.add.for.bundle": "Add a new Bundle policy", - "resource-policies.add.for.bundle": "Új Bundle szabály", - -// "resource-policies.add.for.item": "Add a new Item policy", - "resource-policies.add.for.item": "Új elem szabály", - -// "resource-policies.add.for.community": "Add a new Community policy", - "resource-policies.add.for.community": "Új közösségi szabály hozzáadása", - -// "resource-policies.add.for.collection": "Add a new Collection policy", - "resource-policies.add.for.collection": "Új gyűjtemény szabály hozzáadása", - -// "resource-policies.create.page.heading": "Create new resource policy for ", - "resource-policies.create.page.heading": "Új erőforráa szabály ...", - -// "resource-policies.create.page.failure.content": "An error occurred while creating the resource policy.", - "resource-policies.create.page.failure.content": "Hiba történt az erőforrás szabály létrehozásakor.", - -// "resource-policies.create.page.success.content": "Operation successful", - "resource-policies.create.page.success.content": "A művelet sikeres", - -// "resource-policies.create.page.title": "Create new resource policy", - "resource-policies.create.page.title": "Új erőforráa szabály", - -// "resource-policies.delete.btn": "Delete selected", - "resource-policies.delete.btn": "Kijelöltek törlése", - -// "resource-policies.delete.btn.title": "Delete selected resource policies", - "resource-policies.delete.btn.title": "Kijelölt erőforrás szabályok törlése", - -// "resource-policies.delete.failure.content": "An error occurred while deleting selected resource policies.", - "resource-policies.delete.failure.content": "Hiba történt az erőforrás szabályok törlésekor.", - -// "resource-policies.delete.success.content": "Operation successful", - "resource-policies.delete.success.content": "A művelet sikeres", - -// "resource-policies.edit.page.heading": "Edit resource policy ", - "resource-policies.edit.page.heading": "Erőfforás szabály szerkesztése ", - -// "resource-policies.edit.page.failure.content": "An error occurred while editing the resource policy.", - "resource-policies.edit.page.failure.content": "Hiba történt az erőforrás szabály szerkesztésekor.", - -// "resource-policies.edit.page.success.content": "Operation successful", - "resource-policies.edit.page.success.content": "A művelet sikeres", - -// "resource-policies.edit.page.title": "Edit resource policy", - "resource-policies.edit.page.title": "Erőfforás szabály szerkesztése", - -// "resource-policies.form.action-type.label": "Select the action type", - "resource-policies.form.action-type.label": "Művelet típus kiválasztása", - -// "resource-policies.form.action-type.required": "You must select the resource policy action.", - "resource-policies.form.action-type.required": "Ki kell válasszon egy műveletet.", - -// "resource-policies.form.eperson-group-list.label": "The eperson or group that will be grant of the permission", - "resource-policies.form.eperson-group-list.label": "Az eperson vagy csoport amihez rendeli a jogosultságot", - -// "resource-policies.form.eperson-group-list.select.btn": "Select", - "resource-policies.form.eperson-group-list.select.btn": "Kiválaszt", - -// "resource-policies.form.eperson-group-list.tab.eperson": "Search for a ePerson", - "resource-policies.form.eperson-group-list.tab.eperson": "ePerson keresése", - -// "resource-policies.form.eperson-group-list.tab.group": "Search for a group", - "resource-policies.form.eperson-group-list.tab.group": "Csoport keresése", - -// "resource-policies.form.eperson-group-list.table.headers.action": "Action", - "resource-policies.form.eperson-group-list.table.headers.action": "Művelet", - -// "resource-policies.form.eperson-group-list.table.headers.id": "ID", - "resource-policies.form.eperson-group-list.table.headers.id": "ID", - -// "resource-policies.form.eperson-group-list.table.headers.name": "Name", - "resource-policies.form.eperson-group-list.table.headers.name": "Név", - -// "resource-policies.form.date.end.label": "End Date", - "resource-policies.form.date.end.label": "Végső dátum", - -// "resource-policies.form.date.start.label": "Start Date", - "resource-policies.form.date.start.label": "Kezdő dátum", - -// "resource-policies.form.description.label": "Description", - "resource-policies.form.description.label": "Leírás", - -// "resource-policies.form.name.label": "Name", - "resource-policies.form.name.label": "Név", - -// "resource-policies.form.policy-type.label": "Select the policy type", - "resource-policies.form.policy-type.label": "Szabály típus kiválasztása", - -// "resource-policies.form.policy-type.required": "You must select the resource policy type.", - "resource-policies.form.policy-type.required": "Ki kell válasszon egy szabálytípust.", - -// "resource-policies.table.headers.action": "Action", - "resource-policies.table.headers.action": "Művelet", - -// "resource-policies.table.headers.date.end": "End Date", - "resource-policies.table.headers.date.end": "Végső dátum", - -// "resource-policies.table.headers.date.start": "Start Date", - "resource-policies.table.headers.date.start": "Kezdő dátum", - -// "resource-policies.table.headers.edit": "Edit", - "resource-policies.table.headers.edit": "Szerkeszt", - -// "resource-policies.table.headers.edit.group": "Edit group", - "resource-policies.table.headers.edit.group": "Csoport módosítása", - -// "resource-policies.table.headers.edit.policy": "Edit policy", - "resource-policies.table.headers.edit.policy": "Szabály módosítása", - -// "resource-policies.table.headers.eperson": "EPerson", - "resource-policies.table.headers.eperson": "EPerson", - -// "resource-policies.table.headers.group": "Group", - "resource-policies.table.headers.group": "Csoport", - -// "resource-policies.table.headers.id": "ID", - "resource-policies.table.headers.id": "ID", - -// "resource-policies.table.headers.name": "Name", - "resource-policies.table.headers.name": "Név", - -// "resource-policies.table.headers.policyType": "type", - "resource-policies.table.headers.policyType": "típus", - -// "resource-policies.table.headers.title.for.bitstream": "Policies for Bitstream", - "resource-policies.table.headers.title.for.bitstream": "Bitstream szabály", - -// "resource-policies.table.headers.title.for.bundle": "Policies for Bundle", - "resource-policies.table.headers.title.for.bundle": "Bundle szabály", - -// "resource-policies.table.headers.title.for.item": "Policies for Item", - "resource-policies.table.headers.title.for.item": "Elem szabály", - -// "resource-policies.table.headers.title.for.community": "Policies for Community", - "resource-policies.table.headers.title.for.community": "Közösségi szabályok", - -// "resource-policies.table.headers.title.for.collection": "Policies for Collection", - "resource-policies.table.headers.title.for.collection": "Gyűjtemény szabályok", - - - -// "search.description": "", - "search.description": "", - -// "search.switch-configuration.title": "Show", - "search.switch-configuration.title": "Megtekintés", - -// "search.title": "DSpace Angular :: Search", - "search.title": "DSpace Angular :: Keresés", - -// "search.breadcrumbs": "Search", - "search.breadcrumbs": "Keresés", - - -// "search.filters.applied.f.author": "Author", - "search.filters.applied.f.author": "Szerző", - -// "search.filters.applied.f.dateIssued.max": "End date", - "search.filters.applied.f.dateIssued.max": "Végső dátum", - -// "search.filters.applied.f.dateIssued.min": "Start date", - "search.filters.applied.f.dateIssued.min": "Kezdő dátum", - -// "search.filters.applied.f.dateSubmitted": "Date submitted", - "search.filters.applied.f.dateSubmitted": "Feltöltés dátuma", - -// "search.filters.applied.f.discoverable": "Private", - "search.filters.applied.f.discoverable": "Privát", - -// "search.filters.applied.f.entityType": "Item Type", - "search.filters.applied.f.entityType": "Tárgy típusa", - -// "search.filters.applied.f.has_content_in_original_bundle": "Has files", - "search.filters.applied.f.has_content_in_original_bundle": "Állományokat tartalmaz", - -// "search.filters.applied.f.itemtype": "Type", - "search.filters.applied.f.itemtype": "Típus", - -// "search.filters.applied.f.namedresourcetype": "Status", - "search.filters.applied.f.namedresourcetype": "Állapot", - -// "search.filters.applied.f.subject": "Subject", - "search.filters.applied.f.subject": "Tárgy", - -// "search.filters.applied.f.submitter": "Submitter", - "search.filters.applied.f.submitter": "Feltöltő", - -// "search.filters.applied.f.jobTitle": "Job Title", - "search.filters.applied.f.jobTitle": "Munkakör", - -// "search.filters.applied.f.birthDate.max": "End birth date", - "search.filters.applied.f.birthDate.max": "Születési dátum vége", - -// "search.filters.applied.f.birthDate.min": "Start birth date", - "search.filters.applied.f.birthDate.min": "Születési dátum eleje", - -// "search.filters.applied.f.withdrawn": "Withdrawn", - "search.filters.applied.f.withdrawn": "Visszavonva", - - - -// "search.filters.filter.author.head": "Author", - "search.filters.filter.author.head": "Szerző", - -// "search.filters.filter.author.placeholder": "Author name", - "search.filters.filter.author.placeholder": "Szerző neve", - -// "search.filters.filter.birthDate.head": "Birth Date", - "search.filters.filter.birthDate.head": "Születési dátum", - -// "search.filters.filter.birthDate.placeholder": "Birth Date", - "search.filters.filter.birthDate.placeholder": "Születési dátum", - -// "search.filters.filter.creativeDatePublished.head": "Date Published", - "search.filters.filter.creativeDatePublished.head": "Publikálás dátuma", - -// "search.filters.filter.creativeDatePublished.placeholder": "Date Published", - "search.filters.filter.creativeDatePublished.placeholder": "Publikálás dátuma", - -// "search.filters.filter.creativeWorkEditor.head": "Editor", - "search.filters.filter.creativeWorkEditor.head": "Szerkesztő", - -// "search.filters.filter.creativeWorkEditor.placeholder": "Editor", - "search.filters.filter.creativeWorkEditor.placeholder": "Szerkesztő", - -// "search.filters.filter.creativeWorkKeywords.head": "Subject", - "search.filters.filter.creativeWorkKeywords.head": "Tárgy", - -// "search.filters.filter.creativeWorkKeywords.placeholder": "Subject", - "search.filters.filter.creativeWorkKeywords.placeholder": "Tárgy", - -// "search.filters.filter.creativeWorkPublisher.head": "Publisher", - "search.filters.filter.creativeWorkPublisher.head": "Kiadó", - -// "search.filters.filter.creativeWorkPublisher.placeholder": "Publisher", - "search.filters.filter.creativeWorkPublisher.placeholder": "Kiadó", - -// "search.filters.filter.dateIssued.head": "Date", - "search.filters.filter.dateIssued.head": "Dátum", - -// "search.filters.filter.dateIssued.max.placeholder": "Minimum Date", - "search.filters.filter.dateIssued.max.placeholder": "Minimum Dátum", - -// "search.filters.filter.dateIssued.min.placeholder": "Maximum Date", - "search.filters.filter.dateIssued.min.placeholder": "Maximum Dátum", - -// "search.filters.filter.dateSubmitted.head": "Date submitted", - "search.filters.filter.dateSubmitted.head": "Feltöltés dátuma", - -// "search.filters.filter.dateSubmitted.placeholder": "Date submitted", - "search.filters.filter.dateSubmitted.placeholder": "Feltöltés dátuma", - -// "search.filters.filter.discoverable.head": "Private", - "search.filters.filter.discoverable.head": "Privát", - -// "search.filters.filter.withdrawn.head": "Withdrawn", - "search.filters.filter.withdrawn.head": "Visszavonva", - -// "search.filters.filter.entityType.head": "Item Type", - "search.filters.filter.entityType.head": "Tárgy típusa", - -// "search.filters.filter.entityType.placeholder": "Item Type", - "search.filters.filter.entityType.placeholder": "Tárgy típusa", - -// "search.filters.filter.has_content_in_original_bundle.head": "Has files", - "search.filters.filter.has_content_in_original_bundle.head": "Állományokat tartalmaz", - -// "search.filters.filter.itemtype.head": "Type", - "search.filters.filter.itemtype.head": "Típus", - -// "search.filters.filter.itemtype.placeholder": "Type", - "search.filters.filter.itemtype.placeholder": "Típus", - -// "search.filters.filter.jobTitle.head": "Job Title", - "search.filters.filter.jobTitle.head": "Munkakör", - -// "search.filters.filter.jobTitle.placeholder": "Job Title", - "search.filters.filter.jobTitle.placeholder": "Munkakör", - -// "search.filters.filter.knowsLanguage.head": "Known language", - "search.filters.filter.knowsLanguage.head": "Ismert nyelv", - -// "search.filters.filter.knowsLanguage.placeholder": "Known language", - "search.filters.filter.knowsLanguage.placeholder": "Ismert nyelv", - -// "search.filters.filter.namedresourcetype.head": "Status", - "search.filters.filter.namedresourcetype.head": "Állapot", - -// "search.filters.filter.namedresourcetype.placeholder": "Status", - "search.filters.filter.namedresourcetype.placeholder": "Állapot", - -// "search.filters.filter.objectpeople.head": "People", - "search.filters.filter.objectpeople.head": "Emberek", - -// "search.filters.filter.objectpeople.placeholder": "People", - "search.filters.filter.objectpeople.placeholder": "Emberek", - -// "search.filters.filter.organizationAddressCountry.head": "Country", - "search.filters.filter.organizationAddressCountry.head": "Országy", - -// "search.filters.filter.organizationAddressCountry.placeholder": "Country", - "search.filters.filter.organizationAddressCountry.placeholder": "Ország", - -// "search.filters.filter.organizationAddressLocality.head": "City", - "search.filters.filter.organizationAddressLocality.head": "Város", - -// "search.filters.filter.organizationAddressLocality.placeholder": "City", - "search.filters.filter.organizationAddressLocality.placeholder": "Város", - -// "search.filters.filter.organizationFoundingDate.head": "Date Founded", - "search.filters.filter.organizationFoundingDate.head": "Alapítás dátuma", - -// "search.filters.filter.organizationFoundingDate.placeholder": "Date Founded", - "search.filters.filter.organizationFoundingDate.placeholder": "Alapítás dátuma", - -// "search.filters.filter.scope.head": "Scope", - "search.filters.filter.scope.head": "Célja", - -// "search.filters.filter.scope.placeholder": "Scope filter", - "search.filters.filter.scope.placeholder": "Cél szűrő", - -// "search.filters.filter.show-less": "Collapse", - "search.filters.filter.show-less": "Összevon", - -// "search.filters.filter.show-more": "Show more", - "search.filters.filter.show-more": "Többet megjelenít", - -// "search.filters.filter.subject.head": "Subject", - "search.filters.filter.subject.head": "Tárgy", - -// "search.filters.filter.subject.placeholder": "Subject", - "search.filters.filter.subject.placeholder": "Tárgy", - -// "search.filters.filter.submitter.head": "Submitter", - "search.filters.filter.submitter.head": "Feltöltő", - -// "search.filters.filter.submitter.placeholder": "Submitter", - "search.filters.filter.submitter.placeholder": "Feltöltő", - - - -// "search.filters.entityType.JournalIssue": "Journal Issue", - "search.filters.entityType.JournalIssue": "Folyóirat száma", - -// "search.filters.entityType.JournalVolume": "Journal Volume", - "search.filters.entityType.JournalVolume": "JFolyóirat kötet", - -// "search.filters.entityType.OrgUnit": "Organizational Unit", - "search.filters.entityType.OrgUnit": "Szervezeti egység", - -// "search.filters.has_content_in_original_bundle.true": "Yes", - "search.filters.has_content_in_original_bundle.true": "Igen", - -// "search.filters.has_content_in_original_bundle.false": "No", - "search.filters.has_content_in_original_bundle.false": "Nem", - -// "search.filters.discoverable.true": "No", - "search.filters.discoverable.true": "Nem", - -// "search.filters.discoverable.false": "Yes", - "search.filters.discoverable.false": "Igen", - -// "search.filters.withdrawn.true": "Yes", - "search.filters.withdrawn.true": "Igen", - -// "search.filters.withdrawn.false": "No", - "search.filters.withdrawn.false": "Nem", - - -// "search.filters.head": "Filters", - "search.filters.head": "Szűrők", - -// "search.filters.reset": "Reset filters", - "search.filters.reset": "Szűrők visszaállítása", - - - -// "search.form.search": "Search", - "search.form.search": "keresés", - -// "search.form.search_dspace": "Search DSpace", - "search.form.search_dspace": "Keres a DSpace-en", - -// "search.form.search_mydspace": "Search MyDSpace", - "search.form.search_mydspace": "Keres a MyDSpace-en", - - - -// "search.results.head": "Search Results", - "search.results.head": "Keresési eredmények", - -// "search.results.no-results": "Your search returned no results. Having trouble finding what you're looking for? Try putting", - "search.results.no-results": "A keresésnek nincs eredménye. Nem találja amit keres? Próbálja", - -// "search.results.no-results-link": "quotes around it", - "search.results.no-results-link": "idézőjelek közé írni", - -// "search.results.empty": "Your search returned no results.", - "search.results.empty": "A keresésnek nincs eredménye.", - - - -// "search.sidebar.close": "Back to results", - "search.sidebar.close": "Vissza a szűrőkhöz", - -// "search.sidebar.filters.title": "Filters", - "search.sidebar.filters.title": "Szűrők", - -// "search.sidebar.open": "Search Tools", - "search.sidebar.open": "Kereső eszközök", - -// "search.sidebar.results": "results", - "search.sidebar.results": "eredmények", - -// "search.sidebar.settings.rpp": "Results per page", - "search.sidebar.settings.rpp": "Eredmények oldalanként", - -// "search.sidebar.settings.sort-by": "Sort By", - "search.sidebar.settings.sort-by": "Rendszerezés eszerint", - -// "search.sidebar.settings.title": "Settings", - "search.sidebar.settings.title": "Állítások", - - - -// "search.view-switch.show-detail": "Show detail", - "search.view-switch.show-detail": "Részletek megjelenítése", - -// "search.view-switch.show-grid": "Show as grid", - "search.view-switch.show-grid": "Megjelenítés rácsként", - -// "search.view-switch.show-list": "Show as list", - "search.view-switch.show-list": "Megjelenítés listaként", - - - -// "sorting.ASC": "Ascending", - "sorting.ASC": "Növekvő", - -// "sorting.DESC": "Descending", - "sorting.DESC": "Csökkenő", - -// "sorting.dc.title.ASC": "Title Ascending", - "sorting.dc.title.ASC": "Cím növekvő sorrendben", - -// "sorting.dc.title.DESC": "Title Descending", - "sorting.dc.title.DESC": "Cím csökkenő sorrendben", - -// "sorting.score.DESC": "Relevance", - "sorting.score.DESC": "Relevancia", - - - -// "statistics.title": "Statistics", - "statistics.title": "Statisztikák", - -// "statistics.header": "Statistics for {{ scope }}", - "statistics.header": "Statisztikák: {{ scope }}", - -// "statistics.breadcrumbs": "Statistics", - "statistics.breadcrumbs": "Statisztikák", - -// "statistics.page.no-data": "No data available", - "statistics.page.no-data": "Nincsenek adatok", - -// "statistics.table.no-data": "No data available", - "statistics.table.no-data": "Nincsenek adatok", - -// "statistics.table.title.TotalVisits": "Total visits", - "statistics.table.title.TotalVisits": "Összes látogatás", - -// "statistics.table.title.TotalVisitsPerMonth": "Total visits per month", - "statistics.table.title.TotalVisitsPerMonth": "Összes látogató a hónapban", - -// "statistics.table.title.TotalDownloads": "File Visits", - "statistics.table.title.TotalDownloads": "Fájl elérések", - -// "statistics.table.title.TopCountries": "Top country views", - "statistics.table.title.TopCountries": "Elérések országok szerint", - -// "statistics.table.title.TopCities": "Top city views", - "statistics.table.title.TopCities": "Elérések városok szerint", - -// "statistics.table.header.views": "Views", - "statistics.table.header.views": "Látogatások", - - - -// "submission.edit.title": "Edit Submission", - "submission.edit.title": "Feltöltés szerkesztése", - -// "submission.general.cannot_submit": "You have not the privilege to make a new submission.", - "submission.general.cannot_submit": "Önnek nincs új feltöltéshez szükséges privilégiuma.", - -// "submission.general.deposit": "Deposit", - "submission.general.deposit": "Adattár", - -// "submission.general.discard.confirm.cancel": "Cancel", - "submission.general.discard.confirm.cancel": "Mégse", - -// "submission.general.discard.confirm.info": "This operation can't be undone. Are you sure?", - "submission.general.discard.confirm.info": "Ezt a műveletet nem lehet visszaváltoztatni. Biztos benne?", - -// "submission.general.discard.confirm.submit": "Yes, I'm sure", - "submission.general.discard.confirm.submit": "Igen, biztos vagyok", - -// "submission.general.discard.confirm.title": "Discard submission", - "submission.general.discard.confirm.title": "Feltöltés elvetése", - -// "submission.general.discard.submit": "Discard", - "submission.general.discard.submit": "Elvetés", - -// "submission.general.save": "Save", - "submission.general.save": "Mentés", - -// "submission.general.save-later": "Save for later", - "submission.general.save-later": "Mentés későbbre", - - - -// "submission.import-external.page.title": "Import metadata from an external source", - "submission.import-external.page.title": "Metaadatok importálása külső forrásból", - -// "submission.import-external.title": "Import metadata from an external source", - "submission.import-external.title": "Metaadatok importálása külső forrásból", - -// "submission.import-external.page.hint": "Enter a query above to find items from the web to import in to DSpace.", - "submission.import-external.page.hint": "Írjon be egy lekérést hogy elemeket találjon a web-en amiket importálhat DSpace-be.", - -// "submission.import-external.back-to-my-dspace": "Back to MyDSpace", - "submission.import-external.back-to-my-dspace": "Vissza a MyDSpacehez", - -// "submission.import-external.search.placeholder": "Search the external source", - "submission.import-external.search.placeholder": "Külső forrás keresése", - -// "submission.import-external.search.button": "Search", - "submission.import-external.search.button": "Keresés", - -// "submission.import-external.search.button.hint": "Write some words to search", - "submission.import-external.search.button.hint": "Írjon be keresési szavakat", - -// "submission.import-external.search.source.hint": "Pick an external source", - "submission.import-external.search.source.hint": "Válasszon egy külső forrást", - -// "submission.import-external.source.arxiv": "arXiv", - "submission.import-external.source.arxiv": "arXiv", - -// "submission.import-external.source.loading": "Loading ...", - "submission.import-external.source.loading": "Betöltés ...", - -// "submission.import-external.source.sherpaJournal": "SHERPA Journals", - "submission.import-external.source.sherpaJournal": "SHERPA Journals", - -// "submission.import-external.source.sherpaPublisher": "SHERPA Publishers", - "submission.import-external.source.sherpaPublisher": "SHERPA Publishers", - -// "submission.import-external.source.orcid": "ORCID", - "submission.import-external.source.orcid": "ORCID", - -// "submission.import-external.source.pubmed": "Pubmed", - "submission.import-external.source.pubmed": "Pubmed", - -// "submission.import-external.source.lcname": "Library of Congress Names", - "submission.import-external.source.lcname": "Library of Congress Names", - -// "submission.import-external.preview.title": "Item Preview", - "submission.import-external.preview.title": "Elem előnézet", - -// "submission.import-external.preview.subtitle": "The metadata below was imported from an external source. It will be pre-filled when you start the submission.", - "submission.import-external.preview.subtitle": "A lentebbi metaadat importálva a külső forrásból. Ki lesz töltve ha elkezdi a beküldési folyamatot.", - -// "submission.import-external.preview.button.import": "Start submission", - "submission.import-external.preview.button.import": "Beküldés elkezdése", - -// "submission.import-external.preview.error.import.title": "Submission error", - "submission.import-external.preview.error.import.title": "Beküldési hiba", - -// "submission.import-external.preview.error.import.body": "An error occurs during the external source entry import process.", - "submission.import-external.preview.error.import.body": "Hiba történt a külső forrásból történő importálás folyamán.", - -// "submission.sections.describe.relationship-lookup.close": "Close", - "submission.sections.describe.relationship-lookup.close": "Bezárás", - -// "submission.sections.describe.relationship-lookup.external-source.added": "Successfully added local entry to the selection", - "submission.sections.describe.relationship-lookup.external-source.added": "Helyi bevitel sikeresen hozzáadva a kiválasztotthoz", - -// "submission.sections.describe.relationship-lookup.external-source.import-button-title.Author": "Import remote author", - "submission.sections.describe.relationship-lookup.external-source.import-button-title.Author": "Távoli szerző importálása", - -// "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal": "Import remote journal", - "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal": "Távoli folyóirat importálása", - -// "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal Issue": "Import remote journal issue", - "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal Issue": "Távoli folyóiratszám importálása", - -// "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal Volume": "Import remote journal volume", - "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal Volume": "Távoli folyóiratkötet importálása", - -// "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.title": "Import Remote Author", - "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.title": "Távoli szerző importálása", - -// "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.added.local-entity": "Successfully added local author to the selection", - "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.added.local-entity": "Helyi szerző sikeresen hozzáadva a kiválasztotthoz", - -// "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.added.new-entity": "Successfully imported and added external author to the selection", - "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.added.new-entity": "Külső szerző sikeresen importálva és hozzáadva a kiválasztotthoz", - -// "submission.sections.describe.relationship-lookup.external-source.import-modal.authority": "Authority", - "submission.sections.describe.relationship-lookup.external-source.import-modal.authority": "Autoritás", - -// "submission.sections.describe.relationship-lookup.external-source.import-modal.authority.new": "Import as a new local authority entry", - "submission.sections.describe.relationship-lookup.external-source.import-modal.authority.new": "Importál új helyi autoritás bevitelként", - -// "submission.sections.describe.relationship-lookup.external-source.import-modal.cancel": "Cancel", - "submission.sections.describe.relationship-lookup.external-source.import-modal.cancel": "Mégse", - -// "submission.sections.describe.relationship-lookup.external-source.import-modal.collection": "Select a collection to import new entries to", - "submission.sections.describe.relationship-lookup.external-source.import-modal.collection": "Válasszon ki gyűjteményt, amelyhez az új bevitelt importálja", - -// "submission.sections.describe.relationship-lookup.external-source.import-modal.entities": "Entities", - "submission.sections.describe.relationship-lookup.external-source.import-modal.entities": "Entitások", - -// "submission.sections.describe.relationship-lookup.external-source.import-modal.entities.new": "Import as a new local entity", - "submission.sections.describe.relationship-lookup.external-source.import-modal.entities.new": "ÍÚj entitásként importál", - -// "submission.sections.describe.relationship-lookup.external-source.import-modal.head.lcname": "Importing from LC Name", - "submission.sections.describe.relationship-lookup.external-source.import-modal.head.lcname": "LC Nnévről importál", - -// "submission.sections.describe.relationship-lookup.external-source.import-modal.head.orcid": "Importing from ORCID", - "submission.sections.describe.relationship-lookup.external-source.import-modal.head.orcid": "ORCID-ról importál", - -// "submission.sections.describe.relationship-lookup.external-source.import-modal.head.sherpaJournal": "Importing from Sherpa Journal", - "submission.sections.describe.relationship-lookup.external-source.import-modal.head.sherpaJournal": "Sherpa Journal-ról importál", - -// "submission.sections.describe.relationship-lookup.external-source.import-modal.head.sherpaPublisher": "Importing from Sherpa Publisher", - "submission.sections.describe.relationship-lookup.external-source.import-modal.head.sherpaPublisher": "Sherpa Publisher-ről importál", - -// "submission.sections.describe.relationship-lookup.external-source.import-modal.head.pubmed": "Importing from PubMed", - "submission.sections.describe.relationship-lookup.external-source.import-modal.head.pubmed": "PubMed-ről importál", - -// "submission.sections.describe.relationship-lookup.external-source.import-modal.head.arxiv": "Importing from arXiv", - "submission.sections.describe.relationship-lookup.external-source.import-modal.head.arxiv": "arXiv-ről importál", - -// "submission.sections.describe.relationship-lookup.external-source.import-modal.import": "Import", - "submission.sections.describe.relationship-lookup.external-source.import-modal.import": "Importál", - -// "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal.title": "Import Remote Journal", - "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal.title": "Távoli folyóiratot importál", - -// "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal.added.local-entity": "Successfully added local journal to the selection", - "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal.added.local-entity": "Helyi folyóirat sikeresen hozzáadva a kiválasztotthoz", - -// "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal.added.new-entity": "Successfully imported and added external journal to the selection", - "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal.added.new-entity": "Külső folyóirat sikeresen importálva és hozzáadva a kiválasztotthoz", - -// "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Issue.title": "Import Remote Journal Issue", - "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Issue.title": "Távoli folyóiratszám importálása", - -// "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Issue.added.local-entity": "Successfully added local journal issue to the selection", - "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Issue.added.local-entity": "Helyi folyóirat sikeresen hozzáadva a kiválasztotthoz", - -// "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Issue.added.new-entity": "Successfully imported and added external journal issue to the selection", - "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Issue.added.new-entity": "Távoli folyóirat sikeresen importálva és hozzáadva a kiválasztotthoz", - -// "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Volume.title": "Import Remote Journal Volume", - "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Volume.title": "Távoli folyóiratkötet importálása", - -// "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Volume.added.local-entity": "Successfully added local journal volume to the selection", - "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Volume.added.local-entity": "Helyi folyóiratkötet sikeresen hozzáadva a kiválasztotthoz", - -// "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Volume.added.new-entity": "Successfully imported and added external journal volume to the selection", - "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Volume.added.new-entity": "Külső folyóiratkötet sikeresen importálva és hozzáadva a kiválasztotthoz", - -// "submission.sections.describe.relationship-lookup.external-source.import-modal.select": "Select a local match:", - "submission.sections.describe.relationship-lookup.external-source.import-modal.select": "Válasszon ki helyi megfelelést:", - -// "submission.sections.describe.relationship-lookup.search-tab.deselect-all": "Deselect all", - "submission.sections.describe.relationship-lookup.search-tab.deselect-all": "Valamennyi kiválasztás megszüntetése", - -// "submission.sections.describe.relationship-lookup.search-tab.deselect-page": "Deselect page", - "submission.sections.describe.relationship-lookup.search-tab.deselect-page": "Oldal kiválasztásának megszüntetése", - -// "submission.sections.describe.relationship-lookup.search-tab.loading": "Loading...", - "submission.sections.describe.relationship-lookup.search-tab.loading": "Betöltés...", - -// "submission.sections.describe.relationship-lookup.search-tab.placeholder": "Search query", - "submission.sections.describe.relationship-lookup.search-tab.placeholder": "Keresett szó", - -// "submission.sections.describe.relationship-lookup.search-tab.search": "Go", - "submission.sections.describe.relationship-lookup.search-tab.search": "Mehet", - -// "submission.sections.describe.relationship-lookup.search-tab.select-all": "Select all", - "submission.sections.describe.relationship-lookup.search-tab.select-all": "Valamennyi kiválasztása", - -// "submission.sections.describe.relationship-lookup.search-tab.select-page": "Select page", - "submission.sections.describe.relationship-lookup.search-tab.select-page": "Oldal választása", - -// "submission.sections.describe.relationship-lookup.selected": "Selected {{ size }} items", - "submission.sections.describe.relationship-lookup.selected": "Kiválasztott {{ size }} tárgyak", - -// "submission.sections.describe.relationship-lookup.search-tab.tab-title.isAuthorOfPublication": "Local Authors ({{ count }})", - "submission.sections.describe.relationship-lookup.search-tab.tab-title.isAuthorOfPublication": "Helyi szerzők ({{ count }})", - -// "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalOfPublication": "Local Journals ({{ count }})", - "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalOfPublication": "Helyi folyóiratok ({{ count }})", - -// "submission.sections.describe.relationship-lookup.search-tab.tab-title.Project": "Local Projects ({{ count }})", - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Project": "Helyi projektek ({{ count }})", - -// "submission.sections.describe.relationship-lookup.search-tab.tab-title.Publication": "Local Publications ({{ count }})", - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Publication": "Helyi kiadványok ({{ count }})", - -// "submission.sections.describe.relationship-lookup.search-tab.tab-title.Person": "Local Authors ({{ count }})", - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Person": "Helyi szerzők ({{ count }})", - -// "submission.sections.describe.relationship-lookup.search-tab.tab-title.OrgUnit": "Local Organizational Units ({{ count }})", - "submission.sections.describe.relationship-lookup.search-tab.tab-title.OrgUnit": "Helyi szervezeti egységek ({{ count }})", - -// "submission.sections.describe.relationship-lookup.search-tab.tab-title.DataPackage": "Local Data Packages ({{ count }})", - "submission.sections.describe.relationship-lookup.search-tab.tab-title.DataPackage": "Helyi adat csomagok ({{ count }})", - -// "submission.sections.describe.relationship-lookup.search-tab.tab-title.DataFile": "Local Data Files ({{ count }})", - "submission.sections.describe.relationship-lookup.search-tab.tab-title.DataFile": "Helyi adatállományok ({{ count }})", - -// "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal": "Local Journals ({{ count }})", - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal": "Helyi folyóiratok ({{ count }})", - -// "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalIssueOfPublication": "Local Journal Issues ({{ count }})", - "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalIssueOfPublication": "Helyi folyóiratszámok ({{ count }})", - -// "submission.sections.describe.relationship-lookup.search-tab.tab-title.JournalIssue": "Local Journal Issues ({{ count }})", - "submission.sections.describe.relationship-lookup.search-tab.tab-title.JournalIssue": "Helyi folyóiratszámok ({{ count }})", - -// "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalVolumeOfPublication": "Local Journal Volumes ({{ count }})", - "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalVolumeOfPublication": "Helyi folyóiratkötetek ({{ count }})", - -// "submission.sections.describe.relationship-lookup.search-tab.tab-title.JournalVolume": "Local Journal Volumes ({{ count }})", - "submission.sections.describe.relationship-lookup.search-tab.tab-title.JournalVolume": "Helyi folyóiratkötetek ({{ count }})", - -// "submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaJournal": "Sherpa Journals ({{ count }})", - "submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaJournal": "Sherpa folyóiratok ({{ count }})", - -// "submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaPublisher": "Sherpa Publishers ({{ count }})", - "submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaPublisher": "Sherpa kiadók ({{ count }})", - -// "submission.sections.describe.relationship-lookup.search-tab.tab-title.orcid": "ORCID ({{ count }})", - "submission.sections.describe.relationship-lookup.search-tab.tab-title.orcid": "ORCID ({{ count }})", - -// "submission.sections.describe.relationship-lookup.search-tab.tab-title.lcname": "LC Names ({{ count }})", - "submission.sections.describe.relationship-lookup.search-tab.tab-title.lcname": "LC Names ({{ count }})", - -// "submission.sections.describe.relationship-lookup.search-tab.tab-title.pubmed": "PubMed ({{ count }})", - "submission.sections.describe.relationship-lookup.search-tab.tab-title.pubmed": "PubMed ({{ count }})", - -// "submission.sections.describe.relationship-lookup.search-tab.tab-title.arxiv": "arXiv ({{ count }})", - "submission.sections.describe.relationship-lookup.search-tab.tab-title.arxiv": "arXiv ({{ count }})", - -// "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingAgencyOfPublication": "Search for Funding Agencies", - "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingAgencyOfPublication": "Támogató szervezetek keresése", - -// "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingOfPublication": "Search for Funding", - "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingOfPublication": "Támogatás keresése", - -// "submission.sections.describe.relationship-lookup.search-tab.tab-title.isChildOrgUnitOf": "Search for Organizational Units", - "submission.sections.describe.relationship-lookup.search-tab.tab-title.isChildOrgUnitOf": "Intézményi egységek kereséset", - -// "submission.sections.describe.relationship-lookup.selection-tab.tab-title": "Current Selection ({{ count }})", - "submission.sections.describe.relationship-lookup.selection-tab.tab-title": "Jelenleg kiválasztott ({{ count }})", - -// "submission.sections.describe.relationship-lookup.title.isJournalIssueOfPublication": "Journal Issues", - "submission.sections.describe.relationship-lookup.title.isJournalIssueOfPublication": "Folyóirat számok", - -// "submission.sections.describe.relationship-lookup.title.JournalIssue": "Journal Issues", - "submission.sections.describe.relationship-lookup.title.JournalIssue": "Folyóirat számok", - -// "submission.sections.describe.relationship-lookup.title.isJournalVolumeOfPublication": "Journal Volumes", - "submission.sections.describe.relationship-lookup.title.isJournalVolumeOfPublication": "Folyóirat kötetek", - -// "submission.sections.describe.relationship-lookup.title.JournalVolume": "Journal Volumes", - "submission.sections.describe.relationship-lookup.title.JournalVolume": "Folyóirat kötetek", - -// "submission.sections.describe.relationship-lookup.title.isJournalOfPublication": "Journals", - "submission.sections.describe.relationship-lookup.title.isJournalOfPublication": "Folyóiratok", - -// "submission.sections.describe.relationship-lookup.title.isAuthorOfPublication": "Authors", - "submission.sections.describe.relationship-lookup.title.isAuthorOfPublication": "Szerzők", - -// "submission.sections.describe.relationship-lookup.title.isFundingAgencyOfPublication": "Funding Agency", - "submission.sections.describe.relationship-lookup.title.isFundingAgencyOfPublication": "Támogató szervezet", - -// "submission.sections.describe.relationship-lookup.title.Project": "Projects", - "submission.sections.describe.relationship-lookup.title.Project": "Projektek", - -// "submission.sections.describe.relationship-lookup.title.Publication": "Publications", - "submission.sections.describe.relationship-lookup.title.Publication": "Kiadványok", - -// "submission.sections.describe.relationship-lookup.title.Person": "Authors", - "submission.sections.describe.relationship-lookup.title.Person": "Szerzők", - -// "submission.sections.describe.relationship-lookup.title.OrgUnit": "Organizational Units", - "submission.sections.describe.relationship-lookup.title.OrgUnit": "Szervezeti egységek", - -// "submission.sections.describe.relationship-lookup.title.DataPackage": "Data Packages", - "submission.sections.describe.relationship-lookup.title.DataPackage": "Adatcsomagok", - -// "submission.sections.describe.relationship-lookup.title.DataFile": "Data Files", - "submission.sections.describe.relationship-lookup.title.DataFile": "Adatállományok", - -// "submission.sections.describe.relationship-lookup.title.Funding Agency": "Funding Agency", - "submission.sections.describe.relationship-lookup.title.Funding Agency": "Támogató szervezet", - -// "submission.sections.describe.relationship-lookup.title.isFundingOfPublication": "Funding", - "submission.sections.describe.relationship-lookup.title.isFundingOfPublication": "Támogatás", - -// "submission.sections.describe.relationship-lookup.title.isChildOrgUnitOf": "Parent Organizational Unit", - "submission.sections.describe.relationship-lookup.title.isChildOrgUnitOf": "Szülő szervezeti egység", - -// "submission.sections.describe.relationship-lookup.search-tab.toggle-dropdown": "Toggle dropdown", - "submission.sections.describe.relationship-lookup.search-tab.toggle-dropdown": "Lenyíló menü váltás", - -// "submission.sections.describe.relationship-lookup.selection-tab.settings": "Settings", - "submission.sections.describe.relationship-lookup.selection-tab.settings": "Beállítások", - -// "submission.sections.describe.relationship-lookup.selection-tab.no-selection": "Your selection is currently empty.", - "submission.sections.describe.relationship-lookup.selection-tab.no-selection": "Amit kiválasztott az jelenleg üres.", - -// "submission.sections.describe.relationship-lookup.selection-tab.title.isAuthorOfPublication": "Selected Authors", - "submission.sections.describe.relationship-lookup.selection-tab.title.isAuthorOfPublication": "Kiválasztott szerzők", - -// "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalOfPublication": "Selected Journals", - "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalOfPublication": "Választott folyóirat", - -// "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalVolumeOfPublication": "Selected Journal Volume", - "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalVolumeOfPublication": "Választott folyóirat kötet", - -// "submission.sections.describe.relationship-lookup.selection-tab.title.Project": "Selected Projects", - "submission.sections.describe.relationship-lookup.selection-tab.title.Project": "Választott projektek", - -// "submission.sections.describe.relationship-lookup.selection-tab.title.Publication": "Selected Publications", - "submission.sections.describe.relationship-lookup.selection-tab.title.Publication": "Választott kiadványok", - -// "submission.sections.describe.relationship-lookup.selection-tab.title.Person": "Selected Authors", - "submission.sections.describe.relationship-lookup.selection-tab.title.Person": "Választott szerzők", - -// "submission.sections.describe.relationship-lookup.selection-tab.title.OrgUnit": "Selected Organizational Units", - "submission.sections.describe.relationship-lookup.selection-tab.title.OrgUnit": "Választott szervezeti egységek", - -// "submission.sections.describe.relationship-lookup.selection-tab.title.DataPackage": "Selected Data Packages", - "submission.sections.describe.relationship-lookup.selection-tab.title.DataPackage": "Választott adatcsomagok", - -// "submission.sections.describe.relationship-lookup.selection-tab.title.DataFile": "Selected Data Files", - "submission.sections.describe.relationship-lookup.selection-tab.title.DataFile": "Választott adatfájlok", - -// "submission.sections.describe.relationship-lookup.selection-tab.title.Journal": "Selected Journals", - "submission.sections.describe.relationship-lookup.selection-tab.title.Journal": "Választott folyóiratok", - -// "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalIssueOfPublication": "Selected Issue", - "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalIssueOfPublication": "Választott szám", - -// "submission.sections.describe.relationship-lookup.selection-tab.title.JournalVolume": "Selected Journal Volume", - "submission.sections.describe.relationship-lookup.selection-tab.title.JournalVolume": "Választott folyóirat kötet", - -// "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingAgencyOfPublication": "Selected Funding Agency", - "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingAgencyOfPublication": "Választott támogató szervezet", - -// "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingOfPublication": "Selected Funding", - "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingOfPublication": "Választott támogatás", - -// "submission.sections.describe.relationship-lookup.selection-tab.title.JournalIssue": "Selected Issue", - "submission.sections.describe.relationship-lookup.selection-tab.title.JournalIssue": "Választott szám", - -// "submission.sections.describe.relationship-lookup.selection-tab.title.isChildOrgUnitOf": "Selected Organizational Unit", - "submission.sections.describe.relationship-lookup.selection-tab.title.isChildOrgUnitOf": "Választott szervezeti egység", - -// "submission.sections.describe.relationship-lookup.selection-tab.title.sherpaJournal": "Search Results", - "submission.sections.describe.relationship-lookup.selection-tab.title.sherpaJournal": "Keresési eredmények", - -// "submission.sections.describe.relationship-lookup.selection-tab.title.sherpaPublisher": "Search Results", - "submission.sections.describe.relationship-lookup.selection-tab.title.sherpaPublisher": "Keresése eredmények", - -// "submission.sections.describe.relationship-lookup.selection-tab.title.orcid": "Search Results", - "submission.sections.describe.relationship-lookup.selection-tab.title.orcid": "Keresése eredmények", - -// "submission.sections.describe.relationship-lookup.selection-tab.title.orcidv2": "Search Results", - "submission.sections.describe.relationship-lookup.selection-tab.title.orcidv2": "Keresése eredmények", - -// "submission.sections.describe.relationship-lookup.selection-tab.title.lcname": "Search Results", - "submission.sections.describe.relationship-lookup.selection-tab.title.lcname": "Keresése eredmények", - -// "submission.sections.describe.relationship-lookup.selection-tab.title.pubmed": "Search Results", - "submission.sections.describe.relationship-lookup.selection-tab.title.pubmed": "Keresése eredmények", - -// "submission.sections.describe.relationship-lookup.selection-tab.title.arxiv": "Search Results", - "submission.sections.describe.relationship-lookup.selection-tab.title.arxiv": "Keresése eredmények", - -// "submission.sections.describe.relationship-lookup.name-variant.notification.content": "Would you like to save \"{{ value }}\" as a name variant for this person so you and others can reuse it for future submissions? If you don\'t you can still use it for this submission.", - "submission.sections.describe.relationship-lookup.name-variant.notification.content": "Óhajtja-e elmenteni \"{{ value }}\" névváltozatként ennek a személynek, hogy később ön is és mások is újrahasználhassák feltöltéshez? Amennyiben nem, még mindig használhatja ehhez a feltöltéshez.", - -// "submission.sections.describe.relationship-lookup.name-variant.notification.confirm": "Save a new name variant", - "submission.sections.describe.relationship-lookup.name-variant.notification.confirm": "Mentsen el új névvariánst", - -// "submission.sections.describe.relationship-lookup.name-variant.notification.decline": "Use only for this submission", - "submission.sections.describe.relationship-lookup.name-variant.notification.decline": "Használja csak ehhez a feltöltéshez", - -// "submission.sections.ccLicense.type": "License Type", - "submission.sections.ccLicense.type": "Licenc típus", - -// "submission.sections.ccLicense.select": "Select a license type…", - "submission.sections.ccLicense.select": "Válasszon ki egy licenc típust…", - -// "submission.sections.ccLicense.change": "Change your license type…", - "submission.sections.ccLicense.change": "Válassza ki a licenc típusát…", - -// "submission.sections.ccLicense.none": "No licenses available", - "submission.sections.ccLicense.none": "Nincs elérhető licenc", - -// "submission.sections.ccLicense.option.select": "Select an option…", - "submission.sections.ccLicense.option.select": "Válasszon ki valamit…", - -// "submission.sections.ccLicense.link": "You’ve selected the following license:", - "submission.sections.ccLicense.link": "A következő licencet választotta ki:", - -// "submission.sections.ccLicense.confirmation": "I grant the license above", - "submission.sections.ccLicense.confirmation": "Engedélyezem a lentebbi licencet", - -// "submission.sections.general.add-more": "Add more", - "submission.sections.general.add-more": "Több hozzáadása", - -// "submission.sections.general.collection": "Collection", - "submission.sections.general.collection": "Gyűjtemény", - -// "submission.sections.general.deposit_error_notice": "There was an issue when submitting the item, please try again later.", - "submission.sections.general.deposit_error_notice": "Tárgy feltöltésekor probléma keletkezett, kérjük próbálja újra később.", - -// "submission.sections.general.deposit_success_notice": "Submission deposited successfully.", - "submission.sections.general.deposit_success_notice": "Feltöltés sikeresen elraktározva.", - -// "submission.sections.general.discard_error_notice": "There was an issue when discarding the item, please try again later.", - "submission.sections.general.discard_error_notice": "Tárgy elvetésekor probléma keletkezett, kérjük próbálja újra később.", - -// "submission.sections.general.discard_success_notice": "Submission discarded successfully.", - "submission.sections.general.discard_success_notice": "Feltöltés sikeresen elvetve.", - -// "submission.sections.general.metadata-extracted": "New metadata have been extracted and added to the {{sectionId}} section.", - "submission.sections.general.metadata-extracted": "Új metaadat kivonva és hozzáadva a {{sectionId}} szakaszhoz.", - -// "submission.sections.general.metadata-extracted-new-section": "New {{sectionId}} section has been added to submission.", - "submission.sections.general.metadata-extracted-new-section": "Új {{sectionId}} szakasz lett hozzáadva a feltöltéshez.", - -// "submission.sections.general.no-collection": "No collection found", - "submission.sections.general.no-collection": "Nem található gyűjtemény", - -// "submission.sections.general.no-sections": "No options available", - "submission.sections.general.no-sections": "Nincs elérhető opció", - -// "submission.sections.general.save_error_notice": "There was an issue when saving the item, please try again later.", - "submission.sections.general.save_error_notice": "Tárgy elmentésekor probléma keletkezett, kérjük próbálja újra később.", - -// "submission.sections.general.save_success_notice": "Submission saved successfully.", - "submission.sections.general.save_success_notice": "Feltöltés sikeresen elmentve.", - -// "submission.sections.general.search-collection": "Search for a collection", - "submission.sections.general.search-collection": "Gyűjtemény keresése", - -// "submission.sections.general.sections_not_valid": "There are incomplete sections.", - "submission.sections.general.sections_not_valid": "Egyes szakaszok nem teljesek.", - - - -// "submission.sections.submit.progressbar.cclicense": "Creative commons license", - "submission.sections.submit.progressbar.cclicense": "Creative Commons licenc", - -// "submission.sections.submit.progressbar.describe.recycle": "Recycle", - "submission.sections.submit.progressbar.describe.recycle": "Reciklál", - -// "submission.sections.submit.progressbar.describe.stepcustom": "Describe", - "submission.sections.submit.progressbar.describe.stepcustom": "Leír", - -// "submission.sections.submit.progressbar.describe.stepone": "Describe", - "submission.sections.submit.progressbar.describe.stepone": "Leír", - -// "submission.sections.submit.progressbar.describe.steptwo": "Describe", - "submission.sections.submit.progressbar.describe.steptwo": "Leír", - -// "submission.sections.submit.progressbar.detect-duplicate": "Potential duplicates", - "submission.sections.submit.progressbar.detect-duplicate": "Potenciális duplázódás", - -// "submission.sections.submit.progressbar.license": "Deposit license", - "submission.sections.submit.progressbar.license": "Engedély raktározása", - -// "submission.sections.submit.progressbar.upload": "Upload files", - "submission.sections.submit.progressbar.upload": "Állományok feltöltése", - - - -// "submission.sections.upload.delete.confirm.cancel": "Cancel", - "submission.sections.upload.delete.confirm.cancel": "Mégse", - -// "submission.sections.upload.delete.confirm.info": "This operation can't be undone. Are you sure?", - "submission.sections.upload.delete.confirm.info": "Ezt a műveletet nem lehet visszaváltoztatni. Biztos benne?", - -// "submission.sections.upload.delete.confirm.submit": "Yes, I'm sure", - "submission.sections.upload.delete.confirm.submit": "Igen, biztos", - -// "submission.sections.upload.delete.confirm.title": "Delete bitstream", - "submission.sections.upload.delete.confirm.title": "Bitfolyam törlése", - -// "submission.sections.upload.delete.submit": "Delete", - "submission.sections.upload.delete.submit": "Törlés", - -// "submission.sections.upload.drop-message": "Drop files to attach them to the item", - "submission.sections.upload.drop-message": "Húzza ide az állományokat, hogy a tárgyhoz csatolja", - -// "submission.sections.upload.form.access-condition-label": "Access condition type", - "submission.sections.upload.form.access-condition-label": "Elérhetőségi feltétel típusa", - -// "submission.sections.upload.form.date-required": "Date is required.", - "submission.sections.upload.form.date-required": "Dátum kötelező.", - -// "submission.sections.upload.form.from-label": "Grant access from", - "submission.sections.upload.form.from-label": "Elérhetőség megadása innen", - -// "submission.sections.upload.form.from-placeholder": "From", - "submission.sections.upload.form.from-placeholder": "Innen", - -// "submission.sections.upload.form.group-label": "Group", - "submission.sections.upload.form.group-label": "Csoport", - -// "submission.sections.upload.form.group-required": "Group is required.", - "submission.sections.upload.form.group-required": "Csoport kötelező.", - -// "submission.sections.upload.form.until-label": "Grant access until", - "submission.sections.upload.form.until-label": "Elérhetőséget engedélyez eddig", - -// "submission.sections.upload.form.until-placeholder": "Until", - "submission.sections.upload.form.until-placeholder": "Eddig", - -// "submission.sections.upload.header.policy.default.nolist": "Uploaded files in the {{collectionName}} collection will be accessible according to the following group(s):", - "submission.sections.upload.header.policy.default.nolist": "A {{collectionName}} feltöltött állományok elérhetők lesznek a következő csoport(ok) szerint:", - -// "submission.sections.upload.header.policy.default.withlist": "Please note that uploaded files in the {{collectionName}} collection will be accessible, in addition to what is explicitly decided for the single file, with the following group(s):", - "submission.sections.upload.header.policy.default.withlist": "Kérjük, vegye figyelembe, hogy a {{collectionName}} gyűjteménybe feltöltött állományok elérhetők lesznek, azon kívül amit az egyedi állományokról kifejezetten eldöntött, a következő csoport(ok)ban:", - -// "submission.sections.upload.info": "Here you will find all the files currently in the item. You can update the file metadata and access conditions or upload additional files just dragging & dropping them everywhere in the page", - "submission.sections.upload.info": "Itt megtalálja a tárgyban lévő valamennyi állományt. Frissítheti az állomány metaadatait és hozzáférési feltételeit vagy feltölthet további állományokat azzal, hogy behúzza azokat bárhova az oldalra", - -// "submission.sections.upload.no-entry": "No", - "submission.sections.upload.no-entry": "Nem", - -// "submission.sections.upload.no-file-uploaded": "No file uploaded yet.", - "submission.sections.upload.no-file-uploaded": "Még nincs feltöltött állomány.", - -// "submission.sections.upload.save-metadata": "Save metadata", - "submission.sections.upload.save-metadata": "Metaadat elmentése", - -// "submission.sections.upload.undo": "Cancel", - "submission.sections.upload.undo": "Mégse", - -// "submission.sections.upload.upload-failed": "Upload failed", - "submission.sections.upload.upload-failed": "Feltöltés nem sikerült", - -// "submission.sections.upload.upload-successful": "Upload successful", - "submission.sections.upload.upload-successful": "Feltöltés sikerült", - - - -// "submission.submit.title": "Submission", - "submission.submit.title": "Beküldés", - - - -// "submission.workflow.generic.delete": "Delete", - "submission.workflow.generic.delete": "Töröl", - -// "submission.workflow.generic.delete-help": "If you would to discard this item, select \"Delete\". You will then be asked to confirm it.", - "submission.workflow.generic.delete-help": "Ha el óhajtja vetni a tárgyat, válassz a \"Töröl\" gombot. Majd döntését igazolja.", - -// "submission.workflow.generic.edit": "Edit", - "submission.workflow.generic.edit": "Szerkesztés", - -// "submission.workflow.generic.edit-help": "Select this option to change the item's metadata.", - "submission.workflow.generic.edit-help": "Válassza ezt, hogy módosítsa a tárgy metaadatait.", - -// "submission.workflow.generic.view": "View", - "submission.workflow.generic.view": "Megtekint", - -// "submission.workflow.generic.view-help": "Select this option to view the item's metadata.", - "submission.workflow.generic.view-help": "Válassza ezt, hogy megtekintse a tárgy metaadatait.", - - - -// "submission.workflow.tasks.claimed.approve": "Approve", - "submission.workflow.tasks.claimed.approve": "Jóváhagy", - -// "submission.workflow.tasks.claimed.approve_help": "If you have reviewed the item and it is suitable for inclusion in the collection, select \"Approve\".", - "submission.workflow.tasks.claimed.approve_help": "Ha ellenőrizte a tárgyat és gyűjteménybe foglalásra alkalmas, válassza a \"Jóváhagy\" gombot.", - -// "submission.workflow.tasks.claimed.edit": "Edit", - "submission.workflow.tasks.claimed.edit": "Szerkeszt", - -// "submission.workflow.tasks.claimed.edit_help": "Select this option to change the item's metadata.", - "submission.workflow.tasks.claimed.edit_help": "Válassza ezt, hogy módosítsa a tárgy metaadatait.", - -// "submission.workflow.tasks.claimed.reject.reason.info": "Please enter your reason for rejecting the submission into the box below, indicating whether the submitter may fix a problem and resubmit.", - "submission.workflow.tasks.claimed.reject.reason.info": "Kérjük az alábbi mezőben jelölje meg az okot amiért a feltöltést visszautasítja és pontosítsa, amennyiben a feltöltő megoldhat valamilyen gondot és újra feltöltheti.", - -// "submission.workflow.tasks.claimed.reject.reason.placeholder": "Describe the reason of reject", - "submission.workflow.tasks.claimed.reject.reason.placeholder": "Írja le az elutasítás okát", - -// "submission.workflow.tasks.claimed.reject.reason.submit": "Reject item", - "submission.workflow.tasks.claimed.reject.reason.submit": "Tárgy elutasítása", - -// "submission.workflow.tasks.claimed.reject.reason.title": "Reason", - "submission.workflow.tasks.claimed.reject.reason.title": "Ok", - -// "submission.workflow.tasks.claimed.reject.submit": "Reject", - "submission.workflow.tasks.claimed.reject.submit": "Elutasítás", - -// "submission.workflow.tasks.claimed.reject_help": "If you have reviewed the item and found it is not suitable for inclusion in the collection, select \"Reject\". You will then be asked to enter a message indicating why the item is unsuitable, and whether the submitter should change something and resubmit.", - "submission.workflow.tasks.claimed.reject_help": "Amennyiben ellenőrizte a tárgyat és úgy találta, hogy az nem alkalmas arra, hogy a gyűjteménybe foglalják, válassza az \"Elutasítás\" gombot. Utána szükséges lesz beírni egy üzenetet, amelyben megjelöli, miért nem alkalmas a tárgy és hogy a feltöltő változtathat-e valamit, hogy utána újra feltölthesse.", - -// "submission.workflow.tasks.claimed.return": "Return to pool", - "submission.workflow.tasks.claimed.return": "Vissza a készlethez", - -// "submission.workflow.tasks.claimed.return_help": "Return the task to the pool so that another user may perform the task.", - "submission.workflow.tasks.claimed.return_help": "Vigye a feladatot vissza a készletbe, hogy más felhasználó elvégezhesse azt.", - - - -// "submission.workflow.tasks.generic.error": "Error occurred during operation...", - "submission.workflow.tasks.generic.error": "Művelet közben hiba keletkezett...", - -// "submission.workflow.tasks.generic.processing": "Processing...", - "submission.workflow.tasks.generic.processing": "Feldolgozás...", - -// "submission.workflow.tasks.generic.submitter": "Submitter", - "submission.workflow.tasks.generic.submitter": "Feltöltő", - -// "submission.workflow.tasks.generic.success": "Operation successful", - "submission.workflow.tasks.generic.success": "Művelet sikeres", - - - -// "submission.workflow.tasks.pool.claim": "Claim", - "submission.workflow.tasks.pool.claim": "Követelés", - -// "submission.workflow.tasks.pool.claim_help": "Assign this task to yourself.", - "submission.workflow.tasks.pool.claim_help": "Ossza ki a feladatot önmagának.", - -// "submission.workflow.tasks.pool.hide-detail": "Hide detail", - "submission.workflow.tasks.pool.hide-detail": "Részletek elrejtése", - -// "submission.workflow.tasks.pool.show-detail": "Show detail", - "submission.workflow.tasks.pool.show-detail": "Részletek felfedése", - - - -// "title": "DSpace", - "title": "DSpace", - - - -// "vocabulary-treeview.header": "Hierarchical tree view", - "vocabulary-treeview.header": "Hierarchikus fa nézet", - -// "vocabulary-treeview.load-more": "Load more", - "vocabulary-treeview.load-more": "Továbbiak betöltése", - -// "vocabulary-treeview.search.form.reset": "Reset", - "vocabulary-treeview.search.form.reset": "Reset", - -// "vocabulary-treeview.search.form.search": "Search", - "vocabulary-treeview.search.form.search": "Keresés", - -// "vocabulary-treeview.search.no-result": "There were no items to show", - "vocabulary-treeview.search.no-result": "Nincsenek megjelenítendő elemek", - -// "vocabulary-treeview.tree.description.nsi": "The Norwegian Science Index", - "vocabulary-treeview.tree.description.nsi": "Norvégiai tudományos index", - -// "vocabulary-treeview.tree.description.srsc": "Research Subject Categories", - "vocabulary-treeview.tree.description.srsc": "Kutatási tárgy kategóriák", - - - -// "administrativeView.search.results.head": "Administrative Search", + + // "administrativeView.search.results.head": "Administrative Search", "administrativeView.search.results.head": "Adminisztratív keresés", - -// "menu.section.admin_search": "Admin Search", + + + + + // "admin.workflow.breadcrumbs": "Administer Workflow", + "admin.workflow.breadcrumbs": "Munkafolyamat irányítása", + + // "admin.workflow.title": "Administer Workflow", + "admin.workflow.title": "Munkafolyamat irányítása", + + // "admin.workflow.item.workflow": "Workflow", + "admin.workflow.item.workflow": "Munkafolyamat", + + // "admin.workflow.item.delete": "Delete", + "admin.workflow.item.delete": "Törlés", + + // "admin.workflow.item.send-back": "Send back", + "admin.workflow.item.send-back": "Visszaküldés", + + + + // "admin.metadata-import.breadcrumbs": "Import Metadata", + "admin.metadata-import.breadcrumbs": "Metaadat importálása", + + // "admin.metadata-import.title": "Import Metadata", + "admin.metadata-import.title": "Metaadat importálása", + + // "admin.metadata-import.page.header": "Import Metadata", + "admin.metadata-import.page.header": "Metaadat importálása", + + // "admin.metadata-import.page.help": "You can drop or browse CSV files that contain batch metadata operations on files here", + "admin.metadata-import.page.help": "Becsatolhat vagy kikereshet CSV fájlokat, amelyek az itt tárolt fájlokra vonatkozó műveleteket tárolnak", + + // "admin.metadata-import.page.dropMsg": "Drop a metadata CSV to import", + "admin.metadata-import.page.dropMsg": "Húzzon ide egy metaadat CSV-t az importáláshoz", + + // "admin.metadata-import.page.dropMsgReplace": "Drop to replace the metadata CSV to import", + "admin.metadata-import.page.dropMsgReplace": "Húzzon ide egy metaadat CSV-t az importálás felülírásához", + + // "admin.metadata-import.page.button.return": "Return", + "admin.metadata-import.page.button.return": "Vissza", + + // "admin.metadata-import.page.button.proceed": "Proceed", + "admin.metadata-import.page.button.proceed": "Folytassa", + + // "admin.metadata-import.page.error.addFile": "Select file first!", + "admin.metadata-import.page.error.addFile": "Előbb válassza ki a fájlt!", + + + + + // "auth.errors.invalid-user": "Invalid email address or password.", + "auth.errors.invalid-user": "Érvénytelen email cím, vagy jelszó.", + + // "auth.messages.expired": "Your session has expired. Please log in again.", + "auth.messages.expired": "Az idő lejárt. Kérjük, lépjen be újra.", + + + + // "bitstream.edit.bitstream": "Bitstream: ", + "bitstream.edit.bitstream": "Bitfolyam: ", + + // "bitstream.edit.form.description.hint": "Optionally, provide a brief description of the file, for example \"Main article\" or \"Experiment data readings\".", + "bitstream.edit.form.description.hint": "Választhatóan megadhatja az állomány rövid leírását, például \"Fő cikk\" vagy \"Kísérleti adatok\".", + + // "bitstream.edit.form.description.label": "Description", + "bitstream.edit.form.description.label": "Leírás", + + // "bitstream.edit.form.embargo.hint": "The first day from which access is allowed. This date cannot be modified on this form. To set an embargo date for a bitstream, go to the Item Status tab, click Authorizations..., create or edit the bitstream's READ policy, and set the Start Date as desired.", + "bitstream.edit.form.embargo.hint": "Ettől a naptól engedélyezett a hozzáférés. Ez a dátum ebben a formában nem módosítható. Ha a bitfolyamhoz embargó dátumot óhajt beállítani, akkor ide: Tárgy Státus fül, kattintson: Engedélyezés..., hozza létre, vagy szerkessze a bitfolyam OLVASÁS engedélyezését és állítsa be a Kezdő Dátum kívánsága szerint.", + + // "bitstream.edit.form.embargo.label": "Embargo until specific date", + "bitstream.edit.form.embargo.label": "Embargo egy megadott dátumig", + + // "bitstream.edit.form.fileName.hint": "Change the filename for the bitstream. Note that this will change the display bitstream URL, but old links will still resolve as long as the sequence ID does not change.", + "bitstream.edit.form.fileName.hint": "Változtassa meg a bitfolyam állomány nevét. Ez megváltoztatja a bitfolyam URL-t is, de a régi linkek meg mindig működni fognak, hacsak a szakasz azonosító meg nem változik.", + + // "bitstream.edit.form.fileName.label": "Filename", + "bitstream.edit.form.fileName.label": "Állománynév", + + // "bitstream.edit.form.newFormat.label": "Describe new format", + "bitstream.edit.form.newFormat.label": "Új formátum leírása", + + // "bitstream.edit.form.newFormat.hint": "The application you used to create the file, and the version number (for example, \"ACMESoft SuperApp version 1.5\").", + "bitstream.edit.form.newFormat.hint": "A program, amellyel az állományt létrehozta és a verzió száma (például, \"ACMESoft SuperApp version 1.5\").", + + // "bitstream.edit.form.primaryBitstream.label": "Primary bitstream", + "bitstream.edit.form.primaryBitstream.label": "Elsődleges bitfolyam", + + // "bitstream.edit.form.selectedFormat.hint": "If the format is not in the above list, select \"format not in list\" above and describe it under \"Describe new format\".", + "bitstream.edit.form.selectedFormat.hint": "Amennyiben a formátum nem található a fentebbi listán, válassza \"formátum nincs a listán\" feljebb majd írja le \"Új formátum leírása\".", + + // "bitstream.edit.form.selectedFormat.label": "Selected Format", + "bitstream.edit.form.selectedFormat.label": "Kiválasztott formátum", + + // "bitstream.edit.form.selectedFormat.unknown": "Format not in list", + "bitstream.edit.form.selectedFormat.unknown": "Formátum nincs a listán", + + // "bitstream.edit.notifications.error.format.title": "An error occurred saving the bitstream's format", + "bitstream.edit.notifications.error.format.title": "Bitfolyam formátum mentése közben hiba történt", + + // "bitstream.edit.notifications.saved.content": "Your changes to this bitstream were saved.", + "bitstream.edit.notifications.saved.content": "A bitfolyamban eszközölt változtatások elmentve.", + + // "bitstream.edit.notifications.saved.title": "Bitstream saved", + "bitstream.edit.notifications.saved.title": "Bitfolyam elmentve", + + // "bitstream.edit.title": "Edit bitstream", + "bitstream.edit.title": "Bitfolyam szerkesztése", + + + + // "browse.comcol.by.author": "By Author", + "browse.comcol.by.author": "Szerző szerint", + + // "browse.comcol.by.dateissued": "By Issue Date", + "browse.comcol.by.dateissued": "Megjelenés dátuma szerint", + + // "browse.comcol.by.subject": "By Subject", + "browse.comcol.by.subject": "Tárgy szerint", + + // "browse.comcol.by.title": "By Title", + "browse.comcol.by.title": "Cím szerint", + + // "browse.comcol.head": "Browse", + "browse.comcol.head": "Böngészés", + + // "browse.empty": "No items to show.", + "browse.empty": "Nincs elérhető tárgy.", + + // "browse.metadata.author": "Author", + "browse.metadata.author": "Szerző", + + // "browse.metadata.dateissued": "Issue Date", + "browse.metadata.dateissued": "Megjelenés dátuma", + + // "browse.metadata.subject": "Subject", + "browse.metadata.subject": "Tárgy", + + // "browse.metadata.title": "Title", + "browse.metadata.title": "Cím", + + // "browse.metadata.author.breadcrumbs": "Browse by Author", + "browse.metadata.author.breadcrumbs": "Böngészés szerző szerint", + + // "browse.metadata.dateissued.breadcrumbs": "Browse by Date", + "browse.metadata.dateissued.breadcrumbs": "Böngészés dátum szerint", + + // "browse.metadata.subject.breadcrumbs": "Browse by Subject", + "browse.metadata.subject.breadcrumbs": "Böngészés tárgy szerint", + + // "browse.metadata.title.breadcrumbs": "Browse by Title", + "browse.metadata.title.breadcrumbs": "Böngészés cím szerint", + + // "browse.startsWith.choose_start": "(Choose start)", + "browse.startsWith.choose_start": "(Válassza a kezdést)", + + // "browse.startsWith.choose_year": "(Choose year)", + "browse.startsWith.choose_year": "(Válassza az évet)", + + // "browse.startsWith.jump": "Jump to a point in the index:", + "browse.startsWith.jump": "Ugrás a tartalom egy pontjához:", + + // "browse.startsWith.months.april": "April", + "browse.startsWith.months.april": "Április", + + // "browse.startsWith.months.august": "August", + "browse.startsWith.months.august": "Augusztus", + + // "browse.startsWith.months.december": "December", + "browse.startsWith.months.december": "December", + + // "browse.startsWith.months.february": "February", + "browse.startsWith.months.february": "Február", + + // "browse.startsWith.months.january": "January", + "browse.startsWith.months.january": "Január", + + // "browse.startsWith.months.july": "July", + "browse.startsWith.months.july": "Július", + + // "browse.startsWith.months.june": "June", + "browse.startsWith.months.june": "Június", + + // "browse.startsWith.months.march": "March", + "browse.startsWith.months.march": "Március", + + // "browse.startsWith.months.may": "May", + "browse.startsWith.months.may": "Május", + + // "browse.startsWith.months.none": "(Choose month)", + "browse.startsWith.months.none": "(Válasszon hónapot)", + + // "browse.startsWith.months.november": "November", + "browse.startsWith.months.november": "November", + + // "browse.startsWith.months.october": "October", + "browse.startsWith.months.october": "Október", + + // "browse.startsWith.months.september": "September", + "browse.startsWith.months.september": "Szeptember", + + // "browse.startsWith.submit": "Go", + "browse.startsWith.submit": "Indít", + + // "browse.startsWith.type_date": "Or type in a date (year-month):", + "browse.startsWith.type_date": "Vagy írjon be egy dátumot (év-hónap):", + + // "browse.startsWith.type_text": "Or enter first few letters:", + "browse.startsWith.type_text": "Vagy írja be az első betűket:", + + // "browse.title": "Browsing {{ collection }} by {{ field }} {{ value }}", + "browse.title": "Böngészés {{ collection }} szerint {{ field }} {{ value }}", + + + // "chips.remove": "Remove chip", + "chips.remove": "Vegye ki a chipet", + + + + // "collection.create.head": "Create a Collection", + "collection.create.head": "Hozzon létre egy gyűjteményt", + + // "collection.create.notifications.success": "Successfully created the Collection", + "collection.create.notifications.success": "Guűjtemény sikeresen létrehozva", + + // "collection.create.sub-head": "Create a Collection for Community {{ parent }}", + "collection.create.sub-head": "Hozzon létre gyűjteményt a közösség számára {{ parent }}", + + // "collection.curate.header": "Curate Collection: {{collection}}", + "collection.curate.header": "Gyűjtemény gondozója: {{collection}}", + + // "collection.delete.cancel": "Cancel", + "collection.delete.cancel": "Mégse", + + // "collection.delete.confirm": "Confirm", + "collection.delete.confirm": "Mehet", + + // "collection.delete.head": "Delete Collection", + "collection.delete.head": "Gyűjtemény törlése", + + // "collection.delete.notification.fail": "Collection could not be deleted", + "collection.delete.notification.fail": "Gyűjteményt nem sikerült törölni", + + // "collection.delete.notification.success": "Successfully deleted collection", + "collection.delete.notification.success": "Gyűjtemény törölve", + + // "collection.delete.text": "Are you sure you want to delete collection \"{{ dso }}\"", + "collection.delete.text": "Biztos benne, hogy törölni szeretné a gyűjteményt \"{{ dso }}\"", + + + + // "collection.edit.delete": "Delete this collection", + "collection.edit.delete": "Törölje ezt a gyűjteményt", + + // "collection.edit.head": "Edit Collection", + "collection.edit.head": "Gyűjtemény szerkesztése", + + // "collection.edit.breadcrumbs": "Edit Collection", + "collection.edit.breadcrumbs": "Gyűjtemény szerkesztése", + + + + // "collection.edit.tabs.mapper.head": "Item Mapper", + // TODO New key - Add a translation + "collection.edit.tabs.mapper.head": "Item Mapper", + + // "collection.edit.tabs.item-mapper.title": "Collection Edit - Item Mapper", + // TODO New key - Add a translation + "collection.edit.tabs.item-mapper.title": "Collection Edit - Item Mapper", + + // "collection.edit.item-mapper.cancel": "Cancel", + "collection.edit.item-mapper.cancel": "Mégse", + + // "collection.edit.item-mapper.collection": "Collection: \"{{name}}\"", + "collection.edit.item-mapper.collection": "Gyűjtemény: \"{{name}}\"", + + // "collection.edit.item-mapper.confirm": "Map selected items", + "collection.edit.item-mapper.confirm": "Térképezze a kiválasztott tárgyakat", + + // "collection.edit.item-mapper.description": "This is the item mapper tool that allows collection administrators to map items from other collections into this collection. You can search for items from other collections and map them, or browse the list of currently mapped items.", + "collection.edit.item-mapper.description": "Ez a tárgytérképező eszköz, amellyel a gyűjtemények kezelői térképezhetnek más gyűjteményekből tárgyakat. Kereshet más gyűjteményekből tárgyakat és térképezheti azokat, vagy böngészheti a jelenleg térképezett tárgyakat.", + + // "collection.edit.item-mapper.head": "Item Mapper - Map Items from Other Collections", + "collection.edit.item-mapper.head": "Tárgytérképező - Térképezzen más gyűjteményekből tárgyakat", + + // "collection.edit.item-mapper.no-search": "Please enter a query to search", + "collection.edit.item-mapper.no-search": "Írja be a keresőszót", + + // "collection.edit.item-mapper.notifications.map.error.content": "Errors occurred for mapping of {{amount}} items.", + "collection.edit.item-mapper.notifications.map.error.content": "A {{amount}} tárgyak térképezésekor hiba történt.", + + // "collection.edit.item-mapper.notifications.map.error.head": "Mapping errors", + "collection.edit.item-mapper.notifications.map.error.head": "Térképezési hibák", + + // "collection.edit.item-mapper.notifications.map.success.content": "Successfully mapped {{amount}} items.", + "collection.edit.item-mapper.notifications.map.success.content": "A {{amount}} tárgyak térképezése sikerült.", + + // "collection.edit.item-mapper.notifications.map.success.head": "Mapping completed", + "collection.edit.item-mapper.notifications.map.success.head": "Térképezés befejezve", + + // "collection.edit.item-mapper.notifications.unmap.error.content": "Errors occurred for removing the mappings of {{amount}} items.", + "collection.edit.item-mapper.notifications.unmap.error.content": "A {{amount}} tárgyak térképezésének törlésekor hiba történt.", + + // "collection.edit.item-mapper.notifications.unmap.error.head": "Remove mapping errors", + "collection.edit.item-mapper.notifications.unmap.error.head": "Térképezési hibák törlése", + + // "collection.edit.item-mapper.notifications.unmap.success.content": "Successfully removed the mappings of {{amount}} items.", + "collection.edit.item-mapper.notifications.unmap.success.content": "A {{amount}} tárgyak térképezése sikeresen törölve.", + + // "collection.edit.item-mapper.notifications.unmap.success.head": "Remove mapping completed", + "collection.edit.item-mapper.notifications.unmap.success.head": "Térképezés törlése befejeződött", + + // "collection.edit.item-mapper.remove": "Remove selected item mappings", + "collection.edit.item-mapper.remove": "Kiválasztott térgyak térképezésének törlése", + + // "collection.edit.item-mapper.tabs.browse": "Browse mapped items", + "collection.edit.item-mapper.tabs.browse": "Térképezett tárgyak böngészése", + + // "collection.edit.item-mapper.tabs.map": "Map new items", + "collection.edit.item-mapper.tabs.map": "Új tárgyak térképezése", + + + + // "collection.edit.logo.label": "Collection logo", + "collection.edit.logo.label": "Gyűjtemény logo", + + // "collection.edit.logo.notifications.add.error": "Uploading Collection logo failed. Please verify the content before retrying.", + "collection.edit.logo.notifications.add.error": "Gyűjtemény logo feltöltése nem sikerült. Kérjük, ellenőrizze a tartalmat, mielőtt újra próbálkozna.", + + // "collection.edit.logo.notifications.add.success": "Upload Collection logo successful.", + "collection.edit.logo.notifications.add.success": "Gyűjtemény logo feltöltése sikerült.", + + // "collection.edit.logo.notifications.delete.success.title": "Logo deleted", + "collection.edit.logo.notifications.delete.success.title": "Logo törölve", + + // "collection.edit.logo.notifications.delete.success.content": "Successfully deleted the collection's logo", + "collection.edit.logo.notifications.delete.success.content": "Gyűjteménylogo sikeresen törölve", + + // "collection.edit.logo.notifications.delete.error.title": "Error deleting logo", + "collection.edit.logo.notifications.delete.error.title": "Logo törlése közben hiba történt", + + // "collection.edit.logo.upload": "Drop a Collection Logo to upload", + "collection.edit.logo.upload": "Feltöltéshez húzza ide a gyűjtemény Logót", + + + + // "collection.edit.notifications.success": "Successfully edited the Collection", + "collection.edit.notifications.success": "Gyűjtemény szerkesztése sikerült", + + // "collection.edit.return": "Return", + "collection.edit.return": "Vissza", + + + + // "collection.edit.tabs.curate.head": "Curate", + "collection.edit.tabs.curate.head": "Gondozás", + + // "collection.edit.tabs.curate.title": "Collection Edit - Curate", + "collection.edit.tabs.curate.title": "Gyűjtemény szerkesztés - gondozás", + + // "collection.edit.tabs.authorizations.head": "Authorizations", + // TODO New key - Add a translation + "collection.edit.tabs.authorizations.head": "Authorizations", + + // "collection.edit.tabs.authorizations.title": "Collection Edit - Authorizations", + // TODO New key - Add a translation + "collection.edit.tabs.authorizations.title": "Collection Edit - Authorizations", + + // "collection.edit.tabs.metadata.head": "Edit Metadata", + "collection.edit.tabs.metadata.head": "Metaadat szerkesztés", + + // "collection.edit.tabs.metadata.title": "Collection Edit - Metadata", + "collection.edit.tabs.metadata.title": "Gyűjtemény szerkesztés - Metaadat", + + // "collection.edit.tabs.roles.head": "Assign Roles", + "collection.edit.tabs.roles.head": "Jogok hozzárendelése", + + // "collection.edit.tabs.roles.title": "Collection Edit - Roles", + "collection.edit.tabs.roles.title": "Gyűjtemény szerkesztése - Jogok", + + // "collection.edit.tabs.source.external": "This collection harvests its content from an external source", + "collection.edit.tabs.source.external": "Ez a gyűjtemény külső forrásból gyűjti be tartalmát", + + // "collection.edit.tabs.source.form.errors.oaiSource.required": "You must provide a set id of the target collection.", + "collection.edit.tabs.source.form.errors.oaiSource.required": "Beállított azonosítót kell megadnia a célgyűjteményhez.", + + // "collection.edit.tabs.source.form.harvestType": "Content being harvested", + "collection.edit.tabs.source.form.harvestType": "Tartalom begyűjtése folyamatban", + + // "collection.edit.tabs.source.form.head": "Configure an external source", + "collection.edit.tabs.source.form.head": "Külső forrás beállítása", + + // "collection.edit.tabs.source.form.metadataConfigId": "Metadata Format", + "collection.edit.tabs.source.form.metadataConfigId": "Metaadat formátum", + + // "collection.edit.tabs.source.form.oaiSetId": "OAI specific set id", + "collection.edit.tabs.source.form.oaiSetId": "OAI sajátos beállított azonosító", + + // "collection.edit.tabs.source.form.oaiSource": "OAI Provider", + "collection.edit.tabs.source.form.oaiSource": "OAI szolgáltató", + + // "collection.edit.tabs.source.form.options.harvestType.METADATA_AND_BITSTREAMS": "Harvest metadata and bitstreams (requires ORE support)", + "collection.edit.tabs.source.form.options.harvestType.METADATA_AND_BITSTREAMS": "Metaadat és bitfolyam begyűjtése (ORE támogatás szükséges)", + + // "collection.edit.tabs.source.form.options.harvestType.METADATA_AND_REF": "Harvest metadata and references to bitstreams (requires ORE support)", + "collection.edit.tabs.source.form.options.harvestType.METADATA_AND_REF": "metaadatok és referenciák begyűjtése bitfolyamhoz (ORE támogatás szükséges)", + + // "collection.edit.tabs.source.form.options.harvestType.METADATA_ONLY": "Harvest metadata only", + "collection.edit.tabs.source.form.options.harvestType.METADATA_ONLY": "Csupán metaadatok begyűjtése", + + // "collection.edit.tabs.source.head": "Content Source", + "collection.edit.tabs.source.head": "Tartalom forrása", + + // "collection.edit.tabs.source.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", + "collection.edit.tabs.source.notifications.discarded.content": "Változtatások elvetve. Visszaállításukhoz kattintson a 'Visszaállítás' gombra", + + // "collection.edit.tabs.source.notifications.discarded.title": "Changed discarded", + "collection.edit.tabs.source.notifications.discarded.title": "Változtatások elvetve", + + // "collection.edit.tabs.source.notifications.invalid.content": "Your changes were not saved. Please make sure all fields are valid before you save.", + "collection.edit.tabs.source.notifications.invalid.content": "Változtatások nincsenek mentve. Kérjük, ellenőrizze, hogy valamennyi mező érvényes, mielőtt mentene.", + + // "collection.edit.tabs.source.notifications.invalid.title": "Metadata invalid", + "collection.edit.tabs.source.notifications.invalid.title": "Metaadat érvénytelen", + + // "collection.edit.tabs.source.notifications.saved.content": "Your changes to this collection's content source were saved.", + "collection.edit.tabs.source.notifications.saved.content": "A gyűjtemény tartalmának forrásával kapcsolatos változtatásai elmentve.", + + // "collection.edit.tabs.source.notifications.saved.title": "Content Source saved", + "collection.edit.tabs.source.notifications.saved.title": "Tartalom forrása elmentve", + + // "collection.edit.tabs.source.title": "Collection Edit - Content Source", + "collection.edit.tabs.source.title": "Gyűjtemény szerkesztés - tartalom forrása", + + + + // "collection.edit.template.add-button": "Add", + "collection.edit.template.add-button": "Hozzáad", + + // "collection.edit.template.breadcrumbs": "Item template", + "collection.edit.template.breadcrumbs": "Elemsablon", + + // "collection.edit.template.cancel": "Cancel", + "collection.edit.template.cancel": "Mégsem", + + // "collection.edit.template.delete-button": "Delete", + "collection.edit.template.delete-button": "Töröl", + + // "collection.edit.template.edit-button": "Edit", + "collection.edit.template.edit-button": "Szerkeszt", + + // "collection.edit.template.head": "Edit Template Item for Collection \"{{ collection }}\"", + "collection.edit.template.head": "Gyűjtemény elemsablon szerkesztése: \"{{ collection }}\"", + + // "collection.edit.template.label": "Template item", + "collection.edit.template.label": "Elemsablon", + + // "collection.edit.template.notifications.delete.error": "Failed to delete the item template", + "collection.edit.template.notifications.delete.error": "Nem sikerült törölni az elemsablont", + + // "collection.edit.template.notifications.delete.success": "Successfully deleted the item template", + "collection.edit.template.notifications.delete.success": "Sikeresen töröltük az elemsablont", + + // "collection.edit.template.title": "Edit Template Item", + "collection.edit.template.title": "Elemsablon szerkesztése", + + + + // "collection.form.abstract": "Short Description", + "collection.form.abstract": "Rövid leírás", + + // "collection.form.description": "Introductory text (HTML)", + "collection.form.description": "Bevezető szöveg (HTML)", + + // "collection.form.errors.title.required": "Please enter a collection name", + "collection.form.errors.title.required": "Adja meg a gyűjtemény nevét", + + // "collection.form.license": "License", + "collection.form.license": "Engedély", + + // "collection.form.provenance": "Provenance", + "collection.form.provenance": "Eredet", + + // "collection.form.rights": "Copyright text (HTML)", + "collection.form.rights": "Szerzői jog szövege (HTML)", + + // "collection.form.tableofcontents": "News (HTML)", + "collection.form.tableofcontents": "Hírek (HTML)", + + // "collection.form.title": "Name", + "collection.form.title": "Név", + + + + // "collection.listelement.badge": "Collection", + "collection.listelement.badge": "Gyűjtemény", + + + + // "collection.page.browse.recent.head": "Recent Submissions", + "collection.page.browse.recent.head": "Friss feltöltések", + + // "collection.page.browse.recent.empty": "No items to show", + "collection.page.browse.recent.empty": "Nincs tárgy", + + // "collection.page.edit": "Edit this collection", + "collection.page.edit": "Gyűjtemény szerkesztése", + + // "collection.page.handle": "Permanent URI for this collection", + "collection.page.handle": "Állandó URI ehhez a gyűjteményhez", + + // "collection.page.license": "License", + "collection.page.license": "Engedély", + + // "collection.page.news": "News", + "collection.page.news": "Hírek", + + + + // "collection.select.confirm": "Confirm selected", + "collection.select.confirm": "Kiválasztás igazolása", + + // "collection.select.empty": "No collections to show", + "collection.select.empty": "Nincs gyűjtemény", + + // "collection.select.table.title": "Title", + "collection.select.table.title": "Cím", + + + + // "collection.source.update.notifications.error.content": "The provided settings have been tested and didn't work.", + "collection.source.update.notifications.error.content": "A megadott beállításokat ellenőriztük és nem működnek.", + + // "collection.source.update.notifications.error.title": "Server Error", + "collection.source.update.notifications.error.title": "Szerverhiba", + + + + // "communityList.tabTitle": "DSpace - Community List", + "communityList.tabTitle": "DSpace - Közösség lista", + + // "communityList.title": "List of Communities", + "communityList.title": "Közösségek listája", + + // "communityList.showMore": "Show More", + "communityList.showMore": "Mutasson többet", + + + + // "community.create.head": "Create a Community", + "community.create.head": "Hozzon létre egy közösséget", + + // "community.create.notifications.success": "Successfully created the Community", + "community.create.notifications.success": "Közösség sikeresen létrehozva", + + // "community.create.sub-head": "Create a Sub-Community for Community {{ parent }}", + "community.create.sub-head": "Hozzon létre egy alközösséget a közösségben {{ parent }}", + + // "community.curate.header": "Curate Community: {{community}}", + "community.curate.header": "Közösség gondozása: {{community}}", + + // "community.delete.cancel": "Cancel", + "community.delete.cancel": "Mégse", + + // "community.delete.confirm": "Confirm", + "community.delete.confirm": "Igazolja", + + // "community.delete.head": "Delete Community", + "community.delete.head": "Közösség törlése", + + // "community.delete.notification.fail": "Community could not be deleted", + "community.delete.notification.fail": "Közösség törlése nem sikerült", + + // "community.delete.notification.success": "Successfully deleted community", + "community.delete.notification.success": "SKözösség sikeresen törölve", + + // "community.delete.text": "Are you sure you want to delete community \"{{ dso }}\"", + "community.delete.text": "Biztos benne, hogy törölni szeretné a közösséget \"{{ dso }}\"", + + // "community.edit.delete": "Delete this community", + "community.edit.delete": "Törölje ezt a közösséget", + + // "community.edit.head": "Edit Community", + "community.edit.head": "Közösség szerkesztése", + + // "community.edit.breadcrumbs": "Edit Community", + "community.edit.breadcrumbs": "Közösség szerkesztése", + + + // "community.edit.logo.label": "Community logo", + "community.edit.logo.label": "Közösségi logo", + + // "community.edit.logo.notifications.add.error": "Uploading Community logo failed. Please verify the content before retrying.", + "community.edit.logo.notifications.add.error": "Közösségi logo feltöltése nem sikerült Kérjük, ellenőrizze a tartalmat, mielőtt újra próbálkozna.", + + // "community.edit.logo.notifications.add.success": "Upload Community logo successful.", + "community.edit.logo.notifications.add.success": "Közösségi logo feltöltve.", + + // "community.edit.logo.notifications.delete.success.title": "Logo deleted", + "community.edit.logo.notifications.delete.success.title": "Logo törölve", + + // "community.edit.logo.notifications.delete.success.content": "Successfully deleted the community's logo", + "community.edit.logo.notifications.delete.success.content": "A közösség logóját sikeresen törölte", + + // "community.edit.logo.notifications.delete.error.title": "Error deleting logo", + "community.edit.logo.notifications.delete.error.title": "Logo törlése közben hiba történt", + + // "community.edit.logo.upload": "Drop a Community Logo to upload", + "community.edit.logo.upload": "Feltöltéshez húzza ide a közösségi logót", + + + + // "community.edit.notifications.success": "Successfully edited the Community", + "community.edit.notifications.success": "Közösség szerkesztése sikerült", + + // "community.edit.notifications.unauthorized": "You do not have privileges to make this change", + "community.edit.notifications.unauthorized": "Nincs meg a szükséges jogosultsága a változtatáshoz", + + // "community.edit.notifications.error": "An error occured while editing the Community", + "community.edit.notifications.error": "Hiba történt a közösség szerkesztésekor", + + // "community.edit.return": "Return", + "community.edit.return": "Vissza", + + + + // "community.edit.tabs.curate.head": "Curate", + "community.edit.tabs.curate.head": "Gondozás", + + // "community.edit.tabs.curate.title": "Community Edit - Curate", + "community.edit.tabs.curate.title": "Közösség szerkesztés - Gondozás", + + // "community.edit.tabs.metadata.head": "Edit Metadata", + "community.edit.tabs.metadata.head": "Metaadat szerkesztés", + + // "community.edit.tabs.metadata.title": "Community Edit - Metadata", + "community.edit.tabs.metadata.title": "Közösség szerkesztése - Metaadat", + + // "community.edit.tabs.roles.head": "Assign Roles", + "community.edit.tabs.roles.head": "Feladatok kijelölése", + + // "community.edit.tabs.roles.title": "Community Edit - Roles", + "community.edit.tabs.roles.title": "Közösség szerkesztése - Feladatok", + + // "community.edit.tabs.authorizations.head": "Authorizations", + "community.edit.tabs.authorizations.head": "Jogosultásgok", + + // "community.edit.tabs.authorizations.title": "Community Edit - Authorizations", + "community.edit.tabs.authorizations.title": "Közösségi szerkesztés - Jogosultásgok", + + + + // "community.listelement.badge": "Community", + "community.listelement.badge": "Közösség", + + + + // "comcol-role.edit.no-group": "None", + "comcol-role.edit.no-group": "Egyik sem", + + // "comcol-role.edit.create": "Create", + "comcol-role.edit.create": "Hozzon létre", + + // "comcol-role.edit.restrict": "Restrict", + "comcol-role.edit.restrict": "Korlátozzon", + + // "comcol-role.edit.delete": "Delete", + "comcol-role.edit.delete": "Törölje", + + + // "comcol-role.edit.community-admin.name": "Administrators", + "comcol-role.edit.community-admin.name": "Adminisztrátorok", + + // "comcol-role.edit.collection-admin.name": "Administrators", + "comcol-role.edit.collection-admin.name": "Adminisztrátorok", + + + // "comcol-role.edit.community-admin.description": "Community administrators can create sub-communities or collections, and manage or assign management for those sub-communities or collections. In addition, they decide who can submit items to any sub-collections, edit item metadata (after submission), and add (map) existing items from other collections (subject to authorization).", + "comcol-role.edit.community-admin.description": "A közösségek adminisztrátorai létrehozhatnak alközösségeket vagy gyűjteményeket, irányíthatják azokat, vagy kijelölhetik azok irányítását. Továbbá ők döntik el ki tölthet fel tárgyakat bármely algyűjteménybe, ki szerkesztheti a tárgyak metaadatait (feltöltést követően) és ki adhat hozzá (térképezhet) létező tárgyakat más gyűjteményekből (felhatalmazás szükséges).", + + // "comcol-role.edit.collection-admin.description": "Collection administrators decide who can submit items to the collection, edit item metadata (after submission), and add (map) existing items from other collections to this collection (subject to authorization for that collection).", + "comcol-role.edit.collection-admin.description": "A közösségek adminisztrátorai öntik el ki tölthet fel tárgyakat bármely algyűjteménybe, ki szerkesztheti a tárgyak metaadatait (feltöltést követően) és ki adhat hozzá (térképezhet) létező tárgyakat más gyűjteményekből (felhatalmazás szükséges).", + + + // "comcol-role.edit.submitters.name": "Submitters", + "comcol-role.edit.submitters.name": "Feltöltők", + + // "comcol-role.edit.submitters.description": "The E-People and Groups that have permission to submit new items to this collection.", + "comcol-role.edit.submitters.description": "E-People és csoportok akik feltölthetnek új tárgyakat ebbe a gyűjteménybe.", + + + // "comcol-role.edit.item_read.name": "Default item read access", + "comcol-role.edit.item_read.name": "Alapbeállított tárgy olvasási hozzáférés", + + // "comcol-role.edit.item_read.description": "E-People and Groups that can read new items submitted to this collection. Changes to this role are not retroactive. Existing items in the system will still be viewable by those who had read access at the time of their addition.", + "comcol-role.edit.item_read.description": "Azon E-People és csoportok, amelyek olvashatják az ebbe a gyűjteménybe feltöltött tárgyakat. Az ebben a tekintetben végrehajtott változtatások nem visszamenő érvényűek. A meglévő tárgyak olvashatók maradnak mindazok számára, akik a feltöltés idején rendelkeztek ezzel a hozzáféréssel.", + + // "comcol-role.edit.item_read.anonymous-group": "Default read for incoming items is currently set to Anonymous.", + "comcol-role.edit.item_read.anonymous-group": "Beérkező tárgyak olvasási alapbeállítása jelenleg Névtelen.", + + + // "comcol-role.edit.bitstream_read.name": "Default bitstream read access", + "comcol-role.edit.bitstream_read.name": "Bitfolyam olvasási hozzáférés alapbeállítás", + + // "comcol-role.edit.bitstream_read.description": "Community administrators can create sub-communities or collections, and manage or assign management for those sub-communities or collections. In addition, they decide who can submit items to any sub-collections, edit item metadata (after submission), and add (map) existing items from other collections (subject to authorization).", + "comcol-role.edit.bitstream_read.description": "A közösségek adminisztrátorai létrehozhatnak alközösségeket vagy gyűjteményeket, irányíthatják azokat, vagy kijelölhetik azok irányítását. Továbbá ők döntik el ki tölthet fel tárgyakat bármely algyűjteménybe, ki szerkesztheti a tárgyak metaadatait (feltöltést követően) és ki adhat hozzá (térképezhet) létező tárgyakat más gyűjteményekből (felhatalmazás szükséges).", + + // "comcol-role.edit.bitstream_read.anonymous-group": "Default read for incoming bitstreams is currently set to Anonymous.", + "comcol-role.edit.bitstream_read.anonymous-group": "Beérkező bitfolyamok olvasási alapbeállítása jelenleg Névtelen.", + + + // "comcol-role.edit.editor.name": "Editors", + "comcol-role.edit.editor.name": "Szerkesztők", + + // "comcol-role.edit.editor.description": "Editors are able to edit the metadata of incoming submissions, and then accept or reject them.", + "comcol-role.edit.editor.description": "Szerkesztők szerkeszthetik a beérkező feltöltések metaadatait és elfogadhatják, vagy elutasíthatják azokat.", + + + // "comcol-role.edit.finaleditor.name": "Final editors", + "comcol-role.edit.finaleditor.name": "Végső szerkesztők", + + // "comcol-role.edit.finaleditor.description": "Final editors are able to edit the metadata of incoming submissions, but will not be able to reject them.", + "comcol-role.edit.finaleditor.description": "Végső szerkesztők szerkeszthetik a beérkező feltöltések metaadatait de nem utasíthatják el azokat.", + + + // "comcol-role.edit.reviewer.name": "Reviewers", + "comcol-role.edit.reviewer.name": "Lektorálók", + + // "comcol-role.edit.reviewer.description": "Reviewers are able to accept or reject incoming submissions. However, they are not able to edit the submission's metadata.", + "comcol-role.edit.reviewer.description": "A lektorálók elfogadhatják, vagy elutasíthatják a beérkező feltöltéseket, de nem szerkeszthetik azok metaadatait.", + + + + // "community.form.abstract": "Short Description", + "community.form.abstract": "Rövid leírás", + + // "community.form.description": "Introductory text (HTML)", + "community.form.description": "Bevezető szöveg (HTML)", + + // "community.form.errors.title.required": "Please enter a community name", + "community.form.errors.title.required": "Kérjük adjon meg egy közösség nevet", + + // "community.form.rights": "Copyright text (HTML)", + "community.form.rights": "Szerzői jog szövege (HTML)", + + // "community.form.tableofcontents": "News (HTML)", + "community.form.tableofcontents": "Hírek (HTML)", + + // "community.form.title": "Name", + "community.form.title": "Név", + + // "community.page.edit": "Edit this community", + "community.page.edit": "Közösség szerkesztése", + + // "community.page.handle": "Permanent URI for this community", + "community.page.handle": "Állandó URI ehhez a közösséghez", + + // "community.page.license": "License", + "community.page.license": "Engedély", + + // "community.page.news": "News", + "community.page.news": "Hírek", + + // "community.all-lists.head": "Subcommunities and Collections", + "community.all-lists.head": "Alközösségek és gyűjtemények", + + // "community.sub-collection-list.head": "Collections of this Community", + "community.sub-collection-list.head": "Ennek a közösségnek a gyűjteményei", + + // "community.sub-community-list.head": "Communities of this Community", + "community.sub-community-list.head": "Ennek a közösségnek a közösségei", + + + + // "cookies.consent.accept-all": "Accept all", + "cookies.consent.accept-all": "Mind elfogad", + + // "cookies.consent.accept-selected": "Accept selected", + "cookies.consent.accept-selected": "Kiválasztottat elfogad", + + // "cookies.consent.app.opt-out.description": "This app is loaded by default (but you can opt out)", + "cookies.consent.app.opt-out.description": "Ez az app alaból betöltődik (de letilthatja)", + + // "cookies.consent.app.opt-out.title": "(opt-out)", + "cookies.consent.app.opt-out.title": "(letilt)", + + // "cookies.consent.app.purpose": "purpose", + "cookies.consent.app.purpose": "cél", + + // "cookies.consent.app.required.description": "This application is always required", + "cookies.consent.app.required.description": "Ez egy szükséges alkalmazás", + + // "cookies.consent.app.required.title": "(always required)", + "cookies.consent.app.required.title": "(mindig szükséges)", + + // "cookies.consent.update": "There were changes since your last visit, please update your consent.", + "cookies.consent.update": "Változások történtek az utolsó látogatása óta, frissítse a beleegyezését.", + + // "cookies.consent.close": "Close", + "cookies.consent.close": "Bezár", + + // "cookies.consent.decline": "Decline", + "cookies.consent.decline": "Elutasít", + + // "cookies.consent.content-notice.description": "We collect and process your personal information for the following purposes: Authentication, Preferences, Acknowledgement and Statistics.
To learn more, please read our {privacyPolicy}.", + "cookies.consent.content-notice.description": "Mi gyűjtjük és feldolgozzuk a személyes adatait a következő célból: Hitelesítés, Beállítások, Elismerés és Statisztikák.
Részletekért olvassa el: {privacyPolicy}.", + + // "cookies.consent.content-notice.learnMore": "Customize", + "cookies.consent.content-notice.learnMore": "Személyreszab", + + // "cookies.consent.content-modal.description": "Here you can see and customize the information that we collect about you.", + "cookies.consent.content-modal.description": "Itt láthatja és személyre szabhatja az Önről gyűjtött adatokat.", + + // "cookies.consent.content-modal.privacy-policy.name": "privacy policy", + "cookies.consent.content-modal.privacy-policy.name": "Adatvédelmi irányelvek", + + // "cookies.consent.content-modal.privacy-policy.text": "To learn more, please read our {privacyPolicy}.", + "cookies.consent.content-modal.privacy-policy.text": "Továbbiakért olvassa el: {privacyPolicy}.", + + // "cookies.consent.content-modal.title": "Information that we collect", + "cookies.consent.content-modal.title": "Gyűjtött adatok", + + + + // "cookies.consent.app.title.authentication": "Authentication", + "cookies.consent.app.title.authentication": "Hitelesítés", + + // "cookies.consent.app.description.authentication": "Required for signing you in", + "cookies.consent.app.description.authentication": "Szükséges a beléptetéséhez", + + + // "cookies.consent.app.title.preferences": "Preferences", + "cookies.consent.app.title.preferences": "Beállítások", + + // "cookies.consent.app.description.preferences": "Required for saving your preferences", + "cookies.consent.app.description.preferences": "Szükséges a beállítások mentéséhez", + + + + // "cookies.consent.app.title.acknowledgement": "Acknowledgement", + "cookies.consent.app.title.acknowledgement": "Elismerés", + + // "cookies.consent.app.description.acknowledgement": "Required for saving your acknowledgements and consents", + "cookies.consent.app.description.acknowledgement": "Szükséges az elismerésének és beleegyezésének a mentéséhez", + + + + // "cookies.consent.app.title.google-analytics": "Google Analytics", + "cookies.consent.app.title.google-analytics": "Google Analytics", + + // "cookies.consent.app.description.google-analytics": "Allows us to track statistical data", + "cookies.consent.app.description.google-analytics": "Engedélyezi statisztikai adatok gyűjtését", + + + + // "cookies.consent.purpose.functional": "Functional", + "cookies.consent.purpose.functional": "Funkcionális", + + // "cookies.consent.purpose.statistical": "Statistical", + "cookies.consent.purpose.statistical": "Statisztikai", + + + // "curation-task.task.checklinks.label": "Check Links in Metadata", + "curation-task.task.checklinks.label": "Hivatkozások ellenőrzése a metaadatokban", + + // "curation-task.task.noop.label": "NOOP", + "curation-task.task.noop.label": "NOOP", + + // "curation-task.task.profileformats.label": "Profile Bitstream Formats", + "curation-task.task.profileformats.label": "A profil bitfolyam formátumai", + + // "curation-task.task.requiredmetadata.label": "Check for Required Metadata", + "curation-task.task.requiredmetadata.label": "Szükséges metaadatok ellenőrzése", + + // "curation-task.task.translate.label": "Microsoft Translator", + "curation-task.task.translate.label": "Microsoft fordító", + + // "curation-task.task.vscan.label": "Virus Scan", + "curation-task.task.vscan.label": "Virus ellenőrzés", + + + + // "curation.form.task-select.label": "Task:", + "curation.form.task-select.label": "Feladat:", + + // "curation.form.submit": "Start", + "curation.form.submit": "Start", + + // "curation.form.submit.success.head": "The curation task has been started successfully", + "curation.form.submit.success.head": "A kurátor feladat siskersen elkezdődött", + + // "curation.form.submit.success.content": "You will be redirected to the corresponding process page.", + "curation.form.submit.success.content": "Át lesz irányítva a megfelelő folyamatoldalra.", + + // "curation.form.submit.error.head": "Running the curation task failed", + "curation.form.submit.error.head": "A kurátor feladat futtatása sikertelen", + + // "curation.form.submit.error.content": "An error occured when trying to start the curation task.", + "curation.form.submit.error.content": "Hiba történt a kurátor feladat elindításakor.", + + // "curation.form.handle.label": "Handle:", + "curation.form.handle.label": "Handle:", + + // "curation.form.handle.hint": "Hint: Enter [your-handle-prefix]/0 to run a task across entire site (not all tasks may support this capability)", + "curation.form.handle.hint": "Hint: Írja be a(z) [your-handle-prefix]/0 hogy futtasson egy feladatok az egész oldalon (nem minden feladat alakalmas a futtatásra)", + + + + // "dso-selector.create.collection.head": "New collection", + "dso-selector.create.collection.head": "Új gyűjtemény", + + // "dso-selector.create.collection.sub-level": "Create a new collection in", + "dso-selector.create.collection.sub-level": "Új közösség létrehozása benne", + + // "dso-selector.create.community.head": "New community", + "dso-selector.create.community.head": "Új közösség", + + // "dso-selector.create.community.sub-level": "Create a new community in", + "dso-selector.create.community.sub-level": "Hozzon létre új közösséget benne", + + // "dso-selector.create.community.top-level": "Create a new top-level community", + "dso-selector.create.community.top-level": "Hozzon létre csúcsszintű közösséget", + + // "dso-selector.create.item.head": "New item", + "dso-selector.create.item.head": "Új tárgy", + + // "dso-selector.create.item.sub-level": "Create a new item in", + "dso-selector.create.item.sub-level": "Új elem létrehozása, itt", + + // "dso-selector.create.submission.head": "New submission", + "dso-selector.create.submission.head": "Új beküldés", + + // "dso-selector.edit.collection.head": "Edit collection", + "dso-selector.edit.collection.head": "Szerkessze a gyűjteményt", + + // "dso-selector.edit.community.head": "Edit community", + "dso-selector.edit.community.head": "Szerkessze a közösséget", + + // "dso-selector.edit.item.head": "Edit item", + "dso-selector.edit.item.head": "Szerkessze a tárgyat", + + // "dso-selector.export-metadata.dspaceobject.head": "Export metadata from", + "dso-selector.export-metadata.dspaceobject.head": "Metaadat exportálása innen", + + // "dso-selector.no-results": "No {{ type }} found", + "dso-selector.no-results": "Nincs {{ type }} találat", + + // "dso-selector.placeholder": "Search for a {{ type }}", + "dso-selector.placeholder": "Keressen egy {{ type }}", + + + + // "confirmation-modal.export-metadata.header": "Export metadata for {{ dsoName }}", + "confirmation-modal.export-metadata.header": "Metaadat exportálásának célja {{ dsoName }}", + + // "confirmation-modal.export-metadata.info": "Are you sure you want to export metadata for {{ dsoName }}", + "confirmation-modal.export-metadata.info": "Biztos benne, hogy exportálni szeretné a metaadatok a követkő céllal: {{ dsoName }}", + + // "confirmation-modal.export-metadata.cancel": "Cancel", + "confirmation-modal.export-metadata.cancel": "Mégsem", + + // "confirmation-modal.export-metadata.confirm": "Export", + "confirmation-modal.export-metadata.confirm": "Export", + + // "confirmation-modal.delete-eperson.header": "Delete EPerson \"{{ dsoName }}\"", + "confirmation-modal.delete-eperson.header": "EPerson törlése \"{{ dsoName }}\"", + + // "confirmation-modal.delete-eperson.info": "Are you sure you want to delete EPerson \"{{ dsoName }}\"", + "confirmation-modal.delete-eperson.info": "Biztos benne, hogy törli: EPerson \"{{ dsoName }}\"", + + // "confirmation-modal.delete-eperson.cancel": "Cancel", + "confirmation-modal.delete-eperson.cancel": "Mégsem", + + // "confirmation-modal.delete-eperson.confirm": "Delete", + "confirmation-modal.delete-eperson.confirm": "Töröl", + + + // "error.bitstream": "Error fetching bitstream", + "error.bitstream": "Bitfolyam megjelenítése közben hiba történt", + + // "error.browse-by": "Error fetching items", + "error.browse-by": "Tárgy megjelenítése közben hiba történt", + + // "error.collection": "Error fetching collection", + "error.collection": "Gyűjtemény megjelenítése közben hiba történt", + + // "error.collections": "Error fetching collections", + "error.collections": "Gyűjtemények megjelenítése közben hiba történt", + + // "error.community": "Error fetching community", + "error.community": "Közösség megjelenítése közben hiba történty", + + // "error.identifier": "No item found for the identifier", + "error.identifier": "Ehhez az azonosítóhoz nem találtunk tárgyat", + + // "error.default": "Error", + "error.default": "Hiba", + + // "error.item": "Error fetching item", + "error.item": "Tárgy megjelenítésekor hiba történt", + + // "error.items": "Error fetching items", + "error.items": "Tárgyak megjelenítésekor hiba történt", + + // "error.objects": "Error fetching objects", + "error.objects": "Tárgyak megjelenítésekor hiba történt", + + // "error.recent-submissions": "Error fetching recent submissions", + "error.recent-submissions": "Friss feltöltések megjelenítésekor hiba történt", + + // "error.search-results": "Error fetching search results", + "error.search-results": "keresési eredmények megjelenítésekor hiba történt", + + // "error.sub-collections": "Error fetching sub-collections", + "error.sub-collections": "Algyűjtemények megjelenítésekor hiba történt", + + // "error.sub-communities": "Error fetching sub-communities", + "error.sub-communities": "Alközösségek megjelenítésekor hiba történt", + + // "error.submission.sections.init-form-error": "An error occurred during section initialize, please check your input-form configuration. Details are below :

", + "error.submission.sections.init-form-error": "Szakasz kezdőértékének megadásakor hiba történt, kérjük ellenőrizze az adatbeviteli forma beállításait. Részletek alább :

", + + // "error.top-level-communities": "Error fetching top-level communities", + "error.top-level-communities": "Csúcsszintű közösségek megjelenítésekor hiba történt", + + // "error.validation.license.notgranted": "You must grant this license to complete your submission. If you are unable to grant this license at this time you may save your work and return later or remove the submission.", + "error.validation.license.notgranted": "ezt az engedélyt meg kell adnia ahhoz, hogy befejezze a feltöltést. Ha jelenleg ez nem lehetséges, elmentheti az eddigi munkát és később folytathatja, vagy törölheti a feltöltést.", + + // "error.validation.pattern": "This input is restricted by the current pattern: {{ pattern }}.", + "error.validation.pattern": "Ezt a bevitelt korlátozza a jelenlegi útvonal: {{ pattern }}.", + + // "error.validation.filerequired": "The file upload is mandatory", + "error.validation.filerequired": "Az állomány feltöltése kötelező", + + + + // "file-section.error.header": "Error obtaining files for this item", + "file-section.error.header": "Hiba történ az elemhez tartozó fájlok beszerzésekor", + + + + // "footer.copyright": "copyright © 2002-{{ year }}", + "footer.copyright": "szerzői jog © 2002-{{ year }}", + + // "footer.link.dspace": "DSpace software", + "footer.link.dspace": "DSpace szoftver", + + // "footer.link.duraspace": "DuraSpace", + "footer.link.duraspace": "DuraSpace", + + // "footer.link.cookies": "Cookie settings", + "footer.link.cookies": "Süti beállítások", + + // "footer.link.privacy-policy": "Privacy policy", + "footer.link.privacy-policy": "Privacy policy", + + // "footer.link.end-user-agreement":"End User Agreement", + "footer.link.end-user-agreement":"End User Agreement", + + + + // "forgot-email.form.header": "Forgot Password", + "forgot-email.form.header": "Elfelejtettem a jelszót", + + // "forgot-email.form.info": "Enter Register an account to subscribe to collections for email updates, and submit new items to DSpace.", + "forgot-email.form.info": "Lépjen be a Fiók létrehozásába, hogy feliratkozhasson gyűjtemények e-mail értesítésére, és új elemeket tölthessen fel a DSpace-be.", + + // "forgot-email.form.email": "Email Address *", + "forgot-email.form.email": "Email Cím *", + + // "forgot-email.form.email.error.required": "Please fill in an email address", + "forgot-email.form.email.error.required": "Írjon be egy e-mail címet", + + // "forgot-email.form.email.error.pattern": "Please fill in a valid email address", + "forgot-email.form.email.error.pattern": "Írjon be egy érvényes e-mail címet", + + // "forgot-email.form.email.hint": "This address will be verified and used as your login name.", + "forgot-email.form.email.hint": "Ellenőrizni fogjuk a címet és ezt fogja használni a bejelentkezéshez.", + + // "forgot-email.form.submit": "Submit", + "forgot-email.form.submit": "Beküld", + + // "forgot-email.form.success.head": "Verification email sent", + "forgot-email.form.success.head": "Ellenőrző e-mail kiküldve", + + // "forgot-email.form.success.content": "An email has been sent to {{ email }} containing a special URL and further instructions.", + "forgot-email.form.success.content": "Egy levél ki lett küldve a(z) {{ email }} címre, ami tartalmaz egy speciális hivatkozást a következő lépéshez.", + + // "forgot-email.form.error.head": "Error when trying to register email", + "forgot-email.form.error.head": "Hiba történt az e-mail cím regisztrációjánál", + + // "forgot-email.form.error.content": "An error occured when registering the following email address: {{ email }}", + "forgot-email.form.error.content": "Hiba történt a következő e-mail cím regisztrációjánál: {{ email }}", + + + + // "forgot-password.title": "Forgot Password", + "forgot-password.title": "Elfelejtettem a jelszót", + + // "forgot-password.form.head": "Forgot Password", + "forgot-password.form.head": "Elfelejtettem a jelszót", + + // "forgot-password.form.info": "Enter a new password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", + "forgot-password.form.info": "Írjon be egy új jelszót a lenti mezőbe, és igazolja a második mezőbe újraírva azt. Legalább hat karakter hosszú kell legyen.", + + // "forgot-password.form.card.security": "Security", + "forgot-password.form.card.security": "Biztonság", + + // "forgot-password.form.identification.header": "Identify", + "forgot-password.form.identification.header": "Azonosítás", + + // "forgot-password.form.identification.email": "Email address: ", + "forgot-password.form.identification.email": "E-mail cím: ", + + // "forgot-password.form.label.password": "Password", + "forgot-password.form.label.password": "Jelszó", + + // "forgot-password.form.label.passwordrepeat": "Retype to confirm", + "forgot-password.form.label.passwordrepeat": "Írja újra a visszaigazoláshoz", + + // "forgot-password.form.error.empty-password": "Please enter a password in the box below.", + "forgot-password.form.error.empty-password": "Írja be a jelszót a lenti mezőbe.", + + // "forgot-password.form.error.matching-passwords": "The passwords do not match.", + "forgot-password.form.error.matching-passwords": "A jelszavak nem egyeznek.", + + // "forgot-password.form.error.password-length": "The password should be at least 6 characters long.", + "forgot-password.form.error.password-length": "A jelszó legalább 6 karakter hosszú kell legyen.", + + // "forgot-password.form.notification.error.title": "Error when trying to submit new password", + "forgot-password.form.notification.error.title": "Hiba történt a jelszó beküldésekor", + + // "forgot-password.form.notification.success.content": "The password reset was successful. You have been logged in as the created user.", + "forgot-password.form.notification.success.content": "A jelszóvisszaállítás sikeres volt. Beléphet a létrehozott felhasználóval.", + + // "forgot-password.form.notification.success.title": "Password reset completed", + "forgot-password.form.notification.success.title": "Jelszóvisszaállítás befejeződött", + + // "forgot-password.form.submit": "Submit password", + "forgot-password.form.submit": "Jelszó beküldése", + + + + // "form.add": "Add", + "form.add": "Hozzáadás", + + // "form.add-help": "Click here to add the current entry and to add another one", + "form.add-help": "Kattintson ide a beírt adatok hozzáadásához, majd újabb megadásához", + + // "form.cancel": "Cancel", + "form.cancel": "Mégse", + + // "form.clear": "Clear", + "form.clear": "Töröl", + + // "form.clear-help": "Click here to remove the selected value", + "form.clear-help": "Kattintson ide a kiválasztott érték törléséhez", + + // "form.edit": "Edit", + "form.edit": "Szerkeszt", + + // "form.edit-help": "Click here to edit the selected value", + "form.edit-help": "Kattintson ide a kiválasztott érték szerkesztéséhez", + + // "form.first-name": "First name", + "form.first-name": "Keresztnév", + + // "form.group-collapse": "Collapse", + "form.group-collapse": "Kicsinyít", + + // "form.group-collapse-help": "Click here to collapse", + "form.group-collapse-help": "Kattintson ide a kicsinyítéshez", + + // "form.group-expand": "Expand", + "form.group-expand": "Felnagyít", + + // "form.group-expand-help": "Click here to expand and add more elements", + "form.group-expand-help": "Kattintson ide, hogy felnagyítsa s újabb elemeket adjon hozzá", + + // "form.last-name": "Last name", + "form.last-name": "Családnév", + + // "form.loading": "Loading...", + "form.loading": "Betöltés...", + + // "form.lookup": "Lookup", + "form.lookup": "Keresse ki", + + // "form.lookup-help": "Click here to look up an existing relation", + "form.lookup-help": "Kattintson ide egy meglévő kapcsolat kikereséséhez", + + // "form.no-results": "No results found", + "form.no-results": "Nincs találat", + + // "form.no-value": "No value entered", + "form.no-value": "Nem adott meg értéket", + + // "form.other-information": {}, + "form.other-information": {}, + + // "form.remove": "Remove", + "form.remove": "Törlés", + + // "form.save": "Save", + "form.save": "Mentés", + + // "form.save-help": "Save changes", + "form.save-help": "Változtatások mentése", + + // "form.search": "Search", + "form.search": "Keresés", + + // "form.search-help": "Click here to look for an existing correspondence", + "form.search-help": "Kattintson ide egy meglévő levelezés kikereséséhez", + + // "form.submit": "Submit", + "form.submit": "Feltöltés", + + + + // "home.description": "", + "home.description": "", + + // "home.breadcrumbs": "Home", + "home.breadcrumbs": "Haza", + + // "home.title": "DSpace Angular :: Home", + "home.title": "DSpace Angular :: Haza", + + // "home.top-level-communities.head": "Communities in DSpace", + "home.top-level-communities.head": "Közösségek a DSpace-en", + + // "home.top-level-communities.help": "Select a community to browse its collections.", + "home.top-level-communities.help": "Válasszon ki egy közösséget, hogy böngéssze a gyűjteményeit.", + + + + // "info.end-user-agreement.accept": "I have read and I agree to the End User Agreement", + "info.end-user-agreement.accept": "Elolvastam és elfogadom a felhasználói feltételeket", + + // "info.end-user-agreement.accept.error": "An error occurred accepting the End User Agreement", + "info.end-user-agreement.accept.error": "Hiba történt a felhasználói feltételek elfogadásakor", + + // "info.end-user-agreement.accept.success": "Successfully updated the End User Agreement", + "info.end-user-agreement.accept.success": "Sikeresen frissítette a felhasználói feltételeket", + + // "info.end-user-agreement.breadcrumbs": "End User Agreement", + "info.end-user-agreement.breadcrumbs": "Felhasználói feltételek", + + // "info.end-user-agreement.buttons.cancel": "Cancel", + "info.end-user-agreement.buttons.cancel": "Mégsem", + + // "info.end-user-agreement.buttons.save": "Save", + "info.end-user-agreement.buttons.save": "Mentés", + + // "info.end-user-agreement.head": "End User Agreement", + "info.end-user-agreement.head": "Felhasználói feltételek", + + // "info.end-user-agreement.title": "End User Agreement", + "info.end-user-agreement.title": "Felhasználói feltételek", + + // "info.privacy.breadcrumbs": "Privacy Statement", + "info.privacy.breadcrumbs": "Adatvédelmi nyilatkozat", + + // "info.privacy.head": "Privacy Statement", + "info.privacy.head": "Adatvédelmi nyilatkozat", + + // "info.privacy.title": "Privacy Statement", + "info.privacy.title": "Adatvédelmi nyilatkozat", + + + + // "item.alerts.private": "This item is private", + "item.alerts.private": "Ez az elem privát", + + // "item.alerts.withdrawn": "This item has been withdrawn", + "item.alerts.withdrawn": "Ez az elem vissza lett vonva", + + + + // "item.edit.authorizations.heading": "With this editor you can view and alter the policies of an item, plus alter policies of individual item components: bundles and bitstreams. Briefly, an item is a container of bundles, and bundles are containers of bitstreams. Containers usually have ADD/REMOVE/READ/WRITE policies, while bitstreams only have READ/WRITE policies.", + "item.edit.authorizations.heading": "Evvel a szerkesztővel megnézheti vagy szerkesztheti egy elem jogosutságát, és szerkesztheti egy egyedi elem componenseinek jogosutságát: bundles és bitstreams. Röviden, egy elem a kötegek gyűjteménye, és a kötegek a bitsteramek gyűjteménye. A kötegeknek többnyire van ADD/REMOVE/READ/WRITE jogosultsága, miközben a bitstreameknek csak READ/WRITE jogosultsága.", + + // "item.edit.authorizations.title": "Edit item's Policies", + "item.edit.authorizations.title": "Jogosultásgok elem szerkesztése", + + + + // "item.badge.private": "Private", + "item.badge.private": "Privát", + + // "item.badge.withdrawn": "Withdrawn", + "item.badge.withdrawn": "Visszavont", + + + + // "item.bitstreams.upload.bundle": "Bundle", + "item.bitstreams.upload.bundle": "Csomag", + + // "item.bitstreams.upload.bundle.placeholder": "Select a bundle", + "item.bitstreams.upload.bundle.placeholder": "Válasszon ki egy csomagot", + + // "item.bitstreams.upload.bundle.new": "Create bundle", + "item.bitstreams.upload.bundle.new": "Hozzon létre csomagot", + + // "item.bitstreams.upload.bundles.empty": "This item doesn\'t contain any bundles to upload a bitstream to.", + "item.bitstreams.upload.bundles.empty": "Ez a tárgy nem tartalmaz csomagot, ahova bitfolyamot lehetne feltölteni.", + + // "item.bitstreams.upload.cancel": "Cancel", + "item.bitstreams.upload.cancel": "Mégse", + + // "item.bitstreams.upload.drop-message": "Drop a file to upload", + "item.bitstreams.upload.drop-message": "Húzza ide a feltöltendő állományt", + + // "item.bitstreams.upload.item": "Item: ", + "item.bitstreams.upload.item": "Tárgy: ", + + // "item.bitstreams.upload.notifications.bundle.created.content": "Successfully created new bundle.", + "item.bitstreams.upload.notifications.bundle.created.content": "Új csomag sikeresen létrehozva.", + + // "item.bitstreams.upload.notifications.bundle.created.title": "Created bundle", + "item.bitstreams.upload.notifications.bundle.created.title": "Csomag létrehozva", + + // "item.bitstreams.upload.notifications.upload.failed": "Upload failed. Please verify the content before retrying.", + "item.bitstreams.upload.notifications.upload.failed": "Feltöltés nem sikerült. Kérjük ellenőrizze a tartalmát, mielőtt újra próbálkozna.", + + // "item.bitstreams.upload.title": "Upload bitstream", + "item.bitstreams.upload.title": "Bitfolyam feltöltése", + + + + // "item.edit.bitstreams.bundle.edit.buttons.upload": "Upload", + "item.edit.bitstreams.bundle.edit.buttons.upload": "Feltöltés", + + // "item.edit.bitstreams.bundle.displaying": "Currently displaying {{ amount }} bitstreams of {{ total }}.", + "item.edit.bitstreams.bundle.displaying": "Jelenleg látható {{ amount }} Bitfolyam ennyiből: {{ total }}.", + + // "item.edit.bitstreams.bundle.load.all": "Load all ({{ total }})", + "item.edit.bitstreams.bundle.load.all": "Valamennyi betöltése ({{ total }})", + + // "item.edit.bitstreams.bundle.load.more": "Load more", + "item.edit.bitstreams.bundle.load.more": "Több betöltése", + + // "item.edit.bitstreams.bundle.name": "BUNDLE: {{ name }}", + "item.edit.bitstreams.bundle.name": "CSOMAG: {{ name }}", + + // "item.edit.bitstreams.discard-button": "Discard", + "item.edit.bitstreams.discard-button": "Elvetés", + + // "item.edit.bitstreams.edit.buttons.download": "Download", + "item.edit.bitstreams.edit.buttons.download": "Letöltés", + + // "item.edit.bitstreams.edit.buttons.drag": "Drag", + "item.edit.bitstreams.edit.buttons.drag": "Húzni", + + // "item.edit.bitstreams.edit.buttons.edit": "Edit", + "item.edit.bitstreams.edit.buttons.edit": "Szerkesztés", + + // "item.edit.bitstreams.edit.buttons.remove": "Remove", + "item.edit.bitstreams.edit.buttons.remove": "Eltávolítás", + + // "item.edit.bitstreams.edit.buttons.undo": "Undo changes", + "item.edit.bitstreams.edit.buttons.undo": "Változtatások vissza", + + // "item.edit.bitstreams.empty": "This item doesn't contain any bitstreams. Click the upload button to create one.", + "item.edit.bitstreams.empty": "Ez a tárgy nem tartalmaz bitfolyamot. Kattintson a feltöltés gombra, hogy hozzon létre egyet.", + + // "item.edit.bitstreams.headers.actions": "Actions", + "item.edit.bitstreams.headers.actions": "Műveletek", + + // "item.edit.bitstreams.headers.bundle": "Bundle", + "item.edit.bitstreams.headers.bundle": "Csomag", + + // "item.edit.bitstreams.headers.description": "Description", + "item.edit.bitstreams.headers.description": "Leírás", + + // "item.edit.bitstreams.headers.format": "Format", + "item.edit.bitstreams.headers.format": "Formátum", + + // "item.edit.bitstreams.headers.name": "Name", + "item.edit.bitstreams.headers.name": "Név", + + // "item.edit.bitstreams.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", + "item.edit.bitstreams.notifications.discarded.content": "Változtatásai elvetve. Visszaállításukhoz kattintson a 'visszaállítás' gombra", + + // "item.edit.bitstreams.notifications.discarded.title": "Changes discarded", + "item.edit.bitstreams.notifications.discarded.title": "Változtatások elvetve", + + // "item.edit.bitstreams.notifications.move.failed.title": "Error moving bitstreams", + "item.edit.bitstreams.notifications.move.failed.title": "Bitfolyam elmozdítása közben hiba történt", + + // "item.edit.bitstreams.notifications.move.saved.content": "Your move changes to this item's bitstreams and bundles have been saved.", + "item.edit.bitstreams.notifications.move.saved.content": "Művelete megváltoztatja a tárgy bitfolyamát és a csomagok el vannak mentve.", + + // "item.edit.bitstreams.notifications.move.saved.title": "Move changes saved", + "item.edit.bitstreams.notifications.move.saved.title": "Változtatások elmozdítása elmentve", + + // "item.edit.bitstreams.notifications.outdated.content": "The item you're currently working on has been changed by another user. Your current changes are discarded to prevent conflicts", + "item.edit.bitstreams.notifications.outdated.content": "A tárgyat amin jelenleg dolgozik egy másik felhasználó módosította. A jelenlegi változtatásokat elvetettük, hogy megelőzzük a konfliktusokat", + + // "item.edit.bitstreams.notifications.outdated.title": "Changes outdated", + "item.edit.bitstreams.notifications.outdated.title": "Változtatások idejemúltak", + + // "item.edit.bitstreams.notifications.remove.failed.title": "Error deleting bitstream", + "item.edit.bitstreams.notifications.remove.failed.title": "Bitfolyam törlése közben hiba történt", + + // "item.edit.bitstreams.notifications.remove.saved.content": "Your removal changes to this item's bitstreams have been saved.", + "item.edit.bitstreams.notifications.remove.saved.content": "Az ön eltávolító változtatásai ennek a tárgynak a bitfolyamában el vannak mentve.", + + // "item.edit.bitstreams.notifications.remove.saved.title": "Removal changes saved", + "item.edit.bitstreams.notifications.remove.saved.title": "Eltávolító változtatások mentve", + + // "item.edit.bitstreams.reinstate-button": "Undo", + "item.edit.bitstreams.reinstate-button": "Visszaváltoztatás", + + // "item.edit.bitstreams.save-button": "Save", + "item.edit.bitstreams.save-button": "Mentés", + + // "item.edit.bitstreams.upload-button": "Upload", + "item.edit.bitstreams.upload-button": "Feltöltés", + + + + // "item.edit.delete.cancel": "Cancel", + "item.edit.delete.cancel": "Mégse", + + // "item.edit.delete.confirm": "Delete", + "item.edit.delete.confirm": "Törlés", + + // "item.edit.delete.description": "Are you sure this item should be completely deleted? Caution: At present, no tombstone would be left.", + "item.edit.delete.description": "Biztos benne, hogy ezt a tárgyat teljesen törölni óhajtja? Figyelem: jelenleg nem marad sírkő.", + + // "item.edit.delete.error": "An error occurred while deleting the item", + "item.edit.delete.error": "Tárgy törlése közben hiba történt", + + // "item.edit.delete.header": "Delete item: {{ id }}", + "item.edit.delete.header": "Tárgy törlése: {{ id }}", + + // "item.edit.delete.success": "The item has been deleted", + "item.edit.delete.success": "Tárgy törölve", + + // "item.edit.head": "Edit Item", + "item.edit.head": "Tárgy szerkesztése", + + // "item.edit.breadcrumbs": "Edit Item", + "item.edit.breadcrumbs": "Tárgy szerkesztése", + + + // "item.edit.tabs.mapper.head": "Collection Mapper", + // TODO New key - Add a translation + "item.edit.tabs.mapper.head": "Collection Mapper", + + // "item.edit.tabs.item-mapper.title": "Item Edit - Collection Mapper", + // TODO New key - Add a translation + "item.edit.tabs.item-mapper.title": "Item Edit - Collection Mapper", + + // "item.edit.item-mapper.buttons.add": "Map item to selected collections", + "item.edit.item-mapper.buttons.add": "Térképezze a tárgyat a kiválasztott gyűjteményekhez", + + // "item.edit.item-mapper.buttons.remove": "Remove item's mapping for selected collections", + "item.edit.item-mapper.buttons.remove": "Törölje a tárgy térképezését a kiválasztott gyűjteményekhez", + + // "item.edit.item-mapper.cancel": "Cancel", + "item.edit.item-mapper.cancel": "Mégse", + + // "item.edit.item-mapper.description": "This is the item mapper tool that allows administrators to map this item to other collections. You can search for collections and map them, or browse the list of collections the item is currently mapped to.", + "item.edit.item-mapper.description": "Ez a térképező eszköz, amellyel az adminisztrátorok ezt a tárgyat más gyűjteményekhez térképezhetik. Kereshet gyűjteményeket amelyekhez térképezze, vagy böngészheti azon gyűjtemények listáját, amelyhez jelenleg hozzá van térképezve..", + + // "item.edit.item-mapper.head": "Item Mapper - Map Item to Collections", + "item.edit.item-mapper.head": "Tárgytérképező - Térképezze a tárgyat gyűjteményekhez", + + // "item.edit.item-mapper.item": "Item: \"{{name}}\"", + "item.edit.item-mapper.item": "Tárgy: \"{{name}}\"", + + // "item.edit.item-mapper.no-search": "Please enter a query to search", + "item.edit.item-mapper.no-search": "Kérjük írja be a keresett szót", + + // "item.edit.item-mapper.notifications.add.error.content": "Errors occurred for mapping of item to {{amount}} collections.", + "item.edit.item-mapper.notifications.add.error.content": "A tárgynak a {{amount}} gyűjteményekhez való térképezésekor hiba történt.", + + // "item.edit.item-mapper.notifications.add.error.head": "Mapping errors", + "item.edit.item-mapper.notifications.add.error.head": "Térképezési hibák", + + // "item.edit.item-mapper.notifications.add.success.content": "Successfully mapped item to {{amount}} collections.", + "item.edit.item-mapper.notifications.add.success.content": "Tárgy sikeresen térképezve {{amount}} gyűjteményhez.", + + // "item.edit.item-mapper.notifications.add.success.head": "Mapping completed", + "item.edit.item-mapper.notifications.add.success.head": "Térképezés befejeződött", + + // "item.edit.item-mapper.notifications.remove.error.content": "Errors occurred for the removal of the mapping to {{amount}} collections.", + "item.edit.item-mapper.notifications.remove.error.content": "A {{amount}} gyűjteményekhez való térképezés eltávolításakor hiba történt.", + + // "item.edit.item-mapper.notifications.remove.error.head": "Removal of mapping errors", + "item.edit.item-mapper.notifications.remove.error.head": "Térképezési hibák eltávolítása", + + // "item.edit.item-mapper.notifications.remove.success.content": "Successfully removed mapping of item to {{amount}} collections.", + "item.edit.item-mapper.notifications.remove.success.content": "A {{amount}} gyűjteményhez való térképezés sikeresen eltávolítva.", + + // "item.edit.item-mapper.notifications.remove.success.head": "Removal of mapping completed", + "item.edit.item-mapper.notifications.remove.success.head": "Térképezés eltávolítása befejeződött", + + // "item.edit.item-mapper.tabs.browse": "Browse mapped collections", + "item.edit.item-mapper.tabs.browse": "Böngéssze a térképezett gyűjteményeket", + + // "item.edit.item-mapper.tabs.map": "Map new collections", + "item.edit.item-mapper.tabs.map": "Térképezzen új gyűjteményeket", + + + + // "item.edit.metadata.add-button": "Add", + "item.edit.metadata.add-button": "Hozzáadás", + + // "item.edit.metadata.discard-button": "Discard", + "item.edit.metadata.discard-button": "Elvetés", + + // "item.edit.metadata.edit.buttons.edit": "Edit", + "item.edit.metadata.edit.buttons.edit": "Szerkesztés", + + // "item.edit.metadata.edit.buttons.remove": "Remove", + "item.edit.metadata.edit.buttons.remove": "Eltávolítás", + + // "item.edit.metadata.edit.buttons.undo": "Undo changes", + "item.edit.metadata.edit.buttons.undo": "Változtatások elvetése", + + // "item.edit.metadata.edit.buttons.unedit": "Stop editing", + "item.edit.metadata.edit.buttons.unedit": "Szerkesztés leállítása", + + // "item.edit.metadata.empty": "The item currently doesn't contain any metadata. Click Add to start adding a metadata value.", + "item.edit.metadata.empty": "Az elem jelenleg nem tartalmaz metaadatot. Kattintson a Hozzáad-ra metaadatok hozzáadásához.", + + // "item.edit.metadata.headers.edit": "Edit", + "item.edit.metadata.headers.edit": "Szerkesztés", + + // "item.edit.metadata.headers.field": "Field", + "item.edit.metadata.headers.field": "Mező", + + // "item.edit.metadata.headers.language": "Lang", + "item.edit.metadata.headers.language": "Nyelv", + + // "item.edit.metadata.headers.value": "Value", + "item.edit.metadata.headers.value": "Érték", + + // "item.edit.metadata.metadatafield.invalid": "Please choose a valid metadata field", + "item.edit.metadata.metadatafield.invalid": "Kérjük válasszon egy érvényes metaadat mezőt", + + // "item.edit.metadata.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", + "item.edit.metadata.notifications.discarded.content": "Módosításai elvetve. Visszaállításukhoz kattintson a 'Visszaállítás' gombra", + + // "item.edit.metadata.notifications.discarded.title": "Changed discarded", + "item.edit.metadata.notifications.discarded.title": "Módosítva elvetve", + + // "item.edit.metadata.notifications.error.title": "An error occurred", + "item.edit.metadata.notifications.error.title": "Hiba történt", + + // "item.edit.metadata.notifications.invalid.content": "Your changes were not saved. Please make sure all fields are valid before you save.", + "item.edit.metadata.notifications.invalid.content": "Módosításai nincsenek elmentve, Kérjük mentés előtt ellenőrizze, hogy valamennyi mező érvényes.", + + // "item.edit.metadata.notifications.invalid.title": "Metadata invalid", + "item.edit.metadata.notifications.invalid.title": "Érvénytelen metaadat", + + // "item.edit.metadata.notifications.outdated.content": "The item you're currently working on has been changed by another user. Your current changes are discarded to prevent conflicts", + "item.edit.metadata.notifications.outdated.content": "A tárgyon amin dolgozik egy másik felhasználó módosításokat eszközölt. Az ön módosításait elvetettük, hogy megelőzzük a konfliktust", + + // "item.edit.metadata.notifications.outdated.title": "Changed outdated", + "item.edit.metadata.notifications.outdated.title": "Módosítva idejemúlt", + + // "item.edit.metadata.notifications.saved.content": "Your changes to this item's metadata were saved.", + "item.edit.metadata.notifications.saved.content": "A tárgy metaadataiban eszközölt módosításai elmentve.", + + // "item.edit.metadata.notifications.saved.title": "Metadata saved", + "item.edit.metadata.notifications.saved.title": "Metaadat elmentve", + + // "item.edit.metadata.reinstate-button": "Undo", + "item.edit.metadata.reinstate-button": "Visszaállítás", + + // "item.edit.metadata.save-button": "Save", + "item.edit.metadata.save-button": "Mentés", + + + + // "item.edit.modify.overview.field": "Field", + "item.edit.modify.overview.field": "Mező", + + // "item.edit.modify.overview.language": "Language", + "item.edit.modify.overview.language": "Nyelv", + + // "item.edit.modify.overview.value": "Value", + "item.edit.modify.overview.value": "Érték", + + + + // "item.edit.move.cancel": "Cancel", + "item.edit.move.cancel": "Mégse", + + // "item.edit.move.description": "Select the collection you wish to move this item to. To narrow down the list of displayed collections, you can enter a search query in the box.", + "item.edit.move.description": "Válassza ki a gyűjteményt amelyhez ezt a tárgyat hozzá kívánja adni. A látható gyűjtemények listájának szűkítéséhez írjon be keresőszót a mezőbe.", + + // "item.edit.move.error": "An error occurred when attempting to move the item", + "item.edit.move.error": "Tárgy mozgatásakor hiba történt", + + // "item.edit.move.head": "Move item: {{id}}", + "item.edit.move.head": "Tárgy mozgatása: {{id}}", + + // "item.edit.move.inheritpolicies.checkbox": "Inherit policies", + "item.edit.move.inheritpolicies.checkbox": "Szabályzatok öröklése", + + // "item.edit.move.inheritpolicies.description": "Inherit the default policies of the destination collection", + "item.edit.move.inheritpolicies.description": "Örökölje a célgyűjtemény alapértelmezett szabályzatát", + + // "item.edit.move.move": "Move", + "item.edit.move.move": "Mozgatás", + + // "item.edit.move.processing": "Moving...", + "item.edit.move.processing": "Mozgatás...", + + // "item.edit.move.search.placeholder": "Enter a search query to look for collections", + "item.edit.move.search.placeholder": "Írjon be keresőszót hogy gyűjteményeket találjon", + + // "item.edit.move.success": "The item has been moved successfully", + "item.edit.move.success": "Tárgy mozgatása sikerült", + + // "item.edit.move.title": "Move item", + "item.edit.move.title": "Tárgy mozgatása", + + + + // "item.edit.private.cancel": "Cancel", + "item.edit.private.cancel": "Mégse", + + // "item.edit.private.confirm": "Make it Private", + "item.edit.private.confirm": "Legyen privát", + + // "item.edit.private.description": "Are you sure this item should be made private in the archive?", + "item.edit.private.description": "Biztos legyen ez a tárgy privát ebben az archívumban?", + + // "item.edit.private.error": "An error occurred while making the item private", + "item.edit.private.error": "A tárgy privát beállí1tása közben hiba történt", + + // "item.edit.private.header": "Make item private: {{ id }}", + "item.edit.private.header": "Legyen a tárgy privát: {{ id }}", + + // "item.edit.private.success": "The item is now private", + "item.edit.private.success": "Ezx a tárgy most privát", + + + + // "item.edit.public.cancel": "Cancel", + "item.edit.public.cancel": "Mégse", + + // "item.edit.public.confirm": "Make it Public", + "item.edit.public.confirm": "legyen nyilvános", + + // "item.edit.public.description": "Are you sure this item should be made public in the archive?", + "item.edit.public.description": "ABiztos legyen ez a tárgy nyilvános ebben az archívumban?", + + // "item.edit.public.error": "An error occurred while making the item public", + "item.edit.public.error": "Tárgy nyilvánossá tétele közben hiba történt", + + // "item.edit.public.header": "Make item public: {{ id }}", + "item.edit.public.header": "MLegyen a tárgy nyilvános: {{ id }}", + + // "item.edit.public.success": "The item is now public", + "item.edit.public.success": "A tárgy most nyilvános", + + + + // "item.edit.reinstate.cancel": "Cancel", + "item.edit.reinstate.cancel": "Mégse", + + // "item.edit.reinstate.confirm": "Reinstate", + "item.edit.reinstate.confirm": "Visszaállítás", + + // "item.edit.reinstate.description": "Are you sure this item should be reinstated to the archive?", + "item.edit.reinstate.description": "Biztos vissza akarja állítani ezt a tárgyat az archívumba?", + + // "item.edit.reinstate.error": "An error occurred while reinstating the item", + "item.edit.reinstate.error": "Tárgy visszaállítása közben hiba történt", + + // "item.edit.reinstate.header": "Reinstate item: {{ id }}", + "item.edit.reinstate.header": "Tárgy visszaállítása: {{ id }}", + + // "item.edit.reinstate.success": "The item was reinstated successfully", + "item.edit.reinstate.success": "Tárgy visszaállítása sikerült", + + + + // "item.edit.relationships.discard-button": "Discard", + "item.edit.relationships.discard-button": "Elvetés", + + // "item.edit.relationships.edit.buttons.add": "Add", + "item.edit.relationships.edit.buttons.add": "Hozzáad", + + // "item.edit.relationships.edit.buttons.remove": "Remove", + "item.edit.relationships.edit.buttons.remove": "Eltávolítás", + + // "item.edit.relationships.edit.buttons.undo": "Undo changes", + "item.edit.relationships.edit.buttons.undo": "Visszamódosítás", + + // "item.edit.relationships.no-relationships": "No relationships", + "item.edit.relationships.no-relationships": "Nincs kapcsolat", + + // "item.edit.relationships.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", + "item.edit.relationships.notifications.discarded.content": "Módosításai elvetve. Visszaállításukhoz kattintson a 'Visszaállítás' gombra", + + // "item.edit.relationships.notifications.discarded.title": "Changes discarded", + "item.edit.relationships.notifications.discarded.title": "Módosítások elvetve", + + // "item.edit.relationships.notifications.failed.title": "Error editing relationships", + // TODO Source message changed - Revise the translation + "item.edit.relationships.notifications.failed.title": "Kapcsolat törlésekor hiba történt", + + // "item.edit.relationships.notifications.outdated.content": "The item you're currently working on has been changed by another user. Your current changes are discarded to prevent conflicts", + "item.edit.relationships.notifications.outdated.content": "A tárgyon amin dolgozik egy másik felhasználó módosításokat eszközölt. Az ön módosításait elvetettük, hogy megelőzzük a konfliktust", + + // "item.edit.relationships.notifications.outdated.title": "Changes outdated", + "item.edit.relationships.notifications.outdated.title": "Módosítások idejétmúltak", + + // "item.edit.relationships.notifications.saved.content": "Your changes to this item's relationships were saved.", + "item.edit.relationships.notifications.saved.content": "A tárgy kapcsolataiban eszközölt módosításai elmentve.", + + // "item.edit.relationships.notifications.saved.title": "Relationships saved", + "item.edit.relationships.notifications.saved.title": "Kapcsolatok elmentve", + + // "item.edit.relationships.reinstate-button": "Undo", + "item.edit.relationships.reinstate-button": "Visszaállítás", + + // "item.edit.relationships.save-button": "Save", + "item.edit.relationships.save-button": "Mentés", + + // "item.edit.relationships.no-entity-type": "Add 'relationship.type' metadata to enable relationships for this item", + "item.edit.relationships.no-entity-type": "Adja hozzá a 'relationship.type' metaadatot ezen elem hivatkozásánek engedélyezéséhez", + + + + // "item.edit.tabs.bitstreams.head": "Bitstreams", + "item.edit.tabs.bitstreams.head": "Bitfolyamok", + + // "item.edit.tabs.bitstreams.title": "Item Edit - Bitstreams", + "item.edit.tabs.bitstreams.title": "Tárgy szerkesztése - Bitfolyamok", + + // "item.edit.tabs.curate.head": "Curate", + "item.edit.tabs.curate.head": "Gondozás", + + // "item.edit.tabs.curate.title": "Item Edit - Curate", + "item.edit.tabs.curate.title": "Tárgy szerkesztése - Gondozás", + + // "item.edit.tabs.metadata.head": "Metadata", + "item.edit.tabs.metadata.head": "Metaadat", + + // "item.edit.tabs.metadata.title": "Item Edit - Metadata", + "item.edit.tabs.metadata.title": "Tárgy szerkesztése - Metaadat", + + // "item.edit.tabs.relationships.head": "Relationships", + "item.edit.tabs.relationships.head": "Kapcsolatok", + + // "item.edit.tabs.relationships.title": "Item Edit - Relationships", + "item.edit.tabs.relationships.title": "Tárgy szerkesztése - kapcsolatok", + + // "item.edit.tabs.status.buttons.authorizations.button": "Authorizations...", + "item.edit.tabs.status.buttons.authorizations.button": "Engedélyezés...", + + // "item.edit.tabs.status.buttons.authorizations.label": "Edit item's authorization policies", + "item.edit.tabs.status.buttons.authorizations.label": "Szerkessze a tárgy engedélyezési szabályait", + + // "item.edit.tabs.status.buttons.delete.button": "Permanently delete", + "item.edit.tabs.status.buttons.delete.button": "Véglegesen töröl", + + // "item.edit.tabs.status.buttons.delete.label": "Completely expunge item", + "item.edit.tabs.status.buttons.delete.label": "Tárgy teljes kitörlése", + + // "item.edit.tabs.status.buttons.mappedCollections.button": "Mapped collections", + "item.edit.tabs.status.buttons.mappedCollections.button": "Térképezett gyűjtemények", + + // "item.edit.tabs.status.buttons.mappedCollections.label": "Manage mapped collections", + "item.edit.tabs.status.buttons.mappedCollections.label": "Térképezett gyűjtemények szervezése", + + // "item.edit.tabs.status.buttons.move.button": "Move...", + "item.edit.tabs.status.buttons.move.button": "Elmozdítás...", + + // "item.edit.tabs.status.buttons.move.label": "Move item to another collection", + "item.edit.tabs.status.buttons.move.label": "Tárgy másik gyűjteménybe költöztetése", + + // "item.edit.tabs.status.buttons.private.button": "Make it private...", + "item.edit.tabs.status.buttons.private.button": "Legyen privát...", + + // "item.edit.tabs.status.buttons.private.label": "Make item private", + "item.edit.tabs.status.buttons.private.label": "Legyen a tárgy privát", + + // "item.edit.tabs.status.buttons.public.button": "Make it public...", + "item.edit.tabs.status.buttons.public.button": "Legyen nyilvános...", + + // "item.edit.tabs.status.buttons.public.label": "Make item public", + "item.edit.tabs.status.buttons.public.label": "Legyen a tárgy nyilvános", + + // "item.edit.tabs.status.buttons.reinstate.button": "Reinstate...", + "item.edit.tabs.status.buttons.reinstate.button": "Visszaállí1tás...", + + // "item.edit.tabs.status.buttons.reinstate.label": "Reinstate item into the repository", + "item.edit.tabs.status.buttons.reinstate.label": "Tárgy visszaállítása az adattárba", + + // "item.edit.tabs.status.buttons.withdraw.button": "Withdraw...", + "item.edit.tabs.status.buttons.withdraw.button": "Visszavonás...", + + // "item.edit.tabs.status.buttons.withdraw.label": "Withdraw item from the repository", + "item.edit.tabs.status.buttons.withdraw.label": "Tárgy visszavonása az adattárból", + + // "item.edit.tabs.status.description": "Welcome to the item management page. From here you can withdraw, reinstate, move or delete the item. You may also update or add new metadata / bitstreams on the other tabs.", + "item.edit.tabs.status.description": "Üdvözöljük a tárgyak szervezése oldalon. Itt visszavonhat, visszaállíthat, költöztethet vagy törölhet tárgyakat. Ugyanitt frissíthet metaadatokat illetve bitfolyamokat a többi fülnél, vagy újakat adhat hozzá", + + // "item.edit.tabs.status.head": "Status", + "item.edit.tabs.status.head": "Állapot", + + // "item.edit.tabs.status.labels.handle": "Handle", + "item.edit.tabs.status.labels.handle": "Mutató", + + // "item.edit.tabs.status.labels.id": "Item Internal ID", + "item.edit.tabs.status.labels.id": "Tárgy belső azonosító", + + // "item.edit.tabs.status.labels.itemPage": "Item Page", + "item.edit.tabs.status.labels.itemPage": "Tárgy oldala", + + // "item.edit.tabs.status.labels.lastModified": "Last Modified", + "item.edit.tabs.status.labels.lastModified": "Utoljára módosították", + + // "item.edit.tabs.status.title": "Item Edit - Status", + "item.edit.tabs.status.title": "Tárgy szerkesztése - Állapot", + + // "item.edit.tabs.versionhistory.head": "Version History", + "item.edit.tabs.versionhistory.head": "Változatok története", + + // "item.edit.tabs.versionhistory.title": "Item Edit - Version History", + "item.edit.tabs.versionhistory.title": "Tárgy szerkesztése - Változatok története", + + // "item.edit.tabs.versionhistory.under-construction": "Editing or adding new versions is not yet possible in this user interface.", + "item.edit.tabs.versionhistory.under-construction": "Változatok szerkesztése, vagy újak hozzáadása ezen a felületen még nem lehetséges.", + + // "item.edit.tabs.view.head": "View Item", + "item.edit.tabs.view.head": "Tárgy megtekintése", + + // "item.edit.tabs.view.title": "Item Edit - View", + "item.edit.tabs.view.title": "Tárgy szerkesztése - Megtekintés", + + + + // "item.edit.withdraw.cancel": "Cancel", + "item.edit.withdraw.cancel": "Mégse", + + // "item.edit.withdraw.confirm": "Withdraw", + "item.edit.withdraw.confirm": "Visszavonás", + + // "item.edit.withdraw.description": "Are you sure this item should be withdrawn from the archive?", + "item.edit.withdraw.description": "Biztosan vissza akarja vonni ezt a tárgyat az archívumból?", + + // "item.edit.withdraw.error": "An error occurred while withdrawing the item", + "item.edit.withdraw.error": "Tárgy visszavonásakor hiba történt", + + // "item.edit.withdraw.header": "Withdraw item: {{ id }}", + "item.edit.withdraw.header": "Tárgy visszavonása: {{ id }}", + + // "item.edit.withdraw.success": "The item was withdrawn successfully", + "item.edit.withdraw.success": "Tárgy visszavonása sikerült", + + + + // "item.listelement.badge": "Item", + "item.listelement.badge": "Elem", + + // "item.page.description": "Description", + "item.page.description": "Leírás", + + // "item.page.edit": "Edit this item", + "item.page.edit": "Elem szerkesztése", + + // "item.page.journal-issn": "Journal ISSN", + "item.page.journal-issn": "Folyóirat ISSN", + + // "item.page.journal-title": "Journal Title", + "item.page.journal-title": "Folyóirat címe", + + // "item.page.publisher": "Publisher", + "item.page.publisher": "Kiadó", + + // "item.page.titleprefix": "Item: ", + "item.page.titleprefix": "Elem: ", + + // "item.page.volume-title": "Volume Title", + "item.page.volume-title": "Kötet címe", + + // "item.search.results.head": "Item Search Results", + "item.search.results.head": "Elem keresésének eredménye", + + // "item.search.title": "DSpace Angular :: Item Search", + "item.search.title": "DSpace Angular :: Elem Keresése", + + + + // "item.page.abstract": "Abstract", + "item.page.abstract": "Kivonat", + + // "item.page.author": "Authors", + "item.page.author": "Szerzők", + + // "item.page.citation": "Citation", + "item.page.citation": "Idézések", + + // "item.page.collections": "Collections", + "item.page.collections": "Gyűjtemények", + + // "item.page.date": "Date", + "item.page.date": "Dátum", + + // "item.page.edit": "Edit this item", + "item.page.edit": "Elem szerkesztése", + + // "item.page.files": "Files", + "item.page.files": "Állományok", + + // "item.page.filesection.description": "Description:", + "item.page.filesection.description": "Leírás:", + + // "item.page.filesection.download": "Download", + "item.page.filesection.download": "Letöltés", + + // "item.page.filesection.format": "Format:", + "item.page.filesection.format": "Formátum:", + + // "item.page.filesection.name": "Name:", + "item.page.filesection.name": "Név:", + + // "item.page.filesection.size": "Size:", + "item.page.filesection.size": "Méret:", + + // "item.page.journal.search.title": "Articles in this journal", + "item.page.journal.search.title": "Cikkek ebben a kiadványban", + + // "item.page.link.full": "Full item page", + "item.page.link.full": "Teljes tárgy oldala", + + // "item.page.link.simple": "Simple item page", + "item.page.link.simple": "Egyszerű tárgy oldala", + + // "item.page.person.search.title": "Articles by this author", + "item.page.person.search.title": "Cikkek ettől a szerzőtől", + + // "item.page.related-items.view-more": "Show {{ amount }} more", + "item.page.related-items.view-more": "Mutasson {{ amount }} többet", + + // "item.page.related-items.view-less": "Hide last {{ amount }}", + "item.page.related-items.view-less": "Rejtse el az utolsó {{ amount }}", + + // "item.page.relationships.isAuthorOfPublication": "Publications", + "item.page.relationships.isAuthorOfPublication": "Publikációk", + + // "item.page.relationships.isJournalOfPublication": "Publications", + "item.page.relationships.isJournalOfPublication": "Publikációk", + + // "item.page.relationships.isOrgUnitOfPerson": "Authors", + "item.page.relationships.isOrgUnitOfPerson": "Szerzők", + + // "item.page.relationships.isOrgUnitOfProject": "Research Projects", + "item.page.relationships.isOrgUnitOfProject": "Kutatási projektek", + + // "item.page.subject": "Keywords", + "item.page.subject": "Kulcsszavak", + + // "item.page.uri": "URI", + "item.page.uri": "URI", + + // "item.page.bitstreams.view-more": "Show more", + "item.page.bitstreams.view-more": "Mutass többet", + + // "item.page.bitstreams.collapse": "Collapse", + "item.page.bitstreams.collapse": "Bezár", + + // "item.page.filesection.original.bundle" : "Original bundle", + "item.page.filesection.original.bundle" : "Eredeti csomag", + + // "item.page.filesection.license.bundle" : "License bundle", + "item.page.filesection.license.bundle" : "Licenccsomag", + + // "item.preview.dc.identifier.uri": "Identifier:", + "item.preview.dc.identifier.uri": "Azonosító:", + + // "item.preview.dc.contributor.author": "Authors:", + "item.preview.dc.contributor.author": "Szerzők:", + + // "item.preview.dc.date.issued": "Published date:", + "item.preview.dc.date.issued": "Kiadás dátuma:", + + // "item.preview.dc.description.abstract": "Abstract:", + "item.preview.dc.description.abstract": "Kivonat:", + + // "item.preview.dc.identifier.other": "Other identifier:", + "item.preview.dc.identifier.other": "Más azonosító:", + + // "item.preview.dc.language.iso": "Language:", + "item.preview.dc.language.iso": "Nyelv:", + + // "item.preview.dc.subject": "Subjects:", + "item.preview.dc.subject": "Téma:", + + // "item.preview.dc.title": "Title:", + "item.preview.dc.title": "Cím:", + + // "item.preview.person.familyName": "Surname:", + "item.preview.person.familyName": "Keresztnév:", + + // "item.preview.person.givenName": "Name:", + "item.preview.person.givenName": "Vezetéknév:", + + // "item.preview.person.identifier.orcid": "ORCID:", + "item.preview.person.identifier.orcid": "ORCID:", + + + // "item.select.confirm": "Confirm selected", + "item.select.confirm": "Kiválasztás igazolása", + + // "item.select.empty": "No items to show", + "item.select.empty": "Nincs megtekinthető tárgy", + + // "item.select.table.author": "Author", + "item.select.table.author": "Szerző", + + // "item.select.table.collection": "Collection", + "item.select.table.collection": "Gyűjtemény", + + // "item.select.table.title": "Title", + "item.select.table.title": "Cím", + + + // "item.version.history.empty": "There are no other versions for this item yet.", + "item.version.history.empty": "Ennek a tárgynak még nincs más változata.", + + // "item.version.history.head": "Version History", + "item.version.history.head": "Változatok története", + + // "item.version.history.return": "Return", + "item.version.history.return": "Vissza", + + // "item.version.history.selected": "Selected version", + "item.version.history.selected": "Kiválasztott változat", + + // "item.version.history.table.version": "Version", + "item.version.history.table.version": "Változat", + + // "item.version.history.table.item": "Item", + "item.version.history.table.item": "Tárgy", + + // "item.version.history.table.editor": "Editor", + "item.version.history.table.editor": "Kiadó", + + // "item.version.history.table.date": "Date", + "item.version.history.table.date": "Dátum", + + // "item.version.history.table.summary": "Summary", + "item.version.history.table.summary": "Összefoglaló", + + + + // "item.version.notice": "This is not the latest version of this item. The latest version can be found here.", + "item.version.notice": "Ez nem ennek a tárgynak a legutóbbi változata. A legutóbbi változat megtalálható itt here.", + + + + // "journal.listelement.badge": "Journal", + "journal.listelement.badge": "Folyóirat", + + // "journal.page.description": "Description", + "journal.page.description": "Leírás", + + // "journal.page.edit": "Edit this item", + "journal.page.edit": "Elem szerkesztése", + + // "journal.page.editor": "Editor-in-Chief", + "journal.page.editor": "Főszerkesztő", + + // "journal.page.issn": "ISSN", + "journal.page.issn": "ISSN", + + // "journal.page.publisher": "Publisher", + "journal.page.publisher": "Kiadó", + + // "journal.page.titleprefix": "Journal: ", + "journal.page.titleprefix": "Folyóirat: ", + + // "journal.search.results.head": "Journal Search Results", + "journal.search.results.head": "Folyóirat keresési eredmények", + + // "journal.search.title": "DSpace Angular :: Journal Search", + "journal.search.title": "DSpace Angular :: Folyóirat keresés", + + + + // "journalissue.listelement.badge": "Journal Issue", + "journalissue.listelement.badge": "Folyóirat szám", + + // "journalissue.page.description": "Description", + "journalissue.page.description": "Leírás", + + // "journalissue.page.edit": "Edit this item", + "journalissue.page.edit": "Elem szerkesztése", + + // "journalissue.page.issuedate": "Issue Date", + "journalissue.page.issuedate": "Megjelenés dátuma", + + // "journalissue.page.journal-issn": "Journal ISSN", + "journalissue.page.journal-issn": "Folyóirat ISSN", + + // "journalissue.page.journal-title": "Journal Title", + "journalissue.page.journal-title": "Folyóirat címe", + + // "journalissue.page.keyword": "Keywords", + "journalissue.page.keyword": "Kulcsszavak", + + // "journalissue.page.number": "Number", + "journalissue.page.number": "Szám", + + // "journalissue.page.titleprefix": "Journal Issue: ", + "journalissue.page.titleprefix": "Folyóirat száma: ", + + + + // "journalvolume.listelement.badge": "Journal Volume", + "journalvolume.listelement.badge": "Folyóirat kötet", + + // "journalvolume.page.description": "Description", + "journalvolume.page.description": "Leírás", + + // "journalvolume.page.edit": "Edit this item", + "journalvolume.page.edit": "Elem szerkesztése", + + // "journalvolume.page.issuedate": "Issue Date", + "journalvolume.page.issuedate": "Megjelenés dátuma", + + // "journalvolume.page.titleprefix": "Journal Volume: ", + "journalvolume.page.titleprefix": "Folyóirat kötet: ", + + // "journalvolume.page.volume": "Volume", + "journalvolume.page.volume": "Kötet", + + + + // "loading.bitstream": "Loading bitstream...", + "loading.bitstream": "Bitfolyam betöltése...", + + // "loading.bitstreams": "Loading bitstreams...", + "loading.bitstreams": "Bitfolyamok betöltése...", + + // "loading.browse-by": "Loading items...", + "loading.browse-by": "Tárgy betöltése...", + + // "loading.browse-by-page": "Loading page...", + "loading.browse-by-page": "Oldal betöltése...", + + // "loading.collection": "Loading collection...", + "loading.collection": "Gyűjtemény betöltése...", + + // "loading.collections": "Loading collections...", + "loading.collections": "Gyűjtemények betöltése...", + + // "loading.content-source": "Loading content source...", + "loading.content-source": "tartalom forrásának betöltése...", + + // "loading.community": "Loading community...", + "loading.community": "Közösség betöltése...", + + // "loading.default": "Loading...", + "loading.default": "Betöltés...", + + // "loading.item": "Loading item...", + "loading.item": "Tárgy betöltése...", + + // "loading.items": "Loading items...", + "loading.items": "Tárgyak betöltése...", + + // "loading.mydspace-results": "Loading items...", + "loading.mydspace-results": "Tárgyak betöltése...", + + // "loading.objects": "Loading...", + "loading.objects": "betöltés...", + + // "loading.recent-submissions": "Loading recent submissions...", + "loading.recent-submissions": "Legújabb feltöltések betöltése...", + + // "loading.search-results": "Loading search results...", + "loading.search-results": "keresési eredmények betöltése...", + + // "loading.sub-collections": "Loading sub-collections...", + "loading.sub-collections": "Algyűjtemények betöltése...", + + // "loading.sub-communities": "Loading sub-communities...", + "loading.sub-communities": "Alközösségek betöltése...", + + // "loading.top-level-communities": "Loading top-level communities...", + "loading.top-level-communities": "Csúcsszintű közösségek betöltése...", + + + + // "login.form.email": "Email address", + "login.form.email": "Email cím", + + // "login.form.forgot-password": "Have you forgotten your password?", + "login.form.forgot-password": "Elfelejtette a jelszót?", + + // "login.form.header": "Please log in to DSpace", + "login.form.header": "Lépjen be a DSpace-re", + + // "login.form.new-user": "New user? Click here to register.", + "login.form.new-user": "Új felhasználó? Kattintson ide a regisztráláshoz.", + + // "login.form.or-divider": "or", + "login.form.or-divider": "vagy", + + // "login.form.password": "Password", + "login.form.password": "Jelszó", + + // "login.form.shibboleth": "Log in with Shibboleth", + "login.form.shibboleth": "Lépjen be Shibboleth-el", + + // "login.form.submit": "Log in", + "login.form.submit": "Belépés", + + // "login.title": "Login", + "login.title": "Belépés", + + // "login.breadcrumbs": "Login", + "login.breadcrumbs": "Belépés", + + + + // "logout.form.header": "Log out from DSpace", + "logout.form.header": "Kilépés a DSpace-ből", + + // "logout.form.submit": "Log out", + "logout.form.submit": "Kilépés", + + // "logout.title": "Logout", + "logout.title": "Kilépés", + + + + // "menu.header.admin": "Admin", + "menu.header.admin": "Admin", + + // "menu.header.image.logo": "Repository logo", + "menu.header.image.logo": "Adattár logo", + + + + // "menu.section.access_control": "Access Control", + "menu.section.access_control": "Hozzáférési kontroll", + + // "menu.section.access_control_authorizations": "Authorizations", + "menu.section.access_control_authorizations": "Engedélyezések", + + // "menu.section.access_control_groups": "Groups", + "menu.section.access_control_groups": "csoportok", + + // "menu.section.access_control_people": "People", + "menu.section.access_control_people": "Emberek", + + + + // "menu.section.admin_search": "Admin Search", "menu.section.admin_search": "Admin keresés", - - - -// "uploader.browse": "browse", + + + + // "menu.section.browse_community": "This Community", + "menu.section.browse_community": "ez a közösség", + + // "menu.section.browse_community_by_author": "By Author", + "menu.section.browse_community_by_author": "Szerző szerint", + + // "menu.section.browse_community_by_issue_date": "By Issue Date", + "menu.section.browse_community_by_issue_date": "Megjelenés dátuma szerint", + + // "menu.section.browse_community_by_title": "By Title", + "menu.section.browse_community_by_title": "Cím szerint", + + // "menu.section.browse_global": "All of DSpace", + "menu.section.browse_global": "A teljes DSpace", + + // "menu.section.browse_global_by_author": "By Author", + "menu.section.browse_global_by_author": "Szerző szerint", + + // "menu.section.browse_global_by_dateissued": "By Issue Date", + "menu.section.browse_global_by_dateissued": "Megjelenés dátuma szerint", + + // "menu.section.browse_global_by_subject": "By Subject", + "menu.section.browse_global_by_subject": "Tárgy szerint", + + // "menu.section.browse_global_by_title": "By Title", + "menu.section.browse_global_by_title": "Cím szerint", + + // "menu.section.browse_global_communities_and_collections": "Communities & Collections", + "menu.section.browse_global_communities_and_collections": "Közösségek & Gyűjtemények", + + + + // "menu.section.control_panel": "Control Panel", + "menu.section.control_panel": "Vezérlőpult", + + // "menu.section.curation_task": "Curation Task", + "menu.section.curation_task": "Gondozási feladat", + + + + // "menu.section.edit": "Edit", + "menu.section.edit": "Szerkesztés", + + // "menu.section.edit_collection": "Collection", + "menu.section.edit_collection": "Gyűjtemény", + + // "menu.section.edit_community": "Community", + "menu.section.edit_community": "Közösség", + + // "menu.section.edit_item": "Item", + "menu.section.edit_item": "Tárgy", + + + + // "menu.section.export": "Export", + "menu.section.export": "Export", + + // "menu.section.export_collection": "Collection", + "menu.section.export_collection": "Gyűjtemény", + + // "menu.section.export_community": "Community", + "menu.section.export_community": "Közösség", + + // "menu.section.export_item": "Item", + "menu.section.export_item": "Tárgy", + + // "menu.section.export_metadata": "Metadata", + "menu.section.export_metadata": "Metaadat", + + + + // "menu.section.icon.access_control": "Access Control menu section", + "menu.section.icon.access_control": "Hozzáférés kontroll menü felület", + + // "menu.section.icon.admin_search": "Admin search menu section", + "menu.section.icon.admin_search": "Admin keresés menü felület", + + // "menu.section.icon.control_panel": "Control Panel menu section", + "menu.section.icon.control_panel": "Vezérlőpult menü felület", + + // "menu.section.icon.curation_task": "Curation Task menu section", + "menu.section.icon.curation_task": "Gondozási feladat menü felület", + + // "menu.section.icon.edit": "Edit menu section", + "menu.section.icon.edit": "Szerkesztés menü felület", + + // "menu.section.icon.export": "Export menu section", + "menu.section.icon.export": "Export menü felület", + + // "menu.section.icon.find": "Find menu section", + "menu.section.icon.find": "Keresés menü felület", + + // "menu.section.icon.import": "Import menu section", + "menu.section.icon.import": "Import menü felület", + + // "menu.section.icon.new": "New menu section", + "menu.section.icon.new": "Új menü felület", + + // "menu.section.icon.pin": "Pin sidebar", + "menu.section.icon.pin": "Oldalsáv rögzítése", + + // "menu.section.icon.processes": "Processes menu section", + "menu.section.icon.processes": "Menü felület feldolgozása", + + // "menu.section.icon.registries": "Registries menu section", + "menu.section.icon.registries": "Leíró adatbázis menü felület", + + // "menu.section.icon.statistics_task": "Statistics Task menu section", + "menu.section.icon.statistics_task": "Statisztikai feladatok menü felület", + + // "menu.section.icon.unpin": "Unpin sidebar", + "menu.section.icon.unpin": "Oldalbár rögzítés megszüntetése", + + + + // "menu.section.import": "Import", + "menu.section.import": "Import", + + // "menu.section.import_batch": "Batch Import (ZIP)", + "menu.section.import_batch": "Csomag Import (ZIP)", + + // "menu.section.import_metadata": "Metadata", + "menu.section.import_metadata": "Metaadat", + + + + // "menu.section.new": "New", + "menu.section.new": "Új", + + // "menu.section.new_collection": "Collection", + "menu.section.new_collection": "Gyűjtemény", + + // "menu.section.new_community": "Community", + "menu.section.new_community": "Közösség", + + // "menu.section.new_item": "Item", + "menu.section.new_item": "Tárgy", + + // "menu.section.new_item_version": "Item Version", + "menu.section.new_item_version": "Tárgy változat", + + // "menu.section.new_process": "Process", + "menu.section.new_process": "Folyamat", + + + + // "menu.section.pin": "Pin sidebar", + "menu.section.pin": "Oldalsáv rögzítése", + + // "menu.section.unpin": "Unpin sidebar", + "menu.section.unpin": "Oldalsáv rögzítés megszüntetése", + + + + // "menu.section.processes": "Processes", + "menu.section.processes": "Folyamatok", + + + + // "menu.section.registries": "Registries", + "menu.section.registries": "Leíró adatbázisok", + + // "menu.section.registries_format": "Format", + "menu.section.registries_format": "Formátum", + + // "menu.section.registries_metadata": "Metadata", + "menu.section.registries_metadata": "Metaadat", + + + + // "menu.section.statistics": "Statistics", + "menu.section.statistics": "Statisztikák", + + // "menu.section.statistics_task": "Statistics Task", + "menu.section.statistics_task": "Statisztikai feladatok", + + + + // "menu.section.toggle.access_control": "Toggle Access Control section", + "menu.section.toggle.access_control": "Váltás a Hozzáférés kontrol felületre", + + // "menu.section.toggle.control_panel": "Toggle Control Panel section", + "menu.section.toggle.control_panel": "Váltás a Vezérlőpult felületre", + + // "menu.section.toggle.curation_task": "Toggle Curation Task section", + "menu.section.toggle.curation_task": "Gondozási feladat felületre váltás", + + // "menu.section.toggle.edit": "Toggle Edit section", + "menu.section.toggle.edit": "Szerkesztés felületre váltás", + + // "menu.section.toggle.export": "Toggle Export section", + "menu.section.toggle.export": "Export felületre váltás", + + // "menu.section.toggle.find": "Toggle Find section", + "menu.section.toggle.find": "Kereső felületre váltás", + + // "menu.section.toggle.import": "Toggle Import section", + "menu.section.toggle.import": "Import felületre váltás", + + // "menu.section.toggle.new": "Toggle New section", + "menu.section.toggle.new": "Új felületre váltás", + + // "menu.section.toggle.registries": "Toggle Registries section", + "menu.section.toggle.registries": "Leíró adatbázisok felületre váltás", + + // "menu.section.toggle.statistics_task": "Toggle Statistics Task section", + "menu.section.toggle.statistics_task": "Statisztikai feladatok felületre váltás", + + + // "menu.section.workflow": "Administer Workflow", + "menu.section.workflow": "Munkafolyamat irányítása", + + + // "mydspace.description": "", + "mydspace.description": "", + + // "mydspace.general.text-here": "here", + "mydspace.general.text-here": "itt", + + // "mydspace.messages.controller-help": "Select this option to send a message to item's submitter.", + "mydspace.messages.controller-help": "Válassza ezt, hogy üzenjen a tárgy feltöltőjének.", + + // "mydspace.messages.description-placeholder": "Insert your message here...", + "mydspace.messages.description-placeholder": "Írja ide az üzenetét...", + + // "mydspace.messages.hide-msg": "Hide message", + "mydspace.messages.hide-msg": "Rejtse el az üzenetet", + + // "mydspace.messages.mark-as-read": "Mark as read", + "mydspace.messages.mark-as-read": "Jelölje meg elolvasottként", + + // "mydspace.messages.mark-as-unread": "Mark as unread", + "mydspace.messages.mark-as-unread": "Jelölje meg el nem olvasottként", + + // "mydspace.messages.no-content": "No content.", + "mydspace.messages.no-content": "Nincs tartalom.", + + // "mydspace.messages.no-messages": "No messages yet.", + "mydspace.messages.no-messages": "Még nincs üzenet.", + + // "mydspace.messages.send-btn": "Send", + "mydspace.messages.send-btn": "Elküld", + + // "mydspace.messages.show-msg": "Show message", + "mydspace.messages.show-msg": "Üzenetet megjelenít", + + // "mydspace.messages.subject-placeholder": "Subject...", + "mydspace.messages.subject-placeholder": "Tárgy...", + + // "mydspace.messages.submitter-help": "Select this option to send a message to controller.", + "mydspace.messages.submitter-help": "Válassza ezt, hogy üzenjen a kontrollernek.", + + // "mydspace.messages.title": "Messages", + "mydspace.messages.title": "Üzenetek", + + // "mydspace.messages.to": "To", + "mydspace.messages.to": "Címzett", + + // "mydspace.new-submission": "New submission", + "mydspace.new-submission": "Új feltöltés", + + // "mydspace.new-submission-external": "Import metadata from external source", + "mydspace.new-submission-external": "Metaadat importálása külső forrásból", + + // "mydspace.new-submission-external-short": "Import metadata", + "mydspace.new-submission-external-short": "Metaadat importálása", + + // "mydspace.results.head": "Your submissions", + "mydspace.results.head": "Az ön feltöltései", + + // "mydspace.results.no-abstract": "No Abstract", + "mydspace.results.no-abstract": "Nincs kivonat", + + // "mydspace.results.no-authors": "No Authors", + "mydspace.results.no-authors": "Nincsenek szerzők", + + // "mydspace.results.no-collections": "No Collections", + "mydspace.results.no-collections": "Nincs gyűjtemény", + + // "mydspace.results.no-date": "No Date", + "mydspace.results.no-date": "Nincs dátum", + + // "mydspace.results.no-files": "No Files", + "mydspace.results.no-files": "Nincs állomány", + + // "mydspace.results.no-results": "There were no items to show", + "mydspace.results.no-results": "Nincs megjeleníthető tárgy", + + // "mydspace.results.no-title": "No title", + "mydspace.results.no-title": "Nincs cím", + + // "mydspace.results.no-uri": "No Uri", + "mydspace.results.no-uri": "Nincs Uri", + + // "mydspace.show.workflow": "All tasks", + "mydspace.show.workflow": "Valamennyi feladat", + + // "mydspace.show.workspace": "Your Submissions", + "mydspace.show.workspace": "Az ön feltöltései", + + // "mydspace.status.archived": "Archived", + "mydspace.status.archived": "Tárolva", + + // "mydspace.status.validation": "Validation", + "mydspace.status.validation": "Érvényesítés", + + // "mydspace.status.waiting-for-controller": "Waiting for controller", + "mydspace.status.waiting-for-controller": "Várakozás a kontrollerre", + + // "mydspace.status.workflow": "Workflow", + "mydspace.status.workflow": "Munkafolyamat", + + // "mydspace.status.workspace": "Workspace", + "mydspace.status.workspace": "Munkafelület", + + // "mydspace.title": "MyDSpace", + "mydspace.title": "MyDSpace", + + // "mydspace.upload.upload-failed": "Error creating new workspace. Please verify the content uploaded before retry.", + "mydspace.upload.upload-failed": "Új munkafelület létrehozásakor hiba történt. Kérjük ellenőrizze a tartalmat mielőtt újra próbálkozna.", + + // "mydspace.upload.upload-failed-manyentries": "Unprocessable file. Detected too many entries but allowed only one for file.", + "mydspace.upload.upload-failed-manyentries": "Feldolgozhatalan fájl. Több elem észlelve, de fájlonként csak egy engedélyezve.", + + // "mydspace.upload.upload-failed-moreonefile": "Unprocessable request. Only one file is allowed.", + "mydspace.upload.upload-failed-moreonefile": "Feldolgozhatalan kérés. Csak egy fájl van engedélyezve.", + + // "mydspace.upload.upload-multiple-successful": "{{qty}} new workspace items created.", + "mydspace.upload.upload-multiple-successful": "{{qty}} Új munkafelület tárgyak létrehozva.", + + // "mydspace.upload.upload-successful": "New workspace item created. Click {{here}} for edit it.", + "mydspace.upload.upload-successful": "Új munkafelület tárgy létrehozva. Kattintson {{here}} hogy szerkessze.", + + // "mydspace.view-btn": "View", + "mydspace.view-btn": "Megtekintés", + + + + // "nav.browse.header": "All of DSpace", + "nav.browse.header": "A teljes DSpace", + + // "nav.community-browse.header": "By Community", + "nav.community-browse.header": "Közösség szerint", + + // "nav.language": "Language switch", + "nav.language": "Nyelvváltás", + + // "nav.login": "Log In", + "nav.login": "Belépés", + + // "nav.logout": "Log Out", + "nav.logout": "Kilépés", + + // "nav.mydspace": "MyDSpace", + "nav.mydspace": "MyDSpace", + + // "nav.profile": "Profile", + "nav.profile": "Profil", + + // "nav.search": "Search", + "nav.search": "Keresés", + + // "nav.statistics.header": "Statistics", + "nav.statistics.header": "Statisztika", + + // "nav.stop-impersonating": "Stop impersonating EPerson", + "nav.stop-impersonating": "EPerson megszemélyesítésének leállítása", + + + + // "orgunit.listelement.badge": "Organizational Unit", + "orgunit.listelement.badge": "Szervezeti egység", + + // "orgunit.page.city": "City", + "orgunit.page.city": "Város", + + // "orgunit.page.country": "Country", + "orgunit.page.country": "Ország", + + // "orgunit.page.dateestablished": "Date established", + "orgunit.page.dateestablished": "Alapítási dátum", + + // "orgunit.page.description": "Description", + "orgunit.page.description": "Leírás", + + // "orgunit.page.edit": "Edit this item", + "orgunit.page.edit": "Elem szerkesztése", + + // "orgunit.page.id": "ID", + "orgunit.page.id": "Azonosító", + + // "orgunit.page.titleprefix": "Organizational Unit: ", + "orgunit.page.titleprefix": "Szervezeti egység: ", + + + + // "pagination.results-per-page": "Results Per Page", + "pagination.results-per-page": "Eredmények oldalanként", + + // "pagination.showing.detail": "{{ range }} of {{ total }}", + "pagination.showing.detail": "{{ range }} ennyiből {{ total }}", + + // "pagination.showing.label": "Now showing ", + "pagination.showing.label": "Jelenleg látható ", + + // "pagination.sort-direction": "Sort Options", + "pagination.sort-direction": "Rendszerezési lehetőségek", + + + + // "person.listelement.badge": "Person", + "person.listelement.badge": "Személy", + + // "person.listelement.no-title": "No name found", + "person.listelement.no-title": "A névre nincs találat", + + // "person.page.birthdate": "Birth Date", + "person.page.birthdate": "Születés dátuma", + + // "person.page.edit": "Edit this item", + "person.page.edit": "Elem szerkesztése", + + // "person.page.email": "Email Address", + "person.page.email": "Email cím", + + // "person.page.firstname": "First Name", + "person.page.firstname": "Keresztnév", + + // "person.page.jobtitle": "Job Title", + "person.page.jobtitle": "Munkakör", + + // "person.page.lastname": "Last Name", + "person.page.lastname": "Családnév", + + // "person.page.link.full": "Show all metadata", + "person.page.link.full": "valamennyi metaadat megjelenítése", + + // "person.page.orcid": "ORCID", + "person.page.orcid": "ORCID", + + // "person.page.staffid": "Staff ID", + "person.page.staffid": "Személyzeti azonosító", + + // "person.page.titleprefix": "Person: ", + "person.page.titleprefix": "Személy: ", + + // "person.search.results.head": "Person Search Results", + "person.search.results.head": "Személy keresési eredmények", + + // "person.search.title": "DSpace Angular :: Person Search", + "person.search.title": "DSpace Angular :: Személy keresése", + + + + // "process.new.select-parameters": "Parameters", + "process.new.select-parameters": "Paraméterek", + + // "process.new.cancel": "Cancel", + "process.new.cancel": "Mégsem", + + // "process.new.submit": "Submit", + "process.new.submit": "Beküld", + + // "process.new.select-script": "Script", + "process.new.select-script": "Szkript", + + // "process.new.select-script.placeholder": "Choose a script...", + "process.new.select-script.placeholder": "Szkript kiválasztása...", + + // "process.new.select-script.required": "Script is required", + "process.new.select-script.required": "Szkript szükséges", + + // "process.new.parameter.file.upload-button": "Select file...", + "process.new.parameter.file.upload-button": "Fájl kiválasztása...", + + // "process.new.parameter.file.required": "Please select a file", + "process.new.parameter.file.required": "Kérem válasszon egy fájlt", + + // "process.new.parameter.string.required": "Parameter value is required", + "process.new.parameter.string.required": "Szüséges egy paraméter érték", + + // "process.new.parameter.type.value": "value", + "process.new.parameter.type.value": "érték", + + // "process.new.parameter.type.file": "file", + "process.new.parameter.type.file": "fájl", + + // "process.new.parameter.required.missing": "The following parameters are required but still missing:", + "process.new.parameter.required.missing": "A következő paraméter szükséges:", + + // "process.new.notification.success.title": "Success", + "process.new.notification.success.title": "Sikerült", + + // "process.new.notification.success.content": "The process was successfully created", + "process.new.notification.success.content": "A folyamat sikeresen létrehozva", + + // "process.new.notification.error.title": "Error", + "process.new.notification.error.title": "Hiba", + + // "process.new.notification.error.content": "An error occurred while creating this process", + "process.new.notification.error.content": "Hiba történt a folyamat létrehozásakor", + + // "process.new.header": "Create a new process", + "process.new.header": "Új folyamat létrehozása", + + // "process.new.title": "Create a new process", + "process.new.title": "Új folyamat létrehozása", + + // "process.new.breadcrumbs": "Create a new process", + "process.new.breadcrumbs": "Új folyamat létrehozása", + + + + // "process.detail.arguments" : "Arguments", + "process.detail.arguments" : "Érvek", + + // "process.detail.arguments.empty" : "This process doesn't contain any arguments", + "process.detail.arguments.empty" : "Ez a folyamat nem tartalmaz érveket", + + // "process.detail.back" : "Back", + "process.detail.back" : "Vissza", + + // "process.detail.output" : "Process Output", + "process.detail.output" : "Folyamat eredménye", + + // "process.detail.logs.button": "Retrieve process output", + "process.detail.logs.button": "Folyamatkimenet lekérése", + + // "process.detail.logs.loading": "Retrieving", + "process.detail.logs.loading": "Lekérés", + + // "process.detail.logs.none": "This process has no output", + "process.detail.logs.none": "Ennek a folyamatnak nincs kimenete", + + // "process.detail.output-files" : "Output Files", + "process.detail.output-files" : "Kimeneti fájlok", + + // "process.detail.output-files.empty" : "This process doesn't contain any output files", + "process.detail.output-files.empty" : "Ennek a folyamatnak nincsenek kimeneti fájljai", + + // "process.detail.script" : "Script", + "process.detail.script" : "Szkript", + + // "process.detail.title" : "Process: {{ id }} - {{ name }}", + "process.detail.title" : "Folyamat: {{ id }} - {{ name }}", + + // "process.detail.start-time" : "Start time", + "process.detail.start-time" : "Kezdési idő", + + // "process.detail.end-time" : "Finish time", + "process.detail.end-time" : "Végzési idő", + + // "process.detail.status" : "Status", + "process.detail.status" : "Állapot", + + // "process.detail.create" : "Create similar process", + "process.detail.create" : "Hasonló folyamat létrehozása", + + + + // "process.overview.table.finish" : "Finish time", + "process.overview.table.finish" : "Végzési idő", + + // "process.overview.table.id" : "Process ID", + "process.overview.table.id" : "Folyamat ID", + + // "process.overview.table.name" : "Name", + "process.overview.table.name" : "Név", + + // "process.overview.table.start" : "Start time", + "process.overview.table.start" : "Kezdési idő", + + // "process.overview.table.status" : "Status", + "process.overview.table.status" : "Állapot", + + // "process.overview.table.user" : "User", + "process.overview.table.user" : "Felhasználó", + + // "process.overview.title": "Processes Overview", + "process.overview.title": "Folyaamt áttekintő", + + // "process.overview.breadcrumbs": "Processes Overview", + "process.overview.breadcrumbs": "Folyamat áttekintő", + + // "process.overview.new": "New", + "process.overview.new": "Új", + + + // "profile.breadcrumbs": "Update Profile", + "profile.breadcrumbs": "Profil frissítése", + + // "profile.card.identify": "Identify", + "profile.card.identify": "Azonosít", + + // "profile.card.security": "Security", + "profile.card.security": "Biztonság", + + // "profile.form.submit": "Update Profile", + "profile.form.submit": "Profil frissítése", + + // "profile.groups.head": "Authorization groups you belong to", + "profile.groups.head": "Felhatalmazási csoportok amelyekhez ön tartozik", + + // "profile.head": "Update Profile", + "profile.head": "Profil frissítése", + + // "profile.metadata.form.error.firstname.required": "First Name is required", + "profile.metadata.form.error.firstname.required": "Keresztnév kötelező", + + // "profile.metadata.form.error.lastname.required": "Last Name is required", + "profile.metadata.form.error.lastname.required": "Családnév kötelező", + + // "profile.metadata.form.label.email": "Email Address", + "profile.metadata.form.label.email": "Email cím", + + // "profile.metadata.form.label.firstname": "First Name", + "profile.metadata.form.label.firstname": "Keresztnév", + + // "profile.metadata.form.label.language": "Language", + "profile.metadata.form.label.language": "Nyelv", + + // "profile.metadata.form.label.lastname": "Last Name", + "profile.metadata.form.label.lastname": "Családnév", + + // "profile.metadata.form.label.phone": "Contact Telephone", + "profile.metadata.form.label.phone": "Telefonos elérhetőség", + + // "profile.metadata.form.notifications.success.content": "Your changes to the profile were saved.", + "profile.metadata.form.notifications.success.content": "Profilmódosítások elmentve.", + + // "profile.metadata.form.notifications.success.title": "Profile saved", + "profile.metadata.form.notifications.success.title": "Profil elmentve", + + // "profile.notifications.warning.no-changes.content": "No changes were made to the Profile.", + "profile.notifications.warning.no-changes.content": "Profil nem módosult.", + + // "profile.notifications.warning.no-changes.title": "No changes", + "profile.notifications.warning.no-changes.title": "Nincs változtatás", + + // "profile.security.form.error.matching-passwords": "The passwords do not match.", + "profile.security.form.error.matching-passwords": "A jelszavak nem találnak.", + + // "profile.security.form.error.password-length": "The password should be at least 6 characters long.", + "profile.security.form.error.password-length": "A jelszó legalább 6 karakter hosszú kell, hogy legyen", + + // "profile.security.form.info": "Optionally, you can enter a new password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", + "profile.security.form.info": "Opcionálisan beírhatja jelszavát az alsó mezőbe majd igazolhatja azt, beírva a második mezőbe. Legalább hat karakter hosszú kell, hogy legyen.", + + // "profile.security.form.label.password": "Password", + "profile.security.form.label.password": "Jelszó", + + // "profile.security.form.label.passwordrepeat": "Retype to confirm", + "profile.security.form.label.passwordrepeat": "Írja be újra a jelszót", + + // "profile.security.form.notifications.success.content": "Your changes to the password were saved.", + "profile.security.form.notifications.success.content": "Jelszó módosítása elmentve.", + + // "profile.security.form.notifications.success.title": "Password saved", + "profile.security.form.notifications.success.title": "Jelszó elmentve", + + // "profile.security.form.notifications.error.title": "Error changing passwords", + "profile.security.form.notifications.error.title": "Jelszó megváltoztatásakor hiba történt", + + // "profile.security.form.notifications.error.not-long-enough": "The password has to be at least 6 characters long.", + "profile.security.form.notifications.error.not-long-enough": "A jelszó legalább 8 karakter kell, hogy legyen.", + + // "profile.security.form.notifications.error.not-same": "The provided passwords are not the same.", + "profile.security.form.notifications.error.not-same": "A megadott jelszavak nem azonosak.", + + // "profile.title": "Update Profile", + "profile.title": "Profil frissítése", + + + + // "project.listelement.badge": "Research Project", + "project.listelement.badge": "Kutatási projekt", + + // "project.page.contributor": "Contributors", + "project.page.contributor": "Közreműködők", + + // "project.page.description": "Description", + "project.page.description": "Leírás", + + // "project.page.edit": "Edit this item", + "project.page.edit": "Elem szerkesztése", + + // "project.page.expectedcompletion": "Expected Completion", + "project.page.expectedcompletion": "Várható befejezés", + + // "project.page.funder": "Funders", + "project.page.funder": "Támogatók", + + // "project.page.id": "ID", + "project.page.id": "Azonosító", + + // "project.page.keyword": "Keywords", + "project.page.keyword": "Kulcsszavak", + + // "project.page.status": "Status", + "project.page.status": "Állapot", + + // "project.page.titleprefix": "Research Project: ", + "project.page.titleprefix": "Kutatási projekt: ", + + // "project.search.results.head": "Project Search Results", + "project.search.results.head": "Projekt keresési eredmények", + + + + // "publication.listelement.badge": "Publication", + "publication.listelement.badge": "Publikáció", + + // "publication.page.description": "Description", + "publication.page.description": "Leírás", + + // "publication.page.edit": "Edit this item", + "publication.page.edit": "Elem szerkesztése", + + // "publication.page.journal-issn": "Journal ISSN", + "publication.page.journal-issn": "Folyóirat ISSN", + + // "publication.page.journal-title": "Journal Title", + "publication.page.journal-title": "Folyóirat címe", + + // "publication.page.publisher": "Publisher", + "publication.page.publisher": "Kiadó", + + // "publication.page.titleprefix": "Publication: ", + "publication.page.titleprefix": "Publikáció: ", + + // "publication.page.volume-title": "Volume Title", + "publication.page.volume-title": "Kötet címe", + + // "publication.search.results.head": "Publication Search Results", + "publication.search.results.head": "Publikáció keresési eredmények", + + // "publication.search.title": "DSpace Angular :: Publication Search", + "publication.search.title": "DSpace Angular :: Publikáció keresése", + + + // "register-email.title": "New user registration", + "register-email.title": "Új felhasználó regisztrálása", + + // "register-page.create-profile.header": "Create Profile", + "register-page.create-profile.header": "Profil létrehozása", + + // "register-page.create-profile.identification.header": "Identify", + "register-page.create-profile.identification.header": "Azonosítás", + + // "register-page.create-profile.identification.email": "Email Address", + "register-page.create-profile.identification.email": "E-mail cím", + + // "register-page.create-profile.identification.first-name": "First Name *", + "register-page.create-profile.identification.first-name": "Keresztnév *", + + // "register-page.create-profile.identification.first-name.error": "Please fill in a First Name", + "register-page.create-profile.identification.first-name.error": "Írja be a keresztnevet", + + // "register-page.create-profile.identification.last-name": "Last Name *", + "register-page.create-profile.identification.last-name": "Családnév *", + + // "register-page.create-profile.identification.last-name.error": "Please fill in a Last Name", + "register-page.create-profile.identification.last-name.error": "Írja be a családnevet", + + // "register-page.create-profile.identification.contact": "Contact Telephone", + "register-page.create-profile.identification.contact": "Telefonszám", + + // "register-page.create-profile.identification.language": "Language", + "register-page.create-profile.identification.language": "Nyelv", + + // "register-page.create-profile.security.header": "Security", + "register-page.create-profile.security.header": "Biztonság", + + // "register-page.create-profile.security.info": "Please enter a password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", + "register-page.create-profile.security.info": "Írjon be egy jelszót a lenti mezőbe, és írja be újra az alatta levőbe. Legalább hat karakter hosszú kell legyen.", + + // "register-page.create-profile.security.label.password": "Password *", + "register-page.create-profile.security.label.password": "Jelszó *", + + // "register-page.create-profile.security.label.passwordrepeat": "Retype to confirm *", + "register-page.create-profile.security.label.passwordrepeat": "Jelszó visszaigazolása *", + + // "register-page.create-profile.security.error.empty-password": "Please enter a password in the box below.", + "register-page.create-profile.security.error.empty-password": "Írja be a jelszót a lenti mezőbe.", + + // "register-page.create-profile.security.error.matching-passwords": "The passwords do not match.", + "register-page.create-profile.security.error.matching-passwords": "A jelszavak nem egyeznek.", + + // "register-page.create-profile.security.error.password-length": "The password should be at least 6 characters long.", + "register-page.create-profile.security.error.password-length": "A jelszó legalább 6 karakter hosszú kell legyen.", + + // "register-page.create-profile.submit": "Complete Registration", + "register-page.create-profile.submit": "Regisztráció befejezése", + + // "register-page.create-profile.submit.error.content": "Something went wrong while registering a new user.", + "register-page.create-profile.submit.error.content": "Hiba történt a regisztrációs folyamat során.", + + // "register-page.create-profile.submit.error.head": "Registration failed", + "register-page.create-profile.submit.error.head": "Hibás regisztráció", + + // "register-page.create-profile.submit.success.content": "The registration was successful. You have been logged in as the created user.", + "register-page.create-profile.submit.success.content": "Sikeres regisztráció. Beléphet a létrehozott felhasználóval.", + + // "register-page.create-profile.submit.success.head": "Registration completed", + "register-page.create-profile.submit.success.head": "Sikeres regisztráció", + + + // "register-page.registration.header": "New user registration", + "register-page.registration.header": "Új felhasználó regisztrálása", + + // "register-page.registration.info": "Register an account to subscribe to collections for email updates, and submit new items to DSpace.", + "register-page.registration.info": "Hozzon létre egy felhasználót, hogy feliratkozhasson gyűjtemények e-mail értesítésére, és új elemeket tölthessen fel a DSpace-be.", + + // "register-page.registration.email": "Email Address *", + "register-page.registration.email": "E-mail cím *", + + // "register-page.registration.email.error.required": "Please fill in an email address", + "register-page.registration.email.error.required": "Töltse ki az e-mail címet", + + // "register-page.registration.email.error.pattern": "Please fill in a valid email address", + "register-page.registration.email.error.pattern": "Írjon be egy érvényes e-mail címet", + + // "register-page.registration.email.hint": "This address will be verified and used as your login name.", + "register-page.registration.email.hint": "Az e-mail cím ellenőrizve lesz és evvel tud belépni a rendszerbe.", + + // "register-page.registration.submit": "Register", + "register-page.registration.submit": "Regisztráció", + + // "register-page.registration.success.head": "Verification email sent", + "register-page.registration.success.head": "Ellenőrző e-mail elküldve", + + // "register-page.registration.success.content": "An email has been sent to {{ email }} containing a special URL and further instructions.", + "register-page.registration.success.content": "Egy e-mail elküldve a(z) {{ email }} címre, tartalmaz egy speciális címet a további utasításokhoz.", + + // "register-page.registration.error.head": "Error when trying to register email", + "register-page.registration.error.head": "Hiba történt az e-mail cím regisztrációjakor", + + // "register-page.registration.error.content": "An error occured when registering the following email address: {{ email }}", + "register-page.registration.error.content": "Hiba történt a következő e-mail cím regisztrációjakor: {{ email }}", + + + + // "relationships.add.error.relationship-type.content": "No suitable match could be found for relationship type {{ type }} between the two items", + // TODO New key - Add a translation + "relationships.add.error.relationship-type.content": "No suitable match could be found for relationship type {{ type }} between the two items", + + // "relationships.add.error.server.content": "The server returned an error", + // TODO New key - Add a translation + "relationships.add.error.server.content": "The server returned an error", + + // "relationships.add.error.title": "Unable to add relationship", + // TODO New key - Add a translation + "relationships.add.error.title": "Unable to add relationship", + + // "relationships.isAuthorOf": "Authors", + "relationships.isAuthorOf": "Szerzők", + + // "relationships.isAuthorOf.Person": "Authors (persons)", + "relationships.isAuthorOf.Person": "Szerzők (személye)", + + // "relationships.isAuthorOf.OrgUnit": "Authors (organizational units)", + "relationships.isAuthorOf.OrgUnit": "Szerzők (szervezeti egységek)", + + // "relationships.isIssueOf": "Journal Issues", + "relationships.isIssueOf": "Folyóirat számok", + + // "relationships.isJournalIssueOf": "Journal Issue", + "relationships.isJournalIssueOf": "Folyóirat szám", + + // "relationships.isJournalOf": "Journals", + "relationships.isJournalOf": "Folyóiratok", + + // "relationships.isOrgUnitOf": "Organizational Units", + "relationships.isOrgUnitOf": "Szervezeti egységek", + + // "relationships.isPersonOf": "Authors", + "relationships.isPersonOf": "Szerzők", + + // "relationships.isProjectOf": "Research Projects", + "relationships.isProjectOf": "Kutatási projektek", + + // "relationships.isPublicationOf": "Publications", + "relationships.isPublicationOf": "Publikációk", + + // "relationships.isPublicationOfJournalIssue": "Articles", + "relationships.isPublicationOfJournalIssue": "Cikkek", + + // "relationships.isSingleJournalOf": "Journal", + "relationships.isSingleJournalOf": "Folyóirat", + + // "relationships.isSingleVolumeOf": "Journal Volume", + "relationships.isSingleVolumeOf": "Folyóirat kötet", + + // "relationships.isVolumeOf": "Journal Volumes", + "relationships.isVolumeOf": "Folyóirat kötetek", + + // "relationships.isContributorOf": "Contributors", + "relationships.isContributorOf": "Közreműködők", + + + + // "resource-policies.add.button": "Add", + "resource-policies.add.button": "Hozzáad", + + // "resource-policies.add.for.": "Add a new policy", + "resource-policies.add.for.": "Új szabály", + + // "resource-policies.add.for.bitstream": "Add a new Bitstream policy", + "resource-policies.add.for.bitstream": "Új Bitstream szabály", + + // "resource-policies.add.for.bundle": "Add a new Bundle policy", + "resource-policies.add.for.bundle": "Új Bundle szabály", + + // "resource-policies.add.for.item": "Add a new Item policy", + "resource-policies.add.for.item": "Új elem szabály", + + // "resource-policies.add.for.community": "Add a new Community policy", + "resource-policies.add.for.community": "Új közösségi szabály hozzáadása", + + // "resource-policies.add.for.collection": "Add a new Collection policy", + "resource-policies.add.for.collection": "Új gyűjtemény szabály hozzáadása", + + // "resource-policies.create.page.heading": "Create new resource policy for ", + "resource-policies.create.page.heading": "Új erőforráa szabály ...", + + // "resource-policies.create.page.failure.content": "An error occurred while creating the resource policy.", + "resource-policies.create.page.failure.content": "Hiba történt az erőforrás szabály létrehozásakor.", + + // "resource-policies.create.page.success.content": "Operation successful", + "resource-policies.create.page.success.content": "A művelet sikeres", + + // "resource-policies.create.page.title": "Create new resource policy", + "resource-policies.create.page.title": "Új erőforráa szabály", + + // "resource-policies.delete.btn": "Delete selected", + "resource-policies.delete.btn": "Kijelöltek törlése", + + // "resource-policies.delete.btn.title": "Delete selected resource policies", + "resource-policies.delete.btn.title": "Kijelölt erőforrás szabályok törlése", + + // "resource-policies.delete.failure.content": "An error occurred while deleting selected resource policies.", + "resource-policies.delete.failure.content": "Hiba történt az erőforrás szabályok törlésekor.", + + // "resource-policies.delete.success.content": "Operation successful", + "resource-policies.delete.success.content": "A művelet sikeres", + + // "resource-policies.edit.page.heading": "Edit resource policy ", + "resource-policies.edit.page.heading": "Erőfforás szabály szerkesztése ", + + // "resource-policies.edit.page.failure.content": "An error occurred while editing the resource policy.", + "resource-policies.edit.page.failure.content": "Hiba történt az erőforrás szabály szerkesztésekor.", + + // "resource-policies.edit.page.success.content": "Operation successful", + "resource-policies.edit.page.success.content": "A művelet sikeres", + + // "resource-policies.edit.page.title": "Edit resource policy", + "resource-policies.edit.page.title": "Erőfforás szabály szerkesztése", + + // "resource-policies.form.action-type.label": "Select the action type", + "resource-policies.form.action-type.label": "Művelet típus kiválasztása", + + // "resource-policies.form.action-type.required": "You must select the resource policy action.", + "resource-policies.form.action-type.required": "Ki kell válasszon egy műveletet.", + + // "resource-policies.form.eperson-group-list.label": "The eperson or group that will be granted the permission", + // TODO Source message changed - Revise the translation + "resource-policies.form.eperson-group-list.label": "Az eperson vagy csoport amihez rendeli a jogosultságot", + + // "resource-policies.form.eperson-group-list.select.btn": "Select", + "resource-policies.form.eperson-group-list.select.btn": "Kiválaszt", + + // "resource-policies.form.eperson-group-list.tab.eperson": "Search for a ePerson", + "resource-policies.form.eperson-group-list.tab.eperson": "ePerson keresése", + + // "resource-policies.form.eperson-group-list.tab.group": "Search for a group", + "resource-policies.form.eperson-group-list.tab.group": "Csoport keresése", + + // "resource-policies.form.eperson-group-list.table.headers.action": "Action", + "resource-policies.form.eperson-group-list.table.headers.action": "Művelet", + + // "resource-policies.form.eperson-group-list.table.headers.id": "ID", + "resource-policies.form.eperson-group-list.table.headers.id": "ID", + + // "resource-policies.form.eperson-group-list.table.headers.name": "Name", + "resource-policies.form.eperson-group-list.table.headers.name": "Név", + + // "resource-policies.form.date.end.label": "End Date", + "resource-policies.form.date.end.label": "Végső dátum", + + // "resource-policies.form.date.start.label": "Start Date", + "resource-policies.form.date.start.label": "Kezdő dátum", + + // "resource-policies.form.description.label": "Description", + "resource-policies.form.description.label": "Leírás", + + // "resource-policies.form.name.label": "Name", + "resource-policies.form.name.label": "Név", + + // "resource-policies.form.policy-type.label": "Select the policy type", + "resource-policies.form.policy-type.label": "Szabály típus kiválasztása", + + // "resource-policies.form.policy-type.required": "You must select the resource policy type.", + "resource-policies.form.policy-type.required": "Ki kell válasszon egy szabálytípust.", + + // "resource-policies.table.headers.action": "Action", + "resource-policies.table.headers.action": "Művelet", + + // "resource-policies.table.headers.date.end": "End Date", + "resource-policies.table.headers.date.end": "Végső dátum", + + // "resource-policies.table.headers.date.start": "Start Date", + "resource-policies.table.headers.date.start": "Kezdő dátum", + + // "resource-policies.table.headers.edit": "Edit", + "resource-policies.table.headers.edit": "Szerkeszt", + + // "resource-policies.table.headers.edit.group": "Edit group", + "resource-policies.table.headers.edit.group": "Csoport módosítása", + + // "resource-policies.table.headers.edit.policy": "Edit policy", + "resource-policies.table.headers.edit.policy": "Szabály módosítása", + + // "resource-policies.table.headers.eperson": "EPerson", + "resource-policies.table.headers.eperson": "EPerson", + + // "resource-policies.table.headers.group": "Group", + "resource-policies.table.headers.group": "Csoport", + + // "resource-policies.table.headers.id": "ID", + "resource-policies.table.headers.id": "ID", + + // "resource-policies.table.headers.name": "Name", + "resource-policies.table.headers.name": "Név", + + // "resource-policies.table.headers.policyType": "type", + "resource-policies.table.headers.policyType": "típus", + + // "resource-policies.table.headers.title.for.bitstream": "Policies for Bitstream", + "resource-policies.table.headers.title.for.bitstream": "Bitstream szabály", + + // "resource-policies.table.headers.title.for.bundle": "Policies for Bundle", + "resource-policies.table.headers.title.for.bundle": "Bundle szabály", + + // "resource-policies.table.headers.title.for.item": "Policies for Item", + "resource-policies.table.headers.title.for.item": "Elem szabály", + + // "resource-policies.table.headers.title.for.community": "Policies for Community", + "resource-policies.table.headers.title.for.community": "Közösségi szabályok", + + // "resource-policies.table.headers.title.for.collection": "Policies for Collection", + "resource-policies.table.headers.title.for.collection": "Gyűjtemény szabályok", + + + + // "search.description": "", + "search.description": "", + + // "search.switch-configuration.title": "Show", + "search.switch-configuration.title": "Megtekintés", + + // "search.title": "DSpace Angular :: Search", + "search.title": "DSpace Angular :: Keresés", + + // "search.breadcrumbs": "Search", + "search.breadcrumbs": "Keresés", + + + // "search.filters.applied.f.author": "Author", + "search.filters.applied.f.author": "Szerző", + + // "search.filters.applied.f.dateIssued.max": "End date", + "search.filters.applied.f.dateIssued.max": "Végső dátum", + + // "search.filters.applied.f.dateIssued.min": "Start date", + "search.filters.applied.f.dateIssued.min": "Kezdő dátum", + + // "search.filters.applied.f.dateSubmitted": "Date submitted", + "search.filters.applied.f.dateSubmitted": "Feltöltés dátuma", + + // "search.filters.applied.f.discoverable": "Private", + "search.filters.applied.f.discoverable": "Privát", + + // "search.filters.applied.f.entityType": "Item Type", + "search.filters.applied.f.entityType": "Tárgy típusa", + + // "search.filters.applied.f.has_content_in_original_bundle": "Has files", + "search.filters.applied.f.has_content_in_original_bundle": "Állományokat tartalmaz", + + // "search.filters.applied.f.itemtype": "Type", + "search.filters.applied.f.itemtype": "Típus", + + // "search.filters.applied.f.namedresourcetype": "Status", + "search.filters.applied.f.namedresourcetype": "Állapot", + + // "search.filters.applied.f.subject": "Subject", + "search.filters.applied.f.subject": "Tárgy", + + // "search.filters.applied.f.submitter": "Submitter", + "search.filters.applied.f.submitter": "Feltöltő", + + // "search.filters.applied.f.jobTitle": "Job Title", + "search.filters.applied.f.jobTitle": "Munkakör", + + // "search.filters.applied.f.birthDate.max": "End birth date", + "search.filters.applied.f.birthDate.max": "Születési dátum vége", + + // "search.filters.applied.f.birthDate.min": "Start birth date", + "search.filters.applied.f.birthDate.min": "Születési dátum eleje", + + // "search.filters.applied.f.withdrawn": "Withdrawn", + "search.filters.applied.f.withdrawn": "Visszavonva", + + + + // "search.filters.filter.author.head": "Author", + "search.filters.filter.author.head": "Szerző", + + // "search.filters.filter.author.placeholder": "Author name", + "search.filters.filter.author.placeholder": "Szerző neve", + + // "search.filters.filter.birthDate.head": "Birth Date", + "search.filters.filter.birthDate.head": "Születési dátum", + + // "search.filters.filter.birthDate.placeholder": "Birth Date", + "search.filters.filter.birthDate.placeholder": "Születési dátum", + + // "search.filters.filter.creativeDatePublished.head": "Date Published", + "search.filters.filter.creativeDatePublished.head": "Publikálás dátuma", + + // "search.filters.filter.creativeDatePublished.placeholder": "Date Published", + "search.filters.filter.creativeDatePublished.placeholder": "Publikálás dátuma", + + // "search.filters.filter.creativeWorkEditor.head": "Editor", + "search.filters.filter.creativeWorkEditor.head": "Szerkesztő", + + // "search.filters.filter.creativeWorkEditor.placeholder": "Editor", + "search.filters.filter.creativeWorkEditor.placeholder": "Szerkesztő", + + // "search.filters.filter.creativeWorkKeywords.head": "Subject", + "search.filters.filter.creativeWorkKeywords.head": "Tárgy", + + // "search.filters.filter.creativeWorkKeywords.placeholder": "Subject", + "search.filters.filter.creativeWorkKeywords.placeholder": "Tárgy", + + // "search.filters.filter.creativeWorkPublisher.head": "Publisher", + "search.filters.filter.creativeWorkPublisher.head": "Kiadó", + + // "search.filters.filter.creativeWorkPublisher.placeholder": "Publisher", + "search.filters.filter.creativeWorkPublisher.placeholder": "Kiadó", + + // "search.filters.filter.dateIssued.head": "Date", + "search.filters.filter.dateIssued.head": "Dátum", + + // "search.filters.filter.dateIssued.max.placeholder": "Minimum Date", + "search.filters.filter.dateIssued.max.placeholder": "Minimum Dátum", + + // "search.filters.filter.dateIssued.min.placeholder": "Maximum Date", + "search.filters.filter.dateIssued.min.placeholder": "Maximum Dátum", + + // "search.filters.filter.dateSubmitted.head": "Date submitted", + "search.filters.filter.dateSubmitted.head": "Feltöltés dátuma", + + // "search.filters.filter.dateSubmitted.placeholder": "Date submitted", + "search.filters.filter.dateSubmitted.placeholder": "Feltöltés dátuma", + + // "search.filters.filter.discoverable.head": "Private", + "search.filters.filter.discoverable.head": "Privát", + + // "search.filters.filter.withdrawn.head": "Withdrawn", + "search.filters.filter.withdrawn.head": "Visszavonva", + + // "search.filters.filter.entityType.head": "Item Type", + "search.filters.filter.entityType.head": "Tárgy típusa", + + // "search.filters.filter.entityType.placeholder": "Item Type", + "search.filters.filter.entityType.placeholder": "Tárgy típusa", + + // "search.filters.filter.has_content_in_original_bundle.head": "Has files", + "search.filters.filter.has_content_in_original_bundle.head": "Állományokat tartalmaz", + + // "search.filters.filter.itemtype.head": "Type", + "search.filters.filter.itemtype.head": "Típus", + + // "search.filters.filter.itemtype.placeholder": "Type", + "search.filters.filter.itemtype.placeholder": "Típus", + + // "search.filters.filter.jobTitle.head": "Job Title", + "search.filters.filter.jobTitle.head": "Munkakör", + + // "search.filters.filter.jobTitle.placeholder": "Job Title", + "search.filters.filter.jobTitle.placeholder": "Munkakör", + + // "search.filters.filter.knowsLanguage.head": "Known language", + "search.filters.filter.knowsLanguage.head": "Ismert nyelv", + + // "search.filters.filter.knowsLanguage.placeholder": "Known language", + "search.filters.filter.knowsLanguage.placeholder": "Ismert nyelv", + + // "search.filters.filter.namedresourcetype.head": "Status", + "search.filters.filter.namedresourcetype.head": "Állapot", + + // "search.filters.filter.namedresourcetype.placeholder": "Status", + "search.filters.filter.namedresourcetype.placeholder": "Állapot", + + // "search.filters.filter.objectpeople.head": "People", + "search.filters.filter.objectpeople.head": "Emberek", + + // "search.filters.filter.objectpeople.placeholder": "People", + "search.filters.filter.objectpeople.placeholder": "Emberek", + + // "search.filters.filter.organizationAddressCountry.head": "Country", + "search.filters.filter.organizationAddressCountry.head": "Országy", + + // "search.filters.filter.organizationAddressCountry.placeholder": "Country", + "search.filters.filter.organizationAddressCountry.placeholder": "Ország", + + // "search.filters.filter.organizationAddressLocality.head": "City", + "search.filters.filter.organizationAddressLocality.head": "Város", + + // "search.filters.filter.organizationAddressLocality.placeholder": "City", + "search.filters.filter.organizationAddressLocality.placeholder": "Város", + + // "search.filters.filter.organizationFoundingDate.head": "Date Founded", + "search.filters.filter.organizationFoundingDate.head": "Alapítás dátuma", + + // "search.filters.filter.organizationFoundingDate.placeholder": "Date Founded", + "search.filters.filter.organizationFoundingDate.placeholder": "Alapítás dátuma", + + // "search.filters.filter.scope.head": "Scope", + "search.filters.filter.scope.head": "Célja", + + // "search.filters.filter.scope.placeholder": "Scope filter", + "search.filters.filter.scope.placeholder": "Cél szűrő", + + // "search.filters.filter.show-less": "Collapse", + "search.filters.filter.show-less": "Összevon", + + // "search.filters.filter.show-more": "Show more", + "search.filters.filter.show-more": "Többet megjelenít", + + // "search.filters.filter.subject.head": "Subject", + "search.filters.filter.subject.head": "Tárgy", + + // "search.filters.filter.subject.placeholder": "Subject", + "search.filters.filter.subject.placeholder": "Tárgy", + + // "search.filters.filter.submitter.head": "Submitter", + "search.filters.filter.submitter.head": "Feltöltő", + + // "search.filters.filter.submitter.placeholder": "Submitter", + "search.filters.filter.submitter.placeholder": "Feltöltő", + + + + // "search.filters.entityType.JournalIssue": "Journal Issue", + "search.filters.entityType.JournalIssue": "Folyóirat száma", + + // "search.filters.entityType.JournalVolume": "Journal Volume", + "search.filters.entityType.JournalVolume": "JFolyóirat kötet", + + // "search.filters.entityType.OrgUnit": "Organizational Unit", + "search.filters.entityType.OrgUnit": "Szervezeti egység", + + // "search.filters.has_content_in_original_bundle.true": "Yes", + "search.filters.has_content_in_original_bundle.true": "Igen", + + // "search.filters.has_content_in_original_bundle.false": "No", + "search.filters.has_content_in_original_bundle.false": "Nem", + + // "search.filters.discoverable.true": "No", + "search.filters.discoverable.true": "Nem", + + // "search.filters.discoverable.false": "Yes", + "search.filters.discoverable.false": "Igen", + + // "search.filters.withdrawn.true": "Yes", + "search.filters.withdrawn.true": "Igen", + + // "search.filters.withdrawn.false": "No", + "search.filters.withdrawn.false": "Nem", + + + // "search.filters.head": "Filters", + "search.filters.head": "Szűrők", + + // "search.filters.reset": "Reset filters", + "search.filters.reset": "Szűrők visszaállítása", + + + + // "search.form.search": "Search", + "search.form.search": "keresés", + + // "search.form.search_dspace": "Search DSpace", + "search.form.search_dspace": "Keres a DSpace-en", + + // "search.form.search_mydspace": "Search MyDSpace", + "search.form.search_mydspace": "Keres a MyDSpace-en", + + + + // "search.results.head": "Search Results", + "search.results.head": "Keresési eredmények", + + // "search.results.no-results": "Your search returned no results. Having trouble finding what you're looking for? Try putting", + "search.results.no-results": "A keresésnek nincs eredménye. Nem találja amit keres? Próbálja", + + // "search.results.no-results-link": "quotes around it", + "search.results.no-results-link": "idézőjelek közé írni", + + // "search.results.empty": "Your search returned no results.", + "search.results.empty": "A keresésnek nincs eredménye.", + + + + // "search.sidebar.close": "Back to results", + "search.sidebar.close": "Vissza a szűrőkhöz", + + // "search.sidebar.filters.title": "Filters", + "search.sidebar.filters.title": "Szűrők", + + // "search.sidebar.open": "Search Tools", + "search.sidebar.open": "Kereső eszközök", + + // "search.sidebar.results": "results", + "search.sidebar.results": "eredmények", + + // "search.sidebar.settings.rpp": "Results per page", + "search.sidebar.settings.rpp": "Eredmények oldalanként", + + // "search.sidebar.settings.sort-by": "Sort By", + "search.sidebar.settings.sort-by": "Rendszerezés eszerint", + + // "search.sidebar.settings.title": "Settings", + "search.sidebar.settings.title": "Állítások", + + + + // "search.view-switch.show-detail": "Show detail", + "search.view-switch.show-detail": "Részletek megjelenítése", + + // "search.view-switch.show-grid": "Show as grid", + "search.view-switch.show-grid": "Megjelenítés rácsként", + + // "search.view-switch.show-list": "Show as list", + "search.view-switch.show-list": "Megjelenítés listaként", + + + + // "sorting.ASC": "Ascending", + "sorting.ASC": "Növekvő", + + // "sorting.DESC": "Descending", + "sorting.DESC": "Csökkenő", + + // "sorting.dc.title.ASC": "Title Ascending", + "sorting.dc.title.ASC": "Cím növekvő sorrendben", + + // "sorting.dc.title.DESC": "Title Descending", + "sorting.dc.title.DESC": "Cím csökkenő sorrendben", + + // "sorting.score.DESC": "Relevance", + "sorting.score.DESC": "Relevancia", + + + + // "statistics.title": "Statistics", + "statistics.title": "Statisztikák", + + // "statistics.header": "Statistics for {{ scope }}", + "statistics.header": "Statisztikák: {{ scope }}", + + // "statistics.breadcrumbs": "Statistics", + "statistics.breadcrumbs": "Statisztikák", + + // "statistics.page.no-data": "No data available", + "statistics.page.no-data": "Nincsenek adatok", + + // "statistics.table.no-data": "No data available", + "statistics.table.no-data": "Nincsenek adatok", + + // "statistics.table.title.TotalVisits": "Total visits", + "statistics.table.title.TotalVisits": "Összes látogatás", + + // "statistics.table.title.TotalVisitsPerMonth": "Total visits per month", + "statistics.table.title.TotalVisitsPerMonth": "Összes látogató a hónapban", + + // "statistics.table.title.TotalDownloads": "File Visits", + "statistics.table.title.TotalDownloads": "Fájl elérések", + + // "statistics.table.title.TopCountries": "Top country views", + "statistics.table.title.TopCountries": "Elérések országok szerint", + + // "statistics.table.title.TopCities": "Top city views", + "statistics.table.title.TopCities": "Elérések városok szerint", + + // "statistics.table.header.views": "Views", + "statistics.table.header.views": "Látogatások", + + + + // "submission.edit.title": "Edit Submission", + "submission.edit.title": "Feltöltés szerkesztése", + + // "submission.general.cannot_submit": "You have not the privilege to make a new submission.", + "submission.general.cannot_submit": "Önnek nincs új feltöltéshez szükséges privilégiuma.", + + // "submission.general.deposit": "Deposit", + "submission.general.deposit": "Adattár", + + // "submission.general.discard.confirm.cancel": "Cancel", + "submission.general.discard.confirm.cancel": "Mégse", + + // "submission.general.discard.confirm.info": "This operation can't be undone. Are you sure?", + "submission.general.discard.confirm.info": "Ezt a műveletet nem lehet visszaváltoztatni. Biztos benne?", + + // "submission.general.discard.confirm.submit": "Yes, I'm sure", + "submission.general.discard.confirm.submit": "Igen, biztos vagyok", + + // "submission.general.discard.confirm.title": "Discard submission", + "submission.general.discard.confirm.title": "Feltöltés elvetése", + + // "submission.general.discard.submit": "Discard", + "submission.general.discard.submit": "Elvetés", + + // "submission.general.save": "Save", + "submission.general.save": "Mentés", + + // "submission.general.save-later": "Save for later", + "submission.general.save-later": "Mentés későbbre", + + + // "submission.import-external.page.title": "Import metadata from an external source", + "submission.import-external.page.title": "Metaadatok importálása külső forrásból", + + // "submission.import-external.title": "Import metadata from an external source", + "submission.import-external.title": "Metaadatok importálása külső forrásból", + + // "submission.import-external.page.hint": "Enter a query above to find items from the web to import in to DSpace.", + "submission.import-external.page.hint": "Írjon be egy lekérést hogy elemeket találjon a web-en amiket importálhat DSpace-be.", + + // "submission.import-external.back-to-my-dspace": "Back to MyDSpace", + "submission.import-external.back-to-my-dspace": "Vissza a MyDSpacehez", + + // "submission.import-external.search.placeholder": "Search the external source", + "submission.import-external.search.placeholder": "Külső forrás keresése", + + // "submission.import-external.search.button": "Search", + "submission.import-external.search.button": "Keresés", + + // "submission.import-external.search.button.hint": "Write some words to search", + "submission.import-external.search.button.hint": "Írjon be keresési szavakat", + + // "submission.import-external.search.source.hint": "Pick an external source", + "submission.import-external.search.source.hint": "Válasszon egy külső forrást", + + // "submission.import-external.source.arxiv": "arXiv", + "submission.import-external.source.arxiv": "arXiv", + + // "submission.import-external.source.loading": "Loading ...", + "submission.import-external.source.loading": "Betöltés ...", + + // "submission.import-external.source.sherpaJournal": "SHERPA Journals", + "submission.import-external.source.sherpaJournal": "SHERPA Journals", + + // "submission.import-external.source.sherpaPublisher": "SHERPA Publishers", + "submission.import-external.source.sherpaPublisher": "SHERPA Publishers", + + // "submission.import-external.source.orcid": "ORCID", + "submission.import-external.source.orcid": "ORCID", + + // "submission.import-external.source.pubmed": "Pubmed", + "submission.import-external.source.pubmed": "Pubmed", + + // "submission.import-external.source.lcname": "Library of Congress Names", + "submission.import-external.source.lcname": "Library of Congress Names", + + // "submission.import-external.preview.title": "Item Preview", + "submission.import-external.preview.title": "Elem előnézet", + + // "submission.import-external.preview.subtitle": "The metadata below was imported from an external source. It will be pre-filled when you start the submission.", + "submission.import-external.preview.subtitle": "A lentebbi metaadat importálva a külső forrásból. Ki lesz töltve ha elkezdi a beküldési folyamatot.", + + // "submission.import-external.preview.button.import": "Start submission", + "submission.import-external.preview.button.import": "Beküldés elkezdése", + + // "submission.import-external.preview.error.import.title": "Submission error", + "submission.import-external.preview.error.import.title": "Beküldési hiba", + + // "submission.import-external.preview.error.import.body": "An error occurs during the external source entry import process.", + "submission.import-external.preview.error.import.body": "Hiba történt a külső forrásból történő importálás folyamán.", + + // "submission.sections.describe.relationship-lookup.close": "Close", + "submission.sections.describe.relationship-lookup.close": "Bezárás", + + // "submission.sections.describe.relationship-lookup.external-source.added": "Successfully added local entry to the selection", + "submission.sections.describe.relationship-lookup.external-source.added": "Helyi bevitel sikeresen hozzáadva a kiválasztotthoz", + + // "submission.sections.describe.relationship-lookup.external-source.import-button-title.isAuthorOfPublication": "Import remote author", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-button-title.isAuthorOfPublication": "Import remote author", + + // "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal": "Import remote journal", + "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal": "Távoli folyóirat importálása", + + // "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal Issue": "Import remote journal issue", + "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal Issue": "Távoli folyóiratszám importálása", + + // "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal Volume": "Import remote journal volume", + "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal Volume": "Távoli folyóiratkötet importálása", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.title": "Import Remote Author", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.title": "Import Remote Author", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.added.local-entity": "Successfully added local author to the selection", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.added.local-entity": "Successfully added local author to the selection", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.added.new-entity": "Successfully imported and added external author to the selection", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.added.new-entity": "Successfully imported and added external author to the selection", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.authority": "Authority", + "submission.sections.describe.relationship-lookup.external-source.import-modal.authority": "Autoritás", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.authority.new": "Import as a new local authority entry", + "submission.sections.describe.relationship-lookup.external-source.import-modal.authority.new": "Importál új helyi autoritás bevitelként", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.cancel": "Cancel", + "submission.sections.describe.relationship-lookup.external-source.import-modal.cancel": "Mégse", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.collection": "Select a collection to import new entries to", + "submission.sections.describe.relationship-lookup.external-source.import-modal.collection": "Válasszon ki gyűjteményt, amelyhez az új bevitelt importálja", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.entities": "Entities", + "submission.sections.describe.relationship-lookup.external-source.import-modal.entities": "Entitások", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.entities.new": "Import as a new local entity", + "submission.sections.describe.relationship-lookup.external-source.import-modal.entities.new": "ÍÚj entitásként importál", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.lcname": "Importing from LC Name", + "submission.sections.describe.relationship-lookup.external-source.import-modal.head.lcname": "LC Nnévről importál", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.orcid": "Importing from ORCID", + "submission.sections.describe.relationship-lookup.external-source.import-modal.head.orcid": "ORCID-ról importál", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.sherpaJournal": "Importing from Sherpa Journal", + "submission.sections.describe.relationship-lookup.external-source.import-modal.head.sherpaJournal": "Sherpa Journal-ról importál", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.sherpaPublisher": "Importing from Sherpa Publisher", + "submission.sections.describe.relationship-lookup.external-source.import-modal.head.sherpaPublisher": "Sherpa Publisher-ről importál", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.pubmed": "Importing from PubMed", + "submission.sections.describe.relationship-lookup.external-source.import-modal.head.pubmed": "PubMed-ről importál", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.arxiv": "Importing from arXiv", + "submission.sections.describe.relationship-lookup.external-source.import-modal.head.arxiv": "arXiv-ről importál", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.import": "Import", + "submission.sections.describe.relationship-lookup.external-source.import-modal.import": "Importál", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal.title": "Import Remote Journal", + "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal.title": "Távoli folyóiratot importál", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal.added.local-entity": "Successfully added local journal to the selection", + "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal.added.local-entity": "Helyi folyóirat sikeresen hozzáadva a kiválasztotthoz", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal.added.new-entity": "Successfully imported and added external journal to the selection", + "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal.added.new-entity": "Külső folyóirat sikeresen importálva és hozzáadva a kiválasztotthoz", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Issue.title": "Import Remote Journal Issue", + "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Issue.title": "Távoli folyóiratszám importálása", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Issue.added.local-entity": "Successfully added local journal issue to the selection", + "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Issue.added.local-entity": "Helyi folyóirat sikeresen hozzáadva a kiválasztotthoz", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Issue.added.new-entity": "Successfully imported and added external journal issue to the selection", + "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Issue.added.new-entity": "Távoli folyóirat sikeresen importálva és hozzáadva a kiválasztotthoz", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Volume.title": "Import Remote Journal Volume", + "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Volume.title": "Távoli folyóiratkötet importálása", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Volume.added.local-entity": "Successfully added local journal volume to the selection", + "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Volume.added.local-entity": "Helyi folyóiratkötet sikeresen hozzáadva a kiválasztotthoz", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Volume.added.new-entity": "Successfully imported and added external journal volume to the selection", + "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Volume.added.new-entity": "Külső folyóiratkötet sikeresen importálva és hozzáadva a kiválasztotthoz", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.select": "Select a local match:", + "submission.sections.describe.relationship-lookup.external-source.import-modal.select": "Válasszon ki helyi megfelelést:", + + // "submission.sections.describe.relationship-lookup.search-tab.deselect-all": "Deselect all", + "submission.sections.describe.relationship-lookup.search-tab.deselect-all": "Valamennyi kiválasztás megszüntetése", + + // "submission.sections.describe.relationship-lookup.search-tab.deselect-page": "Deselect page", + "submission.sections.describe.relationship-lookup.search-tab.deselect-page": "Oldal kiválasztásának megszüntetése", + + // "submission.sections.describe.relationship-lookup.search-tab.loading": "Loading...", + "submission.sections.describe.relationship-lookup.search-tab.loading": "Betöltés...", + + // "submission.sections.describe.relationship-lookup.search-tab.placeholder": "Search query", + "submission.sections.describe.relationship-lookup.search-tab.placeholder": "Keresett szó", + + // "submission.sections.describe.relationship-lookup.search-tab.search": "Go", + "submission.sections.describe.relationship-lookup.search-tab.search": "Mehet", + + // "submission.sections.describe.relationship-lookup.search-tab.select-all": "Select all", + "submission.sections.describe.relationship-lookup.search-tab.select-all": "Valamennyi kiválasztása", + + // "submission.sections.describe.relationship-lookup.search-tab.select-page": "Select page", + "submission.sections.describe.relationship-lookup.search-tab.select-page": "Oldal választása", + + // "submission.sections.describe.relationship-lookup.selected": "Selected {{ size }} items", + "submission.sections.describe.relationship-lookup.selected": "Kiválasztott {{ size }} tárgyak", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isAuthorOfPublication": "Local Authors ({{ count }})", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isAuthorOfPublication": "Helyi szerzők ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalOfPublication": "Local Journals ({{ count }})", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalOfPublication": "Helyi folyóiratok ({{ count }})", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Project": "Local Projects ({{ count }})", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.Project": "Helyi projektek ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Publication": "Local Publications ({{ count }})", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.Publication": "Helyi kiadványok ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Person": "Local Authors ({{ count }})", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.Person": "Helyi szerzők ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.OrgUnit": "Local Organizational Units ({{ count }})", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.OrgUnit": "Helyi szervezeti egységek ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.DataPackage": "Local Data Packages ({{ count }})", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.DataPackage": "Helyi adat csomagok ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.DataFile": "Local Data Files ({{ count }})", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.DataFile": "Helyi adatállományok ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal": "Local Journals ({{ count }})", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal": "Helyi folyóiratok ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalIssueOfPublication": "Local Journal Issues ({{ count }})", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalIssueOfPublication": "Helyi folyóiratszámok ({{ count }})", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.JournalIssue": "Local Journal Issues ({{ count }})", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.JournalIssue": "Helyi folyóiratszámok ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalVolumeOfPublication": "Local Journal Volumes ({{ count }})", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalVolumeOfPublication": "Helyi folyóiratkötetek ({{ count }})", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.JournalVolume": "Local Journal Volumes ({{ count }})", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.JournalVolume": "Helyi folyóiratkötetek ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaJournal": "Sherpa Journals ({{ count }})", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaJournal": "Sherpa folyóiratok ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaPublisher": "Sherpa Publishers ({{ count }})", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaPublisher": "Sherpa kiadók ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.orcid": "ORCID ({{ count }})", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.orcid": "ORCID ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.lcname": "LC Names ({{ count }})", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.lcname": "LC Names ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.pubmed": "PubMed ({{ count }})", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.pubmed": "PubMed ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.arxiv": "arXiv ({{ count }})", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.arxiv": "arXiv ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingAgencyOfPublication": "Search for Funding Agencies", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingAgencyOfPublication": "Támogató szervezetek keresése", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingOfPublication": "Search for Funding", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingOfPublication": "Támogatás keresése", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isChildOrgUnitOf": "Search for Organizational Units", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isChildOrgUnitOf": "Intézményi egységek kereséset", + + // "submission.sections.describe.relationship-lookup.selection-tab.tab-title": "Current Selection ({{ count }})", + "submission.sections.describe.relationship-lookup.selection-tab.tab-title": "Jelenleg kiválasztott ({{ count }})", + + // "submission.sections.describe.relationship-lookup.title.isJournalIssueOfPublication": "Journal Issues", + "submission.sections.describe.relationship-lookup.title.isJournalIssueOfPublication": "Folyóirat számok", + // "submission.sections.describe.relationship-lookup.title.JournalIssue": "Journal Issues", + "submission.sections.describe.relationship-lookup.title.JournalIssue": "Folyóirat számok", + + // "submission.sections.describe.relationship-lookup.title.isJournalVolumeOfPublication": "Journal Volumes", + "submission.sections.describe.relationship-lookup.title.isJournalVolumeOfPublication": "Folyóirat kötetek", + // "submission.sections.describe.relationship-lookup.title.JournalVolume": "Journal Volumes", + "submission.sections.describe.relationship-lookup.title.JournalVolume": "Folyóirat kötetek", + + // "submission.sections.describe.relationship-lookup.title.isJournalOfPublication": "Journals", + "submission.sections.describe.relationship-lookup.title.isJournalOfPublication": "Folyóiratok", + + // "submission.sections.describe.relationship-lookup.title.isAuthorOfPublication": "Authors", + "submission.sections.describe.relationship-lookup.title.isAuthorOfPublication": "Szerzők", + + // "submission.sections.describe.relationship-lookup.title.isFundingAgencyOfPublication": "Funding Agency", + "submission.sections.describe.relationship-lookup.title.isFundingAgencyOfPublication": "Támogató szervezet", + // "submission.sections.describe.relationship-lookup.title.Project": "Projects", + "submission.sections.describe.relationship-lookup.title.Project": "Projektek", + + // "submission.sections.describe.relationship-lookup.title.Publication": "Publications", + "submission.sections.describe.relationship-lookup.title.Publication": "Kiadványok", + + // "submission.sections.describe.relationship-lookup.title.Person": "Authors", + "submission.sections.describe.relationship-lookup.title.Person": "Szerzők", + + // "submission.sections.describe.relationship-lookup.title.OrgUnit": "Organizational Units", + "submission.sections.describe.relationship-lookup.title.OrgUnit": "Szervezeti egységek", + + // "submission.sections.describe.relationship-lookup.title.DataPackage": "Data Packages", + "submission.sections.describe.relationship-lookup.title.DataPackage": "Adatcsomagok", + + // "submission.sections.describe.relationship-lookup.title.DataFile": "Data Files", + "submission.sections.describe.relationship-lookup.title.DataFile": "Adatállományok", + + // "submission.sections.describe.relationship-lookup.title.Funding Agency": "Funding Agency", + "submission.sections.describe.relationship-lookup.title.Funding Agency": "Támogató szervezet", + + // "submission.sections.describe.relationship-lookup.title.isFundingOfPublication": "Funding", + "submission.sections.describe.relationship-lookup.title.isFundingOfPublication": "Támogatás", + + // "submission.sections.describe.relationship-lookup.title.isChildOrgUnitOf": "Parent Organizational Unit", + "submission.sections.describe.relationship-lookup.title.isChildOrgUnitOf": "Szülő szervezeti egység", + + // "submission.sections.describe.relationship-lookup.search-tab.toggle-dropdown": "Toggle dropdown", + "submission.sections.describe.relationship-lookup.search-tab.toggle-dropdown": "Lenyíló menü váltás", + + // "submission.sections.describe.relationship-lookup.selection-tab.settings": "Settings", + "submission.sections.describe.relationship-lookup.selection-tab.settings": "Beállítások", + + // "submission.sections.describe.relationship-lookup.selection-tab.no-selection": "Your selection is currently empty.", + "submission.sections.describe.relationship-lookup.selection-tab.no-selection": "Amit kiválasztott az jelenleg üres.", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isAuthorOfPublication": "Selected Authors", + "submission.sections.describe.relationship-lookup.selection-tab.title.isAuthorOfPublication": "Kiválasztott szerzők", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalOfPublication": "Selected Journals", + "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalOfPublication": "Választott folyóirat", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalVolumeOfPublication": "Selected Journal Volume", + "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalVolumeOfPublication": "Választott folyóirat kötet", + // "submission.sections.describe.relationship-lookup.selection-tab.title.Project": "Selected Projects", + "submission.sections.describe.relationship-lookup.selection-tab.title.Project": "Választott projektek", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.Publication": "Selected Publications", + "submission.sections.describe.relationship-lookup.selection-tab.title.Publication": "Választott kiadványok", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.Person": "Selected Authors", + "submission.sections.describe.relationship-lookup.selection-tab.title.Person": "Választott szerzők", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.OrgUnit": "Selected Organizational Units", + "submission.sections.describe.relationship-lookup.selection-tab.title.OrgUnit": "Választott szervezeti egységek", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.DataPackage": "Selected Data Packages", + "submission.sections.describe.relationship-lookup.selection-tab.title.DataPackage": "Választott adatcsomagok", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.DataFile": "Selected Data Files", + "submission.sections.describe.relationship-lookup.selection-tab.title.DataFile": "Választott adatfájlok", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.Journal": "Selected Journals", + "submission.sections.describe.relationship-lookup.selection-tab.title.Journal": "Választott folyóiratok", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalIssueOfPublication": "Selected Issue", + "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalIssueOfPublication": "Választott szám", + // "submission.sections.describe.relationship-lookup.selection-tab.title.JournalVolume": "Selected Journal Volume", + "submission.sections.describe.relationship-lookup.selection-tab.title.JournalVolume": "Választott folyóirat kötet", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingAgencyOfPublication": "Selected Funding Agency", + "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingAgencyOfPublication": "Választott támogató szervezet", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingOfPublication": "Selected Funding", + "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingOfPublication": "Választott támogatás", + // "submission.sections.describe.relationship-lookup.selection-tab.title.JournalIssue": "Selected Issue", + "submission.sections.describe.relationship-lookup.selection-tab.title.JournalIssue": "Választott szám", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isChildOrgUnitOf": "Selected Organizational Unit", + "submission.sections.describe.relationship-lookup.selection-tab.title.isChildOrgUnitOf": "Választott szervezeti egység", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.sherpaJournal": "Search Results", + "submission.sections.describe.relationship-lookup.selection-tab.title.sherpaJournal": "Keresési eredmények", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.sherpaPublisher": "Search Results", + "submission.sections.describe.relationship-lookup.selection-tab.title.sherpaPublisher": "Keresése eredmények", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.orcid": "Search Results", + "submission.sections.describe.relationship-lookup.selection-tab.title.orcid": "Keresése eredmények", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.orcidv2": "Search Results", + "submission.sections.describe.relationship-lookup.selection-tab.title.orcidv2": "Keresése eredmények", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.lcname": "Search Results", + "submission.sections.describe.relationship-lookup.selection-tab.title.lcname": "Keresése eredmények", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.pubmed": "Search Results", + "submission.sections.describe.relationship-lookup.selection-tab.title.pubmed": "Keresése eredmények", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.arxiv": "Search Results", + "submission.sections.describe.relationship-lookup.selection-tab.title.arxiv": "Keresése eredmények", + + // "submission.sections.describe.relationship-lookup.name-variant.notification.content": "Would you like to save \"{{ value }}\" as a name variant for this person so you and others can reuse it for future submissions? If you don\'t you can still use it for this submission.", + "submission.sections.describe.relationship-lookup.name-variant.notification.content": "Óhajtja-e elmenteni \"{{ value }}\" névváltozatként ennek a személynek, hogy később ön is és mások is újrahasználhassák feltöltéshez? Amennyiben nem, még mindig használhatja ehhez a feltöltéshez.", + + // "submission.sections.describe.relationship-lookup.name-variant.notification.confirm": "Save a new name variant", + "submission.sections.describe.relationship-lookup.name-variant.notification.confirm": "Mentsen el új névvariánst", + + // "submission.sections.describe.relationship-lookup.name-variant.notification.decline": "Use only for this submission", + "submission.sections.describe.relationship-lookup.name-variant.notification.decline": "Használja csak ehhez a feltöltéshez", + + // "submission.sections.ccLicense.type": "License Type", + "submission.sections.ccLicense.type": "Licenc típus", + + // "submission.sections.ccLicense.select": "Select a license type…", + "submission.sections.ccLicense.select": "Válasszon ki egy licenc típust…", + + // "submission.sections.ccLicense.change": "Change your license type…", + "submission.sections.ccLicense.change": "Válassza ki a licenc típusát…", + + // "submission.sections.ccLicense.none": "No licenses available", + "submission.sections.ccLicense.none": "Nincs elérhető licenc", + + // "submission.sections.ccLicense.option.select": "Select an option…", + "submission.sections.ccLicense.option.select": "Válasszon ki valamit…", + + // "submission.sections.ccLicense.link": "You’ve selected the following license:", + "submission.sections.ccLicense.link": "A következő licencet választotta ki:", + + // "submission.sections.ccLicense.confirmation": "I grant the license above", + "submission.sections.ccLicense.confirmation": "Engedélyezem a lentebbi licencet", + + // "submission.sections.general.add-more": "Add more", + "submission.sections.general.add-more": "Több hozzáadása", + + // "submission.sections.general.collection": "Collection", + "submission.sections.general.collection": "Gyűjtemény", + + // "submission.sections.general.deposit_error_notice": "There was an issue when submitting the item, please try again later.", + "submission.sections.general.deposit_error_notice": "Tárgy feltöltésekor probléma keletkezett, kérjük próbálja újra később.", + + // "submission.sections.general.deposit_success_notice": "Submission deposited successfully.", + "submission.sections.general.deposit_success_notice": "Feltöltés sikeresen elraktározva.", + + // "submission.sections.general.discard_error_notice": "There was an issue when discarding the item, please try again later.", + "submission.sections.general.discard_error_notice": "Tárgy elvetésekor probléma keletkezett, kérjük próbálja újra később.", + + // "submission.sections.general.discard_success_notice": "Submission discarded successfully.", + "submission.sections.general.discard_success_notice": "Feltöltés sikeresen elvetve.", + + // "submission.sections.general.metadata-extracted": "New metadata have been extracted and added to the {{sectionId}} section.", + "submission.sections.general.metadata-extracted": "Új metaadat kivonva és hozzáadva a {{sectionId}} szakaszhoz.", + + // "submission.sections.general.metadata-extracted-new-section": "New {{sectionId}} section has been added to submission.", + "submission.sections.general.metadata-extracted-new-section": "Új {{sectionId}} szakasz lett hozzáadva a feltöltéshez.", + + // "submission.sections.general.no-collection": "No collection found", + "submission.sections.general.no-collection": "Nem található gyűjtemény", + + // "submission.sections.general.no-sections": "No options available", + "submission.sections.general.no-sections": "Nincs elérhető opció", + + // "submission.sections.general.save_error_notice": "There was an issue when saving the item, please try again later.", + "submission.sections.general.save_error_notice": "Tárgy elmentésekor probléma keletkezett, kérjük próbálja újra később.", + + // "submission.sections.general.save_success_notice": "Submission saved successfully.", + "submission.sections.general.save_success_notice": "Feltöltés sikeresen elmentve.", + + // "submission.sections.general.search-collection": "Search for a collection", + "submission.sections.general.search-collection": "Gyűjtemény keresése", + + // "submission.sections.general.sections_not_valid": "There are incomplete sections.", + "submission.sections.general.sections_not_valid": "Egyes szakaszok nem teljesek.", + + + + // "submission.sections.submit.progressbar.CClicense": "Creative commons license", + // TODO New key - Add a translation + "submission.sections.submit.progressbar.CClicense": "Creative commons license", + + // "submission.sections.submit.progressbar.describe.recycle": "Recycle", + "submission.sections.submit.progressbar.describe.recycle": "Reciklál", + + // "submission.sections.submit.progressbar.describe.stepcustom": "Describe", + "submission.sections.submit.progressbar.describe.stepcustom": "Leír", + + // "submission.sections.submit.progressbar.describe.stepone": "Describe", + "submission.sections.submit.progressbar.describe.stepone": "Leír", + + // "submission.sections.submit.progressbar.describe.steptwo": "Describe", + "submission.sections.submit.progressbar.describe.steptwo": "Leír", + + // "submission.sections.submit.progressbar.detect-duplicate": "Potential duplicates", + "submission.sections.submit.progressbar.detect-duplicate": "Potenciális duplázódás", + + // "submission.sections.submit.progressbar.license": "Deposit license", + "submission.sections.submit.progressbar.license": "Engedély raktározása", + + // "submission.sections.submit.progressbar.upload": "Upload files", + "submission.sections.submit.progressbar.upload": "Állományok feltöltése", + + + + // "submission.sections.upload.delete.confirm.cancel": "Cancel", + "submission.sections.upload.delete.confirm.cancel": "Mégse", + + // "submission.sections.upload.delete.confirm.info": "This operation can't be undone. Are you sure?", + "submission.sections.upload.delete.confirm.info": "Ezt a műveletet nem lehet visszaváltoztatni. Biztos benne?", + + // "submission.sections.upload.delete.confirm.submit": "Yes, I'm sure", + "submission.sections.upload.delete.confirm.submit": "Igen, biztos", + + // "submission.sections.upload.delete.confirm.title": "Delete bitstream", + "submission.sections.upload.delete.confirm.title": "Bitfolyam törlése", + + // "submission.sections.upload.delete.submit": "Delete", + "submission.sections.upload.delete.submit": "Törlés", + + // "submission.sections.upload.drop-message": "Drop files to attach them to the item", + "submission.sections.upload.drop-message": "Húzza ide az állományokat, hogy a tárgyhoz csatolja", + + // "submission.sections.upload.form.access-condition-label": "Access condition type", + "submission.sections.upload.form.access-condition-label": "Elérhetőségi feltétel típusa", + + // "submission.sections.upload.form.date-required": "Date is required.", + "submission.sections.upload.form.date-required": "Dátum kötelező.", + + // "submission.sections.upload.form.from-label": "Grant access from", + "submission.sections.upload.form.from-label": "Elérhetőség megadása innen", + + // "submission.sections.upload.form.from-placeholder": "From", + "submission.sections.upload.form.from-placeholder": "Innen", + + // "submission.sections.upload.form.group-label": "Group", + "submission.sections.upload.form.group-label": "Csoport", + + // "submission.sections.upload.form.group-required": "Group is required.", + "submission.sections.upload.form.group-required": "Csoport kötelező.", + + // "submission.sections.upload.form.until-label": "Grant access until", + "submission.sections.upload.form.until-label": "Elérhetőséget engedélyez eddig", + + // "submission.sections.upload.form.until-placeholder": "Until", + "submission.sections.upload.form.until-placeholder": "Eddig", + + // "submission.sections.upload.header.policy.default.nolist": "Uploaded files in the {{collectionName}} collection will be accessible according to the following group(s):", + "submission.sections.upload.header.policy.default.nolist": "A {{collectionName}} feltöltött állományok elérhetők lesznek a következő csoport(ok) szerint:", + + // "submission.sections.upload.header.policy.default.withlist": "Please note that uploaded files in the {{collectionName}} collection will be accessible, in addition to what is explicitly decided for the single file, with the following group(s):", + "submission.sections.upload.header.policy.default.withlist": "Kérjük, vegye figyelembe, hogy a {{collectionName}} gyűjteménybe feltöltött állományok elérhetők lesznek, azon kívül amit az egyedi állományokról kifejezetten eldöntött, a következő csoport(ok)ban:", + + // "submission.sections.upload.info": "Here you will find all the files currently in the item. You can update the file metadata and access conditions or upload additional files just dragging & dropping them everywhere in the page", + "submission.sections.upload.info": "Itt megtalálja a tárgyban lévő valamennyi állományt. Frissítheti az állomány metaadatait és hozzáférési feltételeit vagy feltölthet további állományokat azzal, hogy behúzza azokat bárhova az oldalra", + + // "submission.sections.upload.no-entry": "No", + "submission.sections.upload.no-entry": "Nem", + + // "submission.sections.upload.no-file-uploaded": "No file uploaded yet.", + "submission.sections.upload.no-file-uploaded": "Még nincs feltöltött állomány.", + + // "submission.sections.upload.save-metadata": "Save metadata", + "submission.sections.upload.save-metadata": "Metaadat elmentése", + + // "submission.sections.upload.undo": "Cancel", + "submission.sections.upload.undo": "Mégse", + + // "submission.sections.upload.upload-failed": "Upload failed", + "submission.sections.upload.upload-failed": "Feltöltés nem sikerült", + + // "submission.sections.upload.upload-successful": "Upload successful", + "submission.sections.upload.upload-successful": "Feltöltés sikerült", + + + + // "submission.submit.title": "Submission", + "submission.submit.title": "Beküldés", + + + + // "submission.workflow.generic.delete": "Delete", + "submission.workflow.generic.delete": "Töröl", + + // "submission.workflow.generic.delete-help": "If you would to discard this item, select \"Delete\". You will then be asked to confirm it.", + "submission.workflow.generic.delete-help": "Ha el óhajtja vetni a tárgyat, válassz a \"Töröl\" gombot. Majd döntését igazolja.", + + // "submission.workflow.generic.edit": "Edit", + "submission.workflow.generic.edit": "Szerkesztés", + + // "submission.workflow.generic.edit-help": "Select this option to change the item's metadata.", + "submission.workflow.generic.edit-help": "Válassza ezt, hogy módosítsa a tárgy metaadatait.", + + // "submission.workflow.generic.view": "View", + "submission.workflow.generic.view": "Megtekint", + + // "submission.workflow.generic.view-help": "Select this option to view the item's metadata.", + "submission.workflow.generic.view-help": "Válassza ezt, hogy megtekintse a tárgy metaadatait.", + + + + // "submission.workflow.tasks.claimed.approve": "Approve", + "submission.workflow.tasks.claimed.approve": "Jóváhagy", + + // "submission.workflow.tasks.claimed.approve_help": "If you have reviewed the item and it is suitable for inclusion in the collection, select \"Approve\".", + "submission.workflow.tasks.claimed.approve_help": "Ha ellenőrizte a tárgyat és gyűjteménybe foglalásra alkalmas, válassza a \"Jóváhagy\" gombot.", + + // "submission.workflow.tasks.claimed.edit": "Edit", + "submission.workflow.tasks.claimed.edit": "Szerkeszt", + + // "submission.workflow.tasks.claimed.edit_help": "Select this option to change the item's metadata.", + "submission.workflow.tasks.claimed.edit_help": "Válassza ezt, hogy módosítsa a tárgy metaadatait.", + + // "submission.workflow.tasks.claimed.reject.reason.info": "Please enter your reason for rejecting the submission into the box below, indicating whether the submitter may fix a problem and resubmit.", + "submission.workflow.tasks.claimed.reject.reason.info": "Kérjük az alábbi mezőben jelölje meg az okot amiért a feltöltést visszautasítja és pontosítsa, amennyiben a feltöltő megoldhat valamilyen gondot és újra feltöltheti.", + + // "submission.workflow.tasks.claimed.reject.reason.placeholder": "Describe the reason of reject", + "submission.workflow.tasks.claimed.reject.reason.placeholder": "Írja le az elutasítás okát", + + // "submission.workflow.tasks.claimed.reject.reason.submit": "Reject item", + "submission.workflow.tasks.claimed.reject.reason.submit": "Tárgy elutasítása", + + // "submission.workflow.tasks.claimed.reject.reason.title": "Reason", + "submission.workflow.tasks.claimed.reject.reason.title": "Ok", + + // "submission.workflow.tasks.claimed.reject.submit": "Reject", + "submission.workflow.tasks.claimed.reject.submit": "Elutasítás", + + // "submission.workflow.tasks.claimed.reject_help": "If you have reviewed the item and found it is not suitable for inclusion in the collection, select \"Reject\". You will then be asked to enter a message indicating why the item is unsuitable, and whether the submitter should change something and resubmit.", + "submission.workflow.tasks.claimed.reject_help": "Amennyiben ellenőrizte a tárgyat és úgy találta, hogy az nem alkalmas arra, hogy a gyűjteménybe foglalják, válassza az \"Elutasítás\" gombot. Utána szükséges lesz beírni egy üzenetet, amelyben megjelöli, miért nem alkalmas a tárgy és hogy a feltöltő változtathat-e valamit, hogy utána újra feltölthesse.", + + // "submission.workflow.tasks.claimed.return": "Return to pool", + "submission.workflow.tasks.claimed.return": "Vissza a készlethez", + + // "submission.workflow.tasks.claimed.return_help": "Return the task to the pool so that another user may perform the task.", + "submission.workflow.tasks.claimed.return_help": "Vigye a feladatot vissza a készletbe, hogy más felhasználó elvégezhesse azt.", + + + + // "submission.workflow.tasks.generic.error": "Error occurred during operation...", + "submission.workflow.tasks.generic.error": "Művelet közben hiba keletkezett...", + + // "submission.workflow.tasks.generic.processing": "Processing...", + "submission.workflow.tasks.generic.processing": "Feldolgozás...", + + // "submission.workflow.tasks.generic.submitter": "Submitter", + "submission.workflow.tasks.generic.submitter": "Feltöltő", + + // "submission.workflow.tasks.generic.success": "Operation successful", + "submission.workflow.tasks.generic.success": "Művelet sikeres", + + + + // "submission.workflow.tasks.pool.claim": "Claim", + "submission.workflow.tasks.pool.claim": "Követelés", + + // "submission.workflow.tasks.pool.claim_help": "Assign this task to yourself.", + "submission.workflow.tasks.pool.claim_help": "Ossza ki a feladatot önmagának.", + + // "submission.workflow.tasks.pool.hide-detail": "Hide detail", + "submission.workflow.tasks.pool.hide-detail": "Részletek elrejtése", + + // "submission.workflow.tasks.pool.show-detail": "Show detail", + "submission.workflow.tasks.pool.show-detail": "Részletek felfedése", + + + + // "title": "DSpace", + "title": "DSpace", + + + + // "vocabulary-treeview.header": "Hierarchical tree view", + "vocabulary-treeview.header": "Hierarchikus fa nézet", + + // "vocabulary-treeview.load-more": "Load more", + "vocabulary-treeview.load-more": "Továbbiak betöltése", + + // "vocabulary-treeview.search.form.reset": "Reset", + "vocabulary-treeview.search.form.reset": "Reset", + + // "vocabulary-treeview.search.form.search": "Search", + "vocabulary-treeview.search.form.search": "Keresés", + + // "vocabulary-treeview.search.no-result": "There were no items to show", + "vocabulary-treeview.search.no-result": "Nincsenek megjelenítendő elemek", + + // "vocabulary-treeview.tree.description.nsi": "The Norwegian Science Index", + "vocabulary-treeview.tree.description.nsi": "Norvégiai tudományos index", + + // "vocabulary-treeview.tree.description.srsc": "Research Subject Categories", + "vocabulary-treeview.tree.description.srsc": "Kutatási tárgy kategóriák", + + + + // "uploader.browse": "browse", "uploader.browse": "böngészés", - -// "uploader.drag-message": "Drag & Drop your files here", + + // "uploader.drag-message": "Drag & Drop your files here", "uploader.drag-message": "Húzza ide az állományokat", - -// "uploader.or": ", or", + + // "uploader.or": ", or ", + // TODO Source message changed - Revise the translation "uploader.or": ", vagy", - -// "uploader.processing": "Processing", + + // "uploader.processing": "Processing", "uploader.processing": "Feldolgozás", - -// "uploader.queue-length": "Queue length", + + // "uploader.queue-length": "Queue length", "uploader.queue-length": "Sor hossza", - -// "virtual-metadata.delete-item.info": "Select the types for which you want to save the virtual metadata as real metadata", + + // "virtual-metadata.delete-item.info": "Select the types for which you want to save the virtual metadata as real metadata", "virtual-metadata.delete-item.info": "Válassza ki azokat a típusokat, amelyekhez óhajtja a virtuális metaadatok elmentését valódi metaadatokként", - -// "virtual-metadata.delete-item.modal-head": "The virtual metadata of this relation", + + // "virtual-metadata.delete-item.modal-head": "The virtual metadata of this relation", "virtual-metadata.delete-item.modal-head": "Ennek a kapcsolatnak a virtuális metaadatai", - -// "virtual-metadata.delete-relationship.modal-head": "Select the items for which you want to save the virtual metadata as real metadata", + + // "virtual-metadata.delete-relationship.modal-head": "Select the items for which you want to save the virtual metadata as real metadata", "virtual-metadata.delete-relationship.modal-head": "Válassza ki azokat a tárgyakat, amelyekhez óhajtja a virtuális metaadatok elmentését valódi metaadatokként", - - - -// "workflowAdmin.search.results.head": "Administer Workflow", + + + + // "workflowAdmin.search.results.head": "Administer Workflow", "workflowAdmin.search.results.head": "Munkafolyamat szervezése", - - - -// "workflow-item.delete.notification.success.title": "Deleted", + + + + // "workflow-item.delete.notification.success.title": "Deleted", "workflow-item.delete.notification.success.title": "Törölve", - -// "workflow-item.delete.notification.success.content": "This workflow item was successfully deleted", + + // "workflow-item.delete.notification.success.content": "This workflow item was successfully deleted", "workflow-item.delete.notification.success.content": "Munkafolyamat elem sikeresen törölve", - -// "workflow-item.delete.notification.error.title": "Something went wrong", + + // "workflow-item.delete.notification.error.title": "Something went wrong", "workflow-item.delete.notification.error.title": "Valami hiba keletkezett", - -// "workflow-item.delete.notification.error.content": "The workflow item could not be deleted", + + // "workflow-item.delete.notification.error.content": "The workflow item could not be deleted", "workflow-item.delete.notification.error.content": "Munkafolyamat elem törlése nem sikerült", - -// "workflow-item.delete.title": "Delete workflow item", + + // "workflow-item.delete.title": "Delete workflow item", "workflow-item.delete.title": "Munkafolyamat elem törlése", - -// "workflow-item.delete.header": "Delete workflow item", + + // "workflow-item.delete.header": "Delete workflow item", "workflow-item.delete.header": "Munkafolyamat elem törlése", - -// "workflow-item.delete.button.cancel": "Cancel", + + // "workflow-item.delete.button.cancel": "Cancel", "workflow-item.delete.button.cancel": "Mégse", - -// "workflow-item.delete.button.confirm": "Delete", + + // "workflow-item.delete.button.confirm": "Delete", "workflow-item.delete.button.confirm": "Töröl", - - -// "workflow-item.send-back.notification.success.title": "Sent back to submitter", + + + // "workflow-item.send-back.notification.success.title": "Sent back to submitter", "workflow-item.send-back.notification.success.title": "Visszaküldve a feladónak", - -// "workflow-item.send-back.notification.success.content": "This workflow item was successfully sent back to the submitter", + + // "workflow-item.send-back.notification.success.content": "This workflow item was successfully sent back to the submitter", "workflow-item.send-back.notification.success.content": "Munkafolyamat elem sikeresen visszaküldve a feladónak", - -// "workflow-item.send-back.notification.error.title": "Something went wrong", + + // "workflow-item.send-back.notification.error.title": "Something went wrong", "workflow-item.send-back.notification.error.title": "Valami hiba keletkezett", - -// "workflow-item.send-back.notification.error.content": "The workflow item could not be sent back to the submitter", + + // "workflow-item.send-back.notification.error.content": "The workflow item could not be sent back to the submitter", "workflow-item.send-back.notification.error.content": "Munkafolyamat elem visszaküldése a feladónak nem sikerült", - -// "workflow-item.send-back.title": "Send workflow item back to submitter", + + // "workflow-item.send-back.title": "Send workflow item back to submitter", "workflow-item.send-back.title": "Munkafolyamt elemet visszaküld a feladónak", - -// "workflow-item.send-back.header": "Send workflow item back to submitter", + + // "workflow-item.send-back.header": "Send workflow item back to submitter", "workflow-item.send-back.header": "Munkafolyamt elemet visszaküld a feladónak", - -// "workflow-item.send-back.button.cancel": "Cancel", + + // "workflow-item.send-back.button.cancel": "Cancel", "workflow-item.send-back.button.cancel": "Mégse", - -// "workflow-item.send-back.button.confirm": "Send back", + + // "workflow-item.send-back.button.confirm": "Send back" + // TODO Source message changed - Revise the translation "workflow-item.send-back.button.confirm": "Visszaküld", -} + + +} \ No newline at end of file diff --git a/src/assets/i18n/ja.json5 b/src/assets/i18n/ja.json5 index a2a7042d33..c4ea2a0d9e 100644 --- a/src/assets/i18n/ja.json5 +++ b/src/assets/i18n/ja.json5 @@ -1,5 +1,33 @@ { + // "401.help": "You're not authorized to access this page. You can use the button below to get back to the home page.", + // TODO New key - Add a translation + "401.help": "You're not authorized to access this page. You can use the button below to get back to the home page.", + + // "401.link.home-page": "Take me to the home page", + // TODO New key - Add a translation + "401.link.home-page": "Take me to the home page", + + // "401.unauthorized": "unauthorized", + // TODO New key - Add a translation + "401.unauthorized": "unauthorized", + + + + // "403.help": "You don't have permission to access this page. You can use the button below to get back to the home page.", + // TODO New key - Add a translation + "403.help": "You don't have permission to access this page. You can use the button below to get back to the home page.", + + // "403.link.home-page": "Take me to the home page", + // TODO New key - Add a translation + "403.link.home-page": "Take me to the home page", + + // "403.forbidden": "forbidden", + // TODO New key - Add a translation + "403.forbidden": "forbidden", + + + // "404.help": "We can't find the page you're looking for. The page may have been moved or deleted. You can use the button below to get back to the home page. ", // TODO New key - Add a translation "404.help": "We can't find the page you're looking for. The page may have been moved or deleted. You can use the button below to get back to the home page. ", @@ -12,7 +40,25 @@ // TODO New key - Add a translation "404.page-not-found": "page not found", + // "admin.curation-tasks.breadcrumbs": "System curation tasks", + // TODO New key - Add a translation + "admin.curation-tasks.breadcrumbs": "System curation tasks", + // "admin.curation-tasks.title": "System curation tasks", + // TODO New key - Add a translation + "admin.curation-tasks.title": "System curation tasks", + + // "admin.curation-tasks.header": "System curation tasks", + // TODO New key - Add a translation + "admin.curation-tasks.header": "System curation tasks", + + // "admin.registries.bitstream-formats.breadcrumbs": "Format registry", + // TODO New key - Add a translation + "admin.registries.bitstream-formats.breadcrumbs": "Format registry", + + // "admin.registries.bitstream-formats.create.breadcrumbs": "Bitstream format", + // TODO New key - Add a translation + "admin.registries.bitstream-formats.create.breadcrumbs": "Bitstream format", // "admin.registries.bitstream-formats.create.failure.content": "An error occurred while creating the new bitstream format.", // TODO New key - Add a translation @@ -58,6 +104,10 @@ // TODO New key - Add a translation "admin.registries.bitstream-formats.description": "This list of bitstream formats provides information about known formats and their support level.", + // "admin.registries.bitstream-formats.edit.breadcrumbs": "Bitstream format", + // TODO New key - Add a translation + "admin.registries.bitstream-formats.edit.breadcrumbs": "Bitstream format", + // "admin.registries.bitstream-formats.edit.description.hint": "", // TODO New key - Add a translation "admin.registries.bitstream-formats.edit.description.hint": "", @@ -184,6 +234,10 @@ + // "admin.registries.metadata.breadcrumbs": "Metadata registry", + // TODO New key - Add a translation + "admin.registries.metadata.breadcrumbs": "Metadata registry", + // "admin.registries.metadata.description": "The metadata registry maintains a list of all metadata fields available in the repository. These fields may be divided amongst multiple schemas. However, DSpace requires the qualified Dublin Core schema.", // TODO New key - Add a translation "admin.registries.metadata.description": "The metadata registry maintains a list of all metadata fields available in the repository. These fields may be divided amongst multiple schemas. However, DSpace requires the qualified Dublin Core schema.", @@ -234,6 +288,10 @@ + // "admin.registries.schema.breadcrumbs": "Metadata schema", + // TODO New key - Add a translation + "admin.registries.schema.breadcrumbs": "Metadata schema", + // "admin.registries.schema.description": "This is the metadata schema for \"{{namespace}}\".", // TODO New key - Add a translation "admin.registries.schema.description": "This is the metadata schema for \"{{namespace}}\".", @@ -332,6 +390,22 @@ + // "admin.access-control.epeople.actions.delete": "Delete EPerson", + // TODO New key - Add a translation + "admin.access-control.epeople.actions.delete": "Delete EPerson", + + // "admin.access-control.epeople.actions.impersonate": "Impersonate EPerson", + // TODO New key - Add a translation + "admin.access-control.epeople.actions.impersonate": "Impersonate EPerson", + + // "admin.access-control.epeople.actions.reset": "Reset password", + // TODO New key - Add a translation + "admin.access-control.epeople.actions.reset": "Reset password", + + // "admin.access-control.epeople.actions.stop-impersonating": "Stop impersonating EPerson", + // TODO New key - Add a translation + "admin.access-control.epeople.actions.stop-impersonating": "Stop impersonating EPerson", + // "admin.access-control.epeople.title": "DSpace Angular :: EPeople", // TODO New key - Add a translation "admin.access-control.epeople.title": "DSpace Angular :: EPeople", @@ -448,6 +522,14 @@ // TODO New key - Add a translation "admin.access-control.epeople.form.notification.edited.failure": "Failed to edit EPerson \"{{name}}\"", + // "admin.access-control.epeople.form.notification.deleted.success": "Successfully deleted EPerson \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.epeople.form.notification.deleted.success": "Successfully deleted EPerson \"{{name}}\"", + + // "admin.access-control.epeople.form.notification.deleted.failure": "Failed to delete EPerson \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.epeople.form.notification.deleted.failure": "Failed to delete EPerson \"{{name}}\"", + // "admin.access-control.epeople.form.groupsEPersonIsMemberOf": "Member of these groups:", // TODO New key - Add a translation "admin.access-control.epeople.form.groupsEPersonIsMemberOf": "Member of these groups:", @@ -482,6 +564,14 @@ // TODO New key - Add a translation "admin.access-control.groups.title": "DSpace Angular :: Groups", + // "admin.access-control.groups.title.singleGroup": "DSpace Angular :: Edit Group", + // TODO New key - Add a translation + "admin.access-control.groups.title.singleGroup": "DSpace Angular :: Edit Group", + + // "admin.access-control.groups.title.addGroup": "DSpace Angular :: New Group", + // TODO New key - Add a translation + "admin.access-control.groups.title.addGroup": "DSpace Angular :: New Group", + // "admin.access-control.groups.head": "Groups", // TODO New key - Add a translation "admin.access-control.groups.head": "Groups", @@ -514,10 +604,6 @@ // TODO New key - Add a translation "admin.access-control.groups.table.members": "Members", - // "admin.access-control.groups.table.comcol": "Community / Collection", - // TODO New key - Add a translation - "admin.access-control.groups.table.comcol": "Community / Collection", - // "admin.access-control.groups.table.edit": "Edit", // TODO New key - Add a translation "admin.access-control.groups.table.edit": "Edit", @@ -538,10 +624,23 @@ // TODO New key - Add a translation "admin.access-control.groups.notification.deleted.success": "Successfully deleted group \"{{name}}\"", - // "admin.access-control.groups.notification.deleted.failure": "Failed to delete group \"{{name}}\"", + // "admin.access-control.groups.notification.deleted.failure.title": "Failed to delete group \"{{name}}\"", // TODO New key - Add a translation - "admin.access-control.groups.notification.deleted.failure": "Failed to delete group \"{{name}}\"", + "admin.access-control.groups.notification.deleted.failure.title": "Failed to delete group \"{{name}}\"", + // "admin.access-control.groups.notification.deleted.failure.content": "Cause: \"{{cause}}\"", + // TODO New key - Add a translation + "admin.access-control.groups.notification.deleted.failure.content": "Cause: \"{{cause}}\"", + + + + // "admin.access-control.groups.form.alert.permanent": "This group is permanent, so it can't be edited or deleted. You can still add and remove group members using this page.", + // TODO New key - Add a translation + "admin.access-control.groups.form.alert.permanent": "This group is permanent, so it can't be edited or deleted. You can still add and remove group members using this page.", + + // "admin.access-control.groups.form.alert.workflowGroup": "This group can’t be modified or deleted because it corresponds to a role in the submission and workflow process in the \"{{name}}\" {{comcol}}. You can delete it from the \"assign roles\" tab on the edit {{comcol}} page. You can still add and remove group members using this page.", + // TODO New key - Add a translation + "admin.access-control.groups.form.alert.workflowGroup": "This group can’t be modified or deleted because it corresponds to a role in the submission and workflow process in the \"{{name}}\" {{comcol}}. You can delete it from the \"assign roles\" tab on the edit {{comcol}} page. You can still add and remove group members using this page.", // "admin.access-control.groups.form.head.create": "Create group", // TODO New key - Add a translation @@ -571,6 +670,50 @@ // TODO New key - Add a translation "admin.access-control.groups.form.notification.created.failure.groupNameInUse": "Failed to create Group with name: \"{{name}}\", make sure the name is not already in use.", + // "admin.access-control.groups.form.notification.edited.failure": "Failed to edit Group \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.edited.failure": "Failed to edit Group \"{{name}}\"", + + // "admin.access-control.groups.form.notification.edited.failure.groupNameInUse": "Name \"{{name}}\" already in use!", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.edited.failure.groupNameInUse": "Name \"{{name}}\" already in use!", + + // "admin.access-control.groups.form.notification.edited.success": "Successfully edited Group \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.edited.success": "Successfully edited Group \"{{name}}\"", + + // "admin.access-control.groups.form.actions.delete": "Delete Group", + // TODO New key - Add a translation + "admin.access-control.groups.form.actions.delete": "Delete Group", + + // "admin.access-control.groups.form.delete-group.modal.header": "Delete Group \"{{ dsoName }}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.delete-group.modal.header": "Delete Group \"{{ dsoName }}\"", + + // "admin.access-control.groups.form.delete-group.modal.info": "Are you sure you want to delete Group \"{{ dsoName }}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.delete-group.modal.info": "Are you sure you want to delete Group \"{{ dsoName }}\"", + + // "admin.access-control.groups.form.delete-group.modal.cancel": "Cancel", + // TODO New key - Add a translation + "admin.access-control.groups.form.delete-group.modal.cancel": "Cancel", + + // "admin.access-control.groups.form.delete-group.modal.confirm": "Delete", + // TODO New key - Add a translation + "admin.access-control.groups.form.delete-group.modal.confirm": "Delete", + + // "admin.access-control.groups.form.notification.deleted.success": "Successfully deleted group \"{{ name }}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.deleted.success": "Successfully deleted group \"{{ name }}\"", + + // "admin.access-control.groups.form.notification.deleted.failure.title": "Failed to delete group \"{{ name }}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.deleted.failure.title": "Failed to delete group \"{{ name }}\"", + + // "admin.access-control.groups.form.notification.deleted.failure.content": "Cause: \"{{ cause }}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.deleted.failure.content": "Cause: \"{{ cause }}\"", + // "admin.access-control.groups.form.members-list.head": "EPeople", // TODO New key - Add a translation "admin.access-control.groups.form.members-list.head": "EPeople", @@ -647,6 +790,10 @@ // TODO New key - Add a translation "admin.access-control.groups.form.members-list.no-items": "No EPeople found in that search", + // "admin.access-control.groups.form.subgroups-list.notification.failure": "Something went wrong: \"{{cause}}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.subgroups-list.notification.failure": "Something went wrong: \"{{cause}}\"", + // "admin.access-control.groups.form.subgroups-list.head": "Groups", // TODO New key - Add a translation "admin.access-control.groups.form.subgroups-list.head": "Groups", @@ -761,10 +908,6 @@ // TODO New key - Add a translation "admin.search.item.move": "Move", - // "admin.search.item.private": "Private", - // TODO New key - Add a translation - "admin.search.item.private": "Private", - // "admin.search.item.reinstate": "Reinstate", // TODO New key - Add a translation "admin.search.item.reinstate": "Reinstate", @@ -773,14 +916,76 @@ // TODO New key - Add a translation "admin.search.item.withdraw": "Withdraw", - // "admin.search.item.withdrawn": "Withdrawn", - // TODO New key - Add a translation - "admin.search.item.withdrawn": "Withdrawn", - // "admin.search.title": "Administrative Search", // TODO New key - Add a translation "admin.search.title": "Administrative Search", + // "administrativeView.search.results.head": "Administrative Search", + // TODO New key - Add a translation + "administrativeView.search.results.head": "Administrative Search", + + + + + // "admin.workflow.breadcrumbs": "Administer Workflow", + // TODO New key - Add a translation + "admin.workflow.breadcrumbs": "Administer Workflow", + + // "admin.workflow.title": "Administer Workflow", + // TODO New key - Add a translation + "admin.workflow.title": "Administer Workflow", + + // "admin.workflow.item.workflow": "Workflow", + // TODO New key - Add a translation + "admin.workflow.item.workflow": "Workflow", + + // "admin.workflow.item.delete": "Delete", + // TODO New key - Add a translation + "admin.workflow.item.delete": "Delete", + + // "admin.workflow.item.send-back": "Send back", + // TODO New key - Add a translation + "admin.workflow.item.send-back": "Send back", + + + + // "admin.metadata-import.breadcrumbs": "Import Metadata", + // TODO New key - Add a translation + "admin.metadata-import.breadcrumbs": "Import Metadata", + + // "admin.metadata-import.title": "Import Metadata", + // TODO New key - Add a translation + "admin.metadata-import.title": "Import Metadata", + + // "admin.metadata-import.page.header": "Import Metadata", + // TODO New key - Add a translation + "admin.metadata-import.page.header": "Import Metadata", + + // "admin.metadata-import.page.help": "You can drop or browse CSV files that contain batch metadata operations on files here", + // TODO New key - Add a translation + "admin.metadata-import.page.help": "You can drop or browse CSV files that contain batch metadata operations on files here", + + // "admin.metadata-import.page.dropMsg": "Drop a metadata CSV to import", + // TODO New key - Add a translation + "admin.metadata-import.page.dropMsg": "Drop a metadata CSV to import", + + // "admin.metadata-import.page.dropMsgReplace": "Drop to replace the metadata CSV to import", + // TODO New key - Add a translation + "admin.metadata-import.page.dropMsgReplace": "Drop to replace the metadata CSV to import", + + // "admin.metadata-import.page.button.return": "Return", + // TODO New key - Add a translation + "admin.metadata-import.page.button.return": "Return", + + // "admin.metadata-import.page.button.proceed": "Proceed", + // TODO New key - Add a translation + "admin.metadata-import.page.button.proceed": "Proceed", + + // "admin.metadata-import.page.error.addFile": "Select file first!", + // TODO New key - Add a translation + "admin.metadata-import.page.error.addFile": "Select file first!", + + // "auth.errors.invalid-user": "Invalid email address or password.", @@ -1018,6 +1223,10 @@ // TODO New key - Add a translation "collection.create.sub-head": "Create a Collection for Community {{ parent }}", + // "collection.curate.header": "Curate Collection: {{collection}}", + // TODO New key - Add a translation + "collection.curate.header": "Curate Collection: {{collection}}", + // "collection.delete.cancel": "Cancel", // TODO New key - Add a translation "collection.delete.cancel": "Cancel", @@ -1058,6 +1267,14 @@ + // "collection.edit.tabs.mapper.head": "Item Mapper", + // TODO New key - Add a translation + "collection.edit.tabs.mapper.head": "Item Mapper", + + // "collection.edit.tabs.item-mapper.title": "Collection Edit - Item Mapper", + // TODO New key - Add a translation + "collection.edit.tabs.item-mapper.title": "Collection Edit - Item Mapper", + // "collection.edit.item-mapper.cancel": "Cancel", // TODO New key - Add a translation "collection.edit.item-mapper.cancel": "Cancel", @@ -1176,6 +1393,14 @@ // TODO New key - Add a translation "collection.edit.tabs.curate.title": "Collection Edit - Curate", + // "collection.edit.tabs.authorizations.head": "Authorizations", + // TODO New key - Add a translation + "collection.edit.tabs.authorizations.head": "Authorizations", + + // "collection.edit.tabs.authorizations.title": "Collection Edit - Authorizations", + // TODO New key - Add a translation + "collection.edit.tabs.authorizations.title": "Collection Edit - Authorizations", + // "collection.edit.tabs.metadata.head": "Edit Metadata", // TODO New key - Add a translation "collection.edit.tabs.metadata.head": "Edit Metadata", @@ -1266,6 +1491,48 @@ + // "collection.edit.template.add-button": "Add", + // TODO New key - Add a translation + "collection.edit.template.add-button": "Add", + + // "collection.edit.template.breadcrumbs": "Item template", + // TODO New key - Add a translation + "collection.edit.template.breadcrumbs": "Item template", + + // "collection.edit.template.cancel": "Cancel", + // TODO New key - Add a translation + "collection.edit.template.cancel": "Cancel", + + // "collection.edit.template.delete-button": "Delete", + // TODO New key - Add a translation + "collection.edit.template.delete-button": "Delete", + + // "collection.edit.template.edit-button": "Edit", + // TODO New key - Add a translation + "collection.edit.template.edit-button": "Edit", + + // "collection.edit.template.head": "Edit Template Item for Collection \"{{ collection }}\"", + // TODO New key - Add a translation + "collection.edit.template.head": "Edit Template Item for Collection \"{{ collection }}\"", + + // "collection.edit.template.label": "Template item", + // TODO New key - Add a translation + "collection.edit.template.label": "Template item", + + // "collection.edit.template.notifications.delete.error": "Failed to delete the item template", + // TODO New key - Add a translation + "collection.edit.template.notifications.delete.error": "Failed to delete the item template", + + // "collection.edit.template.notifications.delete.success": "Successfully deleted the item template", + // TODO New key - Add a translation + "collection.edit.template.notifications.delete.success": "Successfully deleted the item template", + + // "collection.edit.template.title": "Edit Template Item", + // TODO New key - Add a translation + "collection.edit.template.title": "Edit Template Item", + + + // "collection.form.abstract": "Short Description", // TODO New key - Add a translation "collection.form.abstract": "Short Description", @@ -1300,6 +1567,12 @@ + // "collection.listelement.badge": "Collection", + // TODO New key - Add a translation + "collection.listelement.badge": "Collection", + + + // "collection.page.browse.recent.head": "Recent Submissions", // TODO New key - Add a translation "collection.page.browse.recent.head": "Recent Submissions", @@ -1308,6 +1581,10 @@ // TODO New key - Add a translation "collection.page.browse.recent.empty": "No items to show", + // "collection.page.edit": "Edit this collection", + // TODO New key - Add a translation + "collection.page.edit": "Edit this collection", + // "collection.page.handle": "Permanent URI for this collection", // TODO New key - Add a translation "collection.page.handle": "Permanent URI for this collection", @@ -1372,6 +1649,10 @@ // TODO New key - Add a translation "community.create.sub-head": "Create a Sub-Community for Community {{ parent }}", + // "community.curate.header": "Curate Community: {{community}}", + // TODO New key - Add a translation + "community.curate.header": "Curate Community: {{community}}", + // "community.delete.cancel": "Cancel", // TODO New key - Add a translation "community.delete.cancel": "Cancel", @@ -1443,6 +1724,14 @@ // TODO New key - Add a translation "community.edit.notifications.success": "Successfully edited the Community", + // "community.edit.notifications.unauthorized": "You do not have privileges to make this change", + // TODO New key - Add a translation + "community.edit.notifications.unauthorized": "You do not have privileges to make this change", + + // "community.edit.notifications.error": "An error occured while editing the Community", + // TODO New key - Add a translation + "community.edit.notifications.error": "An error occured while editing the Community", + // "community.edit.return": "Return", // TODO New key - Add a translation "community.edit.return": "Return", @@ -1473,6 +1762,118 @@ // TODO New key - Add a translation "community.edit.tabs.roles.title": "Community Edit - Roles", + // "community.edit.tabs.authorizations.head": "Authorizations", + // TODO New key - Add a translation + "community.edit.tabs.authorizations.head": "Authorizations", + + // "community.edit.tabs.authorizations.title": "Community Edit - Authorizations", + // TODO New key - Add a translation + "community.edit.tabs.authorizations.title": "Community Edit - Authorizations", + + + + // "community.listelement.badge": "Community", + // TODO New key - Add a translation + "community.listelement.badge": "Community", + + + + // "comcol-role.edit.no-group": "None", + // TODO New key - Add a translation + "comcol-role.edit.no-group": "None", + + // "comcol-role.edit.create": "Create", + // TODO New key - Add a translation + "comcol-role.edit.create": "Create", + + // "comcol-role.edit.restrict": "Restrict", + // TODO New key - Add a translation + "comcol-role.edit.restrict": "Restrict", + + // "comcol-role.edit.delete": "Delete", + // TODO New key - Add a translation + "comcol-role.edit.delete": "Delete", + + + // "comcol-role.edit.community-admin.name": "Administrators", + // TODO New key - Add a translation + "comcol-role.edit.community-admin.name": "Administrators", + + // "comcol-role.edit.collection-admin.name": "Administrators", + // TODO New key - Add a translation + "comcol-role.edit.collection-admin.name": "Administrators", + + + // "comcol-role.edit.community-admin.description": "Community administrators can create sub-communities or collections, and manage or assign management for those sub-communities or collections. In addition, they decide who can submit items to any sub-collections, edit item metadata (after submission), and add (map) existing items from other collections (subject to authorization).", + // TODO New key - Add a translation + "comcol-role.edit.community-admin.description": "Community administrators can create sub-communities or collections, and manage or assign management for those sub-communities or collections. In addition, they decide who can submit items to any sub-collections, edit item metadata (after submission), and add (map) existing items from other collections (subject to authorization).", + + // "comcol-role.edit.collection-admin.description": "Collection administrators decide who can submit items to the collection, edit item metadata (after submission), and add (map) existing items from other collections to this collection (subject to authorization for that collection).", + // TODO New key - Add a translation + "comcol-role.edit.collection-admin.description": "Collection administrators decide who can submit items to the collection, edit item metadata (after submission), and add (map) existing items from other collections to this collection (subject to authorization for that collection).", + + + // "comcol-role.edit.submitters.name": "Submitters", + // TODO New key - Add a translation + "comcol-role.edit.submitters.name": "Submitters", + + // "comcol-role.edit.submitters.description": "The E-People and Groups that have permission to submit new items to this collection.", + // TODO New key - Add a translation + "comcol-role.edit.submitters.description": "The E-People and Groups that have permission to submit new items to this collection.", + + + // "comcol-role.edit.item_read.name": "Default item read access", + // TODO New key - Add a translation + "comcol-role.edit.item_read.name": "Default item read access", + + // "comcol-role.edit.item_read.description": "E-People and Groups that can read new items submitted to this collection. Changes to this role are not retroactive. Existing items in the system will still be viewable by those who had read access at the time of their addition.", + // TODO New key - Add a translation + "comcol-role.edit.item_read.description": "E-People and Groups that can read new items submitted to this collection. Changes to this role are not retroactive. Existing items in the system will still be viewable by those who had read access at the time of their addition.", + + // "comcol-role.edit.item_read.anonymous-group": "Default read for incoming items is currently set to Anonymous.", + // TODO New key - Add a translation + "comcol-role.edit.item_read.anonymous-group": "Default read for incoming items is currently set to Anonymous.", + + + // "comcol-role.edit.bitstream_read.name": "Default bitstream read access", + // TODO New key - Add a translation + "comcol-role.edit.bitstream_read.name": "Default bitstream read access", + + // "comcol-role.edit.bitstream_read.description": "Community administrators can create sub-communities or collections, and manage or assign management for those sub-communities or collections. In addition, they decide who can submit items to any sub-collections, edit item metadata (after submission), and add (map) existing items from other collections (subject to authorization).", + // TODO New key - Add a translation + "comcol-role.edit.bitstream_read.description": "Community administrators can create sub-communities or collections, and manage or assign management for those sub-communities or collections. In addition, they decide who can submit items to any sub-collections, edit item metadata (after submission), and add (map) existing items from other collections (subject to authorization).", + + // "comcol-role.edit.bitstream_read.anonymous-group": "Default read for incoming bitstreams is currently set to Anonymous.", + // TODO New key - Add a translation + "comcol-role.edit.bitstream_read.anonymous-group": "Default read for incoming bitstreams is currently set to Anonymous.", + + + // "comcol-role.edit.editor.name": "Editors", + // TODO New key - Add a translation + "comcol-role.edit.editor.name": "Editors", + + // "comcol-role.edit.editor.description": "Editors are able to edit the metadata of incoming submissions, and then accept or reject them.", + // TODO New key - Add a translation + "comcol-role.edit.editor.description": "Editors are able to edit the metadata of incoming submissions, and then accept or reject them.", + + + // "comcol-role.edit.finaleditor.name": "Final editors", + // TODO New key - Add a translation + "comcol-role.edit.finaleditor.name": "Final editors", + + // "comcol-role.edit.finaleditor.description": "Final editors are able to edit the metadata of incoming submissions, but will not be able to reject them.", + // TODO New key - Add a translation + "comcol-role.edit.finaleditor.description": "Final editors are able to edit the metadata of incoming submissions, but will not be able to reject them.", + + + // "comcol-role.edit.reviewer.name": "Reviewers", + // TODO New key - Add a translation + "comcol-role.edit.reviewer.name": "Reviewers", + + // "comcol-role.edit.reviewer.description": "Reviewers are able to accept or reject incoming submissions. However, they are not able to edit the submission's metadata.", + // TODO New key - Add a translation + "comcol-role.edit.reviewer.description": "Reviewers are able to accept or reject incoming submissions. However, they are not able to edit the submission's metadata.", + // "community.form.abstract": "Short Description", @@ -1499,6 +1900,10 @@ // TODO New key - Add a translation "community.form.title": "Name", + // "community.page.edit": "Edit this community", + // TODO New key - Add a translation + "community.page.edit": "Edit this community", + // "community.page.handle": "Permanent URI for this community", // TODO New key - Add a translation "community.page.handle": "Permanent URI for this community", @@ -1525,10 +1930,188 @@ + // "cookies.consent.accept-all": "Accept all", + // TODO New key - Add a translation + "cookies.consent.accept-all": "Accept all", + + // "cookies.consent.accept-selected": "Accept selected", + // TODO New key - Add a translation + "cookies.consent.accept-selected": "Accept selected", + + // "cookies.consent.app.opt-out.description": "This app is loaded by default (but you can opt out)", + // TODO New key - Add a translation + "cookies.consent.app.opt-out.description": "This app is loaded by default (but you can opt out)", + + // "cookies.consent.app.opt-out.title": "(opt-out)", + // TODO New key - Add a translation + "cookies.consent.app.opt-out.title": "(opt-out)", + + // "cookies.consent.app.purpose": "purpose", + // TODO New key - Add a translation + "cookies.consent.app.purpose": "purpose", + + // "cookies.consent.app.required.description": "This application is always required", + // TODO New key - Add a translation + "cookies.consent.app.required.description": "This application is always required", + + // "cookies.consent.app.required.title": "(always required)", + // TODO New key - Add a translation + "cookies.consent.app.required.title": "(always required)", + + // "cookies.consent.update": "There were changes since your last visit, please update your consent.", + // TODO New key - Add a translation + "cookies.consent.update": "There were changes since your last visit, please update your consent.", + + // "cookies.consent.close": "Close", + // TODO New key - Add a translation + "cookies.consent.close": "Close", + + // "cookies.consent.decline": "Decline", + // TODO New key - Add a translation + "cookies.consent.decline": "Decline", + + // "cookies.consent.content-notice.description": "We collect and process your personal information for the following purposes: Authentication, Preferences, Acknowledgement and Statistics.
To learn more, please read our {privacyPolicy}.", + // TODO New key - Add a translation + "cookies.consent.content-notice.description": "We collect and process your personal information for the following purposes: Authentication, Preferences, Acknowledgement and Statistics.
To learn more, please read our {privacyPolicy}.", + + // "cookies.consent.content-notice.learnMore": "Customize", + // TODO New key - Add a translation + "cookies.consent.content-notice.learnMore": "Customize", + + // "cookies.consent.content-modal.description": "Here you can see and customize the information that we collect about you.", + // TODO New key - Add a translation + "cookies.consent.content-modal.description": "Here you can see and customize the information that we collect about you.", + + // "cookies.consent.content-modal.privacy-policy.name": "privacy policy", + // TODO New key - Add a translation + "cookies.consent.content-modal.privacy-policy.name": "privacy policy", + + // "cookies.consent.content-modal.privacy-policy.text": "To learn more, please read our {privacyPolicy}.", + // TODO New key - Add a translation + "cookies.consent.content-modal.privacy-policy.text": "To learn more, please read our {privacyPolicy}.", + + // "cookies.consent.content-modal.title": "Information that we collect", + // TODO New key - Add a translation + "cookies.consent.content-modal.title": "Information that we collect", + + + + // "cookies.consent.app.title.authentication": "Authentication", + // TODO New key - Add a translation + "cookies.consent.app.title.authentication": "Authentication", + + // "cookies.consent.app.description.authentication": "Required for signing you in", + // TODO New key - Add a translation + "cookies.consent.app.description.authentication": "Required for signing you in", + + + // "cookies.consent.app.title.preferences": "Preferences", + // TODO New key - Add a translation + "cookies.consent.app.title.preferences": "Preferences", + + // "cookies.consent.app.description.preferences": "Required for saving your preferences", + // TODO New key - Add a translation + "cookies.consent.app.description.preferences": "Required for saving your preferences", + + + + // "cookies.consent.app.title.acknowledgement": "Acknowledgement", + // TODO New key - Add a translation + "cookies.consent.app.title.acknowledgement": "Acknowledgement", + + // "cookies.consent.app.description.acknowledgement": "Required for saving your acknowledgements and consents", + // TODO New key - Add a translation + "cookies.consent.app.description.acknowledgement": "Required for saving your acknowledgements and consents", + + + + // "cookies.consent.app.title.google-analytics": "Google Analytics", + // TODO New key - Add a translation + "cookies.consent.app.title.google-analytics": "Google Analytics", + + // "cookies.consent.app.description.google-analytics": "Allows us to track statistical data", + // TODO New key - Add a translation + "cookies.consent.app.description.google-analytics": "Allows us to track statistical data", + + + + // "cookies.consent.purpose.functional": "Functional", + // TODO New key - Add a translation + "cookies.consent.purpose.functional": "Functional", + + // "cookies.consent.purpose.statistical": "Statistical", + // TODO New key - Add a translation + "cookies.consent.purpose.statistical": "Statistical", + + + // "curation-task.task.checklinks.label": "Check Links in Metadata", + // TODO New key - Add a translation + "curation-task.task.checklinks.label": "Check Links in Metadata", + + // "curation-task.task.noop.label": "NOOP", + // TODO New key - Add a translation + "curation-task.task.noop.label": "NOOP", + + // "curation-task.task.profileformats.label": "Profile Bitstream Formats", + // TODO New key - Add a translation + "curation-task.task.profileformats.label": "Profile Bitstream Formats", + + // "curation-task.task.requiredmetadata.label": "Check for Required Metadata", + // TODO New key - Add a translation + "curation-task.task.requiredmetadata.label": "Check for Required Metadata", + + // "curation-task.task.translate.label": "Microsoft Translator", + // TODO New key - Add a translation + "curation-task.task.translate.label": "Microsoft Translator", + + // "curation-task.task.vscan.label": "Virus Scan", + // TODO New key - Add a translation + "curation-task.task.vscan.label": "Virus Scan", + + + + // "curation.form.task-select.label": "Task:", + // TODO New key - Add a translation + "curation.form.task-select.label": "Task:", + + // "curation.form.submit": "Start", + // TODO New key - Add a translation + "curation.form.submit": "Start", + + // "curation.form.submit.success.head": "The curation task has been started successfully", + // TODO New key - Add a translation + "curation.form.submit.success.head": "The curation task has been started successfully", + + // "curation.form.submit.success.content": "You will be redirected to the corresponding process page.", + // TODO New key - Add a translation + "curation.form.submit.success.content": "You will be redirected to the corresponding process page.", + + // "curation.form.submit.error.head": "Running the curation task failed", + // TODO New key - Add a translation + "curation.form.submit.error.head": "Running the curation task failed", + + // "curation.form.submit.error.content": "An error occured when trying to start the curation task.", + // TODO New key - Add a translation + "curation.form.submit.error.content": "An error occured when trying to start the curation task.", + + // "curation.form.handle.label": "Handle:", + // TODO New key - Add a translation + "curation.form.handle.label": "Handle:", + + // "curation.form.handle.hint": "Hint: Enter [your-handle-prefix]/0 to run a task across entire site (not all tasks may support this capability)", + // TODO New key - Add a translation + "curation.form.handle.hint": "Hint: Enter [your-handle-prefix]/0 to run a task across entire site (not all tasks may support this capability)", + + + // "dso-selector.create.collection.head": "New collection", // TODO New key - Add a translation "dso-selector.create.collection.head": "New collection", + // "dso-selector.create.collection.sub-level": "Create a new collection in", + // TODO New key - Add a translation + "dso-selector.create.collection.sub-level": "Create a new collection in", + // "dso-selector.create.community.head": "New community", // TODO New key - Add a translation "dso-selector.create.community.head": "New community", @@ -1545,6 +2128,14 @@ // TODO New key - Add a translation "dso-selector.create.item.head": "New item", + // "dso-selector.create.item.sub-level": "Create a new item in", + // TODO New key - Add a translation + "dso-selector.create.item.sub-level": "Create a new item in", + + // "dso-selector.create.submission.head": "New submission", + // TODO New key - Add a translation + "dso-selector.create.submission.head": "New submission", + // "dso-selector.edit.collection.head": "Edit collection", // TODO New key - Add a translation "dso-selector.edit.collection.head": "Edit collection", @@ -1557,6 +2148,10 @@ // TODO New key - Add a translation "dso-selector.edit.item.head": "Edit item", + // "dso-selector.export-metadata.dspaceobject.head": "Export metadata from", + // TODO New key - Add a translation + "dso-selector.export-metadata.dspaceobject.head": "Export metadata from", + // "dso-selector.no-results": "No {{ type }} found", // TODO New key - Add a translation "dso-selector.no-results": "No {{ type }} found", @@ -1567,6 +2162,39 @@ + // "confirmation-modal.export-metadata.header": "Export metadata for {{ dsoName }}", + // TODO New key - Add a translation + "confirmation-modal.export-metadata.header": "Export metadata for {{ dsoName }}", + + // "confirmation-modal.export-metadata.info": "Are you sure you want to export metadata for {{ dsoName }}", + // TODO New key - Add a translation + "confirmation-modal.export-metadata.info": "Are you sure you want to export metadata for {{ dsoName }}", + + // "confirmation-modal.export-metadata.cancel": "Cancel", + // TODO New key - Add a translation + "confirmation-modal.export-metadata.cancel": "Cancel", + + // "confirmation-modal.export-metadata.confirm": "Export", + // TODO New key - Add a translation + "confirmation-modal.export-metadata.confirm": "Export", + + // "confirmation-modal.delete-eperson.header": "Delete EPerson \"{{ dsoName }}\"", + // TODO New key - Add a translation + "confirmation-modal.delete-eperson.header": "Delete EPerson \"{{ dsoName }}\"", + + // "confirmation-modal.delete-eperson.info": "Are you sure you want to delete EPerson \"{{ dsoName }}\"", + // TODO New key - Add a translation + "confirmation-modal.delete-eperson.info": "Are you sure you want to delete EPerson \"{{ dsoName }}\"", + + // "confirmation-modal.delete-eperson.cancel": "Cancel", + // TODO New key - Add a translation + "confirmation-modal.delete-eperson.cancel": "Cancel", + + // "confirmation-modal.delete-eperson.confirm": "Delete", + // TODO New key - Add a translation + "confirmation-modal.delete-eperson.confirm": "Delete", + + // "error.bitstream": "Error fetching bitstream", // TODO New key - Add a translation "error.bitstream": "Error fetching bitstream", @@ -1645,6 +2273,12 @@ + // "file-section.error.header": "Error obtaining files for this item", + // TODO New key - Add a translation + "file-section.error.header": "Error obtaining files for this item", + + + // "footer.copyright": "copyright © 2002-{{ year }}", // TODO New key - Add a translation "footer.copyright": "copyright © 2002-{{ year }}", @@ -1657,6 +2291,127 @@ // TODO New key - Add a translation "footer.link.duraspace": "DuraSpace", + // "footer.link.cookies": "Cookie settings", + // TODO New key - Add a translation + "footer.link.cookies": "Cookie settings", + + // "footer.link.privacy-policy": "Privacy policy", + // TODO New key - Add a translation + "footer.link.privacy-policy": "Privacy policy", + + // "footer.link.end-user-agreement":"End User Agreement", + // TODO New key - Add a translation + "footer.link.end-user-agreement":"End User Agreement", + + + + // "forgot-email.form.header": "Forgot Password", + // TODO New key - Add a translation + "forgot-email.form.header": "Forgot Password", + + // "forgot-email.form.info": "Enter Register an account to subscribe to collections for email updates, and submit new items to DSpace.", + // TODO New key - Add a translation + "forgot-email.form.info": "Enter Register an account to subscribe to collections for email updates, and submit new items to DSpace.", + + // "forgot-email.form.email": "Email Address *", + // TODO New key - Add a translation + "forgot-email.form.email": "Email Address *", + + // "forgot-email.form.email.error.required": "Please fill in an email address", + // TODO New key - Add a translation + "forgot-email.form.email.error.required": "Please fill in an email address", + + // "forgot-email.form.email.error.pattern": "Please fill in a valid email address", + // TODO New key - Add a translation + "forgot-email.form.email.error.pattern": "Please fill in a valid email address", + + // "forgot-email.form.email.hint": "This address will be verified and used as your login name.", + // TODO New key - Add a translation + "forgot-email.form.email.hint": "This address will be verified and used as your login name.", + + // "forgot-email.form.submit": "Submit", + // TODO New key - Add a translation + "forgot-email.form.submit": "Submit", + + // "forgot-email.form.success.head": "Verification email sent", + // TODO New key - Add a translation + "forgot-email.form.success.head": "Verification email sent", + + // "forgot-email.form.success.content": "An email has been sent to {{ email }} containing a special URL and further instructions.", + // TODO New key - Add a translation + "forgot-email.form.success.content": "An email has been sent to {{ email }} containing a special URL and further instructions.", + + // "forgot-email.form.error.head": "Error when trying to register email", + // TODO New key - Add a translation + "forgot-email.form.error.head": "Error when trying to register email", + + // "forgot-email.form.error.content": "An error occured when registering the following email address: {{ email }}", + // TODO New key - Add a translation + "forgot-email.form.error.content": "An error occured when registering the following email address: {{ email }}", + + + + // "forgot-password.title": "Forgot Password", + // TODO New key - Add a translation + "forgot-password.title": "Forgot Password", + + // "forgot-password.form.head": "Forgot Password", + // TODO New key - Add a translation + "forgot-password.form.head": "Forgot Password", + + // "forgot-password.form.info": "Enter a new password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", + // TODO New key - Add a translation + "forgot-password.form.info": "Enter a new password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", + + // "forgot-password.form.card.security": "Security", + // TODO New key - Add a translation + "forgot-password.form.card.security": "Security", + + // "forgot-password.form.identification.header": "Identify", + // TODO New key - Add a translation + "forgot-password.form.identification.header": "Identify", + + // "forgot-password.form.identification.email": "Email address: ", + // TODO New key - Add a translation + "forgot-password.form.identification.email": "Email address: ", + + // "forgot-password.form.label.password": "Password", + // TODO New key - Add a translation + "forgot-password.form.label.password": "Password", + + // "forgot-password.form.label.passwordrepeat": "Retype to confirm", + // TODO New key - Add a translation + "forgot-password.form.label.passwordrepeat": "Retype to confirm", + + // "forgot-password.form.error.empty-password": "Please enter a password in the box below.", + // TODO New key - Add a translation + "forgot-password.form.error.empty-password": "Please enter a password in the box below.", + + // "forgot-password.form.error.matching-passwords": "The passwords do not match.", + // TODO New key - Add a translation + "forgot-password.form.error.matching-passwords": "The passwords do not match.", + + // "forgot-password.form.error.password-length": "The password should be at least 6 characters long.", + // TODO New key - Add a translation + "forgot-password.form.error.password-length": "The password should be at least 6 characters long.", + + // "forgot-password.form.notification.error.title": "Error when trying to submit new password", + // TODO New key - Add a translation + "forgot-password.form.notification.error.title": "Error when trying to submit new password", + + // "forgot-password.form.notification.success.content": "The password reset was successful. You have been logged in as the created user.", + // TODO New key - Add a translation + "forgot-password.form.notification.success.content": "The password reset was successful. You have been logged in as the created user.", + + // "forgot-password.form.notification.success.title": "Password reset completed", + // TODO New key - Add a translation + "forgot-password.form.notification.success.title": "Password reset completed", + + // "forgot-password.form.submit": "Submit password", + // TODO New key - Add a translation + "forgot-password.form.submit": "Submit password", + + // "form.add": "Add", // TODO New key - Add a translation @@ -1750,9 +2505,9 @@ // TODO New key - Add a translation "form.search": "Search", - // "form.search-help": "Click here to looking for an existing correspondence", + // "form.search-help": "Click here to look for an existing correspondence", // TODO New key - Add a translation - "form.search-help": "Click here to looking for an existing correspondence", + "form.search-help": "Click here to look for an existing correspondence", // "form.submit": "Submit", // TODO New key - Add a translation @@ -1764,6 +2519,10 @@ // TODO New key - Add a translation "home.description": "", + // "home.breadcrumbs": "Home", + // TODO New key - Add a translation + "home.breadcrumbs": "Home", + // "home.title": "DSpace Angular :: Home", // TODO New key - Add a translation "home.title": "DSpace Angular :: Home", @@ -1778,6 +2537,81 @@ + // "info.end-user-agreement.accept": "I have read and I agree to the End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.accept": "I have read and I agree to the End User Agreement", + + // "info.end-user-agreement.accept.error": "An error occurred accepting the End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.accept.error": "An error occurred accepting the End User Agreement", + + // "info.end-user-agreement.accept.success": "Successfully updated the End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.accept.success": "Successfully updated the End User Agreement", + + // "info.end-user-agreement.breadcrumbs": "End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.breadcrumbs": "End User Agreement", + + // "info.end-user-agreement.buttons.cancel": "Cancel", + // TODO New key - Add a translation + "info.end-user-agreement.buttons.cancel": "Cancel", + + // "info.end-user-agreement.buttons.save": "Save", + // TODO New key - Add a translation + "info.end-user-agreement.buttons.save": "Save", + + // "info.end-user-agreement.head": "End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.head": "End User Agreement", + + // "info.end-user-agreement.title": "End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.title": "End User Agreement", + + // "info.privacy.breadcrumbs": "Privacy Statement", + // TODO New key - Add a translation + "info.privacy.breadcrumbs": "Privacy Statement", + + // "info.privacy.head": "Privacy Statement", + // TODO New key - Add a translation + "info.privacy.head": "Privacy Statement", + + // "info.privacy.title": "Privacy Statement", + // TODO New key - Add a translation + "info.privacy.title": "Privacy Statement", + + + + // "item.alerts.private": "This item is private", + // TODO New key - Add a translation + "item.alerts.private": "This item is private", + + // "item.alerts.withdrawn": "This item has been withdrawn", + // TODO New key - Add a translation + "item.alerts.withdrawn": "This item has been withdrawn", + + + + // "item.edit.authorizations.heading": "With this editor you can view and alter the policies of an item, plus alter policies of individual item components: bundles and bitstreams. Briefly, an item is a container of bundles, and bundles are containers of bitstreams. Containers usually have ADD/REMOVE/READ/WRITE policies, while bitstreams only have READ/WRITE policies.", + // TODO New key - Add a translation + "item.edit.authorizations.heading": "With this editor you can view and alter the policies of an item, plus alter policies of individual item components: bundles and bitstreams. Briefly, an item is a container of bundles, and bundles are containers of bitstreams. Containers usually have ADD/REMOVE/READ/WRITE policies, while bitstreams only have READ/WRITE policies.", + + // "item.edit.authorizations.title": "Edit item's Policies", + // TODO New key - Add a translation + "item.edit.authorizations.title": "Edit item's Policies", + + + + // "item.badge.private": "Private", + // TODO New key - Add a translation + "item.badge.private": "Private", + + // "item.badge.withdrawn": "Withdrawn", + // TODO New key - Add a translation + "item.badge.withdrawn": "Withdrawn", + + // "item.bitstreams.upload.bundle": "Bundle", // TODO New key - Add a translation @@ -1980,6 +2814,13 @@ "item.edit.breadcrumbs": "Edit Item", + // "item.edit.tabs.mapper.head": "Collection Mapper", + // TODO New key - Add a translation + "item.edit.tabs.mapper.head": "Collection Mapper", + + // "item.edit.tabs.item-mapper.title": "Item Edit - Collection Mapper", + // TODO New key - Add a translation + "item.edit.tabs.item-mapper.title": "Item Edit - Collection Mapper", // "item.edit.item-mapper.buttons.add": "Map item to selected collections", // TODO New key - Add a translation @@ -2075,6 +2916,10 @@ // TODO New key - Add a translation "item.edit.metadata.edit.buttons.unedit": "Stop editing", + // "item.edit.metadata.empty": "The item currently doesn't contain any metadata. Click Add to start adding a metadata value.", + // TODO New key - Add a translation + "item.edit.metadata.empty": "The item currently doesn't contain any metadata. Click Add to start adding a metadata value.", + // "item.edit.metadata.headers.edit": "Edit", // TODO New key - Add a translation "item.edit.metadata.headers.edit": "Edit", @@ -2103,6 +2948,10 @@ // TODO New key - Add a translation "item.edit.metadata.notifications.discarded.title": "Changed discarded", + // "item.edit.metadata.notifications.error.title": "An error occurred", + // TODO New key - Add a translation + "item.edit.metadata.notifications.error.title": "An error occurred", + // "item.edit.metadata.notifications.invalid.content": "Your changes were not saved. Please make sure all fields are valid before you save.", // TODO New key - Add a translation "item.edit.metadata.notifications.invalid.content": "Your changes were not saved. Please make sure all fields are valid before you save.", @@ -2279,6 +3128,10 @@ // TODO New key - Add a translation "item.edit.relationships.discard-button": "Discard", + // "item.edit.relationships.edit.buttons.add": "Add", + // TODO New key - Add a translation + "item.edit.relationships.edit.buttons.add": "Add", + // "item.edit.relationships.edit.buttons.remove": "Remove", // TODO New key - Add a translation "item.edit.relationships.edit.buttons.remove": "Remove", @@ -2287,6 +3140,10 @@ // TODO New key - Add a translation "item.edit.relationships.edit.buttons.undo": "Undo changes", + // "item.edit.relationships.no-relationships": "No relationships", + // TODO New key - Add a translation + "item.edit.relationships.no-relationships": "No relationships", + // "item.edit.relationships.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", // TODO New key - Add a translation "item.edit.relationships.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", @@ -2295,9 +3152,9 @@ // TODO New key - Add a translation "item.edit.relationships.notifications.discarded.title": "Changes discarded", - // "item.edit.relationships.notifications.failed.title": "Error deleting relationship", + // "item.edit.relationships.notifications.failed.title": "Error editing relationships", // TODO New key - Add a translation - "item.edit.relationships.notifications.failed.title": "Error deleting relationship", + "item.edit.relationships.notifications.failed.title": "Error editing relationships", // "item.edit.relationships.notifications.outdated.content": "The item you're currently working on has been changed by another user. Your current changes are discarded to prevent conflicts", // TODO New key - Add a translation @@ -2323,6 +3180,10 @@ // TODO New key - Add a translation "item.edit.relationships.save-button": "Save", + // "item.edit.relationships.no-entity-type": "Add 'relationship.type' metadata to enable relationships for this item", + // TODO New key - Add a translation + "item.edit.relationships.no-entity-type": "Add 'relationship.type' metadata to enable relationships for this item", + // "item.edit.tabs.bitstreams.head": "Bitstreams", @@ -2497,6 +3358,48 @@ + // "item.listelement.badge": "Item", + // TODO New key - Add a translation + "item.listelement.badge": "Item", + + // "item.page.description": "Description", + // TODO New key - Add a translation + "item.page.description": "Description", + + // "item.page.edit": "Edit this item", + // TODO New key - Add a translation + "item.page.edit": "Edit this item", + + // "item.page.journal-issn": "Journal ISSN", + // TODO New key - Add a translation + "item.page.journal-issn": "Journal ISSN", + + // "item.page.journal-title": "Journal Title", + // TODO New key - Add a translation + "item.page.journal-title": "Journal Title", + + // "item.page.publisher": "Publisher", + // TODO New key - Add a translation + "item.page.publisher": "Publisher", + + // "item.page.titleprefix": "Item: ", + // TODO New key - Add a translation + "item.page.titleprefix": "Item: ", + + // "item.page.volume-title": "Volume Title", + // TODO New key - Add a translation + "item.page.volume-title": "Volume Title", + + // "item.search.results.head": "Item Search Results", + // TODO New key - Add a translation + "item.search.results.head": "Item Search Results", + + // "item.search.title": "DSpace Angular :: Item Search", + // TODO New key - Add a translation + "item.search.title": "DSpace Angular :: Item Search", + + + // "item.page.abstract": "Abstract", // TODO New key - Add a translation "item.page.abstract": "Abstract", @@ -2517,6 +3420,10 @@ // TODO New key - Add a translation "item.page.date": "Date", + // "item.page.edit": "Edit this item", + // TODO New key - Add a translation + "item.page.edit": "Edit this item", + // "item.page.files": "Files", // TODO New key - Add a translation "item.page.files": "Files", @@ -2589,6 +3496,65 @@ // TODO New key - Add a translation "item.page.uri": "URI", + // "item.page.bitstreams.view-more": "Show more", + // TODO New key - Add a translation + "item.page.bitstreams.view-more": "Show more", + + // "item.page.bitstreams.collapse": "Collapse", + // TODO New key - Add a translation + "item.page.bitstreams.collapse": "Collapse", + + // "item.page.filesection.original.bundle" : "Original bundle", + // TODO New key - Add a translation + "item.page.filesection.original.bundle" : "Original bundle", + + // "item.page.filesection.license.bundle" : "License bundle", + // TODO New key - Add a translation + "item.page.filesection.license.bundle" : "License bundle", + + // "item.preview.dc.identifier.uri": "Identifier:", + // TODO New key - Add a translation + "item.preview.dc.identifier.uri": "Identifier:", + + // "item.preview.dc.contributor.author": "Authors:", + // TODO New key - Add a translation + "item.preview.dc.contributor.author": "Authors:", + + // "item.preview.dc.date.issued": "Published date:", + // TODO New key - Add a translation + "item.preview.dc.date.issued": "Published date:", + + // "item.preview.dc.description.abstract": "Abstract:", + // TODO New key - Add a translation + "item.preview.dc.description.abstract": "Abstract:", + + // "item.preview.dc.identifier.other": "Other identifier:", + // TODO New key - Add a translation + "item.preview.dc.identifier.other": "Other identifier:", + + // "item.preview.dc.language.iso": "Language:", + // TODO New key - Add a translation + "item.preview.dc.language.iso": "Language:", + + // "item.preview.dc.subject": "Subjects:", + // TODO New key - Add a translation + "item.preview.dc.subject": "Subjects:", + + // "item.preview.dc.title": "Title:", + // TODO New key - Add a translation + "item.preview.dc.title": "Title:", + + // "item.preview.person.familyName": "Surname:", + // TODO New key - Add a translation + "item.preview.person.familyName": "Surname:", + + // "item.preview.person.givenName": "Name:", + // TODO New key - Add a translation + "item.preview.person.givenName": "Name:", + + // "item.preview.person.identifier.orcid": "ORCID:", + // TODO New key - Add a translation + "item.preview.person.identifier.orcid": "ORCID:", // "item.select.confirm": "Confirm selected", @@ -2664,6 +3630,10 @@ // TODO New key - Add a translation "journal.page.description": "Description", + // "journal.page.edit": "Edit this item", + // TODO New key - Add a translation + "journal.page.edit": "Edit this item", + // "journal.page.editor": "Editor-in-Chief", // TODO New key - Add a translation "journal.page.editor": "Editor-in-Chief", @@ -2698,6 +3668,10 @@ // TODO New key - Add a translation "journalissue.page.description": "Description", + // "journalissue.page.edit": "Edit this item", + // TODO New key - Add a translation + "journalissue.page.edit": "Edit this item", + // "journalissue.page.issuedate": "Issue Date", // TODO New key - Add a translation "journalissue.page.issuedate": "Issue Date", @@ -2732,6 +3706,10 @@ // TODO New key - Add a translation "journalvolume.page.description": "Description", + // "journalvolume.page.edit": "Edit this item", + // TODO New key - Add a translation + "journalvolume.page.edit": "Edit this item", + // "journalvolume.page.issuedate": "Issue Date", // TODO New key - Add a translation "journalvolume.page.issuedate": "Issue Date", @@ -3042,6 +4020,10 @@ // TODO New key - Add a translation "menu.section.icon.pin": "Pin sidebar", + // "menu.section.icon.processes": "Processes menu section", + // TODO New key - Add a translation + "menu.section.icon.processes": "Processes menu section", + // "menu.section.icon.registries": "Registries menu section", // TODO New key - Add a translation "menu.section.icon.registries": "Registries menu section", @@ -3090,6 +4072,10 @@ // TODO New key - Add a translation "menu.section.new_item_version": "Item Version", + // "menu.section.new_process": "Process", + // TODO New key - Add a translation + "menu.section.new_process": "Process", + // "menu.section.pin": "Pin sidebar", @@ -3102,6 +4088,12 @@ + // "menu.section.processes": "Processes", + // TODO New key - Add a translation + "menu.section.processes": "Processes", + + + // "menu.section.registries": "Registries", // TODO New key - Add a translation "menu.section.registries": "Registries", @@ -3167,14 +4159,18 @@ "menu.section.toggle.statistics_task": "Toggle Statistics Task section", + // "menu.section.workflow": "Administer Workflow", + // TODO New key - Add a translation + "menu.section.workflow": "Administer Workflow", + // "mydspace.description": "", // TODO New key - Add a translation "mydspace.description": "", - // "mydspace.general.text-here": "HERE", + // "mydspace.general.text-here": "here", // TODO New key - Add a translation - "mydspace.general.text-here": "HERE", + "mydspace.general.text-here": "here", // "mydspace.messages.controller-help": "Select this option to send a message to item's submitter.", // TODO New key - Add a translation @@ -3232,6 +4228,14 @@ // TODO New key - Add a translation "mydspace.new-submission": "New submission", + // "mydspace.new-submission-external": "Import metadata from external source", + // TODO New key - Add a translation + "mydspace.new-submission-external": "Import metadata from external source", + + // "mydspace.new-submission-external-short": "Import metadata", + // TODO New key - Add a translation + "mydspace.new-submission-external-short": "Import metadata", + // "mydspace.results.head": "Your submissions", // TODO New key - Add a translation "mydspace.results.head": "Your submissions", @@ -3304,6 +4308,14 @@ // TODO New key - Add a translation "mydspace.upload.upload-failed": "Error creating new workspace. Please verify the content uploaded before retry.", + // "mydspace.upload.upload-failed-manyentries": "Unprocessable file. Detected too many entries but allowed only one for file.", + // TODO New key - Add a translation + "mydspace.upload.upload-failed-manyentries": "Unprocessable file. Detected too many entries but allowed only one for file.", + + // "mydspace.upload.upload-failed-moreonefile": "Unprocessable request. Only one file is allowed.", + // TODO New key - Add a translation + "mydspace.upload.upload-failed-moreonefile": "Unprocessable request. Only one file is allowed.", + // "mydspace.upload.upload-multiple-successful": "{{qty}} new workspace items created.", // TODO New key - Add a translation "mydspace.upload.upload-multiple-successful": "{{qty}} new workspace items created.", @@ -3354,6 +4366,10 @@ // TODO New key - Add a translation "nav.statistics.header": "Statistics", + // "nav.stop-impersonating": "Stop impersonating EPerson", + // TODO New key - Add a translation + "nav.stop-impersonating": "Stop impersonating EPerson", + // "orgunit.listelement.badge": "Organizational Unit", @@ -3376,6 +4392,10 @@ // TODO New key - Add a translation "orgunit.page.description": "Description", + // "orgunit.page.edit": "Edit this item", + // TODO New key - Add a translation + "orgunit.page.edit": "Edit this item", + // "orgunit.page.id": "ID", // TODO New key - Add a translation "orgunit.page.id": "ID", @@ -3408,10 +4428,18 @@ // TODO New key - Add a translation "person.listelement.badge": "Person", + // "person.listelement.no-title": "No name found", + // TODO New key - Add a translation + "person.listelement.no-title": "No name found", + // "person.page.birthdate": "Birth Date", // TODO New key - Add a translation "person.page.birthdate": "Birth Date", + // "person.page.edit": "Edit this item", + // TODO New key - Add a translation + "person.page.edit": "Edit this item", + // "person.page.email": "Email Address", // TODO New key - Add a translation "person.page.email": "Email Address", @@ -3454,6 +4482,183 @@ + // "process.new.select-parameters": "Parameters", + // TODO New key - Add a translation + "process.new.select-parameters": "Parameters", + + // "process.new.cancel": "Cancel", + // TODO New key - Add a translation + "process.new.cancel": "Cancel", + + // "process.new.submit": "Submit", + // TODO New key - Add a translation + "process.new.submit": "Submit", + + // "process.new.select-script": "Script", + // TODO New key - Add a translation + "process.new.select-script": "Script", + + // "process.new.select-script.placeholder": "Choose a script...", + // TODO New key - Add a translation + "process.new.select-script.placeholder": "Choose a script...", + + // "process.new.select-script.required": "Script is required", + // TODO New key - Add a translation + "process.new.select-script.required": "Script is required", + + // "process.new.parameter.file.upload-button": "Select file...", + // TODO New key - Add a translation + "process.new.parameter.file.upload-button": "Select file...", + + // "process.new.parameter.file.required": "Please select a file", + // TODO New key - Add a translation + "process.new.parameter.file.required": "Please select a file", + + // "process.new.parameter.string.required": "Parameter value is required", + // TODO New key - Add a translation + "process.new.parameter.string.required": "Parameter value is required", + + // "process.new.parameter.type.value": "value", + // TODO New key - Add a translation + "process.new.parameter.type.value": "value", + + // "process.new.parameter.type.file": "file", + // TODO New key - Add a translation + "process.new.parameter.type.file": "file", + + // "process.new.parameter.required.missing": "The following parameters are required but still missing:", + // TODO New key - Add a translation + "process.new.parameter.required.missing": "The following parameters are required but still missing:", + + // "process.new.notification.success.title": "Success", + // TODO New key - Add a translation + "process.new.notification.success.title": "Success", + + // "process.new.notification.success.content": "The process was successfully created", + // TODO New key - Add a translation + "process.new.notification.success.content": "The process was successfully created", + + // "process.new.notification.error.title": "Error", + // TODO New key - Add a translation + "process.new.notification.error.title": "Error", + + // "process.new.notification.error.content": "An error occurred while creating this process", + // TODO New key - Add a translation + "process.new.notification.error.content": "An error occurred while creating this process", + + // "process.new.header": "Create a new process", + // TODO New key - Add a translation + "process.new.header": "Create a new process", + + // "process.new.title": "Create a new process", + // TODO New key - Add a translation + "process.new.title": "Create a new process", + + // "process.new.breadcrumbs": "Create a new process", + // TODO New key - Add a translation + "process.new.breadcrumbs": "Create a new process", + + + + // "process.detail.arguments" : "Arguments", + // TODO New key - Add a translation + "process.detail.arguments" : "Arguments", + + // "process.detail.arguments.empty" : "This process doesn't contain any arguments", + // TODO New key - Add a translation + "process.detail.arguments.empty" : "This process doesn't contain any arguments", + + // "process.detail.back" : "Back", + // TODO New key - Add a translation + "process.detail.back" : "Back", + + // "process.detail.output" : "Process Output", + // TODO New key - Add a translation + "process.detail.output" : "Process Output", + + // "process.detail.logs.button": "Retrieve process output", + // TODO New key - Add a translation + "process.detail.logs.button": "Retrieve process output", + + // "process.detail.logs.loading": "Retrieving", + // TODO New key - Add a translation + "process.detail.logs.loading": "Retrieving", + + // "process.detail.logs.none": "This process has no output", + // TODO New key - Add a translation + "process.detail.logs.none": "This process has no output", + + // "process.detail.output-files" : "Output Files", + // TODO New key - Add a translation + "process.detail.output-files" : "Output Files", + + // "process.detail.output-files.empty" : "This process doesn't contain any output files", + // TODO New key - Add a translation + "process.detail.output-files.empty" : "This process doesn't contain any output files", + + // "process.detail.script" : "Script", + // TODO New key - Add a translation + "process.detail.script" : "Script", + + // "process.detail.title" : "Process: {{ id }} - {{ name }}", + // TODO New key - Add a translation + "process.detail.title" : "Process: {{ id }} - {{ name }}", + + // "process.detail.start-time" : "Start time", + // TODO New key - Add a translation + "process.detail.start-time" : "Start time", + + // "process.detail.end-time" : "Finish time", + // TODO New key - Add a translation + "process.detail.end-time" : "Finish time", + + // "process.detail.status" : "Status", + // TODO New key - Add a translation + "process.detail.status" : "Status", + + // "process.detail.create" : "Create similar process", + // TODO New key - Add a translation + "process.detail.create" : "Create similar process", + + + + // "process.overview.table.finish" : "Finish time", + // TODO New key - Add a translation + "process.overview.table.finish" : "Finish time", + + // "process.overview.table.id" : "Process ID", + // TODO New key - Add a translation + "process.overview.table.id" : "Process ID", + + // "process.overview.table.name" : "Name", + // TODO New key - Add a translation + "process.overview.table.name" : "Name", + + // "process.overview.table.start" : "Start time", + // TODO New key - Add a translation + "process.overview.table.start" : "Start time", + + // "process.overview.table.status" : "Status", + // TODO New key - Add a translation + "process.overview.table.status" : "Status", + + // "process.overview.table.user" : "User", + // TODO New key - Add a translation + "process.overview.table.user" : "User", + + // "process.overview.title": "Processes Overview", + // TODO New key - Add a translation + "process.overview.title": "Processes Overview", + + // "process.overview.breadcrumbs": "Processes Overview", + // TODO New key - Add a translation + "process.overview.breadcrumbs": "Processes Overview", + + // "process.overview.new": "New", + // TODO New key - Add a translation + "process.overview.new": "New", + + // "profile.breadcrumbs": "Update Profile", // TODO New key - Add a translation "profile.breadcrumbs": "Update Profile", @@ -3580,6 +4785,10 @@ // TODO New key - Add a translation "project.page.description": "Description", + // "project.page.edit": "Edit this item", + // TODO New key - Add a translation + "project.page.edit": "Edit this item", + // "project.page.expectedcompletion": "Expected Completion", // TODO New key - Add a translation "project.page.expectedcompletion": "Expected Completion", @@ -3618,6 +4827,10 @@ // TODO New key - Add a translation "publication.page.description": "Description", + // "publication.page.edit": "Edit this item", + // TODO New key - Add a translation + "publication.page.edit": "Edit this item", + // "publication.page.journal-issn": "Journal ISSN", // TODO New key - Add a translation "publication.page.journal-issn": "Journal ISSN", @@ -3647,11 +4860,165 @@ "publication.search.title": "DSpace Angular :: Publication Search", + // "register-email.title": "New user registration", + // TODO New key - Add a translation + "register-email.title": "New user registration", + + // "register-page.create-profile.header": "Create Profile", + // TODO New key - Add a translation + "register-page.create-profile.header": "Create Profile", + + // "register-page.create-profile.identification.header": "Identify", + // TODO New key - Add a translation + "register-page.create-profile.identification.header": "Identify", + + // "register-page.create-profile.identification.email": "Email Address", + // TODO New key - Add a translation + "register-page.create-profile.identification.email": "Email Address", + + // "register-page.create-profile.identification.first-name": "First Name *", + // TODO New key - Add a translation + "register-page.create-profile.identification.first-name": "First Name *", + + // "register-page.create-profile.identification.first-name.error": "Please fill in a First Name", + // TODO New key - Add a translation + "register-page.create-profile.identification.first-name.error": "Please fill in a First Name", + + // "register-page.create-profile.identification.last-name": "Last Name *", + // TODO New key - Add a translation + "register-page.create-profile.identification.last-name": "Last Name *", + + // "register-page.create-profile.identification.last-name.error": "Please fill in a Last Name", + // TODO New key - Add a translation + "register-page.create-profile.identification.last-name.error": "Please fill in a Last Name", + + // "register-page.create-profile.identification.contact": "Contact Telephone", + // TODO New key - Add a translation + "register-page.create-profile.identification.contact": "Contact Telephone", + + // "register-page.create-profile.identification.language": "Language", + // TODO New key - Add a translation + "register-page.create-profile.identification.language": "Language", + + // "register-page.create-profile.security.header": "Security", + // TODO New key - Add a translation + "register-page.create-profile.security.header": "Security", + + // "register-page.create-profile.security.info": "Please enter a password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", + // TODO New key - Add a translation + "register-page.create-profile.security.info": "Please enter a password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", + + // "register-page.create-profile.security.label.password": "Password *", + // TODO New key - Add a translation + "register-page.create-profile.security.label.password": "Password *", + + // "register-page.create-profile.security.label.passwordrepeat": "Retype to confirm *", + // TODO New key - Add a translation + "register-page.create-profile.security.label.passwordrepeat": "Retype to confirm *", + + // "register-page.create-profile.security.error.empty-password": "Please enter a password in the box below.", + // TODO New key - Add a translation + "register-page.create-profile.security.error.empty-password": "Please enter a password in the box below.", + + // "register-page.create-profile.security.error.matching-passwords": "The passwords do not match.", + // TODO New key - Add a translation + "register-page.create-profile.security.error.matching-passwords": "The passwords do not match.", + + // "register-page.create-profile.security.error.password-length": "The password should be at least 6 characters long.", + // TODO New key - Add a translation + "register-page.create-profile.security.error.password-length": "The password should be at least 6 characters long.", + + // "register-page.create-profile.submit": "Complete Registration", + // TODO New key - Add a translation + "register-page.create-profile.submit": "Complete Registration", + + // "register-page.create-profile.submit.error.content": "Something went wrong while registering a new user.", + // TODO New key - Add a translation + "register-page.create-profile.submit.error.content": "Something went wrong while registering a new user.", + + // "register-page.create-profile.submit.error.head": "Registration failed", + // TODO New key - Add a translation + "register-page.create-profile.submit.error.head": "Registration failed", + + // "register-page.create-profile.submit.success.content": "The registration was successful. You have been logged in as the created user.", + // TODO New key - Add a translation + "register-page.create-profile.submit.success.content": "The registration was successful. You have been logged in as the created user.", + + // "register-page.create-profile.submit.success.head": "Registration completed", + // TODO New key - Add a translation + "register-page.create-profile.submit.success.head": "Registration completed", + + + // "register-page.registration.header": "New user registration", + // TODO New key - Add a translation + "register-page.registration.header": "New user registration", + + // "register-page.registration.info": "Register an account to subscribe to collections for email updates, and submit new items to DSpace.", + // TODO New key - Add a translation + "register-page.registration.info": "Register an account to subscribe to collections for email updates, and submit new items to DSpace.", + + // "register-page.registration.email": "Email Address *", + // TODO New key - Add a translation + "register-page.registration.email": "Email Address *", + + // "register-page.registration.email.error.required": "Please fill in an email address", + // TODO New key - Add a translation + "register-page.registration.email.error.required": "Please fill in an email address", + + // "register-page.registration.email.error.pattern": "Please fill in a valid email address", + // TODO New key - Add a translation + "register-page.registration.email.error.pattern": "Please fill in a valid email address", + + // "register-page.registration.email.hint": "This address will be verified and used as your login name.", + // TODO New key - Add a translation + "register-page.registration.email.hint": "This address will be verified and used as your login name.", + + // "register-page.registration.submit": "Register", + // TODO New key - Add a translation + "register-page.registration.submit": "Register", + + // "register-page.registration.success.head": "Verification email sent", + // TODO New key - Add a translation + "register-page.registration.success.head": "Verification email sent", + + // "register-page.registration.success.content": "An email has been sent to {{ email }} containing a special URL and further instructions.", + // TODO New key - Add a translation + "register-page.registration.success.content": "An email has been sent to {{ email }} containing a special URL and further instructions.", + + // "register-page.registration.error.head": "Error when trying to register email", + // TODO New key - Add a translation + "register-page.registration.error.head": "Error when trying to register email", + + // "register-page.registration.error.content": "An error occured when registering the following email address: {{ email }}", + // TODO New key - Add a translation + "register-page.registration.error.content": "An error occured when registering the following email address: {{ email }}", + + + + // "relationships.add.error.relationship-type.content": "No suitable match could be found for relationship type {{ type }} between the two items", + // TODO New key - Add a translation + "relationships.add.error.relationship-type.content": "No suitable match could be found for relationship type {{ type }} between the two items", + + // "relationships.add.error.server.content": "The server returned an error", + // TODO New key - Add a translation + "relationships.add.error.server.content": "The server returned an error", + + // "relationships.add.error.title": "Unable to add relationship", + // TODO New key - Add a translation + "relationships.add.error.title": "Unable to add relationship", // "relationships.isAuthorOf": "Authors", // TODO New key - Add a translation "relationships.isAuthorOf": "Authors", + // "relationships.isAuthorOf.Person": "Authors (persons)", + // TODO New key - Add a translation + "relationships.isAuthorOf.Person": "Authors (persons)", + + // "relationships.isAuthorOf.OrgUnit": "Authors (organizational units)", + // TODO New key - Add a translation + "relationships.isAuthorOf.OrgUnit": "Authors (organizational units)", + // "relationships.isIssueOf": "Journal Issues", // TODO New key - Add a translation "relationships.isIssueOf": "Journal Issues", @@ -3702,6 +5069,208 @@ + // "resource-policies.add.button": "Add", + // TODO New key - Add a translation + "resource-policies.add.button": "Add", + + // "resource-policies.add.for.": "Add a new policy", + // TODO New key - Add a translation + "resource-policies.add.for.": "Add a new policy", + + // "resource-policies.add.for.bitstream": "Add a new Bitstream policy", + // TODO New key - Add a translation + "resource-policies.add.for.bitstream": "Add a new Bitstream policy", + + // "resource-policies.add.for.bundle": "Add a new Bundle policy", + // TODO New key - Add a translation + "resource-policies.add.for.bundle": "Add a new Bundle policy", + + // "resource-policies.add.for.item": "Add a new Item policy", + // TODO New key - Add a translation + "resource-policies.add.for.item": "Add a new Item policy", + + // "resource-policies.add.for.community": "Add a new Community policy", + // TODO New key - Add a translation + "resource-policies.add.for.community": "Add a new Community policy", + + // "resource-policies.add.for.collection": "Add a new Collection policy", + // TODO New key - Add a translation + "resource-policies.add.for.collection": "Add a new Collection policy", + + // "resource-policies.create.page.heading": "Create new resource policy for ", + // TODO New key - Add a translation + "resource-policies.create.page.heading": "Create new resource policy for ", + + // "resource-policies.create.page.failure.content": "An error occurred while creating the resource policy.", + // TODO New key - Add a translation + "resource-policies.create.page.failure.content": "An error occurred while creating the resource policy.", + + // "resource-policies.create.page.success.content": "Operation successful", + // TODO New key - Add a translation + "resource-policies.create.page.success.content": "Operation successful", + + // "resource-policies.create.page.title": "Create new resource policy", + // TODO New key - Add a translation + "resource-policies.create.page.title": "Create new resource policy", + + // "resource-policies.delete.btn": "Delete selected", + // TODO New key - Add a translation + "resource-policies.delete.btn": "Delete selected", + + // "resource-policies.delete.btn.title": "Delete selected resource policies", + // TODO New key - Add a translation + "resource-policies.delete.btn.title": "Delete selected resource policies", + + // "resource-policies.delete.failure.content": "An error occurred while deleting selected resource policies.", + // TODO New key - Add a translation + "resource-policies.delete.failure.content": "An error occurred while deleting selected resource policies.", + + // "resource-policies.delete.success.content": "Operation successful", + // TODO New key - Add a translation + "resource-policies.delete.success.content": "Operation successful", + + // "resource-policies.edit.page.heading": "Edit resource policy ", + // TODO New key - Add a translation + "resource-policies.edit.page.heading": "Edit resource policy ", + + // "resource-policies.edit.page.failure.content": "An error occurred while editing the resource policy.", + // TODO New key - Add a translation + "resource-policies.edit.page.failure.content": "An error occurred while editing the resource policy.", + + // "resource-policies.edit.page.success.content": "Operation successful", + // TODO New key - Add a translation + "resource-policies.edit.page.success.content": "Operation successful", + + // "resource-policies.edit.page.title": "Edit resource policy", + // TODO New key - Add a translation + "resource-policies.edit.page.title": "Edit resource policy", + + // "resource-policies.form.action-type.label": "Select the action type", + // TODO New key - Add a translation + "resource-policies.form.action-type.label": "Select the action type", + + // "resource-policies.form.action-type.required": "You must select the resource policy action.", + // TODO New key - Add a translation + "resource-policies.form.action-type.required": "You must select the resource policy action.", + + // "resource-policies.form.eperson-group-list.label": "The eperson or group that will be granted the permission", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.label": "The eperson or group that will be granted the permission", + + // "resource-policies.form.eperson-group-list.select.btn": "Select", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.select.btn": "Select", + + // "resource-policies.form.eperson-group-list.tab.eperson": "Search for a ePerson", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.tab.eperson": "Search for a ePerson", + + // "resource-policies.form.eperson-group-list.tab.group": "Search for a group", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.tab.group": "Search for a group", + + // "resource-policies.form.eperson-group-list.table.headers.action": "Action", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.table.headers.action": "Action", + + // "resource-policies.form.eperson-group-list.table.headers.id": "ID", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.table.headers.id": "ID", + + // "resource-policies.form.eperson-group-list.table.headers.name": "Name", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.table.headers.name": "Name", + + // "resource-policies.form.date.end.label": "End Date", + // TODO New key - Add a translation + "resource-policies.form.date.end.label": "End Date", + + // "resource-policies.form.date.start.label": "Start Date", + // TODO New key - Add a translation + "resource-policies.form.date.start.label": "Start Date", + + // "resource-policies.form.description.label": "Description", + // TODO New key - Add a translation + "resource-policies.form.description.label": "Description", + + // "resource-policies.form.name.label": "Name", + // TODO New key - Add a translation + "resource-policies.form.name.label": "Name", + + // "resource-policies.form.policy-type.label": "Select the policy type", + // TODO New key - Add a translation + "resource-policies.form.policy-type.label": "Select the policy type", + + // "resource-policies.form.policy-type.required": "You must select the resource policy type.", + // TODO New key - Add a translation + "resource-policies.form.policy-type.required": "You must select the resource policy type.", + + // "resource-policies.table.headers.action": "Action", + // TODO New key - Add a translation + "resource-policies.table.headers.action": "Action", + + // "resource-policies.table.headers.date.end": "End Date", + // TODO New key - Add a translation + "resource-policies.table.headers.date.end": "End Date", + + // "resource-policies.table.headers.date.start": "Start Date", + // TODO New key - Add a translation + "resource-policies.table.headers.date.start": "Start Date", + + // "resource-policies.table.headers.edit": "Edit", + // TODO New key - Add a translation + "resource-policies.table.headers.edit": "Edit", + + // "resource-policies.table.headers.edit.group": "Edit group", + // TODO New key - Add a translation + "resource-policies.table.headers.edit.group": "Edit group", + + // "resource-policies.table.headers.edit.policy": "Edit policy", + // TODO New key - Add a translation + "resource-policies.table.headers.edit.policy": "Edit policy", + + // "resource-policies.table.headers.eperson": "EPerson", + // TODO New key - Add a translation + "resource-policies.table.headers.eperson": "EPerson", + + // "resource-policies.table.headers.group": "Group", + // TODO New key - Add a translation + "resource-policies.table.headers.group": "Group", + + // "resource-policies.table.headers.id": "ID", + // TODO New key - Add a translation + "resource-policies.table.headers.id": "ID", + + // "resource-policies.table.headers.name": "Name", + // TODO New key - Add a translation + "resource-policies.table.headers.name": "Name", + + // "resource-policies.table.headers.policyType": "type", + // TODO New key - Add a translation + "resource-policies.table.headers.policyType": "type", + + // "resource-policies.table.headers.title.for.bitstream": "Policies for Bitstream", + // TODO New key - Add a translation + "resource-policies.table.headers.title.for.bitstream": "Policies for Bitstream", + + // "resource-policies.table.headers.title.for.bundle": "Policies for Bundle", + // TODO New key - Add a translation + "resource-policies.table.headers.title.for.bundle": "Policies for Bundle", + + // "resource-policies.table.headers.title.for.item": "Policies for Item", + // TODO New key - Add a translation + "resource-policies.table.headers.title.for.item": "Policies for Item", + + // "resource-policies.table.headers.title.for.community": "Policies for Community", + // TODO New key - Add a translation + "resource-policies.table.headers.title.for.community": "Policies for Community", + + // "resource-policies.table.headers.title.for.collection": "Policies for Collection", + // TODO New key - Add a translation + "resource-policies.table.headers.title.for.collection": "Policies for Collection", + + + // "search.description": "", // TODO New key - Add a translation "search.description": "", @@ -4090,6 +5659,14 @@ + // "sorting.ASC": "Ascending", + // TODO New key - Add a translation + "sorting.ASC": "Ascending", + + // "sorting.DESC": "Descending", + // TODO New key - Add a translation + "sorting.DESC": "Descending", + // "sorting.dc.title.ASC": "Title Ascending", // TODO New key - Add a translation "sorting.dc.title.ASC": "Title Ascending", @@ -4104,6 +5681,52 @@ + // "statistics.title": "Statistics", + // TODO New key - Add a translation + "statistics.title": "Statistics", + + // "statistics.header": "Statistics for {{ scope }}", + // TODO New key - Add a translation + "statistics.header": "Statistics for {{ scope }}", + + // "statistics.breadcrumbs": "Statistics", + // TODO New key - Add a translation + "statistics.breadcrumbs": "Statistics", + + // "statistics.page.no-data": "No data available", + // TODO New key - Add a translation + "statistics.page.no-data": "No data available", + + // "statistics.table.no-data": "No data available", + // TODO New key - Add a translation + "statistics.table.no-data": "No data available", + + // "statistics.table.title.TotalVisits": "Total visits", + // TODO New key - Add a translation + "statistics.table.title.TotalVisits": "Total visits", + + // "statistics.table.title.TotalVisitsPerMonth": "Total visits per month", + // TODO New key - Add a translation + "statistics.table.title.TotalVisitsPerMonth": "Total visits per month", + + // "statistics.table.title.TotalDownloads": "File Visits", + // TODO New key - Add a translation + "statistics.table.title.TotalDownloads": "File Visits", + + // "statistics.table.title.TopCountries": "Top country views", + // TODO New key - Add a translation + "statistics.table.title.TopCountries": "Top country views", + + // "statistics.table.title.TopCities": "Top city views", + // TODO New key - Add a translation + "statistics.table.title.TopCities": "Top city views", + + // "statistics.table.header.views": "Views", + // TODO New key - Add a translation + "statistics.table.header.views": "Views", + + + // "submission.edit.title": "Edit Submission", // TODO New key - Add a translation "submission.edit.title": "Edit Submission", @@ -4145,6 +5768,85 @@ "submission.general.save-later": "Save for later", + // "submission.import-external.page.title": "Import metadata from an external source", + // TODO New key - Add a translation + "submission.import-external.page.title": "Import metadata from an external source", + + // "submission.import-external.title": "Import metadata from an external source", + // TODO New key - Add a translation + "submission.import-external.title": "Import metadata from an external source", + + // "submission.import-external.page.hint": "Enter a query above to find items from the web to import in to DSpace.", + // TODO New key - Add a translation + "submission.import-external.page.hint": "Enter a query above to find items from the web to import in to DSpace.", + + // "submission.import-external.back-to-my-dspace": "Back to MyDSpace", + // TODO New key - Add a translation + "submission.import-external.back-to-my-dspace": "Back to MyDSpace", + + // "submission.import-external.search.placeholder": "Search the external source", + // TODO New key - Add a translation + "submission.import-external.search.placeholder": "Search the external source", + + // "submission.import-external.search.button": "Search", + // TODO New key - Add a translation + "submission.import-external.search.button": "Search", + + // "submission.import-external.search.button.hint": "Write some words to search", + // TODO New key - Add a translation + "submission.import-external.search.button.hint": "Write some words to search", + + // "submission.import-external.search.source.hint": "Pick an external source", + // TODO New key - Add a translation + "submission.import-external.search.source.hint": "Pick an external source", + + // "submission.import-external.source.arxiv": "arXiv", + // TODO New key - Add a translation + "submission.import-external.source.arxiv": "arXiv", + + // "submission.import-external.source.loading": "Loading ...", + // TODO New key - Add a translation + "submission.import-external.source.loading": "Loading ...", + + // "submission.import-external.source.sherpaJournal": "SHERPA Journals", + // TODO New key - Add a translation + "submission.import-external.source.sherpaJournal": "SHERPA Journals", + + // "submission.import-external.source.sherpaPublisher": "SHERPA Publishers", + // TODO New key - Add a translation + "submission.import-external.source.sherpaPublisher": "SHERPA Publishers", + + // "submission.import-external.source.orcid": "ORCID", + // TODO New key - Add a translation + "submission.import-external.source.orcid": "ORCID", + + // "submission.import-external.source.pubmed": "Pubmed", + // TODO New key - Add a translation + "submission.import-external.source.pubmed": "Pubmed", + + // "submission.import-external.source.lcname": "Library of Congress Names", + // TODO New key - Add a translation + "submission.import-external.source.lcname": "Library of Congress Names", + + // "submission.import-external.preview.title": "Item Preview", + // TODO New key - Add a translation + "submission.import-external.preview.title": "Item Preview", + + // "submission.import-external.preview.subtitle": "The metadata below was imported from an external source. It will be pre-filled when you start the submission.", + // TODO New key - Add a translation + "submission.import-external.preview.subtitle": "The metadata below was imported from an external source. It will be pre-filled when you start the submission.", + + // "submission.import-external.preview.button.import": "Start submission", + // TODO New key - Add a translation + "submission.import-external.preview.button.import": "Start submission", + + // "submission.import-external.preview.error.import.title": "Submission error", + // TODO New key - Add a translation + "submission.import-external.preview.error.import.title": "Submission error", + + // "submission.import-external.preview.error.import.body": "An error occurs during the external source entry import process.", + // TODO New key - Add a translation + "submission.import-external.preview.error.import.body": "An error occurs during the external source entry import process.", // "submission.sections.describe.relationship-lookup.close": "Close", // TODO New key - Add a translation @@ -4154,9 +5856,9 @@ // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.external-source.added": "Successfully added local entry to the selection", - // "submission.sections.describe.relationship-lookup.external-source.import-button-title.Author": "Import remote author", + // "submission.sections.describe.relationship-lookup.external-source.import-button-title.isAuthorOfPublication": "Import remote author", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-button-title.Author": "Import remote author", + "submission.sections.describe.relationship-lookup.external-source.import-button-title.isAuthorOfPublication": "Import remote author", // "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal": "Import remote journal", // TODO New key - Add a translation @@ -4170,17 +5872,17 @@ // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal Volume": "Import remote journal volume", - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.title": "Import Remote Author", + // "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.title": "Import Remote Author", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.title": "Import Remote Author", + "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.title": "Import Remote Author", - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.added.local-entity": "Successfully added local author to the selection", + // "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.added.local-entity": "Successfully added local author to the selection", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.added.local-entity": "Successfully added local author to the selection", + "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.added.local-entity": "Successfully added local author to the selection", - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.added.new-entity": "Successfully imported and added external author to the selection", + // "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.added.new-entity": "Successfully imported and added external author to the selection", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.added.new-entity": "Successfully imported and added external author to the selection", + "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.added.new-entity": "Successfully imported and added external author to the selection", // "submission.sections.describe.relationship-lookup.external-source.import-modal.authority": "Authority", // TODO New key - Add a translation @@ -4222,6 +5924,14 @@ // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.external-source.import-modal.head.sherpaPublisher": "Importing from Sherpa Publisher", + // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.pubmed": "Importing from PubMed", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.head.pubmed": "Importing from PubMed", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.arxiv": "Importing from arXiv", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.head.arxiv": "Importing from arXiv", + // "submission.sections.describe.relationship-lookup.external-source.import-modal.import": "Import", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.external-source.import-modal.import": "Import", @@ -4298,21 +6008,54 @@ // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.selected": "Selected {{ size }} items", - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Author": "Local Authors ({{ count }})", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isAuthorOfPublication": "Local Authors ({{ count }})", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Author": "Local Authors ({{ count }})", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isAuthorOfPublication": "Local Authors ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalOfPublication": "Local Journals ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalOfPublication": "Local Journals ({{ count }})", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Project": "Local Projects ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.Project": "Local Projects ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Publication": "Local Publications ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.Publication": "Local Publications ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Person": "Local Authors ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.Person": "Local Authors ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.OrgUnit": "Local Organizational Units ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.OrgUnit": "Local Organizational Units ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.DataPackage": "Local Data Packages ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.DataPackage": "Local Data Packages ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.DataFile": "Local Data Files ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.DataFile": "Local Data Files ({{ count }})", // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal": "Local Journals ({{ count }})", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal": "Local Journals ({{ count }})", - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal Issue": "Local Journal Issues ({{ count }})", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalIssueOfPublication": "Local Journal Issues ({{ count }})", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal Issue": "Local Journal Issues ({{ count }})", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalIssueOfPublication": "Local Journal Issues ({{ count }})", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.JournalIssue": "Local Journal Issues ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.JournalIssue": "Local Journal Issues ({{ count }})", - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal Volume": "Local Journal Volumes ({{ count }})", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalVolumeOfPublication": "Local Journal Volumes ({{ count }})", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal Volume": "Local Journal Volumes ({{ count }})", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalVolumeOfPublication": "Local Journal Volumes ({{ count }})", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.JournalVolume": "Local Journal Volumes ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.JournalVolume": "Local Journal Volumes ({{ count }})", // "submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaJournal": "Sherpa Journals ({{ count }})", // TODO New key - Add a translation @@ -4330,41 +6073,90 @@ // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.search-tab.tab-title.lcname": "LC Names ({{ count }})", - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Funding Agency": "Search for Funding Agencies", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.pubmed": "PubMed ({{ count }})", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Funding Agency": "Search for Funding Agencies", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.pubmed": "PubMed ({{ count }})", - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Funding": "Search for Funding", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.arxiv": "arXiv ({{ count }})", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Funding": "Search for Funding", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.arxiv": "arXiv ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingAgencyOfPublication": "Search for Funding Agencies", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingAgencyOfPublication": "Search for Funding Agencies", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingOfPublication": "Search for Funding", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingOfPublication": "Search for Funding", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isChildOrgUnitOf": "Search for Organizational Units", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isChildOrgUnitOf": "Search for Organizational Units", // "submission.sections.describe.relationship-lookup.selection-tab.tab-title": "Current Selection ({{ count }})", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.selection-tab.tab-title": "Current Selection ({{ count }})", - // "submission.sections.describe.relationship-lookup.title.Journal Issue": "Journal Issues", + // "submission.sections.describe.relationship-lookup.title.isJournalIssueOfPublication": "Journal Issues", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.title.Journal Issue": "Journal Issues", + "submission.sections.describe.relationship-lookup.title.isJournalIssueOfPublication": "Journal Issues", + // "submission.sections.describe.relationship-lookup.title.JournalIssue": "Journal Issues", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.JournalIssue": "Journal Issues", - // "submission.sections.describe.relationship-lookup.title.Journal Volume": "Journal Volumes", + // "submission.sections.describe.relationship-lookup.title.isJournalVolumeOfPublication": "Journal Volumes", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.title.Journal Volume": "Journal Volumes", + "submission.sections.describe.relationship-lookup.title.isJournalVolumeOfPublication": "Journal Volumes", + // "submission.sections.describe.relationship-lookup.title.JournalVolume": "Journal Volumes", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.JournalVolume": "Journal Volumes", - // "submission.sections.describe.relationship-lookup.title.Journal": "Journals", + // "submission.sections.describe.relationship-lookup.title.isJournalOfPublication": "Journals", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.title.Journal": "Journals", + "submission.sections.describe.relationship-lookup.title.isJournalOfPublication": "Journals", - // "submission.sections.describe.relationship-lookup.title.Author": "Authors", + // "submission.sections.describe.relationship-lookup.title.isAuthorOfPublication": "Authors", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.title.Author": "Authors", + "submission.sections.describe.relationship-lookup.title.isAuthorOfPublication": "Authors", + + // "submission.sections.describe.relationship-lookup.title.isFundingAgencyOfPublication": "Funding Agency", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.isFundingAgencyOfPublication": "Funding Agency", + // "submission.sections.describe.relationship-lookup.title.Project": "Projects", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.Project": "Projects", + + // "submission.sections.describe.relationship-lookup.title.Publication": "Publications", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.Publication": "Publications", + + // "submission.sections.describe.relationship-lookup.title.Person": "Authors", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.Person": "Authors", + + // "submission.sections.describe.relationship-lookup.title.OrgUnit": "Organizational Units", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.OrgUnit": "Organizational Units", + + // "submission.sections.describe.relationship-lookup.title.DataPackage": "Data Packages", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.DataPackage": "Data Packages", + + // "submission.sections.describe.relationship-lookup.title.DataFile": "Data Files", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.DataFile": "Data Files", // "submission.sections.describe.relationship-lookup.title.Funding Agency": "Funding Agency", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.title.Funding Agency": "Funding Agency", - // "submission.sections.describe.relationship-lookup.title.Funding": "Funding", + // "submission.sections.describe.relationship-lookup.title.isFundingOfPublication": "Funding", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.title.Funding": "Funding", + "submission.sections.describe.relationship-lookup.title.isFundingOfPublication": "Funding", + + // "submission.sections.describe.relationship-lookup.title.isChildOrgUnitOf": "Parent Organizational Unit", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.isChildOrgUnitOf": "Parent Organizational Unit", // "submission.sections.describe.relationship-lookup.search-tab.toggle-dropdown": "Toggle dropdown", // TODO New key - Add a translation @@ -4378,21 +6170,66 @@ // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.selection-tab.no-selection": "Your selection is currently empty.", - // "submission.sections.describe.relationship-lookup.selection-tab.title.Author": "Selected Authors", + // "submission.sections.describe.relationship-lookup.selection-tab.title.isAuthorOfPublication": "Selected Authors", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.selection-tab.title.Author": "Selected Authors", + "submission.sections.describe.relationship-lookup.selection-tab.title.isAuthorOfPublication": "Selected Authors", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalOfPublication": "Selected Journals", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalOfPublication": "Selected Journals", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalVolumeOfPublication": "Selected Journal Volume", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalVolumeOfPublication": "Selected Journal Volume", + // "submission.sections.describe.relationship-lookup.selection-tab.title.Project": "Selected Projects", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.Project": "Selected Projects", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.Publication": "Selected Publications", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.Publication": "Selected Publications", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.Person": "Selected Authors", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.Person": "Selected Authors", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.OrgUnit": "Selected Organizational Units", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.OrgUnit": "Selected Organizational Units", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.DataPackage": "Selected Data Packages", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.DataPackage": "Selected Data Packages", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.DataFile": "Selected Data Files", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.DataFile": "Selected Data Files", // "submission.sections.describe.relationship-lookup.selection-tab.title.Journal": "Selected Journals", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.selection-tab.title.Journal": "Selected Journals", - // "submission.sections.describe.relationship-lookup.selection-tab.title.Journal Volume": "Selected Journal Volume", + // "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalIssueOfPublication": "Selected Issue", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.selection-tab.title.Journal Volume": "Selected Journal Volume", + "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalIssueOfPublication": "Selected Issue", + // "submission.sections.describe.relationship-lookup.selection-tab.title.JournalVolume": "Selected Journal Volume", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.JournalVolume": "Selected Journal Volume", - // "submission.sections.describe.relationship-lookup.selection-tab.title.Journal Issue": "Selected Issue", + // "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingAgencyOfPublication": "Selected Funding Agency", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.selection-tab.title.Journal Issue": "Selected Issue", + "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingAgencyOfPublication": "Selected Funding Agency", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingOfPublication": "Selected Funding", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingOfPublication": "Selected Funding", + // "submission.sections.describe.relationship-lookup.selection-tab.title.JournalIssue": "Selected Issue", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.JournalIssue": "Selected Issue", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isChildOrgUnitOf": "Selected Organizational Unit", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.isChildOrgUnitOf": "Selected Organizational Unit", // "submission.sections.describe.relationship-lookup.selection-tab.title.sherpaJournal": "Search Results", // TODO New key - Add a translation @@ -4406,10 +6243,22 @@ // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.selection-tab.title.orcid": "Search Results", + // "submission.sections.describe.relationship-lookup.selection-tab.title.orcidv2": "Search Results", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.orcidv2": "Search Results", + // "submission.sections.describe.relationship-lookup.selection-tab.title.lcname": "Search Results", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.selection-tab.title.lcname": "Search Results", + // "submission.sections.describe.relationship-lookup.selection-tab.title.pubmed": "Search Results", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.pubmed": "Search Results", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.arxiv": "Search Results", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.arxiv": "Search Results", + // "submission.sections.describe.relationship-lookup.name-variant.notification.content": "Would you like to save \"{{ value }}\" as a name variant for this person so you and others can reuse it for future submissions? If you don\'t you can still use it for this submission.", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.name-variant.notification.content": "Would you like to save \"{{ value }}\" as a name variant for this person so you and others can reuse it for future submissions? If you don\'t you can still use it for this submission.", @@ -4422,6 +6271,34 @@ // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.name-variant.notification.decline": "Use only for this submission", + // "submission.sections.ccLicense.type": "License Type", + // TODO New key - Add a translation + "submission.sections.ccLicense.type": "License Type", + + // "submission.sections.ccLicense.select": "Select a license type…", + // TODO New key - Add a translation + "submission.sections.ccLicense.select": "Select a license type…", + + // "submission.sections.ccLicense.change": "Change your license type…", + // TODO New key - Add a translation + "submission.sections.ccLicense.change": "Change your license type…", + + // "submission.sections.ccLicense.none": "No licenses available", + // TODO New key - Add a translation + "submission.sections.ccLicense.none": "No licenses available", + + // "submission.sections.ccLicense.option.select": "Select an option…", + // TODO New key - Add a translation + "submission.sections.ccLicense.option.select": "Select an option…", + + // "submission.sections.ccLicense.link": "You’ve selected the following license:", + // TODO New key - Add a translation + "submission.sections.ccLicense.link": "You’ve selected the following license:", + + // "submission.sections.ccLicense.confirmation": "I grant the license above", + // TODO New key - Add a translation + "submission.sections.ccLicense.confirmation": "I grant the license above", + // "submission.sections.general.add-more": "Add more", // TODO New key - Add a translation "submission.sections.general.add-more": "Add more", @@ -4480,9 +6357,9 @@ - // "submission.sections.submit.progressbar.cclicense": "Creative commons license", + // "submission.sections.submit.progressbar.CClicense": "Creative commons license", // TODO New key - Add a translation - "submission.sections.submit.progressbar.cclicense": "Creative commons license", + "submission.sections.submit.progressbar.CClicense": "Creative commons license", // "submission.sections.submit.progressbar.describe.recycle": "Recycle", // TODO New key - Add a translation @@ -4546,9 +6423,9 @@ // TODO New key - Add a translation "submission.sections.upload.form.date-required": "Date is required.", - // "submission.sections.upload.form.from-label": "Access grant from", + // "submission.sections.upload.form.from-label": "Grant access from", // TODO New key - Add a translation - "submission.sections.upload.form.from-label": "Access grant from", + "submission.sections.upload.form.from-label": "Grant access from", // "submission.sections.upload.form.from-placeholder": "From", // TODO New key - Add a translation @@ -4562,9 +6439,9 @@ // TODO New key - Add a translation "submission.sections.upload.form.group-required": "Group is required.", - // "submission.sections.upload.form.until-label": "Access grant until", + // "submission.sections.upload.form.until-label": "Grant access until", // TODO New key - Add a translation - "submission.sections.upload.form.until-label": "Access grant until", + "submission.sections.upload.form.until-label": "Grant access until", // "submission.sections.upload.form.until-placeholder": "Until", // TODO New key - Add a translation @@ -4731,13 +6608,34 @@ "title": "DSpace", - // "administrativeView.search.results.head": "Administrative Search", - // TODO New key - Add a translation - "administrativeView.search.results.head": "Administrative Search", - // "menu.section.admin_search": "Admin Search", + // "vocabulary-treeview.header": "Hierarchical tree view", // TODO New key - Add a translation - "menu.section.admin_search": "Admin Search", + "vocabulary-treeview.header": "Hierarchical tree view", + + // "vocabulary-treeview.load-more": "Load more", + // TODO New key - Add a translation + "vocabulary-treeview.load-more": "Load more", + + // "vocabulary-treeview.search.form.reset": "Reset", + // TODO New key - Add a translation + "vocabulary-treeview.search.form.reset": "Reset", + + // "vocabulary-treeview.search.form.search": "Search", + // TODO New key - Add a translation + "vocabulary-treeview.search.form.search": "Search", + + // "vocabulary-treeview.search.no-result": "There were no items to show", + // TODO New key - Add a translation + "vocabulary-treeview.search.no-result": "There were no items to show", + + // "vocabulary-treeview.tree.description.nsi": "The Norwegian Science Index", + // TODO New key - Add a translation + "vocabulary-treeview.tree.description.nsi": "The Norwegian Science Index", + + // "vocabulary-treeview.tree.description.srsc": "Research Subject Categories", + // TODO New key - Add a translation + "vocabulary-treeview.tree.description.srsc": "Research Subject Categories", @@ -4749,9 +6647,9 @@ // TODO New key - Add a translation "uploader.drag-message": "Drag & Drop your files here", - // "uploader.or": ", or", + // "uploader.or": ", or ", // TODO New key - Add a translation - "uploader.or": ", or", + "uploader.or": ", or ", // "uploader.processing": "Processing", // TODO New key - Add a translation @@ -4774,5 +6672,77 @@ "virtual-metadata.delete-relationship.modal-head": "Select the items for which you want to save the virtual metadata as real metadata", + + // "workflowAdmin.search.results.head": "Administer Workflow", + // TODO New key - Add a translation + "workflowAdmin.search.results.head": "Administer Workflow", + + + + // "workflow-item.delete.notification.success.title": "Deleted", + // TODO New key - Add a translation + "workflow-item.delete.notification.success.title": "Deleted", + + // "workflow-item.delete.notification.success.content": "This workflow item was successfully deleted", + // TODO New key - Add a translation + "workflow-item.delete.notification.success.content": "This workflow item was successfully deleted", + + // "workflow-item.delete.notification.error.title": "Something went wrong", + // TODO New key - Add a translation + "workflow-item.delete.notification.error.title": "Something went wrong", + + // "workflow-item.delete.notification.error.content": "The workflow item could not be deleted", + // TODO New key - Add a translation + "workflow-item.delete.notification.error.content": "The workflow item could not be deleted", + + // "workflow-item.delete.title": "Delete workflow item", + // TODO New key - Add a translation + "workflow-item.delete.title": "Delete workflow item", + + // "workflow-item.delete.header": "Delete workflow item", + // TODO New key - Add a translation + "workflow-item.delete.header": "Delete workflow item", + + // "workflow-item.delete.button.cancel": "Cancel", + // TODO New key - Add a translation + "workflow-item.delete.button.cancel": "Cancel", + + // "workflow-item.delete.button.confirm": "Delete", + // TODO New key - Add a translation + "workflow-item.delete.button.confirm": "Delete", + + + // "workflow-item.send-back.notification.success.title": "Sent back to submitter", + // TODO New key - Add a translation + "workflow-item.send-back.notification.success.title": "Sent back to submitter", + + // "workflow-item.send-back.notification.success.content": "This workflow item was successfully sent back to the submitter", + // TODO New key - Add a translation + "workflow-item.send-back.notification.success.content": "This workflow item was successfully sent back to the submitter", + + // "workflow-item.send-back.notification.error.title": "Something went wrong", + // TODO New key - Add a translation + "workflow-item.send-back.notification.error.title": "Something went wrong", + + // "workflow-item.send-back.notification.error.content": "The workflow item could not be sent back to the submitter", + // TODO New key - Add a translation + "workflow-item.send-back.notification.error.content": "The workflow item could not be sent back to the submitter", + + // "workflow-item.send-back.title": "Send workflow item back to submitter", + // TODO New key - Add a translation + "workflow-item.send-back.title": "Send workflow item back to submitter", + + // "workflow-item.send-back.header": "Send workflow item back to submitter", + // TODO New key - Add a translation + "workflow-item.send-back.header": "Send workflow item back to submitter", + + // "workflow-item.send-back.button.cancel": "Cancel", + // TODO New key - Add a translation + "workflow-item.send-back.button.cancel": "Cancel", + + // "workflow-item.send-back.button.confirm": "Send back" + // TODO New key - Add a translation + "workflow-item.send-back.button.confirm": "Send back" + } \ No newline at end of file diff --git a/src/assets/i18n/lv.json5 b/src/assets/i18n/lv.json5 index a7a7c08b96..898b8db31a 100644 --- a/src/assets/i18n/lv.json5 +++ b/src/assets/i18n/lv.json5 @@ -1,3649 +1,5625 @@ { - + + // "401.help": "You're not authorized to access this page. You can use the button below to get back to the home page.", + // TODO New key - Add a translation + "401.help": "You're not authorized to access this page. You can use the button below to get back to the home page.", + + // "401.link.home-page": "Take me to the home page", + // TODO New key - Add a translation + "401.link.home-page": "Take me to the home page", + + // "401.unauthorized": "unauthorized", + // TODO New key - Add a translation + "401.unauthorized": "unauthorized", + + + + // "403.help": "You don't have permission to access this page. You can use the button below to get back to the home page.", + // TODO New key - Add a translation + "403.help": "You don't have permission to access this page. You can use the button below to get back to the home page.", + + // "403.link.home-page": "Take me to the home page", + // TODO New key - Add a translation + "403.link.home-page": "Take me to the home page", + + // "403.forbidden": "forbidden", + // TODO New key - Add a translation + "403.forbidden": "forbidden", + + + // "404.help": "We can't find the page you're looking for. The page may have been moved or deleted. You can use the button below to get back to the home page. ", "404.help": "Meklēto lapu nav iespējams atrast. Iespējams, lapa ir pārvietota vai izdzēsta. Lai atgrieztos sākumlapā, varat izmantot zemāk esošo pogu. ", - + // "404.link.home-page": "Take me to the home page", "404.link.home-page": "Argriezties uz sākumu", - + // "404.page-not-found": "page not found", "404.page-not-found": "lapa nav atrasta", - - - + + // "admin.curation-tasks.breadcrumbs": "System curation tasks", + // TODO New key - Add a translation + "admin.curation-tasks.breadcrumbs": "System curation tasks", + + // "admin.curation-tasks.title": "System curation tasks", + // TODO New key - Add a translation + "admin.curation-tasks.title": "System curation tasks", + + // "admin.curation-tasks.header": "System curation tasks", + // TODO New key - Add a translation + "admin.curation-tasks.header": "System curation tasks", + + // "admin.registries.bitstream-formats.breadcrumbs": "Format registry", + // TODO New key - Add a translation + "admin.registries.bitstream-formats.breadcrumbs": "Format registry", + + // "admin.registries.bitstream-formats.create.breadcrumbs": "Bitstream format", + // TODO New key - Add a translation + "admin.registries.bitstream-formats.create.breadcrumbs": "Bitstream format", + // "admin.registries.bitstream-formats.create.failure.content": "An error occurred while creating the new bitstream format.", "admin.registries.bitstream-formats.create.failure.content": "Veidojot jauno bitu straumes formātu, radās kļūda.", - + // "admin.registries.bitstream-formats.create.failure.head": "Failure", "admin.registries.bitstream-formats.create.failure.head": "Kļūda", - + // "admin.registries.bitstream-formats.create.head": "Create Bitstream format", "admin.registries.bitstream-formats.create.head": "Izveidot Bitu straumes formātu", - + // "admin.registries.bitstream-formats.create.new": "Add a new bitstream format", "admin.registries.bitstream-formats.create.new": "Pievienot jaunu bitu straumes formātu", - + // "admin.registries.bitstream-formats.create.success.content": "The new bitstream format was successfully created.", "admin.registries.bitstream-formats.create.success.content": "Jauns bitu straumes formāts tika veiksmīgi izveidots.", - + // "admin.registries.bitstream-formats.create.success.head": "Success", "admin.registries.bitstream-formats.create.success.head": "Veiksmīgi izpildīts", - + // "admin.registries.bitstream-formats.delete.failure.amount": "Failed to remove {{ amount }} format(s)", "admin.registries.bitstream-formats.delete.failure.amount": "Neizdevās dzēst {{ amount }} formātu(s)", - + // "admin.registries.bitstream-formats.delete.failure.head": "Failure", "admin.registries.bitstream-formats.delete.failure.head": "Kļūda", - + // "admin.registries.bitstream-formats.delete.success.amount": "Successfully removed {{ amount }} format(s)", "admin.registries.bitstream-formats.delete.success.amount": "Veiksmīgi dzēsti {{ amount }} formats(i)", - + // "admin.registries.bitstream-formats.delete.success.head": "Success", "admin.registries.bitstream-formats.delete.success.head": "Veiksmīgi izpildīts", - + // "admin.registries.bitstream-formats.description": "This list of bitstream formats provides information about known formats and their support level.", "admin.registries.bitstream-formats.description": "Šis bitu straumes formātu saraksts sniedz informāciju par zināmajiem formātiem un to atbalsta līmeni.", - + + // "admin.registries.bitstream-formats.edit.breadcrumbs": "Bitstream format", + // TODO New key - Add a translation + "admin.registries.bitstream-formats.edit.breadcrumbs": "Bitstream format", + // "admin.registries.bitstream-formats.edit.description.hint": "", "admin.registries.bitstream-formats.edit.description.hint": "", - + // "admin.registries.bitstream-formats.edit.description.label": "Description", "admin.registries.bitstream-formats.edit.description.label": "Apraksts", - + // "admin.registries.bitstream-formats.edit.extensions.hint": "Extensions are file extensions that are used to automatically identify the format of uploaded files. You can enter several extensions for each format.", "admin.registries.bitstream-formats.edit.extensions.hint": "Paplašinājumi ir failu paplašinājumi, kurus izmanto, lai automātiski identificētu augšupielādēto failu formātu. Katram formātam var ievadīt vairākus paplašinājumus.", - + // "admin.registries.bitstream-formats.edit.extensions.label": "File extensions", "admin.registries.bitstream-formats.edit.extensions.label": "Faila paplašinājums", - + // "admin.registries.bitstream-formats.edit.extensions.placeholder": "Enter a file extension without the dot", "admin.registries.bitstream-formats.edit.extensions.placeholder": "Ievadiet faila paplašinājumu bez punkta", - + // "admin.registries.bitstream-formats.edit.failure.content": "An error occurred while editing the bitstream format.", "admin.registries.bitstream-formats.edit.failure.content": "Rediģējot bitu straumes formātu, radās kļūda.", - + // "admin.registries.bitstream-formats.edit.failure.head": "Failure", "admin.registries.bitstream-formats.edit.failure.head": "Kļūda", - + // "admin.registries.bitstream-formats.edit.head": "Bitstream format: {{ format }}", "admin.registries.bitstream-formats.edit.head": "Bitu straumes formāts: {{ format }}", - + // "admin.registries.bitstream-formats.edit.internal.hint": "Formats marked as internal are hidden from the user, and used for administrative purposes.", "admin.registries.bitstream-formats.edit.internal.hint": "Formāti, kas atzīmēti kā iekšēji, tiek paslēpti no lietotāja un tiek izmantoti administratīviem mērķiem.", - + // "admin.registries.bitstream-formats.edit.internal.label": "Internal", "admin.registries.bitstream-formats.edit.internal.label": "Iekšējais", - + // "admin.registries.bitstream-formats.edit.mimetype.hint": "The MIME type associated with this format, does not have to be unique.", "admin.registries.bitstream-formats.edit.mimetype.hint": "MIME tipam, kas saistīts ar šo formātu, nav jābūt unikālam.", - + // "admin.registries.bitstream-formats.edit.mimetype.label": "MIME Type", "admin.registries.bitstream-formats.edit.mimetype.label": "MIME Tips", - + // "admin.registries.bitstream-formats.edit.shortDescription.hint": "A unique name for this format, (e.g. Microsoft Word XP or Microsoft Word 2000)", "admin.registries.bitstream-formats.edit.shortDescription.hint": "Šim formātam ir unikāls nosaukums, (piem. Microsoft Word XP or Microsoft Word 2000)", - + // "admin.registries.bitstream-formats.edit.shortDescription.label": "Name", "admin.registries.bitstream-formats.edit.shortDescription.label": "Nosaukums", - + // "admin.registries.bitstream-formats.edit.success.content": "The bitstream format was successfully edited.", "admin.registries.bitstream-formats.edit.success.content": "Bitu straumes formāts tika veiksmīgi rediģēts.", - + // "admin.registries.bitstream-formats.edit.success.head": "Success", "admin.registries.bitstream-formats.edit.success.head": "Veiksmīgi izpildīts", - + // "admin.registries.bitstream-formats.edit.supportLevel.hint": "The level of support your institution pledges for this format.", "admin.registries.bitstream-formats.edit.supportLevel.hint": "Atbalsta līmenis, ko jūsu iestāde apņemas nodrošināt šim formātam.", - + // "admin.registries.bitstream-formats.edit.supportLevel.label": "Support level", "admin.registries.bitstream-formats.edit.supportLevel.label": "Atbalsta līmenis", - + // "admin.registries.bitstream-formats.head": "Bitstream Format Registry", "admin.registries.bitstream-formats.head": "Bitu straumes Formatu Reģistrs", - + // "admin.registries.bitstream-formats.no-items": "No bitstream formats to show.", "admin.registries.bitstream-formats.no-items": "Nav rādāmi bitu straumes formāti.", - + // "admin.registries.bitstream-formats.table.delete": "Delete selected", "admin.registries.bitstream-formats.table.delete": "Dzēst atlasīto", - + // "admin.registries.bitstream-formats.table.deselect-all": "Deselect all", "admin.registries.bitstream-formats.table.deselect-all": "Noņemt atlasi", - + // "admin.registries.bitstream-formats.table.internal": "internal", "admin.registries.bitstream-formats.table.internal": "Iekšējais", - + // "admin.registries.bitstream-formats.table.mimetype": "MIME Type", "admin.registries.bitstream-formats.table.mimetype": "MIME Tips", - + // "admin.registries.bitstream-formats.table.name": "Name", "admin.registries.bitstream-formats.table.name": "Nosaukums", - + // "admin.registries.bitstream-formats.table.return": "Return", "admin.registries.bitstream-formats.table.return": "Atgriezties", - + // "admin.registries.bitstream-formats.table.supportLevel.KNOWN": "Known", "admin.registries.bitstream-formats.table.supportLevel.KNOWN": "Zināms", - + // "admin.registries.bitstream-formats.table.supportLevel.SUPPORTED": "Supported", "admin.registries.bitstream-formats.table.supportLevel.SUPPORTED": "Atbalstīts", - + // "admin.registries.bitstream-formats.table.supportLevel.UNKNOWN": "Unknown", "admin.registries.bitstream-formats.table.supportLevel.UNKNOWN": "Nezināms", - + // "admin.registries.bitstream-formats.table.supportLevel.head": "Support Level", "admin.registries.bitstream-formats.table.supportLevel.head": "Atbalsta Līmenis", - + // "admin.registries.bitstream-formats.title": "DSpace Angular :: Bitstream Format Registry", "admin.registries.bitstream-formats.title": "DSpace Angular :: Bitu straumes Formatu Reģistrs", - - - + + + + // "admin.registries.metadata.breadcrumbs": "Metadata registry", + // TODO New key - Add a translation + "admin.registries.metadata.breadcrumbs": "Metadata registry", + // "admin.registries.metadata.description": "The metadata registry maintains a list of all metadata fields available in the repository. These fields may be divided amongst multiple schemas. However, DSpace requires the qualified Dublin Core schema.", "admin.registries.metadata.description": "Metadatu reģistrā tiek uzturēts visu repozitorijā pieejamo metadatu lauku saraksts. Šos laukus var sadalīt starp vairākām shēmām. Tomēr DSpace ir nepieciešama kvalificēta Dublin Core shēma.", - + // "admin.registries.metadata.form.create": "Create metadata schema", "admin.registries.metadata.form.create": "Izveidot metadatu shēmu", - + // "admin.registries.metadata.form.edit": "Edit metadata schema", "admin.registries.metadata.form.edit": "Rediģēt metadatu shēmu", - + // "admin.registries.metadata.form.name": "Name", "admin.registries.metadata.form.name": "Nosaukums", - + // "admin.registries.metadata.form.namespace": "Namespace", "admin.registries.metadata.form.namespace": "Nosaukumvieta", - + // "admin.registries.metadata.head": "Metadata Registry", "admin.registries.metadata.head": "Metadatu reģistrs", - + // "admin.registries.metadata.schemas.no-items": "No metadata schemas to show.", "admin.registries.metadata.schemas.no-items": "Nav rādāmas metadatu shēmas.", - + // "admin.registries.metadata.schemas.table.delete": "Delete selected", "admin.registries.metadata.schemas.table.delete": "Dzēst izvēlēto", - + // "admin.registries.metadata.schemas.table.id": "ID", "admin.registries.metadata.schemas.table.id": "ID", - + // "admin.registries.metadata.schemas.table.name": "Name", "admin.registries.metadata.schemas.table.name": "Nosaukums", - + // "admin.registries.metadata.schemas.table.namespace": "Namespace", "admin.registries.metadata.schemas.table.namespace": "Nosaukumvieta", - + // "admin.registries.metadata.title": "DSpace Angular :: Metadata Registry", "admin.registries.metadata.title": "DSpace Angular :: Metadatu Registry", - - - + + + + // "admin.registries.schema.breadcrumbs": "Metadata schema", + // TODO New key - Add a translation + "admin.registries.schema.breadcrumbs": "Metadata schema", + // "admin.registries.schema.description": "This is the metadata schema for \"{{namespace}}\".", "admin.registries.schema.description": "Metadu shēma priekš \"{{namespace}}\".", - + // "admin.registries.schema.fields.head": "Schema metadata fields", "admin.registries.schema.fields.head": "Shēmas metadatu lauki", - + // "admin.registries.schema.fields.no-items": "No metadata fields to show.", "admin.registries.schema.fields.no-items": "Nav pieejami metadatu lauki.", - + // "admin.registries.schema.fields.table.delete": "Delete selected", "admin.registries.schema.fields.table.delete": "Dzēst izvēlēto", - + // "admin.registries.schema.fields.table.field": "Field", "admin.registries.schema.fields.table.field": "Lauks", - + // "admin.registries.schema.fields.table.scopenote": "Scope Note", "admin.registries.schema.fields.table.scopenote": "Jomas Piezīme", - + // "admin.registries.schema.form.create": "Create metadata field", "admin.registries.schema.form.create": "Izveidot matadatu lauku", - + // "admin.registries.schema.form.edit": "Edit metadata field", "admin.registries.schema.form.edit": "Rediģēt metadatu lauku", - + // "admin.registries.schema.form.element": "Element", "admin.registries.schema.form.element": "Elements", - + // "admin.registries.schema.form.qualifier": "Qualifier", "admin.registries.schema.form.qualifier": "Kvalifikācija", - + // "admin.registries.schema.form.scopenote": "Scope Note", "admin.registries.schema.form.scopenote": "Jomas Piezīme", - + // "admin.registries.schema.head": "Metadata Schema", "admin.registries.schema.head": "Metadatu Shēma", - + // "admin.registries.schema.notification.created": "Successfully created metadata schema \"{{prefix}}\"", "admin.registries.schema.notification.created": "Veiksmīgi izveidota metadatu shēma \"{{prefix}}\"", - + // "admin.registries.schema.notification.deleted.failure": "Failed to delete {{amount}} metadata schemas", "admin.registries.schema.notification.deleted.failure": "Neizdevās izdzēst {{amount}} metadatu shēmas", - + // "admin.registries.schema.notification.deleted.success": "Successfully deleted {{amount}} metadata schemas", "admin.registries.schema.notification.deleted.success": "{{amount}} metadatu shēmas ir veiksmīgi izdzēstas", - + // "admin.registries.schema.notification.edited": "Successfully edited metadata schema \"{{prefix}}\"", "admin.registries.schema.notification.edited": "Veiksmīgi rediģēta metadatu shēma \"{{prefix}}\"", - + // "admin.registries.schema.notification.failure": "Error", "admin.registries.schema.notification.failure": "Kļūda", - + // "admin.registries.schema.notification.field.created": "Successfully created metadata field \"{{field}}\"", "admin.registries.schema.notification.field.created": "Metadatu lauks ir veiksmīgi izveidots \"{{field}}\"", - + // "admin.registries.schema.notification.field.deleted.failure": "Failed to delete {{amount}} metadata fields", "admin.registries.schema.notification.field.deleted.failure": "Neizdevās izdzēst {{amount}} metadatu laukus", - + // "admin.registries.schema.notification.field.deleted.success": "Successfully deleted {{amount}} metadata fields", "admin.registries.schema.notification.field.deleted.success": "{{amount}} metadatu lauki ir veiksmīgi izdzēsti", - + // "admin.registries.schema.notification.field.edited": "Successfully edited metadata field \"{{field}}\"", "admin.registries.schema.notification.field.edited": "Metadatu lauks ir veiksmīgi rediģēts \"{{field}}\"", - + // "admin.registries.schema.notification.success": "Success", "admin.registries.schema.notification.success": "Veiksmīgi izpildīts", - + // "admin.registries.schema.return": "Return", "admin.registries.schema.return": "Atgriezties", - + // "admin.registries.schema.title": "DSpace Angular :: Metadata Schema Registry", "admin.registries.schema.title": "DSpace Angular :: Metadatu shēmas reģistrs", - - - + + + + // "admin.access-control.epeople.actions.delete": "Delete EPerson", + // TODO New key - Add a translation + "admin.access-control.epeople.actions.delete": "Delete EPerson", + + // "admin.access-control.epeople.actions.impersonate": "Impersonate EPerson", + // TODO New key - Add a translation + "admin.access-control.epeople.actions.impersonate": "Impersonate EPerson", + + // "admin.access-control.epeople.actions.reset": "Reset password", + // TODO New key - Add a translation + "admin.access-control.epeople.actions.reset": "Reset password", + + // "admin.access-control.epeople.actions.stop-impersonating": "Stop impersonating EPerson", + // TODO New key - Add a translation + "admin.access-control.epeople.actions.stop-impersonating": "Stop impersonating EPerson", + // "admin.access-control.epeople.title": "DSpace Angular :: EPeople", "admin.access-control.epeople.title": "DSpace Angular :: EPersonas", - + // "admin.access-control.epeople.head": "EPeople", "admin.access-control.epeople.head": "EPersonas", - + // "admin.access-control.epeople.search.head": "Search", "admin.access-control.epeople.search.head": "Meklēt", - + // "admin.access-control.epeople.button.see-all": "Browse All", "admin.access-control.epeople.button.see-all": "Skatīt visus", - + // "admin.access-control.epeople.search.scope.metadata": "Metadata", "admin.access-control.epeople.search.scope.metadata": "Metadati", - + // "admin.access-control.epeople.search.scope.email": "E-mail (exact)", "admin.access-control.epeople.search.scope.email": "E-pasts (pilns)", - + // "admin.access-control.epeople.search.button": "Search", "admin.access-control.epeople.search.button": "Meklēt", - + // "admin.access-control.epeople.button.add": "Add EPerson", "admin.access-control.epeople.button.add": "Pievienot EPersonu", - + // "admin.access-control.epeople.table.id": "ID", "admin.access-control.epeople.table.id": "ID", - + // "admin.access-control.epeople.table.name": "Name", "admin.access-control.epeople.table.name": "Lietotājs", - + // "admin.access-control.epeople.table.email": "E-mail (exact)", "admin.access-control.epeople.table.email": "E-pasts (precīzs)", - + // "admin.access-control.epeople.table.edit": "Edit", "admin.access-control.epeople.table.edit": "Rediģēt", - + // "admin.access-control.epeople.table.edit.buttons.edit": "Edit \"{{name}}\"", "admin.access-control.epeople.table.edit.buttons.edit": "Rediģēt \"{{name}}\"", - + // "admin.access-control.epeople.table.edit.buttons.remove": "Delete \"{{name}}\"", "admin.access-control.epeople.table.edit.buttons.remove": "Dzēst \"{{name}}\"", - + // "admin.access-control.epeople.no-items": "No EPeople to show.", "admin.access-control.epeople.no-items": "Nav pieejamas EPersonas.", - + // "admin.access-control.epeople.form.create": "Create EPerson", "admin.access-control.epeople.form.create": "Izveidot EPersonu", - + // "admin.access-control.epeople.form.edit": "Edit EPerson", "admin.access-control.epeople.form.edit": "Rediģēt EPersonu", - + // "admin.access-control.epeople.form.firstName": "First name", "admin.access-control.epeople.form.firstName": "Vārds", - + // "admin.access-control.epeople.form.lastName": "Last name", "admin.access-control.epeople.form.lastName": "Uzvārds", - + // "admin.access-control.epeople.form.email": "E-mail", "admin.access-control.epeople.form.email": "E-pasts", - + // "admin.access-control.epeople.form.emailHint": "Must be valid e-mail address", "admin.access-control.epeople.form.emailHint": "Jābūt derīgai e-pasta adresei", - + // "admin.access-control.epeople.form.canLogIn": "Can log in", "admin.access-control.epeople.form.canLogIn": "Var pierakstīties", - + // "admin.access-control.epeople.form.requireCertificate": "Requires certificate", "admin.access-control.epeople.form.requireCertificate": "Nepieciešams sertifikāts", - + // "admin.access-control.epeople.form.notification.created.success": "Successfully created EPerson \"{{name}}\"", "admin.access-control.epeople.form.notification.created.success": "Veiksmīgi izveidota EPersona \"{{name}}\"", - + // "admin.access-control.epeople.form.notification.created.failure": "Failed to create EPerson \"{{name}}\"", "admin.access-control.epeople.form.notification.created.failure": "Neizdevās izveidot EPersonu \"{{name}}\"", - + // "admin.access-control.epeople.form.notification.created.failure.emailInUse": "Failed to create EPerson \"{{name}}\", email \"{{email}}\" already in use.", "admin.access-control.epeople.form.notification.created.failure.emailInUse": "Neizdevās izveidot EPersonu \"{{name}}\", e-pasts \"{{email}}\" jau tiek lietots.", - + // "admin.access-control.epeople.form.notification.edited.failure.emailInUse": "Failed to edit EPerson \"{{name}}\", email \"{{email}}\" already in use.", "admin.access-control.epeople.form.notification.edited.failure.emailInUse": "Neizdevās rediģēt EPersonu \"{{name}}\", e-pasts \"{{email}}\" jau tiek lietots.", - + // "admin.access-control.epeople.form.notification.edited.success": "Successfully edited EPerson \"{{name}}\"", "admin.access-control.epeople.form.notification.edited.success": "Veiksmīgi rediģēta EPersona \"{{name}}\"", - + // "admin.access-control.epeople.form.notification.edited.failure": "Failed to edit EPerson \"{{name}}\"", "admin.access-control.epeople.form.notification.edited.failure": "Neizdevās rediģēt EPerosnu \"{{name}}\"", - + + // "admin.access-control.epeople.form.notification.deleted.success": "Successfully deleted EPerson \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.epeople.form.notification.deleted.success": "Successfully deleted EPerson \"{{name}}\"", + + // "admin.access-control.epeople.form.notification.deleted.failure": "Failed to delete EPerson \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.epeople.form.notification.deleted.failure": "Failed to delete EPerson \"{{name}}\"", + // "admin.access-control.epeople.form.groupsEPersonIsMemberOf": "Member of these groups:", "admin.access-control.epeople.form.groupsEPersonIsMemberOf": "Grupas lietotāji:", - + // "admin.access-control.epeople.form.table.id": "ID", "admin.access-control.epeople.form.table.id": "ID", - + // "admin.access-control.epeople.form.table.name": "Name", "admin.access-control.epeople.form.table.name": "Vārds", - + // "admin.access-control.epeople.form.memberOfNoGroups": "This EPerson is not a member of any groups", "admin.access-control.epeople.form.memberOfNoGroups": "EPersona nepieder nevienai grupai", - + // "admin.access-control.epeople.form.goToGroups": "Add to groups", "admin.access-control.epeople.form.goToGroups": "Pievienot grupām", - + // "admin.access-control.epeople.notification.deleted.failure": "Failed to delete EPerson: \"{{name}}\"", "admin.access-control.epeople.notification.deleted.failure": "Neizdevās dzēst EPersonu: \"{{name}}\"", - + // "admin.access-control.epeople.notification.deleted.success": "Successfully deleted EPerson: \"{{name}}\"", "admin.access-control.epeople.notification.deleted.success": "Veiksmīgi dzēsta EPersona: \"{{name}}\"", - - - + + + // "admin.access-control.groups.title": "DSpace Angular :: Groups", "admin.access-control.groups.title": "DSpace Angular :: Grupas", - + + // "admin.access-control.groups.title.singleGroup": "DSpace Angular :: Edit Group", + // TODO New key - Add a translation + "admin.access-control.groups.title.singleGroup": "DSpace Angular :: Edit Group", + + // "admin.access-control.groups.title.addGroup": "DSpace Angular :: New Group", + // TODO New key - Add a translation + "admin.access-control.groups.title.addGroup": "DSpace Angular :: New Group", + // "admin.access-control.groups.head": "Groups", "admin.access-control.groups.head": "Grupas", - + // "admin.access-control.groups.button.add": "Add group", "admin.access-control.groups.button.add": "Pievienot grupu", - + // "admin.access-control.groups.search.head": "Search groups", "admin.access-control.groups.search.head": "Meklēt grupas", - + // "admin.access-control.groups.button.see-all": "Browse all", "admin.access-control.groups.button.see-all": "Skatīt visas", - + // "admin.access-control.groups.search.button": "Search", "admin.access-control.groups.search.button": "Meklēt", - + // "admin.access-control.groups.table.id": "ID", "admin.access-control.groups.table.id": "ID", - + // "admin.access-control.groups.table.name": "Name", "admin.access-control.groups.table.name": "Vārds", - + // "admin.access-control.groups.table.members": "Members", "admin.access-control.groups.table.members": "Lietotāji", - - // "admin.access-control.groups.table.comcol": "Community / Collection", - "admin.access-control.groups.table.comcol": "Kategorija / Kolekcija", - + // "admin.access-control.groups.table.edit": "Edit", "admin.access-control.groups.table.edit": "Rediģēt", - + // "admin.access-control.groups.table.edit.buttons.edit": "Edit \"{{name}}\"", "admin.access-control.groups.table.edit.buttons.edit": "Rediģēt \"{{name}}\"", - + // "admin.access-control.groups.table.edit.buttons.remove": "Delete \"{{name}}\"", "admin.access-control.groups.table.edit.buttons.remove": "Dzēst \"{{name}}\"", - + // "admin.access-control.groups.no-items": "No groups found with this in their name or this as UUID", "admin.access-control.groups.no-items": "Netika atrasta grupa ar šādu nosaukumu vai identifikatoru", - + // "admin.access-control.groups.notification.deleted.success": "Successfully deleted group \"{{name}}\"", "admin.access-control.groups.notification.deleted.success": "Veiksmīgi dzēsta grupa \"{{name}}\"", - - // "admin.access-control.groups.notification.deleted.failure": "Failed to delete group \"{{name}}\"", - "admin.access-control.groups.notification.deleted.failure": "Neizdevās dzēst grupu \"{{name}}\"", - - + + // "admin.access-control.groups.notification.deleted.failure.title": "Failed to delete group \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.groups.notification.deleted.failure.title": "Failed to delete group \"{{name}}\"", + + // "admin.access-control.groups.notification.deleted.failure.content": "Cause: \"{{cause}}\"", + // TODO New key - Add a translation + "admin.access-control.groups.notification.deleted.failure.content": "Cause: \"{{cause}}\"", + + + + // "admin.access-control.groups.form.alert.permanent": "This group is permanent, so it can't be edited or deleted. You can still add and remove group members using this page.", + // TODO New key - Add a translation + "admin.access-control.groups.form.alert.permanent": "This group is permanent, so it can't be edited or deleted. You can still add and remove group members using this page.", + + // "admin.access-control.groups.form.alert.workflowGroup": "This group can’t be modified or deleted because it corresponds to a role in the submission and workflow process in the \"{{name}}\" {{comcol}}. You can delete it from the \"assign roles\" tab on the edit {{comcol}} page. You can still add and remove group members using this page.", + // TODO New key - Add a translation + "admin.access-control.groups.form.alert.workflowGroup": "This group can’t be modified or deleted because it corresponds to a role in the submission and workflow process in the \"{{name}}\" {{comcol}}. You can delete it from the \"assign roles\" tab on the edit {{comcol}} page. You can still add and remove group members using this page.", + // "admin.access-control.groups.form.head.create": "Create group", "admin.access-control.groups.form.head.create": "Izveidot grupu", - + // "admin.access-control.groups.form.head.edit": "Edit group", "admin.access-control.groups.form.head.edit": "Rediģēt grupu", - + // "admin.access-control.groups.form.groupName": "Group name", "admin.access-control.groups.form.groupName": "Grupas nosaukums", - + // "admin.access-control.groups.form.groupDescription": "Description", "admin.access-control.groups.form.groupDescription": "Apraksts", - + // "admin.access-control.groups.form.notification.created.success": "Successfully created Group \"{{name}}\"", "admin.access-control.groups.form.notification.created.success": "Izveidota grupa \"{{name}}\"", - + // "admin.access-control.groups.form.notification.created.failure": "Failed to create Group \"{{name}}\"", "admin.access-control.groups.form.notification.created.failure": "Neizdevās izveidot grupu \"{{name}}\"", - + // "admin.access-control.groups.form.notification.created.failure.groupNameInUse": "Failed to create Group with name: \"{{name}}\", make sure the name is not already in use.", "admin.access-control.groups.form.notification.created.failure.groupNameInUse": "Neizdevās izveidot grupu ar nosaukumu: \"{{name}}\", pārliecinies vai grupa ar šādu nosaukumu jau netiek izmantota.", - + + // "admin.access-control.groups.form.notification.edited.failure": "Failed to edit Group \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.edited.failure": "Failed to edit Group \"{{name}}\"", + + // "admin.access-control.groups.form.notification.edited.failure.groupNameInUse": "Name \"{{name}}\" already in use!", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.edited.failure.groupNameInUse": "Name \"{{name}}\" already in use!", + + // "admin.access-control.groups.form.notification.edited.success": "Successfully edited Group \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.edited.success": "Successfully edited Group \"{{name}}\"", + + // "admin.access-control.groups.form.actions.delete": "Delete Group", + // TODO New key - Add a translation + "admin.access-control.groups.form.actions.delete": "Delete Group", + + // "admin.access-control.groups.form.delete-group.modal.header": "Delete Group \"{{ dsoName }}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.delete-group.modal.header": "Delete Group \"{{ dsoName }}\"", + + // "admin.access-control.groups.form.delete-group.modal.info": "Are you sure you want to delete Group \"{{ dsoName }}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.delete-group.modal.info": "Are you sure you want to delete Group \"{{ dsoName }}\"", + + // "admin.access-control.groups.form.delete-group.modal.cancel": "Cancel", + // TODO New key - Add a translation + "admin.access-control.groups.form.delete-group.modal.cancel": "Cancel", + + // "admin.access-control.groups.form.delete-group.modal.confirm": "Delete", + // TODO New key - Add a translation + "admin.access-control.groups.form.delete-group.modal.confirm": "Delete", + + // "admin.access-control.groups.form.notification.deleted.success": "Successfully deleted group \"{{ name }}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.deleted.success": "Successfully deleted group \"{{ name }}\"", + + // "admin.access-control.groups.form.notification.deleted.failure.title": "Failed to delete group \"{{ name }}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.deleted.failure.title": "Failed to delete group \"{{ name }}\"", + + // "admin.access-control.groups.form.notification.deleted.failure.content": "Cause: \"{{ cause }}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.deleted.failure.content": "Cause: \"{{ cause }}\"", + // "admin.access-control.groups.form.members-list.head": "EPeople", "admin.access-control.groups.form.members-list.head": "EPersona", - + // "admin.access-control.groups.form.members-list.search.head": "Add EPeople", "admin.access-control.groups.form.members-list.search.head": "Pievienot EPersonu", - + // "admin.access-control.groups.form.members-list.button.see-all": "Browse All", "admin.access-control.groups.form.members-list.button.see-all": "Skatīt visus", - + // "admin.access-control.groups.form.members-list.headMembers": "Current Members", "admin.access-control.groups.form.members-list.headMembers": "Pašreizējie lietotāji", - + // "admin.access-control.groups.form.members-list.search.scope.metadata": "Metadata", "admin.access-control.groups.form.members-list.search.scope.metadata": "Metadats", - + // "admin.access-control.groups.form.members-list.search.scope.email": "E-mail (exact)", "admin.access-control.groups.form.members-list.search.scope.email": "E-pasts (precīzi)", - + // "admin.access-control.groups.form.members-list.search.button": "Search", "admin.access-control.groups.form.members-list.search.button": "Meklēt", - + // "admin.access-control.groups.form.members-list.table.id": "ID", "admin.access-control.groups.form.members-list.table.id": "ID", - + // "admin.access-control.groups.form.members-list.table.name": "Name", "admin.access-control.groups.form.members-list.table.name": "Nosaukums", - + // "admin.access-control.groups.form.members-list.table.edit": "Remove / Add", "admin.access-control.groups.form.members-list.table.edit": "Noņemt / Pievienot", - + // "admin.access-control.groups.form.members-list.table.edit.buttons.remove": "Remove member with name \"{{name}}\"", "admin.access-control.groups.form.members-list.table.edit.buttons.remove": "Noņemt lietotāju ar vārdu \"{{name}}\"", - + // "admin.access-control.groups.form.members-list.notification.success.addMember": "Successfully added member: \"{{name}}\"", "admin.access-control.groups.form.members-list.notification.success.addMember": "Veiksmīgi pievienots lietotājs: \"{{name}}\"", - + // "admin.access-control.groups.form.members-list.notification.failure.addMember": "Failed to add member: \"{{name}}\"", "admin.access-control.groups.form.members-list.notification.failure.addMember": "Neizdevās pievienot lietotāju: \"{{name}}\"", - + // "admin.access-control.groups.form.members-list.notification.success.deleteMember": "Successfully deleted member: \"{{name}}\"", "admin.access-control.groups.form.members-list.notification.success.deleteMember": "Veiksmīgi dzēsts lietotājs: \"{{name}}\"", - + // "admin.access-control.groups.form.members-list.notification.failure.deleteMember": "Failed to delete member: \"{{name}}\"", "admin.access-control.groups.form.members-list.notification.failure.deleteMember": "Neizdevās dzēst lietotāju: \"{{name}}\"", - + // "admin.access-control.groups.form.members-list.table.edit.buttons.add": "Add member with name \"{{name}}\"", "admin.access-control.groups.form.members-list.table.edit.buttons.add": "Pievienot lietotāju ar vārdu \"{{name}}\"", - + // "admin.access-control.groups.form.members-list.notification.failure.noActiveGroup": "No current active group, submit a name first.", "admin.access-control.groups.form.members-list.notification.failure.noActiveGroup": "Pašlaik nav aktīvu grupu, iesniegt sākumā vārdu.", - + // "admin.access-control.groups.form.members-list.no-members-yet": "No members in group yet, search and add.", "admin.access-control.groups.form.members-list.no-members-yet": "Grupā nav lietotāju, atrast un pievienot.", - + // "admin.access-control.groups.form.members-list.no-items": "No EPeople found in that search", "admin.access-control.groups.form.members-list.no-items": "Netika atrasta neviena EPersona", - + + // "admin.access-control.groups.form.subgroups-list.notification.failure": "Something went wrong: \"{{cause}}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.subgroups-list.notification.failure": "Something went wrong: \"{{cause}}\"", + // "admin.access-control.groups.form.subgroups-list.head": "Groups", "admin.access-control.groups.form.subgroups-list.head": "Grupas", - + // "admin.access-control.groups.form.subgroups-list.search.head": "Add Subgroup", "admin.access-control.groups.form.subgroups-list.search.head": "Pievienot apakšgrupu", - + // "admin.access-control.groups.form.subgroups-list.button.see-all": "Browse All", "admin.access-control.groups.form.subgroups-list.button.see-all": "Skatīt visus", - + // "admin.access-control.groups.form.subgroups-list.headSubgroups": "Current Subgroups", "admin.access-control.groups.form.subgroups-list.headSubgroups": "Pašreizējās apakšgrupas", - + // "admin.access-control.groups.form.subgroups-list.search.button": "Search", "admin.access-control.groups.form.subgroups-list.search.button": "Meklēt", - + // "admin.access-control.groups.form.subgroups-list.table.id": "ID", "admin.access-control.groups.form.subgroups-list.table.id": "ID", - + // "admin.access-control.groups.form.subgroups-list.table.name": "Name", "admin.access-control.groups.form.subgroups-list.table.name": "Vārds", - + // "admin.access-control.groups.form.subgroups-list.table.edit": "Remove / Add", "admin.access-control.groups.form.subgroups-list.table.edit": "Noņemt / Pievienot", - + // "admin.access-control.groups.form.subgroups-list.table.edit.buttons.remove": "Remove subgroup with name \"{{name}}\"", "admin.access-control.groups.form.subgroups-list.table.edit.buttons.remove": "Noņemt apakšgrupu ar nosaukumu \"{{name}}\"", - + // "admin.access-control.groups.form.subgroups-list.table.edit.buttons.add": "Add subgroup with name \"{{name}}\"", "admin.access-control.groups.form.subgroups-list.table.edit.buttons.add": "Pievienot apakšgrupu ar nosaukumu \"{{name}}\"", - + // "admin.access-control.groups.form.subgroups-list.table.edit.currentGroup": "Current group", "admin.access-control.groups.form.subgroups-list.table.edit.currentGroup": "Pašreizējā grupa", - + // "admin.access-control.groups.form.subgroups-list.notification.success.addSubgroup": "Successfully added subgroup: \"{{name}}\"", "admin.access-control.groups.form.subgroups-list.notification.success.addSubgroup": "Veiksmīgi pievienota apakšgrupa: \"{{name}}\"", - + // "admin.access-control.groups.form.subgroups-list.notification.failure.addSubgroup": "Failed to add subgroup: \"{{name}}\"", "admin.access-control.groups.form.subgroups-list.notification.failure.addSubgroup": "Neizdevās pievienot apakšgrupu: \"{{name}}\"", - + // "admin.access-control.groups.form.subgroups-list.notification.success.deleteSubgroup": "Successfully deleted subgroup: \"{{name}}\"", "admin.access-control.groups.form.subgroups-list.notification.success.deleteSubgroup": "Veiksmīgi dzēsta apakšgrupa: \"{{name}}\"", - + // "admin.access-control.groups.form.subgroups-list.notification.failure.deleteSubgroup": "Failed to delete subgroup: \"{{name}}\"", "admin.access-control.groups.form.subgroups-list.notification.failure.deleteSubgroup": "Neizdevās dzēst apakšgrupu: \"{{name}}\"", - + // "admin.access-control.groups.form.subgroups-list.notification.failure.noActiveGroup": "No current active group, submit a name first.", "admin.access-control.groups.form.subgroups-list.notification.failure.noActiveGroup": "Pašlaik nav aktīvu grupu, iesniegt sākumā vārdu.", - + // "admin.access-control.groups.form.subgroups-list.notification.failure.subgroupToAddIsActiveGroup": "This is the current group, can't be added.", "admin.access-control.groups.form.subgroups-list.notification.failure.subgroupToAddIsActiveGroup": "Šī ir pašreizēja grupa, nevar pievienot", - + // "admin.access-control.groups.form.subgroups-list.no-items": "No groups found with this in their name or this as UUID", "admin.access-control.groups.form.subgroups-list.no-items": "Netika atrasta grupa ar šādu nosaukumu vai identifikatoru", - + // "admin.access-control.groups.form.subgroups-list.no-subgroups-yet": "No subgroups in group yet.", "admin.access-control.groups.form.subgroups-list.no-subgroups-yet": "Grupā pašreiz nav apakšgrupu.", - + // "admin.access-control.groups.form.return": "Return to groups", "admin.access-control.groups.form.return": "Atgriezties pie grupām", - - - + + + // "admin.search.breadcrumbs": "Administrative Search", "admin.search.breadcrumbs": "Administratīvā Meklēšana", - + // "admin.search.collection.edit": "Edit", "admin.search.collection.edit": "Rediģēt", - + // "admin.search.community.edit": "Edit", "admin.search.community.edit": "Rediģēt", - + // "admin.search.item.delete": "Delete", "admin.search.item.delete": "Dzēst", - + // "admin.search.item.edit": "Edit", "admin.search.item.edit": "Rediģēt", - + // "admin.search.item.make-private": "Make Private", "admin.search.item.make-private": "Padarīt Privātu", - + // "admin.search.item.make-public": "Make Public", "admin.search.item.make-public": "Padarīt Publisku", - + // "admin.search.item.move": "Move", "admin.search.item.move": "Pārvietot", - - // "admin.search.item.private": "Private", - "admin.search.item.private": "Privāts", - + // "admin.search.item.reinstate": "Reinstate", "admin.search.item.reinstate": "Atjaunot", - + // "admin.search.item.withdraw": "Withdraw", "admin.search.item.withdraw": "Atsaukt", - - // "admin.search.item.withdrawn": "Withdrawn", - "admin.search.item.withdrawn": "Atsaukts", - + // "admin.search.title": "Administrative Search", "admin.search.title": "Administratīvā Meklēšana", - - - // "admin.workflow.breadcrumbs": "Administer Workflow", - "admin.workflow.breadcrumbs": "Administrēt darba plūsmu", - - // "admin.workflow.title": "Administer Workflow", - "admin.workflow.title": "Administrēt darba plūsmu", - - // "admin.workflow.item.workflow": "Workflow", - "admin.workflow.item.workflow": "Darba plūsma", - - // "admin.workflow.item.delete": "Delete", - "admin.workflow.item.delete": "Dzēst", - - // "admin.workflow.item.send-back": "Send back", - "admin.workflow.item.send-back": "Sūtīt atpakaļ", - - - - // "auth.errors.invalid-user": "Invalid email address or password.", - "auth.errors.invalid-user": "Nepareizs e-pasta adrese vai parole.", - - // "auth.messages.expired": "Your session has expired. Please log in again.", - "auth.messages.expired": "Jūsu sesija ir beigusies. Lūdzu pieslēdzieties vēlreiz", - - - - // "bitstream.edit.bitstream": "Bitstream: ", - "bitstream.edit.bitstream": "Bitu straume: ", - - // "bitstream.edit.form.description.hint": "Optionally, provide a brief description of the file, for example \"Main article\" or \"Experiment data readings\".", - "bitstream.edit.form.description.hint": "Pēc izvēles sniedziet īsu faila aprakstu, piemēram, \"Galvanais raksts\" vai \"Eksperimenta datu nolasījumi\".", - - // "bitstream.edit.form.description.label": "Description", - "bitstream.edit.form.description.label": "Apraksts", - - // "bitstream.edit.form.embargo.hint": "The first day from which access is allowed. This date cannot be modified on this form. To set an embargo date for a bitstream, go to the Item Status tab, click Authorizations..., create or edit the bitstream's READ policy, and set the Start Date as desired.", - "bitstream.edit.form.embargo.hint": "Pirmā diena, no kuras atļauta pieeja. Šai formai nevarēs mainīt datumu. Lai uzstādītu embargo datumu šai bitu straumei, doties uz Materiāla statuss, noklikšķiniet uz Autorizācijas..., izveidot vai rediģēt bitu straumes LASĪT politiku, un uzstādīt Sākuma datumu kā vēlaties.", - - // "bitstream.edit.form.embargo.label": "Embargo until specific date", - "bitstream.edit.form.embargo.label": "Embargo līdz noteiktam datumam", - - // "bitstream.edit.form.fileName.hint": "Change the filename for the bitstream. Note that this will change the display bitstream URL, but old links will still resolve as long as the sequence ID does not change.", - "bitstream.edit.form.fileName.hint": "Mainīt faila nosaukumu bitu straumei. Ņemiet vērā, ka tas mainīs redzamo bitu straumes URL, bet vecās saites joprojām būš pieejamas, kamēr ID secība nemainīsies.", - - // "bitstream.edit.form.fileName.label": "Filename", - "bitstream.edit.form.fileName.label": "Faila nosaukums", - - // "bitstream.edit.form.newFormat.label": "Describe new format", - "bitstream.edit.form.newFormat.label": "Aprakstīt jauno formātu", - - // "bitstream.edit.form.newFormat.hint": "The application you used to create the file, and the version number (for example, \"ACMESoft SuperApp version 1.5\").", - "bitstream.edit.form.newFormat.hint": "Lietojumprogramma, kuru izmantojāt faila izveidošanai, un versijas numurs (piemēram, \" ACMESoft SuperApp versija 1.5 \").", - - // "bitstream.edit.form.primaryBitstream.label": "Primary bitstream", - "bitstream.edit.form.primaryBitstream.label": "Galvenā bitu straume", - - // "bitstream.edit.form.selectedFormat.hint": "If the format is not in the above list, select \"format not in list\" above and describe it under \"Describe new format\".", - "bitstream.edit.form.selectedFormat.hint": "Ja formāts nav iepriekš minētajā sarakstā, atlasiet “formāts, kurš nav sarakstā” iepriekš un aprakstiet to sadaļā “Aprakstīt jauno formātu”.", - - // "bitstream.edit.form.selectedFormat.label": "Selected Format", - "bitstream.edit.form.selectedFormat.label": "Izvēlētais formāts", - - // "bitstream.edit.form.selectedFormat.unknown": "Format not in list", - "bitstream.edit.form.selectedFormat.unknown": "Formāts, kurš nav sarakstā", - - // "bitstream.edit.notifications.error.format.title": "An error occurred saving the bitstream's format", - "bitstream.edit.notifications.error.format.title": "Saglabājot bitu straumes formātu, radās kļūda", - - // "bitstream.edit.notifications.saved.content": "Your changes to this bitstream were saved.", - "bitstream.edit.notifications.saved.content": "Jūsu izmaiņas šajā bitu straumē tika saglabātas.", - - // "bitstream.edit.notifications.saved.title": "Bitstream saved", - "bitstream.edit.notifications.saved.title": "Bitu straume saglabāta", - - // "bitstream.edit.title": "Edit bitstream", - "bitstream.edit.title": "Rediģēt bitu straumi", - - - - // "browse.comcol.by.author": "By Author", - "browse.comcol.by.author": "Pēc Autora", - - // "browse.comcol.by.dateissued": "By Issue Date", - "browse.comcol.by.dateissued": "Pēc Izdošanas Datuma", - - // "browse.comcol.by.subject": "By Subject", - "browse.comcol.by.subject": "Pēc Priekšmeta", - - // "browse.comcol.by.title": "By Title", - "browse.comcol.by.title": "Pēc Nosaukuma", - - // "browse.comcol.head": "Browse", - "browse.comcol.head": "Pārlūkot", - - // "browse.empty": "No items to show.", - "browse.empty": "Ieraksti nav atrasti.", - - // "browse.metadata.author": "Author", - "browse.metadata.author": "Autors", - - // "browse.metadata.dateissued": "Issue Date", - "browse.metadata.dateissued": "Izdošanas datums", - - // "browse.metadata.subject": "Subject", - "browse.metadata.subject": "Priekšmets", - - // "browse.metadata.title": "Title", - "browse.metadata.title": "Nosaukums", - - // "browse.metadata.author.breadcrumbs": "Browse by Author", - "browse.metadata.author.breadcrumbs": "Meklēt pēc Autora", - - // "browse.metadata.dateissued.breadcrumbs": "Browse by Date", - "browse.metadata.dateissued.breadcrumbs": "Meklēt pēc Datuma", - - // "browse.metadata.subject.breadcrumbs": "Browse by Subject", - "browse.metadata.subject.breadcrumbs": "Meklēt pēc Priekšmeta", - - // "browse.metadata.title.breadcrumbs": "Browse by Title", - "browse.metadata.title.breadcrumbs": "Meklēt pēc Nosaukuma", - - // "browse.startsWith.choose_start": "(Choose start)", - "browse.startsWith.choose_start": "(Izvēlieties sākumu)", - - // "browse.startsWith.choose_year": "(Choose year)", - "browse.startsWith.choose_year": "(Izvēlieties gadu)", - - // "browse.startsWith.jump": "Jump to a point in the index:", - "browse.startsWith.jump": "Pāriet uz punktu indeksā:", - - // "browse.startsWith.months.april": "April", - "browse.startsWith.months.april": "Aprīlis", - - // "browse.startsWith.months.august": "August", - "browse.startsWith.months.august": "Augusts", - - // "browse.startsWith.months.december": "December", - "browse.startsWith.months.december": "Decembris", - - // "browse.startsWith.months.february": "February", - "browse.startsWith.months.february": "Februāris", - - // "browse.startsWith.months.january": "January", - "browse.startsWith.months.january": "Janvāris", - - // "browse.startsWith.months.july": "July", - "browse.startsWith.months.july": "Jūlijs", - - // "browse.startsWith.months.june": "June", - "browse.startsWith.months.june": "Jūnijs", - - // "browse.startsWith.months.march": "March", - "browse.startsWith.months.march": "Marts", - - // "browse.startsWith.months.may": "May", - "browse.startsWith.months.may": "Maijs", - - // "browse.startsWith.months.none": "(Choose month)", - "browse.startsWith.months.none": "(Izvēlieties mēnesi)", - - // "browse.startsWith.months.november": "November", - "browse.startsWith.months.november": "Novembris", - - // "browse.startsWith.months.october": "October", - "browse.startsWith.months.october": "Oktobris", - - // "browse.startsWith.months.september": "September", - "browse.startsWith.months.september": "Septembris", - - // "browse.startsWith.submit": "Go", - "browse.startsWith.submit": "Izpildīt", - - // "browse.startsWith.type_date": "Or type in a date (year-month):", - "browse.startsWith.type_date": "Vai ievadiet datumu (gads-mēnesis):", - - // "browse.startsWith.type_text": "Or enter first few letters:", - "browse.startsWith.type_text": "Vai arī ievadiet pirmos burtus:", - - // "browse.title": "Browsing {{ collection }} by {{ field }} {{ value }}", - "browse.title": "Meklē {{ collection }} pēc {{ field }} {{ value }}", - - - // "chips.remove": "Remove chip", - "chips.remove": "Dzēst daļu", - - - - // "collection.create.head": "Create a Collection", - "collection.create.head": "Izveidot Kolekciju", - - // "collection.create.notifications.success": "Successfully created the Collection", - "collection.create.notifications.success": "Kolekcija tika veiksmīgi izveidota", - - // "collection.create.sub-head": "Create a Collection for Community {{ parent }}", - "collection.create.sub-head": "Izveidot Kolekciju priekš Kategorijas {{ parent }}", - - // "collection.delete.cancel": "Cancel", - "collection.delete.cancel": "Atcelt", - - // "collection.delete.confirm": "Confirm", - "collection.delete.confirm": "Apstiprināt", - - // "collection.delete.head": "Delete Collection", - "collection.delete.head": "Dzēst Kolekciju", - - // "collection.delete.notification.fail": "Collection could not be deleted", - "collection.delete.notification.fail": "Kolekciju nevar izdzēst", - - // "collection.delete.notification.success": "Successfully deleted collection", - "collection.delete.notification.success": "Kolekcija ir veiksmīgi izdzēsta", - - // "collection.delete.text": "Are you sure you want to delete collection \"{{ dso }}\"", - "collection.delete.text": "Vai esat pārliecināts, ka vēlaties izdzēst kolekciju \"{{ dso }}\"", - - - - // "collection.edit.delete": "Delete this collection", - "collection.edit.delete": "Dzēst šo kolekciju", - - // "collection.edit.head": "Edit Collection", - "collection.edit.head": "Rediģēt Kolekciju", - - // "collection.edit.breadcrumbs": "Edit Collection", - "collection.edit.breadcrumbs": "Rediģēt Kolekciju", - - - - // "collection.edit.item-mapper.cancel": "Cancel", - "collection.edit.item-mapper.cancel": "Atcelt", - - // "collection.edit.item-mapper.collection": "Collection: \"{{name}}\"", - "collection.edit.item-mapper.collection": "Kolekcija: \"{{name}}\"", - - // "collection.edit.item-mapper.confirm": "Map selected items", - "collection.edit.item-mapper.confirm": "Piesaistīt izvēlētos materiālus", - - // "collection.edit.item-mapper.description": "This is the item mapper tool that allows collection administrators to map items from other collections into this collection. You can search for items from other collections and map them, or browse the list of currently mapped items.", - "collection.edit.item-mapper.description": "Šis ir materiālu piesaistīšanas rīks, kas kolekciju administratoriem ļauj šajā kolekcijā piesaistīt citu kolekciju materiālus. Jūs varat meklēt materiālus no citām kolekcijām un piesaistīt tos vai pārlūkot pašlaik piesaistīto materiālu sarakstu.", - - // "collection.edit.item-mapper.head": "Item Mapper - Map Items from Other Collections", - "collection.edit.item-mapper.head": "Materiālu piesaistīšana - Materiālu piesaistīšana no citas kolekcijas", - - // "collection.edit.item-mapper.no-search": "Please enter a query to search", - "collection.edit.item-mapper.no-search": "Lūdzu ievadiet vaicājumu,lai meklētu", - - // "collection.edit.item-mapper.notifications.map.error.content": "Errors occurred for mapping of {{amount}} items.", - "collection.edit.item-mapper.notifications.map.error.content": "{{amount}} materiālu piesaistīšanā radās kļūdas.", - - // "collection.edit.item-mapper.notifications.map.error.head": "Mapping errors", - "collection.edit.item-mapper.notifications.map.error.head": "Piesaistīšanas kļūdas", - - // "collection.edit.item-mapper.notifications.map.success.content": "Successfully mapped {{amount}} items.", - "collection.edit.item-mapper.notifications.map.success.content": "Veiksmīgi piesaistīti {{amount}} materiāli.", - - // "collection.edit.item-mapper.notifications.map.success.head": "Mapping completed", - "collection.edit.item-mapper.notifications.map.success.head": "Piesaistīšana pabeigta", - - // "collection.edit.item-mapper.notifications.unmap.error.content": "Errors occurred for removing the mappings of {{amount}} items.", - "collection.edit.item-mapper.notifications.unmap.error.content": "Noņemot piesaistītos materiālus {{amount}}, radās kļūda.", - - // "collection.edit.item-mapper.notifications.unmap.error.head": "Remove mapping errors", - "collection.edit.item-mapper.notifications.unmap.error.head": "Dzēst piesaistes kļūdas", - - // "collection.edit.item-mapper.notifications.unmap.success.content": "Successfully removed the mappings of {{amount}} items.", - "collection.edit.item-mapper.notifications.unmap.success.content": "Veiksmīgi dzēsta piesaiste {{amount}} materiāliem.", - - // "collection.edit.item-mapper.notifications.unmap.success.head": "Remove mapping completed", - "collection.edit.item-mapper.notifications.unmap.success.head": "Piesaistes dzēšana izpildīta", - - // "collection.edit.item-mapper.remove": "Remove selected item mappings", - "collection.edit.item-mapper.remove": "Dzēst izvēlēto materiālu piesaistes", - - // "collection.edit.item-mapper.tabs.browse": "Browse mapped items", - "collection.edit.item-mapper.tabs.browse": "Pārlūkot piesaistītos materiālus", - - // "collection.edit.item-mapper.tabs.map": "Map new items", - "collection.edit.item-mapper.tabs.map": "Piesaistīt jaunus materiālus", - - - - // "collection.edit.logo.label": "Collection logo", - "collection.edit.logo.label": "Kolekcijas logotips", - - // "collection.edit.logo.notifications.add.error": "Uploading Collection logo failed. Please verify the content before retrying.", - "collection.edit.logo.notifications.add.error": "Kolekcijas logotipa augšupielāde neizdevās. Pirms mēģināt vēlreiz, lūdzu, pārbaudiet saturu.", - - // "collection.edit.logo.notifications.add.success": "Upload Collection logo successful.", - "collection.edit.logo.notifications.add.success": "Kolekcijas logotipa augšupielāde ir veiksmīga.", - - // "collection.edit.logo.notifications.delete.success.title": "Logo deleted", - "collection.edit.logo.notifications.delete.success.title": "Logotips dzēsts", - - // "collection.edit.logo.notifications.delete.success.content": "Successfully deleted the collection's logo", - "collection.edit.logo.notifications.delete.success.content": "Kolekcijas logotips ir veiksmīgi izdzēsts", - - // "collection.edit.logo.notifications.delete.error.title": "Error deleting logo", - "collection.edit.logo.notifications.delete.error.title": "Kļūda dzēšot logotopu", - - // "collection.edit.logo.upload": "Drop a Collection Logo to upload", - "collection.edit.logo.upload": "Ievietot Kolekcijas logotipu, lai augšupielādētu", - - - - // "collection.edit.notifications.success": "Successfully edited the Collection", - "collection.edit.notifications.success": "Kolekcija ir veiksmīgi rediģēta", - - // "collection.edit.return": "Return", - "collection.edit.return": "Atgriezties", - - - - // "collection.edit.tabs.curate.head": "Curate", - "collection.edit.tabs.curate.head": "Pārvaldīt", - - // "collection.edit.tabs.curate.title": "Collection Edit - Curate", - "collection.edit.tabs.curate.title": "Rediģēt kolekciju - Pārvaldība", - - // "collection.edit.tabs.metadata.head": "Edit Metadata", - "collection.edit.tabs.metadata.head": "Rediģēt Metadatus", - - // "collection.edit.tabs.metadata.title": "Collection Edit - Metadata", - "collection.edit.tabs.metadata.title": "Rediģēt Kolekciju - Metadati", - - // "collection.edit.tabs.roles.head": "Assign Roles", - "collection.edit.tabs.roles.head": "Piešķirt Lomu", - - // "collection.edit.tabs.roles.title": "Collection Edit - Roles", - "collection.edit.tabs.roles.title": "Rediģēt Kolekciju - Lomas", - - // "collection.edit.tabs.source.external": "This collection harvests its content from an external source", - "collection.edit.tabs.source.external": "Šīs kolekcijas saturs tiek iegūts no ārēja avota", - - // "collection.edit.tabs.source.form.errors.oaiSource.required": "You must provide a set id of the target collection.", - "collection.edit.tabs.source.form.errors.oaiSource.required": "Jums ir jānorāda noteikts id no mērķa kolekcijas", - - // "collection.edit.tabs.source.form.harvestType": "Content being harvested", - "collection.edit.tabs.source.form.harvestType": "Saturs tiek iegūts", - - // "collection.edit.tabs.source.form.head": "Configure an external source", - "collection.edit.tabs.source.form.head": "Konfigurēt ārējo avotu", - - // "collection.edit.tabs.source.form.metadataConfigId": "Metadata Format", - "collection.edit.tabs.source.form.metadataConfigId": "Matadatu formāts", - - // "collection.edit.tabs.source.form.oaiSetId": "OAI specific set id", - "collection.edit.tabs.source.form.oaiSetId": "OAI konkrētas kopas id", - - // "collection.edit.tabs.source.form.oaiSource": "OAI Provider", - "collection.edit.tabs.source.form.oaiSource": "OAI Sniedzējs", - - // "collection.edit.tabs.source.form.options.harvestType.METADATA_AND_BITSTREAMS": "Harvest metadata and bitstreams (requires ORE support)", - "collection.edit.tabs.source.form.options.harvestType.METADATA_AND_BITSTREAMS": "Ievākt metadatus un bitu straumes (nepieciešams ORE atbalsts)", - - // "collection.edit.tabs.source.form.options.harvestType.METADATA_AND_REF": "Harvest metadata and references to bitstreams (requires ORE support)", - "collection.edit.tabs.source.form.options.harvestType.METADATA_AND_REF": "Ievākt metadatus un atsauces uz bitu straumēm (requires ORE support)", - - // "collection.edit.tabs.source.form.options.harvestType.METADATA_ONLY": "Harvest metadata only", - "collection.edit.tabs.source.form.options.harvestType.METADATA_ONLY": "Iegūt tikai metadatus", - - // "collection.edit.tabs.source.head": "Content Source", - "collection.edit.tabs.source.head": "Satura Avots", - - // "collection.edit.tabs.source.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", - "collection.edit.tabs.source.notifications.discarded.content": "Jūsu veiktās izmaiņas tika atmestas. Lai atjaunotu izmaiņas, noklikšķiniet uz pogas 'Atsaukt'", - - // "collection.edit.tabs.source.notifications.discarded.title": "Changed discarded", - "collection.edit.tabs.source.notifications.discarded.title": "Mainīts atmests", - - // "collection.edit.tabs.source.notifications.invalid.content": "Your changes were not saved. Please make sure all fields are valid before you save.", - "collection.edit.tabs.source.notifications.invalid.content": "Jūsu veiktās izmaiņas netika saglabātas. Pirms saglabāšanas, lūdzu, pārliecinieties, vai visi lauki ir derīgi.", - - // "collection.edit.tabs.source.notifications.invalid.title": "Metadata invalid", - "collection.edit.tabs.source.notifications.invalid.title": "Metadati nav derīgi", - - // "collection.edit.tabs.source.notifications.saved.content": "Your changes to this collection's content source were saved.", - "collection.edit.tabs.source.notifications.saved.content": "Jūsu veiktās izmaiņas šīs kolekcijas satura avotā tika saglabātas.", - - // "collection.edit.tabs.source.notifications.saved.title": "Content Source saved", - "collection.edit.tabs.source.notifications.saved.title": "Satura avots ir saglabāts", - - // "collection.edit.tabs.source.title": "Collection Edit - Content Source", - "collection.edit.tabs.source.title": "Rediģēt Kolekciju - Satura Avots", - - - - // "collection.form.abstract": "Short Description", - "collection.form.abstract": "Īss apraksts", - - // "collection.form.description": "Introductory text (HTML)", - "collection.form.description": "Ievadteksts (HTML)", - - // "collection.form.errors.title.required": "Please enter a collection name", - "collection.form.errors.title.required": "Lūdzu ievadiet kolekcijas nosaukumu", - - // "collection.form.license": "License", - "collection.form.license": "Licence", - - // "collection.form.provenance": "Provenance", - "collection.form.provenance": "Izcelsmes avots", - - // "collection.form.rights": "Copyright text (HTML)", - "collection.form.rights": "Autortiesību teksts (HTML)", - - // "collection.form.tableofcontents": "News (HTML)", - "collection.form.tableofcontents": "Jaunumi (HTML)", - - // "collection.form.title": "Name", - "collection.form.title": "Nosaukums", - - - - // "collection.page.browse.recent.head": "Recent Submissions", - "collection.page.browse.recent.head": "Nesenie iesniegumi", - - // "collection.page.browse.recent.empty": "No items to show", - "collection.page.browse.recent.empty": "Ieraksti nav atrasti", - - // "collection.page.handle": "Permanent URI for this collection", - "collection.page.handle": "Kolekcijas nemainīgs URI", - - // "collection.page.license": "License", - "collection.page.license": "Licence", - - // "collection.page.news": "News", - "collection.page.news": "Jaunumi", - - - - // "collection.select.confirm": "Confirm selected", - "collection.select.confirm": "Apsitprināt izvēlēto", - - // "collection.select.empty": "No collections to show", - "collection.select.empty": "Kolekcijas nav pieejamas", - - // "collection.select.table.title": "Title", - "collection.select.table.title": "Nosaukums", - - - - // "collection.source.update.notifications.error.content": "The provided settings have been tested and didn't work.", - "collection.source.update.notifications.error.content": "Norādītie iestatījumi ir pārbaudīti un nedarbojas.", - - // "collection.source.update.notifications.error.title": "Server Error", - "collection.source.update.notifications.error.title": "Servera Kļūda", - - - - // "communityList.tabTitle": "DSpace - Community List", - "communityList.tabTitle": "DSpace - Kategoriju Saraksts", - - // "communityList.title": "List of Communities", - "communityList.title": "Kategoriju saraksts", - - // "communityList.showMore": "Show More", - "communityList.showMore": "Rādīt Vairāk", - - - - // "community.create.head": "Create a Community", - "community.create.head": "Izveidot Kategoriju", - - // "community.create.notifications.success": "Successfully created the Community", - "community.create.notifications.success": "Kategorija tika veiksmīgi izveidota", - - // "community.create.sub-head": "Create a Sub-Community for Community {{ parent }}", - "community.create.sub-head": "Izveidot Apakškategorija priekš Kategorijas {{ parent }}", - - // "community.delete.cancel": "Cancel", - "community.delete.cancel": "Atcelt", - - // "community.delete.confirm": "Confirm", - "community.delete.confirm": "Apstiprināt", - - // "community.delete.head": "Delete Community", - "community.delete.head": "Dzēst Kategoriju", - - // "community.delete.notification.fail": "Community could not be deleted", - "community.delete.notification.fail": "Kategriju nav iespējams izdzēst", - - // "community.delete.notification.success": "Successfully deleted community", - "community.delete.notification.success": "Veiksmīgi izdzēsta kategorija", - - // "community.delete.text": "Are you sure you want to delete community \"{{ dso }}\"", - "community.delete.text": "Vai tiešām vēlaties dzēst kategoriju \"{{ dso }}\"", - - // "community.edit.delete": "Delete this community", - "community.edit.delete": "Dzēst šo kategoriju", - - // "community.edit.head": "Edit Community", - "community.edit.head": "Rediģēt Kategoriju", - - // "community.edit.breadcrumbs": "Edit Community", - "community.edit.breadcrumbs": "Rediģēt Kategoriju", - - - // "community.edit.logo.label": "Community logo", - "community.edit.logo.label": "Kategorijas logotips", - - // "community.edit.logo.notifications.add.error": "Uploading Community logo failed. Please verify the content before retrying.", - "community.edit.logo.notifications.add.error": "Kategorijas logotipa augšupielāde neizdevās. Pirms mēģināt vēlreiz, lūdzu, pārbaudiet saturu.", - - // "community.edit.logo.notifications.add.success": "Upload Community logo successful.", - "community.edit.logo.notifications.add.success": "Kategorijas logotipa augšupielāde ir veiksmīga.", - - // "community.edit.logo.notifications.delete.success.title": "Logo deleted", - "community.edit.logo.notifications.delete.success.title": "logotips ir izdzēsts", - - // "community.edit.logo.notifications.delete.success.content": "Successfully deleted the community's logo", - "community.edit.logo.notifications.delete.success.content": "Kategorijas logotips ir veiksmīgi izdzēsts", - - // "community.edit.logo.notifications.delete.error.title": "Error deleting logo", - "community.edit.logo.notifications.delete.error.title": "Izdzēšot logotipu, radās kļūda", - - // "community.edit.logo.upload": "Drop a Community Logo to upload", - "community.edit.logo.upload": "Ievietot Kategorijas logotipu, lai augšupielādētu", - - - - // "community.edit.notifications.success": "Successfully edited the Community", - "community.edit.notifications.success": "Kategorija tika veiksmīgi rediģēta", - - // "community.edit.return": "Return", - "community.edit.return": "Atgriezties", - - - - // "community.edit.tabs.curate.head": "Curate", - "community.edit.tabs.curate.head": "Pārvaldīt", - - // "community.edit.tabs.curate.title": "Community Edit - Curate", - "community.edit.tabs.curate.title": "Rdiģēt Kategoriju - Pārvaldība", - - // "community.edit.tabs.metadata.head": "Edit Metadata", - "community.edit.tabs.metadata.head": "Rediģēt Metadatus", - - // "community.edit.tabs.metadata.title": "Community Edit - Metadata", - "community.edit.tabs.metadata.title": "Rediģēt Kategoriju - Metadati", - - // "community.edit.tabs.roles.head": "Assign Roles", - "community.edit.tabs.roles.head": "Piešķirt Lomas", - - // "community.edit.tabs.roles.title": "Community Edit - Roles", - "community.edit.tabs.roles.title": "Rediģēt Kategorju - Lomas", - - - - // "community.form.abstract": "Short Description", - "community.form.abstract": "Īss apraksts", - - // "community.form.description": "Introductory text (HTML)", - "community.form.description": "Ievadteksts (HTML)", - - // "community.form.errors.title.required": "Please enter a community name", - "community.form.errors.title.required": "Lūdzu ievadiet kategorijas nosaukumu", - - // "community.form.rights": "Copyright text (HTML)", - "community.form.rights": "Autortiesību teksts (HTML)", - - // "community.form.tableofcontents": "News (HTML)", - "community.form.tableofcontents": "Jaunumi (HTML)", - - // "community.form.title": "Name", - "community.form.title": "Nosaukums", - - // "community.page.handle": "Permanent URI for this community", - "community.page.handle": "Kategorijas nemainīgs URI", - - // "community.page.license": "License", - "community.page.license": "Licence", - - // "community.page.news": "News", - "community.page.news": "Jaunumi", - - // "community.all-lists.head": "Subcommunities and Collections", - "community.all-lists.head": "Apakškategorijas un Kolekcijas", - - // "community.sub-collection-list.head": "Collections of this Community", - "community.sub-collection-list.head": "Kolekcijas no šīs kategorijas", - - // "community.sub-community-list.head": "Communities of this Community", - "community.sub-community-list.head": "Šīs kategorijas apakš-kategorijas", - - - - // "dso-selector.create.collection.head": "New collection", - "dso-selector.create.collection.head": "Jauna kolekcija", - - // "dso-selector.create.community.head": "New community", - "dso-selector.create.community.head": "Jauna kategorija", - - // "dso-selector.create.community.sub-level": "Create a new community in", - "dso-selector.create.community.sub-level": "Izveidot jaunu kategroiju iekš", - - // "dso-selector.create.community.top-level": "Create a new top-level community", - "dso-selector.create.community.top-level": "Izveidot jaunu augstākā līmeņa kategoriju", - - // "dso-selector.create.item.head": "New item", - "dso-selector.create.item.head": "Jauns materiāls", - - // "dso-selector.edit.collection.head": "Edit collection", - "dso-selector.edit.collection.head": "Rediģēt kolekciju", - - // "dso-selector.edit.community.head": "Edit community", - "dso-selector.edit.community.head": "Rediģēt kategoriju", - - // "dso-selector.edit.item.head": "Edit item", - "dso-selector.edit.item.head": "Rediģēt matriālu", - - // "dso-selector.no-results": "No {{ type }} found", - "dso-selector.no-results": "Nav atrasts {{ type }}", - - // "dso-selector.placeholder": "Search for a {{ type }}", - "dso-selector.placeholder": "Meklēt {{ type }}", - - - - // "error.bitstream": "Error fetching bitstream", - "error.bitstream": "Radās kļūda, saņemot bitu straumi", - - // "error.browse-by": "Error fetching items", - "error.browse-by": "Materiālu ielasīšanas kļūda", - - // "error.collection": "Error fetching collection", - "error.collection": "Kolekciju ielasīšanas kļūda", - - // "error.collections": "Error fetching collections", - "error.collections": "Kolekciju ielasīšanas kļūda", - - // "error.community": "Error fetching community", - "error.community": "Kategorijas ielasīšanas kļūda", - - // "error.identifier": "No item found for the identifier", - "error.identifier": "Netika atrasti materiāli dotajam identifikatoram", - - // "error.default": "Error", - "error.default": "Kļūda", - - // "error.item": "Error fetching item", - "error.item": "Materiāla ielasīšanas kļūda", - - // "error.items": "Error fetching items", - "error.items": "Materiālu ielasīšanas kļūda", - - // "error.objects": "Error fetching objects", - "error.objects": "Objektu ielasīšanas kļūda", - - // "error.recent-submissions": "Error fetching recent submissions", - "error.recent-submissions": "Neseno iesniegumu ielasīšanas kļūda", - - // "error.search-results": "Error fetching search results", - "error.search-results": "Meklēšanas rezultātu ielasīšanas kļūda", - - // "error.sub-collections": "Error fetching sub-collections", - "error.sub-collections": "Kļūda ielasot apakškolekcijas", - - // "error.sub-communities": "Error fetching sub-communities", - "error.sub-communities": "Apakškategorijas ielasīšanas kļūda", - - // "error.submission.sections.init-form-error": "An error occurred during section initialize, please check your input-form configuration. Details are below :

", - "error.submission.sections.init-form-error": "Sadaļas inicializācijas laikā radās kļūda. Lūdzu, pārbaudiet ievades formas konfigurāciju. Sīkāka informācija ir sniegta zemāk :

", - - // "error.top-level-communities": "Error fetching top-level communities", - "error.top-level-communities": "Kļūda ielasot augstākā līmeņa kategorijas", - - // "error.validation.license.notgranted": "You must grant this license to complete your submission. If you are unable to grant this license at this time you may save your work and return later or remove the submission.", - "error.validation.license.notgranted": "Jums ir jānodrošina šī licence, lai pabeigtu iesniegšanu. Ja šobrīd nevarat piešķirt šo licenci, varat saglabāt savu darbu un atgriezties vēlāk vai noņemt iesniegšanu.", - - // "error.validation.pattern": "This input is restricted by the current pattern: {{ pattern }}.", - "error.validation.pattern": "Šo ievadi ierobežo pašreizējais modelis: {{ pattern }}.", - - // "error.validation.filerequired": "The file upload is mandatory", - "error.validation.filerequired": "Faila augšupielāde ir obligāta", - - - - // "footer.copyright": "copyright © 2002-{{ year }}", - "footer.copyright": "copyright © 2002-{{ year }}", - - // "footer.link.dspace": "DSpace software", - "footer.link.dspace": "DSpace software", - - // "footer.link.duraspace": "DuraSpace", - "footer.link.duraspace": "DuraSpace", - - - // "form.add": "Add", - "form.add": "Pievienot", - - // "form.add-help": "Click here to add the current entry and to add another one", - "form.add-help": "Noklikšķiniet šeit, lai pievienotu tekošo elementu un lai pievienotu vēl vienu", - - // "form.cancel": "Cancel", - "form.cancel": "Atcelt", - - // "form.clear": "Clear", - "form.clear": "Notīrīt", - - // "form.clear-help": "Click here to remove the selected value", - "form.clear-help": "Noklikšķiniet šeit, lai dzēstu atlasīto vērtību", - - // "form.edit": "Edit", - "form.edit": "Rediģēt", - - // "form.edit-help": "Click here to edit the selected value", - "form.edit-help": "Noklikšķiniet šeit, lai rediģēt atlasīto vērtību", - - // "form.first-name": "First name", - "form.first-name": "Vārds", - - // "form.group-collapse": "Collapse", - "form.group-collapse": "Sakļaut", - - // "form.group-collapse-help": "Click here to collapse", - "form.group-collapse-help": "Noklikšķiniet šeit, lai sakļautu", - - // "form.group-expand": "Expand", - "form.group-expand": "Izvērst", - - // "form.group-expand-help": "Click here to expand and add more elements", - "form.group-expand-help": "Noklikšķiniet šeit, lai izvērstu un pievienotu citus elementus", - - // "form.last-name": "Last name", - "form.last-name": "Uzvārds", - - // "form.loading": "Loading...", - "form.loading": "Notiek ielāde...", - - // "form.lookup": "Lookup", - "form.lookup": "Atrast", - - // "form.lookup-help": "Click here to look up an existing relation", - "form.lookup-help": "Noklikšķiniet šeit, lai meklētu esošu saistību", - - // "form.no-results": "No results found", - "form.no-results": "Rezultāti netika atrasti", - - // "form.no-value": "No value entered", - "form.no-value": "Vērtība netika ievadīta", - - // "form.other-information": {}, - "form.other-information": {}, - - // "form.remove": "Remove", - "form.remove": "Dzēst", - - // "form.save": "Save", - "form.save": "Saglabāt", - - // "form.save-help": "Save changes", - "form.save-help": "Saglabāt izmaiņas", - - // "form.search": "Search", - "form.search": "Meklēt", - - // "form.search-help": "Click here to looking for an existing correspondence", - "form.search-help": "Noklikšķiniet šeit, lai meklētu esošu korespondenci", - - // "form.submit": "Submit", - "form.submit": "Iesniegt", - - - - // "home.description": "", - "home.description": "", - - // "home.title": "DSpace Angular :: Home", - "home.title": "DSpace Angular :: Sākums", - - // "home.top-level-communities.head": "Communities in DSpace", - "home.top-level-communities.head": "DSpace Kategorijas", - - // "home.top-level-communities.help": "Select a community to browse its collections.", - "home.top-level-communities.help": "Izvēlieties kategoriju, lai pārlūkotu tās kolekcijas.", - - - - - // "item.bitstreams.upload.bundle": "Bundle", - "item.bitstreams.upload.bundle": "Kopiens", - - // "item.bitstreams.upload.bundle.placeholder": "Select a bundle", - "item.bitstreams.upload.bundle.placeholder": "Izvēlēties kopienu", - - // "item.bitstreams.upload.bundle.new": "Create bundle", - "item.bitstreams.upload.bundle.new": "Izveidot kopienu", - - // "item.bitstreams.upload.bundles.empty": "This item doesn\'t contain any bundles to upload a bitstream to.", - "item.bitstreams.upload.bundles.empty": "Materiālā nav neviena kopiena ko augšupielādēt bitu straumē.", - - // "item.bitstreams.upload.cancel": "Cancel", - "item.bitstreams.upload.cancel": "Atcelt", - - // "item.bitstreams.upload.drop-message": "Drop a file to upload", - "item.bitstreams.upload.drop-message": "Nomest failu augšupielādei", - - // "item.bitstreams.upload.item": "Item: ", - "item.bitstreams.upload.item": "Materiāls: ", - - // "item.bitstreams.upload.notifications.bundle.created.content": "Successfully created new bundle.", - "item.bitstreams.upload.notifications.bundle.created.content": "Veiksmīgi izveidota kopiena.", - - // "item.bitstreams.upload.notifications.bundle.created.title": "Created bundle", - "item.bitstreams.upload.notifications.bundle.created.title": "Izveidot kopienu", - - // "item.bitstreams.upload.notifications.upload.failed": "Upload failed. Please verify the content before retrying.", - "item.bitstreams.upload.notifications.upload.failed": "Augšupielāde neizdevās. Lūdzu pārbaudi saturu pirms mēģini vēlreiz.", - - // "item.bitstreams.upload.title": "Upload bitstream", - "item.bitstreams.upload.title": "Augšupielādēt bitu straumi", - - - - // "item.edit.bitstreams.bundle.edit.buttons.upload": "Upload", - "item.edit.bitstreams.bundle.edit.buttons.upload": "Augšupielādēt", - - // "item.edit.bitstreams.bundle.displaying": "Currently displaying {{ amount }} bitstreams of {{ total }}.", - "item.edit.bitstreams.bundle.displaying": "Šobrīd rāda {{ amount }} bitu straumes no {{ total }}.", - - // "item.edit.bitstreams.bundle.load.all": "Load all ({{ total }})", - "item.edit.bitstreams.bundle.load.all": "Ielādēt visus ({{ total }})", - - // "item.edit.bitstreams.bundle.load.more": "Load more", - "item.edit.bitstreams.bundle.load.more": "Ielādēt vēl", - - // "item.edit.bitstreams.bundle.name": "BUNDLE: {{ name }}", - "item.edit.bitstreams.bundle.name": "KOPIENA: {{ name }}", - - // "item.edit.bitstreams.discard-button": "Discard", - "item.edit.bitstreams.discard-button": "Atsaukt", - - // "item.edit.bitstreams.edit.buttons.download": "Download", - "item.edit.bitstreams.edit.buttons.download": "Lejupielādēt", - - // "item.edit.bitstreams.edit.buttons.drag": "Drag", - "item.edit.bitstreams.edit.buttons.drag": "Vilkt", - - // "item.edit.bitstreams.edit.buttons.edit": "Edit", - "item.edit.bitstreams.edit.buttons.edit": "Rediģēt", - - // "item.edit.bitstreams.edit.buttons.remove": "Remove", - "item.edit.bitstreams.edit.buttons.remove": "Noņemt", - - // "item.edit.bitstreams.edit.buttons.undo": "Undo changes", - "item.edit.bitstreams.edit.buttons.undo": "Atlikt izmaiņas", - - // "item.edit.bitstreams.empty": "This item doesn't contain any bitstreams. Click the upload button to create one.", - "item.edit.bitstreams.empty": "Šis materiāls nesatur bitu straumi. Nospied augšupielādes pogu, lai izveidotu jaunu.", - - // "item.edit.bitstreams.headers.actions": "Actions", - "item.edit.bitstreams.headers.actions": "Darbības", - - // "item.edit.bitstreams.headers.bundle": "Bundle", - "item.edit.bitstreams.headers.bundle": "Kopiena", - - // "item.edit.bitstreams.headers.description": "Description", - "item.edit.bitstreams.headers.description": "Apraksts", - - // "item.edit.bitstreams.headers.format": "Format", - "item.edit.bitstreams.headers.format": "Formāts", - - // "item.edit.bitstreams.headers.name": "Name", - "item.edit.bitstreams.headers.name": "Nosaukums", - - // "item.edit.bitstreams.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", - "item.edit.bitstreams.notifications.discarded.content": "Jūsu veiktās izmaiņas tika atsaukt. Lai atjaunotu izmaiņas, noklikšķiniet uz pogas Atsaukt", - - // "item.edit.bitstreams.notifications.discarded.title": "Changes discarded", - "item.edit.bitstreams.notifications.discarded.title": "Izmaiņas atsauktas", - - // "item.edit.bitstreams.notifications.move.failed.title": "Error moving bitstreams", - "item.edit.bitstreams.notifications.move.failed.title": "Radās kļūda pārvietojot bitu straumi", - - // "item.edit.bitstreams.notifications.move.saved.content": "Your move changes to this item's bitstreams and bundles have been saved.", - "item.edit.bitstreams.notifications.move.saved.content": "Jūsu pārvietošanas izmaiņas materiāla bitu straumē un kopienā ir saglabātas.", - - // "item.edit.bitstreams.notifications.move.saved.title": "Move changes saved", - "item.edit.bitstreams.notifications.move.saved.title": "Pārvietošanas izmaiņas saglabātas", - - // "item.edit.bitstreams.notifications.outdated.content": "The item you're currently working on has been changed by another user. Your current changes are discarded to prevent conflicts", - "item.edit.bitstreams.notifications.outdated.content": "Materiāls, kurā pašlaik strādājat, ir mainījis kāds cits lietotājs. Jūsu pašreizējās izmaiņas tiek atmestas, lai novērstu konfliktus", - - // "item.edit.bitstreams.notifications.outdated.title": "Changes outdated", - "item.edit.bitstreams.notifications.outdated.title": "Novecojušas izmaiņas", - - // "item.edit.bitstreams.notifications.remove.failed.title": "Error deleting bitstream", - "item.edit.bitstreams.notifications.remove.failed.title": "Radās kļūda dzēšot bitu straumi", - - // "item.edit.bitstreams.notifications.remove.saved.content": "Your removal changes to this item's bitstreams have been saved.", - "item.edit.bitstreams.notifications.remove.saved.content": "Jūsu materiāla bitu straumes izņemšanas izmaiņas ir saglabātas.", - - // "item.edit.bitstreams.notifications.remove.saved.title": "Removal changes saved", - "item.edit.bitstreams.notifications.remove.saved.title": "Izņemšanas izmaiņas ir saglabātas", - - // "item.edit.bitstreams.reinstate-button": "Undo", - "item.edit.bitstreams.reinstate-button": "Atlikt", - - // "item.edit.bitstreams.save-button": "Save", - "item.edit.bitstreams.save-button": "Saglabāt", - - // "item.edit.bitstreams.upload-button": "Upload", - "item.edit.bitstreams.upload-button": "Augšupielādēt", - - - - // "item.edit.delete.cancel": "Cancel", - "item.edit.delete.cancel": "Atcelt", - - // "item.edit.delete.confirm": "Delete", - "item.edit.delete.confirm": "Dzēst", - - // "item.edit.delete.description": "Are you sure this item should be completely deleted? Caution: At present, no tombstone would be left.", - "item.edit.delete.description": "Vai esat drošs, ka pilnībā vēlaties izdzēst šo ierakstu? Uzmanību: Ieraksta kopija netiks saglabāta.", - - // "item.edit.delete.error": "An error occurred while deleting the item", - "item.edit.delete.error": "Radās kļūda dzēšot materiālus", - - // "item.edit.delete.header": "Delete item: {{ id }}", - "item.edit.delete.header": "Dzēst materiālu: {{ id }}", - - // "item.edit.delete.success": "The item has been deleted", - "item.edit.delete.success": "Materiāls ir izdzēsts", - - // "item.edit.head": "Edit Item", - "item.edit.head": "Rediģēt Materiālu", - - // "item.edit.breadcrumbs": "Edit Item", - "item.edit.breadcrumbs": "Rediģēt Materiālu", - - - - // "item.edit.item-mapper.buttons.add": "Map item to selected collections", - "item.edit.item-mapper.buttons.add": "Piesaistīt materiālu piesaistītajai kolekcijai", - - // "item.edit.item-mapper.buttons.remove": "Remove item's mapping for selected collections", - "item.edit.item-mapper.buttons.remove": "Dzēst materiālus izvēlētajai kolekcijai", - - // "item.edit.item-mapper.cancel": "Cancel", - "item.edit.item-mapper.cancel": "Atcelt", - - // "item.edit.item-mapper.description": "This is the item mapper tool that allows administrators to map this item to other collections. You can search for collections and map them, or browse the list of collections the item is currently mapped to.", - "item.edit.item-mapper.description": "Šis ir materiālu piesaistīšanas rīks, kas ļauj administratoriem piesaistīt šo materiālu citās kolekcijās. Jūs varat meklēt kolekcijas un piesaistīt tās vai pārlūkot kolekciju sarakstu, uz kuru materiāls pašlaik ir piesaistīts.", - - // "item.edit.item-mapper.head": "Item Mapper - Map Item to Collections", - "item.edit.item-mapper.head": "Materiāla piesaistīšana - Piesaistīt Materiālu Kolekcijai", - - // "item.edit.item-mapper.item": "Item: \"{{name}}\"", - "item.edit.item-mapper.item": "Materiāls: \"{{name}}\"", - - // "item.edit.item-mapper.no-search": "Please enter a query to search", - "item.edit.item-mapper.no-search": "Lūdzu ievadiet vaicājumu, lai meklētu", - - // "item.edit.item-mapper.notifications.add.error.content": "Errors occurred for mapping of item to {{amount}} collections.", - "item.edit.item-mapper.notifications.add.error.content": "Radās kļūda piesaistot materiālus {{amount}} kolekcijai.", - - // "item.edit.item-mapper.notifications.add.error.head": "Mapping errors", - "item.edit.item-mapper.notifications.add.error.head": "Piesaistīšanas kļūdas", - - // "item.edit.item-mapper.notifications.add.success.content": "Successfully mapped item to {{amount}} collections.", - "item.edit.item-mapper.notifications.add.success.content": "Veiksmīgi piesaistīto materiāli {{amount}} kolekcijai.", - - // "item.edit.item-mapper.notifications.add.success.head": "Mapping completed", - "item.edit.item-mapper.notifications.add.success.head": "Piesaistīšana pabeigta", - - // "item.edit.item-mapper.notifications.remove.error.content": "Errors occurred for the removal of the mapping to {{amount}} collections.", - "item.edit.item-mapper.notifications.remove.error.content": "Rādās kļūdas noņemot piesaistes {{amount}} kolekcijām.", - - // "item.edit.item-mapper.notifications.remove.error.head": "Removal of mapping errors", - "item.edit.item-mapper.notifications.remove.error.head": "Piesaistīšanas kļūdu noņemšana", - - // "item.edit.item-mapper.notifications.remove.success.content": "Successfully removed mapping of item to {{amount}} collections.", - "item.edit.item-mapper.notifications.remove.success.content": "Veiksmīgi noņemta materiālu piesaiste {{amount}} kolekcijās.", - - // "item.edit.item-mapper.notifications.remove.success.head": "Removal of mapping completed", - "item.edit.item-mapper.notifications.remove.success.head": "Piesaistes noņemšana ir pabeigta", - - // "item.edit.item-mapper.tabs.browse": "Browse mapped collections", - "item.edit.item-mapper.tabs.browse": "Pārlūkot piesaistīās kolekcijas", - - // "item.edit.item-mapper.tabs.map": "Map new collections", - "item.edit.item-mapper.tabs.map": "Piesaistīt jaunu kolekciju", - - - - // "item.edit.metadata.add-button": "Add", - "item.edit.metadata.add-button": "Pievienot", - - // "item.edit.metadata.discard-button": "Discard", - "item.edit.metadata.discard-button": "Atmest", - - // "item.edit.metadata.edit.buttons.edit": "Edit", - "item.edit.metadata.edit.buttons.edit": "Rediģēt", - - // "item.edit.metadata.edit.buttons.remove": "Remove", - "item.edit.metadata.edit.buttons.remove": "Dzēst", - - // "item.edit.metadata.edit.buttons.undo": "Undo changes", - "item.edit.metadata.edit.buttons.undo": "Atsaukt izmaiņas", - - // "item.edit.metadata.edit.buttons.unedit": "Stop editing", - "item.edit.metadata.edit.buttons.unedit": "Pārtraukt rediģēšanu", - - // "item.edit.metadata.headers.edit": "Edit", - "item.edit.metadata.headers.edit": "Rediģēt", - - // "item.edit.metadata.headers.field": "Field", - "item.edit.metadata.headers.field": "Lauks", - - // "item.edit.metadata.headers.language": "Lang", - "item.edit.metadata.headers.language": "Valoda", - - // "item.edit.metadata.headers.value": "Value", - "item.edit.metadata.headers.value": "Vērtība", - - // "item.edit.metadata.metadatafield.invalid": "Please choose a valid metadata field", - "item.edit.metadata.metadatafield.invalid": "Lūdzu, izvēlieties derīgu metadatu lauku", - - // "item.edit.metadata.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", - "item.edit.metadata.notifications.discarded.content": "Jūsu veiktās izmaiņas tika atmestas. Lai atjaunotu izmaiņas, noklikšķiniet uz pogas 'Atsaukt'", - - // "item.edit.metadata.notifications.discarded.title": "Changed discarded", - "item.edit.metadata.notifications.discarded.title": "Mainīts atmests", - - // "item.edit.metadata.notifications.invalid.content": "Your changes were not saved. Please make sure all fields are valid before you save.", - "item.edit.metadata.notifications.invalid.content": "Jūsu veiktās izmaiņas netika saglabātas. Pirms saglabāšanas, lūdzu, pārliecinieties, vai visi lauki ir derīgi.", - - // "item.edit.metadata.notifications.invalid.title": "Metadata invalid", - "item.edit.metadata.notifications.invalid.title": "Metadati nav derīgi", - - // "item.edit.metadata.notifications.outdated.content": "The item you're currently working on has been changed by another user. Your current changes are discarded to prevent conflicts", - "item.edit.metadata.notifications.outdated.content": "Materiāls, kurā pašlaik strādājat, ir mainījis cits lietotājs. Jūsu pašreizējās izmaiņas tiek atmestas, lai novērstu konfliktus", - - // "item.edit.metadata.notifications.outdated.title": "Changed outdated", - "item.edit.metadata.notifications.outdated.title": "Mainīts novecojis", - - // "item.edit.metadata.notifications.saved.content": "Your changes to this item's metadata were saved.", - "item.edit.metadata.notifications.saved.content": "Jūsu veiktās izmaiņas šī materiāla metadatos tika saglabātas.", - - // "item.edit.metadata.notifications.saved.title": "Metadata saved", - "item.edit.metadata.notifications.saved.title": "Metadati saglabāti", - - // "item.edit.metadata.reinstate-button": "Undo", - "item.edit.metadata.reinstate-button": "Atsaukt", - - // "item.edit.metadata.save-button": "Save", - "item.edit.metadata.save-button": "Saglabāt", - - - - // "item.edit.modify.overview.field": "Field", - "item.edit.modify.overview.field": "Lauks", - - // "item.edit.modify.overview.language": "Language", - "item.edit.modify.overview.language": "Valoda", - - // "item.edit.modify.overview.value": "Value", - "item.edit.modify.overview.value": "Vērtība", - - - - // "item.edit.move.cancel": "Cancel", - "item.edit.move.cancel": "Atcelt", - - // "item.edit.move.description": "Select the collection you wish to move this item to. To narrow down the list of displayed collections, you can enter a search query in the box.", - "item.edit.move.description": "Atlasiet kolekciju, uz kuru vēlaties pārvietot šo materiālu. Lai sašaurinātu parādīto kolekciju sarakstu, lodziņā varat ievadīt meklēšanas vaicājumu.", - - // "item.edit.move.error": "An error occurred when attempting to move the item", - "item.edit.move.error": "Mēģinot pārvietot materiālu, radās kļūda", - - // "item.edit.move.head": "Move item: {{id}}", - "item.edit.move.head": "Pārvietot materiālu: {{id}}", - - // "item.edit.move.inheritpolicies.checkbox": "Inherit policies", - "item.edit.move.inheritpolicies.checkbox": "Mantot nosacījumus", - - // "item.edit.move.inheritpolicies.description": "Inherit the default policies of the destination collection", - "item.edit.move.inheritpolicies.description": "Mantot mērķa kolekcijas noklusējuma politikas", - - // "item.edit.move.move": "Move", - "item.edit.move.move": "Pārvietot", - - // "item.edit.move.processing": "Moving...", - "item.edit.move.processing": "Pārvieto...", - - // "item.edit.move.search.placeholder": "Enter a search query to look for collections", - "item.edit.move.search.placeholder": "Ievadiet meklēšanas vaicājumu, lai meklētu kolekcijas", - - // "item.edit.move.success": "The item has been moved successfully", - "item.edit.move.success": "Materiāls ir veiksmīgi pārvietots", - - // "item.edit.move.title": "Move item", - "item.edit.move.title": "Pārvietot materiālu", - - - - // "item.edit.private.cancel": "Cancel", - "item.edit.private.cancel": "Atcelt", - - // "item.edit.private.confirm": "Make it Private", - "item.edit.private.confirm": "Padarīt privātu", - - // "item.edit.private.description": "Are you sure this item should be made private in the archive?", - "item.edit.private.description": "Vai esat pārliecināts, ka šim materiālam arhīvā jābūt privātam?", - - // "item.edit.private.error": "An error occurred while making the item private", - "item.edit.private.error": "Padarot elementu privātu radās kļūda", - - // "item.edit.private.header": "Make item private: {{ id }}", - "item.edit.private.header": "Padarīt materiālu privātu: {{ id }}", - - // "item.edit.private.success": "The item is now private", - "item.edit.private.success": "Materiāls tagad ir privāts", - - - - // "item.edit.public.cancel": "Cancel", - "item.edit.public.cancel": "Atcelt", - - // "item.edit.public.confirm": "Make it Public", - "item.edit.public.confirm": "Padarīt Publisku", - - // "item.edit.public.description": "Are you sure this item should be made public in the archive?", - "item.edit.public.description": "Vai tiešām vēlaties šo vienumu publiskot arhīvā?", - - // "item.edit.public.error": "An error occurred while making the item public", - "item.edit.public.error": "Padarot elementu publisku radās kļūda", - - // "item.edit.public.header": "Make item public: {{ id }}", - "item.edit.public.header": "Padarīt materiālu publisku: {{ id }}", - - // "item.edit.public.success": "The item is now public", - "item.edit.public.success": "Materiāls tagad ir publisks", - - - - // "item.edit.reinstate.cancel": "Cancel", - "item.edit.reinstate.cancel": "Atcelt", - - // "item.edit.reinstate.confirm": "Reinstate", - "item.edit.reinstate.confirm": "Atjaunot", - - // "item.edit.reinstate.description": "Are you sure this item should be reinstated to the archive?", - "item.edit.reinstate.description": "Vai esat pārliecināts, ka šo materiālu nepieciešams atjaunot arhīvā?", - - // "item.edit.reinstate.error": "An error occurred while reinstating the item", - "item.edit.reinstate.error": "Atjaunot materiālu, radās kļūda", - - // "item.edit.reinstate.header": "Reinstate item: {{ id }}", - "item.edit.reinstate.header": "Atjaunot materiālu: {{ id }}", - - // "item.edit.reinstate.success": "The item was reinstated successfully", - "item.edit.reinstate.success": "Materiāls tika veiksmīgi atjaunots", - - - - // "item.edit.relationships.discard-button": "Discard", - "item.edit.relationships.discard-button": "Atcelt", - - // "item.edit.relationships.edit.buttons.remove": "Remove", - "item.edit.relationships.edit.buttons.remove": "Dzēst", - - // "item.edit.relationships.edit.buttons.undo": "Undo changes", - "item.edit.relationships.edit.buttons.undo": "Atsaukt izmaiņas", - - // "item.edit.relationships.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", - "item.edit.relationships.notifications.discarded.content": "Jūsu veiktās izmaiņas tika atmestas. Lai atjaunotu izmaiņas, noklikšķiniet uz pogas 'Atsaukt'", - - // "item.edit.relationships.notifications.discarded.title": "Changes discarded", - "item.edit.relationships.notifications.discarded.title": "Mainīts atmests", - - // "item.edit.relationships.notifications.failed.title": "Error deleting relationship", - "item.edit.relationships.notifications.failed.title": "Kļūda dzēšot saikni", - - // "item.edit.relationships.notifications.outdated.content": "The item you're currently working on has been changed by another user. Your current changes are discarded to prevent conflicts", - "item.edit.relationships.notifications.outdated.content": "Materiāls, kurā pašlaik strādājat, ir mainījis cits lietotājs. Jūsu pašreizējās izmaiņas tiek atmestas, lai novērstu konfliktus", - - // "item.edit.relationships.notifications.outdated.title": "Changes outdated", - "item.edit.relationships.notifications.outdated.title": "Novecojušas izmaiņas", - - // "item.edit.relationships.notifications.saved.content": "Your changes to this item's relationships were saved.", - "item.edit.relationships.notifications.saved.content": "Jūsu veiktās izmaiņas šī materiāla saiknēs tika saglabātas.", - - // "item.edit.relationships.notifications.saved.title": "Relationships saved", - "item.edit.relationships.notifications.saved.title": "Saiknes saglabātas", - - // "item.edit.relationships.reinstate-button": "Undo", - "item.edit.relationships.reinstate-button": "Atsaukt", - - // "item.edit.relationships.save-button": "Save", - "item.edit.relationships.save-button": "Saglabāt", - - - - // "item.edit.tabs.bitstreams.head": "Bitstreams", - "item.edit.tabs.bitstreams.head": "Bitu straume", - - // "item.edit.tabs.bitstreams.title": "Item Edit - Bitstreams", - "item.edit.tabs.bitstreams.title": "Rediģēt Materiālu - Bitu straumes", - - // "item.edit.tabs.curate.head": "Curate", - "item.edit.tabs.curate.head": "Pārvaldīt", - - // "item.edit.tabs.curate.title": "Item Edit - Curate", - "item.edit.tabs.curate.title": "Rediģēt Materiālu - Pārvaldība", - - // "item.edit.tabs.metadata.head": "Metadata", - "item.edit.tabs.metadata.head": "Metadati", - - // "item.edit.tabs.metadata.title": "Item Edit - Metadata", - "item.edit.tabs.metadata.title": "Rediģēt Materiālu - Metadati", - - // "item.edit.tabs.relationships.head": "Relationships", - "item.edit.tabs.relationships.head": "Attiecības", - - // "item.edit.tabs.relationships.title": "Item Edit - Relationships", - "item.edit.tabs.relationships.title": "Rediģēt Materiālu - Attiecības", - - // "item.edit.tabs.status.buttons.authorizations.button": "Authorizations...", - "item.edit.tabs.status.buttons.authorizations.button": "Tiesības...", - - // "item.edit.tabs.status.buttons.authorizations.label": "Edit item's authorization policies", - "item.edit.tabs.status.buttons.authorizations.label": "Rediģēt materiāla tiesības", - - // "item.edit.tabs.status.buttons.delete.button": "Permanently delete", - "item.edit.tabs.status.buttons.delete.button": "Neatgriezeniski izdzēst", - - // "item.edit.tabs.status.buttons.delete.label": "Completely expunge item", - "item.edit.tabs.status.buttons.delete.label": "Pilnīgi izņemt materiālu", - - // "item.edit.tabs.status.buttons.mappedCollections.button": "Mapped collections", - "item.edit.tabs.status.buttons.mappedCollections.button": "Piesaistītās kolekcijas", - - // "item.edit.tabs.status.buttons.mappedCollections.label": "Manage mapped collections", - "item.edit.tabs.status.buttons.mappedCollections.label": "Pārvaldīt piesaistītās kolekcijas", - - // "item.edit.tabs.status.buttons.move.button": "Move...", - "item.edit.tabs.status.buttons.move.button": "Pārvieto...", - - // "item.edit.tabs.status.buttons.move.label": "Move item to another collection", - "item.edit.tabs.status.buttons.move.label": "Pārvietot materiālu uz citu kolekciju", - - // "item.edit.tabs.status.buttons.private.button": "Make it private...", - "item.edit.tabs.status.buttons.private.button": "Padarīt to privātu...", - - // "item.edit.tabs.status.buttons.private.label": "Make item private", - "item.edit.tabs.status.buttons.private.label": "Padarīt materiālu privātu", - - // "item.edit.tabs.status.buttons.public.button": "Make it public...", - "item.edit.tabs.status.buttons.public.button": "Padarīt to publisku...", - - // "item.edit.tabs.status.buttons.public.label": "Make item public", - "item.edit.tabs.status.buttons.public.label": "Padarīt materiālu publisku", - - // "item.edit.tabs.status.buttons.reinstate.button": "Reinstate...", - "item.edit.tabs.status.buttons.reinstate.button": "Atjaunot...", - - // "item.edit.tabs.status.buttons.reinstate.label": "Reinstate item into the repository", - "item.edit.tabs.status.buttons.reinstate.label": "Atjaunot materiālu repozitorijā", - - // "item.edit.tabs.status.buttons.withdraw.button": "Withdraw...", - "item.edit.tabs.status.buttons.withdraw.button": "Atsaukt...", - - // "item.edit.tabs.status.buttons.withdraw.label": "Withdraw item from the repository", - "item.edit.tabs.status.buttons.withdraw.label": "Izņemiet materiālu no repozitorijas", - - // "item.edit.tabs.status.description": "Welcome to the item management page. From here you can withdraw, reinstate, move or delete the item. You may also update or add new metadata / bitstreams on the other tabs.", - "item.edit.tabs.status.description": "Laipni lūdzam vienumu pārvaldības lapā. Šeit jūs varat materiālu izņemt, atjaunot, pārvietot vai izdzēst. Citās cilnēs varat arī atjaunināt vai pievienot jaunus metadatus / bitu straumes.", - - // "item.edit.tabs.status.head": "Status", - "item.edit.tabs.status.head": "Status", - - // "item.edit.tabs.status.labels.handle": "Handle", - "item.edit.tabs.status.labels.handle": "Apstrāde", - - // "item.edit.tabs.status.labels.id": "Item Internal ID", - "item.edit.tabs.status.labels.id": "Materiāla Iekšējais ID", - - // "item.edit.tabs.status.labels.itemPage": "Item Page", - "item.edit.tabs.status.labels.itemPage": "Materiāla Lapa", - - // "item.edit.tabs.status.labels.lastModified": "Last Modified", - "item.edit.tabs.status.labels.lastModified": "Pēdējo reizi modificēts", - - // "item.edit.tabs.status.title": "Item Edit - Status", - "item.edit.tabs.status.title": "Rediģēt Materiālu - Statuss", - - // "item.edit.tabs.versionhistory.head": "Version History", - "item.edit.tabs.versionhistory.head": "Versiju Vēsture", - - // "item.edit.tabs.versionhistory.title": "Item Edit - Version History", - "item.edit.tabs.versionhistory.title": "Rediģēt Materiālu - Versiju Vēsture", - - // "item.edit.tabs.versionhistory.under-construction": "Editing or adding new versions is not yet possible in this user interface.", - "item.edit.tabs.versionhistory.under-construction": "Šajā lietotāja saskarnē vēl nav iespējams ienākt vai pievienot jaunas versijas.", - - // "item.edit.tabs.view.head": "View Item", - "item.edit.tabs.view.head": "Skatīt Materiālu", - - // "item.edit.tabs.view.title": "Item Edit - View", - "item.edit.tabs.view.title": "Materiāla Rediģēšana - Skats", - - - - // "item.edit.withdraw.cancel": "Cancel", - "item.edit.withdraw.cancel": "Atcelt", - - // "item.edit.withdraw.confirm": "Withdraw", - "item.edit.withdraw.confirm": "Atsaukt", - - // "item.edit.withdraw.description": "Are you sure this item should be withdrawn from the archive?", - "item.edit.withdraw.description": "Vai esat pārliecināts, ka šo materiālu vajadzētu izņemt no arhīva?", - - // "item.edit.withdraw.error": "An error occurred while withdrawing the item", - "item.edit.withdraw.error": "Izņemot materiālu, radās kļūda", - - // "item.edit.withdraw.header": "Withdraw item: {{ id }}", - "item.edit.withdraw.header": "Izņemt materiālu: {{ id }}", - - // "item.edit.withdraw.success": "The item was withdrawn successfully", - "item.edit.withdraw.success": "Materiāls tika veiksmīgi izņemts", - - - - // "item.page.abstract": "Abstract", - "item.page.abstract": "Kopsavilkums", - - // "item.page.author": "Authors", - "item.page.author": "Autori", - - // "item.page.citation": "Citation", - "item.page.citation": "Citēšana", - - // "item.page.collections": "Collections", - "item.page.collections": "Kolekcijas", - - // "item.page.date": "Date", - "item.page.date": "Datums", - - // "item.page.files": "Files", - "item.page.files": "Faili", - - // "item.page.filesection.description": "Description:", - "item.page.filesection.description": "Apraksts:", - - // "item.page.filesection.download": "Download", - "item.page.filesection.download": "Lejupielādēt", - - // "item.page.filesection.format": "Format:", - "item.page.filesection.format": "Formāts:", - - // "item.page.filesection.name": "Name:", - "item.page.filesection.name": "Nosaukums:", - - // "item.page.filesection.size": "Size:", - "item.page.filesection.size": "Izmērs:", - - // "item.page.journal.search.title": "Articles in this journal", - "item.page.journal.search.title": "Raksti šajā žurnālā", - - // "item.page.link.full": "Full item page", - "item.page.link.full": "Pilna materiālu lapa", - - // "item.page.link.simple": "Simple item page", - "item.page.link.simple": "Vienkārša materiālu lapa", - - // "item.page.person.search.title": "Articles by this author", - "item.page.person.search.title": "Šī autora raksti", - - // "item.page.related-items.view-more": "Show {{ amount }} more", - "item.page.related-items.view-more": "Parādīt {{ amount }} vairāk", - - // "item.page.related-items.view-less": "Hide last {{ amount }}", - "item.page.related-items.view-less": "Paslēpt pēdējo {{ amount }}", - - // "item.page.relationships.isAuthorOfPublication": "Publications", - "item.page.relationships.isAuthorOfPublication": "Publikācijas", - - // "item.page.relationships.isJournalOfPublication": "Publications", - "item.page.relationships.isJournalOfPublication": "Publikācijas", - - // "item.page.relationships.isOrgUnitOfPerson": "Authors", - "item.page.relationships.isOrgUnitOfPerson": "Autori", - - // "item.page.relationships.isOrgUnitOfProject": "Research Projects", - "item.page.relationships.isOrgUnitOfProject": "Pētniecības projekti", - - // "item.page.subject": "Keywords", - "item.page.subject": "Atslēgas vārdi", - - // "item.page.uri": "URI", - "item.page.uri": "URI", - - - - // "item.select.confirm": "Confirm selected", - "item.select.confirm": "Apstiprināt izvēlētos", - - // "item.select.empty": "No items to show", - "item.select.empty": "Ieraksti nav atrasti", - - // "item.select.table.author": "Author", - "item.select.table.author": "Autors", - - // "item.select.table.collection": "Collection", - "item.select.table.collection": "Kolekcija", - - // "item.select.table.title": "Title", - "item.select.table.title": "Nosaukums", - - - // "item.version.history.empty": "There are no other versions for this item yet.", - "item.version.history.empty": "Šim materiālam vēl nav citu versiju.", - - // "item.version.history.head": "Version History", - "item.version.history.head": "Versiju Vēsture", - - // "item.version.history.return": "Return", - "item.version.history.return": "Atgriezties", - - // "item.version.history.selected": "Selected version", - "item.version.history.selected": "Izvēlētā versija", - - // "item.version.history.table.version": "Version", - "item.version.history.table.version": "Versija", - - // "item.version.history.table.item": "Item", - "item.version.history.table.item": "Materiāls", - - // "item.version.history.table.editor": "Editor", - "item.version.history.table.editor": "Redaktors", - - // "item.version.history.table.date": "Date", - "item.version.history.table.date": "Datums", - - // "item.version.history.table.summary": "Summary", - "item.version.history.table.summary": "Kopsavilkums", - - - - // "item.version.notice": "This is not the latest version of this item. The latest version can be found here.", - "item.version.notice": "Šī nav jaunākā šī materiāla versija. Jaunāko versiju var atrast here.", - - - - // "journal.listelement.badge": "Journal", - "journal.listelement.badge": "Žurnāls", - - // "journal.page.description": "Description", - "journal.page.description": "Apraksts", - - // "journal.page.editor": "Editor-in-Chief", - "journal.page.editor": "Galvenais Radaktors", - - // "journal.page.issn": "ISSN", - "journal.page.issn": "ISSN", - - // "journal.page.publisher": "Publisher", - "journal.page.publisher": "Izdevējs", - - // "journal.page.titleprefix": "Journal: ", - "journal.page.titleprefix": "Žurnāls: ", - - // "journal.search.results.head": "Journal Search Results", - "journal.search.results.head": "Žurnālu meklēšanas rezultāti", - - // "journal.search.title": "DSpace Angular :: Journal Search", - "journal.search.title": "DSpace Angular :: Žurnālu Meklēšana", - - - - // "journalissue.listelement.badge": "Journal Issue", - "journalissue.listelement.badge": "Žurnāla izdevums", - - // "journalissue.page.description": "Description", - "journalissue.page.description": "Apraksts", - - // "journalissue.page.issuedate": "Issue Date", - "journalissue.page.issuedate": "Izdošanas Datums", - - // "journalissue.page.journal-issn": "Journal ISSN", - "journalissue.page.journal-issn": "Žurnāla ISSN", - - // "journalissue.page.journal-title": "Journal Title", - "journalissue.page.journal-title": "Žurnāla nosaukums", - - // "journalissue.page.keyword": "Keywords", - "journalissue.page.keyword": "Atslēgas vārdi", - - // "journalissue.page.number": "Number", - "journalissue.page.number": "Numurs", - - // "journalissue.page.titleprefix": "Journal Issue: ", - "journalissue.page.titleprefix": "Žurnāla izdevums: ", - - - - // "journalvolume.listelement.badge": "Journal Volume", - "journalvolume.listelement.badge": "Žurnāla sējums", - - // "journalvolume.page.description": "Description", - "journalvolume.page.description": "Apraksts", - - // "journalvolume.page.issuedate": "Issue Date", - "journalvolume.page.issuedate": "Izdošanas Datums", - - // "journalvolume.page.titleprefix": "Journal Volume: ", - "journalvolume.page.titleprefix": "Žurnāla sējums: ", - - // "journalvolume.page.volume": "Volume", - "journalvolume.page.volume": "Sējums", - - - - // "loading.bitstream": "Loading bitstream...", - "loading.bitstream": "Notiek bitu straumes ielāde...", - - // "loading.bitstreams": "Loading bitstreams...", - "loading.bitstreams": "Notiek bitu straumes ielāde...", - - // "loading.browse-by": "Loading items...", - "loading.browse-by": "Notiek materiālu ielāde...", - - // "loading.browse-by-page": "Loading page...", - "loading.browse-by-page": "Notiek lapas ielāde...", - - // "loading.collection": "Loading collection...", - "loading.collection": "Notiek kolekcijas ielāde...", - - // "loading.collections": "Loading collections...", - "loading.collections": "Notiek kolekciju ielāde...", - - // "loading.content-source": "Loading content source...", - "loading.content-source": "Notiek satura avota ielāde...", - - // "loading.community": "Loading community...", - "loading.community": "Notiek kategoriju ielāde...", - - // "loading.default": "Loading...", - "loading.default": "Notiek ielāde...", - - // "loading.item": "Loading item...", - "loading.item": "Notiek materiāla ielāde...", - - // "loading.items": "Loading items...", - "loading.items": "Notiek materiālu ielāde...", - - // "loading.mydspace-results": "Loading items...", - "loading.mydspace-results": "Notiek materiālu ielāde..", - - // "loading.objects": "Loading...", - "loading.objects": "Notiek ielāde...", - - // "loading.recent-submissions": "Loading recent submissions...", - "loading.recent-submissions": "Notiek neseno iesniegumu ielāde...", - - // "loading.search-results": "Loading search results...", - "loading.search-results": "Notiek maklēšanas rezulātu ielāde...", - - // "loading.sub-collections": "Loading sub-collections...", - "loading.sub-collections": "Notiek apakškolekciju ielāde...", - - // "loading.sub-communities": "Loading sub-communities...", - "loading.sub-communities": "Notiek apakškategoriju ielāde...", - - // "loading.top-level-communities": "Loading top-level communities...", - "loading.top-level-communities": "Notiek augstākā līmeņa kategorju ielāde...", - - - - // "login.form.email": "Email address", - "login.form.email": "E-pasta adrese", - - // "login.form.forgot-password": "Have you forgotten your password?", - "login.form.forgot-password": "Vai esat aizmirsis paroli?", - - // "login.form.header": "Please log in to DSpace", - "login.form.header": "Lūdzu pieslēdzieties DSpace", - - // "login.form.new-user": "New user? Click here to register.", - "login.form.new-user": "Jauns lietotājs? Noklikšķiniet šeit, lai reģistrētos.", - - // "login.form.or-divider": "or", - "login.form.or-divider": "vai", - - // "login.form.password": "Password", - "login.form.password": "Parole", - - // "login.form.shibboleth": "Log in with Shibboleth", - "login.form.shibboleth": "Pieslēgties ar Shibboleth", - - // "login.form.submit": "Log in", - "login.form.submit": "Pieslēgties", - - // "login.title": "Login", - "login.title": "Pierakstīties", - - // "login.breadcrumbs": "Login", - "login.breadcrumbs": "Pierakstīties", - - - - // "logout.form.header": "Log out from DSpace", - "logout.form.header": "Izrakstīties no DSpace", - - // "logout.form.submit": "Log out", - "logout.form.submit": "Izrakstīties", - - // "logout.title": "Logout", - "logout.title": "Izrakstīties", - - - - // "menu.header.admin": "Admin", - "menu.header.admin": "Administrators", - - // "menu.header.image.logo": "Repository logo", - "menu.header.image.logo": "Repozitorijas logotips", - - - - // "menu.section.access_control": "Access Control", - "menu.section.access_control": "Piekļuves kontrole", - - // "menu.section.access_control_authorizations": "Authorizations", - "menu.section.access_control_authorizations": "Pilnvaras", - - // "menu.section.access_control_groups": "Groups", - "menu.section.access_control_groups": "Grupas", - - // "menu.section.access_control_people": "People", - "menu.section.access_control_people": "Personas", - - // "menu.section.browse_community": "This Community", - "menu.section.browse_community": "Šī kategorija", - - // "menu.section.browse_community_by_author": "By Author", - "menu.section.browse_community_by_author": "Pēc Autora", - - // "menu.section.browse_community_by_issue_date": "By Issue Date", - "menu.section.browse_community_by_issue_date": "Pēc Izdošanas Datuma", - - // "menu.section.browse_community_by_title": "By Title", - "menu.section.browse_community_by_title": "Pēc Nosaukuma", - - // "menu.section.browse_global": "All of DSpace", - "menu.section.browse_global": "Viss no DSpace", - - // "menu.section.browse_global_by_author": "By Author", - "menu.section.browse_global_by_author": "Pēc Autora", - - // "menu.section.browse_global_by_dateissued": "By Issue Date", - "menu.section.browse_global_by_dateissued": "Pēc Izdošanas Datuma", - - // "menu.section.browse_global_by_subject": "By Subject", - "menu.section.browse_global_by_subject": "Pēc Priekšmeta", - - // "menu.section.browse_global_by_title": "By Title", - "menu.section.browse_global_by_title": "Pēc Nosaukuma", - - // "menu.section.browse_global_communities_and_collections": "Communities & Collections", - "menu.section.browse_global_communities_and_collections": "Kategorijas & Kolekcijas", - - - - // "menu.section.control_panel": "Control Panel", - "menu.section.control_panel": "Vadības Panelis", - - // "menu.section.curation_task": "Curation Task", - "menu.section.curation_task": "Kuratora Uzdevums", - - - - // "menu.section.edit": "Edit", - "menu.section.edit": "Rediģēt", - - // "menu.section.edit_collection": "Collection", - "menu.section.edit_collection": "Kolekcija", - - // "menu.section.edit_community": "Community", - "menu.section.edit_community": "Kategorija", - - // "menu.section.edit_item": "Item", - "menu.section.edit_item": "Materiāls", - - - - // "menu.section.export": "Export", - "menu.section.export": "Eksportēt", - - // "menu.section.export_collection": "Collection", - "menu.section.export_collection": "Kolekcija", - - // "menu.section.export_community": "Community", - "menu.section.export_community": "Kategorija", - - // "menu.section.export_item": "Item", - "menu.section.export_item": "Materiāls", - - // "menu.section.export_metadata": "Metadata", - "menu.section.export_metadata": "Metadati", - - - - // "menu.section.icon.access_control": "Access Control menu section", - "menu.section.icon.access_control": "Piekļuves kontroles izvēlnes sadaļa", - - // "menu.section.icon.admin_search": "Admin search menu section", - "menu.section.icon.admin_search": "Administratoru meklēšanas izvēlnes sadaļa", - - // "menu.section.icon.control_panel": "Control Panel menu section", - "menu.section.icon.control_panel": "Vadības paneļa izvēlnes sadaļa", - - // "menu.section.icon.curation_task": "Curation Task menu section", - "menu.section.icon.curation_task": "Kuratora uzdevumu izvēlnes sadaļa", - - // "menu.section.icon.edit": "Edit menu section", - "menu.section.icon.edit": "Labot izvēlnes sadaļu", - - // "menu.section.icon.export": "Export menu section", - "menu.section.icon.export": "Eksportēt izvēlnes sadaļu", - - // "menu.section.icon.find": "Find menu section", - "menu.section.icon.find": "Atrast izvēlnes sadaļu", - - // "menu.section.icon.import": "Import menu section", - "menu.section.icon.import": "Importēt izvēlnes sadaļa", - - // "menu.section.icon.new": "New menu section", - "menu.section.icon.new": "Jauna izvēlnes sadaļa", - - // "menu.section.icon.pin": "Pin sidebar", - "menu.section.icon.pin": "Piespraust sānjoslu", - - // "menu.section.icon.registries": "Registries menu section", - "menu.section.icon.registries": "Reģistru izvēlnes sadaļa", - - // "menu.section.icon.statistics_task": "Statistics Task menu section", - "menu.section.icon.statistics_task": "Statistkas uzdevumu izvēlnes sadaļa", - - // "menu.section.icon.unpin": "Unpin sidebar", - "menu.section.icon.unpin": "Atspraust sānjoslu", - - - - // "menu.section.import": "Import", - "menu.section.import": "Importēt", - - // "menu.section.import_batch": "Batch Import (ZIP)", - "menu.section.import_batch": "Importēt (ZIP)", - - // "menu.section.import_metadata": "Metadata", - "menu.section.import_metadata": "Metadati", - - - - // "menu.section.new": "New", - "menu.section.new": "Jauns", - - // "menu.section.new_collection": "Collection", - "menu.section.new_collection": "Kolekcija", - - // "menu.section.new_community": "Community", - "menu.section.new_community": "Kategorija", - - // "menu.section.new_item": "Item", - "menu.section.new_item": "Materiāls", - - // "menu.section.new_item_version": "Item Version", - "menu.section.new_item_version": "Materiāla Versija", - - - - // "menu.section.pin": "Pin sidebar", - "menu.section.pin": "Piespraust sānjoslu", - - // "menu.section.unpin": "Unpin sidebar", - "menu.section.unpin": "Atspraust sānjoslu", - - - - "menu.section.processes": "Procesi", - - - - // "menu.section.registries": "Registries", - "menu.section.registries": "Reģistri", - - // "menu.section.registries_format": "Format", - "menu.section.registries_format": "Formāts", - - // "menu.section.registries_metadata": "Metadata", - "menu.section.registries_metadata": "Metadati", - - - - // "menu.section.statistics": "Statistics", - "menu.section.statistics": "Statistika", - - // "menu.section.statistics_task": "Statistics Task", - "menu.section.statistics_task": "Statistikas Uzdevumi", - - - - // "menu.section.toggle.access_control": "Toggle Access Control section", - "menu.section.toggle.access_control": "Pārslēgt Piekļuvas Kontronles sadaļu", - - // "menu.section.toggle.control_panel": "Toggle Control Panel section", - "menu.section.toggle.control_panel": "Pārslēgt Vadības Paneļa sadaļu", - - // "menu.section.toggle.curation_task": "Toggle Curation Task section", - "menu.section.toggle.curation_task": "Pārslēgt Kuratora Uzdevumu sadaļu", - - // "menu.section.toggle.edit": "Toggle Edit section", - "menu.section.toggle.edit": "Pārslēgt Rediģēt sadaļu", - - // "menu.section.toggle.export": "Toggle Export section", - "menu.section.toggle.export": "Pārslēgt Eksportēt sadaļu", - - // "menu.section.toggle.find": "Toggle Find section", - "menu.section.toggle.find": "Pārslēgt Meklēt sadaļu", - - // "menu.section.toggle.import": "Toggle Import section", - "menu.section.toggle.import": "Pārslēgt Importēt sadaļu", - - // "menu.section.toggle.new": "Toggle New section", - "menu.section.toggle.new": "Pārslēgt Jauns sadaļu", - - // "menu.section.toggle.registries": "Toggle Registries section", - "menu.section.toggle.registries": "Pārslēgt Reģistru sadaļu", - - // "menu.section.toggle.statistics_task": "Toggle Statistics Task section", - "menu.section.toggle.statistics_task": "Pārslēgt Statistikas Uzdevumu sadaļu", - - - // "menu.section.workflow": "Administer workflow", - "menu.section.workflow": "Administrēt darba plūsmu", - - - // "mydspace.description": "", - "mydspace.description": "", - - // "mydspace.general.text-here": "HERE", - "mydspace.general.text-here": "ŠEIT", - - // "mydspace.messages.controller-help": "Select this option to send a message to item's submitter.", - "mydspace.messages.controller-help": "Atlasiet šo opciju, lai nosūtītu materiāla objekta iesniedzējam.", - - // "mydspace.messages.description-placeholder": "Insert your message here...", - "mydspace.messages.description-placeholder": "Ievietojiet savu ziņojumu šeit ...", - - // "mydspace.messages.hide-msg": "Hide message", - "mydspace.messages.hide-msg": "Paslēpt ziņojumu", - - // "mydspace.messages.mark-as-read": "Mark as read", - "mydspace.messages.mark-as-read": "Atzīmēt kā lasītu", - - // "mydspace.messages.mark-as-unread": "Mark as unread", - "mydspace.messages.mark-as-unread": "Atzīmēt kā nelasītu", - - // "mydspace.messages.no-content": "No content.", - "mydspace.messages.no-content": "Nav satura.", - - // "mydspace.messages.no-messages": "No messages yet.", - "mydspace.messages.no-messages": "Nav paziņojumu.", - - // "mydspace.messages.send-btn": "Send", - "mydspace.messages.send-btn": "Sūtīt", - - // "mydspace.messages.show-msg": "Show message", - "mydspace.messages.show-msg": "Parādīt ziņu", - - // "mydspace.messages.subject-placeholder": "Subject...", - "mydspace.messages.subject-placeholder": "Priekšmets...", - - // "mydspace.messages.submitter-help": "Select this option to send a message to controller.", - "mydspace.messages.submitter-help": "Atlasiet šo opciju, lai nosūtītu ziņojumu kontrolierim.", - - // "mydspace.messages.title": "Messages", - "mydspace.messages.title": "Vēstules", - - // "mydspace.messages.to": "To", - "mydspace.messages.to": "Uz", - - // "mydspace.new-submission": "New submission", - "mydspace.new-submission": "Jauns iesniegums", - - // "mydspace.results.head": "Your submissions", - "mydspace.results.head": "Jūsu iesniegumi", - - // "mydspace.results.no-abstract": "No Abstract", - "mydspace.results.no-abstract": "Nav Kopsavilkums", - - // "mydspace.results.no-authors": "No Authors", - "mydspace.results.no-authors": "Nav Autoru", - - // "mydspace.results.no-collections": "No Collections", - "mydspace.results.no-collections": "Nav Kolekcijas", - - // "mydspace.results.no-date": "No Date", - "mydspace.results.no-date": "Nav Datuma", - - // "mydspace.results.no-files": "No Files", - "mydspace.results.no-files": "Nav Failu", - - // "mydspace.results.no-results": "There were no items to show", - "mydspace.results.no-results": "Nav materiālu, ko parādīt", - - // "mydspace.results.no-title": "No title", - "mydspace.results.no-title": "Nav Nosaukuma", - - // "mydspace.results.no-uri": "No Uri", - "mydspace.results.no-uri": "Nav Uri", - - // "mydspace.show.workflow": "All tasks", - "mydspace.show.workflow": "Visi uzdevumi", - - // "mydspace.show.workspace": "Your Submissions", - "mydspace.show.workspace": "Jūsu Iesniegumi", - - // "mydspace.status.archived": "Archived", - "mydspace.status.archived": "Arhivēts", - - // "mydspace.status.validation": "Validation", - "mydspace.status.validation": "Validācija", - - // "mydspace.status.waiting-for-controller": "Waiting for controller", - "mydspace.status.waiting-for-controller": "Gaida kontrolieri", - - // "mydspace.status.workflow": "Workflow", - "mydspace.status.workflow": "Darba plūsma", - - // "mydspace.status.workspace": "Workspace", - "mydspace.status.workspace": "Darbavieta", - - // "mydspace.title": "MyDSpace", - "mydspace.title": "Mans DSpace", - - // "mydspace.upload.upload-failed": "Error creating new workspace. Please verify the content uploaded before retry.", - "mydspace.upload.upload-failed": "Veidojot jaunu darbvietu, radās kļūda. Lūdzu pārbaudiet augšupielādēto saturu pirms mēģiniet vēlreiz.", - - // "mydspace.upload.upload-multiple-successful": "{{qty}} new workspace items created.", - "mydspace.upload.upload-multiple-successful": "{{qty}} izveidoti jauni darbvietas materiāli.", - - // "mydspace.upload.upload-successful": "New workspace item created. Click {{here}} for edit it.", - "mydspace.upload.upload-successful": "Ir izveidots jauns darbvietas materiāls. Noklikšķiniet {{here}}, lai to rediģētu.", - - // "mydspace.view-btn": "View", - "mydspace.view-btn": "Skatīt", - - - - // "nav.browse.header": "All of DSpace", - "nav.browse.header": "Viss no DSpace", - - // "nav.community-browse.header": "By Community", - "nav.community-browse.header": "Pēc Kategorijas", - - // "nav.language": "Language switch", - "nav.language": "Valodas maiņa", - - // "nav.login": "Log In", - "nav.login": "Pieslēgties", - - // "nav.logout": "Log Out", - "nav.logout": "Izrakstīties", - - // "nav.mydspace": "MyDSpace", - "nav.mydspace": "Mans DSpace", - - // "nav.profile": "Profile", - "nav.profile": "Profils", - - // "nav.search": "Search", - "nav.search": "Meklēt", - - // "nav.statistics.header": "Statistics", - "nav.statistics.header": "Statistika", - - - - // "orgunit.listelement.badge": "Organizational Unit", - "orgunit.listelement.badge": "Struktūrvienība", - - // "orgunit.page.city": "City", - "orgunit.page.city": "Pilsēta", - - // "orgunit.page.country": "Country", - "orgunit.page.country": "Valsts", - - // "orgunit.page.dateestablished": "Date established", - "orgunit.page.dateestablished": "Dibināšanas datums", - - // "orgunit.page.description": "Description", - "orgunit.page.description": "Apraksts", - - // "orgunit.page.id": "ID", - "orgunit.page.id": "ID", - - // "orgunit.page.titleprefix": "Organizational Unit: ", - "orgunit.page.titleprefix": "Struktūrvienība: ", - - - - // "pagination.results-per-page": "Results Per Page", - "pagination.results-per-page": "Rezultāti vienā lapā", - - // "pagination.showing.detail": "{{ range }} of {{ total }}", - "pagination.showing.detail": "{{ range }} no {{ total }}", - - // "pagination.showing.label": "Now showing ", - "pagination.showing.label": "Tagad rāda ", - - // "pagination.sort-direction": "Sort Options", - "pagination.sort-direction": "Kārtošanas iespējas", - - - - // "person.listelement.badge": "Person", - "person.listelement.badge": "Persona", - - // "person.page.birthdate": "Birth Date", - "person.page.birthdate": "Dzimšanas datums", - - // "person.page.email": "Email Address", - "person.page.email": "E-pasta adrese", - - // "person.page.firstname": "First Name", - "person.page.firstname": "Vārds", - - // "person.page.jobtitle": "Job Title", - "person.page.jobtitle": "Ieņemamais amats", - - // "person.page.lastname": "Last Name", - "person.page.lastname": "Uzvārds", - - // "person.page.link.full": "Show all metadata", - "person.page.link.full": "Parādīt visus metadatus", - - // "person.page.orcid": "ORCID", - "person.page.orcid": "ORCID", - - // "person.page.staffid": "Staff ID", - "person.page.staffid": "Personāla ID", - - // "person.page.titleprefix": "Person: ", - "person.page.titleprefix": "Persona: ", - - // "person.search.results.head": "Person Search Results", - "person.search.results.head": "Personas meklēšanas rezultāti", - - // "person.search.title": "DSpace Angular :: Person Search", - "person.search.title": "DSpace Angular :: Personas Meklēšana", - - - - // "profile.breadcrumbs": "Update Profile", - "profile.breadcrumbs": "Atjaunot Profilu", - - // "profile.card.identify": "Identify", - "profile.card.identify": "Identificēt", - - // "profile.card.security": "Security", - "profile.card.security": "Drošība", - - // "profile.form.submit": "Update Profile", - "profile.form.submit": "Atjaunot Profilu", - - // "profile.groups.head": "Authorization groups you belong to", - "profile.groups.head": "Autorizācijas grupas, kurām jūs piederat", - - // "profile.head": "Update Profile", - "profile.head": "Atjaunot Profilu", - - // "profile.metadata.form.error.firstname.required": "First Name is required", - "profile.metadata.form.error.firstname.required": "Vārds ir nepieciešams", - - // "profile.metadata.form.error.lastname.required": "Last Name is required", - "profile.metadata.form.error.lastname.required": "Uzvārds ir nepieciešams", - - // "profile.metadata.form.label.email": "Email Address", - "profile.metadata.form.label.email": "E-pasta adrese", - - // "profile.metadata.form.label.firstname": "First Name", - "profile.metadata.form.label.firstname": "Vārds", - - // "profile.metadata.form.label.language": "Language", - "profile.metadata.form.label.language": "Valoda", - - // "profile.metadata.form.label.lastname": "Last Name", - "profile.metadata.form.label.lastname": "Uzvārds", - - // "profile.metadata.form.label.phone": "Contact Telephone", - "profile.metadata.form.label.phone": "Kontakttālrunis", - - // "profile.metadata.form.notifications.success.content": "Your changes to the profile were saved.", - "profile.metadata.form.notifications.success.content": "Profila izmaiņas tika saglabātas.", - - // "profile.metadata.form.notifications.success.title": "Profile saved", - "profile.metadata.form.notifications.success.title": "Profils saglabāts", - - // "profile.notifications.warning.no-changes.content": "No changes were made to the Profile.", - "profile.notifications.warning.no-changes.content": "Profilā izmaiņas netika veiktas.", - - // "profile.notifications.warning.no-changes.title": "No changes", - "profile.notifications.warning.no-changes.title": "Bez izmaiņām", - - // "profile.security.form.error.matching-passwords": "The passwords do not match.", - "profile.security.form.error.matching-passwords": "Paroles nesakrīt.", - - // "profile.security.form.error.password-length": "The password should be at least 6 characters long.", - "profile.security.form.error.password-length": "Parolei jābūt vismaz 6 rakstzīmju garai.", - - // "profile.security.form.info": "Optionally, you can enter a new password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", - "profile.security.form.info": "Pēc izvēles zemāk esošajā lodziņā varat ievadīt jaunu paroli un apstiprināt to, atkārtoti ierakstot to otrajā lodziņā. Tam jābūt vismaz sešu rakstzīmju garam.", - - // "profile.security.form.label.password": "Password", - "profile.security.form.label.password": "Parole", - - // "profile.security.form.label.passwordrepeat": "Retype to confirm", - "profile.security.form.label.passwordrepeat": "Atkārtojiet, lai apstiprinātu", - - // "profile.security.form.notifications.success.content": "Your changes to the password were saved.", - "profile.security.form.notifications.success.content": "Jūsu paroles izmaiņas tika saglabātas.", - - // "profile.security.form.notifications.success.title": "Password saved", - "profile.security.form.notifications.success.title": "Parole saglabāta", - - // "profile.security.form.notifications.error.title": "Error changing passwords", - "profile.security.form.notifications.error.title": "Kļūda mainot paroles", - - // "profile.security.form.notifications.error.not-long-enough": "The password has to be at least 6 characters long.", - "profile.security.form.notifications.error.not-long-enough": "Parolei jābūt vismaz 6 rakstzīmju garai.", - - // "profile.security.form.notifications.error.not-same": "The provided passwords are not the same.", - "profile.security.form.notifications.error.not-same": "Norādītās paroles nav vienādas.", - - // "profile.title": "Update Profile", - "profile.title": "Atjaunot profilu", - - - - // "project.listelement.badge": "Research Project", - "project.listelement.badge": "Izpētes projekts", - - // "project.page.contributor": "Contributors", - "project.page.contributor": "Līdzautori", - - // "project.page.description": "Description", - "project.page.description": "Apraksts", - - // "project.page.expectedcompletion": "Expected Completion", - "project.page.expectedcompletion": "Sagaidāmais pabeigšanas datums", - - // "project.page.funder": "Funders", - "project.page.funder": "Izveidotāji", - - // "project.page.id": "ID", - "project.page.id": "ID", - - // "project.page.keyword": "Keywords", - "project.page.keyword": "Atslēgas vārdi", - - // "project.page.status": "Status", - "project.page.status": "Status", - - // "project.page.titleprefix": "Research Project: ", - "project.page.titleprefix": "Izpētes projekts: ", - - // "project.search.results.head": "Project Search Results", - "project.search.results.head": "Projekta meklēšanas rezultāti", - - - - // "publication.listelement.badge": "Publication", - "publication.listelement.badge": "Publikācija", - - // "publication.page.description": "Description", - "publication.page.description": "Apraksts", - - // "publication.page.journal-issn": "Journal ISSN", - "publication.page.journal-issn": "Žurnāla ISSN", - - // "publication.page.journal-title": "Journal Title", - "publication.page.journal-title": "Žurnāla Nosaukums", - - // "publication.page.publisher": "Publisher", - "publication.page.publisher": "Izdevējs", - - // "publication.page.titleprefix": "Publication: ", - "publication.page.titleprefix": "Publikācija: ", - - // "publication.page.volume-title": "Volume Title", - "publication.page.volume-title": "Sējuma Nosaukums", - - // "publication.search.results.head": "Publication Search Results", - "publication.search.results.head": "Publikāciju meklēšanas rezultāti", - - // "publication.search.title": "DSpace Angular :: Publication Search", - "publication.search.title": "DSpace Angular :: Publikācijas meklēšana", - - - - // "relationships.isAuthorOf": "Authors", - "relationships.isAuthorOf": "Autori", - - // "relationships.isIssueOf": "Journal Issues", - "relationships.isIssueOf": "Žurnāla Izdevumi", - - // "relationships.isJournalIssueOf": "Journal Issue", - "relationships.isJournalIssueOf": "Žurnāla Izdevums", - - // "relationships.isJournalOf": "Journals", - "relationships.isJournalOf": "Žurnāli", - - // "relationships.isOrgUnitOf": "Organizational Units", - "relationships.isOrgUnitOf": "Struktūrvienības", - - // "relationships.isPersonOf": "Authors", - "relationships.isPersonOf": "Autori", - - // "relationships.isProjectOf": "Research Projects", - "relationships.isProjectOf": "Pētniecības Projekti", - - // "relationships.isPublicationOf": "Publications", - "relationships.isPublicationOf": "Publikācijas", - - // "relationships.isPublicationOfJournalIssue": "Articles", - "relationships.isPublicationOfJournalIssue": "Raksti", - - // "relationships.isSingleJournalOf": "Journal", - "relationships.isSingleJournalOf": "Žurnāls", - - // "relationships.isSingleVolumeOf": "Journal Volume", - "relationships.isSingleVolumeOf": "Žurnāla Sējums", - - // "relationships.isVolumeOf": "Journal Volumes", - "relationships.isVolumeOf": "Žurnāla Sējums", - - // "relationships.isContributorOf": "Contributors", - "relationships.isContributorOf": "Līdzautori", - - - - // "search.description": "", - "search.description": "", - - // "search.switch-configuration.title": "Show", - "search.switch-configuration.title": "Rādīt", - - // "search.title": "DSpace Angular :: Search", - "search.title": "DSpace Angular :: Meklēt", - - // "search.breadcrumbs": "Search", - "search.breadcrumbs": "Meklēt", - - - // "search.filters.applied.f.author": "Author", - "search.filters.applied.f.author": "Autors", - - // "search.filters.applied.f.dateIssued.max": "End date", - "search.filters.applied.f.dateIssued.max": "Beigu datums", - - // "search.filters.applied.f.dateIssued.min": "Start date", - "search.filters.applied.f.dateIssued.min": "Sākuma datums", - - // "search.filters.applied.f.dateSubmitted": "Date submitted", - "search.filters.applied.f.dateSubmitted": "Iesniegšanas datums", - - // "search.filters.applied.f.discoverable": "Private", - "search.filters.applied.f.discoverable": "Privāts", - - // "search.filters.applied.f.entityType": "Item Type", - "search.filters.applied.f.entityType": "Materiāla tips", - - // "search.filters.applied.f.has_content_in_original_bundle": "Has files", - "search.filters.applied.f.has_content_in_original_bundle": "Ir faili", - - // "search.filters.applied.f.itemtype": "Type", - "search.filters.applied.f.itemtype": "Tips", - - // "search.filters.applied.f.namedresourcetype": "Status", - "search.filters.applied.f.namedresourcetype": "Status", - - // "search.filters.applied.f.subject": "Subject", - "search.filters.applied.f.subject": "Priekšmets", - - // "search.filters.applied.f.submitter": "Submitter", - "search.filters.applied.f.submitter": "Iesniedzējs", - - // "search.filters.applied.f.jobTitle": "Job Title", - "search.filters.applied.f.jobTitle": "Ieņemamais Amats", - - // "search.filters.applied.f.birthDate.max": "End birth date", - "search.filters.applied.f.birthDate.max": "Dzimšanas beigu datums", - - // "search.filters.applied.f.birthDate.min": "Start birth date", - "search.filters.applied.f.birthDate.min": "Dzimšanas sākuma datums", - - // "search.filters.applied.f.withdrawn": "Withdrawn", - "search.filters.applied.f.withdrawn": "Atsaukts", - - - - // "search.filters.filter.author.head": "Author", - "search.filters.filter.author.head": "Autors", - - // "search.filters.filter.author.placeholder": "Author name", - "search.filters.filter.author.placeholder": "Autora vārds", - - // "search.filters.filter.birthDate.head": "Birth Date", - "search.filters.filter.birthDate.head": "Dzimšanas datums", - - // "search.filters.filter.birthDate.placeholder": "Birth Date", - "search.filters.filter.birthDate.placeholder": "Dzimšanas datums", - - // "search.filters.filter.creativeDatePublished.head": "Date Published", - "search.filters.filter.creativeDatePublished.head": "Publicēšanas datums", - - // "search.filters.filter.creativeDatePublished.placeholder": "Date Published", - "search.filters.filter.creativeDatePublished.placeholder": "Publicēšanas datums", - - // "search.filters.filter.creativeWorkEditor.head": "Editor", - "search.filters.filter.creativeWorkEditor.head": "Redaktors", - - // "search.filters.filter.creativeWorkEditor.placeholder": "Editor", - "search.filters.filter.creativeWorkEditor.placeholder": "Redaktors", - - // "search.filters.filter.creativeWorkKeywords.head": "Subject", - "search.filters.filter.creativeWorkKeywords.head": "Priekšmets", - - // "search.filters.filter.creativeWorkKeywords.placeholder": "Subject", - "search.filters.filter.creativeWorkKeywords.placeholder": "Priekšmets", - - // "search.filters.filter.creativeWorkPublisher.head": "Publisher", - "search.filters.filter.creativeWorkPublisher.head": "Izdevējs", - - // "search.filters.filter.creativeWorkPublisher.placeholder": "Publisher", - "search.filters.filter.creativeWorkPublisher.placeholder": "Izdevējs", - - // "search.filters.filter.dateIssued.head": "Date", - "search.filters.filter.dateIssued.head": "Datums", - - // "search.filters.filter.dateIssued.max.placeholder": "Minimum Date", - "search.filters.filter.dateIssued.max.placeholder": "Minimālais datums", - - // "search.filters.filter.dateIssued.min.placeholder": "Maximum Date", - "search.filters.filter.dateIssued.min.placeholder": "Maksimālais datums", - - // "search.filters.filter.dateSubmitted.head": "Date submitted", - "search.filters.filter.dateSubmitted.head": "Iesniegšanas datums", - - // "search.filters.filter.dateSubmitted.placeholder": "Date submitted", - "search.filters.filter.dateSubmitted.placeholder": "Iesniegšanas datums", - - // "search.filters.filter.discoverable.head": "Private", - "search.filters.filter.discoverable.head": "Privāts", - - // "search.filters.filter.withdrawn.head": "Withdrawn", - "search.filters.filter.withdrawn.head": "Atsaukts", - - // "search.filters.filter.entityType.head": "Item Type", - "search.filters.filter.entityType.head": "Materiāla tips", - - // "search.filters.filter.entityType.placeholder": "Item Type", - "search.filters.filter.entityType.placeholder": "Materiāla tips", - - // "search.filters.filter.has_content_in_original_bundle.head": "Has files", - "search.filters.filter.has_content_in_original_bundle.head": "Ir faili", - - // "search.filters.filter.itemtype.head": "Type", - "search.filters.filter.itemtype.head": "Tips", - - // "search.filters.filter.itemtype.placeholder": "Type", - "search.filters.filter.itemtype.placeholder": "Tips", - - // "search.filters.filter.jobTitle.head": "Job Title", - "search.filters.filter.jobTitle.head": "Ieņemamais Amats", - - // "search.filters.filter.jobTitle.placeholder": "Job Title", - "search.filters.filter.jobTitle.placeholder": "Ieņemamais Amats", - - // "search.filters.filter.knowsLanguage.head": "Known language", - "search.filters.filter.knowsLanguage.head": "Pārvalda valodu", - - // "search.filters.filter.knowsLanguage.placeholder": "Known language", - "search.filters.filter.knowsLanguage.placeholder": "Pārvalda valodu", - - // "search.filters.filter.namedresourcetype.head": "Status", - "search.filters.filter.namedresourcetype.head": "Status", - - // "search.filters.filter.namedresourcetype.placeholder": "Status", - "search.filters.filter.namedresourcetype.placeholder": "Status", - - // "search.filters.filter.objectpeople.head": "People", - "search.filters.filter.objectpeople.head": "Personas", - - // "search.filters.filter.objectpeople.placeholder": "People", - "search.filters.filter.objectpeople.placeholder": "Personas", - - // "search.filters.filter.organizationAddressCountry.head": "Country", - "search.filters.filter.organizationAddressCountry.head": "Valsts", - - // "search.filters.filter.organizationAddressCountry.placeholder": "Country", - "search.filters.filter.organizationAddressCountry.placeholder": "Valsts", - - // "search.filters.filter.organizationAddressLocality.head": "City", - "search.filters.filter.organizationAddressLocality.head": "Pilsēta", - - // "search.filters.filter.organizationAddressLocality.placeholder": "City", - "search.filters.filter.organizationAddressLocality.placeholder": "Pilsēta", - - // "search.filters.filter.organizationFoundingDate.head": "Date Founded", - "search.filters.filter.organizationFoundingDate.head": "Dibināšanas datums", - - // "search.filters.filter.organizationFoundingDate.placeholder": "Date Founded", - "search.filters.filter.organizationFoundingDate.placeholder": "Dibināšanas datums", - - // "search.filters.filter.scope.head": "Scope", - "search.filters.filter.scope.head": "Joma", - - // "search.filters.filter.scope.placeholder": "Scope filter", - "search.filters.filter.scope.placeholder": "Jomas filtrs", - - // "search.filters.filter.show-less": "Collapse", - "search.filters.filter.show-less": "Sakļaut", - - // "search.filters.filter.show-more": "Show more", - "search.filters.filter.show-more": "Rādīt vairāk", - - // "search.filters.filter.subject.head": "Subject", - "search.filters.filter.subject.head": "Priekšmets", - - // "search.filters.filter.subject.placeholder": "Subject", - "search.filters.filter.subject.placeholder": "Priekšmets", - - // "search.filters.filter.submitter.head": "Submitter", - "search.filters.filter.submitter.head": "Iesniedzējs", - - // "search.filters.filter.submitter.placeholder": "Submitter", - "search.filters.filter.submitter.placeholder": "Iesniedzējs", - - - - // "search.filters.entityType.JournalIssue": "Journal Issue", - "search.filters.entityType.JournalIssue": "Žurnāla Izdevums", - - // "search.filters.entityType.JournalVolume": "Journal Volume", - "search.filters.entityType.JournalVolume": "Žurnāla Sējum", - - // "search.filters.entityType.OrgUnit": "Organizational Unit", - "search.filters.entityType.OrgUnit": "Struktūrvienība", - - // "search.filters.has_content_in_original_bundle.true": "Yes", - "search.filters.has_content_in_original_bundle.true": "Jā", - - // "search.filters.has_content_in_original_bundle.false": "No", - "search.filters.has_content_in_original_bundle.false": "Nē", - - // "search.filters.discoverable.true": "No", - "search.filters.discoverable.true": "Nē", - - // "search.filters.discoverable.false": "Yes", - "search.filters.discoverable.false": "Jā", - - // "search.filters.withdrawn.true": "Yes", - "search.filters.withdrawn.true": "Jā", - - // "search.filters.withdrawn.false": "No", - "search.filters.withdrawn.false": "Nē", - - - // "search.filters.head": "Filters", - "search.filters.head": "Filtri", - - // "search.filters.reset": "Reset filters", - "search.filters.reset": "Atiestatīt filtrus", - - - - // "search.form.search": "Search", - "search.form.search": "Meklēt", - - // "search.form.search_dspace": "Search DSpace", - "search.form.search_dspace": "Meklēt DSpace", - - // "search.form.search_mydspace": "Search MyDSpace", - "search.form.search_mydspace": "Meklēt manā DSpace", - - - - // "search.results.head": "Search Results", - "search.results.head": "Meklēšanas rezultāti", - - // "search.results.no-results": "Your search returned no results. Having trouble finding what you're looking for? Try putting", - "search.results.no-results": "Rezultāti netika atrasti. Vai jums ir grūtības atrast meklēto? Mēģiniet ievietot", - - // "search.results.no-results-link": "quotes around it", - "search.results.no-results-link": "pēdiņas ap to", - - // "search.results.empty": "Your search returned no results.", - "search.results.empty": "Rezultāti netika atrasti.", - - - - // "search.sidebar.close": "Back to results", - "search.sidebar.close": "Atpakaļ pie rezultātiem", - - // "search.sidebar.filters.title": "Filters", - "search.sidebar.filters.title": "Filtri", - - // "search.sidebar.open": "Search Tools", - "search.sidebar.open": "Meklēšanas Rīki", - - // "search.sidebar.results": "results", - "search.sidebar.results": "rezultāti", - - // "search.sidebar.settings.rpp": "Results per page", - "search.sidebar.settings.rpp": "Rezultāti vienā lapā", - - // "search.sidebar.settings.sort-by": "Sort By", - "search.sidebar.settings.sort-by": "Kārtot Pēc", - - // "search.sidebar.settings.title": "Settings", - "search.sidebar.settings.title": "Iestatījumi", - - - - // "search.view-switch.show-detail": "Show detail", - "search.view-switch.show-detail": "Attēlot detaļas", - - // "search.view-switch.show-grid": "Show as grid", - "search.view-switch.show-grid": "Attēlot matricā", - - // "search.view-switch.show-list": "Show as list", - "search.view-switch.show-list": "Attēlot kā sarakstu", - - - - // "sorting.dc.title.ASC": "Title Ascending", - "sorting.dc.title.ASC": "Nosaukums augošā secībā", - - // "sorting.dc.title.DESC": "Title Descending", - "sorting.dc.title.DESC": "Nosaukums dilstošā secībā", - - // "sorting.score.DESC": "Relevance", - "sorting.score.DESC": "Atbilstība", - - - - // "submission.edit.title": "Edit Submission", - "submission.edit.title": "Rediģēt Iesniegumu", - - // "submission.general.cannot_submit": "You have not the privilege to make a new submission.", - "submission.general.cannot_submit": "Jums nav tiesību iesniegt jaunu iesniegumu.", - - // "submission.general.deposit": "Deposit", - "submission.general.deposit": "Ievietot", - - // "submission.general.discard.confirm.cancel": "Cancel", - "submission.general.discard.confirm.cancel": "Atcelt", - - // "submission.general.discard.confirm.info": "This operation can't be undone. Are you sure?", - "submission.general.discard.confirm.info": "Šo darbību nevar atsaukt. Vai tu esat pārliecināts?", - - // "submission.general.discard.confirm.submit": "Yes, I'm sure", - "submission.general.discard.confirm.submit": "Jā, esmu pārliecināts", - - // "submission.general.discard.confirm.title": "Discard submission", - "submission.general.discard.confirm.title": "Atcelt ievietošanu", - - // "submission.general.discard.submit": "Discard", - "submission.general.discard.submit": "Atcelt", - - // "submission.general.save": "Save", - "submission.general.save": "Saglabāt", - - // "submission.general.save-later": "Save for later", - "submission.general.save-later": "Saglabāt vēlākam", - - - - // "submission.sections.describe.relationship-lookup.close": "Close", - "submission.sections.describe.relationship-lookup.close": "Aizvērt", - - // "submission.sections.describe.relationship-lookup.external-source.added": "Successfully added local entry to the selection", - "submission.sections.describe.relationship-lookup.external-source.added": "Lokālais ieraksts veiksmigi pievienots izvēlei", - - // "submission.sections.describe.relationship-lookup.external-source.import-button-title.Author": "Import remote author", - "submission.sections.describe.relationship-lookup.external-source.import-button-title.Author": "Importēt attālinātu autoru", - - // "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal": "Import remote journal", - "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal": "Importēt attālinātu žurnālu", - - // "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal Issue": "Import remote journal issue", - "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal Issue": "Importēt attālināta žurnāla izdevumu", - - // "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal Volume": "Import remote journal volume", - "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal Volume": "Importēt attālinātā žurnāla sējumu", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.title": "Import Remote Author", - "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.title": "Importēt Attālinātu Autoru", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.added.local-entity": "Successfully added local author to the selection", - "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.added.local-entity": "Lokālais autors ir veiksmīgi pievienots atlasei", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.added.new-entity": "Successfully imported and added external author to the selection", - "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.added.new-entity": "Veiksmīgi importēts un pievienots ārējais autors atlasē", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.authority": "Authority", - "submission.sections.describe.relationship-lookup.external-source.import-modal.authority": "Autoritāte", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.authority.new": "Import as a new local authority entry", - "submission.sections.describe.relationship-lookup.external-source.import-modal.authority.new": "Importēt kā jaunu lokālās autoritātes ierakstu", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.cancel": "Cancel", - "submission.sections.describe.relationship-lookup.external-source.import-modal.cancel": "Atcelt", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.collection": "Select a collection to import new entries to", - "submission.sections.describe.relationship-lookup.external-source.import-modal.collection": "Atlasiet kolekciju, kurā importēt jaunus ierakstus", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.entities": "Entities", - "submission.sections.describe.relationship-lookup.external-source.import-modal.entities": "Vienības", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.entities.new": "Import as a new local entity", - "submission.sections.describe.relationship-lookup.external-source.import-modal.entities.new": "Importēt kā jaunu vietējo vienību", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.lcname": "Importing from LC Name", - "submission.sections.describe.relationship-lookup.external-source.import-modal.head.lcname": "Importē no LC Nosaukuma", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.orcid": "Importing from ORCID", - "submission.sections.describe.relationship-lookup.external-source.import-modal.head.orcid": "Importē no ORCID", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.sherpaJournal": "Importing from Sherpa Journal", - "submission.sections.describe.relationship-lookup.external-source.import-modal.head.sherpaJournal": "Importē no Sherpa Žurnāla", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.sherpaPublisher": "Importing from Sherpa Publisher", - "submission.sections.describe.relationship-lookup.external-source.import-modal.head.sherpaPublisher": "Importēt no Sherpa Izdevēja", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.import": "Import", - "submission.sections.describe.relationship-lookup.external-source.import-modal.import": "Importēt", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal.title": "Import Remote Journal", - "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal.title": "Importēt Attālinātu Žurnālu", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal.added.local-entity": "Successfully added local journal to the selection", - "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal.added.local-entity": "Lokālais žurnāls veiksmīgi pievienots izlasei", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal.added.new-entity": "Successfully imported and added external journal to the selection", - "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal.added.new-entity": "Veiksmīgi importēts un pievienots ārējais žurnāls atlasē", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Issue.title": "Import Remote Journal Issue", - "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Issue.title": "Importēt Attālināta Žurnāla Izdevumu", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Issue.added.local-entity": "Successfully added local journal issue to the selection", - "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Issue.added.local-entity": "Lokālā žurnāla izdevums veiksmīgi pievienots izlasei", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Issue.added.new-entity": "Successfully imported and added external journal issue to the selection", - "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Issue.added.new-entity": "Veiksmīgi importēts un atlasē pievienots ārēja žurnāla izdevums", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Volume.title": "Import Remote Journal Volume", - "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Volume.title": "Importēt Attālinātā Žurnāla Sējumu", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Volume.added.local-entity": "Successfully added local journal volume to the selection", - "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Volume.added.local-entity": "Lokālā žurnāla sējums veiksmīgi pievienots atlasē", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Volume.added.new-entity": "Successfully imported and added external journal volume to the selection", - "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Volume.added.new-entity": "Veiksmīgi importēts un atlasē pievienots ārējā žurnāla sējums", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.select": "Select a local match:", - "submission.sections.describe.relationship-lookup.external-source.import-modal.select": "Atlasīt lokālo sakritību:", - - // "submission.sections.describe.relationship-lookup.search-tab.deselect-all": "Deselect all", - "submission.sections.describe.relationship-lookup.search-tab.deselect-all": "Atcelt izvēli", - - // "submission.sections.describe.relationship-lookup.search-tab.deselect-page": "Deselect page", - "submission.sections.describe.relationship-lookup.search-tab.deselect-page": "Atcelt izvēlēto lapu", - - // "submission.sections.describe.relationship-lookup.search-tab.loading": "Loading...", - "submission.sections.describe.relationship-lookup.search-tab.loading": "Notiek ielāde...", - - // "submission.sections.describe.relationship-lookup.search-tab.placeholder": "Search query", - "submission.sections.describe.relationship-lookup.search-tab.placeholder": "Meklēšanas vaicājums", - - // "submission.sections.describe.relationship-lookup.search-tab.search": "Go", - "submission.sections.describe.relationship-lookup.search-tab.search": "Izpildīt", - - // "submission.sections.describe.relationship-lookup.search-tab.select-all": "Select all", - "submission.sections.describe.relationship-lookup.search-tab.select-all": "Izvēlēties visus", - - // "submission.sections.describe.relationship-lookup.search-tab.select-page": "Select page", - "submission.sections.describe.relationship-lookup.search-tab.select-page": "Izvēlēties lapu", - - // "submission.sections.describe.relationship-lookup.selected": "Selected {{ size }} items", - "submission.sections.describe.relationship-lookup.selected": "Izvēlētie {{ size }} materiāli", - - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Author": "Local Authors ({{ count }})", - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Author": "Vietējie Autori ({{ count }})", - - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal": "Local Journals ({{ count }})", - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal": "Vietējie Žurnāli ({{ count }})", - - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal Issue": "Local Journal Issues ({{ count }})", - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal Issue": "Vietējie Žurnālu Izdevumi ({{ count }})", - - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal Volume": "Local Journal Volumes ({{ count }})", - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal Volume": "Vietējie Žurnālu Sējumi ({{ count }})", - - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaJournal": "Sherpa Journals ({{ count }})", - "submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaJournal": "Sherpa Žurnāli ({{ count }})", - - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaPublisher": "Sherpa Publishers ({{ count }})", - "submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaPublisher": "Sherpa Izdevēji ({{ count }})", - - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.orcid": "ORCID ({{ count }})", - "submission.sections.describe.relationship-lookup.search-tab.tab-title.orcid": "ORCID ({{ count }})", - - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.lcname": "LC Names ({{ count }})", - "submission.sections.describe.relationship-lookup.search-tab.tab-title.lcname": "LC Nosaukumi ({{ count }})", - - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Funding Agency": "Search for Funding Agencies", - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Funding Agency": "Finansēšanas aģentūru meklēšana", - - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Funding": "Search for Funding", - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Funding": "Finansējuma meklēšana", - - // "submission.sections.describe.relationship-lookup.selection-tab.tab-title": "Current Selection ({{ count }})", - "submission.sections.describe.relationship-lookup.selection-tab.tab-title": "Pašreiz Izvēlēti ({{ count }})", - - // "submission.sections.describe.relationship-lookup.title.Journal Issue": "Journal Issues", - "submission.sections.describe.relationship-lookup.title.Journal Issue": "Žurnāla Izdevumi", - - // "submission.sections.describe.relationship-lookup.title.Journal Volume": "Journal Volumes", - "submission.sections.describe.relationship-lookup.title.Journal Volume": "Žurnāla Sējumi", - - // "submission.sections.describe.relationship-lookup.title.Journal": "Journals", - "submission.sections.describe.relationship-lookup.title.Journal": "Žurnāls", - - // "submission.sections.describe.relationship-lookup.title.Author": "Authors", - "submission.sections.describe.relationship-lookup.title.Author": "Autors", - - // "submission.sections.describe.relationship-lookup.title.Funding Agency": "Funding Agency", - "submission.sections.describe.relationship-lookup.title.Funding Agency": "Finansējošā aģēntūra", - - // "submission.sections.describe.relationship-lookup.title.Funding": "Funding", - "submission.sections.describe.relationship-lookup.title.Funding": "Finansējums", - - // "submission.sections.describe.relationship-lookup.search-tab.toggle-dropdown": "Toggle dropdown", - "submission.sections.describe.relationship-lookup.search-tab.toggle-dropdown": "Pārslēgšanas nolaižamā izvēlne", - - // "submission.sections.describe.relationship-lookup.selection-tab.settings": "Settings", - "submission.sections.describe.relationship-lookup.selection-tab.settings": "Iestatījumi", - - // "submission.sections.describe.relationship-lookup.selection-tab.no-selection": "Your selection is currently empty.", - "submission.sections.describe.relationship-lookup.selection-tab.no-selection": "ūsu atlase pašlaik ir tukša.", - - // "submission.sections.describe.relationship-lookup.selection-tab.title.Author": "Selected Authors", - "submission.sections.describe.relationship-lookup.selection-tab.title.Author": "Izvēlētais Autors", - - // "submission.sections.describe.relationship-lookup.selection-tab.title.Journal": "Selected Journals", - "submission.sections.describe.relationship-lookup.selection-tab.title.Journal": "Izvēlētais Žurnāls", - - // "submission.sections.describe.relationship-lookup.selection-tab.title.Journal Volume": "Selected Journal Volume", - "submission.sections.describe.relationship-lookup.selection-tab.title.Journal Volume": "Izvēlētā Žurnāla sējums", - - // "submission.sections.describe.relationship-lookup.selection-tab.title.Journal Issue": "Selected Issue", - "submission.sections.describe.relationship-lookup.selection-tab.title.Journal Issue": "Izvēlētais Izdevums", - - // "submission.sections.describe.relationship-lookup.selection-tab.title.sherpaJournal": "Search Results", - "submission.sections.describe.relationship-lookup.selection-tab.title.sherpaJournal": "Meklēšanas rezultāti", - - // "submission.sections.describe.relationship-lookup.selection-tab.title.sherpaPublisher": "Search Results", - "submission.sections.describe.relationship-lookup.selection-tab.title.sherpaPublisher": "Meklēšanas rezultāti", - - // "submission.sections.describe.relationship-lookup.selection-tab.title.orcid": "Search Results", - "submission.sections.describe.relationship-lookup.selection-tab.title.orcid": "Meklēšanas rezultāti", - - // "submission.sections.describe.relationship-lookup.selection-tab.title.lcname": "Search Results", - "submission.sections.describe.relationship-lookup.selection-tab.title.lcname": "Meklēšanas rezultāti", - - // "submission.sections.describe.relationship-lookup.name-variant.notification.content": "Would you like to save \"{{ value }}\" as a name variant for this person so you and others can reuse it for future submissions? If you don\'t you can still use it for this submission.", - "submission.sections.describe.relationship-lookup.name-variant.notification.content": "Vai vēlaties saglabāt \"{{ value }}\" kā vārda variantu šai personai, lai jūs un citi varētu to izmantot turpmākai iesniegšanai? Ja nē, jūs joprojām varat to izmantot šai iesniegšanai.", - - // "submission.sections.describe.relationship-lookup.name-variant.notification.confirm": "Save a new name variant", - "submission.sections.describe.relationship-lookup.name-variant.notification.confirm": "Saglabājiet jauna nosaukuma variantu", - - // "submission.sections.describe.relationship-lookup.name-variant.notification.decline": "Use only for this submission", - "submission.sections.describe.relationship-lookup.name-variant.notification.decline": "Izmantojiet tikai pašreizējai iesniegšanai", - - // "submission.sections.general.add-more": "Add more", - "submission.sections.general.add-more": "Pievienot vēl", - - // "submission.sections.general.collection": "Collection", - "submission.sections.general.collection": "Kolekcija", - - // "submission.sections.general.deposit_error_notice": "There was an issue when submitting the item, please try again later.", - "submission.sections.general.deposit_error_notice": "Iesniedzot materiālu, radās problēma. Lūdzu, vēlāk mēģiniet vēlreiz.", - - // "submission.sections.general.deposit_success_notice": "Submission deposited successfully.", - "submission.sections.general.deposit_success_notice": "Iesniegums ir veiksmīgi iesniegts.", - - // "submission.sections.general.discard_error_notice": "There was an issue when discarding the item, please try again later.", - "submission.sections.general.discard_error_notice": "Izmetot vienumu, radās kļūda. Lūdzu, vēlāk mēģiniet vēlreiz", - - // "submission.sections.general.discard_success_notice": "Submission discarded successfully.", - "submission.sections.general.discard_success_notice": "Iesniegums atmests.", - - // "submission.sections.general.metadata-extracted": "New metadata have been extracted and added to the {{sectionId}} section.", - "submission.sections.general.metadata-extracted": "Jauni metadati ir iegūti un pievienoti {{sectionId}} sadaļā.", - - // "submission.sections.general.metadata-extracted-new-section": "New {{sectionId}} section has been added to submission.", - "submission.sections.general.metadata-extracted-new-section": "Jauna {{sectionId}} sadaļa ir pievienota iesniegšanai.", - - // "submission.sections.general.no-collection": "No collection found", - "submission.sections.general.no-collection": "Kolekcijas nav atrastas", - - // "submission.sections.general.no-sections": "No options available", - "submission.sections.general.no-sections": "Opcijas nav pieejamas", - - // "submission.sections.general.save_error_notice": "There was an issue when saving the item, please try again later.", - "submission.sections.general.save_error_notice": "Saglabājot materiālu, radās problēma. Lūdzu, vēlāk mēģiniet vēlreiz.", - - // "submission.sections.general.save_success_notice": "Submission saved successfully.", - "submission.sections.general.save_success_notice": "Iesniegums veiksmīgi saglabāts.", - - // "submission.sections.general.search-collection": "Search for a collection", - "submission.sections.general.search-collection": "Meklēt kolekciju", - - // "submission.sections.general.sections_not_valid": "There are incomplete sections.", - "submission.sections.general.sections_not_valid": "Ir nepilnīgas sadaļas.", - - - - // "submission.sections.submit.progressbar.cclicense": "Creative commons license", - "submission.sections.submit.progressbar.cclicense": "Creative commons licence", - - // "submission.sections.submit.progressbar.describe.recycle": "Recycle", - "submission.sections.submit.progressbar.describe.recycle": "Pārstrādāt", - - // "submission.sections.submit.progressbar.describe.stepcustom": "Describe", - "submission.sections.submit.progressbar.describe.stepcustom": "Aprakstiet", - - // "submission.sections.submit.progressbar.describe.stepone": "Describe", - "submission.sections.submit.progressbar.describe.stepone": "Aprakstiet", - - // "submission.sections.submit.progressbar.describe.steptwo": "Describe", - "submission.sections.submit.progressbar.describe.steptwo": "Aprakstiet", - - // "submission.sections.submit.progressbar.detect-duplicate": "Potential duplicates", - "submission.sections.submit.progressbar.detect-duplicate": "Potenciālie dublikāti", - - // "submission.sections.submit.progressbar.license": "Deposit license", - "submission.sections.submit.progressbar.license": "Ievietot licenci", - - // "submission.sections.submit.progressbar.upload": "Upload files", - "submission.sections.submit.progressbar.upload": "Augšupielādēt failus", - - - - // "submission.sections.upload.delete.confirm.cancel": "Cancel", - "submission.sections.upload.delete.confirm.cancel": "Atcelt", - - // "submission.sections.upload.delete.confirm.info": "This operation can't be undone. Are you sure?", - "submission.sections.upload.delete.confirm.info": "Šo darbību nevar atsaukt. Vai tu esi pārliecināts?", - - // "submission.sections.upload.delete.confirm.submit": "Yes, I'm sure", - "submission.sections.upload.delete.confirm.submit": "Jā, esmu pārliecināts", - - // "submission.sections.upload.delete.confirm.title": "Delete bitstream", - "submission.sections.upload.delete.confirm.title": "Dzēst bitu straumes", - - // "submission.sections.upload.delete.submit": "Delete", - "submission.sections.upload.delete.submit": "Dzēst", - - // "submission.sections.upload.drop-message": "Drop files to attach them to the item", - "submission.sections.upload.drop-message": "Ievietojiet failu, lai pievienotu materiālam", - - // "submission.sections.upload.form.access-condition-label": "Access condition type", - "submission.sections.upload.form.access-condition-label": "Piekļuves nosacījuma tips", - - // "submission.sections.upload.form.date-required": "Date is required.", - "submission.sections.upload.form.date-required": "Datums ir nepieciešams.", - - // "submission.sections.upload.form.from-label": "Access grant from", - "submission.sections.upload.form.from-label": "Iespēja izmantot no", - - // "submission.sections.upload.form.from-placeholder": "From", - "submission.sections.upload.form.from-placeholder": "No", - - // "submission.sections.upload.form.group-label": "Group", - "submission.sections.upload.form.group-label": "Grupa", - - // "submission.sections.upload.form.group-required": "Group is required.", - "submission.sections.upload.form.group-required": "Nepieciešama grupa.", - - // "submission.sections.upload.form.until-label": "Access grant until", - "submission.sections.upload.form.until-label": "Piekļuvas atļauja līdz", - - // "submission.sections.upload.form.until-placeholder": "Until", - "submission.sections.upload.form.until-placeholder": "Līdz", - - // "submission.sections.upload.header.policy.default.nolist": "Uploaded files in the {{collectionName}} collection will be accessible according to the following group(s):", - "submission.sections.upload.header.policy.default.nolist": "Augšupielādētie faili kolekcijā {{collectionName}} būs pieejami atbilstoši šīm grupām:", - - // "submission.sections.upload.header.policy.default.withlist": "Please note that uploaded files in the {{collectionName}} collection will be accessible, in addition to what is explicitly decided for the single file, with the following group(s):", - "submission.sections.upload.header.policy.default.withlist": "Lūdzu, ņemiet vērā, ka augšupielādētie faili kolekcijā {{collectionName}} būs pieejami papildus tam, kas ir skaidri noteikts par atsevišķu failu, ar šādām grupām:", - - // "submission.sections.upload.info": "Here you will find all the files currently in the item. You can update the file metadata and access conditions or upload additional files just dragging & dropping them everywhere in the page", - "submission.sections.upload.info": "Šeit atradīsit visus failus, kas pašlaik atrodas materiālā. Varat atjaunināt failu metadatus un piekļuves nosacījumus vai augšupielādēt papildu failus, vienkārši ievelkot un atstājot tos visur lapā", - - // "submission.sections.upload.no-entry": "No", - "submission.sections.upload.no-entry": "Nē", - - // "submission.sections.upload.no-file-uploaded": "No file uploaded yet.", - "submission.sections.upload.no-file-uploaded": "Vēl nav augšupielādēts neviens fails.", - - // "submission.sections.upload.save-metadata": "Save metadata", - "submission.sections.upload.save-metadata": "Saglabāt metadatus", - - // "submission.sections.upload.undo": "Cancel", - "submission.sections.upload.undo": "Atcelt", - - // "submission.sections.upload.upload-failed": "Upload failed", - "submission.sections.upload.upload-failed": "Augšupielāde neizdevās", - - // "submission.sections.upload.upload-successful": "Upload successful", - "submission.sections.upload.upload-successful": "Augšupielāde veiksmīga", - - - - // "submission.submit.title": "Submission", - "submission.submit.title": "Iesniegums", - - - - // "submission.workflow.generic.delete": "Delete", - "submission.workflow.generic.delete": "Dzēst", - - // "submission.workflow.generic.delete-help": "If you would to discard this item, select \"Delete\". You will then be asked to confirm it.", - "submission.workflow.generic.delete-help": "Ja vēlaties atmest šo materiālu izvēlieties \"Dzēst\". Pēc tam jums tiks lūgts to apstiprināt.", - - // "submission.workflow.generic.edit": "Edit", - "submission.workflow.generic.edit": "Rediģēt", - - // "submission.workflow.generic.edit-help": "Select this option to change the item's metadata.", - "submission.workflow.generic.edit-help": "Izvēlieties šo opciju, lai mainītu materiāla metadatus.", - - // "submission.workflow.generic.view": "View", - "submission.workflow.generic.view": "Skatīt", - - // "submission.workflow.generic.view-help": "Select this option to view the item's metadata.", - "submission.workflow.generic.view-help": "Izvēlieties šo opciju, lai skatītu materiāla metadatus.", - - - - // "submission.workflow.tasks.claimed.approve": "Approve", - "submission.workflow.tasks.claimed.approve": "Apstiprināt", - - // "submission.workflow.tasks.claimed.approve_help": "If you have reviewed the item and it is suitable for inclusion in the collection, select \"Approve\".", - "submission.workflow.tasks.claimed.approve_help": "Ja esat pārskatījis materiālu un tas ir piemērots iekļaušanai kolekcijā, atlasiet \"Apstiprināt\".", - - // "submission.workflow.tasks.claimed.edit": "Edit", - "submission.workflow.tasks.claimed.edit": "Rediģēt", - - // "submission.workflow.tasks.claimed.edit_help": "Select this option to change the item's metadata.", - "submission.workflow.tasks.claimed.edit_help": "Izvēlieties šo opciju, lai mainītu materiāla metadatus.", - - // "submission.workflow.tasks.claimed.reject.reason.info": "Please enter your reason for rejecting the submission into the box below, indicating whether the submitter may fix a problem and resubmit.", - "submission.workflow.tasks.claimed.reject.reason.info": "Lūdzu, zemāk esošajā lodziņā ievadiet iesnieguma noraidīšanas iemeslu, norādot, vai iesniedzējs var novērst problēmu un atkārtoti iesniegt.", - - // "submission.workflow.tasks.claimed.reject.reason.placeholder": "Describe the reason of reject", - "submission.workflow.tasks.claimed.reject.reason.placeholder": "Aprakstiet noraidījuma iemeslu", - - // "submission.workflow.tasks.claimed.reject.reason.submit": "Reject item", - "submission.workflow.tasks.claimed.reject.reason.submit": "Noraidīt materiālu", - - // "submission.workflow.tasks.claimed.reject.reason.title": "Reason", - "submission.workflow.tasks.claimed.reject.reason.title": "Iemesls", - - // "submission.workflow.tasks.claimed.reject.submit": "Reject", - "submission.workflow.tasks.claimed.reject.submit": "Noraidīt", - - // "submission.workflow.tasks.claimed.reject_help": "If you have reviewed the item and found it is not suitable for inclusion in the collection, select \"Reject\". You will then be asked to enter a message indicating why the item is unsuitable, and whether the submitter should change something and resubmit.", - "submission.workflow.tasks.claimed.reject_help": "Ja esat pārskatījis vienumu un secinājis, ka tas nav piemērots iekļaušanai kolekcijā, atlasiet \"Noraidīt\". Pēc tam jums tiks lūgts ievadīt ziņojumu, norādot, kāpēc materiāls nav piemērots, un vai iesniedzējam vajadzētu kaut ko mainīt un atkārtoti iesniegt.", - - // "submission.workflow.tasks.claimed.return": "Return to pool", - "submission.workflow.tasks.claimed.return": "Atgriezt kopnē", - - // "submission.workflow.tasks.claimed.return_help": "Return the task to the pool so that another user may perform the task.", - "submission.workflow.tasks.claimed.return_help": "Atgrieziet uzdevumu kopnē, lai uzdevumu varētu veikt cits lietotājs.", - - - - // "submission.workflow.tasks.generic.error": "Error occurred during operation...", - "submission.workflow.tasks.generic.error": "Apstrādes laikā radās kļūda...", - - // "submission.workflow.tasks.generic.processing": "Processing...", - "submission.workflow.tasks.generic.processing": "Apstrāde...", - - // "submission.workflow.tasks.generic.submitter": "Submitter", - "submission.workflow.tasks.generic.submitter": "Iesniedzējs", - - // "submission.workflow.tasks.generic.success": "Operation successful", - "submission.workflow.tasks.generic.success": "Darbībā veiksmīga", - - - - // "submission.workflow.tasks.pool.claim": "Claim", - "submission.workflow.tasks.pool.claim": "Apstrādāt", - - // "submission.workflow.tasks.pool.claim_help": "Assign this task to yourself.", - "submission.workflow.tasks.pool.claim_help": "Piešķirt šo uzdevumu sev.", - - // "submission.workflow.tasks.pool.hide-detail": "Hide detail", - "submission.workflow.tasks.pool.hide-detail": "Paslēpt detaļas", - - // "submission.workflow.tasks.pool.show-detail": "Show detail", - "submission.workflow.tasks.pool.show-detail": "Parādīt detaļas", - - - - // "title": "DSpace", - "title": "DSpace", - - + // "administrativeView.search.results.head": "Administrative Search", "administrativeView.search.results.head": "Administratīvā meklēšana", - + + + + + // "admin.workflow.breadcrumbs": "Administer Workflow", + "admin.workflow.breadcrumbs": "Administrēt darba plūsmu", + + // "admin.workflow.title": "Administer Workflow", + "admin.workflow.title": "Administrēt darba plūsmu", + + // "admin.workflow.item.workflow": "Workflow", + "admin.workflow.item.workflow": "Darba plūsma", + + // "admin.workflow.item.delete": "Delete", + "admin.workflow.item.delete": "Dzēst", + + // "admin.workflow.item.send-back": "Send back", + "admin.workflow.item.send-back": "Sūtīt atpakaļ", + + + + // "admin.metadata-import.breadcrumbs": "Import Metadata", + // TODO New key - Add a translation + "admin.metadata-import.breadcrumbs": "Import Metadata", + + // "admin.metadata-import.title": "Import Metadata", + // TODO New key - Add a translation + "admin.metadata-import.title": "Import Metadata", + + // "admin.metadata-import.page.header": "Import Metadata", + // TODO New key - Add a translation + "admin.metadata-import.page.header": "Import Metadata", + + // "admin.metadata-import.page.help": "You can drop or browse CSV files that contain batch metadata operations on files here", + // TODO New key - Add a translation + "admin.metadata-import.page.help": "You can drop or browse CSV files that contain batch metadata operations on files here", + + // "admin.metadata-import.page.dropMsg": "Drop a metadata CSV to import", + // TODO New key - Add a translation + "admin.metadata-import.page.dropMsg": "Drop a metadata CSV to import", + + // "admin.metadata-import.page.dropMsgReplace": "Drop to replace the metadata CSV to import", + // TODO New key - Add a translation + "admin.metadata-import.page.dropMsgReplace": "Drop to replace the metadata CSV to import", + + // "admin.metadata-import.page.button.return": "Return", + // TODO New key - Add a translation + "admin.metadata-import.page.button.return": "Return", + + // "admin.metadata-import.page.button.proceed": "Proceed", + // TODO New key - Add a translation + "admin.metadata-import.page.button.proceed": "Proceed", + + // "admin.metadata-import.page.error.addFile": "Select file first!", + // TODO New key - Add a translation + "admin.metadata-import.page.error.addFile": "Select file first!", + + + + + // "auth.errors.invalid-user": "Invalid email address or password.", + "auth.errors.invalid-user": "Nepareizs e-pasta adrese vai parole.", + + // "auth.messages.expired": "Your session has expired. Please log in again.", + "auth.messages.expired": "Jūsu sesija ir beigusies. Lūdzu pieslēdzieties vēlreiz", + + + + // "bitstream.edit.bitstream": "Bitstream: ", + "bitstream.edit.bitstream": "Bitu straume: ", + + // "bitstream.edit.form.description.hint": "Optionally, provide a brief description of the file, for example \"Main article\" or \"Experiment data readings\".", + "bitstream.edit.form.description.hint": "Pēc izvēles sniedziet īsu faila aprakstu, piemēram, \"Galvanais raksts\" vai \"Eksperimenta datu nolasījumi\".", + + // "bitstream.edit.form.description.label": "Description", + "bitstream.edit.form.description.label": "Apraksts", + + // "bitstream.edit.form.embargo.hint": "The first day from which access is allowed. This date cannot be modified on this form. To set an embargo date for a bitstream, go to the Item Status tab, click Authorizations..., create or edit the bitstream's READ policy, and set the Start Date as desired.", + "bitstream.edit.form.embargo.hint": "Pirmā diena, no kuras atļauta pieeja. Šai formai nevarēs mainīt datumu. Lai uzstādītu embargo datumu šai bitu straumei, doties uz Materiāla statuss, noklikšķiniet uz Autorizācijas..., izveidot vai rediģēt bitu straumes LASĪT politiku, un uzstādīt Sākuma datumu kā vēlaties.", + + // "bitstream.edit.form.embargo.label": "Embargo until specific date", + "bitstream.edit.form.embargo.label": "Embargo līdz noteiktam datumam", + + // "bitstream.edit.form.fileName.hint": "Change the filename for the bitstream. Note that this will change the display bitstream URL, but old links will still resolve as long as the sequence ID does not change.", + "bitstream.edit.form.fileName.hint": "Mainīt faila nosaukumu bitu straumei. Ņemiet vērā, ka tas mainīs redzamo bitu straumes URL, bet vecās saites joprojām būš pieejamas, kamēr ID secība nemainīsies.", + + // "bitstream.edit.form.fileName.label": "Filename", + "bitstream.edit.form.fileName.label": "Faila nosaukums", + + // "bitstream.edit.form.newFormat.label": "Describe new format", + "bitstream.edit.form.newFormat.label": "Aprakstīt jauno formātu", + + // "bitstream.edit.form.newFormat.hint": "The application you used to create the file, and the version number (for example, \"ACMESoft SuperApp version 1.5\").", + "bitstream.edit.form.newFormat.hint": "Lietojumprogramma, kuru izmantojāt faila izveidošanai, un versijas numurs (piemēram, \" ACMESoft SuperApp versija 1.5 \").", + + // "bitstream.edit.form.primaryBitstream.label": "Primary bitstream", + "bitstream.edit.form.primaryBitstream.label": "Galvenā bitu straume", + + // "bitstream.edit.form.selectedFormat.hint": "If the format is not in the above list, select \"format not in list\" above and describe it under \"Describe new format\".", + "bitstream.edit.form.selectedFormat.hint": "Ja formāts nav iepriekš minētajā sarakstā, atlasiet “formāts, kurš nav sarakstā” iepriekš un aprakstiet to sadaļā “Aprakstīt jauno formātu”.", + + // "bitstream.edit.form.selectedFormat.label": "Selected Format", + "bitstream.edit.form.selectedFormat.label": "Izvēlētais formāts", + + // "bitstream.edit.form.selectedFormat.unknown": "Format not in list", + "bitstream.edit.form.selectedFormat.unknown": "Formāts, kurš nav sarakstā", + + // "bitstream.edit.notifications.error.format.title": "An error occurred saving the bitstream's format", + "bitstream.edit.notifications.error.format.title": "Saglabājot bitu straumes formātu, radās kļūda", + + // "bitstream.edit.notifications.saved.content": "Your changes to this bitstream were saved.", + "bitstream.edit.notifications.saved.content": "Jūsu izmaiņas šajā bitu straumē tika saglabātas.", + + // "bitstream.edit.notifications.saved.title": "Bitstream saved", + "bitstream.edit.notifications.saved.title": "Bitu straume saglabāta", + + // "bitstream.edit.title": "Edit bitstream", + "bitstream.edit.title": "Rediģēt bitu straumi", + + + + // "browse.comcol.by.author": "By Author", + "browse.comcol.by.author": "Pēc Autora", + + // "browse.comcol.by.dateissued": "By Issue Date", + "browse.comcol.by.dateissued": "Pēc Izdošanas Datuma", + + // "browse.comcol.by.subject": "By Subject", + "browse.comcol.by.subject": "Pēc Priekšmeta", + + // "browse.comcol.by.title": "By Title", + "browse.comcol.by.title": "Pēc Nosaukuma", + + // "browse.comcol.head": "Browse", + "browse.comcol.head": "Pārlūkot", + + // "browse.empty": "No items to show.", + "browse.empty": "Ieraksti nav atrasti.", + + // "browse.metadata.author": "Author", + "browse.metadata.author": "Autors", + + // "browse.metadata.dateissued": "Issue Date", + "browse.metadata.dateissued": "Izdošanas datums", + + // "browse.metadata.subject": "Subject", + "browse.metadata.subject": "Priekšmets", + + // "browse.metadata.title": "Title", + "browse.metadata.title": "Nosaukums", + + // "browse.metadata.author.breadcrumbs": "Browse by Author", + "browse.metadata.author.breadcrumbs": "Meklēt pēc Autora", + + // "browse.metadata.dateissued.breadcrumbs": "Browse by Date", + "browse.metadata.dateissued.breadcrumbs": "Meklēt pēc Datuma", + + // "browse.metadata.subject.breadcrumbs": "Browse by Subject", + "browse.metadata.subject.breadcrumbs": "Meklēt pēc Priekšmeta", + + // "browse.metadata.title.breadcrumbs": "Browse by Title", + "browse.metadata.title.breadcrumbs": "Meklēt pēc Nosaukuma", + + // "browse.startsWith.choose_start": "(Choose start)", + "browse.startsWith.choose_start": "(Izvēlieties sākumu)", + + // "browse.startsWith.choose_year": "(Choose year)", + "browse.startsWith.choose_year": "(Izvēlieties gadu)", + + // "browse.startsWith.jump": "Jump to a point in the index:", + "browse.startsWith.jump": "Pāriet uz punktu indeksā:", + + // "browse.startsWith.months.april": "April", + "browse.startsWith.months.april": "Aprīlis", + + // "browse.startsWith.months.august": "August", + "browse.startsWith.months.august": "Augusts", + + // "browse.startsWith.months.december": "December", + "browse.startsWith.months.december": "Decembris", + + // "browse.startsWith.months.february": "February", + "browse.startsWith.months.february": "Februāris", + + // "browse.startsWith.months.january": "January", + "browse.startsWith.months.january": "Janvāris", + + // "browse.startsWith.months.july": "July", + "browse.startsWith.months.july": "Jūlijs", + + // "browse.startsWith.months.june": "June", + "browse.startsWith.months.june": "Jūnijs", + + // "browse.startsWith.months.march": "March", + "browse.startsWith.months.march": "Marts", + + // "browse.startsWith.months.may": "May", + "browse.startsWith.months.may": "Maijs", + + // "browse.startsWith.months.none": "(Choose month)", + "browse.startsWith.months.none": "(Izvēlieties mēnesi)", + + // "browse.startsWith.months.november": "November", + "browse.startsWith.months.november": "Novembris", + + // "browse.startsWith.months.october": "October", + "browse.startsWith.months.october": "Oktobris", + + // "browse.startsWith.months.september": "September", + "browse.startsWith.months.september": "Septembris", + + // "browse.startsWith.submit": "Go", + "browse.startsWith.submit": "Izpildīt", + + // "browse.startsWith.type_date": "Or type in a date (year-month):", + "browse.startsWith.type_date": "Vai ievadiet datumu (gads-mēnesis):", + + // "browse.startsWith.type_text": "Or enter first few letters:", + "browse.startsWith.type_text": "Vai arī ievadiet pirmos burtus:", + + // "browse.title": "Browsing {{ collection }} by {{ field }} {{ value }}", + "browse.title": "Meklē {{ collection }} pēc {{ field }} {{ value }}", + + + // "chips.remove": "Remove chip", + "chips.remove": "Dzēst daļu", + + + + // "collection.create.head": "Create a Collection", + "collection.create.head": "Izveidot Kolekciju", + + // "collection.create.notifications.success": "Successfully created the Collection", + "collection.create.notifications.success": "Kolekcija tika veiksmīgi izveidota", + + // "collection.create.sub-head": "Create a Collection for Community {{ parent }}", + "collection.create.sub-head": "Izveidot Kolekciju priekš Kategorijas {{ parent }}", + + // "collection.curate.header": "Curate Collection: {{collection}}", + // TODO New key - Add a translation + "collection.curate.header": "Curate Collection: {{collection}}", + + // "collection.delete.cancel": "Cancel", + "collection.delete.cancel": "Atcelt", + + // "collection.delete.confirm": "Confirm", + "collection.delete.confirm": "Apstiprināt", + + // "collection.delete.head": "Delete Collection", + "collection.delete.head": "Dzēst Kolekciju", + + // "collection.delete.notification.fail": "Collection could not be deleted", + "collection.delete.notification.fail": "Kolekciju nevar izdzēst", + + // "collection.delete.notification.success": "Successfully deleted collection", + "collection.delete.notification.success": "Kolekcija ir veiksmīgi izdzēsta", + + // "collection.delete.text": "Are you sure you want to delete collection \"{{ dso }}\"", + "collection.delete.text": "Vai esat pārliecināts, ka vēlaties izdzēst kolekciju \"{{ dso }}\"", + + + + // "collection.edit.delete": "Delete this collection", + "collection.edit.delete": "Dzēst šo kolekciju", + + // "collection.edit.head": "Edit Collection", + "collection.edit.head": "Rediģēt Kolekciju", + + // "collection.edit.breadcrumbs": "Edit Collection", + "collection.edit.breadcrumbs": "Rediģēt Kolekciju", + + + + // "collection.edit.tabs.mapper.head": "Item Mapper", + // TODO New key - Add a translation + "collection.edit.tabs.mapper.head": "Item Mapper", + + // "collection.edit.tabs.item-mapper.title": "Collection Edit - Item Mapper", + // TODO New key - Add a translation + "collection.edit.tabs.item-mapper.title": "Collection Edit - Item Mapper", + + // "collection.edit.item-mapper.cancel": "Cancel", + "collection.edit.item-mapper.cancel": "Atcelt", + + // "collection.edit.item-mapper.collection": "Collection: \"{{name}}\"", + "collection.edit.item-mapper.collection": "Kolekcija: \"{{name}}\"", + + // "collection.edit.item-mapper.confirm": "Map selected items", + "collection.edit.item-mapper.confirm": "Piesaistīt izvēlētos materiālus", + + // "collection.edit.item-mapper.description": "This is the item mapper tool that allows collection administrators to map items from other collections into this collection. You can search for items from other collections and map them, or browse the list of currently mapped items.", + "collection.edit.item-mapper.description": "Šis ir materiālu piesaistīšanas rīks, kas kolekciju administratoriem ļauj šajā kolekcijā piesaistīt citu kolekciju materiālus. Jūs varat meklēt materiālus no citām kolekcijām un piesaistīt tos vai pārlūkot pašlaik piesaistīto materiālu sarakstu.", + + // "collection.edit.item-mapper.head": "Item Mapper - Map Items from Other Collections", + "collection.edit.item-mapper.head": "Materiālu piesaistīšana - Materiālu piesaistīšana no citas kolekcijas", + + // "collection.edit.item-mapper.no-search": "Please enter a query to search", + "collection.edit.item-mapper.no-search": "Lūdzu ievadiet vaicājumu,lai meklētu", + + // "collection.edit.item-mapper.notifications.map.error.content": "Errors occurred for mapping of {{amount}} items.", + "collection.edit.item-mapper.notifications.map.error.content": "{{amount}} materiālu piesaistīšanā radās kļūdas.", + + // "collection.edit.item-mapper.notifications.map.error.head": "Mapping errors", + "collection.edit.item-mapper.notifications.map.error.head": "Piesaistīšanas kļūdas", + + // "collection.edit.item-mapper.notifications.map.success.content": "Successfully mapped {{amount}} items.", + "collection.edit.item-mapper.notifications.map.success.content": "Veiksmīgi piesaistīti {{amount}} materiāli.", + + // "collection.edit.item-mapper.notifications.map.success.head": "Mapping completed", + "collection.edit.item-mapper.notifications.map.success.head": "Piesaistīšana pabeigta", + + // "collection.edit.item-mapper.notifications.unmap.error.content": "Errors occurred for removing the mappings of {{amount}} items.", + "collection.edit.item-mapper.notifications.unmap.error.content": "Noņemot piesaistītos materiālus {{amount}}, radās kļūda.", + + // "collection.edit.item-mapper.notifications.unmap.error.head": "Remove mapping errors", + "collection.edit.item-mapper.notifications.unmap.error.head": "Dzēst piesaistes kļūdas", + + // "collection.edit.item-mapper.notifications.unmap.success.content": "Successfully removed the mappings of {{amount}} items.", + "collection.edit.item-mapper.notifications.unmap.success.content": "Veiksmīgi dzēsta piesaiste {{amount}} materiāliem.", + + // "collection.edit.item-mapper.notifications.unmap.success.head": "Remove mapping completed", + "collection.edit.item-mapper.notifications.unmap.success.head": "Piesaistes dzēšana izpildīta", + + // "collection.edit.item-mapper.remove": "Remove selected item mappings", + "collection.edit.item-mapper.remove": "Dzēst izvēlēto materiālu piesaistes", + + // "collection.edit.item-mapper.tabs.browse": "Browse mapped items", + "collection.edit.item-mapper.tabs.browse": "Pārlūkot piesaistītos materiālus", + + // "collection.edit.item-mapper.tabs.map": "Map new items", + "collection.edit.item-mapper.tabs.map": "Piesaistīt jaunus materiālus", + + + + // "collection.edit.logo.label": "Collection logo", + "collection.edit.logo.label": "Kolekcijas logotips", + + // "collection.edit.logo.notifications.add.error": "Uploading Collection logo failed. Please verify the content before retrying.", + "collection.edit.logo.notifications.add.error": "Kolekcijas logotipa augšupielāde neizdevās. Pirms mēģināt vēlreiz, lūdzu, pārbaudiet saturu.", + + // "collection.edit.logo.notifications.add.success": "Upload Collection logo successful.", + "collection.edit.logo.notifications.add.success": "Kolekcijas logotipa augšupielāde ir veiksmīga.", + + // "collection.edit.logo.notifications.delete.success.title": "Logo deleted", + "collection.edit.logo.notifications.delete.success.title": "Logotips dzēsts", + + // "collection.edit.logo.notifications.delete.success.content": "Successfully deleted the collection's logo", + "collection.edit.logo.notifications.delete.success.content": "Kolekcijas logotips ir veiksmīgi izdzēsts", + + // "collection.edit.logo.notifications.delete.error.title": "Error deleting logo", + "collection.edit.logo.notifications.delete.error.title": "Kļūda dzēšot logotopu", + + // "collection.edit.logo.upload": "Drop a Collection Logo to upload", + "collection.edit.logo.upload": "Ievietot Kolekcijas logotipu, lai augšupielādētu", + + + + // "collection.edit.notifications.success": "Successfully edited the Collection", + "collection.edit.notifications.success": "Kolekcija ir veiksmīgi rediģēta", + + // "collection.edit.return": "Return", + "collection.edit.return": "Atgriezties", + + + + // "collection.edit.tabs.curate.head": "Curate", + "collection.edit.tabs.curate.head": "Pārvaldīt", + + // "collection.edit.tabs.curate.title": "Collection Edit - Curate", + "collection.edit.tabs.curate.title": "Rediģēt kolekciju - Pārvaldība", + + // "collection.edit.tabs.authorizations.head": "Authorizations", + // TODO New key - Add a translation + "collection.edit.tabs.authorizations.head": "Authorizations", + + // "collection.edit.tabs.authorizations.title": "Collection Edit - Authorizations", + // TODO New key - Add a translation + "collection.edit.tabs.authorizations.title": "Collection Edit - Authorizations", + + // "collection.edit.tabs.metadata.head": "Edit Metadata", + "collection.edit.tabs.metadata.head": "Rediģēt Metadatus", + + // "collection.edit.tabs.metadata.title": "Collection Edit - Metadata", + "collection.edit.tabs.metadata.title": "Rediģēt Kolekciju - Metadati", + + // "collection.edit.tabs.roles.head": "Assign Roles", + "collection.edit.tabs.roles.head": "Piešķirt Lomu", + + // "collection.edit.tabs.roles.title": "Collection Edit - Roles", + "collection.edit.tabs.roles.title": "Rediģēt Kolekciju - Lomas", + + // "collection.edit.tabs.source.external": "This collection harvests its content from an external source", + "collection.edit.tabs.source.external": "Šīs kolekcijas saturs tiek iegūts no ārēja avota", + + // "collection.edit.tabs.source.form.errors.oaiSource.required": "You must provide a set id of the target collection.", + "collection.edit.tabs.source.form.errors.oaiSource.required": "Jums ir jānorāda noteikts id no mērķa kolekcijas", + + // "collection.edit.tabs.source.form.harvestType": "Content being harvested", + "collection.edit.tabs.source.form.harvestType": "Saturs tiek iegūts", + + // "collection.edit.tabs.source.form.head": "Configure an external source", + "collection.edit.tabs.source.form.head": "Konfigurēt ārējo avotu", + + // "collection.edit.tabs.source.form.metadataConfigId": "Metadata Format", + "collection.edit.tabs.source.form.metadataConfigId": "Matadatu formāts", + + // "collection.edit.tabs.source.form.oaiSetId": "OAI specific set id", + "collection.edit.tabs.source.form.oaiSetId": "OAI konkrētas kopas id", + + // "collection.edit.tabs.source.form.oaiSource": "OAI Provider", + "collection.edit.tabs.source.form.oaiSource": "OAI Sniedzējs", + + // "collection.edit.tabs.source.form.options.harvestType.METADATA_AND_BITSTREAMS": "Harvest metadata and bitstreams (requires ORE support)", + "collection.edit.tabs.source.form.options.harvestType.METADATA_AND_BITSTREAMS": "Ievākt metadatus un bitu straumes (nepieciešams ORE atbalsts)", + + // "collection.edit.tabs.source.form.options.harvestType.METADATA_AND_REF": "Harvest metadata and references to bitstreams (requires ORE support)", + "collection.edit.tabs.source.form.options.harvestType.METADATA_AND_REF": "Ievākt metadatus un atsauces uz bitu straumēm (requires ORE support)", + + // "collection.edit.tabs.source.form.options.harvestType.METADATA_ONLY": "Harvest metadata only", + "collection.edit.tabs.source.form.options.harvestType.METADATA_ONLY": "Iegūt tikai metadatus", + + // "collection.edit.tabs.source.head": "Content Source", + "collection.edit.tabs.source.head": "Satura Avots", + + // "collection.edit.tabs.source.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", + "collection.edit.tabs.source.notifications.discarded.content": "Jūsu veiktās izmaiņas tika atmestas. Lai atjaunotu izmaiņas, noklikšķiniet uz pogas 'Atsaukt'", + + // "collection.edit.tabs.source.notifications.discarded.title": "Changed discarded", + "collection.edit.tabs.source.notifications.discarded.title": "Mainīts atmests", + + // "collection.edit.tabs.source.notifications.invalid.content": "Your changes were not saved. Please make sure all fields are valid before you save.", + "collection.edit.tabs.source.notifications.invalid.content": "Jūsu veiktās izmaiņas netika saglabātas. Pirms saglabāšanas, lūdzu, pārliecinieties, vai visi lauki ir derīgi.", + + // "collection.edit.tabs.source.notifications.invalid.title": "Metadata invalid", + "collection.edit.tabs.source.notifications.invalid.title": "Metadati nav derīgi", + + // "collection.edit.tabs.source.notifications.saved.content": "Your changes to this collection's content source were saved.", + "collection.edit.tabs.source.notifications.saved.content": "Jūsu veiktās izmaiņas šīs kolekcijas satura avotā tika saglabātas.", + + // "collection.edit.tabs.source.notifications.saved.title": "Content Source saved", + "collection.edit.tabs.source.notifications.saved.title": "Satura avots ir saglabāts", + + // "collection.edit.tabs.source.title": "Collection Edit - Content Source", + "collection.edit.tabs.source.title": "Rediģēt Kolekciju - Satura Avots", + + + + // "collection.edit.template.add-button": "Add", + // TODO New key - Add a translation + "collection.edit.template.add-button": "Add", + + // "collection.edit.template.breadcrumbs": "Item template", + // TODO New key - Add a translation + "collection.edit.template.breadcrumbs": "Item template", + + // "collection.edit.template.cancel": "Cancel", + // TODO New key - Add a translation + "collection.edit.template.cancel": "Cancel", + + // "collection.edit.template.delete-button": "Delete", + // TODO New key - Add a translation + "collection.edit.template.delete-button": "Delete", + + // "collection.edit.template.edit-button": "Edit", + // TODO New key - Add a translation + "collection.edit.template.edit-button": "Edit", + + // "collection.edit.template.head": "Edit Template Item for Collection \"{{ collection }}\"", + // TODO New key - Add a translation + "collection.edit.template.head": "Edit Template Item for Collection \"{{ collection }}\"", + + // "collection.edit.template.label": "Template item", + // TODO New key - Add a translation + "collection.edit.template.label": "Template item", + + // "collection.edit.template.notifications.delete.error": "Failed to delete the item template", + // TODO New key - Add a translation + "collection.edit.template.notifications.delete.error": "Failed to delete the item template", + + // "collection.edit.template.notifications.delete.success": "Successfully deleted the item template", + // TODO New key - Add a translation + "collection.edit.template.notifications.delete.success": "Successfully deleted the item template", + + // "collection.edit.template.title": "Edit Template Item", + // TODO New key - Add a translation + "collection.edit.template.title": "Edit Template Item", + + + + // "collection.form.abstract": "Short Description", + "collection.form.abstract": "Īss apraksts", + + // "collection.form.description": "Introductory text (HTML)", + "collection.form.description": "Ievadteksts (HTML)", + + // "collection.form.errors.title.required": "Please enter a collection name", + "collection.form.errors.title.required": "Lūdzu ievadiet kolekcijas nosaukumu", + + // "collection.form.license": "License", + "collection.form.license": "Licence", + + // "collection.form.provenance": "Provenance", + "collection.form.provenance": "Izcelsmes avots", + + // "collection.form.rights": "Copyright text (HTML)", + "collection.form.rights": "Autortiesību teksts (HTML)", + + // "collection.form.tableofcontents": "News (HTML)", + "collection.form.tableofcontents": "Jaunumi (HTML)", + + // "collection.form.title": "Name", + "collection.form.title": "Nosaukums", + + + + // "collection.listelement.badge": "Collection", + // TODO New key - Add a translation + "collection.listelement.badge": "Collection", + + + + // "collection.page.browse.recent.head": "Recent Submissions", + "collection.page.browse.recent.head": "Nesenie iesniegumi", + + // "collection.page.browse.recent.empty": "No items to show", + "collection.page.browse.recent.empty": "Ieraksti nav atrasti", + + // "collection.page.edit": "Edit this collection", + // TODO New key - Add a translation + "collection.page.edit": "Edit this collection", + + // "collection.page.handle": "Permanent URI for this collection", + "collection.page.handle": "Kolekcijas nemainīgs URI", + + // "collection.page.license": "License", + "collection.page.license": "Licence", + + // "collection.page.news": "News", + "collection.page.news": "Jaunumi", + + + + // "collection.select.confirm": "Confirm selected", + "collection.select.confirm": "Apsitprināt izvēlēto", + + // "collection.select.empty": "No collections to show", + "collection.select.empty": "Kolekcijas nav pieejamas", + + // "collection.select.table.title": "Title", + "collection.select.table.title": "Nosaukums", + + + + // "collection.source.update.notifications.error.content": "The provided settings have been tested and didn't work.", + "collection.source.update.notifications.error.content": "Norādītie iestatījumi ir pārbaudīti un nedarbojas.", + + // "collection.source.update.notifications.error.title": "Server Error", + "collection.source.update.notifications.error.title": "Servera Kļūda", + + + + // "communityList.tabTitle": "DSpace - Community List", + "communityList.tabTitle": "DSpace - Kategoriju Saraksts", + + // "communityList.title": "List of Communities", + "communityList.title": "Kategoriju saraksts", + + // "communityList.showMore": "Show More", + "communityList.showMore": "Rādīt Vairāk", + + + + // "community.create.head": "Create a Community", + "community.create.head": "Izveidot Kategoriju", + + // "community.create.notifications.success": "Successfully created the Community", + "community.create.notifications.success": "Kategorija tika veiksmīgi izveidota", + + // "community.create.sub-head": "Create a Sub-Community for Community {{ parent }}", + "community.create.sub-head": "Izveidot Apakškategorija priekš Kategorijas {{ parent }}", + + // "community.curate.header": "Curate Community: {{community}}", + // TODO New key - Add a translation + "community.curate.header": "Curate Community: {{community}}", + + // "community.delete.cancel": "Cancel", + "community.delete.cancel": "Atcelt", + + // "community.delete.confirm": "Confirm", + "community.delete.confirm": "Apstiprināt", + + // "community.delete.head": "Delete Community", + "community.delete.head": "Dzēst Kategoriju", + + // "community.delete.notification.fail": "Community could not be deleted", + "community.delete.notification.fail": "Kategriju nav iespējams izdzēst", + + // "community.delete.notification.success": "Successfully deleted community", + "community.delete.notification.success": "Veiksmīgi izdzēsta kategorija", + + // "community.delete.text": "Are you sure you want to delete community \"{{ dso }}\"", + "community.delete.text": "Vai tiešām vēlaties dzēst kategoriju \"{{ dso }}\"", + + // "community.edit.delete": "Delete this community", + "community.edit.delete": "Dzēst šo kategoriju", + + // "community.edit.head": "Edit Community", + "community.edit.head": "Rediģēt Kategoriju", + + // "community.edit.breadcrumbs": "Edit Community", + "community.edit.breadcrumbs": "Rediģēt Kategoriju", + + + // "community.edit.logo.label": "Community logo", + "community.edit.logo.label": "Kategorijas logotips", + + // "community.edit.logo.notifications.add.error": "Uploading Community logo failed. Please verify the content before retrying.", + "community.edit.logo.notifications.add.error": "Kategorijas logotipa augšupielāde neizdevās. Pirms mēģināt vēlreiz, lūdzu, pārbaudiet saturu.", + + // "community.edit.logo.notifications.add.success": "Upload Community logo successful.", + "community.edit.logo.notifications.add.success": "Kategorijas logotipa augšupielāde ir veiksmīga.", + + // "community.edit.logo.notifications.delete.success.title": "Logo deleted", + "community.edit.logo.notifications.delete.success.title": "logotips ir izdzēsts", + + // "community.edit.logo.notifications.delete.success.content": "Successfully deleted the community's logo", + "community.edit.logo.notifications.delete.success.content": "Kategorijas logotips ir veiksmīgi izdzēsts", + + // "community.edit.logo.notifications.delete.error.title": "Error deleting logo", + "community.edit.logo.notifications.delete.error.title": "Izdzēšot logotipu, radās kļūda", + + // "community.edit.logo.upload": "Drop a Community Logo to upload", + "community.edit.logo.upload": "Ievietot Kategorijas logotipu, lai augšupielādētu", + + + + // "community.edit.notifications.success": "Successfully edited the Community", + "community.edit.notifications.success": "Kategorija tika veiksmīgi rediģēta", + + // "community.edit.notifications.unauthorized": "You do not have privileges to make this change", + // TODO New key - Add a translation + "community.edit.notifications.unauthorized": "You do not have privileges to make this change", + + // "community.edit.notifications.error": "An error occured while editing the Community", + // TODO New key - Add a translation + "community.edit.notifications.error": "An error occured while editing the Community", + + // "community.edit.return": "Return", + "community.edit.return": "Atgriezties", + + + + // "community.edit.tabs.curate.head": "Curate", + "community.edit.tabs.curate.head": "Pārvaldīt", + + // "community.edit.tabs.curate.title": "Community Edit - Curate", + "community.edit.tabs.curate.title": "Rdiģēt Kategoriju - Pārvaldība", + + // "community.edit.tabs.metadata.head": "Edit Metadata", + "community.edit.tabs.metadata.head": "Rediģēt Metadatus", + + // "community.edit.tabs.metadata.title": "Community Edit - Metadata", + "community.edit.tabs.metadata.title": "Rediģēt Kategoriju - Metadati", + + // "community.edit.tabs.roles.head": "Assign Roles", + "community.edit.tabs.roles.head": "Piešķirt Lomas", + + // "community.edit.tabs.roles.title": "Community Edit - Roles", + "community.edit.tabs.roles.title": "Rediģēt Kategorju - Lomas", + + // "community.edit.tabs.authorizations.head": "Authorizations", + // TODO New key - Add a translation + "community.edit.tabs.authorizations.head": "Authorizations", + + // "community.edit.tabs.authorizations.title": "Community Edit - Authorizations", + // TODO New key - Add a translation + "community.edit.tabs.authorizations.title": "Community Edit - Authorizations", + + + + // "community.listelement.badge": "Community", + // TODO New key - Add a translation + "community.listelement.badge": "Community", + + + + // "comcol-role.edit.no-group": "None", + // TODO New key - Add a translation + "comcol-role.edit.no-group": "None", + + // "comcol-role.edit.create": "Create", + // TODO New key - Add a translation + "comcol-role.edit.create": "Create", + + // "comcol-role.edit.restrict": "Restrict", + // TODO New key - Add a translation + "comcol-role.edit.restrict": "Restrict", + + // "comcol-role.edit.delete": "Delete", + // TODO New key - Add a translation + "comcol-role.edit.delete": "Delete", + + + // "comcol-role.edit.community-admin.name": "Administrators", + // TODO New key - Add a translation + "comcol-role.edit.community-admin.name": "Administrators", + + // "comcol-role.edit.collection-admin.name": "Administrators", + // TODO New key - Add a translation + "comcol-role.edit.collection-admin.name": "Administrators", + + + // "comcol-role.edit.community-admin.description": "Community administrators can create sub-communities or collections, and manage or assign management for those sub-communities or collections. In addition, they decide who can submit items to any sub-collections, edit item metadata (after submission), and add (map) existing items from other collections (subject to authorization).", + // TODO New key - Add a translation + "comcol-role.edit.community-admin.description": "Community administrators can create sub-communities or collections, and manage or assign management for those sub-communities or collections. In addition, they decide who can submit items to any sub-collections, edit item metadata (after submission), and add (map) existing items from other collections (subject to authorization).", + + // "comcol-role.edit.collection-admin.description": "Collection administrators decide who can submit items to the collection, edit item metadata (after submission), and add (map) existing items from other collections to this collection (subject to authorization for that collection).", + // TODO New key - Add a translation + "comcol-role.edit.collection-admin.description": "Collection administrators decide who can submit items to the collection, edit item metadata (after submission), and add (map) existing items from other collections to this collection (subject to authorization for that collection).", + + + // "comcol-role.edit.submitters.name": "Submitters", + // TODO New key - Add a translation + "comcol-role.edit.submitters.name": "Submitters", + + // "comcol-role.edit.submitters.description": "The E-People and Groups that have permission to submit new items to this collection.", + // TODO New key - Add a translation + "comcol-role.edit.submitters.description": "The E-People and Groups that have permission to submit new items to this collection.", + + + // "comcol-role.edit.item_read.name": "Default item read access", + // TODO New key - Add a translation + "comcol-role.edit.item_read.name": "Default item read access", + + // "comcol-role.edit.item_read.description": "E-People and Groups that can read new items submitted to this collection. Changes to this role are not retroactive. Existing items in the system will still be viewable by those who had read access at the time of their addition.", + // TODO New key - Add a translation + "comcol-role.edit.item_read.description": "E-People and Groups that can read new items submitted to this collection. Changes to this role are not retroactive. Existing items in the system will still be viewable by those who had read access at the time of their addition.", + + // "comcol-role.edit.item_read.anonymous-group": "Default read for incoming items is currently set to Anonymous.", + // TODO New key - Add a translation + "comcol-role.edit.item_read.anonymous-group": "Default read for incoming items is currently set to Anonymous.", + + + // "comcol-role.edit.bitstream_read.name": "Default bitstream read access", + // TODO New key - Add a translation + "comcol-role.edit.bitstream_read.name": "Default bitstream read access", + + // "comcol-role.edit.bitstream_read.description": "Community administrators can create sub-communities or collections, and manage or assign management for those sub-communities or collections. In addition, they decide who can submit items to any sub-collections, edit item metadata (after submission), and add (map) existing items from other collections (subject to authorization).", + // TODO New key - Add a translation + "comcol-role.edit.bitstream_read.description": "Community administrators can create sub-communities or collections, and manage or assign management for those sub-communities or collections. In addition, they decide who can submit items to any sub-collections, edit item metadata (after submission), and add (map) existing items from other collections (subject to authorization).", + + // "comcol-role.edit.bitstream_read.anonymous-group": "Default read for incoming bitstreams is currently set to Anonymous.", + // TODO New key - Add a translation + "comcol-role.edit.bitstream_read.anonymous-group": "Default read for incoming bitstreams is currently set to Anonymous.", + + + // "comcol-role.edit.editor.name": "Editors", + // TODO New key - Add a translation + "comcol-role.edit.editor.name": "Editors", + + // "comcol-role.edit.editor.description": "Editors are able to edit the metadata of incoming submissions, and then accept or reject them.", + // TODO New key - Add a translation + "comcol-role.edit.editor.description": "Editors are able to edit the metadata of incoming submissions, and then accept or reject them.", + + + // "comcol-role.edit.finaleditor.name": "Final editors", + // TODO New key - Add a translation + "comcol-role.edit.finaleditor.name": "Final editors", + + // "comcol-role.edit.finaleditor.description": "Final editors are able to edit the metadata of incoming submissions, but will not be able to reject them.", + // TODO New key - Add a translation + "comcol-role.edit.finaleditor.description": "Final editors are able to edit the metadata of incoming submissions, but will not be able to reject them.", + + + // "comcol-role.edit.reviewer.name": "Reviewers", + // TODO New key - Add a translation + "comcol-role.edit.reviewer.name": "Reviewers", + + // "comcol-role.edit.reviewer.description": "Reviewers are able to accept or reject incoming submissions. However, they are not able to edit the submission's metadata.", + // TODO New key - Add a translation + "comcol-role.edit.reviewer.description": "Reviewers are able to accept or reject incoming submissions. However, they are not able to edit the submission's metadata.", + + + + // "community.form.abstract": "Short Description", + "community.form.abstract": "Īss apraksts", + + // "community.form.description": "Introductory text (HTML)", + "community.form.description": "Ievadteksts (HTML)", + + // "community.form.errors.title.required": "Please enter a community name", + "community.form.errors.title.required": "Lūdzu ievadiet kategorijas nosaukumu", + + // "community.form.rights": "Copyright text (HTML)", + "community.form.rights": "Autortiesību teksts (HTML)", + + // "community.form.tableofcontents": "News (HTML)", + "community.form.tableofcontents": "Jaunumi (HTML)", + + // "community.form.title": "Name", + "community.form.title": "Nosaukums", + + // "community.page.edit": "Edit this community", + // TODO New key - Add a translation + "community.page.edit": "Edit this community", + + // "community.page.handle": "Permanent URI for this community", + "community.page.handle": "Kategorijas nemainīgs URI", + + // "community.page.license": "License", + "community.page.license": "Licence", + + // "community.page.news": "News", + "community.page.news": "Jaunumi", + + // "community.all-lists.head": "Subcommunities and Collections", + "community.all-lists.head": "Apakškategorijas un Kolekcijas", + + // "community.sub-collection-list.head": "Collections of this Community", + "community.sub-collection-list.head": "Kolekcijas no šīs kategorijas", + + // "community.sub-community-list.head": "Communities of this Community", + "community.sub-community-list.head": "Šīs kategorijas apakš-kategorijas", + + + + // "cookies.consent.accept-all": "Accept all", + // TODO New key - Add a translation + "cookies.consent.accept-all": "Accept all", + + // "cookies.consent.accept-selected": "Accept selected", + // TODO New key - Add a translation + "cookies.consent.accept-selected": "Accept selected", + + // "cookies.consent.app.opt-out.description": "This app is loaded by default (but you can opt out)", + // TODO New key - Add a translation + "cookies.consent.app.opt-out.description": "This app is loaded by default (but you can opt out)", + + // "cookies.consent.app.opt-out.title": "(opt-out)", + // TODO New key - Add a translation + "cookies.consent.app.opt-out.title": "(opt-out)", + + // "cookies.consent.app.purpose": "purpose", + // TODO New key - Add a translation + "cookies.consent.app.purpose": "purpose", + + // "cookies.consent.app.required.description": "This application is always required", + // TODO New key - Add a translation + "cookies.consent.app.required.description": "This application is always required", + + // "cookies.consent.app.required.title": "(always required)", + // TODO New key - Add a translation + "cookies.consent.app.required.title": "(always required)", + + // "cookies.consent.update": "There were changes since your last visit, please update your consent.", + // TODO New key - Add a translation + "cookies.consent.update": "There were changes since your last visit, please update your consent.", + + // "cookies.consent.close": "Close", + // TODO New key - Add a translation + "cookies.consent.close": "Close", + + // "cookies.consent.decline": "Decline", + // TODO New key - Add a translation + "cookies.consent.decline": "Decline", + + // "cookies.consent.content-notice.description": "We collect and process your personal information for the following purposes: Authentication, Preferences, Acknowledgement and Statistics.
To learn more, please read our {privacyPolicy}.", + // TODO New key - Add a translation + "cookies.consent.content-notice.description": "We collect and process your personal information for the following purposes: Authentication, Preferences, Acknowledgement and Statistics.
To learn more, please read our {privacyPolicy}.", + + // "cookies.consent.content-notice.learnMore": "Customize", + // TODO New key - Add a translation + "cookies.consent.content-notice.learnMore": "Customize", + + // "cookies.consent.content-modal.description": "Here you can see and customize the information that we collect about you.", + // TODO New key - Add a translation + "cookies.consent.content-modal.description": "Here you can see and customize the information that we collect about you.", + + // "cookies.consent.content-modal.privacy-policy.name": "privacy policy", + // TODO New key - Add a translation + "cookies.consent.content-modal.privacy-policy.name": "privacy policy", + + // "cookies.consent.content-modal.privacy-policy.text": "To learn more, please read our {privacyPolicy}.", + // TODO New key - Add a translation + "cookies.consent.content-modal.privacy-policy.text": "To learn more, please read our {privacyPolicy}.", + + // "cookies.consent.content-modal.title": "Information that we collect", + // TODO New key - Add a translation + "cookies.consent.content-modal.title": "Information that we collect", + + + + // "cookies.consent.app.title.authentication": "Authentication", + // TODO New key - Add a translation + "cookies.consent.app.title.authentication": "Authentication", + + // "cookies.consent.app.description.authentication": "Required for signing you in", + // TODO New key - Add a translation + "cookies.consent.app.description.authentication": "Required for signing you in", + + + // "cookies.consent.app.title.preferences": "Preferences", + // TODO New key - Add a translation + "cookies.consent.app.title.preferences": "Preferences", + + // "cookies.consent.app.description.preferences": "Required for saving your preferences", + // TODO New key - Add a translation + "cookies.consent.app.description.preferences": "Required for saving your preferences", + + + + // "cookies.consent.app.title.acknowledgement": "Acknowledgement", + // TODO New key - Add a translation + "cookies.consent.app.title.acknowledgement": "Acknowledgement", + + // "cookies.consent.app.description.acknowledgement": "Required for saving your acknowledgements and consents", + // TODO New key - Add a translation + "cookies.consent.app.description.acknowledgement": "Required for saving your acknowledgements and consents", + + + + // "cookies.consent.app.title.google-analytics": "Google Analytics", + // TODO New key - Add a translation + "cookies.consent.app.title.google-analytics": "Google Analytics", + + // "cookies.consent.app.description.google-analytics": "Allows us to track statistical data", + // TODO New key - Add a translation + "cookies.consent.app.description.google-analytics": "Allows us to track statistical data", + + + + // "cookies.consent.purpose.functional": "Functional", + // TODO New key - Add a translation + "cookies.consent.purpose.functional": "Functional", + + // "cookies.consent.purpose.statistical": "Statistical", + // TODO New key - Add a translation + "cookies.consent.purpose.statistical": "Statistical", + + + // "curation-task.task.checklinks.label": "Check Links in Metadata", + // TODO New key - Add a translation + "curation-task.task.checklinks.label": "Check Links in Metadata", + + // "curation-task.task.noop.label": "NOOP", + // TODO New key - Add a translation + "curation-task.task.noop.label": "NOOP", + + // "curation-task.task.profileformats.label": "Profile Bitstream Formats", + // TODO New key - Add a translation + "curation-task.task.profileformats.label": "Profile Bitstream Formats", + + // "curation-task.task.requiredmetadata.label": "Check for Required Metadata", + // TODO New key - Add a translation + "curation-task.task.requiredmetadata.label": "Check for Required Metadata", + + // "curation-task.task.translate.label": "Microsoft Translator", + // TODO New key - Add a translation + "curation-task.task.translate.label": "Microsoft Translator", + + // "curation-task.task.vscan.label": "Virus Scan", + // TODO New key - Add a translation + "curation-task.task.vscan.label": "Virus Scan", + + + + // "curation.form.task-select.label": "Task:", + // TODO New key - Add a translation + "curation.form.task-select.label": "Task:", + + // "curation.form.submit": "Start", + // TODO New key - Add a translation + "curation.form.submit": "Start", + + // "curation.form.submit.success.head": "The curation task has been started successfully", + // TODO New key - Add a translation + "curation.form.submit.success.head": "The curation task has been started successfully", + + // "curation.form.submit.success.content": "You will be redirected to the corresponding process page.", + // TODO New key - Add a translation + "curation.form.submit.success.content": "You will be redirected to the corresponding process page.", + + // "curation.form.submit.error.head": "Running the curation task failed", + // TODO New key - Add a translation + "curation.form.submit.error.head": "Running the curation task failed", + + // "curation.form.submit.error.content": "An error occured when trying to start the curation task.", + // TODO New key - Add a translation + "curation.form.submit.error.content": "An error occured when trying to start the curation task.", + + // "curation.form.handle.label": "Handle:", + // TODO New key - Add a translation + "curation.form.handle.label": "Handle:", + + // "curation.form.handle.hint": "Hint: Enter [your-handle-prefix]/0 to run a task across entire site (not all tasks may support this capability)", + // TODO New key - Add a translation + "curation.form.handle.hint": "Hint: Enter [your-handle-prefix]/0 to run a task across entire site (not all tasks may support this capability)", + + + + // "dso-selector.create.collection.head": "New collection", + "dso-selector.create.collection.head": "Jauna kolekcija", + + // "dso-selector.create.collection.sub-level": "Create a new collection in", + // TODO New key - Add a translation + "dso-selector.create.collection.sub-level": "Create a new collection in", + + // "dso-selector.create.community.head": "New community", + "dso-selector.create.community.head": "Jauna kategorija", + + // "dso-selector.create.community.sub-level": "Create a new community in", + "dso-selector.create.community.sub-level": "Izveidot jaunu kategroiju iekš", + + // "dso-selector.create.community.top-level": "Create a new top-level community", + "dso-selector.create.community.top-level": "Izveidot jaunu augstākā līmeņa kategoriju", + + // "dso-selector.create.item.head": "New item", + "dso-selector.create.item.head": "Jauns materiāls", + + // "dso-selector.create.item.sub-level": "Create a new item in", + // TODO New key - Add a translation + "dso-selector.create.item.sub-level": "Create a new item in", + + // "dso-selector.create.submission.head": "New submission", + // TODO New key - Add a translation + "dso-selector.create.submission.head": "New submission", + + // "dso-selector.edit.collection.head": "Edit collection", + "dso-selector.edit.collection.head": "Rediģēt kolekciju", + + // "dso-selector.edit.community.head": "Edit community", + "dso-selector.edit.community.head": "Rediģēt kategoriju", + + // "dso-selector.edit.item.head": "Edit item", + "dso-selector.edit.item.head": "Rediģēt matriālu", + + // "dso-selector.export-metadata.dspaceobject.head": "Export metadata from", + // TODO New key - Add a translation + "dso-selector.export-metadata.dspaceobject.head": "Export metadata from", + + // "dso-selector.no-results": "No {{ type }} found", + "dso-selector.no-results": "Nav atrasts {{ type }}", + + // "dso-selector.placeholder": "Search for a {{ type }}", + "dso-selector.placeholder": "Meklēt {{ type }}", + + + + // "confirmation-modal.export-metadata.header": "Export metadata for {{ dsoName }}", + // TODO New key - Add a translation + "confirmation-modal.export-metadata.header": "Export metadata for {{ dsoName }}", + + // "confirmation-modal.export-metadata.info": "Are you sure you want to export metadata for {{ dsoName }}", + // TODO New key - Add a translation + "confirmation-modal.export-metadata.info": "Are you sure you want to export metadata for {{ dsoName }}", + + // "confirmation-modal.export-metadata.cancel": "Cancel", + // TODO New key - Add a translation + "confirmation-modal.export-metadata.cancel": "Cancel", + + // "confirmation-modal.export-metadata.confirm": "Export", + // TODO New key - Add a translation + "confirmation-modal.export-metadata.confirm": "Export", + + // "confirmation-modal.delete-eperson.header": "Delete EPerson \"{{ dsoName }}\"", + // TODO New key - Add a translation + "confirmation-modal.delete-eperson.header": "Delete EPerson \"{{ dsoName }}\"", + + // "confirmation-modal.delete-eperson.info": "Are you sure you want to delete EPerson \"{{ dsoName }}\"", + // TODO New key - Add a translation + "confirmation-modal.delete-eperson.info": "Are you sure you want to delete EPerson \"{{ dsoName }}\"", + + // "confirmation-modal.delete-eperson.cancel": "Cancel", + // TODO New key - Add a translation + "confirmation-modal.delete-eperson.cancel": "Cancel", + + // "confirmation-modal.delete-eperson.confirm": "Delete", + // TODO New key - Add a translation + "confirmation-modal.delete-eperson.confirm": "Delete", + + + // "error.bitstream": "Error fetching bitstream", + "error.bitstream": "Radās kļūda, saņemot bitu straumi", + + // "error.browse-by": "Error fetching items", + "error.browse-by": "Materiālu ielasīšanas kļūda", + + // "error.collection": "Error fetching collection", + "error.collection": "Kolekciju ielasīšanas kļūda", + + // "error.collections": "Error fetching collections", + "error.collections": "Kolekciju ielasīšanas kļūda", + + // "error.community": "Error fetching community", + "error.community": "Kategorijas ielasīšanas kļūda", + + // "error.identifier": "No item found for the identifier", + "error.identifier": "Netika atrasti materiāli dotajam identifikatoram", + + // "error.default": "Error", + "error.default": "Kļūda", + + // "error.item": "Error fetching item", + "error.item": "Materiāla ielasīšanas kļūda", + + // "error.items": "Error fetching items", + "error.items": "Materiālu ielasīšanas kļūda", + + // "error.objects": "Error fetching objects", + "error.objects": "Objektu ielasīšanas kļūda", + + // "error.recent-submissions": "Error fetching recent submissions", + "error.recent-submissions": "Neseno iesniegumu ielasīšanas kļūda", + + // "error.search-results": "Error fetching search results", + "error.search-results": "Meklēšanas rezultātu ielasīšanas kļūda", + + // "error.sub-collections": "Error fetching sub-collections", + "error.sub-collections": "Kļūda ielasot apakškolekcijas", + + // "error.sub-communities": "Error fetching sub-communities", + "error.sub-communities": "Apakškategorijas ielasīšanas kļūda", + + // "error.submission.sections.init-form-error": "An error occurred during section initialize, please check your input-form configuration. Details are below :

", + "error.submission.sections.init-form-error": "Sadaļas inicializācijas laikā radās kļūda. Lūdzu, pārbaudiet ievades formas konfigurāciju. Sīkāka informācija ir sniegta zemāk :

", + + // "error.top-level-communities": "Error fetching top-level communities", + "error.top-level-communities": "Kļūda ielasot augstākā līmeņa kategorijas", + + // "error.validation.license.notgranted": "You must grant this license to complete your submission. If you are unable to grant this license at this time you may save your work and return later or remove the submission.", + "error.validation.license.notgranted": "Jums ir jānodrošina šī licence, lai pabeigtu iesniegšanu. Ja šobrīd nevarat piešķirt šo licenci, varat saglabāt savu darbu un atgriezties vēlāk vai noņemt iesniegšanu.", + + // "error.validation.pattern": "This input is restricted by the current pattern: {{ pattern }}.", + "error.validation.pattern": "Šo ievadi ierobežo pašreizējais modelis: {{ pattern }}.", + + // "error.validation.filerequired": "The file upload is mandatory", + "error.validation.filerequired": "Faila augšupielāde ir obligāta", + + + + // "file-section.error.header": "Error obtaining files for this item", + // TODO New key - Add a translation + "file-section.error.header": "Error obtaining files for this item", + + + + // "footer.copyright": "copyright © 2002-{{ year }}", + "footer.copyright": "copyright © 2002-{{ year }}", + + // "footer.link.dspace": "DSpace software", + "footer.link.dspace": "DSpace software", + + // "footer.link.duraspace": "DuraSpace", + "footer.link.duraspace": "DuraSpace", + + // "footer.link.cookies": "Cookie settings", + // TODO New key - Add a translation + "footer.link.cookies": "Cookie settings", + + // "footer.link.privacy-policy": "Privacy policy", + // TODO New key - Add a translation + "footer.link.privacy-policy": "Privacy policy", + + // "footer.link.end-user-agreement":"End User Agreement", + // TODO New key - Add a translation + "footer.link.end-user-agreement":"End User Agreement", + + + + // "forgot-email.form.header": "Forgot Password", + // TODO New key - Add a translation + "forgot-email.form.header": "Forgot Password", + + // "forgot-email.form.info": "Enter Register an account to subscribe to collections for email updates, and submit new items to DSpace.", + // TODO New key - Add a translation + "forgot-email.form.info": "Enter Register an account to subscribe to collections for email updates, and submit new items to DSpace.", + + // "forgot-email.form.email": "Email Address *", + // TODO New key - Add a translation + "forgot-email.form.email": "Email Address *", + + // "forgot-email.form.email.error.required": "Please fill in an email address", + // TODO New key - Add a translation + "forgot-email.form.email.error.required": "Please fill in an email address", + + // "forgot-email.form.email.error.pattern": "Please fill in a valid email address", + // TODO New key - Add a translation + "forgot-email.form.email.error.pattern": "Please fill in a valid email address", + + // "forgot-email.form.email.hint": "This address will be verified and used as your login name.", + // TODO New key - Add a translation + "forgot-email.form.email.hint": "This address will be verified and used as your login name.", + + // "forgot-email.form.submit": "Submit", + // TODO New key - Add a translation + "forgot-email.form.submit": "Submit", + + // "forgot-email.form.success.head": "Verification email sent", + // TODO New key - Add a translation + "forgot-email.form.success.head": "Verification email sent", + + // "forgot-email.form.success.content": "An email has been sent to {{ email }} containing a special URL and further instructions.", + // TODO New key - Add a translation + "forgot-email.form.success.content": "An email has been sent to {{ email }} containing a special URL and further instructions.", + + // "forgot-email.form.error.head": "Error when trying to register email", + // TODO New key - Add a translation + "forgot-email.form.error.head": "Error when trying to register email", + + // "forgot-email.form.error.content": "An error occured when registering the following email address: {{ email }}", + // TODO New key - Add a translation + "forgot-email.form.error.content": "An error occured when registering the following email address: {{ email }}", + + + + // "forgot-password.title": "Forgot Password", + // TODO New key - Add a translation + "forgot-password.title": "Forgot Password", + + // "forgot-password.form.head": "Forgot Password", + // TODO New key - Add a translation + "forgot-password.form.head": "Forgot Password", + + // "forgot-password.form.info": "Enter a new password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", + // TODO New key - Add a translation + "forgot-password.form.info": "Enter a new password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", + + // "forgot-password.form.card.security": "Security", + // TODO New key - Add a translation + "forgot-password.form.card.security": "Security", + + // "forgot-password.form.identification.header": "Identify", + // TODO New key - Add a translation + "forgot-password.form.identification.header": "Identify", + + // "forgot-password.form.identification.email": "Email address: ", + // TODO New key - Add a translation + "forgot-password.form.identification.email": "Email address: ", + + // "forgot-password.form.label.password": "Password", + // TODO New key - Add a translation + "forgot-password.form.label.password": "Password", + + // "forgot-password.form.label.passwordrepeat": "Retype to confirm", + // TODO New key - Add a translation + "forgot-password.form.label.passwordrepeat": "Retype to confirm", + + // "forgot-password.form.error.empty-password": "Please enter a password in the box below.", + // TODO New key - Add a translation + "forgot-password.form.error.empty-password": "Please enter a password in the box below.", + + // "forgot-password.form.error.matching-passwords": "The passwords do not match.", + // TODO New key - Add a translation + "forgot-password.form.error.matching-passwords": "The passwords do not match.", + + // "forgot-password.form.error.password-length": "The password should be at least 6 characters long.", + // TODO New key - Add a translation + "forgot-password.form.error.password-length": "The password should be at least 6 characters long.", + + // "forgot-password.form.notification.error.title": "Error when trying to submit new password", + // TODO New key - Add a translation + "forgot-password.form.notification.error.title": "Error when trying to submit new password", + + // "forgot-password.form.notification.success.content": "The password reset was successful. You have been logged in as the created user.", + // TODO New key - Add a translation + "forgot-password.form.notification.success.content": "The password reset was successful. You have been logged in as the created user.", + + // "forgot-password.form.notification.success.title": "Password reset completed", + // TODO New key - Add a translation + "forgot-password.form.notification.success.title": "Password reset completed", + + // "forgot-password.form.submit": "Submit password", + // TODO New key - Add a translation + "forgot-password.form.submit": "Submit password", + + + + // "form.add": "Add", + "form.add": "Pievienot", + + // "form.add-help": "Click here to add the current entry and to add another one", + "form.add-help": "Noklikšķiniet šeit, lai pievienotu tekošo elementu un lai pievienotu vēl vienu", + + // "form.cancel": "Cancel", + "form.cancel": "Atcelt", + + // "form.clear": "Clear", + "form.clear": "Notīrīt", + + // "form.clear-help": "Click here to remove the selected value", + "form.clear-help": "Noklikšķiniet šeit, lai dzēstu atlasīto vērtību", + + // "form.edit": "Edit", + "form.edit": "Rediģēt", + + // "form.edit-help": "Click here to edit the selected value", + "form.edit-help": "Noklikšķiniet šeit, lai rediģēt atlasīto vērtību", + + // "form.first-name": "First name", + "form.first-name": "Vārds", + + // "form.group-collapse": "Collapse", + "form.group-collapse": "Sakļaut", + + // "form.group-collapse-help": "Click here to collapse", + "form.group-collapse-help": "Noklikšķiniet šeit, lai sakļautu", + + // "form.group-expand": "Expand", + "form.group-expand": "Izvērst", + + // "form.group-expand-help": "Click here to expand and add more elements", + "form.group-expand-help": "Noklikšķiniet šeit, lai izvērstu un pievienotu citus elementus", + + // "form.last-name": "Last name", + "form.last-name": "Uzvārds", + + // "form.loading": "Loading...", + "form.loading": "Notiek ielāde...", + + // "form.lookup": "Lookup", + "form.lookup": "Atrast", + + // "form.lookup-help": "Click here to look up an existing relation", + "form.lookup-help": "Noklikšķiniet šeit, lai meklētu esošu saistību", + + // "form.no-results": "No results found", + "form.no-results": "Rezultāti netika atrasti", + + // "form.no-value": "No value entered", + "form.no-value": "Vērtība netika ievadīta", + + // "form.other-information": {}, + "form.other-information": {}, + + // "form.remove": "Remove", + "form.remove": "Dzēst", + + // "form.save": "Save", + "form.save": "Saglabāt", + + // "form.save-help": "Save changes", + "form.save-help": "Saglabāt izmaiņas", + + // "form.search": "Search", + "form.search": "Meklēt", + + // "form.search-help": "Click here to look for an existing correspondence", + // TODO Source message changed - Revise the translation + "form.search-help": "Noklikšķiniet šeit, lai meklētu esošu korespondenci", + + // "form.submit": "Submit", + "form.submit": "Iesniegt", + + + + // "home.description": "", + "home.description": "", + + // "home.breadcrumbs": "Home", + // TODO New key - Add a translation + "home.breadcrumbs": "Home", + + // "home.title": "DSpace Angular :: Home", + "home.title": "DSpace Angular :: Sākums", + + // "home.top-level-communities.head": "Communities in DSpace", + "home.top-level-communities.head": "DSpace Kategorijas", + + // "home.top-level-communities.help": "Select a community to browse its collections.", + "home.top-level-communities.help": "Izvēlieties kategoriju, lai pārlūkotu tās kolekcijas.", + + + + // "info.end-user-agreement.accept": "I have read and I agree to the End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.accept": "I have read and I agree to the End User Agreement", + + // "info.end-user-agreement.accept.error": "An error occurred accepting the End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.accept.error": "An error occurred accepting the End User Agreement", + + // "info.end-user-agreement.accept.success": "Successfully updated the End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.accept.success": "Successfully updated the End User Agreement", + + // "info.end-user-agreement.breadcrumbs": "End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.breadcrumbs": "End User Agreement", + + // "info.end-user-agreement.buttons.cancel": "Cancel", + // TODO New key - Add a translation + "info.end-user-agreement.buttons.cancel": "Cancel", + + // "info.end-user-agreement.buttons.save": "Save", + // TODO New key - Add a translation + "info.end-user-agreement.buttons.save": "Save", + + // "info.end-user-agreement.head": "End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.head": "End User Agreement", + + // "info.end-user-agreement.title": "End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.title": "End User Agreement", + + // "info.privacy.breadcrumbs": "Privacy Statement", + // TODO New key - Add a translation + "info.privacy.breadcrumbs": "Privacy Statement", + + // "info.privacy.head": "Privacy Statement", + // TODO New key - Add a translation + "info.privacy.head": "Privacy Statement", + + // "info.privacy.title": "Privacy Statement", + // TODO New key - Add a translation + "info.privacy.title": "Privacy Statement", + + + + // "item.alerts.private": "This item is private", + // TODO New key - Add a translation + "item.alerts.private": "This item is private", + + // "item.alerts.withdrawn": "This item has been withdrawn", + // TODO New key - Add a translation + "item.alerts.withdrawn": "This item has been withdrawn", + + + + // "item.edit.authorizations.heading": "With this editor you can view and alter the policies of an item, plus alter policies of individual item components: bundles and bitstreams. Briefly, an item is a container of bundles, and bundles are containers of bitstreams. Containers usually have ADD/REMOVE/READ/WRITE policies, while bitstreams only have READ/WRITE policies.", + // TODO New key - Add a translation + "item.edit.authorizations.heading": "With this editor you can view and alter the policies of an item, plus alter policies of individual item components: bundles and bitstreams. Briefly, an item is a container of bundles, and bundles are containers of bitstreams. Containers usually have ADD/REMOVE/READ/WRITE policies, while bitstreams only have READ/WRITE policies.", + + // "item.edit.authorizations.title": "Edit item's Policies", + // TODO New key - Add a translation + "item.edit.authorizations.title": "Edit item's Policies", + + + + // "item.badge.private": "Private", + // TODO New key - Add a translation + "item.badge.private": "Private", + + // "item.badge.withdrawn": "Withdrawn", + // TODO New key - Add a translation + "item.badge.withdrawn": "Withdrawn", + + + + // "item.bitstreams.upload.bundle": "Bundle", + "item.bitstreams.upload.bundle": "Kopiens", + + // "item.bitstreams.upload.bundle.placeholder": "Select a bundle", + "item.bitstreams.upload.bundle.placeholder": "Izvēlēties kopienu", + + // "item.bitstreams.upload.bundle.new": "Create bundle", + "item.bitstreams.upload.bundle.new": "Izveidot kopienu", + + // "item.bitstreams.upload.bundles.empty": "This item doesn\'t contain any bundles to upload a bitstream to.", + "item.bitstreams.upload.bundles.empty": "Materiālā nav neviena kopiena ko augšupielādēt bitu straumē.", + + // "item.bitstreams.upload.cancel": "Cancel", + "item.bitstreams.upload.cancel": "Atcelt", + + // "item.bitstreams.upload.drop-message": "Drop a file to upload", + "item.bitstreams.upload.drop-message": "Nomest failu augšupielādei", + + // "item.bitstreams.upload.item": "Item: ", + "item.bitstreams.upload.item": "Materiāls: ", + + // "item.bitstreams.upload.notifications.bundle.created.content": "Successfully created new bundle.", + "item.bitstreams.upload.notifications.bundle.created.content": "Veiksmīgi izveidota kopiena.", + + // "item.bitstreams.upload.notifications.bundle.created.title": "Created bundle", + "item.bitstreams.upload.notifications.bundle.created.title": "Izveidot kopienu", + + // "item.bitstreams.upload.notifications.upload.failed": "Upload failed. Please verify the content before retrying.", + "item.bitstreams.upload.notifications.upload.failed": "Augšupielāde neizdevās. Lūdzu pārbaudi saturu pirms mēģini vēlreiz.", + + // "item.bitstreams.upload.title": "Upload bitstream", + "item.bitstreams.upload.title": "Augšupielādēt bitu straumi", + + + + // "item.edit.bitstreams.bundle.edit.buttons.upload": "Upload", + "item.edit.bitstreams.bundle.edit.buttons.upload": "Augšupielādēt", + + // "item.edit.bitstreams.bundle.displaying": "Currently displaying {{ amount }} bitstreams of {{ total }}.", + "item.edit.bitstreams.bundle.displaying": "Šobrīd rāda {{ amount }} bitu straumes no {{ total }}.", + + // "item.edit.bitstreams.bundle.load.all": "Load all ({{ total }})", + "item.edit.bitstreams.bundle.load.all": "Ielādēt visus ({{ total }})", + + // "item.edit.bitstreams.bundle.load.more": "Load more", + "item.edit.bitstreams.bundle.load.more": "Ielādēt vēl", + + // "item.edit.bitstreams.bundle.name": "BUNDLE: {{ name }}", + "item.edit.bitstreams.bundle.name": "KOPIENA: {{ name }}", + + // "item.edit.bitstreams.discard-button": "Discard", + "item.edit.bitstreams.discard-button": "Atsaukt", + + // "item.edit.bitstreams.edit.buttons.download": "Download", + "item.edit.bitstreams.edit.buttons.download": "Lejupielādēt", + + // "item.edit.bitstreams.edit.buttons.drag": "Drag", + "item.edit.bitstreams.edit.buttons.drag": "Vilkt", + + // "item.edit.bitstreams.edit.buttons.edit": "Edit", + "item.edit.bitstreams.edit.buttons.edit": "Rediģēt", + + // "item.edit.bitstreams.edit.buttons.remove": "Remove", + "item.edit.bitstreams.edit.buttons.remove": "Noņemt", + + // "item.edit.bitstreams.edit.buttons.undo": "Undo changes", + "item.edit.bitstreams.edit.buttons.undo": "Atlikt izmaiņas", + + // "item.edit.bitstreams.empty": "This item doesn't contain any bitstreams. Click the upload button to create one.", + "item.edit.bitstreams.empty": "Šis materiāls nesatur bitu straumi. Nospied augšupielādes pogu, lai izveidotu jaunu.", + + // "item.edit.bitstreams.headers.actions": "Actions", + "item.edit.bitstreams.headers.actions": "Darbības", + + // "item.edit.bitstreams.headers.bundle": "Bundle", + "item.edit.bitstreams.headers.bundle": "Kopiena", + + // "item.edit.bitstreams.headers.description": "Description", + "item.edit.bitstreams.headers.description": "Apraksts", + + // "item.edit.bitstreams.headers.format": "Format", + "item.edit.bitstreams.headers.format": "Formāts", + + // "item.edit.bitstreams.headers.name": "Name", + "item.edit.bitstreams.headers.name": "Nosaukums", + + // "item.edit.bitstreams.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", + "item.edit.bitstreams.notifications.discarded.content": "Jūsu veiktās izmaiņas tika atsaukt. Lai atjaunotu izmaiņas, noklikšķiniet uz pogas Atsaukt", + + // "item.edit.bitstreams.notifications.discarded.title": "Changes discarded", + "item.edit.bitstreams.notifications.discarded.title": "Izmaiņas atsauktas", + + // "item.edit.bitstreams.notifications.move.failed.title": "Error moving bitstreams", + "item.edit.bitstreams.notifications.move.failed.title": "Radās kļūda pārvietojot bitu straumi", + + // "item.edit.bitstreams.notifications.move.saved.content": "Your move changes to this item's bitstreams and bundles have been saved.", + "item.edit.bitstreams.notifications.move.saved.content": "Jūsu pārvietošanas izmaiņas materiāla bitu straumē un kopienā ir saglabātas.", + + // "item.edit.bitstreams.notifications.move.saved.title": "Move changes saved", + "item.edit.bitstreams.notifications.move.saved.title": "Pārvietošanas izmaiņas saglabātas", + + // "item.edit.bitstreams.notifications.outdated.content": "The item you're currently working on has been changed by another user. Your current changes are discarded to prevent conflicts", + "item.edit.bitstreams.notifications.outdated.content": "Materiāls, kurā pašlaik strādājat, ir mainījis kāds cits lietotājs. Jūsu pašreizējās izmaiņas tiek atmestas, lai novērstu konfliktus", + + // "item.edit.bitstreams.notifications.outdated.title": "Changes outdated", + "item.edit.bitstreams.notifications.outdated.title": "Novecojušas izmaiņas", + + // "item.edit.bitstreams.notifications.remove.failed.title": "Error deleting bitstream", + "item.edit.bitstreams.notifications.remove.failed.title": "Radās kļūda dzēšot bitu straumi", + + // "item.edit.bitstreams.notifications.remove.saved.content": "Your removal changes to this item's bitstreams have been saved.", + "item.edit.bitstreams.notifications.remove.saved.content": "Jūsu materiāla bitu straumes izņemšanas izmaiņas ir saglabātas.", + + // "item.edit.bitstreams.notifications.remove.saved.title": "Removal changes saved", + "item.edit.bitstreams.notifications.remove.saved.title": "Izņemšanas izmaiņas ir saglabātas", + + // "item.edit.bitstreams.reinstate-button": "Undo", + "item.edit.bitstreams.reinstate-button": "Atlikt", + + // "item.edit.bitstreams.save-button": "Save", + "item.edit.bitstreams.save-button": "Saglabāt", + + // "item.edit.bitstreams.upload-button": "Upload", + "item.edit.bitstreams.upload-button": "Augšupielādēt", + + + + // "item.edit.delete.cancel": "Cancel", + "item.edit.delete.cancel": "Atcelt", + + // "item.edit.delete.confirm": "Delete", + "item.edit.delete.confirm": "Dzēst", + + // "item.edit.delete.description": "Are you sure this item should be completely deleted? Caution: At present, no tombstone would be left.", + "item.edit.delete.description": "Vai esat drošs, ka pilnībā vēlaties izdzēst šo ierakstu? Uzmanību: Ieraksta kopija netiks saglabāta.", + + // "item.edit.delete.error": "An error occurred while deleting the item", + "item.edit.delete.error": "Radās kļūda dzēšot materiālus", + + // "item.edit.delete.header": "Delete item: {{ id }}", + "item.edit.delete.header": "Dzēst materiālu: {{ id }}", + + // "item.edit.delete.success": "The item has been deleted", + "item.edit.delete.success": "Materiāls ir izdzēsts", + + // "item.edit.head": "Edit Item", + "item.edit.head": "Rediģēt Materiālu", + + // "item.edit.breadcrumbs": "Edit Item", + "item.edit.breadcrumbs": "Rediģēt Materiālu", + + + // "item.edit.tabs.mapper.head": "Collection Mapper", + // TODO New key - Add a translation + "item.edit.tabs.mapper.head": "Collection Mapper", + + // "item.edit.tabs.item-mapper.title": "Item Edit - Collection Mapper", + // TODO New key - Add a translation + "item.edit.tabs.item-mapper.title": "Item Edit - Collection Mapper", + + // "item.edit.item-mapper.buttons.add": "Map item to selected collections", + "item.edit.item-mapper.buttons.add": "Piesaistīt materiālu piesaistītajai kolekcijai", + + // "item.edit.item-mapper.buttons.remove": "Remove item's mapping for selected collections", + "item.edit.item-mapper.buttons.remove": "Dzēst materiālus izvēlētajai kolekcijai", + + // "item.edit.item-mapper.cancel": "Cancel", + "item.edit.item-mapper.cancel": "Atcelt", + + // "item.edit.item-mapper.description": "This is the item mapper tool that allows administrators to map this item to other collections. You can search for collections and map them, or browse the list of collections the item is currently mapped to.", + "item.edit.item-mapper.description": "Šis ir materiālu piesaistīšanas rīks, kas ļauj administratoriem piesaistīt šo materiālu citās kolekcijās. Jūs varat meklēt kolekcijas un piesaistīt tās vai pārlūkot kolekciju sarakstu, uz kuru materiāls pašlaik ir piesaistīts.", + + // "item.edit.item-mapper.head": "Item Mapper - Map Item to Collections", + "item.edit.item-mapper.head": "Materiāla piesaistīšana - Piesaistīt Materiālu Kolekcijai", + + // "item.edit.item-mapper.item": "Item: \"{{name}}\"", + "item.edit.item-mapper.item": "Materiāls: \"{{name}}\"", + + // "item.edit.item-mapper.no-search": "Please enter a query to search", + "item.edit.item-mapper.no-search": "Lūdzu ievadiet vaicājumu, lai meklētu", + + // "item.edit.item-mapper.notifications.add.error.content": "Errors occurred for mapping of item to {{amount}} collections.", + "item.edit.item-mapper.notifications.add.error.content": "Radās kļūda piesaistot materiālus {{amount}} kolekcijai.", + + // "item.edit.item-mapper.notifications.add.error.head": "Mapping errors", + "item.edit.item-mapper.notifications.add.error.head": "Piesaistīšanas kļūdas", + + // "item.edit.item-mapper.notifications.add.success.content": "Successfully mapped item to {{amount}} collections.", + "item.edit.item-mapper.notifications.add.success.content": "Veiksmīgi piesaistīto materiāli {{amount}} kolekcijai.", + + // "item.edit.item-mapper.notifications.add.success.head": "Mapping completed", + "item.edit.item-mapper.notifications.add.success.head": "Piesaistīšana pabeigta", + + // "item.edit.item-mapper.notifications.remove.error.content": "Errors occurred for the removal of the mapping to {{amount}} collections.", + "item.edit.item-mapper.notifications.remove.error.content": "Rādās kļūdas noņemot piesaistes {{amount}} kolekcijām.", + + // "item.edit.item-mapper.notifications.remove.error.head": "Removal of mapping errors", + "item.edit.item-mapper.notifications.remove.error.head": "Piesaistīšanas kļūdu noņemšana", + + // "item.edit.item-mapper.notifications.remove.success.content": "Successfully removed mapping of item to {{amount}} collections.", + "item.edit.item-mapper.notifications.remove.success.content": "Veiksmīgi noņemta materiālu piesaiste {{amount}} kolekcijās.", + + // "item.edit.item-mapper.notifications.remove.success.head": "Removal of mapping completed", + "item.edit.item-mapper.notifications.remove.success.head": "Piesaistes noņemšana ir pabeigta", + + // "item.edit.item-mapper.tabs.browse": "Browse mapped collections", + "item.edit.item-mapper.tabs.browse": "Pārlūkot piesaistīās kolekcijas", + + // "item.edit.item-mapper.tabs.map": "Map new collections", + "item.edit.item-mapper.tabs.map": "Piesaistīt jaunu kolekciju", + + + + // "item.edit.metadata.add-button": "Add", + "item.edit.metadata.add-button": "Pievienot", + + // "item.edit.metadata.discard-button": "Discard", + "item.edit.metadata.discard-button": "Atmest", + + // "item.edit.metadata.edit.buttons.edit": "Edit", + "item.edit.metadata.edit.buttons.edit": "Rediģēt", + + // "item.edit.metadata.edit.buttons.remove": "Remove", + "item.edit.metadata.edit.buttons.remove": "Dzēst", + + // "item.edit.metadata.edit.buttons.undo": "Undo changes", + "item.edit.metadata.edit.buttons.undo": "Atsaukt izmaiņas", + + // "item.edit.metadata.edit.buttons.unedit": "Stop editing", + "item.edit.metadata.edit.buttons.unedit": "Pārtraukt rediģēšanu", + + // "item.edit.metadata.empty": "The item currently doesn't contain any metadata. Click Add to start adding a metadata value.", + // TODO New key - Add a translation + "item.edit.metadata.empty": "The item currently doesn't contain any metadata. Click Add to start adding a metadata value.", + + // "item.edit.metadata.headers.edit": "Edit", + "item.edit.metadata.headers.edit": "Rediģēt", + + // "item.edit.metadata.headers.field": "Field", + "item.edit.metadata.headers.field": "Lauks", + + // "item.edit.metadata.headers.language": "Lang", + "item.edit.metadata.headers.language": "Valoda", + + // "item.edit.metadata.headers.value": "Value", + "item.edit.metadata.headers.value": "Vērtība", + + // "item.edit.metadata.metadatafield.invalid": "Please choose a valid metadata field", + "item.edit.metadata.metadatafield.invalid": "Lūdzu, izvēlieties derīgu metadatu lauku", + + // "item.edit.metadata.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", + "item.edit.metadata.notifications.discarded.content": "Jūsu veiktās izmaiņas tika atmestas. Lai atjaunotu izmaiņas, noklikšķiniet uz pogas 'Atsaukt'", + + // "item.edit.metadata.notifications.discarded.title": "Changed discarded", + "item.edit.metadata.notifications.discarded.title": "Mainīts atmests", + + // "item.edit.metadata.notifications.error.title": "An error occurred", + // TODO New key - Add a translation + "item.edit.metadata.notifications.error.title": "An error occurred", + + // "item.edit.metadata.notifications.invalid.content": "Your changes were not saved. Please make sure all fields are valid before you save.", + "item.edit.metadata.notifications.invalid.content": "Jūsu veiktās izmaiņas netika saglabātas. Pirms saglabāšanas, lūdzu, pārliecinieties, vai visi lauki ir derīgi.", + + // "item.edit.metadata.notifications.invalid.title": "Metadata invalid", + "item.edit.metadata.notifications.invalid.title": "Metadati nav derīgi", + + // "item.edit.metadata.notifications.outdated.content": "The item you're currently working on has been changed by another user. Your current changes are discarded to prevent conflicts", + "item.edit.metadata.notifications.outdated.content": "Materiāls, kurā pašlaik strādājat, ir mainījis cits lietotājs. Jūsu pašreizējās izmaiņas tiek atmestas, lai novērstu konfliktus", + + // "item.edit.metadata.notifications.outdated.title": "Changed outdated", + "item.edit.metadata.notifications.outdated.title": "Mainīts novecojis", + + // "item.edit.metadata.notifications.saved.content": "Your changes to this item's metadata were saved.", + "item.edit.metadata.notifications.saved.content": "Jūsu veiktās izmaiņas šī materiāla metadatos tika saglabātas.", + + // "item.edit.metadata.notifications.saved.title": "Metadata saved", + "item.edit.metadata.notifications.saved.title": "Metadati saglabāti", + + // "item.edit.metadata.reinstate-button": "Undo", + "item.edit.metadata.reinstate-button": "Atsaukt", + + // "item.edit.metadata.save-button": "Save", + "item.edit.metadata.save-button": "Saglabāt", + + + + // "item.edit.modify.overview.field": "Field", + "item.edit.modify.overview.field": "Lauks", + + // "item.edit.modify.overview.language": "Language", + "item.edit.modify.overview.language": "Valoda", + + // "item.edit.modify.overview.value": "Value", + "item.edit.modify.overview.value": "Vērtība", + + + + // "item.edit.move.cancel": "Cancel", + "item.edit.move.cancel": "Atcelt", + + // "item.edit.move.description": "Select the collection you wish to move this item to. To narrow down the list of displayed collections, you can enter a search query in the box.", + "item.edit.move.description": "Atlasiet kolekciju, uz kuru vēlaties pārvietot šo materiālu. Lai sašaurinātu parādīto kolekciju sarakstu, lodziņā varat ievadīt meklēšanas vaicājumu.", + + // "item.edit.move.error": "An error occurred when attempting to move the item", + "item.edit.move.error": "Mēģinot pārvietot materiālu, radās kļūda", + + // "item.edit.move.head": "Move item: {{id}}", + "item.edit.move.head": "Pārvietot materiālu: {{id}}", + + // "item.edit.move.inheritpolicies.checkbox": "Inherit policies", + "item.edit.move.inheritpolicies.checkbox": "Mantot nosacījumus", + + // "item.edit.move.inheritpolicies.description": "Inherit the default policies of the destination collection", + "item.edit.move.inheritpolicies.description": "Mantot mērķa kolekcijas noklusējuma politikas", + + // "item.edit.move.move": "Move", + "item.edit.move.move": "Pārvietot", + + // "item.edit.move.processing": "Moving...", + "item.edit.move.processing": "Pārvieto...", + + // "item.edit.move.search.placeholder": "Enter a search query to look for collections", + "item.edit.move.search.placeholder": "Ievadiet meklēšanas vaicājumu, lai meklētu kolekcijas", + + // "item.edit.move.success": "The item has been moved successfully", + "item.edit.move.success": "Materiāls ir veiksmīgi pārvietots", + + // "item.edit.move.title": "Move item", + "item.edit.move.title": "Pārvietot materiālu", + + + + // "item.edit.private.cancel": "Cancel", + "item.edit.private.cancel": "Atcelt", + + // "item.edit.private.confirm": "Make it Private", + "item.edit.private.confirm": "Padarīt privātu", + + // "item.edit.private.description": "Are you sure this item should be made private in the archive?", + "item.edit.private.description": "Vai esat pārliecināts, ka šim materiālam arhīvā jābūt privātam?", + + // "item.edit.private.error": "An error occurred while making the item private", + "item.edit.private.error": "Padarot elementu privātu radās kļūda", + + // "item.edit.private.header": "Make item private: {{ id }}", + "item.edit.private.header": "Padarīt materiālu privātu: {{ id }}", + + // "item.edit.private.success": "The item is now private", + "item.edit.private.success": "Materiāls tagad ir privāts", + + + + // "item.edit.public.cancel": "Cancel", + "item.edit.public.cancel": "Atcelt", + + // "item.edit.public.confirm": "Make it Public", + "item.edit.public.confirm": "Padarīt Publisku", + + // "item.edit.public.description": "Are you sure this item should be made public in the archive?", + "item.edit.public.description": "Vai tiešām vēlaties šo vienumu publiskot arhīvā?", + + // "item.edit.public.error": "An error occurred while making the item public", + "item.edit.public.error": "Padarot elementu publisku radās kļūda", + + // "item.edit.public.header": "Make item public: {{ id }}", + "item.edit.public.header": "Padarīt materiālu publisku: {{ id }}", + + // "item.edit.public.success": "The item is now public", + "item.edit.public.success": "Materiāls tagad ir publisks", + + + + // "item.edit.reinstate.cancel": "Cancel", + "item.edit.reinstate.cancel": "Atcelt", + + // "item.edit.reinstate.confirm": "Reinstate", + "item.edit.reinstate.confirm": "Atjaunot", + + // "item.edit.reinstate.description": "Are you sure this item should be reinstated to the archive?", + "item.edit.reinstate.description": "Vai esat pārliecināts, ka šo materiālu nepieciešams atjaunot arhīvā?", + + // "item.edit.reinstate.error": "An error occurred while reinstating the item", + "item.edit.reinstate.error": "Atjaunot materiālu, radās kļūda", + + // "item.edit.reinstate.header": "Reinstate item: {{ id }}", + "item.edit.reinstate.header": "Atjaunot materiālu: {{ id }}", + + // "item.edit.reinstate.success": "The item was reinstated successfully", + "item.edit.reinstate.success": "Materiāls tika veiksmīgi atjaunots", + + + + // "item.edit.relationships.discard-button": "Discard", + "item.edit.relationships.discard-button": "Atcelt", + + // "item.edit.relationships.edit.buttons.add": "Add", + // TODO New key - Add a translation + "item.edit.relationships.edit.buttons.add": "Add", + + // "item.edit.relationships.edit.buttons.remove": "Remove", + "item.edit.relationships.edit.buttons.remove": "Dzēst", + + // "item.edit.relationships.edit.buttons.undo": "Undo changes", + "item.edit.relationships.edit.buttons.undo": "Atsaukt izmaiņas", + + // "item.edit.relationships.no-relationships": "No relationships", + // TODO New key - Add a translation + "item.edit.relationships.no-relationships": "No relationships", + + // "item.edit.relationships.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", + "item.edit.relationships.notifications.discarded.content": "Jūsu veiktās izmaiņas tika atmestas. Lai atjaunotu izmaiņas, noklikšķiniet uz pogas 'Atsaukt'", + + // "item.edit.relationships.notifications.discarded.title": "Changes discarded", + "item.edit.relationships.notifications.discarded.title": "Mainīts atmests", + + // "item.edit.relationships.notifications.failed.title": "Error editing relationships", + // TODO Source message changed - Revise the translation + "item.edit.relationships.notifications.failed.title": "Kļūda dzēšot saikni", + + // "item.edit.relationships.notifications.outdated.content": "The item you're currently working on has been changed by another user. Your current changes are discarded to prevent conflicts", + "item.edit.relationships.notifications.outdated.content": "Materiāls, kurā pašlaik strādājat, ir mainījis cits lietotājs. Jūsu pašreizējās izmaiņas tiek atmestas, lai novērstu konfliktus", + + // "item.edit.relationships.notifications.outdated.title": "Changes outdated", + "item.edit.relationships.notifications.outdated.title": "Novecojušas izmaiņas", + + // "item.edit.relationships.notifications.saved.content": "Your changes to this item's relationships were saved.", + "item.edit.relationships.notifications.saved.content": "Jūsu veiktās izmaiņas šī materiāla saiknēs tika saglabātas.", + + // "item.edit.relationships.notifications.saved.title": "Relationships saved", + "item.edit.relationships.notifications.saved.title": "Saiknes saglabātas", + + // "item.edit.relationships.reinstate-button": "Undo", + "item.edit.relationships.reinstate-button": "Atsaukt", + + // "item.edit.relationships.save-button": "Save", + "item.edit.relationships.save-button": "Saglabāt", + + // "item.edit.relationships.no-entity-type": "Add 'relationship.type' metadata to enable relationships for this item", + // TODO New key - Add a translation + "item.edit.relationships.no-entity-type": "Add 'relationship.type' metadata to enable relationships for this item", + + + + // "item.edit.tabs.bitstreams.head": "Bitstreams", + "item.edit.tabs.bitstreams.head": "Bitu straume", + + // "item.edit.tabs.bitstreams.title": "Item Edit - Bitstreams", + "item.edit.tabs.bitstreams.title": "Rediģēt Materiālu - Bitu straumes", + + // "item.edit.tabs.curate.head": "Curate", + "item.edit.tabs.curate.head": "Pārvaldīt", + + // "item.edit.tabs.curate.title": "Item Edit - Curate", + "item.edit.tabs.curate.title": "Rediģēt Materiālu - Pārvaldība", + + // "item.edit.tabs.metadata.head": "Metadata", + "item.edit.tabs.metadata.head": "Metadati", + + // "item.edit.tabs.metadata.title": "Item Edit - Metadata", + "item.edit.tabs.metadata.title": "Rediģēt Materiālu - Metadati", + + // "item.edit.tabs.relationships.head": "Relationships", + "item.edit.tabs.relationships.head": "Attiecības", + + // "item.edit.tabs.relationships.title": "Item Edit - Relationships", + "item.edit.tabs.relationships.title": "Rediģēt Materiālu - Attiecības", + + // "item.edit.tabs.status.buttons.authorizations.button": "Authorizations...", + "item.edit.tabs.status.buttons.authorizations.button": "Tiesības...", + + // "item.edit.tabs.status.buttons.authorizations.label": "Edit item's authorization policies", + "item.edit.tabs.status.buttons.authorizations.label": "Rediģēt materiāla tiesības", + + // "item.edit.tabs.status.buttons.delete.button": "Permanently delete", + "item.edit.tabs.status.buttons.delete.button": "Neatgriezeniski izdzēst", + + // "item.edit.tabs.status.buttons.delete.label": "Completely expunge item", + "item.edit.tabs.status.buttons.delete.label": "Pilnīgi izņemt materiālu", + + // "item.edit.tabs.status.buttons.mappedCollections.button": "Mapped collections", + "item.edit.tabs.status.buttons.mappedCollections.button": "Piesaistītās kolekcijas", + + // "item.edit.tabs.status.buttons.mappedCollections.label": "Manage mapped collections", + "item.edit.tabs.status.buttons.mappedCollections.label": "Pārvaldīt piesaistītās kolekcijas", + + // "item.edit.tabs.status.buttons.move.button": "Move...", + "item.edit.tabs.status.buttons.move.button": "Pārvieto...", + + // "item.edit.tabs.status.buttons.move.label": "Move item to another collection", + "item.edit.tabs.status.buttons.move.label": "Pārvietot materiālu uz citu kolekciju", + + // "item.edit.tabs.status.buttons.private.button": "Make it private...", + "item.edit.tabs.status.buttons.private.button": "Padarīt to privātu...", + + // "item.edit.tabs.status.buttons.private.label": "Make item private", + "item.edit.tabs.status.buttons.private.label": "Padarīt materiālu privātu", + + // "item.edit.tabs.status.buttons.public.button": "Make it public...", + "item.edit.tabs.status.buttons.public.button": "Padarīt to publisku...", + + // "item.edit.tabs.status.buttons.public.label": "Make item public", + "item.edit.tabs.status.buttons.public.label": "Padarīt materiālu publisku", + + // "item.edit.tabs.status.buttons.reinstate.button": "Reinstate...", + "item.edit.tabs.status.buttons.reinstate.button": "Atjaunot...", + + // "item.edit.tabs.status.buttons.reinstate.label": "Reinstate item into the repository", + "item.edit.tabs.status.buttons.reinstate.label": "Atjaunot materiālu repozitorijā", + + // "item.edit.tabs.status.buttons.withdraw.button": "Withdraw...", + "item.edit.tabs.status.buttons.withdraw.button": "Atsaukt...", + + // "item.edit.tabs.status.buttons.withdraw.label": "Withdraw item from the repository", + "item.edit.tabs.status.buttons.withdraw.label": "Izņemiet materiālu no repozitorijas", + + // "item.edit.tabs.status.description": "Welcome to the item management page. From here you can withdraw, reinstate, move or delete the item. You may also update or add new metadata / bitstreams on the other tabs.", + "item.edit.tabs.status.description": "Laipni lūdzam vienumu pārvaldības lapā. Šeit jūs varat materiālu izņemt, atjaunot, pārvietot vai izdzēst. Citās cilnēs varat arī atjaunināt vai pievienot jaunus metadatus / bitu straumes.", + + // "item.edit.tabs.status.head": "Status", + "item.edit.tabs.status.head": "Status", + + // "item.edit.tabs.status.labels.handle": "Handle", + "item.edit.tabs.status.labels.handle": "Apstrāde", + + // "item.edit.tabs.status.labels.id": "Item Internal ID", + "item.edit.tabs.status.labels.id": "Materiāla Iekšējais ID", + + // "item.edit.tabs.status.labels.itemPage": "Item Page", + "item.edit.tabs.status.labels.itemPage": "Materiāla Lapa", + + // "item.edit.tabs.status.labels.lastModified": "Last Modified", + "item.edit.tabs.status.labels.lastModified": "Pēdējo reizi modificēts", + + // "item.edit.tabs.status.title": "Item Edit - Status", + "item.edit.tabs.status.title": "Rediģēt Materiālu - Statuss", + + // "item.edit.tabs.versionhistory.head": "Version History", + "item.edit.tabs.versionhistory.head": "Versiju Vēsture", + + // "item.edit.tabs.versionhistory.title": "Item Edit - Version History", + "item.edit.tabs.versionhistory.title": "Rediģēt Materiālu - Versiju Vēsture", + + // "item.edit.tabs.versionhistory.under-construction": "Editing or adding new versions is not yet possible in this user interface.", + "item.edit.tabs.versionhistory.under-construction": "Šajā lietotāja saskarnē vēl nav iespējams ienākt vai pievienot jaunas versijas.", + + // "item.edit.tabs.view.head": "View Item", + "item.edit.tabs.view.head": "Skatīt Materiālu", + + // "item.edit.tabs.view.title": "Item Edit - View", + "item.edit.tabs.view.title": "Materiāla Rediģēšana - Skats", + + + + // "item.edit.withdraw.cancel": "Cancel", + "item.edit.withdraw.cancel": "Atcelt", + + // "item.edit.withdraw.confirm": "Withdraw", + "item.edit.withdraw.confirm": "Atsaukt", + + // "item.edit.withdraw.description": "Are you sure this item should be withdrawn from the archive?", + "item.edit.withdraw.description": "Vai esat pārliecināts, ka šo materiālu vajadzētu izņemt no arhīva?", + + // "item.edit.withdraw.error": "An error occurred while withdrawing the item", + "item.edit.withdraw.error": "Izņemot materiālu, radās kļūda", + + // "item.edit.withdraw.header": "Withdraw item: {{ id }}", + "item.edit.withdraw.header": "Izņemt materiālu: {{ id }}", + + // "item.edit.withdraw.success": "The item was withdrawn successfully", + "item.edit.withdraw.success": "Materiāls tika veiksmīgi izņemts", + + + + // "item.listelement.badge": "Item", + // TODO New key - Add a translation + "item.listelement.badge": "Item", + + // "item.page.description": "Description", + // TODO New key - Add a translation + "item.page.description": "Description", + + // "item.page.edit": "Edit this item", + // TODO New key - Add a translation + "item.page.edit": "Edit this item", + + // "item.page.journal-issn": "Journal ISSN", + // TODO New key - Add a translation + "item.page.journal-issn": "Journal ISSN", + + // "item.page.journal-title": "Journal Title", + // TODO New key - Add a translation + "item.page.journal-title": "Journal Title", + + // "item.page.publisher": "Publisher", + // TODO New key - Add a translation + "item.page.publisher": "Publisher", + + // "item.page.titleprefix": "Item: ", + // TODO New key - Add a translation + "item.page.titleprefix": "Item: ", + + // "item.page.volume-title": "Volume Title", + // TODO New key - Add a translation + "item.page.volume-title": "Volume Title", + + // "item.search.results.head": "Item Search Results", + // TODO New key - Add a translation + "item.search.results.head": "Item Search Results", + + // "item.search.title": "DSpace Angular :: Item Search", + // TODO New key - Add a translation + "item.search.title": "DSpace Angular :: Item Search", + + + + // "item.page.abstract": "Abstract", + "item.page.abstract": "Kopsavilkums", + + // "item.page.author": "Authors", + "item.page.author": "Autori", + + // "item.page.citation": "Citation", + "item.page.citation": "Citēšana", + + // "item.page.collections": "Collections", + "item.page.collections": "Kolekcijas", + + // "item.page.date": "Date", + "item.page.date": "Datums", + + // "item.page.edit": "Edit this item", + // TODO New key - Add a translation + "item.page.edit": "Edit this item", + + // "item.page.files": "Files", + "item.page.files": "Faili", + + // "item.page.filesection.description": "Description:", + "item.page.filesection.description": "Apraksts:", + + // "item.page.filesection.download": "Download", + "item.page.filesection.download": "Lejupielādēt", + + // "item.page.filesection.format": "Format:", + "item.page.filesection.format": "Formāts:", + + // "item.page.filesection.name": "Name:", + "item.page.filesection.name": "Nosaukums:", + + // "item.page.filesection.size": "Size:", + "item.page.filesection.size": "Izmērs:", + + // "item.page.journal.search.title": "Articles in this journal", + "item.page.journal.search.title": "Raksti šajā žurnālā", + + // "item.page.link.full": "Full item page", + "item.page.link.full": "Pilna materiālu lapa", + + // "item.page.link.simple": "Simple item page", + "item.page.link.simple": "Vienkārša materiālu lapa", + + // "item.page.person.search.title": "Articles by this author", + "item.page.person.search.title": "Šī autora raksti", + + // "item.page.related-items.view-more": "Show {{ amount }} more", + "item.page.related-items.view-more": "Parādīt {{ amount }} vairāk", + + // "item.page.related-items.view-less": "Hide last {{ amount }}", + "item.page.related-items.view-less": "Paslēpt pēdējo {{ amount }}", + + // "item.page.relationships.isAuthorOfPublication": "Publications", + "item.page.relationships.isAuthorOfPublication": "Publikācijas", + + // "item.page.relationships.isJournalOfPublication": "Publications", + "item.page.relationships.isJournalOfPublication": "Publikācijas", + + // "item.page.relationships.isOrgUnitOfPerson": "Authors", + "item.page.relationships.isOrgUnitOfPerson": "Autori", + + // "item.page.relationships.isOrgUnitOfProject": "Research Projects", + "item.page.relationships.isOrgUnitOfProject": "Pētniecības projekti", + + // "item.page.subject": "Keywords", + "item.page.subject": "Atslēgas vārdi", + + // "item.page.uri": "URI", + "item.page.uri": "URI", + + // "item.page.bitstreams.view-more": "Show more", + // TODO New key - Add a translation + "item.page.bitstreams.view-more": "Show more", + + // "item.page.bitstreams.collapse": "Collapse", + // TODO New key - Add a translation + "item.page.bitstreams.collapse": "Collapse", + + // "item.page.filesection.original.bundle" : "Original bundle", + // TODO New key - Add a translation + "item.page.filesection.original.bundle" : "Original bundle", + + // "item.page.filesection.license.bundle" : "License bundle", + // TODO New key - Add a translation + "item.page.filesection.license.bundle" : "License bundle", + + // "item.preview.dc.identifier.uri": "Identifier:", + // TODO New key - Add a translation + "item.preview.dc.identifier.uri": "Identifier:", + + // "item.preview.dc.contributor.author": "Authors:", + // TODO New key - Add a translation + "item.preview.dc.contributor.author": "Authors:", + + // "item.preview.dc.date.issued": "Published date:", + // TODO New key - Add a translation + "item.preview.dc.date.issued": "Published date:", + + // "item.preview.dc.description.abstract": "Abstract:", + // TODO New key - Add a translation + "item.preview.dc.description.abstract": "Abstract:", + + // "item.preview.dc.identifier.other": "Other identifier:", + // TODO New key - Add a translation + "item.preview.dc.identifier.other": "Other identifier:", + + // "item.preview.dc.language.iso": "Language:", + // TODO New key - Add a translation + "item.preview.dc.language.iso": "Language:", + + // "item.preview.dc.subject": "Subjects:", + // TODO New key - Add a translation + "item.preview.dc.subject": "Subjects:", + + // "item.preview.dc.title": "Title:", + // TODO New key - Add a translation + "item.preview.dc.title": "Title:", + + // "item.preview.person.familyName": "Surname:", + // TODO New key - Add a translation + "item.preview.person.familyName": "Surname:", + + // "item.preview.person.givenName": "Name:", + // TODO New key - Add a translation + "item.preview.person.givenName": "Name:", + + // "item.preview.person.identifier.orcid": "ORCID:", + // TODO New key - Add a translation + "item.preview.person.identifier.orcid": "ORCID:", + + + // "item.select.confirm": "Confirm selected", + "item.select.confirm": "Apstiprināt izvēlētos", + + // "item.select.empty": "No items to show", + "item.select.empty": "Ieraksti nav atrasti", + + // "item.select.table.author": "Author", + "item.select.table.author": "Autors", + + // "item.select.table.collection": "Collection", + "item.select.table.collection": "Kolekcija", + + // "item.select.table.title": "Title", + "item.select.table.title": "Nosaukums", + + + // "item.version.history.empty": "There are no other versions for this item yet.", + "item.version.history.empty": "Šim materiālam vēl nav citu versiju.", + + // "item.version.history.head": "Version History", + "item.version.history.head": "Versiju Vēsture", + + // "item.version.history.return": "Return", + "item.version.history.return": "Atgriezties", + + // "item.version.history.selected": "Selected version", + "item.version.history.selected": "Izvēlētā versija", + + // "item.version.history.table.version": "Version", + "item.version.history.table.version": "Versija", + + // "item.version.history.table.item": "Item", + "item.version.history.table.item": "Materiāls", + + // "item.version.history.table.editor": "Editor", + "item.version.history.table.editor": "Redaktors", + + // "item.version.history.table.date": "Date", + "item.version.history.table.date": "Datums", + + // "item.version.history.table.summary": "Summary", + "item.version.history.table.summary": "Kopsavilkums", + + + + // "item.version.notice": "This is not the latest version of this item. The latest version can be found here.", + "item.version.notice": "Šī nav jaunākā šī materiāla versija. Jaunāko versiju var atrast here.", + + + + // "journal.listelement.badge": "Journal", + "journal.listelement.badge": "Žurnāls", + + // "journal.page.description": "Description", + "journal.page.description": "Apraksts", + + // "journal.page.edit": "Edit this item", + // TODO New key - Add a translation + "journal.page.edit": "Edit this item", + + // "journal.page.editor": "Editor-in-Chief", + "journal.page.editor": "Galvenais Radaktors", + + // "journal.page.issn": "ISSN", + "journal.page.issn": "ISSN", + + // "journal.page.publisher": "Publisher", + "journal.page.publisher": "Izdevējs", + + // "journal.page.titleprefix": "Journal: ", + "journal.page.titleprefix": "Žurnāls: ", + + // "journal.search.results.head": "Journal Search Results", + "journal.search.results.head": "Žurnālu meklēšanas rezultāti", + + // "journal.search.title": "DSpace Angular :: Journal Search", + "journal.search.title": "DSpace Angular :: Žurnālu Meklēšana", + + + + // "journalissue.listelement.badge": "Journal Issue", + "journalissue.listelement.badge": "Žurnāla izdevums", + + // "journalissue.page.description": "Description", + "journalissue.page.description": "Apraksts", + + // "journalissue.page.edit": "Edit this item", + // TODO New key - Add a translation + "journalissue.page.edit": "Edit this item", + + // "journalissue.page.issuedate": "Issue Date", + "journalissue.page.issuedate": "Izdošanas Datums", + + // "journalissue.page.journal-issn": "Journal ISSN", + "journalissue.page.journal-issn": "Žurnāla ISSN", + + // "journalissue.page.journal-title": "Journal Title", + "journalissue.page.journal-title": "Žurnāla nosaukums", + + // "journalissue.page.keyword": "Keywords", + "journalissue.page.keyword": "Atslēgas vārdi", + + // "journalissue.page.number": "Number", + "journalissue.page.number": "Numurs", + + // "journalissue.page.titleprefix": "Journal Issue: ", + "journalissue.page.titleprefix": "Žurnāla izdevums: ", + + + + // "journalvolume.listelement.badge": "Journal Volume", + "journalvolume.listelement.badge": "Žurnāla sējums", + + // "journalvolume.page.description": "Description", + "journalvolume.page.description": "Apraksts", + + // "journalvolume.page.edit": "Edit this item", + // TODO New key - Add a translation + "journalvolume.page.edit": "Edit this item", + + // "journalvolume.page.issuedate": "Issue Date", + "journalvolume.page.issuedate": "Izdošanas Datums", + + // "journalvolume.page.titleprefix": "Journal Volume: ", + "journalvolume.page.titleprefix": "Žurnāla sējums: ", + + // "journalvolume.page.volume": "Volume", + "journalvolume.page.volume": "Sējums", + + + + // "loading.bitstream": "Loading bitstream...", + "loading.bitstream": "Notiek bitu straumes ielāde...", + + // "loading.bitstreams": "Loading bitstreams...", + "loading.bitstreams": "Notiek bitu straumes ielāde...", + + // "loading.browse-by": "Loading items...", + "loading.browse-by": "Notiek materiālu ielāde...", + + // "loading.browse-by-page": "Loading page...", + "loading.browse-by-page": "Notiek lapas ielāde...", + + // "loading.collection": "Loading collection...", + "loading.collection": "Notiek kolekcijas ielāde...", + + // "loading.collections": "Loading collections...", + "loading.collections": "Notiek kolekciju ielāde...", + + // "loading.content-source": "Loading content source...", + "loading.content-source": "Notiek satura avota ielāde...", + + // "loading.community": "Loading community...", + "loading.community": "Notiek kategoriju ielāde...", + + // "loading.default": "Loading...", + "loading.default": "Notiek ielāde...", + + // "loading.item": "Loading item...", + "loading.item": "Notiek materiāla ielāde...", + + // "loading.items": "Loading items...", + "loading.items": "Notiek materiālu ielāde...", + + // "loading.mydspace-results": "Loading items...", + "loading.mydspace-results": "Notiek materiālu ielāde..", + + // "loading.objects": "Loading...", + "loading.objects": "Notiek ielāde...", + + // "loading.recent-submissions": "Loading recent submissions...", + "loading.recent-submissions": "Notiek neseno iesniegumu ielāde...", + + // "loading.search-results": "Loading search results...", + "loading.search-results": "Notiek maklēšanas rezulātu ielāde...", + + // "loading.sub-collections": "Loading sub-collections...", + "loading.sub-collections": "Notiek apakškolekciju ielāde...", + + // "loading.sub-communities": "Loading sub-communities...", + "loading.sub-communities": "Notiek apakškategoriju ielāde...", + + // "loading.top-level-communities": "Loading top-level communities...", + "loading.top-level-communities": "Notiek augstākā līmeņa kategorju ielāde...", + + + + // "login.form.email": "Email address", + "login.form.email": "E-pasta adrese", + + // "login.form.forgot-password": "Have you forgotten your password?", + "login.form.forgot-password": "Vai esat aizmirsis paroli?", + + // "login.form.header": "Please log in to DSpace", + "login.form.header": "Lūdzu pieslēdzieties DSpace", + + // "login.form.new-user": "New user? Click here to register.", + "login.form.new-user": "Jauns lietotājs? Noklikšķiniet šeit, lai reģistrētos.", + + // "login.form.or-divider": "or", + "login.form.or-divider": "vai", + + // "login.form.password": "Password", + "login.form.password": "Parole", + + // "login.form.shibboleth": "Log in with Shibboleth", + "login.form.shibboleth": "Pieslēgties ar Shibboleth", + + // "login.form.submit": "Log in", + "login.form.submit": "Pieslēgties", + + // "login.title": "Login", + "login.title": "Pierakstīties", + + // "login.breadcrumbs": "Login", + "login.breadcrumbs": "Pierakstīties", + + + + // "logout.form.header": "Log out from DSpace", + "logout.form.header": "Izrakstīties no DSpace", + + // "logout.form.submit": "Log out", + "logout.form.submit": "Izrakstīties", + + // "logout.title": "Logout", + "logout.title": "Izrakstīties", + + + + // "menu.header.admin": "Admin", + "menu.header.admin": "Administrators", + + // "menu.header.image.logo": "Repository logo", + "menu.header.image.logo": "Repozitorijas logotips", + + + + // "menu.section.access_control": "Access Control", + "menu.section.access_control": "Piekļuves kontrole", + + // "menu.section.access_control_authorizations": "Authorizations", + "menu.section.access_control_authorizations": "Pilnvaras", + + // "menu.section.access_control_groups": "Groups", + "menu.section.access_control_groups": "Grupas", + + // "menu.section.access_control_people": "People", + "menu.section.access_control_people": "Personas", + + + // "menu.section.admin_search": "Admin Search", "menu.section.admin_search": "Administratora Meklēšana", - - - + + + + // "menu.section.browse_community": "This Community", + "menu.section.browse_community": "Šī kategorija", + + // "menu.section.browse_community_by_author": "By Author", + "menu.section.browse_community_by_author": "Pēc Autora", + + // "menu.section.browse_community_by_issue_date": "By Issue Date", + "menu.section.browse_community_by_issue_date": "Pēc Izdošanas Datuma", + + // "menu.section.browse_community_by_title": "By Title", + "menu.section.browse_community_by_title": "Pēc Nosaukuma", + + // "menu.section.browse_global": "All of DSpace", + "menu.section.browse_global": "Viss no DSpace", + + // "menu.section.browse_global_by_author": "By Author", + "menu.section.browse_global_by_author": "Pēc Autora", + + // "menu.section.browse_global_by_dateissued": "By Issue Date", + "menu.section.browse_global_by_dateissued": "Pēc Izdošanas Datuma", + + // "menu.section.browse_global_by_subject": "By Subject", + "menu.section.browse_global_by_subject": "Pēc Priekšmeta", + + // "menu.section.browse_global_by_title": "By Title", + "menu.section.browse_global_by_title": "Pēc Nosaukuma", + + // "menu.section.browse_global_communities_and_collections": "Communities & Collections", + "menu.section.browse_global_communities_and_collections": "Kategorijas & Kolekcijas", + + + + // "menu.section.control_panel": "Control Panel", + "menu.section.control_panel": "Vadības Panelis", + + // "menu.section.curation_task": "Curation Task", + "menu.section.curation_task": "Kuratora Uzdevums", + + + + // "menu.section.edit": "Edit", + "menu.section.edit": "Rediģēt", + + // "menu.section.edit_collection": "Collection", + "menu.section.edit_collection": "Kolekcija", + + // "menu.section.edit_community": "Community", + "menu.section.edit_community": "Kategorija", + + // "menu.section.edit_item": "Item", + "menu.section.edit_item": "Materiāls", + + + + // "menu.section.export": "Export", + "menu.section.export": "Eksportēt", + + // "menu.section.export_collection": "Collection", + "menu.section.export_collection": "Kolekcija", + + // "menu.section.export_community": "Community", + "menu.section.export_community": "Kategorija", + + // "menu.section.export_item": "Item", + "menu.section.export_item": "Materiāls", + + // "menu.section.export_metadata": "Metadata", + "menu.section.export_metadata": "Metadati", + + + + // "menu.section.icon.access_control": "Access Control menu section", + "menu.section.icon.access_control": "Piekļuves kontroles izvēlnes sadaļa", + + // "menu.section.icon.admin_search": "Admin search menu section", + "menu.section.icon.admin_search": "Administratoru meklēšanas izvēlnes sadaļa", + + // "menu.section.icon.control_panel": "Control Panel menu section", + "menu.section.icon.control_panel": "Vadības paneļa izvēlnes sadaļa", + + // "menu.section.icon.curation_task": "Curation Task menu section", + "menu.section.icon.curation_task": "Kuratora uzdevumu izvēlnes sadaļa", + + // "menu.section.icon.edit": "Edit menu section", + "menu.section.icon.edit": "Labot izvēlnes sadaļu", + + // "menu.section.icon.export": "Export menu section", + "menu.section.icon.export": "Eksportēt izvēlnes sadaļu", + + // "menu.section.icon.find": "Find menu section", + "menu.section.icon.find": "Atrast izvēlnes sadaļu", + + // "menu.section.icon.import": "Import menu section", + "menu.section.icon.import": "Importēt izvēlnes sadaļa", + + // "menu.section.icon.new": "New menu section", + "menu.section.icon.new": "Jauna izvēlnes sadaļa", + + // "menu.section.icon.pin": "Pin sidebar", + "menu.section.icon.pin": "Piespraust sānjoslu", + + // "menu.section.icon.processes": "Processes menu section", + // TODO New key - Add a translation + "menu.section.icon.processes": "Processes menu section", + + // "menu.section.icon.registries": "Registries menu section", + "menu.section.icon.registries": "Reģistru izvēlnes sadaļa", + + // "menu.section.icon.statistics_task": "Statistics Task menu section", + "menu.section.icon.statistics_task": "Statistkas uzdevumu izvēlnes sadaļa", + + // "menu.section.icon.unpin": "Unpin sidebar", + "menu.section.icon.unpin": "Atspraust sānjoslu", + + + + // "menu.section.import": "Import", + "menu.section.import": "Importēt", + + // "menu.section.import_batch": "Batch Import (ZIP)", + "menu.section.import_batch": "Importēt (ZIP)", + + // "menu.section.import_metadata": "Metadata", + "menu.section.import_metadata": "Metadati", + + + + // "menu.section.new": "New", + "menu.section.new": "Jauns", + + // "menu.section.new_collection": "Collection", + "menu.section.new_collection": "Kolekcija", + + // "menu.section.new_community": "Community", + "menu.section.new_community": "Kategorija", + + // "menu.section.new_item": "Item", + "menu.section.new_item": "Materiāls", + + // "menu.section.new_item_version": "Item Version", + "menu.section.new_item_version": "Materiāla Versija", + + // "menu.section.new_process": "Process", + // TODO New key - Add a translation + "menu.section.new_process": "Process", + + + + // "menu.section.pin": "Pin sidebar", + "menu.section.pin": "Piespraust sānjoslu", + + // "menu.section.unpin": "Unpin sidebar", + "menu.section.unpin": "Atspraust sānjoslu", + + + + // "menu.section.processes": "Processes", + "menu.section.processes": "Procesi", + + + + // "menu.section.registries": "Registries", + "menu.section.registries": "Reģistri", + + // "menu.section.registries_format": "Format", + "menu.section.registries_format": "Formāts", + + // "menu.section.registries_metadata": "Metadata", + "menu.section.registries_metadata": "Metadati", + + + + // "menu.section.statistics": "Statistics", + "menu.section.statistics": "Statistika", + + // "menu.section.statistics_task": "Statistics Task", + "menu.section.statistics_task": "Statistikas Uzdevumi", + + + + // "menu.section.toggle.access_control": "Toggle Access Control section", + "menu.section.toggle.access_control": "Pārslēgt Piekļuvas Kontronles sadaļu", + + // "menu.section.toggle.control_panel": "Toggle Control Panel section", + "menu.section.toggle.control_panel": "Pārslēgt Vadības Paneļa sadaļu", + + // "menu.section.toggle.curation_task": "Toggle Curation Task section", + "menu.section.toggle.curation_task": "Pārslēgt Kuratora Uzdevumu sadaļu", + + // "menu.section.toggle.edit": "Toggle Edit section", + "menu.section.toggle.edit": "Pārslēgt Rediģēt sadaļu", + + // "menu.section.toggle.export": "Toggle Export section", + "menu.section.toggle.export": "Pārslēgt Eksportēt sadaļu", + + // "menu.section.toggle.find": "Toggle Find section", + "menu.section.toggle.find": "Pārslēgt Meklēt sadaļu", + + // "menu.section.toggle.import": "Toggle Import section", + "menu.section.toggle.import": "Pārslēgt Importēt sadaļu", + + // "menu.section.toggle.new": "Toggle New section", + "menu.section.toggle.new": "Pārslēgt Jauns sadaļu", + + // "menu.section.toggle.registries": "Toggle Registries section", + "menu.section.toggle.registries": "Pārslēgt Reģistru sadaļu", + + // "menu.section.toggle.statistics_task": "Toggle Statistics Task section", + "menu.section.toggle.statistics_task": "Pārslēgt Statistikas Uzdevumu sadaļu", + + + // "menu.section.workflow": "Administer Workflow", + // TODO Source message changed - Revise the translation + "menu.section.workflow": "Administrēt darba plūsmu", + + + // "mydspace.description": "", + "mydspace.description": "", + + // "mydspace.general.text-here": "here", + // TODO Source message changed - Revise the translation + "mydspace.general.text-here": "ŠEIT", + + // "mydspace.messages.controller-help": "Select this option to send a message to item's submitter.", + "mydspace.messages.controller-help": "Atlasiet šo opciju, lai nosūtītu materiāla objekta iesniedzējam.", + + // "mydspace.messages.description-placeholder": "Insert your message here...", + "mydspace.messages.description-placeholder": "Ievietojiet savu ziņojumu šeit ...", + + // "mydspace.messages.hide-msg": "Hide message", + "mydspace.messages.hide-msg": "Paslēpt ziņojumu", + + // "mydspace.messages.mark-as-read": "Mark as read", + "mydspace.messages.mark-as-read": "Atzīmēt kā lasītu", + + // "mydspace.messages.mark-as-unread": "Mark as unread", + "mydspace.messages.mark-as-unread": "Atzīmēt kā nelasītu", + + // "mydspace.messages.no-content": "No content.", + "mydspace.messages.no-content": "Nav satura.", + + // "mydspace.messages.no-messages": "No messages yet.", + "mydspace.messages.no-messages": "Nav paziņojumu.", + + // "mydspace.messages.send-btn": "Send", + "mydspace.messages.send-btn": "Sūtīt", + + // "mydspace.messages.show-msg": "Show message", + "mydspace.messages.show-msg": "Parādīt ziņu", + + // "mydspace.messages.subject-placeholder": "Subject...", + "mydspace.messages.subject-placeholder": "Priekšmets...", + + // "mydspace.messages.submitter-help": "Select this option to send a message to controller.", + "mydspace.messages.submitter-help": "Atlasiet šo opciju, lai nosūtītu ziņojumu kontrolierim.", + + // "mydspace.messages.title": "Messages", + "mydspace.messages.title": "Vēstules", + + // "mydspace.messages.to": "To", + "mydspace.messages.to": "Uz", + + // "mydspace.new-submission": "New submission", + "mydspace.new-submission": "Jauns iesniegums", + + // "mydspace.new-submission-external": "Import metadata from external source", + // TODO New key - Add a translation + "mydspace.new-submission-external": "Import metadata from external source", + + // "mydspace.new-submission-external-short": "Import metadata", + // TODO New key - Add a translation + "mydspace.new-submission-external-short": "Import metadata", + + // "mydspace.results.head": "Your submissions", + "mydspace.results.head": "Jūsu iesniegumi", + + // "mydspace.results.no-abstract": "No Abstract", + "mydspace.results.no-abstract": "Nav Kopsavilkums", + + // "mydspace.results.no-authors": "No Authors", + "mydspace.results.no-authors": "Nav Autoru", + + // "mydspace.results.no-collections": "No Collections", + "mydspace.results.no-collections": "Nav Kolekcijas", + + // "mydspace.results.no-date": "No Date", + "mydspace.results.no-date": "Nav Datuma", + + // "mydspace.results.no-files": "No Files", + "mydspace.results.no-files": "Nav Failu", + + // "mydspace.results.no-results": "There were no items to show", + "mydspace.results.no-results": "Nav materiālu, ko parādīt", + + // "mydspace.results.no-title": "No title", + "mydspace.results.no-title": "Nav Nosaukuma", + + // "mydspace.results.no-uri": "No Uri", + "mydspace.results.no-uri": "Nav Uri", + + // "mydspace.show.workflow": "All tasks", + "mydspace.show.workflow": "Visi uzdevumi", + + // "mydspace.show.workspace": "Your Submissions", + "mydspace.show.workspace": "Jūsu Iesniegumi", + + // "mydspace.status.archived": "Archived", + "mydspace.status.archived": "Arhivēts", + + // "mydspace.status.validation": "Validation", + "mydspace.status.validation": "Validācija", + + // "mydspace.status.waiting-for-controller": "Waiting for controller", + "mydspace.status.waiting-for-controller": "Gaida kontrolieri", + + // "mydspace.status.workflow": "Workflow", + "mydspace.status.workflow": "Darba plūsma", + + // "mydspace.status.workspace": "Workspace", + "mydspace.status.workspace": "Darbavieta", + + // "mydspace.title": "MyDSpace", + "mydspace.title": "Mans DSpace", + + // "mydspace.upload.upload-failed": "Error creating new workspace. Please verify the content uploaded before retry.", + "mydspace.upload.upload-failed": "Veidojot jaunu darbvietu, radās kļūda. Lūdzu pārbaudiet augšupielādēto saturu pirms mēģiniet vēlreiz.", + + // "mydspace.upload.upload-failed-manyentries": "Unprocessable file. Detected too many entries but allowed only one for file.", + // TODO New key - Add a translation + "mydspace.upload.upload-failed-manyentries": "Unprocessable file. Detected too many entries but allowed only one for file.", + + // "mydspace.upload.upload-failed-moreonefile": "Unprocessable request. Only one file is allowed.", + // TODO New key - Add a translation + "mydspace.upload.upload-failed-moreonefile": "Unprocessable request. Only one file is allowed.", + + // "mydspace.upload.upload-multiple-successful": "{{qty}} new workspace items created.", + "mydspace.upload.upload-multiple-successful": "{{qty}} izveidoti jauni darbvietas materiāli.", + + // "mydspace.upload.upload-successful": "New workspace item created. Click {{here}} for edit it.", + "mydspace.upload.upload-successful": "Ir izveidots jauns darbvietas materiāls. Noklikšķiniet {{here}}, lai to rediģētu.", + + // "mydspace.view-btn": "View", + "mydspace.view-btn": "Skatīt", + + + + // "nav.browse.header": "All of DSpace", + "nav.browse.header": "Viss no DSpace", + + // "nav.community-browse.header": "By Community", + "nav.community-browse.header": "Pēc Kategorijas", + + // "nav.language": "Language switch", + "nav.language": "Valodas maiņa", + + // "nav.login": "Log In", + "nav.login": "Pieslēgties", + + // "nav.logout": "Log Out", + "nav.logout": "Izrakstīties", + + // "nav.mydspace": "MyDSpace", + "nav.mydspace": "Mans DSpace", + + // "nav.profile": "Profile", + "nav.profile": "Profils", + + // "nav.search": "Search", + "nav.search": "Meklēt", + + // "nav.statistics.header": "Statistics", + "nav.statistics.header": "Statistika", + + // "nav.stop-impersonating": "Stop impersonating EPerson", + // TODO New key - Add a translation + "nav.stop-impersonating": "Stop impersonating EPerson", + + + + // "orgunit.listelement.badge": "Organizational Unit", + "orgunit.listelement.badge": "Struktūrvienība", + + // "orgunit.page.city": "City", + "orgunit.page.city": "Pilsēta", + + // "orgunit.page.country": "Country", + "orgunit.page.country": "Valsts", + + // "orgunit.page.dateestablished": "Date established", + "orgunit.page.dateestablished": "Dibināšanas datums", + + // "orgunit.page.description": "Description", + "orgunit.page.description": "Apraksts", + + // "orgunit.page.edit": "Edit this item", + // TODO New key - Add a translation + "orgunit.page.edit": "Edit this item", + + // "orgunit.page.id": "ID", + "orgunit.page.id": "ID", + + // "orgunit.page.titleprefix": "Organizational Unit: ", + "orgunit.page.titleprefix": "Struktūrvienība: ", + + + + // "pagination.results-per-page": "Results Per Page", + "pagination.results-per-page": "Rezultāti vienā lapā", + + // "pagination.showing.detail": "{{ range }} of {{ total }}", + "pagination.showing.detail": "{{ range }} no {{ total }}", + + // "pagination.showing.label": "Now showing ", + "pagination.showing.label": "Tagad rāda ", + + // "pagination.sort-direction": "Sort Options", + "pagination.sort-direction": "Kārtošanas iespējas", + + + + // "person.listelement.badge": "Person", + "person.listelement.badge": "Persona", + + // "person.listelement.no-title": "No name found", + // TODO New key - Add a translation + "person.listelement.no-title": "No name found", + + // "person.page.birthdate": "Birth Date", + "person.page.birthdate": "Dzimšanas datums", + + // "person.page.edit": "Edit this item", + // TODO New key - Add a translation + "person.page.edit": "Edit this item", + + // "person.page.email": "Email Address", + "person.page.email": "E-pasta adrese", + + // "person.page.firstname": "First Name", + "person.page.firstname": "Vārds", + + // "person.page.jobtitle": "Job Title", + "person.page.jobtitle": "Ieņemamais amats", + + // "person.page.lastname": "Last Name", + "person.page.lastname": "Uzvārds", + + // "person.page.link.full": "Show all metadata", + "person.page.link.full": "Parādīt visus metadatus", + + // "person.page.orcid": "ORCID", + "person.page.orcid": "ORCID", + + // "person.page.staffid": "Staff ID", + "person.page.staffid": "Personāla ID", + + // "person.page.titleprefix": "Person: ", + "person.page.titleprefix": "Persona: ", + + // "person.search.results.head": "Person Search Results", + "person.search.results.head": "Personas meklēšanas rezultāti", + + // "person.search.title": "DSpace Angular :: Person Search", + "person.search.title": "DSpace Angular :: Personas Meklēšana", + + + + // "process.new.select-parameters": "Parameters", + // TODO New key - Add a translation + "process.new.select-parameters": "Parameters", + + // "process.new.cancel": "Cancel", + // TODO New key - Add a translation + "process.new.cancel": "Cancel", + + // "process.new.submit": "Submit", + // TODO New key - Add a translation + "process.new.submit": "Submit", + + // "process.new.select-script": "Script", + // TODO New key - Add a translation + "process.new.select-script": "Script", + + // "process.new.select-script.placeholder": "Choose a script...", + // TODO New key - Add a translation + "process.new.select-script.placeholder": "Choose a script...", + + // "process.new.select-script.required": "Script is required", + // TODO New key - Add a translation + "process.new.select-script.required": "Script is required", + + // "process.new.parameter.file.upload-button": "Select file...", + // TODO New key - Add a translation + "process.new.parameter.file.upload-button": "Select file...", + + // "process.new.parameter.file.required": "Please select a file", + // TODO New key - Add a translation + "process.new.parameter.file.required": "Please select a file", + + // "process.new.parameter.string.required": "Parameter value is required", + // TODO New key - Add a translation + "process.new.parameter.string.required": "Parameter value is required", + + // "process.new.parameter.type.value": "value", + // TODO New key - Add a translation + "process.new.parameter.type.value": "value", + + // "process.new.parameter.type.file": "file", + // TODO New key - Add a translation + "process.new.parameter.type.file": "file", + + // "process.new.parameter.required.missing": "The following parameters are required but still missing:", + // TODO New key - Add a translation + "process.new.parameter.required.missing": "The following parameters are required but still missing:", + + // "process.new.notification.success.title": "Success", + // TODO New key - Add a translation + "process.new.notification.success.title": "Success", + + // "process.new.notification.success.content": "The process was successfully created", + // TODO New key - Add a translation + "process.new.notification.success.content": "The process was successfully created", + + // "process.new.notification.error.title": "Error", + // TODO New key - Add a translation + "process.new.notification.error.title": "Error", + + // "process.new.notification.error.content": "An error occurred while creating this process", + // TODO New key - Add a translation + "process.new.notification.error.content": "An error occurred while creating this process", + + // "process.new.header": "Create a new process", + // TODO New key - Add a translation + "process.new.header": "Create a new process", + + // "process.new.title": "Create a new process", + // TODO New key - Add a translation + "process.new.title": "Create a new process", + + // "process.new.breadcrumbs": "Create a new process", + // TODO New key - Add a translation + "process.new.breadcrumbs": "Create a new process", + + + + // "process.detail.arguments" : "Arguments", + // TODO New key - Add a translation + "process.detail.arguments" : "Arguments", + + // "process.detail.arguments.empty" : "This process doesn't contain any arguments", + // TODO New key - Add a translation + "process.detail.arguments.empty" : "This process doesn't contain any arguments", + + // "process.detail.back" : "Back", + // TODO New key - Add a translation + "process.detail.back" : "Back", + + // "process.detail.output" : "Process Output", + // TODO New key - Add a translation + "process.detail.output" : "Process Output", + + // "process.detail.logs.button": "Retrieve process output", + // TODO New key - Add a translation + "process.detail.logs.button": "Retrieve process output", + + // "process.detail.logs.loading": "Retrieving", + // TODO New key - Add a translation + "process.detail.logs.loading": "Retrieving", + + // "process.detail.logs.none": "This process has no output", + // TODO New key - Add a translation + "process.detail.logs.none": "This process has no output", + + // "process.detail.output-files" : "Output Files", + // TODO New key - Add a translation + "process.detail.output-files" : "Output Files", + + // "process.detail.output-files.empty" : "This process doesn't contain any output files", + // TODO New key - Add a translation + "process.detail.output-files.empty" : "This process doesn't contain any output files", + + // "process.detail.script" : "Script", + // TODO New key - Add a translation + "process.detail.script" : "Script", + + // "process.detail.title" : "Process: {{ id }} - {{ name }}", + // TODO New key - Add a translation + "process.detail.title" : "Process: {{ id }} - {{ name }}", + + // "process.detail.start-time" : "Start time", + // TODO New key - Add a translation + "process.detail.start-time" : "Start time", + + // "process.detail.end-time" : "Finish time", + // TODO New key - Add a translation + "process.detail.end-time" : "Finish time", + + // "process.detail.status" : "Status", + // TODO New key - Add a translation + "process.detail.status" : "Status", + + // "process.detail.create" : "Create similar process", + // TODO New key - Add a translation + "process.detail.create" : "Create similar process", + + + + // "process.overview.table.finish" : "Finish time", + // TODO New key - Add a translation + "process.overview.table.finish" : "Finish time", + + // "process.overview.table.id" : "Process ID", + // TODO New key - Add a translation + "process.overview.table.id" : "Process ID", + + // "process.overview.table.name" : "Name", + // TODO New key - Add a translation + "process.overview.table.name" : "Name", + + // "process.overview.table.start" : "Start time", + // TODO New key - Add a translation + "process.overview.table.start" : "Start time", + + // "process.overview.table.status" : "Status", + // TODO New key - Add a translation + "process.overview.table.status" : "Status", + + // "process.overview.table.user" : "User", + // TODO New key - Add a translation + "process.overview.table.user" : "User", + + // "process.overview.title": "Processes Overview", + // TODO New key - Add a translation + "process.overview.title": "Processes Overview", + + // "process.overview.breadcrumbs": "Processes Overview", + // TODO New key - Add a translation + "process.overview.breadcrumbs": "Processes Overview", + + // "process.overview.new": "New", + // TODO New key - Add a translation + "process.overview.new": "New", + + + // "profile.breadcrumbs": "Update Profile", + "profile.breadcrumbs": "Atjaunot Profilu", + + // "profile.card.identify": "Identify", + "profile.card.identify": "Identificēt", + + // "profile.card.security": "Security", + "profile.card.security": "Drošība", + + // "profile.form.submit": "Update Profile", + "profile.form.submit": "Atjaunot Profilu", + + // "profile.groups.head": "Authorization groups you belong to", + "profile.groups.head": "Autorizācijas grupas, kurām jūs piederat", + + // "profile.head": "Update Profile", + "profile.head": "Atjaunot Profilu", + + // "profile.metadata.form.error.firstname.required": "First Name is required", + "profile.metadata.form.error.firstname.required": "Vārds ir nepieciešams", + + // "profile.metadata.form.error.lastname.required": "Last Name is required", + "profile.metadata.form.error.lastname.required": "Uzvārds ir nepieciešams", + + // "profile.metadata.form.label.email": "Email Address", + "profile.metadata.form.label.email": "E-pasta adrese", + + // "profile.metadata.form.label.firstname": "First Name", + "profile.metadata.form.label.firstname": "Vārds", + + // "profile.metadata.form.label.language": "Language", + "profile.metadata.form.label.language": "Valoda", + + // "profile.metadata.form.label.lastname": "Last Name", + "profile.metadata.form.label.lastname": "Uzvārds", + + // "profile.metadata.form.label.phone": "Contact Telephone", + "profile.metadata.form.label.phone": "Kontakttālrunis", + + // "profile.metadata.form.notifications.success.content": "Your changes to the profile were saved.", + "profile.metadata.form.notifications.success.content": "Profila izmaiņas tika saglabātas.", + + // "profile.metadata.form.notifications.success.title": "Profile saved", + "profile.metadata.form.notifications.success.title": "Profils saglabāts", + + // "profile.notifications.warning.no-changes.content": "No changes were made to the Profile.", + "profile.notifications.warning.no-changes.content": "Profilā izmaiņas netika veiktas.", + + // "profile.notifications.warning.no-changes.title": "No changes", + "profile.notifications.warning.no-changes.title": "Bez izmaiņām", + + // "profile.security.form.error.matching-passwords": "The passwords do not match.", + "profile.security.form.error.matching-passwords": "Paroles nesakrīt.", + + // "profile.security.form.error.password-length": "The password should be at least 6 characters long.", + "profile.security.form.error.password-length": "Parolei jābūt vismaz 6 rakstzīmju garai.", + + // "profile.security.form.info": "Optionally, you can enter a new password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", + "profile.security.form.info": "Pēc izvēles zemāk esošajā lodziņā varat ievadīt jaunu paroli un apstiprināt to, atkārtoti ierakstot to otrajā lodziņā. Tam jābūt vismaz sešu rakstzīmju garam.", + + // "profile.security.form.label.password": "Password", + "profile.security.form.label.password": "Parole", + + // "profile.security.form.label.passwordrepeat": "Retype to confirm", + "profile.security.form.label.passwordrepeat": "Atkārtojiet, lai apstiprinātu", + + // "profile.security.form.notifications.success.content": "Your changes to the password were saved.", + "profile.security.form.notifications.success.content": "Jūsu paroles izmaiņas tika saglabātas.", + + // "profile.security.form.notifications.success.title": "Password saved", + "profile.security.form.notifications.success.title": "Parole saglabāta", + + // "profile.security.form.notifications.error.title": "Error changing passwords", + "profile.security.form.notifications.error.title": "Kļūda mainot paroles", + + // "profile.security.form.notifications.error.not-long-enough": "The password has to be at least 6 characters long.", + "profile.security.form.notifications.error.not-long-enough": "Parolei jābūt vismaz 6 rakstzīmju garai.", + + // "profile.security.form.notifications.error.not-same": "The provided passwords are not the same.", + "profile.security.form.notifications.error.not-same": "Norādītās paroles nav vienādas.", + + // "profile.title": "Update Profile", + "profile.title": "Atjaunot profilu", + + + + // "project.listelement.badge": "Research Project", + "project.listelement.badge": "Izpētes projekts", + + // "project.page.contributor": "Contributors", + "project.page.contributor": "Līdzautori", + + // "project.page.description": "Description", + "project.page.description": "Apraksts", + + // "project.page.edit": "Edit this item", + // TODO New key - Add a translation + "project.page.edit": "Edit this item", + + // "project.page.expectedcompletion": "Expected Completion", + "project.page.expectedcompletion": "Sagaidāmais pabeigšanas datums", + + // "project.page.funder": "Funders", + "project.page.funder": "Izveidotāji", + + // "project.page.id": "ID", + "project.page.id": "ID", + + // "project.page.keyword": "Keywords", + "project.page.keyword": "Atslēgas vārdi", + + // "project.page.status": "Status", + "project.page.status": "Status", + + // "project.page.titleprefix": "Research Project: ", + "project.page.titleprefix": "Izpētes projekts: ", + + // "project.search.results.head": "Project Search Results", + "project.search.results.head": "Projekta meklēšanas rezultāti", + + + + // "publication.listelement.badge": "Publication", + "publication.listelement.badge": "Publikācija", + + // "publication.page.description": "Description", + "publication.page.description": "Apraksts", + + // "publication.page.edit": "Edit this item", + // TODO New key - Add a translation + "publication.page.edit": "Edit this item", + + // "publication.page.journal-issn": "Journal ISSN", + "publication.page.journal-issn": "Žurnāla ISSN", + + // "publication.page.journal-title": "Journal Title", + "publication.page.journal-title": "Žurnāla Nosaukums", + + // "publication.page.publisher": "Publisher", + "publication.page.publisher": "Izdevējs", + + // "publication.page.titleprefix": "Publication: ", + "publication.page.titleprefix": "Publikācija: ", + + // "publication.page.volume-title": "Volume Title", + "publication.page.volume-title": "Sējuma Nosaukums", + + // "publication.search.results.head": "Publication Search Results", + "publication.search.results.head": "Publikāciju meklēšanas rezultāti", + + // "publication.search.title": "DSpace Angular :: Publication Search", + "publication.search.title": "DSpace Angular :: Publikācijas meklēšana", + + + // "register-email.title": "New user registration", + // TODO New key - Add a translation + "register-email.title": "New user registration", + + // "register-page.create-profile.header": "Create Profile", + // TODO New key - Add a translation + "register-page.create-profile.header": "Create Profile", + + // "register-page.create-profile.identification.header": "Identify", + // TODO New key - Add a translation + "register-page.create-profile.identification.header": "Identify", + + // "register-page.create-profile.identification.email": "Email Address", + // TODO New key - Add a translation + "register-page.create-profile.identification.email": "Email Address", + + // "register-page.create-profile.identification.first-name": "First Name *", + // TODO New key - Add a translation + "register-page.create-profile.identification.first-name": "First Name *", + + // "register-page.create-profile.identification.first-name.error": "Please fill in a First Name", + // TODO New key - Add a translation + "register-page.create-profile.identification.first-name.error": "Please fill in a First Name", + + // "register-page.create-profile.identification.last-name": "Last Name *", + // TODO New key - Add a translation + "register-page.create-profile.identification.last-name": "Last Name *", + + // "register-page.create-profile.identification.last-name.error": "Please fill in a Last Name", + // TODO New key - Add a translation + "register-page.create-profile.identification.last-name.error": "Please fill in a Last Name", + + // "register-page.create-profile.identification.contact": "Contact Telephone", + // TODO New key - Add a translation + "register-page.create-profile.identification.contact": "Contact Telephone", + + // "register-page.create-profile.identification.language": "Language", + // TODO New key - Add a translation + "register-page.create-profile.identification.language": "Language", + + // "register-page.create-profile.security.header": "Security", + // TODO New key - Add a translation + "register-page.create-profile.security.header": "Security", + + // "register-page.create-profile.security.info": "Please enter a password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", + // TODO New key - Add a translation + "register-page.create-profile.security.info": "Please enter a password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", + + // "register-page.create-profile.security.label.password": "Password *", + // TODO New key - Add a translation + "register-page.create-profile.security.label.password": "Password *", + + // "register-page.create-profile.security.label.passwordrepeat": "Retype to confirm *", + // TODO New key - Add a translation + "register-page.create-profile.security.label.passwordrepeat": "Retype to confirm *", + + // "register-page.create-profile.security.error.empty-password": "Please enter a password in the box below.", + // TODO New key - Add a translation + "register-page.create-profile.security.error.empty-password": "Please enter a password in the box below.", + + // "register-page.create-profile.security.error.matching-passwords": "The passwords do not match.", + // TODO New key - Add a translation + "register-page.create-profile.security.error.matching-passwords": "The passwords do not match.", + + // "register-page.create-profile.security.error.password-length": "The password should be at least 6 characters long.", + // TODO New key - Add a translation + "register-page.create-profile.security.error.password-length": "The password should be at least 6 characters long.", + + // "register-page.create-profile.submit": "Complete Registration", + // TODO New key - Add a translation + "register-page.create-profile.submit": "Complete Registration", + + // "register-page.create-profile.submit.error.content": "Something went wrong while registering a new user.", + // TODO New key - Add a translation + "register-page.create-profile.submit.error.content": "Something went wrong while registering a new user.", + + // "register-page.create-profile.submit.error.head": "Registration failed", + // TODO New key - Add a translation + "register-page.create-profile.submit.error.head": "Registration failed", + + // "register-page.create-profile.submit.success.content": "The registration was successful. You have been logged in as the created user.", + // TODO New key - Add a translation + "register-page.create-profile.submit.success.content": "The registration was successful. You have been logged in as the created user.", + + // "register-page.create-profile.submit.success.head": "Registration completed", + // TODO New key - Add a translation + "register-page.create-profile.submit.success.head": "Registration completed", + + + // "register-page.registration.header": "New user registration", + // TODO New key - Add a translation + "register-page.registration.header": "New user registration", + + // "register-page.registration.info": "Register an account to subscribe to collections for email updates, and submit new items to DSpace.", + // TODO New key - Add a translation + "register-page.registration.info": "Register an account to subscribe to collections for email updates, and submit new items to DSpace.", + + // "register-page.registration.email": "Email Address *", + // TODO New key - Add a translation + "register-page.registration.email": "Email Address *", + + // "register-page.registration.email.error.required": "Please fill in an email address", + // TODO New key - Add a translation + "register-page.registration.email.error.required": "Please fill in an email address", + + // "register-page.registration.email.error.pattern": "Please fill in a valid email address", + // TODO New key - Add a translation + "register-page.registration.email.error.pattern": "Please fill in a valid email address", + + // "register-page.registration.email.hint": "This address will be verified and used as your login name.", + // TODO New key - Add a translation + "register-page.registration.email.hint": "This address will be verified and used as your login name.", + + // "register-page.registration.submit": "Register", + // TODO New key - Add a translation + "register-page.registration.submit": "Register", + + // "register-page.registration.success.head": "Verification email sent", + // TODO New key - Add a translation + "register-page.registration.success.head": "Verification email sent", + + // "register-page.registration.success.content": "An email has been sent to {{ email }} containing a special URL and further instructions.", + // TODO New key - Add a translation + "register-page.registration.success.content": "An email has been sent to {{ email }} containing a special URL and further instructions.", + + // "register-page.registration.error.head": "Error when trying to register email", + // TODO New key - Add a translation + "register-page.registration.error.head": "Error when trying to register email", + + // "register-page.registration.error.content": "An error occured when registering the following email address: {{ email }}", + // TODO New key - Add a translation + "register-page.registration.error.content": "An error occured when registering the following email address: {{ email }}", + + + + // "relationships.add.error.relationship-type.content": "No suitable match could be found for relationship type {{ type }} between the two items", + // TODO New key - Add a translation + "relationships.add.error.relationship-type.content": "No suitable match could be found for relationship type {{ type }} between the two items", + + // "relationships.add.error.server.content": "The server returned an error", + // TODO New key - Add a translation + "relationships.add.error.server.content": "The server returned an error", + + // "relationships.add.error.title": "Unable to add relationship", + // TODO New key - Add a translation + "relationships.add.error.title": "Unable to add relationship", + + // "relationships.isAuthorOf": "Authors", + "relationships.isAuthorOf": "Autori", + + // "relationships.isAuthorOf.Person": "Authors (persons)", + // TODO New key - Add a translation + "relationships.isAuthorOf.Person": "Authors (persons)", + + // "relationships.isAuthorOf.OrgUnit": "Authors (organizational units)", + // TODO New key - Add a translation + "relationships.isAuthorOf.OrgUnit": "Authors (organizational units)", + + // "relationships.isIssueOf": "Journal Issues", + "relationships.isIssueOf": "Žurnāla Izdevumi", + + // "relationships.isJournalIssueOf": "Journal Issue", + "relationships.isJournalIssueOf": "Žurnāla Izdevums", + + // "relationships.isJournalOf": "Journals", + "relationships.isJournalOf": "Žurnāli", + + // "relationships.isOrgUnitOf": "Organizational Units", + "relationships.isOrgUnitOf": "Struktūrvienības", + + // "relationships.isPersonOf": "Authors", + "relationships.isPersonOf": "Autori", + + // "relationships.isProjectOf": "Research Projects", + "relationships.isProjectOf": "Pētniecības Projekti", + + // "relationships.isPublicationOf": "Publications", + "relationships.isPublicationOf": "Publikācijas", + + // "relationships.isPublicationOfJournalIssue": "Articles", + "relationships.isPublicationOfJournalIssue": "Raksti", + + // "relationships.isSingleJournalOf": "Journal", + "relationships.isSingleJournalOf": "Žurnāls", + + // "relationships.isSingleVolumeOf": "Journal Volume", + "relationships.isSingleVolumeOf": "Žurnāla Sējums", + + // "relationships.isVolumeOf": "Journal Volumes", + "relationships.isVolumeOf": "Žurnāla Sējums", + + // "relationships.isContributorOf": "Contributors", + "relationships.isContributorOf": "Līdzautori", + + + + // "resource-policies.add.button": "Add", + // TODO New key - Add a translation + "resource-policies.add.button": "Add", + + // "resource-policies.add.for.": "Add a new policy", + // TODO New key - Add a translation + "resource-policies.add.for.": "Add a new policy", + + // "resource-policies.add.for.bitstream": "Add a new Bitstream policy", + // TODO New key - Add a translation + "resource-policies.add.for.bitstream": "Add a new Bitstream policy", + + // "resource-policies.add.for.bundle": "Add a new Bundle policy", + // TODO New key - Add a translation + "resource-policies.add.for.bundle": "Add a new Bundle policy", + + // "resource-policies.add.for.item": "Add a new Item policy", + // TODO New key - Add a translation + "resource-policies.add.for.item": "Add a new Item policy", + + // "resource-policies.add.for.community": "Add a new Community policy", + // TODO New key - Add a translation + "resource-policies.add.for.community": "Add a new Community policy", + + // "resource-policies.add.for.collection": "Add a new Collection policy", + // TODO New key - Add a translation + "resource-policies.add.for.collection": "Add a new Collection policy", + + // "resource-policies.create.page.heading": "Create new resource policy for ", + // TODO New key - Add a translation + "resource-policies.create.page.heading": "Create new resource policy for ", + + // "resource-policies.create.page.failure.content": "An error occurred while creating the resource policy.", + // TODO New key - Add a translation + "resource-policies.create.page.failure.content": "An error occurred while creating the resource policy.", + + // "resource-policies.create.page.success.content": "Operation successful", + // TODO New key - Add a translation + "resource-policies.create.page.success.content": "Operation successful", + + // "resource-policies.create.page.title": "Create new resource policy", + // TODO New key - Add a translation + "resource-policies.create.page.title": "Create new resource policy", + + // "resource-policies.delete.btn": "Delete selected", + // TODO New key - Add a translation + "resource-policies.delete.btn": "Delete selected", + + // "resource-policies.delete.btn.title": "Delete selected resource policies", + // TODO New key - Add a translation + "resource-policies.delete.btn.title": "Delete selected resource policies", + + // "resource-policies.delete.failure.content": "An error occurred while deleting selected resource policies.", + // TODO New key - Add a translation + "resource-policies.delete.failure.content": "An error occurred while deleting selected resource policies.", + + // "resource-policies.delete.success.content": "Operation successful", + // TODO New key - Add a translation + "resource-policies.delete.success.content": "Operation successful", + + // "resource-policies.edit.page.heading": "Edit resource policy ", + // TODO New key - Add a translation + "resource-policies.edit.page.heading": "Edit resource policy ", + + // "resource-policies.edit.page.failure.content": "An error occurred while editing the resource policy.", + // TODO New key - Add a translation + "resource-policies.edit.page.failure.content": "An error occurred while editing the resource policy.", + + // "resource-policies.edit.page.success.content": "Operation successful", + // TODO New key - Add a translation + "resource-policies.edit.page.success.content": "Operation successful", + + // "resource-policies.edit.page.title": "Edit resource policy", + // TODO New key - Add a translation + "resource-policies.edit.page.title": "Edit resource policy", + + // "resource-policies.form.action-type.label": "Select the action type", + // TODO New key - Add a translation + "resource-policies.form.action-type.label": "Select the action type", + + // "resource-policies.form.action-type.required": "You must select the resource policy action.", + // TODO New key - Add a translation + "resource-policies.form.action-type.required": "You must select the resource policy action.", + + // "resource-policies.form.eperson-group-list.label": "The eperson or group that will be granted the permission", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.label": "The eperson or group that will be granted the permission", + + // "resource-policies.form.eperson-group-list.select.btn": "Select", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.select.btn": "Select", + + // "resource-policies.form.eperson-group-list.tab.eperson": "Search for a ePerson", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.tab.eperson": "Search for a ePerson", + + // "resource-policies.form.eperson-group-list.tab.group": "Search for a group", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.tab.group": "Search for a group", + + // "resource-policies.form.eperson-group-list.table.headers.action": "Action", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.table.headers.action": "Action", + + // "resource-policies.form.eperson-group-list.table.headers.id": "ID", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.table.headers.id": "ID", + + // "resource-policies.form.eperson-group-list.table.headers.name": "Name", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.table.headers.name": "Name", + + // "resource-policies.form.date.end.label": "End Date", + // TODO New key - Add a translation + "resource-policies.form.date.end.label": "End Date", + + // "resource-policies.form.date.start.label": "Start Date", + // TODO New key - Add a translation + "resource-policies.form.date.start.label": "Start Date", + + // "resource-policies.form.description.label": "Description", + // TODO New key - Add a translation + "resource-policies.form.description.label": "Description", + + // "resource-policies.form.name.label": "Name", + // TODO New key - Add a translation + "resource-policies.form.name.label": "Name", + + // "resource-policies.form.policy-type.label": "Select the policy type", + // TODO New key - Add a translation + "resource-policies.form.policy-type.label": "Select the policy type", + + // "resource-policies.form.policy-type.required": "You must select the resource policy type.", + // TODO New key - Add a translation + "resource-policies.form.policy-type.required": "You must select the resource policy type.", + + // "resource-policies.table.headers.action": "Action", + // TODO New key - Add a translation + "resource-policies.table.headers.action": "Action", + + // "resource-policies.table.headers.date.end": "End Date", + // TODO New key - Add a translation + "resource-policies.table.headers.date.end": "End Date", + + // "resource-policies.table.headers.date.start": "Start Date", + // TODO New key - Add a translation + "resource-policies.table.headers.date.start": "Start Date", + + // "resource-policies.table.headers.edit": "Edit", + // TODO New key - Add a translation + "resource-policies.table.headers.edit": "Edit", + + // "resource-policies.table.headers.edit.group": "Edit group", + // TODO New key - Add a translation + "resource-policies.table.headers.edit.group": "Edit group", + + // "resource-policies.table.headers.edit.policy": "Edit policy", + // TODO New key - Add a translation + "resource-policies.table.headers.edit.policy": "Edit policy", + + // "resource-policies.table.headers.eperson": "EPerson", + // TODO New key - Add a translation + "resource-policies.table.headers.eperson": "EPerson", + + // "resource-policies.table.headers.group": "Group", + // TODO New key - Add a translation + "resource-policies.table.headers.group": "Group", + + // "resource-policies.table.headers.id": "ID", + // TODO New key - Add a translation + "resource-policies.table.headers.id": "ID", + + // "resource-policies.table.headers.name": "Name", + // TODO New key - Add a translation + "resource-policies.table.headers.name": "Name", + + // "resource-policies.table.headers.policyType": "type", + // TODO New key - Add a translation + "resource-policies.table.headers.policyType": "type", + + // "resource-policies.table.headers.title.for.bitstream": "Policies for Bitstream", + // TODO New key - Add a translation + "resource-policies.table.headers.title.for.bitstream": "Policies for Bitstream", + + // "resource-policies.table.headers.title.for.bundle": "Policies for Bundle", + // TODO New key - Add a translation + "resource-policies.table.headers.title.for.bundle": "Policies for Bundle", + + // "resource-policies.table.headers.title.for.item": "Policies for Item", + // TODO New key - Add a translation + "resource-policies.table.headers.title.for.item": "Policies for Item", + + // "resource-policies.table.headers.title.for.community": "Policies for Community", + // TODO New key - Add a translation + "resource-policies.table.headers.title.for.community": "Policies for Community", + + // "resource-policies.table.headers.title.for.collection": "Policies for Collection", + // TODO New key - Add a translation + "resource-policies.table.headers.title.for.collection": "Policies for Collection", + + + + // "search.description": "", + "search.description": "", + + // "search.switch-configuration.title": "Show", + "search.switch-configuration.title": "Rādīt", + + // "search.title": "DSpace Angular :: Search", + "search.title": "DSpace Angular :: Meklēt", + + // "search.breadcrumbs": "Search", + "search.breadcrumbs": "Meklēt", + + + // "search.filters.applied.f.author": "Author", + "search.filters.applied.f.author": "Autors", + + // "search.filters.applied.f.dateIssued.max": "End date", + "search.filters.applied.f.dateIssued.max": "Beigu datums", + + // "search.filters.applied.f.dateIssued.min": "Start date", + "search.filters.applied.f.dateIssued.min": "Sākuma datums", + + // "search.filters.applied.f.dateSubmitted": "Date submitted", + "search.filters.applied.f.dateSubmitted": "Iesniegšanas datums", + + // "search.filters.applied.f.discoverable": "Private", + "search.filters.applied.f.discoverable": "Privāts", + + // "search.filters.applied.f.entityType": "Item Type", + "search.filters.applied.f.entityType": "Materiāla tips", + + // "search.filters.applied.f.has_content_in_original_bundle": "Has files", + "search.filters.applied.f.has_content_in_original_bundle": "Ir faili", + + // "search.filters.applied.f.itemtype": "Type", + "search.filters.applied.f.itemtype": "Tips", + + // "search.filters.applied.f.namedresourcetype": "Status", + "search.filters.applied.f.namedresourcetype": "Status", + + // "search.filters.applied.f.subject": "Subject", + "search.filters.applied.f.subject": "Priekšmets", + + // "search.filters.applied.f.submitter": "Submitter", + "search.filters.applied.f.submitter": "Iesniedzējs", + + // "search.filters.applied.f.jobTitle": "Job Title", + "search.filters.applied.f.jobTitle": "Ieņemamais Amats", + + // "search.filters.applied.f.birthDate.max": "End birth date", + "search.filters.applied.f.birthDate.max": "Dzimšanas beigu datums", + + // "search.filters.applied.f.birthDate.min": "Start birth date", + "search.filters.applied.f.birthDate.min": "Dzimšanas sākuma datums", + + // "search.filters.applied.f.withdrawn": "Withdrawn", + "search.filters.applied.f.withdrawn": "Atsaukts", + + + + // "search.filters.filter.author.head": "Author", + "search.filters.filter.author.head": "Autors", + + // "search.filters.filter.author.placeholder": "Author name", + "search.filters.filter.author.placeholder": "Autora vārds", + + // "search.filters.filter.birthDate.head": "Birth Date", + "search.filters.filter.birthDate.head": "Dzimšanas datums", + + // "search.filters.filter.birthDate.placeholder": "Birth Date", + "search.filters.filter.birthDate.placeholder": "Dzimšanas datums", + + // "search.filters.filter.creativeDatePublished.head": "Date Published", + "search.filters.filter.creativeDatePublished.head": "Publicēšanas datums", + + // "search.filters.filter.creativeDatePublished.placeholder": "Date Published", + "search.filters.filter.creativeDatePublished.placeholder": "Publicēšanas datums", + + // "search.filters.filter.creativeWorkEditor.head": "Editor", + "search.filters.filter.creativeWorkEditor.head": "Redaktors", + + // "search.filters.filter.creativeWorkEditor.placeholder": "Editor", + "search.filters.filter.creativeWorkEditor.placeholder": "Redaktors", + + // "search.filters.filter.creativeWorkKeywords.head": "Subject", + "search.filters.filter.creativeWorkKeywords.head": "Priekšmets", + + // "search.filters.filter.creativeWorkKeywords.placeholder": "Subject", + "search.filters.filter.creativeWorkKeywords.placeholder": "Priekšmets", + + // "search.filters.filter.creativeWorkPublisher.head": "Publisher", + "search.filters.filter.creativeWorkPublisher.head": "Izdevējs", + + // "search.filters.filter.creativeWorkPublisher.placeholder": "Publisher", + "search.filters.filter.creativeWorkPublisher.placeholder": "Izdevējs", + + // "search.filters.filter.dateIssued.head": "Date", + "search.filters.filter.dateIssued.head": "Datums", + + // "search.filters.filter.dateIssued.max.placeholder": "Minimum Date", + "search.filters.filter.dateIssued.max.placeholder": "Minimālais datums", + + // "search.filters.filter.dateIssued.min.placeholder": "Maximum Date", + "search.filters.filter.dateIssued.min.placeholder": "Maksimālais datums", + + // "search.filters.filter.dateSubmitted.head": "Date submitted", + "search.filters.filter.dateSubmitted.head": "Iesniegšanas datums", + + // "search.filters.filter.dateSubmitted.placeholder": "Date submitted", + "search.filters.filter.dateSubmitted.placeholder": "Iesniegšanas datums", + + // "search.filters.filter.discoverable.head": "Private", + "search.filters.filter.discoverable.head": "Privāts", + + // "search.filters.filter.withdrawn.head": "Withdrawn", + "search.filters.filter.withdrawn.head": "Atsaukts", + + // "search.filters.filter.entityType.head": "Item Type", + "search.filters.filter.entityType.head": "Materiāla tips", + + // "search.filters.filter.entityType.placeholder": "Item Type", + "search.filters.filter.entityType.placeholder": "Materiāla tips", + + // "search.filters.filter.has_content_in_original_bundle.head": "Has files", + "search.filters.filter.has_content_in_original_bundle.head": "Ir faili", + + // "search.filters.filter.itemtype.head": "Type", + "search.filters.filter.itemtype.head": "Tips", + + // "search.filters.filter.itemtype.placeholder": "Type", + "search.filters.filter.itemtype.placeholder": "Tips", + + // "search.filters.filter.jobTitle.head": "Job Title", + "search.filters.filter.jobTitle.head": "Ieņemamais Amats", + + // "search.filters.filter.jobTitle.placeholder": "Job Title", + "search.filters.filter.jobTitle.placeholder": "Ieņemamais Amats", + + // "search.filters.filter.knowsLanguage.head": "Known language", + "search.filters.filter.knowsLanguage.head": "Pārvalda valodu", + + // "search.filters.filter.knowsLanguage.placeholder": "Known language", + "search.filters.filter.knowsLanguage.placeholder": "Pārvalda valodu", + + // "search.filters.filter.namedresourcetype.head": "Status", + "search.filters.filter.namedresourcetype.head": "Status", + + // "search.filters.filter.namedresourcetype.placeholder": "Status", + "search.filters.filter.namedresourcetype.placeholder": "Status", + + // "search.filters.filter.objectpeople.head": "People", + "search.filters.filter.objectpeople.head": "Personas", + + // "search.filters.filter.objectpeople.placeholder": "People", + "search.filters.filter.objectpeople.placeholder": "Personas", + + // "search.filters.filter.organizationAddressCountry.head": "Country", + "search.filters.filter.organizationAddressCountry.head": "Valsts", + + // "search.filters.filter.organizationAddressCountry.placeholder": "Country", + "search.filters.filter.organizationAddressCountry.placeholder": "Valsts", + + // "search.filters.filter.organizationAddressLocality.head": "City", + "search.filters.filter.organizationAddressLocality.head": "Pilsēta", + + // "search.filters.filter.organizationAddressLocality.placeholder": "City", + "search.filters.filter.organizationAddressLocality.placeholder": "Pilsēta", + + // "search.filters.filter.organizationFoundingDate.head": "Date Founded", + "search.filters.filter.organizationFoundingDate.head": "Dibināšanas datums", + + // "search.filters.filter.organizationFoundingDate.placeholder": "Date Founded", + "search.filters.filter.organizationFoundingDate.placeholder": "Dibināšanas datums", + + // "search.filters.filter.scope.head": "Scope", + "search.filters.filter.scope.head": "Joma", + + // "search.filters.filter.scope.placeholder": "Scope filter", + "search.filters.filter.scope.placeholder": "Jomas filtrs", + + // "search.filters.filter.show-less": "Collapse", + "search.filters.filter.show-less": "Sakļaut", + + // "search.filters.filter.show-more": "Show more", + "search.filters.filter.show-more": "Rādīt vairāk", + + // "search.filters.filter.subject.head": "Subject", + "search.filters.filter.subject.head": "Priekšmets", + + // "search.filters.filter.subject.placeholder": "Subject", + "search.filters.filter.subject.placeholder": "Priekšmets", + + // "search.filters.filter.submitter.head": "Submitter", + "search.filters.filter.submitter.head": "Iesniedzējs", + + // "search.filters.filter.submitter.placeholder": "Submitter", + "search.filters.filter.submitter.placeholder": "Iesniedzējs", + + + + // "search.filters.entityType.JournalIssue": "Journal Issue", + "search.filters.entityType.JournalIssue": "Žurnāla Izdevums", + + // "search.filters.entityType.JournalVolume": "Journal Volume", + "search.filters.entityType.JournalVolume": "Žurnāla Sējum", + + // "search.filters.entityType.OrgUnit": "Organizational Unit", + "search.filters.entityType.OrgUnit": "Struktūrvienība", + + // "search.filters.has_content_in_original_bundle.true": "Yes", + "search.filters.has_content_in_original_bundle.true": "Jā", + + // "search.filters.has_content_in_original_bundle.false": "No", + "search.filters.has_content_in_original_bundle.false": "Nē", + + // "search.filters.discoverable.true": "No", + "search.filters.discoverable.true": "Nē", + + // "search.filters.discoverable.false": "Yes", + "search.filters.discoverable.false": "Jā", + + // "search.filters.withdrawn.true": "Yes", + "search.filters.withdrawn.true": "Jā", + + // "search.filters.withdrawn.false": "No", + "search.filters.withdrawn.false": "Nē", + + + // "search.filters.head": "Filters", + "search.filters.head": "Filtri", + + // "search.filters.reset": "Reset filters", + "search.filters.reset": "Atiestatīt filtrus", + + + + // "search.form.search": "Search", + "search.form.search": "Meklēt", + + // "search.form.search_dspace": "Search DSpace", + "search.form.search_dspace": "Meklēt DSpace", + + // "search.form.search_mydspace": "Search MyDSpace", + "search.form.search_mydspace": "Meklēt manā DSpace", + + + + // "search.results.head": "Search Results", + "search.results.head": "Meklēšanas rezultāti", + + // "search.results.no-results": "Your search returned no results. Having trouble finding what you're looking for? Try putting", + "search.results.no-results": "Rezultāti netika atrasti. Vai jums ir grūtības atrast meklēto? Mēģiniet ievietot", + + // "search.results.no-results-link": "quotes around it", + "search.results.no-results-link": "pēdiņas ap to", + + // "search.results.empty": "Your search returned no results.", + "search.results.empty": "Rezultāti netika atrasti.", + + + + // "search.sidebar.close": "Back to results", + "search.sidebar.close": "Atpakaļ pie rezultātiem", + + // "search.sidebar.filters.title": "Filters", + "search.sidebar.filters.title": "Filtri", + + // "search.sidebar.open": "Search Tools", + "search.sidebar.open": "Meklēšanas Rīki", + + // "search.sidebar.results": "results", + "search.sidebar.results": "rezultāti", + + // "search.sidebar.settings.rpp": "Results per page", + "search.sidebar.settings.rpp": "Rezultāti vienā lapā", + + // "search.sidebar.settings.sort-by": "Sort By", + "search.sidebar.settings.sort-by": "Kārtot Pēc", + + // "search.sidebar.settings.title": "Settings", + "search.sidebar.settings.title": "Iestatījumi", + + + + // "search.view-switch.show-detail": "Show detail", + "search.view-switch.show-detail": "Attēlot detaļas", + + // "search.view-switch.show-grid": "Show as grid", + "search.view-switch.show-grid": "Attēlot matricā", + + // "search.view-switch.show-list": "Show as list", + "search.view-switch.show-list": "Attēlot kā sarakstu", + + + + // "sorting.ASC": "Ascending", + // TODO New key - Add a translation + "sorting.ASC": "Ascending", + + // "sorting.DESC": "Descending", + // TODO New key - Add a translation + "sorting.DESC": "Descending", + + // "sorting.dc.title.ASC": "Title Ascending", + "sorting.dc.title.ASC": "Nosaukums augošā secībā", + + // "sorting.dc.title.DESC": "Title Descending", + "sorting.dc.title.DESC": "Nosaukums dilstošā secībā", + + // "sorting.score.DESC": "Relevance", + "sorting.score.DESC": "Atbilstība", + + + + // "statistics.title": "Statistics", + // TODO New key - Add a translation + "statistics.title": "Statistics", + + // "statistics.header": "Statistics for {{ scope }}", + // TODO New key - Add a translation + "statistics.header": "Statistics for {{ scope }}", + + // "statistics.breadcrumbs": "Statistics", + // TODO New key - Add a translation + "statistics.breadcrumbs": "Statistics", + + // "statistics.page.no-data": "No data available", + // TODO New key - Add a translation + "statistics.page.no-data": "No data available", + + // "statistics.table.no-data": "No data available", + // TODO New key - Add a translation + "statistics.table.no-data": "No data available", + + // "statistics.table.title.TotalVisits": "Total visits", + // TODO New key - Add a translation + "statistics.table.title.TotalVisits": "Total visits", + + // "statistics.table.title.TotalVisitsPerMonth": "Total visits per month", + // TODO New key - Add a translation + "statistics.table.title.TotalVisitsPerMonth": "Total visits per month", + + // "statistics.table.title.TotalDownloads": "File Visits", + // TODO New key - Add a translation + "statistics.table.title.TotalDownloads": "File Visits", + + // "statistics.table.title.TopCountries": "Top country views", + // TODO New key - Add a translation + "statistics.table.title.TopCountries": "Top country views", + + // "statistics.table.title.TopCities": "Top city views", + // TODO New key - Add a translation + "statistics.table.title.TopCities": "Top city views", + + // "statistics.table.header.views": "Views", + // TODO New key - Add a translation + "statistics.table.header.views": "Views", + + + + // "submission.edit.title": "Edit Submission", + "submission.edit.title": "Rediģēt Iesniegumu", + + // "submission.general.cannot_submit": "You have not the privilege to make a new submission.", + "submission.general.cannot_submit": "Jums nav tiesību iesniegt jaunu iesniegumu.", + + // "submission.general.deposit": "Deposit", + "submission.general.deposit": "Ievietot", + + // "submission.general.discard.confirm.cancel": "Cancel", + "submission.general.discard.confirm.cancel": "Atcelt", + + // "submission.general.discard.confirm.info": "This operation can't be undone. Are you sure?", + "submission.general.discard.confirm.info": "Šo darbību nevar atsaukt. Vai tu esat pārliecināts?", + + // "submission.general.discard.confirm.submit": "Yes, I'm sure", + "submission.general.discard.confirm.submit": "Jā, esmu pārliecināts", + + // "submission.general.discard.confirm.title": "Discard submission", + "submission.general.discard.confirm.title": "Atcelt ievietošanu", + + // "submission.general.discard.submit": "Discard", + "submission.general.discard.submit": "Atcelt", + + // "submission.general.save": "Save", + "submission.general.save": "Saglabāt", + + // "submission.general.save-later": "Save for later", + "submission.general.save-later": "Saglabāt vēlākam", + + + // "submission.import-external.page.title": "Import metadata from an external source", + // TODO New key - Add a translation + "submission.import-external.page.title": "Import metadata from an external source", + + // "submission.import-external.title": "Import metadata from an external source", + // TODO New key - Add a translation + "submission.import-external.title": "Import metadata from an external source", + + // "submission.import-external.page.hint": "Enter a query above to find items from the web to import in to DSpace.", + // TODO New key - Add a translation + "submission.import-external.page.hint": "Enter a query above to find items from the web to import in to DSpace.", + + // "submission.import-external.back-to-my-dspace": "Back to MyDSpace", + // TODO New key - Add a translation + "submission.import-external.back-to-my-dspace": "Back to MyDSpace", + + // "submission.import-external.search.placeholder": "Search the external source", + // TODO New key - Add a translation + "submission.import-external.search.placeholder": "Search the external source", + + // "submission.import-external.search.button": "Search", + // TODO New key - Add a translation + "submission.import-external.search.button": "Search", + + // "submission.import-external.search.button.hint": "Write some words to search", + // TODO New key - Add a translation + "submission.import-external.search.button.hint": "Write some words to search", + + // "submission.import-external.search.source.hint": "Pick an external source", + // TODO New key - Add a translation + "submission.import-external.search.source.hint": "Pick an external source", + + // "submission.import-external.source.arxiv": "arXiv", + // TODO New key - Add a translation + "submission.import-external.source.arxiv": "arXiv", + + // "submission.import-external.source.loading": "Loading ...", + // TODO New key - Add a translation + "submission.import-external.source.loading": "Loading ...", + + // "submission.import-external.source.sherpaJournal": "SHERPA Journals", + // TODO New key - Add a translation + "submission.import-external.source.sherpaJournal": "SHERPA Journals", + + // "submission.import-external.source.sherpaPublisher": "SHERPA Publishers", + // TODO New key - Add a translation + "submission.import-external.source.sherpaPublisher": "SHERPA Publishers", + + // "submission.import-external.source.orcid": "ORCID", + // TODO New key - Add a translation + "submission.import-external.source.orcid": "ORCID", + + // "submission.import-external.source.pubmed": "Pubmed", + // TODO New key - Add a translation + "submission.import-external.source.pubmed": "Pubmed", + + // "submission.import-external.source.lcname": "Library of Congress Names", + // TODO New key - Add a translation + "submission.import-external.source.lcname": "Library of Congress Names", + + // "submission.import-external.preview.title": "Item Preview", + // TODO New key - Add a translation + "submission.import-external.preview.title": "Item Preview", + + // "submission.import-external.preview.subtitle": "The metadata below was imported from an external source. It will be pre-filled when you start the submission.", + // TODO New key - Add a translation + "submission.import-external.preview.subtitle": "The metadata below was imported from an external source. It will be pre-filled when you start the submission.", + + // "submission.import-external.preview.button.import": "Start submission", + // TODO New key - Add a translation + "submission.import-external.preview.button.import": "Start submission", + + // "submission.import-external.preview.error.import.title": "Submission error", + // TODO New key - Add a translation + "submission.import-external.preview.error.import.title": "Submission error", + + // "submission.import-external.preview.error.import.body": "An error occurs during the external source entry import process.", + // TODO New key - Add a translation + "submission.import-external.preview.error.import.body": "An error occurs during the external source entry import process.", + + // "submission.sections.describe.relationship-lookup.close": "Close", + "submission.sections.describe.relationship-lookup.close": "Aizvērt", + + // "submission.sections.describe.relationship-lookup.external-source.added": "Successfully added local entry to the selection", + "submission.sections.describe.relationship-lookup.external-source.added": "Lokālais ieraksts veiksmigi pievienots izvēlei", + + // "submission.sections.describe.relationship-lookup.external-source.import-button-title.isAuthorOfPublication": "Import remote author", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-button-title.isAuthorOfPublication": "Import remote author", + + // "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal": "Import remote journal", + "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal": "Importēt attālinātu žurnālu", + + // "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal Issue": "Import remote journal issue", + "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal Issue": "Importēt attālināta žurnāla izdevumu", + + // "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal Volume": "Import remote journal volume", + "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal Volume": "Importēt attālinātā žurnāla sējumu", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.title": "Import Remote Author", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.title": "Import Remote Author", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.added.local-entity": "Successfully added local author to the selection", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.added.local-entity": "Successfully added local author to the selection", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.added.new-entity": "Successfully imported and added external author to the selection", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.added.new-entity": "Successfully imported and added external author to the selection", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.authority": "Authority", + "submission.sections.describe.relationship-lookup.external-source.import-modal.authority": "Autoritāte", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.authority.new": "Import as a new local authority entry", + "submission.sections.describe.relationship-lookup.external-source.import-modal.authority.new": "Importēt kā jaunu lokālās autoritātes ierakstu", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.cancel": "Cancel", + "submission.sections.describe.relationship-lookup.external-source.import-modal.cancel": "Atcelt", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.collection": "Select a collection to import new entries to", + "submission.sections.describe.relationship-lookup.external-source.import-modal.collection": "Atlasiet kolekciju, kurā importēt jaunus ierakstus", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.entities": "Entities", + "submission.sections.describe.relationship-lookup.external-source.import-modal.entities": "Vienības", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.entities.new": "Import as a new local entity", + "submission.sections.describe.relationship-lookup.external-source.import-modal.entities.new": "Importēt kā jaunu vietējo vienību", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.lcname": "Importing from LC Name", + "submission.sections.describe.relationship-lookup.external-source.import-modal.head.lcname": "Importē no LC Nosaukuma", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.orcid": "Importing from ORCID", + "submission.sections.describe.relationship-lookup.external-source.import-modal.head.orcid": "Importē no ORCID", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.sherpaJournal": "Importing from Sherpa Journal", + "submission.sections.describe.relationship-lookup.external-source.import-modal.head.sherpaJournal": "Importē no Sherpa Žurnāla", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.sherpaPublisher": "Importing from Sherpa Publisher", + "submission.sections.describe.relationship-lookup.external-source.import-modal.head.sherpaPublisher": "Importēt no Sherpa Izdevēja", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.pubmed": "Importing from PubMed", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.head.pubmed": "Importing from PubMed", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.arxiv": "Importing from arXiv", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.head.arxiv": "Importing from arXiv", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.import": "Import", + "submission.sections.describe.relationship-lookup.external-source.import-modal.import": "Importēt", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal.title": "Import Remote Journal", + "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal.title": "Importēt Attālinātu Žurnālu", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal.added.local-entity": "Successfully added local journal to the selection", + "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal.added.local-entity": "Lokālais žurnāls veiksmīgi pievienots izlasei", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal.added.new-entity": "Successfully imported and added external journal to the selection", + "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal.added.new-entity": "Veiksmīgi importēts un pievienots ārējais žurnāls atlasē", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Issue.title": "Import Remote Journal Issue", + "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Issue.title": "Importēt Attālināta Žurnāla Izdevumu", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Issue.added.local-entity": "Successfully added local journal issue to the selection", + "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Issue.added.local-entity": "Lokālā žurnāla izdevums veiksmīgi pievienots izlasei", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Issue.added.new-entity": "Successfully imported and added external journal issue to the selection", + "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Issue.added.new-entity": "Veiksmīgi importēts un atlasē pievienots ārēja žurnāla izdevums", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Volume.title": "Import Remote Journal Volume", + "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Volume.title": "Importēt Attālinātā Žurnāla Sējumu", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Volume.added.local-entity": "Successfully added local journal volume to the selection", + "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Volume.added.local-entity": "Lokālā žurnāla sējums veiksmīgi pievienots atlasē", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Volume.added.new-entity": "Successfully imported and added external journal volume to the selection", + "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Volume.added.new-entity": "Veiksmīgi importēts un atlasē pievienots ārējā žurnāla sējums", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.select": "Select a local match:", + "submission.sections.describe.relationship-lookup.external-source.import-modal.select": "Atlasīt lokālo sakritību:", + + // "submission.sections.describe.relationship-lookup.search-tab.deselect-all": "Deselect all", + "submission.sections.describe.relationship-lookup.search-tab.deselect-all": "Atcelt izvēli", + + // "submission.sections.describe.relationship-lookup.search-tab.deselect-page": "Deselect page", + "submission.sections.describe.relationship-lookup.search-tab.deselect-page": "Atcelt izvēlēto lapu", + + // "submission.sections.describe.relationship-lookup.search-tab.loading": "Loading...", + "submission.sections.describe.relationship-lookup.search-tab.loading": "Notiek ielāde...", + + // "submission.sections.describe.relationship-lookup.search-tab.placeholder": "Search query", + "submission.sections.describe.relationship-lookup.search-tab.placeholder": "Meklēšanas vaicājums", + + // "submission.sections.describe.relationship-lookup.search-tab.search": "Go", + "submission.sections.describe.relationship-lookup.search-tab.search": "Izpildīt", + + // "submission.sections.describe.relationship-lookup.search-tab.select-all": "Select all", + "submission.sections.describe.relationship-lookup.search-tab.select-all": "Izvēlēties visus", + + // "submission.sections.describe.relationship-lookup.search-tab.select-page": "Select page", + "submission.sections.describe.relationship-lookup.search-tab.select-page": "Izvēlēties lapu", + + // "submission.sections.describe.relationship-lookup.selected": "Selected {{ size }} items", + "submission.sections.describe.relationship-lookup.selected": "Izvēlētie {{ size }} materiāli", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isAuthorOfPublication": "Local Authors ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isAuthorOfPublication": "Local Authors ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalOfPublication": "Local Journals ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalOfPublication": "Local Journals ({{ count }})", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Project": "Local Projects ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.Project": "Local Projects ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Publication": "Local Publications ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.Publication": "Local Publications ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Person": "Local Authors ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.Person": "Local Authors ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.OrgUnit": "Local Organizational Units ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.OrgUnit": "Local Organizational Units ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.DataPackage": "Local Data Packages ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.DataPackage": "Local Data Packages ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.DataFile": "Local Data Files ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.DataFile": "Local Data Files ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal": "Local Journals ({{ count }})", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal": "Vietējie Žurnāli ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalIssueOfPublication": "Local Journal Issues ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalIssueOfPublication": "Local Journal Issues ({{ count }})", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.JournalIssue": "Local Journal Issues ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.JournalIssue": "Local Journal Issues ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalVolumeOfPublication": "Local Journal Volumes ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalVolumeOfPublication": "Local Journal Volumes ({{ count }})", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.JournalVolume": "Local Journal Volumes ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.JournalVolume": "Local Journal Volumes ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaJournal": "Sherpa Journals ({{ count }})", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaJournal": "Sherpa Žurnāli ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaPublisher": "Sherpa Publishers ({{ count }})", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaPublisher": "Sherpa Izdevēji ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.orcid": "ORCID ({{ count }})", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.orcid": "ORCID ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.lcname": "LC Names ({{ count }})", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.lcname": "LC Nosaukumi ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.pubmed": "PubMed ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.pubmed": "PubMed ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.arxiv": "arXiv ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.arxiv": "arXiv ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingAgencyOfPublication": "Search for Funding Agencies", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingAgencyOfPublication": "Search for Funding Agencies", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingOfPublication": "Search for Funding", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingOfPublication": "Search for Funding", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isChildOrgUnitOf": "Search for Organizational Units", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isChildOrgUnitOf": "Search for Organizational Units", + + // "submission.sections.describe.relationship-lookup.selection-tab.tab-title": "Current Selection ({{ count }})", + "submission.sections.describe.relationship-lookup.selection-tab.tab-title": "Pašreiz Izvēlēti ({{ count }})", + + // "submission.sections.describe.relationship-lookup.title.isJournalIssueOfPublication": "Journal Issues", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.isJournalIssueOfPublication": "Journal Issues", + // "submission.sections.describe.relationship-lookup.title.JournalIssue": "Journal Issues", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.JournalIssue": "Journal Issues", + + // "submission.sections.describe.relationship-lookup.title.isJournalVolumeOfPublication": "Journal Volumes", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.isJournalVolumeOfPublication": "Journal Volumes", + // "submission.sections.describe.relationship-lookup.title.JournalVolume": "Journal Volumes", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.JournalVolume": "Journal Volumes", + + // "submission.sections.describe.relationship-lookup.title.isJournalOfPublication": "Journals", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.isJournalOfPublication": "Journals", + + // "submission.sections.describe.relationship-lookup.title.isAuthorOfPublication": "Authors", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.isAuthorOfPublication": "Authors", + + // "submission.sections.describe.relationship-lookup.title.isFundingAgencyOfPublication": "Funding Agency", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.isFundingAgencyOfPublication": "Funding Agency", + // "submission.sections.describe.relationship-lookup.title.Project": "Projects", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.Project": "Projects", + + // "submission.sections.describe.relationship-lookup.title.Publication": "Publications", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.Publication": "Publications", + + // "submission.sections.describe.relationship-lookup.title.Person": "Authors", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.Person": "Authors", + + // "submission.sections.describe.relationship-lookup.title.OrgUnit": "Organizational Units", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.OrgUnit": "Organizational Units", + + // "submission.sections.describe.relationship-lookup.title.DataPackage": "Data Packages", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.DataPackage": "Data Packages", + + // "submission.sections.describe.relationship-lookup.title.DataFile": "Data Files", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.DataFile": "Data Files", + + // "submission.sections.describe.relationship-lookup.title.Funding Agency": "Funding Agency", + "submission.sections.describe.relationship-lookup.title.Funding Agency": "Finansējošā aģēntūra", + + // "submission.sections.describe.relationship-lookup.title.isFundingOfPublication": "Funding", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.isFundingOfPublication": "Funding", + + // "submission.sections.describe.relationship-lookup.title.isChildOrgUnitOf": "Parent Organizational Unit", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.isChildOrgUnitOf": "Parent Organizational Unit", + + // "submission.sections.describe.relationship-lookup.search-tab.toggle-dropdown": "Toggle dropdown", + "submission.sections.describe.relationship-lookup.search-tab.toggle-dropdown": "Pārslēgšanas nolaižamā izvēlne", + + // "submission.sections.describe.relationship-lookup.selection-tab.settings": "Settings", + "submission.sections.describe.relationship-lookup.selection-tab.settings": "Iestatījumi", + + // "submission.sections.describe.relationship-lookup.selection-tab.no-selection": "Your selection is currently empty.", + "submission.sections.describe.relationship-lookup.selection-tab.no-selection": "ūsu atlase pašlaik ir tukša.", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isAuthorOfPublication": "Selected Authors", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.isAuthorOfPublication": "Selected Authors", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalOfPublication": "Selected Journals", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalOfPublication": "Selected Journals", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalVolumeOfPublication": "Selected Journal Volume", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalVolumeOfPublication": "Selected Journal Volume", + // "submission.sections.describe.relationship-lookup.selection-tab.title.Project": "Selected Projects", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.Project": "Selected Projects", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.Publication": "Selected Publications", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.Publication": "Selected Publications", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.Person": "Selected Authors", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.Person": "Selected Authors", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.OrgUnit": "Selected Organizational Units", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.OrgUnit": "Selected Organizational Units", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.DataPackage": "Selected Data Packages", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.DataPackage": "Selected Data Packages", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.DataFile": "Selected Data Files", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.DataFile": "Selected Data Files", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.Journal": "Selected Journals", + "submission.sections.describe.relationship-lookup.selection-tab.title.Journal": "Izvēlētais Žurnāls", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalIssueOfPublication": "Selected Issue", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalIssueOfPublication": "Selected Issue", + // "submission.sections.describe.relationship-lookup.selection-tab.title.JournalVolume": "Selected Journal Volume", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.JournalVolume": "Selected Journal Volume", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingAgencyOfPublication": "Selected Funding Agency", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingAgencyOfPublication": "Selected Funding Agency", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingOfPublication": "Selected Funding", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingOfPublication": "Selected Funding", + // "submission.sections.describe.relationship-lookup.selection-tab.title.JournalIssue": "Selected Issue", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.JournalIssue": "Selected Issue", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isChildOrgUnitOf": "Selected Organizational Unit", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.isChildOrgUnitOf": "Selected Organizational Unit", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.sherpaJournal": "Search Results", + "submission.sections.describe.relationship-lookup.selection-tab.title.sherpaJournal": "Meklēšanas rezultāti", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.sherpaPublisher": "Search Results", + "submission.sections.describe.relationship-lookup.selection-tab.title.sherpaPublisher": "Meklēšanas rezultāti", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.orcid": "Search Results", + "submission.sections.describe.relationship-lookup.selection-tab.title.orcid": "Meklēšanas rezultāti", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.orcidv2": "Search Results", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.orcidv2": "Search Results", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.lcname": "Search Results", + "submission.sections.describe.relationship-lookup.selection-tab.title.lcname": "Meklēšanas rezultāti", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.pubmed": "Search Results", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.pubmed": "Search Results", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.arxiv": "Search Results", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.arxiv": "Search Results", + + // "submission.sections.describe.relationship-lookup.name-variant.notification.content": "Would you like to save \"{{ value }}\" as a name variant for this person so you and others can reuse it for future submissions? If you don\'t you can still use it for this submission.", + "submission.sections.describe.relationship-lookup.name-variant.notification.content": "Vai vēlaties saglabāt \"{{ value }}\" kā vārda variantu šai personai, lai jūs un citi varētu to izmantot turpmākai iesniegšanai? Ja nē, jūs joprojām varat to izmantot šai iesniegšanai.", + + // "submission.sections.describe.relationship-lookup.name-variant.notification.confirm": "Save a new name variant", + "submission.sections.describe.relationship-lookup.name-variant.notification.confirm": "Saglabājiet jauna nosaukuma variantu", + + // "submission.sections.describe.relationship-lookup.name-variant.notification.decline": "Use only for this submission", + "submission.sections.describe.relationship-lookup.name-variant.notification.decline": "Izmantojiet tikai pašreizējai iesniegšanai", + + // "submission.sections.ccLicense.type": "License Type", + // TODO New key - Add a translation + "submission.sections.ccLicense.type": "License Type", + + // "submission.sections.ccLicense.select": "Select a license type…", + // TODO New key - Add a translation + "submission.sections.ccLicense.select": "Select a license type…", + + // "submission.sections.ccLicense.change": "Change your license type…", + // TODO New key - Add a translation + "submission.sections.ccLicense.change": "Change your license type…", + + // "submission.sections.ccLicense.none": "No licenses available", + // TODO New key - Add a translation + "submission.sections.ccLicense.none": "No licenses available", + + // "submission.sections.ccLicense.option.select": "Select an option…", + // TODO New key - Add a translation + "submission.sections.ccLicense.option.select": "Select an option…", + + // "submission.sections.ccLicense.link": "You’ve selected the following license:", + // TODO New key - Add a translation + "submission.sections.ccLicense.link": "You’ve selected the following license:", + + // "submission.sections.ccLicense.confirmation": "I grant the license above", + // TODO New key - Add a translation + "submission.sections.ccLicense.confirmation": "I grant the license above", + + // "submission.sections.general.add-more": "Add more", + "submission.sections.general.add-more": "Pievienot vēl", + + // "submission.sections.general.collection": "Collection", + "submission.sections.general.collection": "Kolekcija", + + // "submission.sections.general.deposit_error_notice": "There was an issue when submitting the item, please try again later.", + "submission.sections.general.deposit_error_notice": "Iesniedzot materiālu, radās problēma. Lūdzu, vēlāk mēģiniet vēlreiz.", + + // "submission.sections.general.deposit_success_notice": "Submission deposited successfully.", + "submission.sections.general.deposit_success_notice": "Iesniegums ir veiksmīgi iesniegts.", + + // "submission.sections.general.discard_error_notice": "There was an issue when discarding the item, please try again later.", + "submission.sections.general.discard_error_notice": "Izmetot vienumu, radās kļūda. Lūdzu, vēlāk mēģiniet vēlreiz", + + // "submission.sections.general.discard_success_notice": "Submission discarded successfully.", + "submission.sections.general.discard_success_notice": "Iesniegums atmests.", + + // "submission.sections.general.metadata-extracted": "New metadata have been extracted and added to the {{sectionId}} section.", + "submission.sections.general.metadata-extracted": "Jauni metadati ir iegūti un pievienoti {{sectionId}} sadaļā.", + + // "submission.sections.general.metadata-extracted-new-section": "New {{sectionId}} section has been added to submission.", + "submission.sections.general.metadata-extracted-new-section": "Jauna {{sectionId}} sadaļa ir pievienota iesniegšanai.", + + // "submission.sections.general.no-collection": "No collection found", + "submission.sections.general.no-collection": "Kolekcijas nav atrastas", + + // "submission.sections.general.no-sections": "No options available", + "submission.sections.general.no-sections": "Opcijas nav pieejamas", + + // "submission.sections.general.save_error_notice": "There was an issue when saving the item, please try again later.", + "submission.sections.general.save_error_notice": "Saglabājot materiālu, radās problēma. Lūdzu, vēlāk mēģiniet vēlreiz.", + + // "submission.sections.general.save_success_notice": "Submission saved successfully.", + "submission.sections.general.save_success_notice": "Iesniegums veiksmīgi saglabāts.", + + // "submission.sections.general.search-collection": "Search for a collection", + "submission.sections.general.search-collection": "Meklēt kolekciju", + + // "submission.sections.general.sections_not_valid": "There are incomplete sections.", + "submission.sections.general.sections_not_valid": "Ir nepilnīgas sadaļas.", + + + + // "submission.sections.submit.progressbar.CClicense": "Creative commons license", + // TODO New key - Add a translation + "submission.sections.submit.progressbar.CClicense": "Creative commons license", + + // "submission.sections.submit.progressbar.describe.recycle": "Recycle", + "submission.sections.submit.progressbar.describe.recycle": "Pārstrādāt", + + // "submission.sections.submit.progressbar.describe.stepcustom": "Describe", + "submission.sections.submit.progressbar.describe.stepcustom": "Aprakstiet", + + // "submission.sections.submit.progressbar.describe.stepone": "Describe", + "submission.sections.submit.progressbar.describe.stepone": "Aprakstiet", + + // "submission.sections.submit.progressbar.describe.steptwo": "Describe", + "submission.sections.submit.progressbar.describe.steptwo": "Aprakstiet", + + // "submission.sections.submit.progressbar.detect-duplicate": "Potential duplicates", + "submission.sections.submit.progressbar.detect-duplicate": "Potenciālie dublikāti", + + // "submission.sections.submit.progressbar.license": "Deposit license", + "submission.sections.submit.progressbar.license": "Ievietot licenci", + + // "submission.sections.submit.progressbar.upload": "Upload files", + "submission.sections.submit.progressbar.upload": "Augšupielādēt failus", + + + + // "submission.sections.upload.delete.confirm.cancel": "Cancel", + "submission.sections.upload.delete.confirm.cancel": "Atcelt", + + // "submission.sections.upload.delete.confirm.info": "This operation can't be undone. Are you sure?", + "submission.sections.upload.delete.confirm.info": "Šo darbību nevar atsaukt. Vai tu esi pārliecināts?", + + // "submission.sections.upload.delete.confirm.submit": "Yes, I'm sure", + "submission.sections.upload.delete.confirm.submit": "Jā, esmu pārliecināts", + + // "submission.sections.upload.delete.confirm.title": "Delete bitstream", + "submission.sections.upload.delete.confirm.title": "Dzēst bitu straumes", + + // "submission.sections.upload.delete.submit": "Delete", + "submission.sections.upload.delete.submit": "Dzēst", + + // "submission.sections.upload.drop-message": "Drop files to attach them to the item", + "submission.sections.upload.drop-message": "Ievietojiet failu, lai pievienotu materiālam", + + // "submission.sections.upload.form.access-condition-label": "Access condition type", + "submission.sections.upload.form.access-condition-label": "Piekļuves nosacījuma tips", + + // "submission.sections.upload.form.date-required": "Date is required.", + "submission.sections.upload.form.date-required": "Datums ir nepieciešams.", + + // "submission.sections.upload.form.from-label": "Grant access from", + // TODO Source message changed - Revise the translation + "submission.sections.upload.form.from-label": "Iespēja izmantot no", + + // "submission.sections.upload.form.from-placeholder": "From", + "submission.sections.upload.form.from-placeholder": "No", + + // "submission.sections.upload.form.group-label": "Group", + "submission.sections.upload.form.group-label": "Grupa", + + // "submission.sections.upload.form.group-required": "Group is required.", + "submission.sections.upload.form.group-required": "Nepieciešama grupa.", + + // "submission.sections.upload.form.until-label": "Grant access until", + // TODO Source message changed - Revise the translation + "submission.sections.upload.form.until-label": "Piekļuvas atļauja līdz", + + // "submission.sections.upload.form.until-placeholder": "Until", + "submission.sections.upload.form.until-placeholder": "Līdz", + + // "submission.sections.upload.header.policy.default.nolist": "Uploaded files in the {{collectionName}} collection will be accessible according to the following group(s):", + "submission.sections.upload.header.policy.default.nolist": "Augšupielādētie faili kolekcijā {{collectionName}} būs pieejami atbilstoši šīm grupām:", + + // "submission.sections.upload.header.policy.default.withlist": "Please note that uploaded files in the {{collectionName}} collection will be accessible, in addition to what is explicitly decided for the single file, with the following group(s):", + "submission.sections.upload.header.policy.default.withlist": "Lūdzu, ņemiet vērā, ka augšupielādētie faili kolekcijā {{collectionName}} būs pieejami papildus tam, kas ir skaidri noteikts par atsevišķu failu, ar šādām grupām:", + + // "submission.sections.upload.info": "Here you will find all the files currently in the item. You can update the file metadata and access conditions or upload additional files just dragging & dropping them everywhere in the page", + "submission.sections.upload.info": "Šeit atradīsit visus failus, kas pašlaik atrodas materiālā. Varat atjaunināt failu metadatus un piekļuves nosacījumus vai augšupielādēt papildu failus, vienkārši ievelkot un atstājot tos visur lapā", + + // "submission.sections.upload.no-entry": "No", + "submission.sections.upload.no-entry": "Nē", + + // "submission.sections.upload.no-file-uploaded": "No file uploaded yet.", + "submission.sections.upload.no-file-uploaded": "Vēl nav augšupielādēts neviens fails.", + + // "submission.sections.upload.save-metadata": "Save metadata", + "submission.sections.upload.save-metadata": "Saglabāt metadatus", + + // "submission.sections.upload.undo": "Cancel", + "submission.sections.upload.undo": "Atcelt", + + // "submission.sections.upload.upload-failed": "Upload failed", + "submission.sections.upload.upload-failed": "Augšupielāde neizdevās", + + // "submission.sections.upload.upload-successful": "Upload successful", + "submission.sections.upload.upload-successful": "Augšupielāde veiksmīga", + + + + // "submission.submit.title": "Submission", + "submission.submit.title": "Iesniegums", + + + + // "submission.workflow.generic.delete": "Delete", + "submission.workflow.generic.delete": "Dzēst", + + // "submission.workflow.generic.delete-help": "If you would to discard this item, select \"Delete\". You will then be asked to confirm it.", + "submission.workflow.generic.delete-help": "Ja vēlaties atmest šo materiālu izvēlieties \"Dzēst\". Pēc tam jums tiks lūgts to apstiprināt.", + + // "submission.workflow.generic.edit": "Edit", + "submission.workflow.generic.edit": "Rediģēt", + + // "submission.workflow.generic.edit-help": "Select this option to change the item's metadata.", + "submission.workflow.generic.edit-help": "Izvēlieties šo opciju, lai mainītu materiāla metadatus.", + + // "submission.workflow.generic.view": "View", + "submission.workflow.generic.view": "Skatīt", + + // "submission.workflow.generic.view-help": "Select this option to view the item's metadata.", + "submission.workflow.generic.view-help": "Izvēlieties šo opciju, lai skatītu materiāla metadatus.", + + + + // "submission.workflow.tasks.claimed.approve": "Approve", + "submission.workflow.tasks.claimed.approve": "Apstiprināt", + + // "submission.workflow.tasks.claimed.approve_help": "If you have reviewed the item and it is suitable for inclusion in the collection, select \"Approve\".", + "submission.workflow.tasks.claimed.approve_help": "Ja esat pārskatījis materiālu un tas ir piemērots iekļaušanai kolekcijā, atlasiet \"Apstiprināt\".", + + // "submission.workflow.tasks.claimed.edit": "Edit", + "submission.workflow.tasks.claimed.edit": "Rediģēt", + + // "submission.workflow.tasks.claimed.edit_help": "Select this option to change the item's metadata.", + "submission.workflow.tasks.claimed.edit_help": "Izvēlieties šo opciju, lai mainītu materiāla metadatus.", + + // "submission.workflow.tasks.claimed.reject.reason.info": "Please enter your reason for rejecting the submission into the box below, indicating whether the submitter may fix a problem and resubmit.", + "submission.workflow.tasks.claimed.reject.reason.info": "Lūdzu, zemāk esošajā lodziņā ievadiet iesnieguma noraidīšanas iemeslu, norādot, vai iesniedzējs var novērst problēmu un atkārtoti iesniegt.", + + // "submission.workflow.tasks.claimed.reject.reason.placeholder": "Describe the reason of reject", + "submission.workflow.tasks.claimed.reject.reason.placeholder": "Aprakstiet noraidījuma iemeslu", + + // "submission.workflow.tasks.claimed.reject.reason.submit": "Reject item", + "submission.workflow.tasks.claimed.reject.reason.submit": "Noraidīt materiālu", + + // "submission.workflow.tasks.claimed.reject.reason.title": "Reason", + "submission.workflow.tasks.claimed.reject.reason.title": "Iemesls", + + // "submission.workflow.tasks.claimed.reject.submit": "Reject", + "submission.workflow.tasks.claimed.reject.submit": "Noraidīt", + + // "submission.workflow.tasks.claimed.reject_help": "If you have reviewed the item and found it is not suitable for inclusion in the collection, select \"Reject\". You will then be asked to enter a message indicating why the item is unsuitable, and whether the submitter should change something and resubmit.", + "submission.workflow.tasks.claimed.reject_help": "Ja esat pārskatījis vienumu un secinājis, ka tas nav piemērots iekļaušanai kolekcijā, atlasiet \"Noraidīt\". Pēc tam jums tiks lūgts ievadīt ziņojumu, norādot, kāpēc materiāls nav piemērots, un vai iesniedzējam vajadzētu kaut ko mainīt un atkārtoti iesniegt.", + + // "submission.workflow.tasks.claimed.return": "Return to pool", + "submission.workflow.tasks.claimed.return": "Atgriezt kopnē", + + // "submission.workflow.tasks.claimed.return_help": "Return the task to the pool so that another user may perform the task.", + "submission.workflow.tasks.claimed.return_help": "Atgrieziet uzdevumu kopnē, lai uzdevumu varētu veikt cits lietotājs.", + + + + // "submission.workflow.tasks.generic.error": "Error occurred during operation...", + "submission.workflow.tasks.generic.error": "Apstrādes laikā radās kļūda...", + + // "submission.workflow.tasks.generic.processing": "Processing...", + "submission.workflow.tasks.generic.processing": "Apstrāde...", + + // "submission.workflow.tasks.generic.submitter": "Submitter", + "submission.workflow.tasks.generic.submitter": "Iesniedzējs", + + // "submission.workflow.tasks.generic.success": "Operation successful", + "submission.workflow.tasks.generic.success": "Darbībā veiksmīga", + + + + // "submission.workflow.tasks.pool.claim": "Claim", + "submission.workflow.tasks.pool.claim": "Apstrādāt", + + // "submission.workflow.tasks.pool.claim_help": "Assign this task to yourself.", + "submission.workflow.tasks.pool.claim_help": "Piešķirt šo uzdevumu sev.", + + // "submission.workflow.tasks.pool.hide-detail": "Hide detail", + "submission.workflow.tasks.pool.hide-detail": "Paslēpt detaļas", + + // "submission.workflow.tasks.pool.show-detail": "Show detail", + "submission.workflow.tasks.pool.show-detail": "Parādīt detaļas", + + + + // "title": "DSpace", + "title": "DSpace", + + + + // "vocabulary-treeview.header": "Hierarchical tree view", + // TODO New key - Add a translation + "vocabulary-treeview.header": "Hierarchical tree view", + + // "vocabulary-treeview.load-more": "Load more", + // TODO New key - Add a translation + "vocabulary-treeview.load-more": "Load more", + + // "vocabulary-treeview.search.form.reset": "Reset", + // TODO New key - Add a translation + "vocabulary-treeview.search.form.reset": "Reset", + + // "vocabulary-treeview.search.form.search": "Search", + // TODO New key - Add a translation + "vocabulary-treeview.search.form.search": "Search", + + // "vocabulary-treeview.search.no-result": "There were no items to show", + // TODO New key - Add a translation + "vocabulary-treeview.search.no-result": "There were no items to show", + + // "vocabulary-treeview.tree.description.nsi": "The Norwegian Science Index", + // TODO New key - Add a translation + "vocabulary-treeview.tree.description.nsi": "The Norwegian Science Index", + + // "vocabulary-treeview.tree.description.srsc": "Research Subject Categories", + // TODO New key - Add a translation + "vocabulary-treeview.tree.description.srsc": "Research Subject Categories", + + + // "uploader.browse": "browse", "uploader.browse": "pārlūkot", - + // "uploader.drag-message": "Drag & Drop your files here", "uploader.drag-message": "Velciet failu šeit", - - // "uploader.or": ", or", + + // "uploader.or": ", or ", + // TODO Source message changed - Revise the translation "uploader.or": ", vai", - + // "uploader.processing": "Processing", "uploader.processing": "Datu apstrāde", - + // "uploader.queue-length": "Queue length", "uploader.queue-length": "Rindas garums", - + // "virtual-metadata.delete-item.info": "Select the types for which you want to save the virtual metadata as real metadata", "virtual-metadata.delete-item.info": "Izēlieties tipu, kam vēlaties saglabāt virtuālos metadatus kā reālus metadatus", - + // "virtual-metadata.delete-item.modal-head": "The virtual metadata of this relation", "virtual-metadata.delete-item.modal-head": "Šīs saiknes virtuālie metadati", - + // "virtual-metadata.delete-relationship.modal-head": "Select the items for which you want to save the virtual metadata as real metadata", "virtual-metadata.delete-relationship.modal-head": "Izēlieties materiālus, kam vēlaties saglabāt virtuālos metadatus kā reālus metadatus", - + + + // "workflowAdmin.search.results.head": "Administer Workflow", "workflowAdmin.search.results.head": "Administrēt darba plūsmu" -} + + + + // "workflow-item.delete.notification.success.title": "Deleted", + // TODO New key - Add a translation + "workflow-item.delete.notification.success.title": "Deleted", + + // "workflow-item.delete.notification.success.content": "This workflow item was successfully deleted", + // TODO New key - Add a translation + "workflow-item.delete.notification.success.content": "This workflow item was successfully deleted", + + // "workflow-item.delete.notification.error.title": "Something went wrong", + // TODO New key - Add a translation + "workflow-item.delete.notification.error.title": "Something went wrong", + + // "workflow-item.delete.notification.error.content": "The workflow item could not be deleted", + // TODO New key - Add a translation + "workflow-item.delete.notification.error.content": "The workflow item could not be deleted", + + // "workflow-item.delete.title": "Delete workflow item", + // TODO New key - Add a translation + "workflow-item.delete.title": "Delete workflow item", + + // "workflow-item.delete.header": "Delete workflow item", + // TODO New key - Add a translation + "workflow-item.delete.header": "Delete workflow item", + + // "workflow-item.delete.button.cancel": "Cancel", + // TODO New key - Add a translation + "workflow-item.delete.button.cancel": "Cancel", + + // "workflow-item.delete.button.confirm": "Delete", + // TODO New key - Add a translation + "workflow-item.delete.button.confirm": "Delete", + + + // "workflow-item.send-back.notification.success.title": "Sent back to submitter", + // TODO New key - Add a translation + "workflow-item.send-back.notification.success.title": "Sent back to submitter", + + // "workflow-item.send-back.notification.success.content": "This workflow item was successfully sent back to the submitter", + // TODO New key - Add a translation + "workflow-item.send-back.notification.success.content": "This workflow item was successfully sent back to the submitter", + + // "workflow-item.send-back.notification.error.title": "Something went wrong", + // TODO New key - Add a translation + "workflow-item.send-back.notification.error.title": "Something went wrong", + + // "workflow-item.send-back.notification.error.content": "The workflow item could not be sent back to the submitter", + // TODO New key - Add a translation + "workflow-item.send-back.notification.error.content": "The workflow item could not be sent back to the submitter", + + // "workflow-item.send-back.title": "Send workflow item back to submitter", + // TODO New key - Add a translation + "workflow-item.send-back.title": "Send workflow item back to submitter", + + // "workflow-item.send-back.header": "Send workflow item back to submitter", + // TODO New key - Add a translation + "workflow-item.send-back.header": "Send workflow item back to submitter", + + // "workflow-item.send-back.button.cancel": "Cancel", + // TODO New key - Add a translation + "workflow-item.send-back.button.cancel": "Cancel", + + // "workflow-item.send-back.button.confirm": "Send back" + // TODO New key - Add a translation + "workflow-item.send-back.button.confirm": "Send back" + + +} \ No newline at end of file diff --git a/src/assets/i18n/nl.json5 b/src/assets/i18n/nl.json5 index 2959bccef9..b831dbb3ad 100644 --- a/src/assets/i18n/nl.json5 +++ b/src/assets/i18n/nl.json5 @@ -1,5 +1,33 @@ { + // "401.help": "You're not authorized to access this page. You can use the button below to get back to the home page.", + // TODO New key - Add a translation + "401.help": "You're not authorized to access this page. You can use the button below to get back to the home page.", + + // "401.link.home-page": "Take me to the home page", + // TODO New key - Add a translation + "401.link.home-page": "Take me to the home page", + + // "401.unauthorized": "unauthorized", + // TODO New key - Add a translation + "401.unauthorized": "unauthorized", + + + + // "403.help": "You don't have permission to access this page. You can use the button below to get back to the home page.", + // TODO New key - Add a translation + "403.help": "You don't have permission to access this page. You can use the button below to get back to the home page.", + + // "403.link.home-page": "Take me to the home page", + // TODO New key - Add a translation + "403.link.home-page": "Take me to the home page", + + // "403.forbidden": "forbidden", + // TODO New key - Add a translation + "403.forbidden": "forbidden", + + + // "404.help": "We can't find the page you're looking for. The page may have been moved or deleted. You can use the button below to get back to the home page. ", "404.help": "De pagina die u zoekt kan niet gevonden worden. De pagina werd mogelijk verplaatst of verwijderd. U kan onderstaande knop gebruiken om terug naar de homepagina te gaan. ", @@ -9,7 +37,25 @@ // "404.page-not-found": "page not found", "404.page-not-found": "Pagina niet gevonden", + // "admin.curation-tasks.breadcrumbs": "System curation tasks", + // TODO New key - Add a translation + "admin.curation-tasks.breadcrumbs": "System curation tasks", + // "admin.curation-tasks.title": "System curation tasks", + // TODO New key - Add a translation + "admin.curation-tasks.title": "System curation tasks", + + // "admin.curation-tasks.header": "System curation tasks", + // TODO New key - Add a translation + "admin.curation-tasks.header": "System curation tasks", + + // "admin.registries.bitstream-formats.breadcrumbs": "Format registry", + // TODO New key - Add a translation + "admin.registries.bitstream-formats.breadcrumbs": "Format registry", + + // "admin.registries.bitstream-formats.create.breadcrumbs": "Bitstream format", + // TODO New key - Add a translation + "admin.registries.bitstream-formats.create.breadcrumbs": "Bitstream format", // "admin.registries.bitstream-formats.create.failure.content": "An error occurred while creating the new bitstream format.", "admin.registries.bitstream-formats.create.failure.content": "Er is een fout opgetreden bij het maken van het nieuwe bitstream-formaat.", @@ -44,6 +90,10 @@ // "admin.registries.bitstream-formats.description": "This list of bitstream formats provides information about known formats and their support level.", "admin.registries.bitstream-formats.description": "Deze lijst van bitstream-formaten biedt informatie over de formaten die in deze repository zijn toegelaten en op welke manier ze ondersteund worden. De term Bitstream wordt in DSpace gebruikt om een bestand aan te duiden dat samen met metadata onderdeel uitmaakt van een item. De naam bitstream duidt op het feit dat het bestand achterliggend wordt opgeslaan zonder bestandsextensie.", + // "admin.registries.bitstream-formats.edit.breadcrumbs": "Bitstream format", + // TODO New key - Add a translation + "admin.registries.bitstream-formats.edit.breadcrumbs": "Bitstream format", + // "admin.registries.bitstream-formats.edit.description.hint": "", "admin.registries.bitstream-formats.edit.description.hint": "", @@ -140,6 +190,10 @@ + // "admin.registries.metadata.breadcrumbs": "Metadata registry", + // TODO New key - Add a translation + "admin.registries.metadata.breadcrumbs": "Metadata registry", + // "admin.registries.metadata.description": "The metadata registry maintains a list of all metadata fields available in the repository. These fields may be divided amongst multiple schemas. However, DSpace requires the qualified Dublin Core schema.", "admin.registries.metadata.description": "Het metadataregister omvat de lijst van alle metadatavelden die beschikbaar zijn in het systeem. Deze velden kunnen verspreid zijn over verschillende metadataschema's. Het qualified Dublin Core schema (dc) is een verplicht schema en kan niet worden verwijderd.", @@ -178,6 +232,10 @@ + // "admin.registries.schema.breadcrumbs": "Metadata schema", + // TODO New key - Add a translation + "admin.registries.schema.breadcrumbs": "Metadata schema", + // "admin.registries.schema.description": "This is the metadata schema for \"{{namespace}}\".", "admin.registries.schema.description": "Dit is het metadataschema voor \"{{namespace}}\".", @@ -252,6 +310,22 @@ + // "admin.access-control.epeople.actions.delete": "Delete EPerson", + // TODO New key - Add a translation + "admin.access-control.epeople.actions.delete": "Delete EPerson", + + // "admin.access-control.epeople.actions.impersonate": "Impersonate EPerson", + // TODO New key - Add a translation + "admin.access-control.epeople.actions.impersonate": "Impersonate EPerson", + + // "admin.access-control.epeople.actions.reset": "Reset password", + // TODO New key - Add a translation + "admin.access-control.epeople.actions.reset": "Reset password", + + // "admin.access-control.epeople.actions.stop-impersonating": "Stop impersonating EPerson", + // TODO New key - Add a translation + "admin.access-control.epeople.actions.stop-impersonating": "Stop impersonating EPerson", + // "admin.access-control.epeople.title": "DSpace Angular :: EPeople", // TODO New key - Add a translation "admin.access-control.epeople.title": "DSpace Angular :: EPeople", @@ -368,6 +442,14 @@ // TODO New key - Add a translation "admin.access-control.epeople.form.notification.edited.failure": "Failed to edit EPerson \"{{name}}\"", + // "admin.access-control.epeople.form.notification.deleted.success": "Successfully deleted EPerson \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.epeople.form.notification.deleted.success": "Successfully deleted EPerson \"{{name}}\"", + + // "admin.access-control.epeople.form.notification.deleted.failure": "Failed to delete EPerson \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.epeople.form.notification.deleted.failure": "Failed to delete EPerson \"{{name}}\"", + // "admin.access-control.epeople.form.groupsEPersonIsMemberOf": "Member of these groups:", // TODO New key - Add a translation "admin.access-control.epeople.form.groupsEPersonIsMemberOf": "Member of these groups:", @@ -402,6 +484,14 @@ // TODO New key - Add a translation "admin.access-control.groups.title": "DSpace Angular :: Groups", + // "admin.access-control.groups.title.singleGroup": "DSpace Angular :: Edit Group", + // TODO New key - Add a translation + "admin.access-control.groups.title.singleGroup": "DSpace Angular :: Edit Group", + + // "admin.access-control.groups.title.addGroup": "DSpace Angular :: New Group", + // TODO New key - Add a translation + "admin.access-control.groups.title.addGroup": "DSpace Angular :: New Group", + // "admin.access-control.groups.head": "Groups", // TODO New key - Add a translation "admin.access-control.groups.head": "Groups", @@ -434,10 +524,6 @@ // TODO New key - Add a translation "admin.access-control.groups.table.members": "Members", - // "admin.access-control.groups.table.comcol": "Community / Collection", - // TODO New key - Add a translation - "admin.access-control.groups.table.comcol": "Community / Collection", - // "admin.access-control.groups.table.edit": "Edit", // TODO New key - Add a translation "admin.access-control.groups.table.edit": "Edit", @@ -458,10 +544,23 @@ // TODO New key - Add a translation "admin.access-control.groups.notification.deleted.success": "Successfully deleted group \"{{name}}\"", - // "admin.access-control.groups.notification.deleted.failure": "Failed to delete group \"{{name}}\"", + // "admin.access-control.groups.notification.deleted.failure.title": "Failed to delete group \"{{name}}\"", // TODO New key - Add a translation - "admin.access-control.groups.notification.deleted.failure": "Failed to delete group \"{{name}}\"", + "admin.access-control.groups.notification.deleted.failure.title": "Failed to delete group \"{{name}}\"", + // "admin.access-control.groups.notification.deleted.failure.content": "Cause: \"{{cause}}\"", + // TODO New key - Add a translation + "admin.access-control.groups.notification.deleted.failure.content": "Cause: \"{{cause}}\"", + + + + // "admin.access-control.groups.form.alert.permanent": "This group is permanent, so it can't be edited or deleted. You can still add and remove group members using this page.", + // TODO New key - Add a translation + "admin.access-control.groups.form.alert.permanent": "This group is permanent, so it can't be edited or deleted. You can still add and remove group members using this page.", + + // "admin.access-control.groups.form.alert.workflowGroup": "This group can’t be modified or deleted because it corresponds to a role in the submission and workflow process in the \"{{name}}\" {{comcol}}. You can delete it from the \"assign roles\" tab on the edit {{comcol}} page. You can still add and remove group members using this page.", + // TODO New key - Add a translation + "admin.access-control.groups.form.alert.workflowGroup": "This group can’t be modified or deleted because it corresponds to a role in the submission and workflow process in the \"{{name}}\" {{comcol}}. You can delete it from the \"assign roles\" tab on the edit {{comcol}} page. You can still add and remove group members using this page.", // "admin.access-control.groups.form.head.create": "Create group", // TODO New key - Add a translation @@ -491,6 +590,50 @@ // TODO New key - Add a translation "admin.access-control.groups.form.notification.created.failure.groupNameInUse": "Failed to create Group with name: \"{{name}}\", make sure the name is not already in use.", + // "admin.access-control.groups.form.notification.edited.failure": "Failed to edit Group \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.edited.failure": "Failed to edit Group \"{{name}}\"", + + // "admin.access-control.groups.form.notification.edited.failure.groupNameInUse": "Name \"{{name}}\" already in use!", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.edited.failure.groupNameInUse": "Name \"{{name}}\" already in use!", + + // "admin.access-control.groups.form.notification.edited.success": "Successfully edited Group \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.edited.success": "Successfully edited Group \"{{name}}\"", + + // "admin.access-control.groups.form.actions.delete": "Delete Group", + // TODO New key - Add a translation + "admin.access-control.groups.form.actions.delete": "Delete Group", + + // "admin.access-control.groups.form.delete-group.modal.header": "Delete Group \"{{ dsoName }}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.delete-group.modal.header": "Delete Group \"{{ dsoName }}\"", + + // "admin.access-control.groups.form.delete-group.modal.info": "Are you sure you want to delete Group \"{{ dsoName }}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.delete-group.modal.info": "Are you sure you want to delete Group \"{{ dsoName }}\"", + + // "admin.access-control.groups.form.delete-group.modal.cancel": "Cancel", + // TODO New key - Add a translation + "admin.access-control.groups.form.delete-group.modal.cancel": "Cancel", + + // "admin.access-control.groups.form.delete-group.modal.confirm": "Delete", + // TODO New key - Add a translation + "admin.access-control.groups.form.delete-group.modal.confirm": "Delete", + + // "admin.access-control.groups.form.notification.deleted.success": "Successfully deleted group \"{{ name }}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.deleted.success": "Successfully deleted group \"{{ name }}\"", + + // "admin.access-control.groups.form.notification.deleted.failure.title": "Failed to delete group \"{{ name }}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.deleted.failure.title": "Failed to delete group \"{{ name }}\"", + + // "admin.access-control.groups.form.notification.deleted.failure.content": "Cause: \"{{ cause }}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.deleted.failure.content": "Cause: \"{{ cause }}\"", + // "admin.access-control.groups.form.members-list.head": "EPeople", // TODO New key - Add a translation "admin.access-control.groups.form.members-list.head": "EPeople", @@ -567,6 +710,10 @@ // TODO New key - Add a translation "admin.access-control.groups.form.members-list.no-items": "No EPeople found in that search", + // "admin.access-control.groups.form.subgroups-list.notification.failure": "Something went wrong: \"{{cause}}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.subgroups-list.notification.failure": "Something went wrong: \"{{cause}}\"", + // "admin.access-control.groups.form.subgroups-list.head": "Groups", // TODO New key - Add a translation "admin.access-control.groups.form.subgroups-list.head": "Groups", @@ -681,10 +828,6 @@ // TODO New key - Add a translation "admin.search.item.move": "Move", - // "admin.search.item.private": "Private", - // TODO New key - Add a translation - "admin.search.item.private": "Private", - // "admin.search.item.reinstate": "Reinstate", // TODO New key - Add a translation "admin.search.item.reinstate": "Reinstate", @@ -693,14 +836,76 @@ // TODO New key - Add a translation "admin.search.item.withdraw": "Withdraw", - // "admin.search.item.withdrawn": "Withdrawn", - // TODO New key - Add a translation - "admin.search.item.withdrawn": "Withdrawn", - // "admin.search.title": "Administrative Search", // TODO New key - Add a translation "admin.search.title": "Administrative Search", + // "administrativeView.search.results.head": "Administrative Search", + // TODO New key - Add a translation + "administrativeView.search.results.head": "Administrative Search", + + + + + // "admin.workflow.breadcrumbs": "Administer Workflow", + // TODO New key - Add a translation + "admin.workflow.breadcrumbs": "Administer Workflow", + + // "admin.workflow.title": "Administer Workflow", + // TODO New key - Add a translation + "admin.workflow.title": "Administer Workflow", + + // "admin.workflow.item.workflow": "Workflow", + // TODO New key - Add a translation + "admin.workflow.item.workflow": "Workflow", + + // "admin.workflow.item.delete": "Delete", + // TODO New key - Add a translation + "admin.workflow.item.delete": "Delete", + + // "admin.workflow.item.send-back": "Send back", + // TODO New key - Add a translation + "admin.workflow.item.send-back": "Send back", + + + + // "admin.metadata-import.breadcrumbs": "Import Metadata", + // TODO New key - Add a translation + "admin.metadata-import.breadcrumbs": "Import Metadata", + + // "admin.metadata-import.title": "Import Metadata", + // TODO New key - Add a translation + "admin.metadata-import.title": "Import Metadata", + + // "admin.metadata-import.page.header": "Import Metadata", + // TODO New key - Add a translation + "admin.metadata-import.page.header": "Import Metadata", + + // "admin.metadata-import.page.help": "You can drop or browse CSV files that contain batch metadata operations on files here", + // TODO New key - Add a translation + "admin.metadata-import.page.help": "You can drop or browse CSV files that contain batch metadata operations on files here", + + // "admin.metadata-import.page.dropMsg": "Drop a metadata CSV to import", + // TODO New key - Add a translation + "admin.metadata-import.page.dropMsg": "Drop a metadata CSV to import", + + // "admin.metadata-import.page.dropMsgReplace": "Drop to replace the metadata CSV to import", + // TODO New key - Add a translation + "admin.metadata-import.page.dropMsgReplace": "Drop to replace the metadata CSV to import", + + // "admin.metadata-import.page.button.return": "Return", + // TODO New key - Add a translation + "admin.metadata-import.page.button.return": "Return", + + // "admin.metadata-import.page.button.proceed": "Proceed", + // TODO New key - Add a translation + "admin.metadata-import.page.button.proceed": "Proceed", + + // "admin.metadata-import.page.error.addFile": "Select file first!", + // TODO New key - Add a translation + "admin.metadata-import.page.error.addFile": "Select file first!", + + // "auth.errors.invalid-user": "Invalid email address or password.", @@ -903,6 +1108,10 @@ // "collection.create.sub-head": "Create a Collection for Community {{ parent }}", "collection.create.sub-head": "Maak een collectie voor de community {{ parent }}", + // "collection.curate.header": "Curate Collection: {{collection}}", + // TODO New key - Add a translation + "collection.curate.header": "Curate Collection: {{collection}}", + // "collection.delete.cancel": "Cancel", "collection.delete.cancel": "Annuleer", @@ -935,6 +1144,14 @@ + // "collection.edit.tabs.mapper.head": "Item Mapper", + // TODO New key - Add a translation + "collection.edit.tabs.mapper.head": "Item Mapper", + + // "collection.edit.tabs.item-mapper.title": "Collection Edit - Item Mapper", + // TODO New key - Add a translation + "collection.edit.tabs.item-mapper.title": "Collection Edit - Item Mapper", + // "collection.edit.item-mapper.cancel": "Cancel", "collection.edit.item-mapper.cancel": "Annuleer", @@ -1036,6 +1253,14 @@ // TODO New key - Add a translation "collection.edit.tabs.curate.title": "Collection Edit - Curate", + // "collection.edit.tabs.authorizations.head": "Authorizations", + // TODO New key - Add a translation + "collection.edit.tabs.authorizations.head": "Authorizations", + + // "collection.edit.tabs.authorizations.title": "Collection Edit - Authorizations", + // TODO New key - Add a translation + "collection.edit.tabs.authorizations.title": "Collection Edit - Authorizations", + // "collection.edit.tabs.metadata.head": "Edit Metadata", // TODO New key - Add a translation "collection.edit.tabs.metadata.head": "Edit Metadata", @@ -1126,6 +1351,48 @@ + // "collection.edit.template.add-button": "Add", + // TODO New key - Add a translation + "collection.edit.template.add-button": "Add", + + // "collection.edit.template.breadcrumbs": "Item template", + // TODO New key - Add a translation + "collection.edit.template.breadcrumbs": "Item template", + + // "collection.edit.template.cancel": "Cancel", + // TODO New key - Add a translation + "collection.edit.template.cancel": "Cancel", + + // "collection.edit.template.delete-button": "Delete", + // TODO New key - Add a translation + "collection.edit.template.delete-button": "Delete", + + // "collection.edit.template.edit-button": "Edit", + // TODO New key - Add a translation + "collection.edit.template.edit-button": "Edit", + + // "collection.edit.template.head": "Edit Template Item for Collection \"{{ collection }}\"", + // TODO New key - Add a translation + "collection.edit.template.head": "Edit Template Item for Collection \"{{ collection }}\"", + + // "collection.edit.template.label": "Template item", + // TODO New key - Add a translation + "collection.edit.template.label": "Template item", + + // "collection.edit.template.notifications.delete.error": "Failed to delete the item template", + // TODO New key - Add a translation + "collection.edit.template.notifications.delete.error": "Failed to delete the item template", + + // "collection.edit.template.notifications.delete.success": "Successfully deleted the item template", + // TODO New key - Add a translation + "collection.edit.template.notifications.delete.success": "Successfully deleted the item template", + + // "collection.edit.template.title": "Edit Template Item", + // TODO New key - Add a translation + "collection.edit.template.title": "Edit Template Item", + + + // "collection.form.abstract": "Short Description", "collection.form.abstract": "Korte beschrijving", @@ -1152,12 +1419,22 @@ + // "collection.listelement.badge": "Collection", + // TODO New key - Add a translation + "collection.listelement.badge": "Collection", + + + // "collection.page.browse.recent.head": "Recent Submissions", "collection.page.browse.recent.head": "Recent toegevoegd", // "collection.page.browse.recent.empty": "No items to show", "collection.page.browse.recent.empty": "Geen items om te tonen", + // "collection.page.edit": "Edit this collection", + // TODO New key - Add a translation + "collection.page.edit": "Edit this collection", + // "collection.page.handle": "Permanent URI for this collection", "collection.page.handle": "Permanente URI voor deze collectie", @@ -1214,6 +1491,10 @@ // "community.create.sub-head": "Create a Sub-Community for Community {{ parent }}", "community.create.sub-head": "Maak een sub-community voor community {{ parent }}", + // "community.curate.header": "Curate Community: {{community}}", + // TODO New key - Add a translation + "community.curate.header": "Curate Community: {{community}}", + // "community.delete.cancel": "Cancel", "community.delete.cancel": "Annuleer", @@ -1277,6 +1558,14 @@ // TODO New key - Add a translation "community.edit.notifications.success": "Successfully edited the Community", + // "community.edit.notifications.unauthorized": "You do not have privileges to make this change", + // TODO New key - Add a translation + "community.edit.notifications.unauthorized": "You do not have privileges to make this change", + + // "community.edit.notifications.error": "An error occured while editing the Community", + // TODO New key - Add a translation + "community.edit.notifications.error": "An error occured while editing the Community", + // "community.edit.return": "Return", // TODO New key - Add a translation "community.edit.return": "Return", @@ -1307,6 +1596,118 @@ // TODO New key - Add a translation "community.edit.tabs.roles.title": "Community Edit - Roles", + // "community.edit.tabs.authorizations.head": "Authorizations", + // TODO New key - Add a translation + "community.edit.tabs.authorizations.head": "Authorizations", + + // "community.edit.tabs.authorizations.title": "Community Edit - Authorizations", + // TODO New key - Add a translation + "community.edit.tabs.authorizations.title": "Community Edit - Authorizations", + + + + // "community.listelement.badge": "Community", + // TODO New key - Add a translation + "community.listelement.badge": "Community", + + + + // "comcol-role.edit.no-group": "None", + // TODO New key - Add a translation + "comcol-role.edit.no-group": "None", + + // "comcol-role.edit.create": "Create", + // TODO New key - Add a translation + "comcol-role.edit.create": "Create", + + // "comcol-role.edit.restrict": "Restrict", + // TODO New key - Add a translation + "comcol-role.edit.restrict": "Restrict", + + // "comcol-role.edit.delete": "Delete", + // TODO New key - Add a translation + "comcol-role.edit.delete": "Delete", + + + // "comcol-role.edit.community-admin.name": "Administrators", + // TODO New key - Add a translation + "comcol-role.edit.community-admin.name": "Administrators", + + // "comcol-role.edit.collection-admin.name": "Administrators", + // TODO New key - Add a translation + "comcol-role.edit.collection-admin.name": "Administrators", + + + // "comcol-role.edit.community-admin.description": "Community administrators can create sub-communities or collections, and manage or assign management for those sub-communities or collections. In addition, they decide who can submit items to any sub-collections, edit item metadata (after submission), and add (map) existing items from other collections (subject to authorization).", + // TODO New key - Add a translation + "comcol-role.edit.community-admin.description": "Community administrators can create sub-communities or collections, and manage or assign management for those sub-communities or collections. In addition, they decide who can submit items to any sub-collections, edit item metadata (after submission), and add (map) existing items from other collections (subject to authorization).", + + // "comcol-role.edit.collection-admin.description": "Collection administrators decide who can submit items to the collection, edit item metadata (after submission), and add (map) existing items from other collections to this collection (subject to authorization for that collection).", + // TODO New key - Add a translation + "comcol-role.edit.collection-admin.description": "Collection administrators decide who can submit items to the collection, edit item metadata (after submission), and add (map) existing items from other collections to this collection (subject to authorization for that collection).", + + + // "comcol-role.edit.submitters.name": "Submitters", + // TODO New key - Add a translation + "comcol-role.edit.submitters.name": "Submitters", + + // "comcol-role.edit.submitters.description": "The E-People and Groups that have permission to submit new items to this collection.", + // TODO New key - Add a translation + "comcol-role.edit.submitters.description": "The E-People and Groups that have permission to submit new items to this collection.", + + + // "comcol-role.edit.item_read.name": "Default item read access", + // TODO New key - Add a translation + "comcol-role.edit.item_read.name": "Default item read access", + + // "comcol-role.edit.item_read.description": "E-People and Groups that can read new items submitted to this collection. Changes to this role are not retroactive. Existing items in the system will still be viewable by those who had read access at the time of their addition.", + // TODO New key - Add a translation + "comcol-role.edit.item_read.description": "E-People and Groups that can read new items submitted to this collection. Changes to this role are not retroactive. Existing items in the system will still be viewable by those who had read access at the time of their addition.", + + // "comcol-role.edit.item_read.anonymous-group": "Default read for incoming items is currently set to Anonymous.", + // TODO New key - Add a translation + "comcol-role.edit.item_read.anonymous-group": "Default read for incoming items is currently set to Anonymous.", + + + // "comcol-role.edit.bitstream_read.name": "Default bitstream read access", + // TODO New key - Add a translation + "comcol-role.edit.bitstream_read.name": "Default bitstream read access", + + // "comcol-role.edit.bitstream_read.description": "Community administrators can create sub-communities or collections, and manage or assign management for those sub-communities or collections. In addition, they decide who can submit items to any sub-collections, edit item metadata (after submission), and add (map) existing items from other collections (subject to authorization).", + // TODO New key - Add a translation + "comcol-role.edit.bitstream_read.description": "Community administrators can create sub-communities or collections, and manage or assign management for those sub-communities or collections. In addition, they decide who can submit items to any sub-collections, edit item metadata (after submission), and add (map) existing items from other collections (subject to authorization).", + + // "comcol-role.edit.bitstream_read.anonymous-group": "Default read for incoming bitstreams is currently set to Anonymous.", + // TODO New key - Add a translation + "comcol-role.edit.bitstream_read.anonymous-group": "Default read for incoming bitstreams is currently set to Anonymous.", + + + // "comcol-role.edit.editor.name": "Editors", + // TODO New key - Add a translation + "comcol-role.edit.editor.name": "Editors", + + // "comcol-role.edit.editor.description": "Editors are able to edit the metadata of incoming submissions, and then accept or reject them.", + // TODO New key - Add a translation + "comcol-role.edit.editor.description": "Editors are able to edit the metadata of incoming submissions, and then accept or reject them.", + + + // "comcol-role.edit.finaleditor.name": "Final editors", + // TODO New key - Add a translation + "comcol-role.edit.finaleditor.name": "Final editors", + + // "comcol-role.edit.finaleditor.description": "Final editors are able to edit the metadata of incoming submissions, but will not be able to reject them.", + // TODO New key - Add a translation + "comcol-role.edit.finaleditor.description": "Final editors are able to edit the metadata of incoming submissions, but will not be able to reject them.", + + + // "comcol-role.edit.reviewer.name": "Reviewers", + // TODO New key - Add a translation + "comcol-role.edit.reviewer.name": "Reviewers", + + // "comcol-role.edit.reviewer.description": "Reviewers are able to accept or reject incoming submissions. However, they are not able to edit the submission's metadata.", + // TODO New key - Add a translation + "comcol-role.edit.reviewer.description": "Reviewers are able to accept or reject incoming submissions. However, they are not able to edit the submission's metadata.", + // "community.form.abstract": "Short Description", @@ -1327,6 +1728,10 @@ // "community.form.title": "Name", "community.form.title": "Naam", + // "community.page.edit": "Edit this community", + // TODO New key - Add a translation + "community.page.edit": "Edit this community", + // "community.page.handle": "Permanent URI for this community", "community.page.handle": "Permanente URI voor deze community", @@ -1347,9 +1752,187 @@ + // "cookies.consent.accept-all": "Accept all", + // TODO New key - Add a translation + "cookies.consent.accept-all": "Accept all", + + // "cookies.consent.accept-selected": "Accept selected", + // TODO New key - Add a translation + "cookies.consent.accept-selected": "Accept selected", + + // "cookies.consent.app.opt-out.description": "This app is loaded by default (but you can opt out)", + // TODO New key - Add a translation + "cookies.consent.app.opt-out.description": "This app is loaded by default (but you can opt out)", + + // "cookies.consent.app.opt-out.title": "(opt-out)", + // TODO New key - Add a translation + "cookies.consent.app.opt-out.title": "(opt-out)", + + // "cookies.consent.app.purpose": "purpose", + // TODO New key - Add a translation + "cookies.consent.app.purpose": "purpose", + + // "cookies.consent.app.required.description": "This application is always required", + // TODO New key - Add a translation + "cookies.consent.app.required.description": "This application is always required", + + // "cookies.consent.app.required.title": "(always required)", + // TODO New key - Add a translation + "cookies.consent.app.required.title": "(always required)", + + // "cookies.consent.update": "There were changes since your last visit, please update your consent.", + // TODO New key - Add a translation + "cookies.consent.update": "There were changes since your last visit, please update your consent.", + + // "cookies.consent.close": "Close", + // TODO New key - Add a translation + "cookies.consent.close": "Close", + + // "cookies.consent.decline": "Decline", + // TODO New key - Add a translation + "cookies.consent.decline": "Decline", + + // "cookies.consent.content-notice.description": "We collect and process your personal information for the following purposes: Authentication, Preferences, Acknowledgement and Statistics.
To learn more, please read our {privacyPolicy}.", + // TODO New key - Add a translation + "cookies.consent.content-notice.description": "We collect and process your personal information for the following purposes: Authentication, Preferences, Acknowledgement and Statistics.
To learn more, please read our {privacyPolicy}.", + + // "cookies.consent.content-notice.learnMore": "Customize", + // TODO New key - Add a translation + "cookies.consent.content-notice.learnMore": "Customize", + + // "cookies.consent.content-modal.description": "Here you can see and customize the information that we collect about you.", + // TODO New key - Add a translation + "cookies.consent.content-modal.description": "Here you can see and customize the information that we collect about you.", + + // "cookies.consent.content-modal.privacy-policy.name": "privacy policy", + // TODO New key - Add a translation + "cookies.consent.content-modal.privacy-policy.name": "privacy policy", + + // "cookies.consent.content-modal.privacy-policy.text": "To learn more, please read our {privacyPolicy}.", + // TODO New key - Add a translation + "cookies.consent.content-modal.privacy-policy.text": "To learn more, please read our {privacyPolicy}.", + + // "cookies.consent.content-modal.title": "Information that we collect", + // TODO New key - Add a translation + "cookies.consent.content-modal.title": "Information that we collect", + + + + // "cookies.consent.app.title.authentication": "Authentication", + // TODO New key - Add a translation + "cookies.consent.app.title.authentication": "Authentication", + + // "cookies.consent.app.description.authentication": "Required for signing you in", + // TODO New key - Add a translation + "cookies.consent.app.description.authentication": "Required for signing you in", + + + // "cookies.consent.app.title.preferences": "Preferences", + // TODO New key - Add a translation + "cookies.consent.app.title.preferences": "Preferences", + + // "cookies.consent.app.description.preferences": "Required for saving your preferences", + // TODO New key - Add a translation + "cookies.consent.app.description.preferences": "Required for saving your preferences", + + + + // "cookies.consent.app.title.acknowledgement": "Acknowledgement", + // TODO New key - Add a translation + "cookies.consent.app.title.acknowledgement": "Acknowledgement", + + // "cookies.consent.app.description.acknowledgement": "Required for saving your acknowledgements and consents", + // TODO New key - Add a translation + "cookies.consent.app.description.acknowledgement": "Required for saving your acknowledgements and consents", + + + + // "cookies.consent.app.title.google-analytics": "Google Analytics", + // TODO New key - Add a translation + "cookies.consent.app.title.google-analytics": "Google Analytics", + + // "cookies.consent.app.description.google-analytics": "Allows us to track statistical data", + // TODO New key - Add a translation + "cookies.consent.app.description.google-analytics": "Allows us to track statistical data", + + + + // "cookies.consent.purpose.functional": "Functional", + // TODO New key - Add a translation + "cookies.consent.purpose.functional": "Functional", + + // "cookies.consent.purpose.statistical": "Statistical", + // TODO New key - Add a translation + "cookies.consent.purpose.statistical": "Statistical", + + + // "curation-task.task.checklinks.label": "Check Links in Metadata", + // TODO New key - Add a translation + "curation-task.task.checklinks.label": "Check Links in Metadata", + + // "curation-task.task.noop.label": "NOOP", + // TODO New key - Add a translation + "curation-task.task.noop.label": "NOOP", + + // "curation-task.task.profileformats.label": "Profile Bitstream Formats", + // TODO New key - Add a translation + "curation-task.task.profileformats.label": "Profile Bitstream Formats", + + // "curation-task.task.requiredmetadata.label": "Check for Required Metadata", + // TODO New key - Add a translation + "curation-task.task.requiredmetadata.label": "Check for Required Metadata", + + // "curation-task.task.translate.label": "Microsoft Translator", + // TODO New key - Add a translation + "curation-task.task.translate.label": "Microsoft Translator", + + // "curation-task.task.vscan.label": "Virus Scan", + // TODO New key - Add a translation + "curation-task.task.vscan.label": "Virus Scan", + + + + // "curation.form.task-select.label": "Task:", + // TODO New key - Add a translation + "curation.form.task-select.label": "Task:", + + // "curation.form.submit": "Start", + // TODO New key - Add a translation + "curation.form.submit": "Start", + + // "curation.form.submit.success.head": "The curation task has been started successfully", + // TODO New key - Add a translation + "curation.form.submit.success.head": "The curation task has been started successfully", + + // "curation.form.submit.success.content": "You will be redirected to the corresponding process page.", + // TODO New key - Add a translation + "curation.form.submit.success.content": "You will be redirected to the corresponding process page.", + + // "curation.form.submit.error.head": "Running the curation task failed", + // TODO New key - Add a translation + "curation.form.submit.error.head": "Running the curation task failed", + + // "curation.form.submit.error.content": "An error occured when trying to start the curation task.", + // TODO New key - Add a translation + "curation.form.submit.error.content": "An error occured when trying to start the curation task.", + + // "curation.form.handle.label": "Handle:", + // TODO New key - Add a translation + "curation.form.handle.label": "Handle:", + + // "curation.form.handle.hint": "Hint: Enter [your-handle-prefix]/0 to run a task across entire site (not all tasks may support this capability)", + // TODO New key - Add a translation + "curation.form.handle.hint": "Hint: Enter [your-handle-prefix]/0 to run a task across entire site (not all tasks may support this capability)", + + + // "dso-selector.create.collection.head": "New collection", "dso-selector.create.collection.head": "Nieuwe collectie", + // "dso-selector.create.collection.sub-level": "Create a new collection in", + // TODO New key - Add a translation + "dso-selector.create.collection.sub-level": "Create a new collection in", + // "dso-selector.create.community.head": "New community", "dso-selector.create.community.head": "Nieuwe community", @@ -1362,6 +1945,14 @@ // "dso-selector.create.item.head": "New item", "dso-selector.create.item.head": "Nieuw item", + // "dso-selector.create.item.sub-level": "Create a new item in", + // TODO New key - Add a translation + "dso-selector.create.item.sub-level": "Create a new item in", + + // "dso-selector.create.submission.head": "New submission", + // TODO New key - Add a translation + "dso-selector.create.submission.head": "New submission", + // "dso-selector.edit.collection.head": "Edit collection", "dso-selector.edit.collection.head": "Bewerk collectie", @@ -1371,6 +1962,10 @@ // "dso-selector.edit.item.head": "Edit item", "dso-selector.edit.item.head": "Bewerk item", + // "dso-selector.export-metadata.dspaceobject.head": "Export metadata from", + // TODO New key - Add a translation + "dso-selector.export-metadata.dspaceobject.head": "Export metadata from", + // "dso-selector.no-results": "No {{ type }} found", "dso-selector.no-results": "Geen {{ type }} gevonden", @@ -1379,6 +1974,39 @@ + // "confirmation-modal.export-metadata.header": "Export metadata for {{ dsoName }}", + // TODO New key - Add a translation + "confirmation-modal.export-metadata.header": "Export metadata for {{ dsoName }}", + + // "confirmation-modal.export-metadata.info": "Are you sure you want to export metadata for {{ dsoName }}", + // TODO New key - Add a translation + "confirmation-modal.export-metadata.info": "Are you sure you want to export metadata for {{ dsoName }}", + + // "confirmation-modal.export-metadata.cancel": "Cancel", + // TODO New key - Add a translation + "confirmation-modal.export-metadata.cancel": "Cancel", + + // "confirmation-modal.export-metadata.confirm": "Export", + // TODO New key - Add a translation + "confirmation-modal.export-metadata.confirm": "Export", + + // "confirmation-modal.delete-eperson.header": "Delete EPerson \"{{ dsoName }}\"", + // TODO New key - Add a translation + "confirmation-modal.delete-eperson.header": "Delete EPerson \"{{ dsoName }}\"", + + // "confirmation-modal.delete-eperson.info": "Are you sure you want to delete EPerson \"{{ dsoName }}\"", + // TODO New key - Add a translation + "confirmation-modal.delete-eperson.info": "Are you sure you want to delete EPerson \"{{ dsoName }}\"", + + // "confirmation-modal.delete-eperson.cancel": "Cancel", + // TODO New key - Add a translation + "confirmation-modal.delete-eperson.cancel": "Cancel", + + // "confirmation-modal.delete-eperson.confirm": "Delete", + // TODO New key - Add a translation + "confirmation-modal.delete-eperson.confirm": "Delete", + + // "error.bitstream": "Error fetching bitstream", // TODO New key - Add a translation "error.bitstream": "Error fetching bitstream", @@ -1440,6 +2068,12 @@ + // "file-section.error.header": "Error obtaining files for this item", + // TODO New key - Add a translation + "file-section.error.header": "Error obtaining files for this item", + + + // "footer.copyright": "copyright © 2002-{{ year }}", "footer.copyright": "copyright © 2002-{{ year }}", @@ -1449,6 +2083,127 @@ // "footer.link.duraspace": "DuraSpace", "footer.link.duraspace": "DuraSpace", + // "footer.link.cookies": "Cookie settings", + // TODO New key - Add a translation + "footer.link.cookies": "Cookie settings", + + // "footer.link.privacy-policy": "Privacy policy", + // TODO New key - Add a translation + "footer.link.privacy-policy": "Privacy policy", + + // "footer.link.end-user-agreement":"End User Agreement", + // TODO New key - Add a translation + "footer.link.end-user-agreement":"End User Agreement", + + + + // "forgot-email.form.header": "Forgot Password", + // TODO New key - Add a translation + "forgot-email.form.header": "Forgot Password", + + // "forgot-email.form.info": "Enter Register an account to subscribe to collections for email updates, and submit new items to DSpace.", + // TODO New key - Add a translation + "forgot-email.form.info": "Enter Register an account to subscribe to collections for email updates, and submit new items to DSpace.", + + // "forgot-email.form.email": "Email Address *", + // TODO New key - Add a translation + "forgot-email.form.email": "Email Address *", + + // "forgot-email.form.email.error.required": "Please fill in an email address", + // TODO New key - Add a translation + "forgot-email.form.email.error.required": "Please fill in an email address", + + // "forgot-email.form.email.error.pattern": "Please fill in a valid email address", + // TODO New key - Add a translation + "forgot-email.form.email.error.pattern": "Please fill in a valid email address", + + // "forgot-email.form.email.hint": "This address will be verified and used as your login name.", + // TODO New key - Add a translation + "forgot-email.form.email.hint": "This address will be verified and used as your login name.", + + // "forgot-email.form.submit": "Submit", + // TODO New key - Add a translation + "forgot-email.form.submit": "Submit", + + // "forgot-email.form.success.head": "Verification email sent", + // TODO New key - Add a translation + "forgot-email.form.success.head": "Verification email sent", + + // "forgot-email.form.success.content": "An email has been sent to {{ email }} containing a special URL and further instructions.", + // TODO New key - Add a translation + "forgot-email.form.success.content": "An email has been sent to {{ email }} containing a special URL and further instructions.", + + // "forgot-email.form.error.head": "Error when trying to register email", + // TODO New key - Add a translation + "forgot-email.form.error.head": "Error when trying to register email", + + // "forgot-email.form.error.content": "An error occured when registering the following email address: {{ email }}", + // TODO New key - Add a translation + "forgot-email.form.error.content": "An error occured when registering the following email address: {{ email }}", + + + + // "forgot-password.title": "Forgot Password", + // TODO New key - Add a translation + "forgot-password.title": "Forgot Password", + + // "forgot-password.form.head": "Forgot Password", + // TODO New key - Add a translation + "forgot-password.form.head": "Forgot Password", + + // "forgot-password.form.info": "Enter a new password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", + // TODO New key - Add a translation + "forgot-password.form.info": "Enter a new password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", + + // "forgot-password.form.card.security": "Security", + // TODO New key - Add a translation + "forgot-password.form.card.security": "Security", + + // "forgot-password.form.identification.header": "Identify", + // TODO New key - Add a translation + "forgot-password.form.identification.header": "Identify", + + // "forgot-password.form.identification.email": "Email address: ", + // TODO New key - Add a translation + "forgot-password.form.identification.email": "Email address: ", + + // "forgot-password.form.label.password": "Password", + // TODO New key - Add a translation + "forgot-password.form.label.password": "Password", + + // "forgot-password.form.label.passwordrepeat": "Retype to confirm", + // TODO New key - Add a translation + "forgot-password.form.label.passwordrepeat": "Retype to confirm", + + // "forgot-password.form.error.empty-password": "Please enter a password in the box below.", + // TODO New key - Add a translation + "forgot-password.form.error.empty-password": "Please enter a password in the box below.", + + // "forgot-password.form.error.matching-passwords": "The passwords do not match.", + // TODO New key - Add a translation + "forgot-password.form.error.matching-passwords": "The passwords do not match.", + + // "forgot-password.form.error.password-length": "The password should be at least 6 characters long.", + // TODO New key - Add a translation + "forgot-password.form.error.password-length": "The password should be at least 6 characters long.", + + // "forgot-password.form.notification.error.title": "Error when trying to submit new password", + // TODO New key - Add a translation + "forgot-password.form.notification.error.title": "Error when trying to submit new password", + + // "forgot-password.form.notification.success.content": "The password reset was successful. You have been logged in as the created user.", + // TODO New key - Add a translation + "forgot-password.form.notification.success.content": "The password reset was successful. You have been logged in as the created user.", + + // "forgot-password.form.notification.success.title": "Password reset completed", + // TODO New key - Add a translation + "forgot-password.form.notification.success.title": "Password reset completed", + + // "forgot-password.form.submit": "Submit password", + // TODO New key - Add a translation + "forgot-password.form.submit": "Submit password", + + // "form.add": "Add", // TODO New key - Add a translation @@ -1523,9 +2278,9 @@ // "form.search": "Search", "form.search": "Zoek", - // "form.search-help": "Click here to looking for an existing correspondence", + // "form.search-help": "Click here to look for an existing correspondence", // TODO New key - Add a translation - "form.search-help": "Click here to looking for an existing correspondence", + "form.search-help": "Click here to look for an existing correspondence", // "form.submit": "Submit", "form.submit": "Verstuur", @@ -1535,6 +2290,10 @@ // "home.description": "", "home.description": "", + // "home.breadcrumbs": "Home", + // TODO New key - Add a translation + "home.breadcrumbs": "Home", + // "home.title": "DSpace Angular :: Home", "home.title": "DSpace Angular :: Home", @@ -1546,6 +2305,81 @@ + // "info.end-user-agreement.accept": "I have read and I agree to the End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.accept": "I have read and I agree to the End User Agreement", + + // "info.end-user-agreement.accept.error": "An error occurred accepting the End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.accept.error": "An error occurred accepting the End User Agreement", + + // "info.end-user-agreement.accept.success": "Successfully updated the End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.accept.success": "Successfully updated the End User Agreement", + + // "info.end-user-agreement.breadcrumbs": "End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.breadcrumbs": "End User Agreement", + + // "info.end-user-agreement.buttons.cancel": "Cancel", + // TODO New key - Add a translation + "info.end-user-agreement.buttons.cancel": "Cancel", + + // "info.end-user-agreement.buttons.save": "Save", + // TODO New key - Add a translation + "info.end-user-agreement.buttons.save": "Save", + + // "info.end-user-agreement.head": "End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.head": "End User Agreement", + + // "info.end-user-agreement.title": "End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.title": "End User Agreement", + + // "info.privacy.breadcrumbs": "Privacy Statement", + // TODO New key - Add a translation + "info.privacy.breadcrumbs": "Privacy Statement", + + // "info.privacy.head": "Privacy Statement", + // TODO New key - Add a translation + "info.privacy.head": "Privacy Statement", + + // "info.privacy.title": "Privacy Statement", + // TODO New key - Add a translation + "info.privacy.title": "Privacy Statement", + + + + // "item.alerts.private": "This item is private", + // TODO New key - Add a translation + "item.alerts.private": "This item is private", + + // "item.alerts.withdrawn": "This item has been withdrawn", + // TODO New key - Add a translation + "item.alerts.withdrawn": "This item has been withdrawn", + + + + // "item.edit.authorizations.heading": "With this editor you can view and alter the policies of an item, plus alter policies of individual item components: bundles and bitstreams. Briefly, an item is a container of bundles, and bundles are containers of bitstreams. Containers usually have ADD/REMOVE/READ/WRITE policies, while bitstreams only have READ/WRITE policies.", + // TODO New key - Add a translation + "item.edit.authorizations.heading": "With this editor you can view and alter the policies of an item, plus alter policies of individual item components: bundles and bitstreams. Briefly, an item is a container of bundles, and bundles are containers of bitstreams. Containers usually have ADD/REMOVE/READ/WRITE policies, while bitstreams only have READ/WRITE policies.", + + // "item.edit.authorizations.title": "Edit item's Policies", + // TODO New key - Add a translation + "item.edit.authorizations.title": "Edit item's Policies", + + + + // "item.badge.private": "Private", + // TODO New key - Add a translation + "item.badge.private": "Private", + + // "item.badge.withdrawn": "Withdrawn", + // TODO New key - Add a translation + "item.badge.withdrawn": "Withdrawn", + + // "item.bitstreams.upload.bundle": "Bundle", // TODO New key - Add a translation @@ -1741,6 +2575,13 @@ "item.edit.breadcrumbs": "Edit Item", + // "item.edit.tabs.mapper.head": "Collection Mapper", + // TODO New key - Add a translation + "item.edit.tabs.mapper.head": "Collection Mapper", + + // "item.edit.tabs.item-mapper.title": "Item Edit - Collection Mapper", + // TODO New key - Add a translation + "item.edit.tabs.item-mapper.title": "Item Edit - Collection Mapper", // "item.edit.item-mapper.buttons.add": "Map item to selected collections", "item.edit.item-mapper.buttons.add": "Map dit item naar de geselecteerde collecties", @@ -1813,6 +2654,10 @@ // "item.edit.metadata.edit.buttons.unedit": "Stop editing", "item.edit.metadata.edit.buttons.unedit": "Stop met bewerken", + // "item.edit.metadata.empty": "The item currently doesn't contain any metadata. Click Add to start adding a metadata value.", + // TODO New key - Add a translation + "item.edit.metadata.empty": "The item currently doesn't contain any metadata. Click Add to start adding a metadata value.", + // "item.edit.metadata.headers.edit": "Edit", "item.edit.metadata.headers.edit": "Bewerk", @@ -1834,6 +2679,10 @@ // "item.edit.metadata.notifications.discarded.title": "Changed discarded", "item.edit.metadata.notifications.discarded.title": "Wijzingen geannuleerd", + // "item.edit.metadata.notifications.error.title": "An error occurred", + // TODO New key - Add a translation + "item.edit.metadata.notifications.error.title": "An error occurred", + // "item.edit.metadata.notifications.invalid.content": "Your changes were not saved. Please make sure all fields are valid before you save.", "item.edit.metadata.notifications.invalid.content": "Uw wijzingen zijn niet opgeslagen. Controleer of alle velden geldig zijn voor u opslaat.", @@ -1969,19 +2818,28 @@ // "item.edit.relationships.discard-button": "Discard", "item.edit.relationships.discard-button": "Annuleer", + // "item.edit.relationships.edit.buttons.add": "Add", + // TODO New key - Add a translation + "item.edit.relationships.edit.buttons.add": "Add", + // "item.edit.relationships.edit.buttons.remove": "Remove", "item.edit.relationships.edit.buttons.remove": "Verwijder", // "item.edit.relationships.edit.buttons.undo": "Undo changes", "item.edit.relationships.edit.buttons.undo": "Maak wijzigingen ongedaan", + // "item.edit.relationships.no-relationships": "No relationships", + // TODO New key - Add a translation + "item.edit.relationships.no-relationships": "No relationships", + // "item.edit.relationships.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", "item.edit.relationships.notifications.discarded.content": "Uw wijzigingen zijn ongedaan gemaakt. Klik 'maak ongedaan' om ze weer terug te halen.", // "item.edit.relationships.notifications.discarded.title": "Changes discarded", "item.edit.relationships.notifications.discarded.title": "Wijzingen geannuleerd", - // "item.edit.relationships.notifications.failed.title": "Error deleting relationship", + // "item.edit.relationships.notifications.failed.title": "Error editing relationships", + // TODO Source message changed - Revise the translation "item.edit.relationships.notifications.failed.title": "Er is een fout opgetreden bij het verwijderen van een relatie", // "item.edit.relationships.notifications.outdated.content": "The item you're currently working on has been changed by another user. Your current changes are discarded to prevent conflicts", @@ -2002,6 +2860,10 @@ // "item.edit.relationships.save-button": "Save", "item.edit.relationships.save-button": "Opslaan", + // "item.edit.relationships.no-entity-type": "Add 'relationship.type' metadata to enable relationships for this item", + // TODO New key - Add a translation + "item.edit.relationships.no-entity-type": "Add 'relationship.type' metadata to enable relationships for this item", + // "item.edit.tabs.bitstreams.head": "Bitstreams", @@ -2141,6 +3003,48 @@ + // "item.listelement.badge": "Item", + // TODO New key - Add a translation + "item.listelement.badge": "Item", + + // "item.page.description": "Description", + // TODO New key - Add a translation + "item.page.description": "Description", + + // "item.page.edit": "Edit this item", + // TODO New key - Add a translation + "item.page.edit": "Edit this item", + + // "item.page.journal-issn": "Journal ISSN", + // TODO New key - Add a translation + "item.page.journal-issn": "Journal ISSN", + + // "item.page.journal-title": "Journal Title", + // TODO New key - Add a translation + "item.page.journal-title": "Journal Title", + + // "item.page.publisher": "Publisher", + // TODO New key - Add a translation + "item.page.publisher": "Publisher", + + // "item.page.titleprefix": "Item: ", + // TODO New key - Add a translation + "item.page.titleprefix": "Item: ", + + // "item.page.volume-title": "Volume Title", + // TODO New key - Add a translation + "item.page.volume-title": "Volume Title", + + // "item.search.results.head": "Item Search Results", + // TODO New key - Add a translation + "item.search.results.head": "Item Search Results", + + // "item.search.title": "DSpace Angular :: Item Search", + // TODO New key - Add a translation + "item.search.title": "DSpace Angular :: Item Search", + + + // "item.page.abstract": "Abstract", "item.page.abstract": "Abstract", @@ -2156,6 +3060,10 @@ // "item.page.date": "Date", "item.page.date": "Datum", + // "item.page.edit": "Edit this item", + // TODO New key - Add a translation + "item.page.edit": "Edit this item", + // "item.page.files": "Files", "item.page.files": "Bestanden", @@ -2216,6 +3124,65 @@ // "item.page.uri": "URI", "item.page.uri": "URI", + // "item.page.bitstreams.view-more": "Show more", + // TODO New key - Add a translation + "item.page.bitstreams.view-more": "Show more", + + // "item.page.bitstreams.collapse": "Collapse", + // TODO New key - Add a translation + "item.page.bitstreams.collapse": "Collapse", + + // "item.page.filesection.original.bundle" : "Original bundle", + // TODO New key - Add a translation + "item.page.filesection.original.bundle" : "Original bundle", + + // "item.page.filesection.license.bundle" : "License bundle", + // TODO New key - Add a translation + "item.page.filesection.license.bundle" : "License bundle", + + // "item.preview.dc.identifier.uri": "Identifier:", + // TODO New key - Add a translation + "item.preview.dc.identifier.uri": "Identifier:", + + // "item.preview.dc.contributor.author": "Authors:", + // TODO New key - Add a translation + "item.preview.dc.contributor.author": "Authors:", + + // "item.preview.dc.date.issued": "Published date:", + // TODO New key - Add a translation + "item.preview.dc.date.issued": "Published date:", + + // "item.preview.dc.description.abstract": "Abstract:", + // TODO New key - Add a translation + "item.preview.dc.description.abstract": "Abstract:", + + // "item.preview.dc.identifier.other": "Other identifier:", + // TODO New key - Add a translation + "item.preview.dc.identifier.other": "Other identifier:", + + // "item.preview.dc.language.iso": "Language:", + // TODO New key - Add a translation + "item.preview.dc.language.iso": "Language:", + + // "item.preview.dc.subject": "Subjects:", + // TODO New key - Add a translation + "item.preview.dc.subject": "Subjects:", + + // "item.preview.dc.title": "Title:", + // TODO New key - Add a translation + "item.preview.dc.title": "Title:", + + // "item.preview.person.familyName": "Surname:", + // TODO New key - Add a translation + "item.preview.person.familyName": "Surname:", + + // "item.preview.person.givenName": "Name:", + // TODO New key - Add a translation + "item.preview.person.givenName": "Name:", + + // "item.preview.person.identifier.orcid": "ORCID:", + // TODO New key - Add a translation + "item.preview.person.identifier.orcid": "ORCID:", // "item.select.confirm": "Confirm selected", @@ -2284,6 +3251,10 @@ // "journal.page.description": "Description", "journal.page.description": "Beschrijving", + // "journal.page.edit": "Edit this item", + // TODO New key - Add a translation + "journal.page.edit": "Edit this item", + // "journal.page.editor": "Editor-in-Chief", "journal.page.editor": "Hoofdredacteur", @@ -2310,6 +3281,10 @@ // "journalissue.page.description": "Description", "journalissue.page.description": "Beschrijving", + // "journalissue.page.edit": "Edit this item", + // TODO New key - Add a translation + "journalissue.page.edit": "Edit this item", + // "journalissue.page.issuedate": "Issue Date", "journalissue.page.issuedate": "Datum van uitgave", @@ -2336,6 +3311,10 @@ // "journalvolume.page.description": "Description", "journalvolume.page.description": "Beschrijving", + // "journalvolume.page.edit": "Edit this item", + // TODO New key - Add a translation + "journalvolume.page.edit": "Edit this item", + // "journalvolume.page.issuedate": "Issue Date", "journalvolume.page.issuedate": "Datum van uitgave", @@ -2582,6 +3561,10 @@ // "menu.section.icon.pin": "Pin sidebar", "menu.section.icon.pin": "Zijbalk vastzetten", + // "menu.section.icon.processes": "Processes menu section", + // TODO New key - Add a translation + "menu.section.icon.processes": "Processes menu section", + // "menu.section.icon.registries": "Registries menu section", "menu.section.icon.registries": "Menusectie registers", @@ -2619,6 +3602,10 @@ // "menu.section.new_item_version": "Item Version", "menu.section.new_item_version": "Item versie", + // "menu.section.new_process": "Process", + // TODO New key - Add a translation + "menu.section.new_process": "Process", + // "menu.section.pin": "Pin sidebar", @@ -2629,6 +3616,12 @@ + // "menu.section.processes": "Processes", + // TODO New key - Add a translation + "menu.section.processes": "Processes", + + + // "menu.section.registries": "Registries", "menu.section.registries": "Registers", @@ -2679,11 +3672,16 @@ "menu.section.toggle.statistics_task": "Sectie statistiektaken aan/uit", + // "menu.section.workflow": "Administer Workflow", + // TODO New key - Add a translation + "menu.section.workflow": "Administer Workflow", + // "mydspace.description": "", "mydspace.description": "", - // "mydspace.general.text-here": "HERE", + // "mydspace.general.text-here": "here", + // TODO Source message changed - Revise the translation "mydspace.general.text-here": "HIER", // "mydspace.messages.controller-help": "Select this option to send a message to item's submitter.", @@ -2728,6 +3726,14 @@ // "mydspace.new-submission": "New submission", "mydspace.new-submission": "Nieuwe submission", + // "mydspace.new-submission-external": "Import metadata from external source", + // TODO New key - Add a translation + "mydspace.new-submission-external": "Import metadata from external source", + + // "mydspace.new-submission-external-short": "Import metadata", + // TODO New key - Add a translation + "mydspace.new-submission-external-short": "Import metadata", + // "mydspace.results.head": "Your submissions", "mydspace.results.head": "Uw submissions", @@ -2782,6 +3788,14 @@ // "mydspace.upload.upload-failed": "Error creating new workspace. Please verify the content uploaded before retry.", "mydspace.upload.upload-failed": "Er is een fout opgetreden bij het aanmaken van de nieuwe workspace. Controleer alstublieft de inhoud voordat u het opnieuw probeert.", + // "mydspace.upload.upload-failed-manyentries": "Unprocessable file. Detected too many entries but allowed only one for file.", + // TODO New key - Add a translation + "mydspace.upload.upload-failed-manyentries": "Unprocessable file. Detected too many entries but allowed only one for file.", + + // "mydspace.upload.upload-failed-moreonefile": "Unprocessable request. Only one file is allowed.", + // TODO New key - Add a translation + "mydspace.upload.upload-failed-moreonefile": "Unprocessable request. Only one file is allowed.", + // "mydspace.upload.upload-multiple-successful": "{{qty}} new workspace items created.", "mydspace.upload.upload-multiple-successful": "{{qty}} nieuwe workspace items aangemaakt.", @@ -2821,6 +3835,10 @@ // "nav.statistics.header": "Statistics", "nav.statistics.header": "Statistieken", + // "nav.stop-impersonating": "Stop impersonating EPerson", + // TODO New key - Add a translation + "nav.stop-impersonating": "Stop impersonating EPerson", + // "orgunit.listelement.badge": "Organizational Unit", @@ -2838,6 +3856,10 @@ // "orgunit.page.description": "Description", "orgunit.page.description": "Beschrijving", + // "orgunit.page.edit": "Edit this item", + // TODO New key - Add a translation + "orgunit.page.edit": "Edit this item", + // "orgunit.page.id": "ID", "orgunit.page.id": "ID", @@ -2863,9 +3885,17 @@ // "person.listelement.badge": "Person", "person.listelement.badge": "Persoon", + // "person.listelement.no-title": "No name found", + // TODO New key - Add a translation + "person.listelement.no-title": "No name found", + // "person.page.birthdate": "Birth Date", "person.page.birthdate": "Geboortedatum", + // "person.page.edit": "Edit this item", + // TODO New key - Add a translation + "person.page.edit": "Edit this item", + // "person.page.email": "Email Address", "person.page.email": "Emailadres", @@ -2898,6 +3928,183 @@ + // "process.new.select-parameters": "Parameters", + // TODO New key - Add a translation + "process.new.select-parameters": "Parameters", + + // "process.new.cancel": "Cancel", + // TODO New key - Add a translation + "process.new.cancel": "Cancel", + + // "process.new.submit": "Submit", + // TODO New key - Add a translation + "process.new.submit": "Submit", + + // "process.new.select-script": "Script", + // TODO New key - Add a translation + "process.new.select-script": "Script", + + // "process.new.select-script.placeholder": "Choose a script...", + // TODO New key - Add a translation + "process.new.select-script.placeholder": "Choose a script...", + + // "process.new.select-script.required": "Script is required", + // TODO New key - Add a translation + "process.new.select-script.required": "Script is required", + + // "process.new.parameter.file.upload-button": "Select file...", + // TODO New key - Add a translation + "process.new.parameter.file.upload-button": "Select file...", + + // "process.new.parameter.file.required": "Please select a file", + // TODO New key - Add a translation + "process.new.parameter.file.required": "Please select a file", + + // "process.new.parameter.string.required": "Parameter value is required", + // TODO New key - Add a translation + "process.new.parameter.string.required": "Parameter value is required", + + // "process.new.parameter.type.value": "value", + // TODO New key - Add a translation + "process.new.parameter.type.value": "value", + + // "process.new.parameter.type.file": "file", + // TODO New key - Add a translation + "process.new.parameter.type.file": "file", + + // "process.new.parameter.required.missing": "The following parameters are required but still missing:", + // TODO New key - Add a translation + "process.new.parameter.required.missing": "The following parameters are required but still missing:", + + // "process.new.notification.success.title": "Success", + // TODO New key - Add a translation + "process.new.notification.success.title": "Success", + + // "process.new.notification.success.content": "The process was successfully created", + // TODO New key - Add a translation + "process.new.notification.success.content": "The process was successfully created", + + // "process.new.notification.error.title": "Error", + // TODO New key - Add a translation + "process.new.notification.error.title": "Error", + + // "process.new.notification.error.content": "An error occurred while creating this process", + // TODO New key - Add a translation + "process.new.notification.error.content": "An error occurred while creating this process", + + // "process.new.header": "Create a new process", + // TODO New key - Add a translation + "process.new.header": "Create a new process", + + // "process.new.title": "Create a new process", + // TODO New key - Add a translation + "process.new.title": "Create a new process", + + // "process.new.breadcrumbs": "Create a new process", + // TODO New key - Add a translation + "process.new.breadcrumbs": "Create a new process", + + + + // "process.detail.arguments" : "Arguments", + // TODO New key - Add a translation + "process.detail.arguments" : "Arguments", + + // "process.detail.arguments.empty" : "This process doesn't contain any arguments", + // TODO New key - Add a translation + "process.detail.arguments.empty" : "This process doesn't contain any arguments", + + // "process.detail.back" : "Back", + // TODO New key - Add a translation + "process.detail.back" : "Back", + + // "process.detail.output" : "Process Output", + // TODO New key - Add a translation + "process.detail.output" : "Process Output", + + // "process.detail.logs.button": "Retrieve process output", + // TODO New key - Add a translation + "process.detail.logs.button": "Retrieve process output", + + // "process.detail.logs.loading": "Retrieving", + // TODO New key - Add a translation + "process.detail.logs.loading": "Retrieving", + + // "process.detail.logs.none": "This process has no output", + // TODO New key - Add a translation + "process.detail.logs.none": "This process has no output", + + // "process.detail.output-files" : "Output Files", + // TODO New key - Add a translation + "process.detail.output-files" : "Output Files", + + // "process.detail.output-files.empty" : "This process doesn't contain any output files", + // TODO New key - Add a translation + "process.detail.output-files.empty" : "This process doesn't contain any output files", + + // "process.detail.script" : "Script", + // TODO New key - Add a translation + "process.detail.script" : "Script", + + // "process.detail.title" : "Process: {{ id }} - {{ name }}", + // TODO New key - Add a translation + "process.detail.title" : "Process: {{ id }} - {{ name }}", + + // "process.detail.start-time" : "Start time", + // TODO New key - Add a translation + "process.detail.start-time" : "Start time", + + // "process.detail.end-time" : "Finish time", + // TODO New key - Add a translation + "process.detail.end-time" : "Finish time", + + // "process.detail.status" : "Status", + // TODO New key - Add a translation + "process.detail.status" : "Status", + + // "process.detail.create" : "Create similar process", + // TODO New key - Add a translation + "process.detail.create" : "Create similar process", + + + + // "process.overview.table.finish" : "Finish time", + // TODO New key - Add a translation + "process.overview.table.finish" : "Finish time", + + // "process.overview.table.id" : "Process ID", + // TODO New key - Add a translation + "process.overview.table.id" : "Process ID", + + // "process.overview.table.name" : "Name", + // TODO New key - Add a translation + "process.overview.table.name" : "Name", + + // "process.overview.table.start" : "Start time", + // TODO New key - Add a translation + "process.overview.table.start" : "Start time", + + // "process.overview.table.status" : "Status", + // TODO New key - Add a translation + "process.overview.table.status" : "Status", + + // "process.overview.table.user" : "User", + // TODO New key - Add a translation + "process.overview.table.user" : "User", + + // "process.overview.title": "Processes Overview", + // TODO New key - Add a translation + "process.overview.title": "Processes Overview", + + // "process.overview.breadcrumbs": "Processes Overview", + // TODO New key - Add a translation + "process.overview.breadcrumbs": "Processes Overview", + + // "process.overview.new": "New", + // TODO New key - Add a translation + "process.overview.new": "New", + + // "profile.breadcrumbs": "Update Profile", // TODO New key - Add a translation "profile.breadcrumbs": "Update Profile", @@ -3021,6 +4228,10 @@ // "project.page.description": "Description", "project.page.description": "Beschrijving", + // "project.page.edit": "Edit this item", + // TODO New key - Add a translation + "project.page.edit": "Edit this item", + // "project.page.expectedcompletion": "Expected Completion", "project.page.expectedcompletion": "Verwachte afronding", @@ -3051,6 +4262,10 @@ // "publication.page.description": "Description", "publication.page.description": "Beschrijving", + // "publication.page.edit": "Edit this item", + // TODO New key - Add a translation + "publication.page.edit": "Edit this item", + // "publication.page.journal-issn": "Journal ISSN", "publication.page.journal-issn": "Tijdschrift ISSN", @@ -3073,10 +4288,164 @@ "publication.search.title": "DSpace Angular :: Publicatie zoeken", + // "register-email.title": "New user registration", + // TODO New key - Add a translation + "register-email.title": "New user registration", + + // "register-page.create-profile.header": "Create Profile", + // TODO New key - Add a translation + "register-page.create-profile.header": "Create Profile", + + // "register-page.create-profile.identification.header": "Identify", + // TODO New key - Add a translation + "register-page.create-profile.identification.header": "Identify", + + // "register-page.create-profile.identification.email": "Email Address", + // TODO New key - Add a translation + "register-page.create-profile.identification.email": "Email Address", + + // "register-page.create-profile.identification.first-name": "First Name *", + // TODO New key - Add a translation + "register-page.create-profile.identification.first-name": "First Name *", + + // "register-page.create-profile.identification.first-name.error": "Please fill in a First Name", + // TODO New key - Add a translation + "register-page.create-profile.identification.first-name.error": "Please fill in a First Name", + + // "register-page.create-profile.identification.last-name": "Last Name *", + // TODO New key - Add a translation + "register-page.create-profile.identification.last-name": "Last Name *", + + // "register-page.create-profile.identification.last-name.error": "Please fill in a Last Name", + // TODO New key - Add a translation + "register-page.create-profile.identification.last-name.error": "Please fill in a Last Name", + + // "register-page.create-profile.identification.contact": "Contact Telephone", + // TODO New key - Add a translation + "register-page.create-profile.identification.contact": "Contact Telephone", + + // "register-page.create-profile.identification.language": "Language", + // TODO New key - Add a translation + "register-page.create-profile.identification.language": "Language", + + // "register-page.create-profile.security.header": "Security", + // TODO New key - Add a translation + "register-page.create-profile.security.header": "Security", + + // "register-page.create-profile.security.info": "Please enter a password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", + // TODO New key - Add a translation + "register-page.create-profile.security.info": "Please enter a password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", + + // "register-page.create-profile.security.label.password": "Password *", + // TODO New key - Add a translation + "register-page.create-profile.security.label.password": "Password *", + + // "register-page.create-profile.security.label.passwordrepeat": "Retype to confirm *", + // TODO New key - Add a translation + "register-page.create-profile.security.label.passwordrepeat": "Retype to confirm *", + + // "register-page.create-profile.security.error.empty-password": "Please enter a password in the box below.", + // TODO New key - Add a translation + "register-page.create-profile.security.error.empty-password": "Please enter a password in the box below.", + + // "register-page.create-profile.security.error.matching-passwords": "The passwords do not match.", + // TODO New key - Add a translation + "register-page.create-profile.security.error.matching-passwords": "The passwords do not match.", + + // "register-page.create-profile.security.error.password-length": "The password should be at least 6 characters long.", + // TODO New key - Add a translation + "register-page.create-profile.security.error.password-length": "The password should be at least 6 characters long.", + + // "register-page.create-profile.submit": "Complete Registration", + // TODO New key - Add a translation + "register-page.create-profile.submit": "Complete Registration", + + // "register-page.create-profile.submit.error.content": "Something went wrong while registering a new user.", + // TODO New key - Add a translation + "register-page.create-profile.submit.error.content": "Something went wrong while registering a new user.", + + // "register-page.create-profile.submit.error.head": "Registration failed", + // TODO New key - Add a translation + "register-page.create-profile.submit.error.head": "Registration failed", + + // "register-page.create-profile.submit.success.content": "The registration was successful. You have been logged in as the created user.", + // TODO New key - Add a translation + "register-page.create-profile.submit.success.content": "The registration was successful. You have been logged in as the created user.", + + // "register-page.create-profile.submit.success.head": "Registration completed", + // TODO New key - Add a translation + "register-page.create-profile.submit.success.head": "Registration completed", + + + // "register-page.registration.header": "New user registration", + // TODO New key - Add a translation + "register-page.registration.header": "New user registration", + + // "register-page.registration.info": "Register an account to subscribe to collections for email updates, and submit new items to DSpace.", + // TODO New key - Add a translation + "register-page.registration.info": "Register an account to subscribe to collections for email updates, and submit new items to DSpace.", + + // "register-page.registration.email": "Email Address *", + // TODO New key - Add a translation + "register-page.registration.email": "Email Address *", + + // "register-page.registration.email.error.required": "Please fill in an email address", + // TODO New key - Add a translation + "register-page.registration.email.error.required": "Please fill in an email address", + + // "register-page.registration.email.error.pattern": "Please fill in a valid email address", + // TODO New key - Add a translation + "register-page.registration.email.error.pattern": "Please fill in a valid email address", + + // "register-page.registration.email.hint": "This address will be verified and used as your login name.", + // TODO New key - Add a translation + "register-page.registration.email.hint": "This address will be verified and used as your login name.", + + // "register-page.registration.submit": "Register", + // TODO New key - Add a translation + "register-page.registration.submit": "Register", + + // "register-page.registration.success.head": "Verification email sent", + // TODO New key - Add a translation + "register-page.registration.success.head": "Verification email sent", + + // "register-page.registration.success.content": "An email has been sent to {{ email }} containing a special URL and further instructions.", + // TODO New key - Add a translation + "register-page.registration.success.content": "An email has been sent to {{ email }} containing a special URL and further instructions.", + + // "register-page.registration.error.head": "Error when trying to register email", + // TODO New key - Add a translation + "register-page.registration.error.head": "Error when trying to register email", + + // "register-page.registration.error.content": "An error occured when registering the following email address: {{ email }}", + // TODO New key - Add a translation + "register-page.registration.error.content": "An error occured when registering the following email address: {{ email }}", + + + + // "relationships.add.error.relationship-type.content": "No suitable match could be found for relationship type {{ type }} between the two items", + // TODO New key - Add a translation + "relationships.add.error.relationship-type.content": "No suitable match could be found for relationship type {{ type }} between the two items", + + // "relationships.add.error.server.content": "The server returned an error", + // TODO New key - Add a translation + "relationships.add.error.server.content": "The server returned an error", + + // "relationships.add.error.title": "Unable to add relationship", + // TODO New key - Add a translation + "relationships.add.error.title": "Unable to add relationship", // "relationships.isAuthorOf": "Authors", "relationships.isAuthorOf": "Auteurs", + // "relationships.isAuthorOf.Person": "Authors (persons)", + // TODO New key - Add a translation + "relationships.isAuthorOf.Person": "Authors (persons)", + + // "relationships.isAuthorOf.OrgUnit": "Authors (organizational units)", + // TODO New key - Add a translation + "relationships.isAuthorOf.OrgUnit": "Authors (organizational units)", + // "relationships.isIssueOf": "Journal Issues", "relationships.isIssueOf": "Tijdschriftafleveringen", @@ -3116,6 +4485,208 @@ + // "resource-policies.add.button": "Add", + // TODO New key - Add a translation + "resource-policies.add.button": "Add", + + // "resource-policies.add.for.": "Add a new policy", + // TODO New key - Add a translation + "resource-policies.add.for.": "Add a new policy", + + // "resource-policies.add.for.bitstream": "Add a new Bitstream policy", + // TODO New key - Add a translation + "resource-policies.add.for.bitstream": "Add a new Bitstream policy", + + // "resource-policies.add.for.bundle": "Add a new Bundle policy", + // TODO New key - Add a translation + "resource-policies.add.for.bundle": "Add a new Bundle policy", + + // "resource-policies.add.for.item": "Add a new Item policy", + // TODO New key - Add a translation + "resource-policies.add.for.item": "Add a new Item policy", + + // "resource-policies.add.for.community": "Add a new Community policy", + // TODO New key - Add a translation + "resource-policies.add.for.community": "Add a new Community policy", + + // "resource-policies.add.for.collection": "Add a new Collection policy", + // TODO New key - Add a translation + "resource-policies.add.for.collection": "Add a new Collection policy", + + // "resource-policies.create.page.heading": "Create new resource policy for ", + // TODO New key - Add a translation + "resource-policies.create.page.heading": "Create new resource policy for ", + + // "resource-policies.create.page.failure.content": "An error occurred while creating the resource policy.", + // TODO New key - Add a translation + "resource-policies.create.page.failure.content": "An error occurred while creating the resource policy.", + + // "resource-policies.create.page.success.content": "Operation successful", + // TODO New key - Add a translation + "resource-policies.create.page.success.content": "Operation successful", + + // "resource-policies.create.page.title": "Create new resource policy", + // TODO New key - Add a translation + "resource-policies.create.page.title": "Create new resource policy", + + // "resource-policies.delete.btn": "Delete selected", + // TODO New key - Add a translation + "resource-policies.delete.btn": "Delete selected", + + // "resource-policies.delete.btn.title": "Delete selected resource policies", + // TODO New key - Add a translation + "resource-policies.delete.btn.title": "Delete selected resource policies", + + // "resource-policies.delete.failure.content": "An error occurred while deleting selected resource policies.", + // TODO New key - Add a translation + "resource-policies.delete.failure.content": "An error occurred while deleting selected resource policies.", + + // "resource-policies.delete.success.content": "Operation successful", + // TODO New key - Add a translation + "resource-policies.delete.success.content": "Operation successful", + + // "resource-policies.edit.page.heading": "Edit resource policy ", + // TODO New key - Add a translation + "resource-policies.edit.page.heading": "Edit resource policy ", + + // "resource-policies.edit.page.failure.content": "An error occurred while editing the resource policy.", + // TODO New key - Add a translation + "resource-policies.edit.page.failure.content": "An error occurred while editing the resource policy.", + + // "resource-policies.edit.page.success.content": "Operation successful", + // TODO New key - Add a translation + "resource-policies.edit.page.success.content": "Operation successful", + + // "resource-policies.edit.page.title": "Edit resource policy", + // TODO New key - Add a translation + "resource-policies.edit.page.title": "Edit resource policy", + + // "resource-policies.form.action-type.label": "Select the action type", + // TODO New key - Add a translation + "resource-policies.form.action-type.label": "Select the action type", + + // "resource-policies.form.action-type.required": "You must select the resource policy action.", + // TODO New key - Add a translation + "resource-policies.form.action-type.required": "You must select the resource policy action.", + + // "resource-policies.form.eperson-group-list.label": "The eperson or group that will be granted the permission", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.label": "The eperson or group that will be granted the permission", + + // "resource-policies.form.eperson-group-list.select.btn": "Select", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.select.btn": "Select", + + // "resource-policies.form.eperson-group-list.tab.eperson": "Search for a ePerson", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.tab.eperson": "Search for a ePerson", + + // "resource-policies.form.eperson-group-list.tab.group": "Search for a group", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.tab.group": "Search for a group", + + // "resource-policies.form.eperson-group-list.table.headers.action": "Action", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.table.headers.action": "Action", + + // "resource-policies.form.eperson-group-list.table.headers.id": "ID", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.table.headers.id": "ID", + + // "resource-policies.form.eperson-group-list.table.headers.name": "Name", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.table.headers.name": "Name", + + // "resource-policies.form.date.end.label": "End Date", + // TODO New key - Add a translation + "resource-policies.form.date.end.label": "End Date", + + // "resource-policies.form.date.start.label": "Start Date", + // TODO New key - Add a translation + "resource-policies.form.date.start.label": "Start Date", + + // "resource-policies.form.description.label": "Description", + // TODO New key - Add a translation + "resource-policies.form.description.label": "Description", + + // "resource-policies.form.name.label": "Name", + // TODO New key - Add a translation + "resource-policies.form.name.label": "Name", + + // "resource-policies.form.policy-type.label": "Select the policy type", + // TODO New key - Add a translation + "resource-policies.form.policy-type.label": "Select the policy type", + + // "resource-policies.form.policy-type.required": "You must select the resource policy type.", + // TODO New key - Add a translation + "resource-policies.form.policy-type.required": "You must select the resource policy type.", + + // "resource-policies.table.headers.action": "Action", + // TODO New key - Add a translation + "resource-policies.table.headers.action": "Action", + + // "resource-policies.table.headers.date.end": "End Date", + // TODO New key - Add a translation + "resource-policies.table.headers.date.end": "End Date", + + // "resource-policies.table.headers.date.start": "Start Date", + // TODO New key - Add a translation + "resource-policies.table.headers.date.start": "Start Date", + + // "resource-policies.table.headers.edit": "Edit", + // TODO New key - Add a translation + "resource-policies.table.headers.edit": "Edit", + + // "resource-policies.table.headers.edit.group": "Edit group", + // TODO New key - Add a translation + "resource-policies.table.headers.edit.group": "Edit group", + + // "resource-policies.table.headers.edit.policy": "Edit policy", + // TODO New key - Add a translation + "resource-policies.table.headers.edit.policy": "Edit policy", + + // "resource-policies.table.headers.eperson": "EPerson", + // TODO New key - Add a translation + "resource-policies.table.headers.eperson": "EPerson", + + // "resource-policies.table.headers.group": "Group", + // TODO New key - Add a translation + "resource-policies.table.headers.group": "Group", + + // "resource-policies.table.headers.id": "ID", + // TODO New key - Add a translation + "resource-policies.table.headers.id": "ID", + + // "resource-policies.table.headers.name": "Name", + // TODO New key - Add a translation + "resource-policies.table.headers.name": "Name", + + // "resource-policies.table.headers.policyType": "type", + // TODO New key - Add a translation + "resource-policies.table.headers.policyType": "type", + + // "resource-policies.table.headers.title.for.bitstream": "Policies for Bitstream", + // TODO New key - Add a translation + "resource-policies.table.headers.title.for.bitstream": "Policies for Bitstream", + + // "resource-policies.table.headers.title.for.bundle": "Policies for Bundle", + // TODO New key - Add a translation + "resource-policies.table.headers.title.for.bundle": "Policies for Bundle", + + // "resource-policies.table.headers.title.for.item": "Policies for Item", + // TODO New key - Add a translation + "resource-policies.table.headers.title.for.item": "Policies for Item", + + // "resource-policies.table.headers.title.for.community": "Policies for Community", + // TODO New key - Add a translation + "resource-policies.table.headers.title.for.community": "Policies for Community", + + // "resource-policies.table.headers.title.for.collection": "Policies for Collection", + // TODO New key - Add a translation + "resource-policies.table.headers.title.for.collection": "Policies for Collection", + + + // "search.description": "", "search.description": "", @@ -3429,6 +5000,14 @@ + // "sorting.ASC": "Ascending", + // TODO New key - Add a translation + "sorting.ASC": "Ascending", + + // "sorting.DESC": "Descending", + // TODO New key - Add a translation + "sorting.DESC": "Descending", + // "sorting.dc.title.ASC": "Title Ascending", "sorting.dc.title.ASC": "Oplopend op titel", @@ -3440,6 +5019,52 @@ + // "statistics.title": "Statistics", + // TODO New key - Add a translation + "statistics.title": "Statistics", + + // "statistics.header": "Statistics for {{ scope }}", + // TODO New key - Add a translation + "statistics.header": "Statistics for {{ scope }}", + + // "statistics.breadcrumbs": "Statistics", + // TODO New key - Add a translation + "statistics.breadcrumbs": "Statistics", + + // "statistics.page.no-data": "No data available", + // TODO New key - Add a translation + "statistics.page.no-data": "No data available", + + // "statistics.table.no-data": "No data available", + // TODO New key - Add a translation + "statistics.table.no-data": "No data available", + + // "statistics.table.title.TotalVisits": "Total visits", + // TODO New key - Add a translation + "statistics.table.title.TotalVisits": "Total visits", + + // "statistics.table.title.TotalVisitsPerMonth": "Total visits per month", + // TODO New key - Add a translation + "statistics.table.title.TotalVisitsPerMonth": "Total visits per month", + + // "statistics.table.title.TotalDownloads": "File Visits", + // TODO New key - Add a translation + "statistics.table.title.TotalDownloads": "File Visits", + + // "statistics.table.title.TopCountries": "Top country views", + // TODO New key - Add a translation + "statistics.table.title.TopCountries": "Top country views", + + // "statistics.table.title.TopCities": "Top city views", + // TODO New key - Add a translation + "statistics.table.title.TopCities": "Top city views", + + // "statistics.table.header.views": "Views", + // TODO New key - Add a translation + "statistics.table.header.views": "Views", + + + // "submission.edit.title": "Edit Submission", "submission.edit.title": "Bewerk submission", @@ -3471,6 +5096,85 @@ "submission.general.save-later": "Bewaar voor later", + // "submission.import-external.page.title": "Import metadata from an external source", + // TODO New key - Add a translation + "submission.import-external.page.title": "Import metadata from an external source", + + // "submission.import-external.title": "Import metadata from an external source", + // TODO New key - Add a translation + "submission.import-external.title": "Import metadata from an external source", + + // "submission.import-external.page.hint": "Enter a query above to find items from the web to import in to DSpace.", + // TODO New key - Add a translation + "submission.import-external.page.hint": "Enter a query above to find items from the web to import in to DSpace.", + + // "submission.import-external.back-to-my-dspace": "Back to MyDSpace", + // TODO New key - Add a translation + "submission.import-external.back-to-my-dspace": "Back to MyDSpace", + + // "submission.import-external.search.placeholder": "Search the external source", + // TODO New key - Add a translation + "submission.import-external.search.placeholder": "Search the external source", + + // "submission.import-external.search.button": "Search", + // TODO New key - Add a translation + "submission.import-external.search.button": "Search", + + // "submission.import-external.search.button.hint": "Write some words to search", + // TODO New key - Add a translation + "submission.import-external.search.button.hint": "Write some words to search", + + // "submission.import-external.search.source.hint": "Pick an external source", + // TODO New key - Add a translation + "submission.import-external.search.source.hint": "Pick an external source", + + // "submission.import-external.source.arxiv": "arXiv", + // TODO New key - Add a translation + "submission.import-external.source.arxiv": "arXiv", + + // "submission.import-external.source.loading": "Loading ...", + // TODO New key - Add a translation + "submission.import-external.source.loading": "Loading ...", + + // "submission.import-external.source.sherpaJournal": "SHERPA Journals", + // TODO New key - Add a translation + "submission.import-external.source.sherpaJournal": "SHERPA Journals", + + // "submission.import-external.source.sherpaPublisher": "SHERPA Publishers", + // TODO New key - Add a translation + "submission.import-external.source.sherpaPublisher": "SHERPA Publishers", + + // "submission.import-external.source.orcid": "ORCID", + // TODO New key - Add a translation + "submission.import-external.source.orcid": "ORCID", + + // "submission.import-external.source.pubmed": "Pubmed", + // TODO New key - Add a translation + "submission.import-external.source.pubmed": "Pubmed", + + // "submission.import-external.source.lcname": "Library of Congress Names", + // TODO New key - Add a translation + "submission.import-external.source.lcname": "Library of Congress Names", + + // "submission.import-external.preview.title": "Item Preview", + // TODO New key - Add a translation + "submission.import-external.preview.title": "Item Preview", + + // "submission.import-external.preview.subtitle": "The metadata below was imported from an external source. It will be pre-filled when you start the submission.", + // TODO New key - Add a translation + "submission.import-external.preview.subtitle": "The metadata below was imported from an external source. It will be pre-filled when you start the submission.", + + // "submission.import-external.preview.button.import": "Start submission", + // TODO New key - Add a translation + "submission.import-external.preview.button.import": "Start submission", + + // "submission.import-external.preview.error.import.title": "Submission error", + // TODO New key - Add a translation + "submission.import-external.preview.error.import.title": "Submission error", + + // "submission.import-external.preview.error.import.body": "An error occurs during the external source entry import process.", + // TODO New key - Add a translation + "submission.import-external.preview.error.import.body": "An error occurs during the external source entry import process.", // "submission.sections.describe.relationship-lookup.close": "Close", // TODO New key - Add a translation @@ -3480,9 +5184,9 @@ // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.external-source.added": "Successfully added local entry to the selection", - // "submission.sections.describe.relationship-lookup.external-source.import-button-title.Author": "Import remote author", + // "submission.sections.describe.relationship-lookup.external-source.import-button-title.isAuthorOfPublication": "Import remote author", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-button-title.Author": "Import remote author", + "submission.sections.describe.relationship-lookup.external-source.import-button-title.isAuthorOfPublication": "Import remote author", // "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal": "Import remote journal", // TODO New key - Add a translation @@ -3496,17 +5200,17 @@ // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal Volume": "Import remote journal volume", - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.title": "Import Remote Author", + // "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.title": "Import Remote Author", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.title": "Import Remote Author", + "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.title": "Import Remote Author", - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.added.local-entity": "Successfully added local author to the selection", + // "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.added.local-entity": "Successfully added local author to the selection", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.added.local-entity": "Successfully added local author to the selection", + "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.added.local-entity": "Successfully added local author to the selection", - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.added.new-entity": "Successfully imported and added external author to the selection", + // "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.added.new-entity": "Successfully imported and added external author to the selection", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.added.new-entity": "Successfully imported and added external author to the selection", + "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.added.new-entity": "Successfully imported and added external author to the selection", // "submission.sections.describe.relationship-lookup.external-source.import-modal.authority": "Authority", // TODO New key - Add a translation @@ -3548,6 +5252,14 @@ // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.external-source.import-modal.head.sherpaPublisher": "Importing from Sherpa Publisher", + // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.pubmed": "Importing from PubMed", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.head.pubmed": "Importing from PubMed", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.arxiv": "Importing from arXiv", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.head.arxiv": "Importing from arXiv", + // "submission.sections.describe.relationship-lookup.external-source.import-modal.import": "Import", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.external-source.import-modal.import": "Import", @@ -3624,21 +5336,54 @@ // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.selected": "Selected {{ size }} items", - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Author": "Local Authors ({{ count }})", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isAuthorOfPublication": "Local Authors ({{ count }})", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Author": "Local Authors ({{ count }})", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isAuthorOfPublication": "Local Authors ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalOfPublication": "Local Journals ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalOfPublication": "Local Journals ({{ count }})", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Project": "Local Projects ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.Project": "Local Projects ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Publication": "Local Publications ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.Publication": "Local Publications ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Person": "Local Authors ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.Person": "Local Authors ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.OrgUnit": "Local Organizational Units ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.OrgUnit": "Local Organizational Units ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.DataPackage": "Local Data Packages ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.DataPackage": "Local Data Packages ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.DataFile": "Local Data Files ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.DataFile": "Local Data Files ({{ count }})", // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal": "Local Journals ({{ count }})", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal": "Local Journals ({{ count }})", - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal Issue": "Local Journal Issues ({{ count }})", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalIssueOfPublication": "Local Journal Issues ({{ count }})", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal Issue": "Local Journal Issues ({{ count }})", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalIssueOfPublication": "Local Journal Issues ({{ count }})", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.JournalIssue": "Local Journal Issues ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.JournalIssue": "Local Journal Issues ({{ count }})", - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal Volume": "Local Journal Volumes ({{ count }})", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalVolumeOfPublication": "Local Journal Volumes ({{ count }})", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal Volume": "Local Journal Volumes ({{ count }})", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalVolumeOfPublication": "Local Journal Volumes ({{ count }})", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.JournalVolume": "Local Journal Volumes ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.JournalVolume": "Local Journal Volumes ({{ count }})", // "submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaJournal": "Sherpa Journals ({{ count }})", // TODO New key - Add a translation @@ -3656,41 +5401,90 @@ // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.search-tab.tab-title.lcname": "LC Names ({{ count }})", - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Funding Agency": "Search for Funding Agencies", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.pubmed": "PubMed ({{ count }})", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Funding Agency": "Search for Funding Agencies", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.pubmed": "PubMed ({{ count }})", - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Funding": "Search for Funding", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.arxiv": "arXiv ({{ count }})", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Funding": "Search for Funding", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.arxiv": "arXiv ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingAgencyOfPublication": "Search for Funding Agencies", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingAgencyOfPublication": "Search for Funding Agencies", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingOfPublication": "Search for Funding", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingOfPublication": "Search for Funding", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isChildOrgUnitOf": "Search for Organizational Units", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isChildOrgUnitOf": "Search for Organizational Units", // "submission.sections.describe.relationship-lookup.selection-tab.tab-title": "Current Selection ({{ count }})", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.selection-tab.tab-title": "Current Selection ({{ count }})", - // "submission.sections.describe.relationship-lookup.title.Journal Issue": "Journal Issues", + // "submission.sections.describe.relationship-lookup.title.isJournalIssueOfPublication": "Journal Issues", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.title.Journal Issue": "Journal Issues", + "submission.sections.describe.relationship-lookup.title.isJournalIssueOfPublication": "Journal Issues", + // "submission.sections.describe.relationship-lookup.title.JournalIssue": "Journal Issues", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.JournalIssue": "Journal Issues", - // "submission.sections.describe.relationship-lookup.title.Journal Volume": "Journal Volumes", + // "submission.sections.describe.relationship-lookup.title.isJournalVolumeOfPublication": "Journal Volumes", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.title.Journal Volume": "Journal Volumes", + "submission.sections.describe.relationship-lookup.title.isJournalVolumeOfPublication": "Journal Volumes", + // "submission.sections.describe.relationship-lookup.title.JournalVolume": "Journal Volumes", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.JournalVolume": "Journal Volumes", - // "submission.sections.describe.relationship-lookup.title.Journal": "Journals", + // "submission.sections.describe.relationship-lookup.title.isJournalOfPublication": "Journals", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.title.Journal": "Journals", + "submission.sections.describe.relationship-lookup.title.isJournalOfPublication": "Journals", - // "submission.sections.describe.relationship-lookup.title.Author": "Authors", + // "submission.sections.describe.relationship-lookup.title.isAuthorOfPublication": "Authors", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.title.Author": "Authors", + "submission.sections.describe.relationship-lookup.title.isAuthorOfPublication": "Authors", + + // "submission.sections.describe.relationship-lookup.title.isFundingAgencyOfPublication": "Funding Agency", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.isFundingAgencyOfPublication": "Funding Agency", + // "submission.sections.describe.relationship-lookup.title.Project": "Projects", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.Project": "Projects", + + // "submission.sections.describe.relationship-lookup.title.Publication": "Publications", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.Publication": "Publications", + + // "submission.sections.describe.relationship-lookup.title.Person": "Authors", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.Person": "Authors", + + // "submission.sections.describe.relationship-lookup.title.OrgUnit": "Organizational Units", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.OrgUnit": "Organizational Units", + + // "submission.sections.describe.relationship-lookup.title.DataPackage": "Data Packages", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.DataPackage": "Data Packages", + + // "submission.sections.describe.relationship-lookup.title.DataFile": "Data Files", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.DataFile": "Data Files", // "submission.sections.describe.relationship-lookup.title.Funding Agency": "Funding Agency", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.title.Funding Agency": "Funding Agency", - // "submission.sections.describe.relationship-lookup.title.Funding": "Funding", + // "submission.sections.describe.relationship-lookup.title.isFundingOfPublication": "Funding", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.title.Funding": "Funding", + "submission.sections.describe.relationship-lookup.title.isFundingOfPublication": "Funding", + + // "submission.sections.describe.relationship-lookup.title.isChildOrgUnitOf": "Parent Organizational Unit", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.isChildOrgUnitOf": "Parent Organizational Unit", // "submission.sections.describe.relationship-lookup.search-tab.toggle-dropdown": "Toggle dropdown", // TODO New key - Add a translation @@ -3704,21 +5498,66 @@ // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.selection-tab.no-selection": "Your selection is currently empty.", - // "submission.sections.describe.relationship-lookup.selection-tab.title.Author": "Selected Authors", + // "submission.sections.describe.relationship-lookup.selection-tab.title.isAuthorOfPublication": "Selected Authors", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.selection-tab.title.Author": "Selected Authors", + "submission.sections.describe.relationship-lookup.selection-tab.title.isAuthorOfPublication": "Selected Authors", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalOfPublication": "Selected Journals", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalOfPublication": "Selected Journals", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalVolumeOfPublication": "Selected Journal Volume", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalVolumeOfPublication": "Selected Journal Volume", + // "submission.sections.describe.relationship-lookup.selection-tab.title.Project": "Selected Projects", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.Project": "Selected Projects", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.Publication": "Selected Publications", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.Publication": "Selected Publications", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.Person": "Selected Authors", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.Person": "Selected Authors", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.OrgUnit": "Selected Organizational Units", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.OrgUnit": "Selected Organizational Units", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.DataPackage": "Selected Data Packages", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.DataPackage": "Selected Data Packages", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.DataFile": "Selected Data Files", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.DataFile": "Selected Data Files", // "submission.sections.describe.relationship-lookup.selection-tab.title.Journal": "Selected Journals", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.selection-tab.title.Journal": "Selected Journals", - // "submission.sections.describe.relationship-lookup.selection-tab.title.Journal Volume": "Selected Journal Volume", + // "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalIssueOfPublication": "Selected Issue", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.selection-tab.title.Journal Volume": "Selected Journal Volume", + "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalIssueOfPublication": "Selected Issue", + // "submission.sections.describe.relationship-lookup.selection-tab.title.JournalVolume": "Selected Journal Volume", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.JournalVolume": "Selected Journal Volume", - // "submission.sections.describe.relationship-lookup.selection-tab.title.Journal Issue": "Selected Issue", + // "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingAgencyOfPublication": "Selected Funding Agency", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.selection-tab.title.Journal Issue": "Selected Issue", + "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingAgencyOfPublication": "Selected Funding Agency", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingOfPublication": "Selected Funding", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingOfPublication": "Selected Funding", + // "submission.sections.describe.relationship-lookup.selection-tab.title.JournalIssue": "Selected Issue", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.JournalIssue": "Selected Issue", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isChildOrgUnitOf": "Selected Organizational Unit", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.isChildOrgUnitOf": "Selected Organizational Unit", // "submission.sections.describe.relationship-lookup.selection-tab.title.sherpaJournal": "Search Results", // TODO New key - Add a translation @@ -3732,10 +5571,22 @@ // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.selection-tab.title.orcid": "Search Results", + // "submission.sections.describe.relationship-lookup.selection-tab.title.orcidv2": "Search Results", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.orcidv2": "Search Results", + // "submission.sections.describe.relationship-lookup.selection-tab.title.lcname": "Search Results", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.selection-tab.title.lcname": "Search Results", + // "submission.sections.describe.relationship-lookup.selection-tab.title.pubmed": "Search Results", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.pubmed": "Search Results", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.arxiv": "Search Results", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.arxiv": "Search Results", + // "submission.sections.describe.relationship-lookup.name-variant.notification.content": "Would you like to save \"{{ value }}\" as a name variant for this person so you and others can reuse it for future submissions? If you don\'t you can still use it for this submission.", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.name-variant.notification.content": "Would you like to save \"{{ value }}\" as a name variant for this person so you and others can reuse it for future submissions? If you don\'t you can still use it for this submission.", @@ -3748,6 +5599,34 @@ // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.name-variant.notification.decline": "Use only for this submission", + // "submission.sections.ccLicense.type": "License Type", + // TODO New key - Add a translation + "submission.sections.ccLicense.type": "License Type", + + // "submission.sections.ccLicense.select": "Select a license type…", + // TODO New key - Add a translation + "submission.sections.ccLicense.select": "Select a license type…", + + // "submission.sections.ccLicense.change": "Change your license type…", + // TODO New key - Add a translation + "submission.sections.ccLicense.change": "Change your license type…", + + // "submission.sections.ccLicense.none": "No licenses available", + // TODO New key - Add a translation + "submission.sections.ccLicense.none": "No licenses available", + + // "submission.sections.ccLicense.option.select": "Select an option…", + // TODO New key - Add a translation + "submission.sections.ccLicense.option.select": "Select an option…", + + // "submission.sections.ccLicense.link": "You’ve selected the following license:", + // TODO New key - Add a translation + "submission.sections.ccLicense.link": "You’ve selected the following license:", + + // "submission.sections.ccLicense.confirmation": "I grant the license above", + // TODO New key - Add a translation + "submission.sections.ccLicense.confirmation": "I grant the license above", + // "submission.sections.general.add-more": "Add more", "submission.sections.general.add-more": "Voeg meer toe", @@ -3792,8 +5671,9 @@ - // "submission.sections.submit.progressbar.cclicense": "Creative commons license", - "submission.sections.submit.progressbar.cclicense": "Creative commons licentie", + // "submission.sections.submit.progressbar.CClicense": "Creative commons license", + // TODO New key - Add a translation + "submission.sections.submit.progressbar.CClicense": "Creative commons license", // "submission.sections.submit.progressbar.describe.recycle": "Recycle", "submission.sections.submit.progressbar.describe.recycle": "Recycle", @@ -3842,7 +5722,8 @@ // "submission.sections.upload.form.date-required": "Date is required.", "submission.sections.upload.form.date-required": "De datum is verplicht.", - // "submission.sections.upload.form.from-label": "Access grant from", + // "submission.sections.upload.form.from-label": "Grant access from", + // TODO Source message changed - Revise the translation "submission.sections.upload.form.from-label": "Toegang vanaf", // "submission.sections.upload.form.from-placeholder": "From", @@ -3854,7 +5735,8 @@ // "submission.sections.upload.form.group-required": "Group is required.", "submission.sections.upload.form.group-required": "Groep is verplicht.", - // "submission.sections.upload.form.until-label": "Access grant until", + // "submission.sections.upload.form.until-label": "Grant access until", + // TODO Source message changed - Revise the translation "submission.sections.upload.form.until-label": "Toegang tot", // "submission.sections.upload.form.until-placeholder": "Until", @@ -3984,13 +5866,34 @@ "title": "DSpace", - // "administrativeView.search.results.head": "Administrative Search", - // TODO New key - Add a translation - "administrativeView.search.results.head": "Administrative Search", - // "menu.section.admin_search": "Admin Search", + // "vocabulary-treeview.header": "Hierarchical tree view", // TODO New key - Add a translation - "menu.section.admin_search": "Admin Search", + "vocabulary-treeview.header": "Hierarchical tree view", + + // "vocabulary-treeview.load-more": "Load more", + // TODO New key - Add a translation + "vocabulary-treeview.load-more": "Load more", + + // "vocabulary-treeview.search.form.reset": "Reset", + // TODO New key - Add a translation + "vocabulary-treeview.search.form.reset": "Reset", + + // "vocabulary-treeview.search.form.search": "Search", + // TODO New key - Add a translation + "vocabulary-treeview.search.form.search": "Search", + + // "vocabulary-treeview.search.no-result": "There were no items to show", + // TODO New key - Add a translation + "vocabulary-treeview.search.no-result": "There were no items to show", + + // "vocabulary-treeview.tree.description.nsi": "The Norwegian Science Index", + // TODO New key - Add a translation + "vocabulary-treeview.tree.description.nsi": "The Norwegian Science Index", + + // "vocabulary-treeview.tree.description.srsc": "Research Subject Categories", + // TODO New key - Add a translation + "vocabulary-treeview.tree.description.srsc": "Research Subject Categories", @@ -4000,7 +5903,8 @@ // "uploader.drag-message": "Drag & Drop your files here", "uploader.drag-message": "Sleep uw bestanden hierheen", - // "uploader.or": ", or", + // "uploader.or": ", or ", + // TODO Source message changed - Revise the translation "uploader.or": ", of", // "uploader.processing": "Processing", @@ -4022,5 +5926,77 @@ "virtual-metadata.delete-relationship.modal-head": "Select the items for which you want to save the virtual metadata as real metadata", + + // "workflowAdmin.search.results.head": "Administer Workflow", + // TODO New key - Add a translation + "workflowAdmin.search.results.head": "Administer Workflow", + + + + // "workflow-item.delete.notification.success.title": "Deleted", + // TODO New key - Add a translation + "workflow-item.delete.notification.success.title": "Deleted", + + // "workflow-item.delete.notification.success.content": "This workflow item was successfully deleted", + // TODO New key - Add a translation + "workflow-item.delete.notification.success.content": "This workflow item was successfully deleted", + + // "workflow-item.delete.notification.error.title": "Something went wrong", + // TODO New key - Add a translation + "workflow-item.delete.notification.error.title": "Something went wrong", + + // "workflow-item.delete.notification.error.content": "The workflow item could not be deleted", + // TODO New key - Add a translation + "workflow-item.delete.notification.error.content": "The workflow item could not be deleted", + + // "workflow-item.delete.title": "Delete workflow item", + // TODO New key - Add a translation + "workflow-item.delete.title": "Delete workflow item", + + // "workflow-item.delete.header": "Delete workflow item", + // TODO New key - Add a translation + "workflow-item.delete.header": "Delete workflow item", + + // "workflow-item.delete.button.cancel": "Cancel", + // TODO New key - Add a translation + "workflow-item.delete.button.cancel": "Cancel", + + // "workflow-item.delete.button.confirm": "Delete", + // TODO New key - Add a translation + "workflow-item.delete.button.confirm": "Delete", + + + // "workflow-item.send-back.notification.success.title": "Sent back to submitter", + // TODO New key - Add a translation + "workflow-item.send-back.notification.success.title": "Sent back to submitter", + + // "workflow-item.send-back.notification.success.content": "This workflow item was successfully sent back to the submitter", + // TODO New key - Add a translation + "workflow-item.send-back.notification.success.content": "This workflow item was successfully sent back to the submitter", + + // "workflow-item.send-back.notification.error.title": "Something went wrong", + // TODO New key - Add a translation + "workflow-item.send-back.notification.error.title": "Something went wrong", + + // "workflow-item.send-back.notification.error.content": "The workflow item could not be sent back to the submitter", + // TODO New key - Add a translation + "workflow-item.send-back.notification.error.content": "The workflow item could not be sent back to the submitter", + + // "workflow-item.send-back.title": "Send workflow item back to submitter", + // TODO New key - Add a translation + "workflow-item.send-back.title": "Send workflow item back to submitter", + + // "workflow-item.send-back.header": "Send workflow item back to submitter", + // TODO New key - Add a translation + "workflow-item.send-back.header": "Send workflow item back to submitter", + + // "workflow-item.send-back.button.cancel": "Cancel", + // TODO New key - Add a translation + "workflow-item.send-back.button.cancel": "Cancel", + + // "workflow-item.send-back.button.confirm": "Send back" + // TODO New key - Add a translation + "workflow-item.send-back.button.confirm": "Send back" + } \ No newline at end of file diff --git a/src/assets/i18n/pl.json5 b/src/assets/i18n/pl.json5 index a2a7042d33..c4ea2a0d9e 100644 --- a/src/assets/i18n/pl.json5 +++ b/src/assets/i18n/pl.json5 @@ -1,5 +1,33 @@ { + // "401.help": "You're not authorized to access this page. You can use the button below to get back to the home page.", + // TODO New key - Add a translation + "401.help": "You're not authorized to access this page. You can use the button below to get back to the home page.", + + // "401.link.home-page": "Take me to the home page", + // TODO New key - Add a translation + "401.link.home-page": "Take me to the home page", + + // "401.unauthorized": "unauthorized", + // TODO New key - Add a translation + "401.unauthorized": "unauthorized", + + + + // "403.help": "You don't have permission to access this page. You can use the button below to get back to the home page.", + // TODO New key - Add a translation + "403.help": "You don't have permission to access this page. You can use the button below to get back to the home page.", + + // "403.link.home-page": "Take me to the home page", + // TODO New key - Add a translation + "403.link.home-page": "Take me to the home page", + + // "403.forbidden": "forbidden", + // TODO New key - Add a translation + "403.forbidden": "forbidden", + + + // "404.help": "We can't find the page you're looking for. The page may have been moved or deleted. You can use the button below to get back to the home page. ", // TODO New key - Add a translation "404.help": "We can't find the page you're looking for. The page may have been moved or deleted. You can use the button below to get back to the home page. ", @@ -12,7 +40,25 @@ // TODO New key - Add a translation "404.page-not-found": "page not found", + // "admin.curation-tasks.breadcrumbs": "System curation tasks", + // TODO New key - Add a translation + "admin.curation-tasks.breadcrumbs": "System curation tasks", + // "admin.curation-tasks.title": "System curation tasks", + // TODO New key - Add a translation + "admin.curation-tasks.title": "System curation tasks", + + // "admin.curation-tasks.header": "System curation tasks", + // TODO New key - Add a translation + "admin.curation-tasks.header": "System curation tasks", + + // "admin.registries.bitstream-formats.breadcrumbs": "Format registry", + // TODO New key - Add a translation + "admin.registries.bitstream-formats.breadcrumbs": "Format registry", + + // "admin.registries.bitstream-formats.create.breadcrumbs": "Bitstream format", + // TODO New key - Add a translation + "admin.registries.bitstream-formats.create.breadcrumbs": "Bitstream format", // "admin.registries.bitstream-formats.create.failure.content": "An error occurred while creating the new bitstream format.", // TODO New key - Add a translation @@ -58,6 +104,10 @@ // TODO New key - Add a translation "admin.registries.bitstream-formats.description": "This list of bitstream formats provides information about known formats and their support level.", + // "admin.registries.bitstream-formats.edit.breadcrumbs": "Bitstream format", + // TODO New key - Add a translation + "admin.registries.bitstream-formats.edit.breadcrumbs": "Bitstream format", + // "admin.registries.bitstream-formats.edit.description.hint": "", // TODO New key - Add a translation "admin.registries.bitstream-formats.edit.description.hint": "", @@ -184,6 +234,10 @@ + // "admin.registries.metadata.breadcrumbs": "Metadata registry", + // TODO New key - Add a translation + "admin.registries.metadata.breadcrumbs": "Metadata registry", + // "admin.registries.metadata.description": "The metadata registry maintains a list of all metadata fields available in the repository. These fields may be divided amongst multiple schemas. However, DSpace requires the qualified Dublin Core schema.", // TODO New key - Add a translation "admin.registries.metadata.description": "The metadata registry maintains a list of all metadata fields available in the repository. These fields may be divided amongst multiple schemas. However, DSpace requires the qualified Dublin Core schema.", @@ -234,6 +288,10 @@ + // "admin.registries.schema.breadcrumbs": "Metadata schema", + // TODO New key - Add a translation + "admin.registries.schema.breadcrumbs": "Metadata schema", + // "admin.registries.schema.description": "This is the metadata schema for \"{{namespace}}\".", // TODO New key - Add a translation "admin.registries.schema.description": "This is the metadata schema for \"{{namespace}}\".", @@ -332,6 +390,22 @@ + // "admin.access-control.epeople.actions.delete": "Delete EPerson", + // TODO New key - Add a translation + "admin.access-control.epeople.actions.delete": "Delete EPerson", + + // "admin.access-control.epeople.actions.impersonate": "Impersonate EPerson", + // TODO New key - Add a translation + "admin.access-control.epeople.actions.impersonate": "Impersonate EPerson", + + // "admin.access-control.epeople.actions.reset": "Reset password", + // TODO New key - Add a translation + "admin.access-control.epeople.actions.reset": "Reset password", + + // "admin.access-control.epeople.actions.stop-impersonating": "Stop impersonating EPerson", + // TODO New key - Add a translation + "admin.access-control.epeople.actions.stop-impersonating": "Stop impersonating EPerson", + // "admin.access-control.epeople.title": "DSpace Angular :: EPeople", // TODO New key - Add a translation "admin.access-control.epeople.title": "DSpace Angular :: EPeople", @@ -448,6 +522,14 @@ // TODO New key - Add a translation "admin.access-control.epeople.form.notification.edited.failure": "Failed to edit EPerson \"{{name}}\"", + // "admin.access-control.epeople.form.notification.deleted.success": "Successfully deleted EPerson \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.epeople.form.notification.deleted.success": "Successfully deleted EPerson \"{{name}}\"", + + // "admin.access-control.epeople.form.notification.deleted.failure": "Failed to delete EPerson \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.epeople.form.notification.deleted.failure": "Failed to delete EPerson \"{{name}}\"", + // "admin.access-control.epeople.form.groupsEPersonIsMemberOf": "Member of these groups:", // TODO New key - Add a translation "admin.access-control.epeople.form.groupsEPersonIsMemberOf": "Member of these groups:", @@ -482,6 +564,14 @@ // TODO New key - Add a translation "admin.access-control.groups.title": "DSpace Angular :: Groups", + // "admin.access-control.groups.title.singleGroup": "DSpace Angular :: Edit Group", + // TODO New key - Add a translation + "admin.access-control.groups.title.singleGroup": "DSpace Angular :: Edit Group", + + // "admin.access-control.groups.title.addGroup": "DSpace Angular :: New Group", + // TODO New key - Add a translation + "admin.access-control.groups.title.addGroup": "DSpace Angular :: New Group", + // "admin.access-control.groups.head": "Groups", // TODO New key - Add a translation "admin.access-control.groups.head": "Groups", @@ -514,10 +604,6 @@ // TODO New key - Add a translation "admin.access-control.groups.table.members": "Members", - // "admin.access-control.groups.table.comcol": "Community / Collection", - // TODO New key - Add a translation - "admin.access-control.groups.table.comcol": "Community / Collection", - // "admin.access-control.groups.table.edit": "Edit", // TODO New key - Add a translation "admin.access-control.groups.table.edit": "Edit", @@ -538,10 +624,23 @@ // TODO New key - Add a translation "admin.access-control.groups.notification.deleted.success": "Successfully deleted group \"{{name}}\"", - // "admin.access-control.groups.notification.deleted.failure": "Failed to delete group \"{{name}}\"", + // "admin.access-control.groups.notification.deleted.failure.title": "Failed to delete group \"{{name}}\"", // TODO New key - Add a translation - "admin.access-control.groups.notification.deleted.failure": "Failed to delete group \"{{name}}\"", + "admin.access-control.groups.notification.deleted.failure.title": "Failed to delete group \"{{name}}\"", + // "admin.access-control.groups.notification.deleted.failure.content": "Cause: \"{{cause}}\"", + // TODO New key - Add a translation + "admin.access-control.groups.notification.deleted.failure.content": "Cause: \"{{cause}}\"", + + + + // "admin.access-control.groups.form.alert.permanent": "This group is permanent, so it can't be edited or deleted. You can still add and remove group members using this page.", + // TODO New key - Add a translation + "admin.access-control.groups.form.alert.permanent": "This group is permanent, so it can't be edited or deleted. You can still add and remove group members using this page.", + + // "admin.access-control.groups.form.alert.workflowGroup": "This group can’t be modified or deleted because it corresponds to a role in the submission and workflow process in the \"{{name}}\" {{comcol}}. You can delete it from the \"assign roles\" tab on the edit {{comcol}} page. You can still add and remove group members using this page.", + // TODO New key - Add a translation + "admin.access-control.groups.form.alert.workflowGroup": "This group can’t be modified or deleted because it corresponds to a role in the submission and workflow process in the \"{{name}}\" {{comcol}}. You can delete it from the \"assign roles\" tab on the edit {{comcol}} page. You can still add and remove group members using this page.", // "admin.access-control.groups.form.head.create": "Create group", // TODO New key - Add a translation @@ -571,6 +670,50 @@ // TODO New key - Add a translation "admin.access-control.groups.form.notification.created.failure.groupNameInUse": "Failed to create Group with name: \"{{name}}\", make sure the name is not already in use.", + // "admin.access-control.groups.form.notification.edited.failure": "Failed to edit Group \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.edited.failure": "Failed to edit Group \"{{name}}\"", + + // "admin.access-control.groups.form.notification.edited.failure.groupNameInUse": "Name \"{{name}}\" already in use!", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.edited.failure.groupNameInUse": "Name \"{{name}}\" already in use!", + + // "admin.access-control.groups.form.notification.edited.success": "Successfully edited Group \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.edited.success": "Successfully edited Group \"{{name}}\"", + + // "admin.access-control.groups.form.actions.delete": "Delete Group", + // TODO New key - Add a translation + "admin.access-control.groups.form.actions.delete": "Delete Group", + + // "admin.access-control.groups.form.delete-group.modal.header": "Delete Group \"{{ dsoName }}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.delete-group.modal.header": "Delete Group \"{{ dsoName }}\"", + + // "admin.access-control.groups.form.delete-group.modal.info": "Are you sure you want to delete Group \"{{ dsoName }}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.delete-group.modal.info": "Are you sure you want to delete Group \"{{ dsoName }}\"", + + // "admin.access-control.groups.form.delete-group.modal.cancel": "Cancel", + // TODO New key - Add a translation + "admin.access-control.groups.form.delete-group.modal.cancel": "Cancel", + + // "admin.access-control.groups.form.delete-group.modal.confirm": "Delete", + // TODO New key - Add a translation + "admin.access-control.groups.form.delete-group.modal.confirm": "Delete", + + // "admin.access-control.groups.form.notification.deleted.success": "Successfully deleted group \"{{ name }}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.deleted.success": "Successfully deleted group \"{{ name }}\"", + + // "admin.access-control.groups.form.notification.deleted.failure.title": "Failed to delete group \"{{ name }}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.deleted.failure.title": "Failed to delete group \"{{ name }}\"", + + // "admin.access-control.groups.form.notification.deleted.failure.content": "Cause: \"{{ cause }}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.deleted.failure.content": "Cause: \"{{ cause }}\"", + // "admin.access-control.groups.form.members-list.head": "EPeople", // TODO New key - Add a translation "admin.access-control.groups.form.members-list.head": "EPeople", @@ -647,6 +790,10 @@ // TODO New key - Add a translation "admin.access-control.groups.form.members-list.no-items": "No EPeople found in that search", + // "admin.access-control.groups.form.subgroups-list.notification.failure": "Something went wrong: \"{{cause}}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.subgroups-list.notification.failure": "Something went wrong: \"{{cause}}\"", + // "admin.access-control.groups.form.subgroups-list.head": "Groups", // TODO New key - Add a translation "admin.access-control.groups.form.subgroups-list.head": "Groups", @@ -761,10 +908,6 @@ // TODO New key - Add a translation "admin.search.item.move": "Move", - // "admin.search.item.private": "Private", - // TODO New key - Add a translation - "admin.search.item.private": "Private", - // "admin.search.item.reinstate": "Reinstate", // TODO New key - Add a translation "admin.search.item.reinstate": "Reinstate", @@ -773,14 +916,76 @@ // TODO New key - Add a translation "admin.search.item.withdraw": "Withdraw", - // "admin.search.item.withdrawn": "Withdrawn", - // TODO New key - Add a translation - "admin.search.item.withdrawn": "Withdrawn", - // "admin.search.title": "Administrative Search", // TODO New key - Add a translation "admin.search.title": "Administrative Search", + // "administrativeView.search.results.head": "Administrative Search", + // TODO New key - Add a translation + "administrativeView.search.results.head": "Administrative Search", + + + + + // "admin.workflow.breadcrumbs": "Administer Workflow", + // TODO New key - Add a translation + "admin.workflow.breadcrumbs": "Administer Workflow", + + // "admin.workflow.title": "Administer Workflow", + // TODO New key - Add a translation + "admin.workflow.title": "Administer Workflow", + + // "admin.workflow.item.workflow": "Workflow", + // TODO New key - Add a translation + "admin.workflow.item.workflow": "Workflow", + + // "admin.workflow.item.delete": "Delete", + // TODO New key - Add a translation + "admin.workflow.item.delete": "Delete", + + // "admin.workflow.item.send-back": "Send back", + // TODO New key - Add a translation + "admin.workflow.item.send-back": "Send back", + + + + // "admin.metadata-import.breadcrumbs": "Import Metadata", + // TODO New key - Add a translation + "admin.metadata-import.breadcrumbs": "Import Metadata", + + // "admin.metadata-import.title": "Import Metadata", + // TODO New key - Add a translation + "admin.metadata-import.title": "Import Metadata", + + // "admin.metadata-import.page.header": "Import Metadata", + // TODO New key - Add a translation + "admin.metadata-import.page.header": "Import Metadata", + + // "admin.metadata-import.page.help": "You can drop or browse CSV files that contain batch metadata operations on files here", + // TODO New key - Add a translation + "admin.metadata-import.page.help": "You can drop or browse CSV files that contain batch metadata operations on files here", + + // "admin.metadata-import.page.dropMsg": "Drop a metadata CSV to import", + // TODO New key - Add a translation + "admin.metadata-import.page.dropMsg": "Drop a metadata CSV to import", + + // "admin.metadata-import.page.dropMsgReplace": "Drop to replace the metadata CSV to import", + // TODO New key - Add a translation + "admin.metadata-import.page.dropMsgReplace": "Drop to replace the metadata CSV to import", + + // "admin.metadata-import.page.button.return": "Return", + // TODO New key - Add a translation + "admin.metadata-import.page.button.return": "Return", + + // "admin.metadata-import.page.button.proceed": "Proceed", + // TODO New key - Add a translation + "admin.metadata-import.page.button.proceed": "Proceed", + + // "admin.metadata-import.page.error.addFile": "Select file first!", + // TODO New key - Add a translation + "admin.metadata-import.page.error.addFile": "Select file first!", + + // "auth.errors.invalid-user": "Invalid email address or password.", @@ -1018,6 +1223,10 @@ // TODO New key - Add a translation "collection.create.sub-head": "Create a Collection for Community {{ parent }}", + // "collection.curate.header": "Curate Collection: {{collection}}", + // TODO New key - Add a translation + "collection.curate.header": "Curate Collection: {{collection}}", + // "collection.delete.cancel": "Cancel", // TODO New key - Add a translation "collection.delete.cancel": "Cancel", @@ -1058,6 +1267,14 @@ + // "collection.edit.tabs.mapper.head": "Item Mapper", + // TODO New key - Add a translation + "collection.edit.tabs.mapper.head": "Item Mapper", + + // "collection.edit.tabs.item-mapper.title": "Collection Edit - Item Mapper", + // TODO New key - Add a translation + "collection.edit.tabs.item-mapper.title": "Collection Edit - Item Mapper", + // "collection.edit.item-mapper.cancel": "Cancel", // TODO New key - Add a translation "collection.edit.item-mapper.cancel": "Cancel", @@ -1176,6 +1393,14 @@ // TODO New key - Add a translation "collection.edit.tabs.curate.title": "Collection Edit - Curate", + // "collection.edit.tabs.authorizations.head": "Authorizations", + // TODO New key - Add a translation + "collection.edit.tabs.authorizations.head": "Authorizations", + + // "collection.edit.tabs.authorizations.title": "Collection Edit - Authorizations", + // TODO New key - Add a translation + "collection.edit.tabs.authorizations.title": "Collection Edit - Authorizations", + // "collection.edit.tabs.metadata.head": "Edit Metadata", // TODO New key - Add a translation "collection.edit.tabs.metadata.head": "Edit Metadata", @@ -1266,6 +1491,48 @@ + // "collection.edit.template.add-button": "Add", + // TODO New key - Add a translation + "collection.edit.template.add-button": "Add", + + // "collection.edit.template.breadcrumbs": "Item template", + // TODO New key - Add a translation + "collection.edit.template.breadcrumbs": "Item template", + + // "collection.edit.template.cancel": "Cancel", + // TODO New key - Add a translation + "collection.edit.template.cancel": "Cancel", + + // "collection.edit.template.delete-button": "Delete", + // TODO New key - Add a translation + "collection.edit.template.delete-button": "Delete", + + // "collection.edit.template.edit-button": "Edit", + // TODO New key - Add a translation + "collection.edit.template.edit-button": "Edit", + + // "collection.edit.template.head": "Edit Template Item for Collection \"{{ collection }}\"", + // TODO New key - Add a translation + "collection.edit.template.head": "Edit Template Item for Collection \"{{ collection }}\"", + + // "collection.edit.template.label": "Template item", + // TODO New key - Add a translation + "collection.edit.template.label": "Template item", + + // "collection.edit.template.notifications.delete.error": "Failed to delete the item template", + // TODO New key - Add a translation + "collection.edit.template.notifications.delete.error": "Failed to delete the item template", + + // "collection.edit.template.notifications.delete.success": "Successfully deleted the item template", + // TODO New key - Add a translation + "collection.edit.template.notifications.delete.success": "Successfully deleted the item template", + + // "collection.edit.template.title": "Edit Template Item", + // TODO New key - Add a translation + "collection.edit.template.title": "Edit Template Item", + + + // "collection.form.abstract": "Short Description", // TODO New key - Add a translation "collection.form.abstract": "Short Description", @@ -1300,6 +1567,12 @@ + // "collection.listelement.badge": "Collection", + // TODO New key - Add a translation + "collection.listelement.badge": "Collection", + + + // "collection.page.browse.recent.head": "Recent Submissions", // TODO New key - Add a translation "collection.page.browse.recent.head": "Recent Submissions", @@ -1308,6 +1581,10 @@ // TODO New key - Add a translation "collection.page.browse.recent.empty": "No items to show", + // "collection.page.edit": "Edit this collection", + // TODO New key - Add a translation + "collection.page.edit": "Edit this collection", + // "collection.page.handle": "Permanent URI for this collection", // TODO New key - Add a translation "collection.page.handle": "Permanent URI for this collection", @@ -1372,6 +1649,10 @@ // TODO New key - Add a translation "community.create.sub-head": "Create a Sub-Community for Community {{ parent }}", + // "community.curate.header": "Curate Community: {{community}}", + // TODO New key - Add a translation + "community.curate.header": "Curate Community: {{community}}", + // "community.delete.cancel": "Cancel", // TODO New key - Add a translation "community.delete.cancel": "Cancel", @@ -1443,6 +1724,14 @@ // TODO New key - Add a translation "community.edit.notifications.success": "Successfully edited the Community", + // "community.edit.notifications.unauthorized": "You do not have privileges to make this change", + // TODO New key - Add a translation + "community.edit.notifications.unauthorized": "You do not have privileges to make this change", + + // "community.edit.notifications.error": "An error occured while editing the Community", + // TODO New key - Add a translation + "community.edit.notifications.error": "An error occured while editing the Community", + // "community.edit.return": "Return", // TODO New key - Add a translation "community.edit.return": "Return", @@ -1473,6 +1762,118 @@ // TODO New key - Add a translation "community.edit.tabs.roles.title": "Community Edit - Roles", + // "community.edit.tabs.authorizations.head": "Authorizations", + // TODO New key - Add a translation + "community.edit.tabs.authorizations.head": "Authorizations", + + // "community.edit.tabs.authorizations.title": "Community Edit - Authorizations", + // TODO New key - Add a translation + "community.edit.tabs.authorizations.title": "Community Edit - Authorizations", + + + + // "community.listelement.badge": "Community", + // TODO New key - Add a translation + "community.listelement.badge": "Community", + + + + // "comcol-role.edit.no-group": "None", + // TODO New key - Add a translation + "comcol-role.edit.no-group": "None", + + // "comcol-role.edit.create": "Create", + // TODO New key - Add a translation + "comcol-role.edit.create": "Create", + + // "comcol-role.edit.restrict": "Restrict", + // TODO New key - Add a translation + "comcol-role.edit.restrict": "Restrict", + + // "comcol-role.edit.delete": "Delete", + // TODO New key - Add a translation + "comcol-role.edit.delete": "Delete", + + + // "comcol-role.edit.community-admin.name": "Administrators", + // TODO New key - Add a translation + "comcol-role.edit.community-admin.name": "Administrators", + + // "comcol-role.edit.collection-admin.name": "Administrators", + // TODO New key - Add a translation + "comcol-role.edit.collection-admin.name": "Administrators", + + + // "comcol-role.edit.community-admin.description": "Community administrators can create sub-communities or collections, and manage or assign management for those sub-communities or collections. In addition, they decide who can submit items to any sub-collections, edit item metadata (after submission), and add (map) existing items from other collections (subject to authorization).", + // TODO New key - Add a translation + "comcol-role.edit.community-admin.description": "Community administrators can create sub-communities or collections, and manage or assign management for those sub-communities or collections. In addition, they decide who can submit items to any sub-collections, edit item metadata (after submission), and add (map) existing items from other collections (subject to authorization).", + + // "comcol-role.edit.collection-admin.description": "Collection administrators decide who can submit items to the collection, edit item metadata (after submission), and add (map) existing items from other collections to this collection (subject to authorization for that collection).", + // TODO New key - Add a translation + "comcol-role.edit.collection-admin.description": "Collection administrators decide who can submit items to the collection, edit item metadata (after submission), and add (map) existing items from other collections to this collection (subject to authorization for that collection).", + + + // "comcol-role.edit.submitters.name": "Submitters", + // TODO New key - Add a translation + "comcol-role.edit.submitters.name": "Submitters", + + // "comcol-role.edit.submitters.description": "The E-People and Groups that have permission to submit new items to this collection.", + // TODO New key - Add a translation + "comcol-role.edit.submitters.description": "The E-People and Groups that have permission to submit new items to this collection.", + + + // "comcol-role.edit.item_read.name": "Default item read access", + // TODO New key - Add a translation + "comcol-role.edit.item_read.name": "Default item read access", + + // "comcol-role.edit.item_read.description": "E-People and Groups that can read new items submitted to this collection. Changes to this role are not retroactive. Existing items in the system will still be viewable by those who had read access at the time of their addition.", + // TODO New key - Add a translation + "comcol-role.edit.item_read.description": "E-People and Groups that can read new items submitted to this collection. Changes to this role are not retroactive. Existing items in the system will still be viewable by those who had read access at the time of their addition.", + + // "comcol-role.edit.item_read.anonymous-group": "Default read for incoming items is currently set to Anonymous.", + // TODO New key - Add a translation + "comcol-role.edit.item_read.anonymous-group": "Default read for incoming items is currently set to Anonymous.", + + + // "comcol-role.edit.bitstream_read.name": "Default bitstream read access", + // TODO New key - Add a translation + "comcol-role.edit.bitstream_read.name": "Default bitstream read access", + + // "comcol-role.edit.bitstream_read.description": "Community administrators can create sub-communities or collections, and manage or assign management for those sub-communities or collections. In addition, they decide who can submit items to any sub-collections, edit item metadata (after submission), and add (map) existing items from other collections (subject to authorization).", + // TODO New key - Add a translation + "comcol-role.edit.bitstream_read.description": "Community administrators can create sub-communities or collections, and manage or assign management for those sub-communities or collections. In addition, they decide who can submit items to any sub-collections, edit item metadata (after submission), and add (map) existing items from other collections (subject to authorization).", + + // "comcol-role.edit.bitstream_read.anonymous-group": "Default read for incoming bitstreams is currently set to Anonymous.", + // TODO New key - Add a translation + "comcol-role.edit.bitstream_read.anonymous-group": "Default read for incoming bitstreams is currently set to Anonymous.", + + + // "comcol-role.edit.editor.name": "Editors", + // TODO New key - Add a translation + "comcol-role.edit.editor.name": "Editors", + + // "comcol-role.edit.editor.description": "Editors are able to edit the metadata of incoming submissions, and then accept or reject them.", + // TODO New key - Add a translation + "comcol-role.edit.editor.description": "Editors are able to edit the metadata of incoming submissions, and then accept or reject them.", + + + // "comcol-role.edit.finaleditor.name": "Final editors", + // TODO New key - Add a translation + "comcol-role.edit.finaleditor.name": "Final editors", + + // "comcol-role.edit.finaleditor.description": "Final editors are able to edit the metadata of incoming submissions, but will not be able to reject them.", + // TODO New key - Add a translation + "comcol-role.edit.finaleditor.description": "Final editors are able to edit the metadata of incoming submissions, but will not be able to reject them.", + + + // "comcol-role.edit.reviewer.name": "Reviewers", + // TODO New key - Add a translation + "comcol-role.edit.reviewer.name": "Reviewers", + + // "comcol-role.edit.reviewer.description": "Reviewers are able to accept or reject incoming submissions. However, they are not able to edit the submission's metadata.", + // TODO New key - Add a translation + "comcol-role.edit.reviewer.description": "Reviewers are able to accept or reject incoming submissions. However, they are not able to edit the submission's metadata.", + // "community.form.abstract": "Short Description", @@ -1499,6 +1900,10 @@ // TODO New key - Add a translation "community.form.title": "Name", + // "community.page.edit": "Edit this community", + // TODO New key - Add a translation + "community.page.edit": "Edit this community", + // "community.page.handle": "Permanent URI for this community", // TODO New key - Add a translation "community.page.handle": "Permanent URI for this community", @@ -1525,10 +1930,188 @@ + // "cookies.consent.accept-all": "Accept all", + // TODO New key - Add a translation + "cookies.consent.accept-all": "Accept all", + + // "cookies.consent.accept-selected": "Accept selected", + // TODO New key - Add a translation + "cookies.consent.accept-selected": "Accept selected", + + // "cookies.consent.app.opt-out.description": "This app is loaded by default (but you can opt out)", + // TODO New key - Add a translation + "cookies.consent.app.opt-out.description": "This app is loaded by default (but you can opt out)", + + // "cookies.consent.app.opt-out.title": "(opt-out)", + // TODO New key - Add a translation + "cookies.consent.app.opt-out.title": "(opt-out)", + + // "cookies.consent.app.purpose": "purpose", + // TODO New key - Add a translation + "cookies.consent.app.purpose": "purpose", + + // "cookies.consent.app.required.description": "This application is always required", + // TODO New key - Add a translation + "cookies.consent.app.required.description": "This application is always required", + + // "cookies.consent.app.required.title": "(always required)", + // TODO New key - Add a translation + "cookies.consent.app.required.title": "(always required)", + + // "cookies.consent.update": "There were changes since your last visit, please update your consent.", + // TODO New key - Add a translation + "cookies.consent.update": "There were changes since your last visit, please update your consent.", + + // "cookies.consent.close": "Close", + // TODO New key - Add a translation + "cookies.consent.close": "Close", + + // "cookies.consent.decline": "Decline", + // TODO New key - Add a translation + "cookies.consent.decline": "Decline", + + // "cookies.consent.content-notice.description": "We collect and process your personal information for the following purposes: Authentication, Preferences, Acknowledgement and Statistics.
To learn more, please read our {privacyPolicy}.", + // TODO New key - Add a translation + "cookies.consent.content-notice.description": "We collect and process your personal information for the following purposes: Authentication, Preferences, Acknowledgement and Statistics.
To learn more, please read our {privacyPolicy}.", + + // "cookies.consent.content-notice.learnMore": "Customize", + // TODO New key - Add a translation + "cookies.consent.content-notice.learnMore": "Customize", + + // "cookies.consent.content-modal.description": "Here you can see and customize the information that we collect about you.", + // TODO New key - Add a translation + "cookies.consent.content-modal.description": "Here you can see and customize the information that we collect about you.", + + // "cookies.consent.content-modal.privacy-policy.name": "privacy policy", + // TODO New key - Add a translation + "cookies.consent.content-modal.privacy-policy.name": "privacy policy", + + // "cookies.consent.content-modal.privacy-policy.text": "To learn more, please read our {privacyPolicy}.", + // TODO New key - Add a translation + "cookies.consent.content-modal.privacy-policy.text": "To learn more, please read our {privacyPolicy}.", + + // "cookies.consent.content-modal.title": "Information that we collect", + // TODO New key - Add a translation + "cookies.consent.content-modal.title": "Information that we collect", + + + + // "cookies.consent.app.title.authentication": "Authentication", + // TODO New key - Add a translation + "cookies.consent.app.title.authentication": "Authentication", + + // "cookies.consent.app.description.authentication": "Required for signing you in", + // TODO New key - Add a translation + "cookies.consent.app.description.authentication": "Required for signing you in", + + + // "cookies.consent.app.title.preferences": "Preferences", + // TODO New key - Add a translation + "cookies.consent.app.title.preferences": "Preferences", + + // "cookies.consent.app.description.preferences": "Required for saving your preferences", + // TODO New key - Add a translation + "cookies.consent.app.description.preferences": "Required for saving your preferences", + + + + // "cookies.consent.app.title.acknowledgement": "Acknowledgement", + // TODO New key - Add a translation + "cookies.consent.app.title.acknowledgement": "Acknowledgement", + + // "cookies.consent.app.description.acknowledgement": "Required for saving your acknowledgements and consents", + // TODO New key - Add a translation + "cookies.consent.app.description.acknowledgement": "Required for saving your acknowledgements and consents", + + + + // "cookies.consent.app.title.google-analytics": "Google Analytics", + // TODO New key - Add a translation + "cookies.consent.app.title.google-analytics": "Google Analytics", + + // "cookies.consent.app.description.google-analytics": "Allows us to track statistical data", + // TODO New key - Add a translation + "cookies.consent.app.description.google-analytics": "Allows us to track statistical data", + + + + // "cookies.consent.purpose.functional": "Functional", + // TODO New key - Add a translation + "cookies.consent.purpose.functional": "Functional", + + // "cookies.consent.purpose.statistical": "Statistical", + // TODO New key - Add a translation + "cookies.consent.purpose.statistical": "Statistical", + + + // "curation-task.task.checklinks.label": "Check Links in Metadata", + // TODO New key - Add a translation + "curation-task.task.checklinks.label": "Check Links in Metadata", + + // "curation-task.task.noop.label": "NOOP", + // TODO New key - Add a translation + "curation-task.task.noop.label": "NOOP", + + // "curation-task.task.profileformats.label": "Profile Bitstream Formats", + // TODO New key - Add a translation + "curation-task.task.profileformats.label": "Profile Bitstream Formats", + + // "curation-task.task.requiredmetadata.label": "Check for Required Metadata", + // TODO New key - Add a translation + "curation-task.task.requiredmetadata.label": "Check for Required Metadata", + + // "curation-task.task.translate.label": "Microsoft Translator", + // TODO New key - Add a translation + "curation-task.task.translate.label": "Microsoft Translator", + + // "curation-task.task.vscan.label": "Virus Scan", + // TODO New key - Add a translation + "curation-task.task.vscan.label": "Virus Scan", + + + + // "curation.form.task-select.label": "Task:", + // TODO New key - Add a translation + "curation.form.task-select.label": "Task:", + + // "curation.form.submit": "Start", + // TODO New key - Add a translation + "curation.form.submit": "Start", + + // "curation.form.submit.success.head": "The curation task has been started successfully", + // TODO New key - Add a translation + "curation.form.submit.success.head": "The curation task has been started successfully", + + // "curation.form.submit.success.content": "You will be redirected to the corresponding process page.", + // TODO New key - Add a translation + "curation.form.submit.success.content": "You will be redirected to the corresponding process page.", + + // "curation.form.submit.error.head": "Running the curation task failed", + // TODO New key - Add a translation + "curation.form.submit.error.head": "Running the curation task failed", + + // "curation.form.submit.error.content": "An error occured when trying to start the curation task.", + // TODO New key - Add a translation + "curation.form.submit.error.content": "An error occured when trying to start the curation task.", + + // "curation.form.handle.label": "Handle:", + // TODO New key - Add a translation + "curation.form.handle.label": "Handle:", + + // "curation.form.handle.hint": "Hint: Enter [your-handle-prefix]/0 to run a task across entire site (not all tasks may support this capability)", + // TODO New key - Add a translation + "curation.form.handle.hint": "Hint: Enter [your-handle-prefix]/0 to run a task across entire site (not all tasks may support this capability)", + + + // "dso-selector.create.collection.head": "New collection", // TODO New key - Add a translation "dso-selector.create.collection.head": "New collection", + // "dso-selector.create.collection.sub-level": "Create a new collection in", + // TODO New key - Add a translation + "dso-selector.create.collection.sub-level": "Create a new collection in", + // "dso-selector.create.community.head": "New community", // TODO New key - Add a translation "dso-selector.create.community.head": "New community", @@ -1545,6 +2128,14 @@ // TODO New key - Add a translation "dso-selector.create.item.head": "New item", + // "dso-selector.create.item.sub-level": "Create a new item in", + // TODO New key - Add a translation + "dso-selector.create.item.sub-level": "Create a new item in", + + // "dso-selector.create.submission.head": "New submission", + // TODO New key - Add a translation + "dso-selector.create.submission.head": "New submission", + // "dso-selector.edit.collection.head": "Edit collection", // TODO New key - Add a translation "dso-selector.edit.collection.head": "Edit collection", @@ -1557,6 +2148,10 @@ // TODO New key - Add a translation "dso-selector.edit.item.head": "Edit item", + // "dso-selector.export-metadata.dspaceobject.head": "Export metadata from", + // TODO New key - Add a translation + "dso-selector.export-metadata.dspaceobject.head": "Export metadata from", + // "dso-selector.no-results": "No {{ type }} found", // TODO New key - Add a translation "dso-selector.no-results": "No {{ type }} found", @@ -1567,6 +2162,39 @@ + // "confirmation-modal.export-metadata.header": "Export metadata for {{ dsoName }}", + // TODO New key - Add a translation + "confirmation-modal.export-metadata.header": "Export metadata for {{ dsoName }}", + + // "confirmation-modal.export-metadata.info": "Are you sure you want to export metadata for {{ dsoName }}", + // TODO New key - Add a translation + "confirmation-modal.export-metadata.info": "Are you sure you want to export metadata for {{ dsoName }}", + + // "confirmation-modal.export-metadata.cancel": "Cancel", + // TODO New key - Add a translation + "confirmation-modal.export-metadata.cancel": "Cancel", + + // "confirmation-modal.export-metadata.confirm": "Export", + // TODO New key - Add a translation + "confirmation-modal.export-metadata.confirm": "Export", + + // "confirmation-modal.delete-eperson.header": "Delete EPerson \"{{ dsoName }}\"", + // TODO New key - Add a translation + "confirmation-modal.delete-eperson.header": "Delete EPerson \"{{ dsoName }}\"", + + // "confirmation-modal.delete-eperson.info": "Are you sure you want to delete EPerson \"{{ dsoName }}\"", + // TODO New key - Add a translation + "confirmation-modal.delete-eperson.info": "Are you sure you want to delete EPerson \"{{ dsoName }}\"", + + // "confirmation-modal.delete-eperson.cancel": "Cancel", + // TODO New key - Add a translation + "confirmation-modal.delete-eperson.cancel": "Cancel", + + // "confirmation-modal.delete-eperson.confirm": "Delete", + // TODO New key - Add a translation + "confirmation-modal.delete-eperson.confirm": "Delete", + + // "error.bitstream": "Error fetching bitstream", // TODO New key - Add a translation "error.bitstream": "Error fetching bitstream", @@ -1645,6 +2273,12 @@ + // "file-section.error.header": "Error obtaining files for this item", + // TODO New key - Add a translation + "file-section.error.header": "Error obtaining files for this item", + + + // "footer.copyright": "copyright © 2002-{{ year }}", // TODO New key - Add a translation "footer.copyright": "copyright © 2002-{{ year }}", @@ -1657,6 +2291,127 @@ // TODO New key - Add a translation "footer.link.duraspace": "DuraSpace", + // "footer.link.cookies": "Cookie settings", + // TODO New key - Add a translation + "footer.link.cookies": "Cookie settings", + + // "footer.link.privacy-policy": "Privacy policy", + // TODO New key - Add a translation + "footer.link.privacy-policy": "Privacy policy", + + // "footer.link.end-user-agreement":"End User Agreement", + // TODO New key - Add a translation + "footer.link.end-user-agreement":"End User Agreement", + + + + // "forgot-email.form.header": "Forgot Password", + // TODO New key - Add a translation + "forgot-email.form.header": "Forgot Password", + + // "forgot-email.form.info": "Enter Register an account to subscribe to collections for email updates, and submit new items to DSpace.", + // TODO New key - Add a translation + "forgot-email.form.info": "Enter Register an account to subscribe to collections for email updates, and submit new items to DSpace.", + + // "forgot-email.form.email": "Email Address *", + // TODO New key - Add a translation + "forgot-email.form.email": "Email Address *", + + // "forgot-email.form.email.error.required": "Please fill in an email address", + // TODO New key - Add a translation + "forgot-email.form.email.error.required": "Please fill in an email address", + + // "forgot-email.form.email.error.pattern": "Please fill in a valid email address", + // TODO New key - Add a translation + "forgot-email.form.email.error.pattern": "Please fill in a valid email address", + + // "forgot-email.form.email.hint": "This address will be verified and used as your login name.", + // TODO New key - Add a translation + "forgot-email.form.email.hint": "This address will be verified and used as your login name.", + + // "forgot-email.form.submit": "Submit", + // TODO New key - Add a translation + "forgot-email.form.submit": "Submit", + + // "forgot-email.form.success.head": "Verification email sent", + // TODO New key - Add a translation + "forgot-email.form.success.head": "Verification email sent", + + // "forgot-email.form.success.content": "An email has been sent to {{ email }} containing a special URL and further instructions.", + // TODO New key - Add a translation + "forgot-email.form.success.content": "An email has been sent to {{ email }} containing a special URL and further instructions.", + + // "forgot-email.form.error.head": "Error when trying to register email", + // TODO New key - Add a translation + "forgot-email.form.error.head": "Error when trying to register email", + + // "forgot-email.form.error.content": "An error occured when registering the following email address: {{ email }}", + // TODO New key - Add a translation + "forgot-email.form.error.content": "An error occured when registering the following email address: {{ email }}", + + + + // "forgot-password.title": "Forgot Password", + // TODO New key - Add a translation + "forgot-password.title": "Forgot Password", + + // "forgot-password.form.head": "Forgot Password", + // TODO New key - Add a translation + "forgot-password.form.head": "Forgot Password", + + // "forgot-password.form.info": "Enter a new password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", + // TODO New key - Add a translation + "forgot-password.form.info": "Enter a new password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", + + // "forgot-password.form.card.security": "Security", + // TODO New key - Add a translation + "forgot-password.form.card.security": "Security", + + // "forgot-password.form.identification.header": "Identify", + // TODO New key - Add a translation + "forgot-password.form.identification.header": "Identify", + + // "forgot-password.form.identification.email": "Email address: ", + // TODO New key - Add a translation + "forgot-password.form.identification.email": "Email address: ", + + // "forgot-password.form.label.password": "Password", + // TODO New key - Add a translation + "forgot-password.form.label.password": "Password", + + // "forgot-password.form.label.passwordrepeat": "Retype to confirm", + // TODO New key - Add a translation + "forgot-password.form.label.passwordrepeat": "Retype to confirm", + + // "forgot-password.form.error.empty-password": "Please enter a password in the box below.", + // TODO New key - Add a translation + "forgot-password.form.error.empty-password": "Please enter a password in the box below.", + + // "forgot-password.form.error.matching-passwords": "The passwords do not match.", + // TODO New key - Add a translation + "forgot-password.form.error.matching-passwords": "The passwords do not match.", + + // "forgot-password.form.error.password-length": "The password should be at least 6 characters long.", + // TODO New key - Add a translation + "forgot-password.form.error.password-length": "The password should be at least 6 characters long.", + + // "forgot-password.form.notification.error.title": "Error when trying to submit new password", + // TODO New key - Add a translation + "forgot-password.form.notification.error.title": "Error when trying to submit new password", + + // "forgot-password.form.notification.success.content": "The password reset was successful. You have been logged in as the created user.", + // TODO New key - Add a translation + "forgot-password.form.notification.success.content": "The password reset was successful. You have been logged in as the created user.", + + // "forgot-password.form.notification.success.title": "Password reset completed", + // TODO New key - Add a translation + "forgot-password.form.notification.success.title": "Password reset completed", + + // "forgot-password.form.submit": "Submit password", + // TODO New key - Add a translation + "forgot-password.form.submit": "Submit password", + + // "form.add": "Add", // TODO New key - Add a translation @@ -1750,9 +2505,9 @@ // TODO New key - Add a translation "form.search": "Search", - // "form.search-help": "Click here to looking for an existing correspondence", + // "form.search-help": "Click here to look for an existing correspondence", // TODO New key - Add a translation - "form.search-help": "Click here to looking for an existing correspondence", + "form.search-help": "Click here to look for an existing correspondence", // "form.submit": "Submit", // TODO New key - Add a translation @@ -1764,6 +2519,10 @@ // TODO New key - Add a translation "home.description": "", + // "home.breadcrumbs": "Home", + // TODO New key - Add a translation + "home.breadcrumbs": "Home", + // "home.title": "DSpace Angular :: Home", // TODO New key - Add a translation "home.title": "DSpace Angular :: Home", @@ -1778,6 +2537,81 @@ + // "info.end-user-agreement.accept": "I have read and I agree to the End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.accept": "I have read and I agree to the End User Agreement", + + // "info.end-user-agreement.accept.error": "An error occurred accepting the End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.accept.error": "An error occurred accepting the End User Agreement", + + // "info.end-user-agreement.accept.success": "Successfully updated the End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.accept.success": "Successfully updated the End User Agreement", + + // "info.end-user-agreement.breadcrumbs": "End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.breadcrumbs": "End User Agreement", + + // "info.end-user-agreement.buttons.cancel": "Cancel", + // TODO New key - Add a translation + "info.end-user-agreement.buttons.cancel": "Cancel", + + // "info.end-user-agreement.buttons.save": "Save", + // TODO New key - Add a translation + "info.end-user-agreement.buttons.save": "Save", + + // "info.end-user-agreement.head": "End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.head": "End User Agreement", + + // "info.end-user-agreement.title": "End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.title": "End User Agreement", + + // "info.privacy.breadcrumbs": "Privacy Statement", + // TODO New key - Add a translation + "info.privacy.breadcrumbs": "Privacy Statement", + + // "info.privacy.head": "Privacy Statement", + // TODO New key - Add a translation + "info.privacy.head": "Privacy Statement", + + // "info.privacy.title": "Privacy Statement", + // TODO New key - Add a translation + "info.privacy.title": "Privacy Statement", + + + + // "item.alerts.private": "This item is private", + // TODO New key - Add a translation + "item.alerts.private": "This item is private", + + // "item.alerts.withdrawn": "This item has been withdrawn", + // TODO New key - Add a translation + "item.alerts.withdrawn": "This item has been withdrawn", + + + + // "item.edit.authorizations.heading": "With this editor you can view and alter the policies of an item, plus alter policies of individual item components: bundles and bitstreams. Briefly, an item is a container of bundles, and bundles are containers of bitstreams. Containers usually have ADD/REMOVE/READ/WRITE policies, while bitstreams only have READ/WRITE policies.", + // TODO New key - Add a translation + "item.edit.authorizations.heading": "With this editor you can view and alter the policies of an item, plus alter policies of individual item components: bundles and bitstreams. Briefly, an item is a container of bundles, and bundles are containers of bitstreams. Containers usually have ADD/REMOVE/READ/WRITE policies, while bitstreams only have READ/WRITE policies.", + + // "item.edit.authorizations.title": "Edit item's Policies", + // TODO New key - Add a translation + "item.edit.authorizations.title": "Edit item's Policies", + + + + // "item.badge.private": "Private", + // TODO New key - Add a translation + "item.badge.private": "Private", + + // "item.badge.withdrawn": "Withdrawn", + // TODO New key - Add a translation + "item.badge.withdrawn": "Withdrawn", + + // "item.bitstreams.upload.bundle": "Bundle", // TODO New key - Add a translation @@ -1980,6 +2814,13 @@ "item.edit.breadcrumbs": "Edit Item", + // "item.edit.tabs.mapper.head": "Collection Mapper", + // TODO New key - Add a translation + "item.edit.tabs.mapper.head": "Collection Mapper", + + // "item.edit.tabs.item-mapper.title": "Item Edit - Collection Mapper", + // TODO New key - Add a translation + "item.edit.tabs.item-mapper.title": "Item Edit - Collection Mapper", // "item.edit.item-mapper.buttons.add": "Map item to selected collections", // TODO New key - Add a translation @@ -2075,6 +2916,10 @@ // TODO New key - Add a translation "item.edit.metadata.edit.buttons.unedit": "Stop editing", + // "item.edit.metadata.empty": "The item currently doesn't contain any metadata. Click Add to start adding a metadata value.", + // TODO New key - Add a translation + "item.edit.metadata.empty": "The item currently doesn't contain any metadata. Click Add to start adding a metadata value.", + // "item.edit.metadata.headers.edit": "Edit", // TODO New key - Add a translation "item.edit.metadata.headers.edit": "Edit", @@ -2103,6 +2948,10 @@ // TODO New key - Add a translation "item.edit.metadata.notifications.discarded.title": "Changed discarded", + // "item.edit.metadata.notifications.error.title": "An error occurred", + // TODO New key - Add a translation + "item.edit.metadata.notifications.error.title": "An error occurred", + // "item.edit.metadata.notifications.invalid.content": "Your changes were not saved. Please make sure all fields are valid before you save.", // TODO New key - Add a translation "item.edit.metadata.notifications.invalid.content": "Your changes were not saved. Please make sure all fields are valid before you save.", @@ -2279,6 +3128,10 @@ // TODO New key - Add a translation "item.edit.relationships.discard-button": "Discard", + // "item.edit.relationships.edit.buttons.add": "Add", + // TODO New key - Add a translation + "item.edit.relationships.edit.buttons.add": "Add", + // "item.edit.relationships.edit.buttons.remove": "Remove", // TODO New key - Add a translation "item.edit.relationships.edit.buttons.remove": "Remove", @@ -2287,6 +3140,10 @@ // TODO New key - Add a translation "item.edit.relationships.edit.buttons.undo": "Undo changes", + // "item.edit.relationships.no-relationships": "No relationships", + // TODO New key - Add a translation + "item.edit.relationships.no-relationships": "No relationships", + // "item.edit.relationships.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", // TODO New key - Add a translation "item.edit.relationships.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", @@ -2295,9 +3152,9 @@ // TODO New key - Add a translation "item.edit.relationships.notifications.discarded.title": "Changes discarded", - // "item.edit.relationships.notifications.failed.title": "Error deleting relationship", + // "item.edit.relationships.notifications.failed.title": "Error editing relationships", // TODO New key - Add a translation - "item.edit.relationships.notifications.failed.title": "Error deleting relationship", + "item.edit.relationships.notifications.failed.title": "Error editing relationships", // "item.edit.relationships.notifications.outdated.content": "The item you're currently working on has been changed by another user. Your current changes are discarded to prevent conflicts", // TODO New key - Add a translation @@ -2323,6 +3180,10 @@ // TODO New key - Add a translation "item.edit.relationships.save-button": "Save", + // "item.edit.relationships.no-entity-type": "Add 'relationship.type' metadata to enable relationships for this item", + // TODO New key - Add a translation + "item.edit.relationships.no-entity-type": "Add 'relationship.type' metadata to enable relationships for this item", + // "item.edit.tabs.bitstreams.head": "Bitstreams", @@ -2497,6 +3358,48 @@ + // "item.listelement.badge": "Item", + // TODO New key - Add a translation + "item.listelement.badge": "Item", + + // "item.page.description": "Description", + // TODO New key - Add a translation + "item.page.description": "Description", + + // "item.page.edit": "Edit this item", + // TODO New key - Add a translation + "item.page.edit": "Edit this item", + + // "item.page.journal-issn": "Journal ISSN", + // TODO New key - Add a translation + "item.page.journal-issn": "Journal ISSN", + + // "item.page.journal-title": "Journal Title", + // TODO New key - Add a translation + "item.page.journal-title": "Journal Title", + + // "item.page.publisher": "Publisher", + // TODO New key - Add a translation + "item.page.publisher": "Publisher", + + // "item.page.titleprefix": "Item: ", + // TODO New key - Add a translation + "item.page.titleprefix": "Item: ", + + // "item.page.volume-title": "Volume Title", + // TODO New key - Add a translation + "item.page.volume-title": "Volume Title", + + // "item.search.results.head": "Item Search Results", + // TODO New key - Add a translation + "item.search.results.head": "Item Search Results", + + // "item.search.title": "DSpace Angular :: Item Search", + // TODO New key - Add a translation + "item.search.title": "DSpace Angular :: Item Search", + + + // "item.page.abstract": "Abstract", // TODO New key - Add a translation "item.page.abstract": "Abstract", @@ -2517,6 +3420,10 @@ // TODO New key - Add a translation "item.page.date": "Date", + // "item.page.edit": "Edit this item", + // TODO New key - Add a translation + "item.page.edit": "Edit this item", + // "item.page.files": "Files", // TODO New key - Add a translation "item.page.files": "Files", @@ -2589,6 +3496,65 @@ // TODO New key - Add a translation "item.page.uri": "URI", + // "item.page.bitstreams.view-more": "Show more", + // TODO New key - Add a translation + "item.page.bitstreams.view-more": "Show more", + + // "item.page.bitstreams.collapse": "Collapse", + // TODO New key - Add a translation + "item.page.bitstreams.collapse": "Collapse", + + // "item.page.filesection.original.bundle" : "Original bundle", + // TODO New key - Add a translation + "item.page.filesection.original.bundle" : "Original bundle", + + // "item.page.filesection.license.bundle" : "License bundle", + // TODO New key - Add a translation + "item.page.filesection.license.bundle" : "License bundle", + + // "item.preview.dc.identifier.uri": "Identifier:", + // TODO New key - Add a translation + "item.preview.dc.identifier.uri": "Identifier:", + + // "item.preview.dc.contributor.author": "Authors:", + // TODO New key - Add a translation + "item.preview.dc.contributor.author": "Authors:", + + // "item.preview.dc.date.issued": "Published date:", + // TODO New key - Add a translation + "item.preview.dc.date.issued": "Published date:", + + // "item.preview.dc.description.abstract": "Abstract:", + // TODO New key - Add a translation + "item.preview.dc.description.abstract": "Abstract:", + + // "item.preview.dc.identifier.other": "Other identifier:", + // TODO New key - Add a translation + "item.preview.dc.identifier.other": "Other identifier:", + + // "item.preview.dc.language.iso": "Language:", + // TODO New key - Add a translation + "item.preview.dc.language.iso": "Language:", + + // "item.preview.dc.subject": "Subjects:", + // TODO New key - Add a translation + "item.preview.dc.subject": "Subjects:", + + // "item.preview.dc.title": "Title:", + // TODO New key - Add a translation + "item.preview.dc.title": "Title:", + + // "item.preview.person.familyName": "Surname:", + // TODO New key - Add a translation + "item.preview.person.familyName": "Surname:", + + // "item.preview.person.givenName": "Name:", + // TODO New key - Add a translation + "item.preview.person.givenName": "Name:", + + // "item.preview.person.identifier.orcid": "ORCID:", + // TODO New key - Add a translation + "item.preview.person.identifier.orcid": "ORCID:", // "item.select.confirm": "Confirm selected", @@ -2664,6 +3630,10 @@ // TODO New key - Add a translation "journal.page.description": "Description", + // "journal.page.edit": "Edit this item", + // TODO New key - Add a translation + "journal.page.edit": "Edit this item", + // "journal.page.editor": "Editor-in-Chief", // TODO New key - Add a translation "journal.page.editor": "Editor-in-Chief", @@ -2698,6 +3668,10 @@ // TODO New key - Add a translation "journalissue.page.description": "Description", + // "journalissue.page.edit": "Edit this item", + // TODO New key - Add a translation + "journalissue.page.edit": "Edit this item", + // "journalissue.page.issuedate": "Issue Date", // TODO New key - Add a translation "journalissue.page.issuedate": "Issue Date", @@ -2732,6 +3706,10 @@ // TODO New key - Add a translation "journalvolume.page.description": "Description", + // "journalvolume.page.edit": "Edit this item", + // TODO New key - Add a translation + "journalvolume.page.edit": "Edit this item", + // "journalvolume.page.issuedate": "Issue Date", // TODO New key - Add a translation "journalvolume.page.issuedate": "Issue Date", @@ -3042,6 +4020,10 @@ // TODO New key - Add a translation "menu.section.icon.pin": "Pin sidebar", + // "menu.section.icon.processes": "Processes menu section", + // TODO New key - Add a translation + "menu.section.icon.processes": "Processes menu section", + // "menu.section.icon.registries": "Registries menu section", // TODO New key - Add a translation "menu.section.icon.registries": "Registries menu section", @@ -3090,6 +4072,10 @@ // TODO New key - Add a translation "menu.section.new_item_version": "Item Version", + // "menu.section.new_process": "Process", + // TODO New key - Add a translation + "menu.section.new_process": "Process", + // "menu.section.pin": "Pin sidebar", @@ -3102,6 +4088,12 @@ + // "menu.section.processes": "Processes", + // TODO New key - Add a translation + "menu.section.processes": "Processes", + + + // "menu.section.registries": "Registries", // TODO New key - Add a translation "menu.section.registries": "Registries", @@ -3167,14 +4159,18 @@ "menu.section.toggle.statistics_task": "Toggle Statistics Task section", + // "menu.section.workflow": "Administer Workflow", + // TODO New key - Add a translation + "menu.section.workflow": "Administer Workflow", + // "mydspace.description": "", // TODO New key - Add a translation "mydspace.description": "", - // "mydspace.general.text-here": "HERE", + // "mydspace.general.text-here": "here", // TODO New key - Add a translation - "mydspace.general.text-here": "HERE", + "mydspace.general.text-here": "here", // "mydspace.messages.controller-help": "Select this option to send a message to item's submitter.", // TODO New key - Add a translation @@ -3232,6 +4228,14 @@ // TODO New key - Add a translation "mydspace.new-submission": "New submission", + // "mydspace.new-submission-external": "Import metadata from external source", + // TODO New key - Add a translation + "mydspace.new-submission-external": "Import metadata from external source", + + // "mydspace.new-submission-external-short": "Import metadata", + // TODO New key - Add a translation + "mydspace.new-submission-external-short": "Import metadata", + // "mydspace.results.head": "Your submissions", // TODO New key - Add a translation "mydspace.results.head": "Your submissions", @@ -3304,6 +4308,14 @@ // TODO New key - Add a translation "mydspace.upload.upload-failed": "Error creating new workspace. Please verify the content uploaded before retry.", + // "mydspace.upload.upload-failed-manyentries": "Unprocessable file. Detected too many entries but allowed only one for file.", + // TODO New key - Add a translation + "mydspace.upload.upload-failed-manyentries": "Unprocessable file. Detected too many entries but allowed only one for file.", + + // "mydspace.upload.upload-failed-moreonefile": "Unprocessable request. Only one file is allowed.", + // TODO New key - Add a translation + "mydspace.upload.upload-failed-moreonefile": "Unprocessable request. Only one file is allowed.", + // "mydspace.upload.upload-multiple-successful": "{{qty}} new workspace items created.", // TODO New key - Add a translation "mydspace.upload.upload-multiple-successful": "{{qty}} new workspace items created.", @@ -3354,6 +4366,10 @@ // TODO New key - Add a translation "nav.statistics.header": "Statistics", + // "nav.stop-impersonating": "Stop impersonating EPerson", + // TODO New key - Add a translation + "nav.stop-impersonating": "Stop impersonating EPerson", + // "orgunit.listelement.badge": "Organizational Unit", @@ -3376,6 +4392,10 @@ // TODO New key - Add a translation "orgunit.page.description": "Description", + // "orgunit.page.edit": "Edit this item", + // TODO New key - Add a translation + "orgunit.page.edit": "Edit this item", + // "orgunit.page.id": "ID", // TODO New key - Add a translation "orgunit.page.id": "ID", @@ -3408,10 +4428,18 @@ // TODO New key - Add a translation "person.listelement.badge": "Person", + // "person.listelement.no-title": "No name found", + // TODO New key - Add a translation + "person.listelement.no-title": "No name found", + // "person.page.birthdate": "Birth Date", // TODO New key - Add a translation "person.page.birthdate": "Birth Date", + // "person.page.edit": "Edit this item", + // TODO New key - Add a translation + "person.page.edit": "Edit this item", + // "person.page.email": "Email Address", // TODO New key - Add a translation "person.page.email": "Email Address", @@ -3454,6 +4482,183 @@ + // "process.new.select-parameters": "Parameters", + // TODO New key - Add a translation + "process.new.select-parameters": "Parameters", + + // "process.new.cancel": "Cancel", + // TODO New key - Add a translation + "process.new.cancel": "Cancel", + + // "process.new.submit": "Submit", + // TODO New key - Add a translation + "process.new.submit": "Submit", + + // "process.new.select-script": "Script", + // TODO New key - Add a translation + "process.new.select-script": "Script", + + // "process.new.select-script.placeholder": "Choose a script...", + // TODO New key - Add a translation + "process.new.select-script.placeholder": "Choose a script...", + + // "process.new.select-script.required": "Script is required", + // TODO New key - Add a translation + "process.new.select-script.required": "Script is required", + + // "process.new.parameter.file.upload-button": "Select file...", + // TODO New key - Add a translation + "process.new.parameter.file.upload-button": "Select file...", + + // "process.new.parameter.file.required": "Please select a file", + // TODO New key - Add a translation + "process.new.parameter.file.required": "Please select a file", + + // "process.new.parameter.string.required": "Parameter value is required", + // TODO New key - Add a translation + "process.new.parameter.string.required": "Parameter value is required", + + // "process.new.parameter.type.value": "value", + // TODO New key - Add a translation + "process.new.parameter.type.value": "value", + + // "process.new.parameter.type.file": "file", + // TODO New key - Add a translation + "process.new.parameter.type.file": "file", + + // "process.new.parameter.required.missing": "The following parameters are required but still missing:", + // TODO New key - Add a translation + "process.new.parameter.required.missing": "The following parameters are required but still missing:", + + // "process.new.notification.success.title": "Success", + // TODO New key - Add a translation + "process.new.notification.success.title": "Success", + + // "process.new.notification.success.content": "The process was successfully created", + // TODO New key - Add a translation + "process.new.notification.success.content": "The process was successfully created", + + // "process.new.notification.error.title": "Error", + // TODO New key - Add a translation + "process.new.notification.error.title": "Error", + + // "process.new.notification.error.content": "An error occurred while creating this process", + // TODO New key - Add a translation + "process.new.notification.error.content": "An error occurred while creating this process", + + // "process.new.header": "Create a new process", + // TODO New key - Add a translation + "process.new.header": "Create a new process", + + // "process.new.title": "Create a new process", + // TODO New key - Add a translation + "process.new.title": "Create a new process", + + // "process.new.breadcrumbs": "Create a new process", + // TODO New key - Add a translation + "process.new.breadcrumbs": "Create a new process", + + + + // "process.detail.arguments" : "Arguments", + // TODO New key - Add a translation + "process.detail.arguments" : "Arguments", + + // "process.detail.arguments.empty" : "This process doesn't contain any arguments", + // TODO New key - Add a translation + "process.detail.arguments.empty" : "This process doesn't contain any arguments", + + // "process.detail.back" : "Back", + // TODO New key - Add a translation + "process.detail.back" : "Back", + + // "process.detail.output" : "Process Output", + // TODO New key - Add a translation + "process.detail.output" : "Process Output", + + // "process.detail.logs.button": "Retrieve process output", + // TODO New key - Add a translation + "process.detail.logs.button": "Retrieve process output", + + // "process.detail.logs.loading": "Retrieving", + // TODO New key - Add a translation + "process.detail.logs.loading": "Retrieving", + + // "process.detail.logs.none": "This process has no output", + // TODO New key - Add a translation + "process.detail.logs.none": "This process has no output", + + // "process.detail.output-files" : "Output Files", + // TODO New key - Add a translation + "process.detail.output-files" : "Output Files", + + // "process.detail.output-files.empty" : "This process doesn't contain any output files", + // TODO New key - Add a translation + "process.detail.output-files.empty" : "This process doesn't contain any output files", + + // "process.detail.script" : "Script", + // TODO New key - Add a translation + "process.detail.script" : "Script", + + // "process.detail.title" : "Process: {{ id }} - {{ name }}", + // TODO New key - Add a translation + "process.detail.title" : "Process: {{ id }} - {{ name }}", + + // "process.detail.start-time" : "Start time", + // TODO New key - Add a translation + "process.detail.start-time" : "Start time", + + // "process.detail.end-time" : "Finish time", + // TODO New key - Add a translation + "process.detail.end-time" : "Finish time", + + // "process.detail.status" : "Status", + // TODO New key - Add a translation + "process.detail.status" : "Status", + + // "process.detail.create" : "Create similar process", + // TODO New key - Add a translation + "process.detail.create" : "Create similar process", + + + + // "process.overview.table.finish" : "Finish time", + // TODO New key - Add a translation + "process.overview.table.finish" : "Finish time", + + // "process.overview.table.id" : "Process ID", + // TODO New key - Add a translation + "process.overview.table.id" : "Process ID", + + // "process.overview.table.name" : "Name", + // TODO New key - Add a translation + "process.overview.table.name" : "Name", + + // "process.overview.table.start" : "Start time", + // TODO New key - Add a translation + "process.overview.table.start" : "Start time", + + // "process.overview.table.status" : "Status", + // TODO New key - Add a translation + "process.overview.table.status" : "Status", + + // "process.overview.table.user" : "User", + // TODO New key - Add a translation + "process.overview.table.user" : "User", + + // "process.overview.title": "Processes Overview", + // TODO New key - Add a translation + "process.overview.title": "Processes Overview", + + // "process.overview.breadcrumbs": "Processes Overview", + // TODO New key - Add a translation + "process.overview.breadcrumbs": "Processes Overview", + + // "process.overview.new": "New", + // TODO New key - Add a translation + "process.overview.new": "New", + + // "profile.breadcrumbs": "Update Profile", // TODO New key - Add a translation "profile.breadcrumbs": "Update Profile", @@ -3580,6 +4785,10 @@ // TODO New key - Add a translation "project.page.description": "Description", + // "project.page.edit": "Edit this item", + // TODO New key - Add a translation + "project.page.edit": "Edit this item", + // "project.page.expectedcompletion": "Expected Completion", // TODO New key - Add a translation "project.page.expectedcompletion": "Expected Completion", @@ -3618,6 +4827,10 @@ // TODO New key - Add a translation "publication.page.description": "Description", + // "publication.page.edit": "Edit this item", + // TODO New key - Add a translation + "publication.page.edit": "Edit this item", + // "publication.page.journal-issn": "Journal ISSN", // TODO New key - Add a translation "publication.page.journal-issn": "Journal ISSN", @@ -3647,11 +4860,165 @@ "publication.search.title": "DSpace Angular :: Publication Search", + // "register-email.title": "New user registration", + // TODO New key - Add a translation + "register-email.title": "New user registration", + + // "register-page.create-profile.header": "Create Profile", + // TODO New key - Add a translation + "register-page.create-profile.header": "Create Profile", + + // "register-page.create-profile.identification.header": "Identify", + // TODO New key - Add a translation + "register-page.create-profile.identification.header": "Identify", + + // "register-page.create-profile.identification.email": "Email Address", + // TODO New key - Add a translation + "register-page.create-profile.identification.email": "Email Address", + + // "register-page.create-profile.identification.first-name": "First Name *", + // TODO New key - Add a translation + "register-page.create-profile.identification.first-name": "First Name *", + + // "register-page.create-profile.identification.first-name.error": "Please fill in a First Name", + // TODO New key - Add a translation + "register-page.create-profile.identification.first-name.error": "Please fill in a First Name", + + // "register-page.create-profile.identification.last-name": "Last Name *", + // TODO New key - Add a translation + "register-page.create-profile.identification.last-name": "Last Name *", + + // "register-page.create-profile.identification.last-name.error": "Please fill in a Last Name", + // TODO New key - Add a translation + "register-page.create-profile.identification.last-name.error": "Please fill in a Last Name", + + // "register-page.create-profile.identification.contact": "Contact Telephone", + // TODO New key - Add a translation + "register-page.create-profile.identification.contact": "Contact Telephone", + + // "register-page.create-profile.identification.language": "Language", + // TODO New key - Add a translation + "register-page.create-profile.identification.language": "Language", + + // "register-page.create-profile.security.header": "Security", + // TODO New key - Add a translation + "register-page.create-profile.security.header": "Security", + + // "register-page.create-profile.security.info": "Please enter a password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", + // TODO New key - Add a translation + "register-page.create-profile.security.info": "Please enter a password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", + + // "register-page.create-profile.security.label.password": "Password *", + // TODO New key - Add a translation + "register-page.create-profile.security.label.password": "Password *", + + // "register-page.create-profile.security.label.passwordrepeat": "Retype to confirm *", + // TODO New key - Add a translation + "register-page.create-profile.security.label.passwordrepeat": "Retype to confirm *", + + // "register-page.create-profile.security.error.empty-password": "Please enter a password in the box below.", + // TODO New key - Add a translation + "register-page.create-profile.security.error.empty-password": "Please enter a password in the box below.", + + // "register-page.create-profile.security.error.matching-passwords": "The passwords do not match.", + // TODO New key - Add a translation + "register-page.create-profile.security.error.matching-passwords": "The passwords do not match.", + + // "register-page.create-profile.security.error.password-length": "The password should be at least 6 characters long.", + // TODO New key - Add a translation + "register-page.create-profile.security.error.password-length": "The password should be at least 6 characters long.", + + // "register-page.create-profile.submit": "Complete Registration", + // TODO New key - Add a translation + "register-page.create-profile.submit": "Complete Registration", + + // "register-page.create-profile.submit.error.content": "Something went wrong while registering a new user.", + // TODO New key - Add a translation + "register-page.create-profile.submit.error.content": "Something went wrong while registering a new user.", + + // "register-page.create-profile.submit.error.head": "Registration failed", + // TODO New key - Add a translation + "register-page.create-profile.submit.error.head": "Registration failed", + + // "register-page.create-profile.submit.success.content": "The registration was successful. You have been logged in as the created user.", + // TODO New key - Add a translation + "register-page.create-profile.submit.success.content": "The registration was successful. You have been logged in as the created user.", + + // "register-page.create-profile.submit.success.head": "Registration completed", + // TODO New key - Add a translation + "register-page.create-profile.submit.success.head": "Registration completed", + + + // "register-page.registration.header": "New user registration", + // TODO New key - Add a translation + "register-page.registration.header": "New user registration", + + // "register-page.registration.info": "Register an account to subscribe to collections for email updates, and submit new items to DSpace.", + // TODO New key - Add a translation + "register-page.registration.info": "Register an account to subscribe to collections for email updates, and submit new items to DSpace.", + + // "register-page.registration.email": "Email Address *", + // TODO New key - Add a translation + "register-page.registration.email": "Email Address *", + + // "register-page.registration.email.error.required": "Please fill in an email address", + // TODO New key - Add a translation + "register-page.registration.email.error.required": "Please fill in an email address", + + // "register-page.registration.email.error.pattern": "Please fill in a valid email address", + // TODO New key - Add a translation + "register-page.registration.email.error.pattern": "Please fill in a valid email address", + + // "register-page.registration.email.hint": "This address will be verified and used as your login name.", + // TODO New key - Add a translation + "register-page.registration.email.hint": "This address will be verified and used as your login name.", + + // "register-page.registration.submit": "Register", + // TODO New key - Add a translation + "register-page.registration.submit": "Register", + + // "register-page.registration.success.head": "Verification email sent", + // TODO New key - Add a translation + "register-page.registration.success.head": "Verification email sent", + + // "register-page.registration.success.content": "An email has been sent to {{ email }} containing a special URL and further instructions.", + // TODO New key - Add a translation + "register-page.registration.success.content": "An email has been sent to {{ email }} containing a special URL and further instructions.", + + // "register-page.registration.error.head": "Error when trying to register email", + // TODO New key - Add a translation + "register-page.registration.error.head": "Error when trying to register email", + + // "register-page.registration.error.content": "An error occured when registering the following email address: {{ email }}", + // TODO New key - Add a translation + "register-page.registration.error.content": "An error occured when registering the following email address: {{ email }}", + + + + // "relationships.add.error.relationship-type.content": "No suitable match could be found for relationship type {{ type }} between the two items", + // TODO New key - Add a translation + "relationships.add.error.relationship-type.content": "No suitable match could be found for relationship type {{ type }} between the two items", + + // "relationships.add.error.server.content": "The server returned an error", + // TODO New key - Add a translation + "relationships.add.error.server.content": "The server returned an error", + + // "relationships.add.error.title": "Unable to add relationship", + // TODO New key - Add a translation + "relationships.add.error.title": "Unable to add relationship", // "relationships.isAuthorOf": "Authors", // TODO New key - Add a translation "relationships.isAuthorOf": "Authors", + // "relationships.isAuthorOf.Person": "Authors (persons)", + // TODO New key - Add a translation + "relationships.isAuthorOf.Person": "Authors (persons)", + + // "relationships.isAuthorOf.OrgUnit": "Authors (organizational units)", + // TODO New key - Add a translation + "relationships.isAuthorOf.OrgUnit": "Authors (organizational units)", + // "relationships.isIssueOf": "Journal Issues", // TODO New key - Add a translation "relationships.isIssueOf": "Journal Issues", @@ -3702,6 +5069,208 @@ + // "resource-policies.add.button": "Add", + // TODO New key - Add a translation + "resource-policies.add.button": "Add", + + // "resource-policies.add.for.": "Add a new policy", + // TODO New key - Add a translation + "resource-policies.add.for.": "Add a new policy", + + // "resource-policies.add.for.bitstream": "Add a new Bitstream policy", + // TODO New key - Add a translation + "resource-policies.add.for.bitstream": "Add a new Bitstream policy", + + // "resource-policies.add.for.bundle": "Add a new Bundle policy", + // TODO New key - Add a translation + "resource-policies.add.for.bundle": "Add a new Bundle policy", + + // "resource-policies.add.for.item": "Add a new Item policy", + // TODO New key - Add a translation + "resource-policies.add.for.item": "Add a new Item policy", + + // "resource-policies.add.for.community": "Add a new Community policy", + // TODO New key - Add a translation + "resource-policies.add.for.community": "Add a new Community policy", + + // "resource-policies.add.for.collection": "Add a new Collection policy", + // TODO New key - Add a translation + "resource-policies.add.for.collection": "Add a new Collection policy", + + // "resource-policies.create.page.heading": "Create new resource policy for ", + // TODO New key - Add a translation + "resource-policies.create.page.heading": "Create new resource policy for ", + + // "resource-policies.create.page.failure.content": "An error occurred while creating the resource policy.", + // TODO New key - Add a translation + "resource-policies.create.page.failure.content": "An error occurred while creating the resource policy.", + + // "resource-policies.create.page.success.content": "Operation successful", + // TODO New key - Add a translation + "resource-policies.create.page.success.content": "Operation successful", + + // "resource-policies.create.page.title": "Create new resource policy", + // TODO New key - Add a translation + "resource-policies.create.page.title": "Create new resource policy", + + // "resource-policies.delete.btn": "Delete selected", + // TODO New key - Add a translation + "resource-policies.delete.btn": "Delete selected", + + // "resource-policies.delete.btn.title": "Delete selected resource policies", + // TODO New key - Add a translation + "resource-policies.delete.btn.title": "Delete selected resource policies", + + // "resource-policies.delete.failure.content": "An error occurred while deleting selected resource policies.", + // TODO New key - Add a translation + "resource-policies.delete.failure.content": "An error occurred while deleting selected resource policies.", + + // "resource-policies.delete.success.content": "Operation successful", + // TODO New key - Add a translation + "resource-policies.delete.success.content": "Operation successful", + + // "resource-policies.edit.page.heading": "Edit resource policy ", + // TODO New key - Add a translation + "resource-policies.edit.page.heading": "Edit resource policy ", + + // "resource-policies.edit.page.failure.content": "An error occurred while editing the resource policy.", + // TODO New key - Add a translation + "resource-policies.edit.page.failure.content": "An error occurred while editing the resource policy.", + + // "resource-policies.edit.page.success.content": "Operation successful", + // TODO New key - Add a translation + "resource-policies.edit.page.success.content": "Operation successful", + + // "resource-policies.edit.page.title": "Edit resource policy", + // TODO New key - Add a translation + "resource-policies.edit.page.title": "Edit resource policy", + + // "resource-policies.form.action-type.label": "Select the action type", + // TODO New key - Add a translation + "resource-policies.form.action-type.label": "Select the action type", + + // "resource-policies.form.action-type.required": "You must select the resource policy action.", + // TODO New key - Add a translation + "resource-policies.form.action-type.required": "You must select the resource policy action.", + + // "resource-policies.form.eperson-group-list.label": "The eperson or group that will be granted the permission", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.label": "The eperson or group that will be granted the permission", + + // "resource-policies.form.eperson-group-list.select.btn": "Select", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.select.btn": "Select", + + // "resource-policies.form.eperson-group-list.tab.eperson": "Search for a ePerson", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.tab.eperson": "Search for a ePerson", + + // "resource-policies.form.eperson-group-list.tab.group": "Search for a group", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.tab.group": "Search for a group", + + // "resource-policies.form.eperson-group-list.table.headers.action": "Action", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.table.headers.action": "Action", + + // "resource-policies.form.eperson-group-list.table.headers.id": "ID", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.table.headers.id": "ID", + + // "resource-policies.form.eperson-group-list.table.headers.name": "Name", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.table.headers.name": "Name", + + // "resource-policies.form.date.end.label": "End Date", + // TODO New key - Add a translation + "resource-policies.form.date.end.label": "End Date", + + // "resource-policies.form.date.start.label": "Start Date", + // TODO New key - Add a translation + "resource-policies.form.date.start.label": "Start Date", + + // "resource-policies.form.description.label": "Description", + // TODO New key - Add a translation + "resource-policies.form.description.label": "Description", + + // "resource-policies.form.name.label": "Name", + // TODO New key - Add a translation + "resource-policies.form.name.label": "Name", + + // "resource-policies.form.policy-type.label": "Select the policy type", + // TODO New key - Add a translation + "resource-policies.form.policy-type.label": "Select the policy type", + + // "resource-policies.form.policy-type.required": "You must select the resource policy type.", + // TODO New key - Add a translation + "resource-policies.form.policy-type.required": "You must select the resource policy type.", + + // "resource-policies.table.headers.action": "Action", + // TODO New key - Add a translation + "resource-policies.table.headers.action": "Action", + + // "resource-policies.table.headers.date.end": "End Date", + // TODO New key - Add a translation + "resource-policies.table.headers.date.end": "End Date", + + // "resource-policies.table.headers.date.start": "Start Date", + // TODO New key - Add a translation + "resource-policies.table.headers.date.start": "Start Date", + + // "resource-policies.table.headers.edit": "Edit", + // TODO New key - Add a translation + "resource-policies.table.headers.edit": "Edit", + + // "resource-policies.table.headers.edit.group": "Edit group", + // TODO New key - Add a translation + "resource-policies.table.headers.edit.group": "Edit group", + + // "resource-policies.table.headers.edit.policy": "Edit policy", + // TODO New key - Add a translation + "resource-policies.table.headers.edit.policy": "Edit policy", + + // "resource-policies.table.headers.eperson": "EPerson", + // TODO New key - Add a translation + "resource-policies.table.headers.eperson": "EPerson", + + // "resource-policies.table.headers.group": "Group", + // TODO New key - Add a translation + "resource-policies.table.headers.group": "Group", + + // "resource-policies.table.headers.id": "ID", + // TODO New key - Add a translation + "resource-policies.table.headers.id": "ID", + + // "resource-policies.table.headers.name": "Name", + // TODO New key - Add a translation + "resource-policies.table.headers.name": "Name", + + // "resource-policies.table.headers.policyType": "type", + // TODO New key - Add a translation + "resource-policies.table.headers.policyType": "type", + + // "resource-policies.table.headers.title.for.bitstream": "Policies for Bitstream", + // TODO New key - Add a translation + "resource-policies.table.headers.title.for.bitstream": "Policies for Bitstream", + + // "resource-policies.table.headers.title.for.bundle": "Policies for Bundle", + // TODO New key - Add a translation + "resource-policies.table.headers.title.for.bundle": "Policies for Bundle", + + // "resource-policies.table.headers.title.for.item": "Policies for Item", + // TODO New key - Add a translation + "resource-policies.table.headers.title.for.item": "Policies for Item", + + // "resource-policies.table.headers.title.for.community": "Policies for Community", + // TODO New key - Add a translation + "resource-policies.table.headers.title.for.community": "Policies for Community", + + // "resource-policies.table.headers.title.for.collection": "Policies for Collection", + // TODO New key - Add a translation + "resource-policies.table.headers.title.for.collection": "Policies for Collection", + + + // "search.description": "", // TODO New key - Add a translation "search.description": "", @@ -4090,6 +5659,14 @@ + // "sorting.ASC": "Ascending", + // TODO New key - Add a translation + "sorting.ASC": "Ascending", + + // "sorting.DESC": "Descending", + // TODO New key - Add a translation + "sorting.DESC": "Descending", + // "sorting.dc.title.ASC": "Title Ascending", // TODO New key - Add a translation "sorting.dc.title.ASC": "Title Ascending", @@ -4104,6 +5681,52 @@ + // "statistics.title": "Statistics", + // TODO New key - Add a translation + "statistics.title": "Statistics", + + // "statistics.header": "Statistics for {{ scope }}", + // TODO New key - Add a translation + "statistics.header": "Statistics for {{ scope }}", + + // "statistics.breadcrumbs": "Statistics", + // TODO New key - Add a translation + "statistics.breadcrumbs": "Statistics", + + // "statistics.page.no-data": "No data available", + // TODO New key - Add a translation + "statistics.page.no-data": "No data available", + + // "statistics.table.no-data": "No data available", + // TODO New key - Add a translation + "statistics.table.no-data": "No data available", + + // "statistics.table.title.TotalVisits": "Total visits", + // TODO New key - Add a translation + "statistics.table.title.TotalVisits": "Total visits", + + // "statistics.table.title.TotalVisitsPerMonth": "Total visits per month", + // TODO New key - Add a translation + "statistics.table.title.TotalVisitsPerMonth": "Total visits per month", + + // "statistics.table.title.TotalDownloads": "File Visits", + // TODO New key - Add a translation + "statistics.table.title.TotalDownloads": "File Visits", + + // "statistics.table.title.TopCountries": "Top country views", + // TODO New key - Add a translation + "statistics.table.title.TopCountries": "Top country views", + + // "statistics.table.title.TopCities": "Top city views", + // TODO New key - Add a translation + "statistics.table.title.TopCities": "Top city views", + + // "statistics.table.header.views": "Views", + // TODO New key - Add a translation + "statistics.table.header.views": "Views", + + + // "submission.edit.title": "Edit Submission", // TODO New key - Add a translation "submission.edit.title": "Edit Submission", @@ -4145,6 +5768,85 @@ "submission.general.save-later": "Save for later", + // "submission.import-external.page.title": "Import metadata from an external source", + // TODO New key - Add a translation + "submission.import-external.page.title": "Import metadata from an external source", + + // "submission.import-external.title": "Import metadata from an external source", + // TODO New key - Add a translation + "submission.import-external.title": "Import metadata from an external source", + + // "submission.import-external.page.hint": "Enter a query above to find items from the web to import in to DSpace.", + // TODO New key - Add a translation + "submission.import-external.page.hint": "Enter a query above to find items from the web to import in to DSpace.", + + // "submission.import-external.back-to-my-dspace": "Back to MyDSpace", + // TODO New key - Add a translation + "submission.import-external.back-to-my-dspace": "Back to MyDSpace", + + // "submission.import-external.search.placeholder": "Search the external source", + // TODO New key - Add a translation + "submission.import-external.search.placeholder": "Search the external source", + + // "submission.import-external.search.button": "Search", + // TODO New key - Add a translation + "submission.import-external.search.button": "Search", + + // "submission.import-external.search.button.hint": "Write some words to search", + // TODO New key - Add a translation + "submission.import-external.search.button.hint": "Write some words to search", + + // "submission.import-external.search.source.hint": "Pick an external source", + // TODO New key - Add a translation + "submission.import-external.search.source.hint": "Pick an external source", + + // "submission.import-external.source.arxiv": "arXiv", + // TODO New key - Add a translation + "submission.import-external.source.arxiv": "arXiv", + + // "submission.import-external.source.loading": "Loading ...", + // TODO New key - Add a translation + "submission.import-external.source.loading": "Loading ...", + + // "submission.import-external.source.sherpaJournal": "SHERPA Journals", + // TODO New key - Add a translation + "submission.import-external.source.sherpaJournal": "SHERPA Journals", + + // "submission.import-external.source.sherpaPublisher": "SHERPA Publishers", + // TODO New key - Add a translation + "submission.import-external.source.sherpaPublisher": "SHERPA Publishers", + + // "submission.import-external.source.orcid": "ORCID", + // TODO New key - Add a translation + "submission.import-external.source.orcid": "ORCID", + + // "submission.import-external.source.pubmed": "Pubmed", + // TODO New key - Add a translation + "submission.import-external.source.pubmed": "Pubmed", + + // "submission.import-external.source.lcname": "Library of Congress Names", + // TODO New key - Add a translation + "submission.import-external.source.lcname": "Library of Congress Names", + + // "submission.import-external.preview.title": "Item Preview", + // TODO New key - Add a translation + "submission.import-external.preview.title": "Item Preview", + + // "submission.import-external.preview.subtitle": "The metadata below was imported from an external source. It will be pre-filled when you start the submission.", + // TODO New key - Add a translation + "submission.import-external.preview.subtitle": "The metadata below was imported from an external source. It will be pre-filled when you start the submission.", + + // "submission.import-external.preview.button.import": "Start submission", + // TODO New key - Add a translation + "submission.import-external.preview.button.import": "Start submission", + + // "submission.import-external.preview.error.import.title": "Submission error", + // TODO New key - Add a translation + "submission.import-external.preview.error.import.title": "Submission error", + + // "submission.import-external.preview.error.import.body": "An error occurs during the external source entry import process.", + // TODO New key - Add a translation + "submission.import-external.preview.error.import.body": "An error occurs during the external source entry import process.", // "submission.sections.describe.relationship-lookup.close": "Close", // TODO New key - Add a translation @@ -4154,9 +5856,9 @@ // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.external-source.added": "Successfully added local entry to the selection", - // "submission.sections.describe.relationship-lookup.external-source.import-button-title.Author": "Import remote author", + // "submission.sections.describe.relationship-lookup.external-source.import-button-title.isAuthorOfPublication": "Import remote author", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-button-title.Author": "Import remote author", + "submission.sections.describe.relationship-lookup.external-source.import-button-title.isAuthorOfPublication": "Import remote author", // "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal": "Import remote journal", // TODO New key - Add a translation @@ -4170,17 +5872,17 @@ // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal Volume": "Import remote journal volume", - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.title": "Import Remote Author", + // "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.title": "Import Remote Author", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.title": "Import Remote Author", + "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.title": "Import Remote Author", - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.added.local-entity": "Successfully added local author to the selection", + // "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.added.local-entity": "Successfully added local author to the selection", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.added.local-entity": "Successfully added local author to the selection", + "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.added.local-entity": "Successfully added local author to the selection", - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.added.new-entity": "Successfully imported and added external author to the selection", + // "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.added.new-entity": "Successfully imported and added external author to the selection", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.added.new-entity": "Successfully imported and added external author to the selection", + "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.added.new-entity": "Successfully imported and added external author to the selection", // "submission.sections.describe.relationship-lookup.external-source.import-modal.authority": "Authority", // TODO New key - Add a translation @@ -4222,6 +5924,14 @@ // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.external-source.import-modal.head.sherpaPublisher": "Importing from Sherpa Publisher", + // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.pubmed": "Importing from PubMed", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.head.pubmed": "Importing from PubMed", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.arxiv": "Importing from arXiv", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.head.arxiv": "Importing from arXiv", + // "submission.sections.describe.relationship-lookup.external-source.import-modal.import": "Import", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.external-source.import-modal.import": "Import", @@ -4298,21 +6008,54 @@ // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.selected": "Selected {{ size }} items", - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Author": "Local Authors ({{ count }})", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isAuthorOfPublication": "Local Authors ({{ count }})", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Author": "Local Authors ({{ count }})", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isAuthorOfPublication": "Local Authors ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalOfPublication": "Local Journals ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalOfPublication": "Local Journals ({{ count }})", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Project": "Local Projects ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.Project": "Local Projects ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Publication": "Local Publications ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.Publication": "Local Publications ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Person": "Local Authors ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.Person": "Local Authors ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.OrgUnit": "Local Organizational Units ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.OrgUnit": "Local Organizational Units ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.DataPackage": "Local Data Packages ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.DataPackage": "Local Data Packages ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.DataFile": "Local Data Files ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.DataFile": "Local Data Files ({{ count }})", // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal": "Local Journals ({{ count }})", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal": "Local Journals ({{ count }})", - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal Issue": "Local Journal Issues ({{ count }})", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalIssueOfPublication": "Local Journal Issues ({{ count }})", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal Issue": "Local Journal Issues ({{ count }})", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalIssueOfPublication": "Local Journal Issues ({{ count }})", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.JournalIssue": "Local Journal Issues ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.JournalIssue": "Local Journal Issues ({{ count }})", - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal Volume": "Local Journal Volumes ({{ count }})", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalVolumeOfPublication": "Local Journal Volumes ({{ count }})", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal Volume": "Local Journal Volumes ({{ count }})", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalVolumeOfPublication": "Local Journal Volumes ({{ count }})", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.JournalVolume": "Local Journal Volumes ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.JournalVolume": "Local Journal Volumes ({{ count }})", // "submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaJournal": "Sherpa Journals ({{ count }})", // TODO New key - Add a translation @@ -4330,41 +6073,90 @@ // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.search-tab.tab-title.lcname": "LC Names ({{ count }})", - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Funding Agency": "Search for Funding Agencies", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.pubmed": "PubMed ({{ count }})", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Funding Agency": "Search for Funding Agencies", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.pubmed": "PubMed ({{ count }})", - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Funding": "Search for Funding", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.arxiv": "arXiv ({{ count }})", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Funding": "Search for Funding", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.arxiv": "arXiv ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingAgencyOfPublication": "Search for Funding Agencies", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingAgencyOfPublication": "Search for Funding Agencies", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingOfPublication": "Search for Funding", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingOfPublication": "Search for Funding", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isChildOrgUnitOf": "Search for Organizational Units", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isChildOrgUnitOf": "Search for Organizational Units", // "submission.sections.describe.relationship-lookup.selection-tab.tab-title": "Current Selection ({{ count }})", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.selection-tab.tab-title": "Current Selection ({{ count }})", - // "submission.sections.describe.relationship-lookup.title.Journal Issue": "Journal Issues", + // "submission.sections.describe.relationship-lookup.title.isJournalIssueOfPublication": "Journal Issues", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.title.Journal Issue": "Journal Issues", + "submission.sections.describe.relationship-lookup.title.isJournalIssueOfPublication": "Journal Issues", + // "submission.sections.describe.relationship-lookup.title.JournalIssue": "Journal Issues", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.JournalIssue": "Journal Issues", - // "submission.sections.describe.relationship-lookup.title.Journal Volume": "Journal Volumes", + // "submission.sections.describe.relationship-lookup.title.isJournalVolumeOfPublication": "Journal Volumes", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.title.Journal Volume": "Journal Volumes", + "submission.sections.describe.relationship-lookup.title.isJournalVolumeOfPublication": "Journal Volumes", + // "submission.sections.describe.relationship-lookup.title.JournalVolume": "Journal Volumes", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.JournalVolume": "Journal Volumes", - // "submission.sections.describe.relationship-lookup.title.Journal": "Journals", + // "submission.sections.describe.relationship-lookup.title.isJournalOfPublication": "Journals", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.title.Journal": "Journals", + "submission.sections.describe.relationship-lookup.title.isJournalOfPublication": "Journals", - // "submission.sections.describe.relationship-lookup.title.Author": "Authors", + // "submission.sections.describe.relationship-lookup.title.isAuthorOfPublication": "Authors", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.title.Author": "Authors", + "submission.sections.describe.relationship-lookup.title.isAuthorOfPublication": "Authors", + + // "submission.sections.describe.relationship-lookup.title.isFundingAgencyOfPublication": "Funding Agency", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.isFundingAgencyOfPublication": "Funding Agency", + // "submission.sections.describe.relationship-lookup.title.Project": "Projects", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.Project": "Projects", + + // "submission.sections.describe.relationship-lookup.title.Publication": "Publications", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.Publication": "Publications", + + // "submission.sections.describe.relationship-lookup.title.Person": "Authors", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.Person": "Authors", + + // "submission.sections.describe.relationship-lookup.title.OrgUnit": "Organizational Units", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.OrgUnit": "Organizational Units", + + // "submission.sections.describe.relationship-lookup.title.DataPackage": "Data Packages", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.DataPackage": "Data Packages", + + // "submission.sections.describe.relationship-lookup.title.DataFile": "Data Files", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.DataFile": "Data Files", // "submission.sections.describe.relationship-lookup.title.Funding Agency": "Funding Agency", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.title.Funding Agency": "Funding Agency", - // "submission.sections.describe.relationship-lookup.title.Funding": "Funding", + // "submission.sections.describe.relationship-lookup.title.isFundingOfPublication": "Funding", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.title.Funding": "Funding", + "submission.sections.describe.relationship-lookup.title.isFundingOfPublication": "Funding", + + // "submission.sections.describe.relationship-lookup.title.isChildOrgUnitOf": "Parent Organizational Unit", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.isChildOrgUnitOf": "Parent Organizational Unit", // "submission.sections.describe.relationship-lookup.search-tab.toggle-dropdown": "Toggle dropdown", // TODO New key - Add a translation @@ -4378,21 +6170,66 @@ // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.selection-tab.no-selection": "Your selection is currently empty.", - // "submission.sections.describe.relationship-lookup.selection-tab.title.Author": "Selected Authors", + // "submission.sections.describe.relationship-lookup.selection-tab.title.isAuthorOfPublication": "Selected Authors", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.selection-tab.title.Author": "Selected Authors", + "submission.sections.describe.relationship-lookup.selection-tab.title.isAuthorOfPublication": "Selected Authors", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalOfPublication": "Selected Journals", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalOfPublication": "Selected Journals", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalVolumeOfPublication": "Selected Journal Volume", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalVolumeOfPublication": "Selected Journal Volume", + // "submission.sections.describe.relationship-lookup.selection-tab.title.Project": "Selected Projects", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.Project": "Selected Projects", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.Publication": "Selected Publications", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.Publication": "Selected Publications", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.Person": "Selected Authors", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.Person": "Selected Authors", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.OrgUnit": "Selected Organizational Units", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.OrgUnit": "Selected Organizational Units", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.DataPackage": "Selected Data Packages", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.DataPackage": "Selected Data Packages", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.DataFile": "Selected Data Files", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.DataFile": "Selected Data Files", // "submission.sections.describe.relationship-lookup.selection-tab.title.Journal": "Selected Journals", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.selection-tab.title.Journal": "Selected Journals", - // "submission.sections.describe.relationship-lookup.selection-tab.title.Journal Volume": "Selected Journal Volume", + // "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalIssueOfPublication": "Selected Issue", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.selection-tab.title.Journal Volume": "Selected Journal Volume", + "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalIssueOfPublication": "Selected Issue", + // "submission.sections.describe.relationship-lookup.selection-tab.title.JournalVolume": "Selected Journal Volume", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.JournalVolume": "Selected Journal Volume", - // "submission.sections.describe.relationship-lookup.selection-tab.title.Journal Issue": "Selected Issue", + // "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingAgencyOfPublication": "Selected Funding Agency", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.selection-tab.title.Journal Issue": "Selected Issue", + "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingAgencyOfPublication": "Selected Funding Agency", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingOfPublication": "Selected Funding", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingOfPublication": "Selected Funding", + // "submission.sections.describe.relationship-lookup.selection-tab.title.JournalIssue": "Selected Issue", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.JournalIssue": "Selected Issue", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isChildOrgUnitOf": "Selected Organizational Unit", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.isChildOrgUnitOf": "Selected Organizational Unit", // "submission.sections.describe.relationship-lookup.selection-tab.title.sherpaJournal": "Search Results", // TODO New key - Add a translation @@ -4406,10 +6243,22 @@ // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.selection-tab.title.orcid": "Search Results", + // "submission.sections.describe.relationship-lookup.selection-tab.title.orcidv2": "Search Results", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.orcidv2": "Search Results", + // "submission.sections.describe.relationship-lookup.selection-tab.title.lcname": "Search Results", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.selection-tab.title.lcname": "Search Results", + // "submission.sections.describe.relationship-lookup.selection-tab.title.pubmed": "Search Results", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.pubmed": "Search Results", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.arxiv": "Search Results", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.arxiv": "Search Results", + // "submission.sections.describe.relationship-lookup.name-variant.notification.content": "Would you like to save \"{{ value }}\" as a name variant for this person so you and others can reuse it for future submissions? If you don\'t you can still use it for this submission.", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.name-variant.notification.content": "Would you like to save \"{{ value }}\" as a name variant for this person so you and others can reuse it for future submissions? If you don\'t you can still use it for this submission.", @@ -4422,6 +6271,34 @@ // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.name-variant.notification.decline": "Use only for this submission", + // "submission.sections.ccLicense.type": "License Type", + // TODO New key - Add a translation + "submission.sections.ccLicense.type": "License Type", + + // "submission.sections.ccLicense.select": "Select a license type…", + // TODO New key - Add a translation + "submission.sections.ccLicense.select": "Select a license type…", + + // "submission.sections.ccLicense.change": "Change your license type…", + // TODO New key - Add a translation + "submission.sections.ccLicense.change": "Change your license type…", + + // "submission.sections.ccLicense.none": "No licenses available", + // TODO New key - Add a translation + "submission.sections.ccLicense.none": "No licenses available", + + // "submission.sections.ccLicense.option.select": "Select an option…", + // TODO New key - Add a translation + "submission.sections.ccLicense.option.select": "Select an option…", + + // "submission.sections.ccLicense.link": "You’ve selected the following license:", + // TODO New key - Add a translation + "submission.sections.ccLicense.link": "You’ve selected the following license:", + + // "submission.sections.ccLicense.confirmation": "I grant the license above", + // TODO New key - Add a translation + "submission.sections.ccLicense.confirmation": "I grant the license above", + // "submission.sections.general.add-more": "Add more", // TODO New key - Add a translation "submission.sections.general.add-more": "Add more", @@ -4480,9 +6357,9 @@ - // "submission.sections.submit.progressbar.cclicense": "Creative commons license", + // "submission.sections.submit.progressbar.CClicense": "Creative commons license", // TODO New key - Add a translation - "submission.sections.submit.progressbar.cclicense": "Creative commons license", + "submission.sections.submit.progressbar.CClicense": "Creative commons license", // "submission.sections.submit.progressbar.describe.recycle": "Recycle", // TODO New key - Add a translation @@ -4546,9 +6423,9 @@ // TODO New key - Add a translation "submission.sections.upload.form.date-required": "Date is required.", - // "submission.sections.upload.form.from-label": "Access grant from", + // "submission.sections.upload.form.from-label": "Grant access from", // TODO New key - Add a translation - "submission.sections.upload.form.from-label": "Access grant from", + "submission.sections.upload.form.from-label": "Grant access from", // "submission.sections.upload.form.from-placeholder": "From", // TODO New key - Add a translation @@ -4562,9 +6439,9 @@ // TODO New key - Add a translation "submission.sections.upload.form.group-required": "Group is required.", - // "submission.sections.upload.form.until-label": "Access grant until", + // "submission.sections.upload.form.until-label": "Grant access until", // TODO New key - Add a translation - "submission.sections.upload.form.until-label": "Access grant until", + "submission.sections.upload.form.until-label": "Grant access until", // "submission.sections.upload.form.until-placeholder": "Until", // TODO New key - Add a translation @@ -4731,13 +6608,34 @@ "title": "DSpace", - // "administrativeView.search.results.head": "Administrative Search", - // TODO New key - Add a translation - "administrativeView.search.results.head": "Administrative Search", - // "menu.section.admin_search": "Admin Search", + // "vocabulary-treeview.header": "Hierarchical tree view", // TODO New key - Add a translation - "menu.section.admin_search": "Admin Search", + "vocabulary-treeview.header": "Hierarchical tree view", + + // "vocabulary-treeview.load-more": "Load more", + // TODO New key - Add a translation + "vocabulary-treeview.load-more": "Load more", + + // "vocabulary-treeview.search.form.reset": "Reset", + // TODO New key - Add a translation + "vocabulary-treeview.search.form.reset": "Reset", + + // "vocabulary-treeview.search.form.search": "Search", + // TODO New key - Add a translation + "vocabulary-treeview.search.form.search": "Search", + + // "vocabulary-treeview.search.no-result": "There were no items to show", + // TODO New key - Add a translation + "vocabulary-treeview.search.no-result": "There were no items to show", + + // "vocabulary-treeview.tree.description.nsi": "The Norwegian Science Index", + // TODO New key - Add a translation + "vocabulary-treeview.tree.description.nsi": "The Norwegian Science Index", + + // "vocabulary-treeview.tree.description.srsc": "Research Subject Categories", + // TODO New key - Add a translation + "vocabulary-treeview.tree.description.srsc": "Research Subject Categories", @@ -4749,9 +6647,9 @@ // TODO New key - Add a translation "uploader.drag-message": "Drag & Drop your files here", - // "uploader.or": ", or", + // "uploader.or": ", or ", // TODO New key - Add a translation - "uploader.or": ", or", + "uploader.or": ", or ", // "uploader.processing": "Processing", // TODO New key - Add a translation @@ -4774,5 +6672,77 @@ "virtual-metadata.delete-relationship.modal-head": "Select the items for which you want to save the virtual metadata as real metadata", + + // "workflowAdmin.search.results.head": "Administer Workflow", + // TODO New key - Add a translation + "workflowAdmin.search.results.head": "Administer Workflow", + + + + // "workflow-item.delete.notification.success.title": "Deleted", + // TODO New key - Add a translation + "workflow-item.delete.notification.success.title": "Deleted", + + // "workflow-item.delete.notification.success.content": "This workflow item was successfully deleted", + // TODO New key - Add a translation + "workflow-item.delete.notification.success.content": "This workflow item was successfully deleted", + + // "workflow-item.delete.notification.error.title": "Something went wrong", + // TODO New key - Add a translation + "workflow-item.delete.notification.error.title": "Something went wrong", + + // "workflow-item.delete.notification.error.content": "The workflow item could not be deleted", + // TODO New key - Add a translation + "workflow-item.delete.notification.error.content": "The workflow item could not be deleted", + + // "workflow-item.delete.title": "Delete workflow item", + // TODO New key - Add a translation + "workflow-item.delete.title": "Delete workflow item", + + // "workflow-item.delete.header": "Delete workflow item", + // TODO New key - Add a translation + "workflow-item.delete.header": "Delete workflow item", + + // "workflow-item.delete.button.cancel": "Cancel", + // TODO New key - Add a translation + "workflow-item.delete.button.cancel": "Cancel", + + // "workflow-item.delete.button.confirm": "Delete", + // TODO New key - Add a translation + "workflow-item.delete.button.confirm": "Delete", + + + // "workflow-item.send-back.notification.success.title": "Sent back to submitter", + // TODO New key - Add a translation + "workflow-item.send-back.notification.success.title": "Sent back to submitter", + + // "workflow-item.send-back.notification.success.content": "This workflow item was successfully sent back to the submitter", + // TODO New key - Add a translation + "workflow-item.send-back.notification.success.content": "This workflow item was successfully sent back to the submitter", + + // "workflow-item.send-back.notification.error.title": "Something went wrong", + // TODO New key - Add a translation + "workflow-item.send-back.notification.error.title": "Something went wrong", + + // "workflow-item.send-back.notification.error.content": "The workflow item could not be sent back to the submitter", + // TODO New key - Add a translation + "workflow-item.send-back.notification.error.content": "The workflow item could not be sent back to the submitter", + + // "workflow-item.send-back.title": "Send workflow item back to submitter", + // TODO New key - Add a translation + "workflow-item.send-back.title": "Send workflow item back to submitter", + + // "workflow-item.send-back.header": "Send workflow item back to submitter", + // TODO New key - Add a translation + "workflow-item.send-back.header": "Send workflow item back to submitter", + + // "workflow-item.send-back.button.cancel": "Cancel", + // TODO New key - Add a translation + "workflow-item.send-back.button.cancel": "Cancel", + + // "workflow-item.send-back.button.confirm": "Send back" + // TODO New key - Add a translation + "workflow-item.send-back.button.confirm": "Send back" + } \ No newline at end of file diff --git a/src/assets/i18n/pt-BR.json5 b/src/assets/i18n/pt-BR.json5 index edc09dbf03..3b152196bd 100644 --- a/src/assets/i18n/pt-BR.json5 +++ b/src/assets/i18n/pt-BR.json5 @@ -1,3966 +1,5948 @@ { - + + // "401.help": "You're not authorized to access this page. You can use the button below to get back to the home page.", + // TODO New key - Add a translation + "401.help": "You're not authorized to access this page. You can use the button below to get back to the home page.", + + // "401.link.home-page": "Take me to the home page", + // TODO New key - Add a translation + "401.link.home-page": "Take me to the home page", + + // "401.unauthorized": "unauthorized", + // TODO New key - Add a translation + "401.unauthorized": "unauthorized", + + + + // "403.help": "You don't have permission to access this page. You can use the button below to get back to the home page.", + // TODO New key - Add a translation + "403.help": "You don't have permission to access this page. You can use the button below to get back to the home page.", + + // "403.link.home-page": "Take me to the home page", + // TODO New key - Add a translation + "403.link.home-page": "Take me to the home page", + + // "403.forbidden": "forbidden", + // TODO New key - Add a translation + "403.forbidden": "forbidden", + + + // "404.help": "We can't find the page you're looking for. The page may have been moved or deleted. You can use the button below to get back to the home page. ", "404.help": "Não pudemos encontrar a página pela qual procura. A página pode ter sido movida ou apagada. Você pode utilizar o botão abaixo para voltar a página inicial. ", - + // "404.link.home-page": "Take me to the home page", "404.link.home-page": "Leve-me a página inicial", - + // "404.page-not-found": "page not found", "404.page-not-found": "página não encontrada", - - - + + // "admin.curation-tasks.breadcrumbs": "System curation tasks", + // TODO New key - Add a translation + "admin.curation-tasks.breadcrumbs": "System curation tasks", + + // "admin.curation-tasks.title": "System curation tasks", + // TODO New key - Add a translation + "admin.curation-tasks.title": "System curation tasks", + + // "admin.curation-tasks.header": "System curation tasks", + // TODO New key - Add a translation + "admin.curation-tasks.header": "System curation tasks", + + // "admin.registries.bitstream-formats.breadcrumbs": "Format registry", + // TODO New key - Add a translation + "admin.registries.bitstream-formats.breadcrumbs": "Format registry", + + // "admin.registries.bitstream-formats.create.breadcrumbs": "Bitstream format", + // TODO New key - Add a translation + "admin.registries.bitstream-formats.create.breadcrumbs": "Bitstream format", + // "admin.registries.bitstream-formats.create.failure.content": "An error occurred while creating the new bitstream format.", "admin.registries.bitstream-formats.create.failure.content": "Um erro ocorreu durante a criação do novo formato de bitstream.", - + // "admin.registries.bitstream-formats.create.failure.head": "Failure", "admin.registries.bitstream-formats.create.failure.head": "Falha", - + // "admin.registries.bitstream-formats.create.head": "Create Bitstream format", "admin.registries.bitstream-formats.create.head": "Criar formato de Bitstream", - + // "admin.registries.bitstream-formats.create.new": "Add a new bitstream format", "admin.registries.bitstream-formats.create.new": "Adicionar um novo formato de bitstream", - + // "admin.registries.bitstream-formats.create.success.content": "The new bitstream format was successfully created.", "admin.registries.bitstream-formats.create.success.content": "O novo formato de bitstream foi criado com sucesso.", - + // "admin.registries.bitstream-formats.create.success.head": "Success", "admin.registries.bitstream-formats.create.success.head": "Sucesso", - + // "admin.registries.bitstream-formats.delete.failure.amount": "Failed to remove {{ amount }} format(s)", "admin.registries.bitstream-formats.delete.failure.amount": "Falha ao remover {{ amount }} formato(s)", - + // "admin.registries.bitstream-formats.delete.failure.head": "Failure", "admin.registries.bitstream-formats.delete.failure.head": "Falha", - + // "admin.registries.bitstream-formats.delete.success.amount": "Successfully removed {{ amount }} format(s)", "admin.registries.bitstream-formats.delete.success.amount": "Removeu {{ amount }} formato(s) com sucesso", - + // "admin.registries.bitstream-formats.delete.success.head": "Success", "admin.registries.bitstream-formats.delete.success.head": "Sucesso", - + // "admin.registries.bitstream-formats.description": "This list of bitstream formats provides information about known formats and their support level.", "admin.registries.bitstream-formats.description": "Esta lista de formatos de bitstream provê informações sobre formatos conhecidos e seus níveis de suporte.", - + + // "admin.registries.bitstream-formats.edit.breadcrumbs": "Bitstream format", + // TODO New key - Add a translation + "admin.registries.bitstream-formats.edit.breadcrumbs": "Bitstream format", + // "admin.registries.bitstream-formats.edit.description.hint": "", "admin.registries.bitstream-formats.edit.description.hint": "", - + // "admin.registries.bitstream-formats.edit.description.label": "Description", "admin.registries.bitstream-formats.edit.description.label": "Descrição", - + // "admin.registries.bitstream-formats.edit.extensions.hint": "Extensions are file extensions that are used to automatically identify the format of uploaded files. You can enter several extensions for each format.", "admin.registries.bitstream-formats.edit.extensions.hint": "Extensões são extensões de arquivo que são usadas para identificar automaticamente o formato dos arquivo enviados. Você pode informar várias extensões para cada formato.", - + // "admin.registries.bitstream-formats.edit.extensions.label": "File extensions", "admin.registries.bitstream-formats.edit.extensions.label": "Extensões de arquivo", - + // "admin.registries.bitstream-formats.edit.extensions.placeholder": "Enter a file extension without the dot", // TODO Source message changed - Revise the translation "admin.registries.bitstream-formats.edit.extensions.placeholder": "Informe uma extenção e arquivo sem o ponto", - + // "admin.registries.bitstream-formats.edit.failure.content": "An error occurred while editing the bitstream format.", "admin.registries.bitstream-formats.edit.failure.content": "Ocorreu um erro ao editar o formato de bitstream.", - + // "admin.registries.bitstream-formats.edit.failure.head": "Failure", "admin.registries.bitstream-formats.edit.failure.head": "Falha", - + // "admin.registries.bitstream-formats.edit.head": "Bitstream format: {{ format }}", "admin.registries.bitstream-formats.edit.head": "Formato de bitstream: {{ format }}", - + // "admin.registries.bitstream-formats.edit.internal.hint": "Formats marked as internal are hidden from the user, and used for administrative purposes.", "admin.registries.bitstream-formats.edit.internal.hint": "Formatos marcados como interno são ocultos para o usuário, e utilizados por motivos administrativos.", - + // "admin.registries.bitstream-formats.edit.internal.label": "Internal", "admin.registries.bitstream-formats.edit.internal.label": "Interno", - + // "admin.registries.bitstream-formats.edit.mimetype.hint": "The MIME type associated with this format, does not have to be unique.", "admin.registries.bitstream-formats.edit.mimetype.hint": "O MIME type associado à este formato não tem que ser único.", - + // "admin.registries.bitstream-formats.edit.mimetype.label": "MIME Type", "admin.registries.bitstream-formats.edit.mimetype.label": "MIME Type", - + // "admin.registries.bitstream-formats.edit.shortDescription.hint": "A unique name for this format, (e.g. Microsoft Word XP or Microsoft Word 2000)", "admin.registries.bitstream-formats.edit.shortDescription.hint": "Um nome único para este formato (exemplo. Microsoft Word XP ou Microsoft Word 2000)", - + // "admin.registries.bitstream-formats.edit.shortDescription.label": "Name", "admin.registries.bitstream-formats.edit.shortDescription.label": "Nome", - + // "admin.registries.bitstream-formats.edit.success.content": "The bitstream format was successfully edited.", "admin.registries.bitstream-formats.edit.success.content": "O formato de bitstream foi editedo com sucesso.", - + // "admin.registries.bitstream-formats.edit.success.head": "Success", "admin.registries.bitstream-formats.edit.success.head": "Sucesso", - + // "admin.registries.bitstream-formats.edit.supportLevel.hint": "The level of support your institution pledges for this format.", "admin.registries.bitstream-formats.edit.supportLevel.hint": "O nível de suporte que a sua instituição promete para este formato.", - + // "admin.registries.bitstream-formats.edit.supportLevel.label": "Support level", "admin.registries.bitstream-formats.edit.supportLevel.label": "Nível de suporte", - + // "admin.registries.bitstream-formats.head": "Bitstream Format Registry", "admin.registries.bitstream-formats.head": "Registro de Formato de Bitstream", - + // "admin.registries.bitstream-formats.no-items": "No bitstream formats to show.", "admin.registries.bitstream-formats.no-items": "Nenhum formato de bitstream para exibir.", - + // "admin.registries.bitstream-formats.table.delete": "Delete selected", "admin.registries.bitstream-formats.table.delete": "Apagar selecionado(s)", - + // "admin.registries.bitstream-formats.table.deselect-all": "Deselect all", "admin.registries.bitstream-formats.table.deselect-all": "Desselecionar todos", - + // "admin.registries.bitstream-formats.table.internal": "internal", "admin.registries.bitstream-formats.table.internal": "Interno", - + // "admin.registries.bitstream-formats.table.mimetype": "MIME Type", "admin.registries.bitstream-formats.table.mimetype": "MIME Type", - + // "admin.registries.bitstream-formats.table.name": "Name", "admin.registries.bitstream-formats.table.name": "Nome", - + // "admin.registries.bitstream-formats.table.return": "Return", "admin.registries.bitstream-formats.table.return": "Voltar", - + // "admin.registries.bitstream-formats.table.supportLevel.KNOWN": "Known", "admin.registries.bitstream-formats.table.supportLevel.KNOWN": "Conhecido", - + // "admin.registries.bitstream-formats.table.supportLevel.SUPPORTED": "Supported", "admin.registries.bitstream-formats.table.supportLevel.SUPPORTED": "Com suporte", - + // "admin.registries.bitstream-formats.table.supportLevel.UNKNOWN": "Unknown", "admin.registries.bitstream-formats.table.supportLevel.UNKNOWN": "Desconhecido", - + // "admin.registries.bitstream-formats.table.supportLevel.head": "Support Level", "admin.registries.bitstream-formats.table.supportLevel.head": "Nível de Suporte", - + // "admin.registries.bitstream-formats.title": "DSpace Angular :: Bitstream Format Registry", "admin.registries.bitstream-formats.title": "DSpace Angular :: Registro de Formato de Bitstream", - - - + + + + // "admin.registries.metadata.breadcrumbs": "Metadata registry", + // TODO New key - Add a translation + "admin.registries.metadata.breadcrumbs": "Metadata registry", + // "admin.registries.metadata.description": "The metadata registry maintains a list of all metadata fields available in the repository. These fields may be divided amongst multiple schemas. However, DSpace requires the qualified Dublin Core schema.", "admin.registries.metadata.description": "O registro de metadados mantém a lista de todos os campos de metadados disponíveis no repositório. Estes campos podêm ser divididos em multiplos esquemas. Entretanto, o DSpace requer esquemas de Dublin Core qualificados.", - + // "admin.registries.metadata.form.create": "Create metadata schema", "admin.registries.metadata.form.create": "Criar esquema de metadados", - + // "admin.registries.metadata.form.edit": "Edit metadata schema", "admin.registries.metadata.form.edit": "Editar esquema de metadados", - + // "admin.registries.metadata.form.name": "Name", "admin.registries.metadata.form.name": "Nome", - + // "admin.registries.metadata.form.namespace": "Namespace", "admin.registries.metadata.form.namespace": "Namespace", - + // "admin.registries.metadata.head": "Metadata Registry", "admin.registries.metadata.head": "Registro de Metadados", - + // "admin.registries.metadata.schemas.no-items": "No metadata schemas to show.", "admin.registries.metadata.schemas.no-items": "Nenhum esquema de metadados a mostrar.", - + // "admin.registries.metadata.schemas.table.delete": "Delete selected", "admin.registries.metadata.schemas.table.delete": "Apagar selecionado(s)", - + // "admin.registries.metadata.schemas.table.id": "ID", "admin.registries.metadata.schemas.table.id": "ID", - + // "admin.registries.metadata.schemas.table.name": "Name", "admin.registries.metadata.schemas.table.name": "Nome", - + // "admin.registries.metadata.schemas.table.namespace": "Namespace", "admin.registries.metadata.schemas.table.namespace": "Namespace", - + // "admin.registries.metadata.title": "DSpace Angular :: Metadata Registry", "admin.registries.metadata.title": "DSpace Angular :: Registro de Metadados", - - - + + + + // "admin.registries.schema.breadcrumbs": "Metadata schema", + // TODO New key - Add a translation + "admin.registries.schema.breadcrumbs": "Metadata schema", + // "admin.registries.schema.description": "This is the metadata schema for \"{{namespace}}\".", "admin.registries.schema.description": "Este é o esquema de metadados para \"{{namespace}}\".", - + // "admin.registries.schema.fields.head": "Schema metadata fields", "admin.registries.schema.fields.head": "Campos do esquema de metadados", - + // "admin.registries.schema.fields.no-items": "No metadata fields to show.", "admin.registries.schema.fields.no-items": "Nenhum campo de metadado a exibir.", - + // "admin.registries.schema.fields.table.delete": "Delete selected", "admin.registries.schema.fields.table.delete": "Apagar selecionado(s)", - + // "admin.registries.schema.fields.table.field": "Field", "admin.registries.schema.fields.table.field": "Campo", - + // "admin.registries.schema.fields.table.scopenote": "Scope Note", "admin.registries.schema.fields.table.scopenote": "Nota de escopo", - + // "admin.registries.schema.form.create": "Create metadata field", "admin.registries.schema.form.create": "Criar campo de metadado", - + // "admin.registries.schema.form.edit": "Edit metadata field", "admin.registries.schema.form.edit": "Editar campo de metadado", - + // "admin.registries.schema.form.element": "Element", "admin.registries.schema.form.element": "Elemento", - + // "admin.registries.schema.form.qualifier": "Qualifier", "admin.registries.schema.form.qualifier": "Qualificador", - + // "admin.registries.schema.form.scopenote": "Scope Note", "admin.registries.schema.form.scopenote": "Nota de Escopo", - + // "admin.registries.schema.head": "Metadata Schema", "admin.registries.schema.head": "Esquema de Metadados", - + // "admin.registries.schema.notification.created": "Successfully created metadata schema \"{{prefix}}\"", "admin.registries.schema.notification.created": "Criou o esquema de metadados \"{{prefix}}\" com sucesso", - + // "admin.registries.schema.notification.deleted.failure": "Failed to delete {{amount}} metadata schemas", "admin.registries.schema.notification.deleted.failure": "Falhou ao apagar {{amount}} esquema(s) de metadados", - + // "admin.registries.schema.notification.deleted.success": "Successfully deleted {{amount}} metadata schemas", "admin.registries.schema.notification.deleted.success": "Apagou {{amount}} esquema(s) de metadados com sucesso", - + // "admin.registries.schema.notification.edited": "Successfully edited metadata schema \"{{prefix}}\"", "admin.registries.schema.notification.edited": "Editou o esquema de metadados \"{{prefix}}\" com sucesso", - + // "admin.registries.schema.notification.failure": "Error", "admin.registries.schema.notification.failure": "Erro", - + // "admin.registries.schema.notification.field.created": "Successfully created metadata field \"{{field}}\"", "admin.registries.schema.notification.field.created": "Criou o campo de medado \"{{field}}\" com sucesso", - + // "admin.registries.schema.notification.field.deleted.failure": "Failed to delete {{amount}} metadata fields", "admin.registries.schema.notification.field.deleted.failure": "Falhou ao apagar {{amount}} campo(s) de metadados", - + // "admin.registries.schema.notification.field.deleted.success": "Successfully deleted {{amount}} metadata fields", "admin.registries.schema.notification.field.deleted.success": "Apagou {{amount}} campo(s) de metadados com sucesso", - + // "admin.registries.schema.notification.field.edited": "Successfully edited metadata field \"{{field}}\"", "admin.registries.schema.notification.field.edited": "Editou o campo de metadodo \"{{field}}\" com sucesso", - + // "admin.registries.schema.notification.success": "Success", "admin.registries.schema.notification.success": "Sucesso", - + // "admin.registries.schema.return": "Return", "admin.registries.schema.return": "Voltar", - + // "admin.registries.schema.title": "DSpace Angular :: Metadata Schema Registry", "admin.registries.schema.title": "DSpace Angular :: Registro de Esquema de Metadados", - - - + + + + // "admin.access-control.epeople.actions.delete": "Delete EPerson", + // TODO New key - Add a translation + "admin.access-control.epeople.actions.delete": "Delete EPerson", + + // "admin.access-control.epeople.actions.impersonate": "Impersonate EPerson", + // TODO New key - Add a translation + "admin.access-control.epeople.actions.impersonate": "Impersonate EPerson", + + // "admin.access-control.epeople.actions.reset": "Reset password", + // TODO New key - Add a translation + "admin.access-control.epeople.actions.reset": "Reset password", + + // "admin.access-control.epeople.actions.stop-impersonating": "Stop impersonating EPerson", + // TODO New key - Add a translation + "admin.access-control.epeople.actions.stop-impersonating": "Stop impersonating EPerson", + // "admin.access-control.epeople.title": "DSpace Angular :: EPeople", // TODO New key - Add a translation "admin.access-control.epeople.title": "DSpace Angular :: EPeople", - + // "admin.access-control.epeople.head": "EPeople", // TODO New key - Add a translation "admin.access-control.epeople.head": "EPeople", - + // "admin.access-control.epeople.search.head": "Search", // TODO New key - Add a translation "admin.access-control.epeople.search.head": "Search", - + // "admin.access-control.epeople.button.see-all": "Browse All", "admin.access-control.epeople.button.see-all": "Pesquisar Todos", - + // "admin.access-control.epeople.search.scope.metadata": "Metadata", // TODO New key - Add a translation "admin.access-control.epeople.search.scope.metadata": "Metadata", - + // "admin.access-control.epeople.search.scope.email": "E-mail (exact)", // TODO New key - Add a translation "admin.access-control.epeople.search.scope.email": "E-mail (exact)", - + // "admin.access-control.epeople.search.button": "Search", // TODO New key - Add a translation "admin.access-control.epeople.search.button": "Search", - + // "admin.access-control.epeople.button.add": "Add EPerson", // TODO New key - Add a translation "admin.access-control.epeople.button.add": "Add EPerson", - + // "admin.access-control.epeople.table.id": "ID", // TODO New key - Add a translation "admin.access-control.epeople.table.id": "ID", - + // "admin.access-control.epeople.table.name": "Name", "admin.access-control.epeople.table.name": "Nome", - + // "admin.access-control.epeople.table.email": "E-mail (exact)", // TODO New key - Add a translation "admin.access-control.epeople.table.email": "E-mail (exact)", - + // "admin.access-control.epeople.table.edit": "Edit", // TODO New key - Add a translation "admin.access-control.epeople.table.edit": "Edit", - + // "admin.access-control.epeople.table.edit.buttons.edit": "Edit \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.epeople.table.edit.buttons.edit": "Edit \"{{name}}\"", - + // "admin.access-control.epeople.table.edit.buttons.remove": "Delete \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.epeople.table.edit.buttons.remove": "Delete \"{{name}}\"", - + // "admin.access-control.epeople.no-items": "No EPeople to show.", // TODO New key - Add a translation "admin.access-control.epeople.no-items": "No EPeople to show.", - + // "admin.access-control.epeople.form.create": "Create EPerson", // TODO New key - Add a translation "admin.access-control.epeople.form.create": "Create EPerson", - + // "admin.access-control.epeople.form.edit": "Edit EPerson", // TODO New key - Add a translation "admin.access-control.epeople.form.edit": "Edit EPerson", - + // "admin.access-control.epeople.form.firstName": "First name", // TODO New key - Add a translation "admin.access-control.epeople.form.firstName": "First name", - + // "admin.access-control.epeople.form.lastName": "Last name", // TODO New key - Add a translation "admin.access-control.epeople.form.lastName": "Last name", - + // "admin.access-control.epeople.form.email": "E-mail", // TODO New key - Add a translation "admin.access-control.epeople.form.email": "E-mail", - + // "admin.access-control.epeople.form.emailHint": "Must be valid e-mail address", // TODO New key - Add a translation "admin.access-control.epeople.form.emailHint": "Must be valid e-mail address", - + // "admin.access-control.epeople.form.canLogIn": "Can log in", // TODO New key - Add a translation "admin.access-control.epeople.form.canLogIn": "Can log in", - + // "admin.access-control.epeople.form.requireCertificate": "Requires certificate", // TODO New key - Add a translation "admin.access-control.epeople.form.requireCertificate": "Requires certificate", - + // "admin.access-control.epeople.form.notification.created.success": "Successfully created EPerson \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.epeople.form.notification.created.success": "Successfully created EPerson \"{{name}}\"", - + // "admin.access-control.epeople.form.notification.created.failure": "Failed to create EPerson \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.epeople.form.notification.created.failure": "Failed to create EPerson \"{{name}}\"", - + // "admin.access-control.epeople.form.notification.created.failure.emailInUse": "Failed to create EPerson \"{{name}}\", email \"{{email}}\" already in use.", // TODO New key - Add a translation "admin.access-control.epeople.form.notification.created.failure.emailInUse": "Failed to create EPerson \"{{name}}\", email \"{{email}}\" already in use.", - + // "admin.access-control.epeople.form.notification.edited.failure.emailInUse": "Failed to edit EPerson \"{{name}}\", email \"{{email}}\" already in use.", // TODO New key - Add a translation "admin.access-control.epeople.form.notification.edited.failure.emailInUse": "Failed to edit EPerson \"{{name}}\", email \"{{email}}\" already in use.", - + // "admin.access-control.epeople.form.notification.edited.success": "Successfully edited EPerson \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.epeople.form.notification.edited.success": "Successfully edited EPerson \"{{name}}\"", - + // "admin.access-control.epeople.form.notification.edited.failure": "Failed to edit EPerson \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.epeople.form.notification.edited.failure": "Failed to edit EPerson \"{{name}}\"", - + + // "admin.access-control.epeople.form.notification.deleted.success": "Successfully deleted EPerson \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.epeople.form.notification.deleted.success": "Successfully deleted EPerson \"{{name}}\"", + + // "admin.access-control.epeople.form.notification.deleted.failure": "Failed to delete EPerson \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.epeople.form.notification.deleted.failure": "Failed to delete EPerson \"{{name}}\"", + // "admin.access-control.epeople.form.groupsEPersonIsMemberOf": "Member of these groups:", // TODO New key - Add a translation "admin.access-control.epeople.form.groupsEPersonIsMemberOf": "Member of these groups:", - + // "admin.access-control.epeople.form.table.id": "ID", // TODO New key - Add a translation "admin.access-control.epeople.form.table.id": "ID", - + // "admin.access-control.epeople.form.table.name": "Name", "admin.access-control.epeople.form.table.name": "Nome", - + // "admin.access-control.epeople.form.memberOfNoGroups": "This EPerson is not a member of any groups", // TODO New key - Add a translation "admin.access-control.epeople.form.memberOfNoGroups": "This EPerson is not a member of any groups", - + // "admin.access-control.epeople.form.goToGroups": "Add to groups", // TODO New key - Add a translation "admin.access-control.epeople.form.goToGroups": "Add to groups", - + // "admin.access-control.epeople.notification.deleted.failure": "Failed to delete EPerson: \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.epeople.notification.deleted.failure": "Failed to delete EPerson: \"{{name}}\"", - + // "admin.access-control.epeople.notification.deleted.success": "Successfully deleted EPerson: \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.epeople.notification.deleted.success": "Successfully deleted EPerson: \"{{name}}\"", - - - + + + // "admin.access-control.groups.title": "DSpace Angular :: Groups", // TODO New key - Add a translation "admin.access-control.groups.title": "DSpace Angular :: Groups", - + + // "admin.access-control.groups.title.singleGroup": "DSpace Angular :: Edit Group", + // TODO New key - Add a translation + "admin.access-control.groups.title.singleGroup": "DSpace Angular :: Edit Group", + + // "admin.access-control.groups.title.addGroup": "DSpace Angular :: New Group", + // TODO New key - Add a translation + "admin.access-control.groups.title.addGroup": "DSpace Angular :: New Group", + // "admin.access-control.groups.head": "Groups", "admin.access-control.groups.head": "Grupos", - + // "admin.access-control.groups.button.add": "Add group", "admin.access-control.groups.button.add": "Adicionar grupo", - + // "admin.access-control.groups.search.head": "Search groups", "admin.access-control.groups.search.head": "Pesquisar grupos", - + // "admin.access-control.groups.button.see-all": "Browse all", // TODO New key - Add a translation "admin.access-control.groups.button.see-all": "Browse all", - + // "admin.access-control.groups.search.button": "Search", // TODO New key - Add a translation "admin.access-control.groups.search.button": "Search", - + // "admin.access-control.groups.table.id": "ID", // TODO New key - Add a translation "admin.access-control.groups.table.id": "ID", - + // "admin.access-control.groups.table.name": "Name", "admin.access-control.groups.table.name": "Nome", - + // "admin.access-control.groups.table.members": "Members", // TODO New key - Add a translation "admin.access-control.groups.table.members": "Members", - - // "admin.access-control.groups.table.comcol": "Community / Collection", - // TODO New key - Add a translation - "admin.access-control.groups.table.comcol": "Community / Collection", - + // "admin.access-control.groups.table.edit": "Edit", "admin.access-control.groups.table.edit": "Editar", - + // "admin.access-control.groups.table.edit.buttons.edit": "Edit \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.groups.table.edit.buttons.edit": "Edit \"{{name}}\"", - + // "admin.access-control.groups.table.edit.buttons.remove": "Delete \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.groups.table.edit.buttons.remove": "Delete \"{{name}}\"", - + // "admin.access-control.groups.no-items": "No groups found with this in their name or this as UUID", // TODO New key - Add a translation "admin.access-control.groups.no-items": "No groups found with this in their name or this as UUID", - + // "admin.access-control.groups.notification.deleted.success": "Successfully deleted group \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.groups.notification.deleted.success": "Successfully deleted group \"{{name}}\"", - - // "admin.access-control.groups.notification.deleted.failure": "Failed to delete group \"{{name}}\"", + + // "admin.access-control.groups.notification.deleted.failure.title": "Failed to delete group \"{{name}}\"", // TODO New key - Add a translation - "admin.access-control.groups.notification.deleted.failure": "Failed to delete group \"{{name}}\"", - - + "admin.access-control.groups.notification.deleted.failure.title": "Failed to delete group \"{{name}}\"", + + // "admin.access-control.groups.notification.deleted.failure.content": "Cause: \"{{cause}}\"", + // TODO New key - Add a translation + "admin.access-control.groups.notification.deleted.failure.content": "Cause: \"{{cause}}\"", + + + + // "admin.access-control.groups.form.alert.permanent": "This group is permanent, so it can't be edited or deleted. You can still add and remove group members using this page.", + // TODO New key - Add a translation + "admin.access-control.groups.form.alert.permanent": "This group is permanent, so it can't be edited or deleted. You can still add and remove group members using this page.", + + // "admin.access-control.groups.form.alert.workflowGroup": "This group can’t be modified or deleted because it corresponds to a role in the submission and workflow process in the \"{{name}}\" {{comcol}}. You can delete it from the \"assign roles\" tab on the edit {{comcol}} page. You can still add and remove group members using this page.", + // TODO New key - Add a translation + "admin.access-control.groups.form.alert.workflowGroup": "This group can’t be modified or deleted because it corresponds to a role in the submission and workflow process in the \"{{name}}\" {{comcol}}. You can delete it from the \"assign roles\" tab on the edit {{comcol}} page. You can still add and remove group members using this page.", + // "admin.access-control.groups.form.head.create": "Create group", "admin.access-control.groups.form.head.create": "Criar grupo", - + // "admin.access-control.groups.form.head.edit": "Edit group", "admin.access-control.groups.form.head.edit": "Editar grupo", - + // "admin.access-control.groups.form.groupName": "Group name", "admin.access-control.groups.form.groupName": "Nome do grupo", - + // "admin.access-control.groups.form.groupDescription": "Description", "admin.access-control.groups.form.groupDescription": "Descrição", - + // "admin.access-control.groups.form.notification.created.success": "Successfully created Group \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.groups.form.notification.created.success": "Successfully created Group \"{{name}}\"", - + // "admin.access-control.groups.form.notification.created.failure": "Failed to create Group \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.groups.form.notification.created.failure": "Failed to create Group \"{{name}}\"", - + // "admin.access-control.groups.form.notification.created.failure.groupNameInUse": "Failed to create Group with name: \"{{name}}\", make sure the name is not already in use.", // TODO New key - Add a translation "admin.access-control.groups.form.notification.created.failure.groupNameInUse": "Failed to create Group with name: \"{{name}}\", make sure the name is not already in use.", - + + // "admin.access-control.groups.form.notification.edited.failure": "Failed to edit Group \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.edited.failure": "Failed to edit Group \"{{name}}\"", + + // "admin.access-control.groups.form.notification.edited.failure.groupNameInUse": "Name \"{{name}}\" already in use!", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.edited.failure.groupNameInUse": "Name \"{{name}}\" already in use!", + + // "admin.access-control.groups.form.notification.edited.success": "Successfully edited Group \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.edited.success": "Successfully edited Group \"{{name}}\"", + + // "admin.access-control.groups.form.actions.delete": "Delete Group", + // TODO New key - Add a translation + "admin.access-control.groups.form.actions.delete": "Delete Group", + + // "admin.access-control.groups.form.delete-group.modal.header": "Delete Group \"{{ dsoName }}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.delete-group.modal.header": "Delete Group \"{{ dsoName }}\"", + + // "admin.access-control.groups.form.delete-group.modal.info": "Are you sure you want to delete Group \"{{ dsoName }}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.delete-group.modal.info": "Are you sure you want to delete Group \"{{ dsoName }}\"", + + // "admin.access-control.groups.form.delete-group.modal.cancel": "Cancel", + // TODO New key - Add a translation + "admin.access-control.groups.form.delete-group.modal.cancel": "Cancel", + + // "admin.access-control.groups.form.delete-group.modal.confirm": "Delete", + // TODO New key - Add a translation + "admin.access-control.groups.form.delete-group.modal.confirm": "Delete", + + // "admin.access-control.groups.form.notification.deleted.success": "Successfully deleted group \"{{ name }}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.deleted.success": "Successfully deleted group \"{{ name }}\"", + + // "admin.access-control.groups.form.notification.deleted.failure.title": "Failed to delete group \"{{ name }}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.deleted.failure.title": "Failed to delete group \"{{ name }}\"", + + // "admin.access-control.groups.form.notification.deleted.failure.content": "Cause: \"{{ cause }}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.deleted.failure.content": "Cause: \"{{ cause }}\"", + // "admin.access-control.groups.form.members-list.head": "EPeople", // TODO New key - Add a translation "admin.access-control.groups.form.members-list.head": "EPeople", - + // "admin.access-control.groups.form.members-list.search.head": "Add EPeople", // TODO New key - Add a translation "admin.access-control.groups.form.members-list.search.head": "Add EPeople", - + // "admin.access-control.groups.form.members-list.button.see-all": "Browse All", // TODO New key - Add a translation "admin.access-control.groups.form.members-list.button.see-all": "Browse All", - + // "admin.access-control.groups.form.members-list.headMembers": "Current Members", // TODO New key - Add a translation "admin.access-control.groups.form.members-list.headMembers": "Current Members", - + // "admin.access-control.groups.form.members-list.search.scope.metadata": "Metadata", // TODO New key - Add a translation "admin.access-control.groups.form.members-list.search.scope.metadata": "Metadata", - + // "admin.access-control.groups.form.members-list.search.scope.email": "E-mail (exact)", // TODO New key - Add a translation "admin.access-control.groups.form.members-list.search.scope.email": "E-mail (exact)", - + // "admin.access-control.groups.form.members-list.search.button": "Search", // TODO New key - Add a translation "admin.access-control.groups.form.members-list.search.button": "Search", - + // "admin.access-control.groups.form.members-list.table.id": "ID", // TODO New key - Add a translation "admin.access-control.groups.form.members-list.table.id": "ID", - + // "admin.access-control.groups.form.members-list.table.name": "Name", "admin.access-control.groups.form.members-list.table.name": "Nome", - + // "admin.access-control.groups.form.members-list.table.edit": "Remove / Add", // TODO New key - Add a translation "admin.access-control.groups.form.members-list.table.edit": "Remove / Add", - + // "admin.access-control.groups.form.members-list.table.edit.buttons.remove": "Remove member with name \"{{name}}\"", "admin.access-control.groups.form.members-list.table.edit.buttons.remove": "Remover o membro com nome \"{{name}}\"", - + // "admin.access-control.groups.form.members-list.notification.success.addMember": "Successfully added member: \"{{name}}\"", "admin.access-control.groups.form.members-list.notification.success.addMember": "Membro adicionado com sucesso: \"{{name}}\"", - + // "admin.access-control.groups.form.members-list.notification.failure.addMember": "Failed to add member: \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.groups.form.members-list.notification.failure.addMember": "Failed to add member: \"{{name}}\"", - + // "admin.access-control.groups.form.members-list.notification.success.deleteMember": "Successfully deleted member: \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.groups.form.members-list.notification.success.deleteMember": "Successfully deleted member: \"{{name}}\"", - + // "admin.access-control.groups.form.members-list.notification.failure.deleteMember": "Failed to delete member: \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.groups.form.members-list.notification.failure.deleteMember": "Failed to delete member: \"{{name}}\"", - + // "admin.access-control.groups.form.members-list.table.edit.buttons.add": "Add member with name \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.groups.form.members-list.table.edit.buttons.add": "Add member with name \"{{name}}\"", - + // "admin.access-control.groups.form.members-list.notification.failure.noActiveGroup": "No current active group, submit a name first.", // TODO New key - Add a translation "admin.access-control.groups.form.members-list.notification.failure.noActiveGroup": "No current active group, submit a name first.", - + // "admin.access-control.groups.form.members-list.no-members-yet": "No members in group yet, search and add.", // TODO New key - Add a translation "admin.access-control.groups.form.members-list.no-members-yet": "No members in group yet, search and add.", - + // "admin.access-control.groups.form.members-list.no-items": "No EPeople found in that search", // TODO New key - Add a translation "admin.access-control.groups.form.members-list.no-items": "No EPeople found in that search", - + + // "admin.access-control.groups.form.subgroups-list.notification.failure": "Something went wrong: \"{{cause}}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.subgroups-list.notification.failure": "Something went wrong: \"{{cause}}\"", + // "admin.access-control.groups.form.subgroups-list.head": "Groups", "admin.access-control.groups.form.subgroups-list.head": "Grupos", - + // "admin.access-control.groups.form.subgroups-list.search.head": "Add Subgroup", // TODO New key - Add a translation "admin.access-control.groups.form.subgroups-list.search.head": "Add Subgroup", - + // "admin.access-control.groups.form.subgroups-list.button.see-all": "Browse All", // TODO New key - Add a translation "admin.access-control.groups.form.subgroups-list.button.see-all": "Browse All", - + // "admin.access-control.groups.form.subgroups-list.headSubgroups": "Current Subgroups", // TODO New key - Add a translation "admin.access-control.groups.form.subgroups-list.headSubgroups": "Current Subgroups", - + // "admin.access-control.groups.form.subgroups-list.search.button": "Search", // TODO New key - Add a translation "admin.access-control.groups.form.subgroups-list.search.button": "Search", - + // "admin.access-control.groups.form.subgroups-list.table.id": "ID", // TODO New key - Add a translation "admin.access-control.groups.form.subgroups-list.table.id": "ID", - + // "admin.access-control.groups.form.subgroups-list.table.name": "Name", "admin.access-control.groups.form.subgroups-list.table.name": "Nome", - + // "admin.access-control.groups.form.subgroups-list.table.edit": "Remove / Add", "admin.access-control.groups.form.subgroups-list.table.edit": "Remover / Adicionar", - + // "admin.access-control.groups.form.subgroups-list.table.edit.buttons.remove": "Remove subgroup with name \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.groups.form.subgroups-list.table.edit.buttons.remove": "Remove subgroup with name \"{{name}}\"", - + // "admin.access-control.groups.form.subgroups-list.table.edit.buttons.add": "Add subgroup with name \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.groups.form.subgroups-list.table.edit.buttons.add": "Add subgroup with name \"{{name}}\"", - + // "admin.access-control.groups.form.subgroups-list.table.edit.currentGroup": "Current group", "admin.access-control.groups.form.subgroups-list.table.edit.currentGroup": "Grupo atual", - + // "admin.access-control.groups.form.subgroups-list.notification.success.addSubgroup": "Successfully added subgroup: \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.groups.form.subgroups-list.notification.success.addSubgroup": "Successfully added subgroup: \"{{name}}\"", - + // "admin.access-control.groups.form.subgroups-list.notification.failure.addSubgroup": "Failed to add subgroup: \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.groups.form.subgroups-list.notification.failure.addSubgroup": "Failed to add subgroup: \"{{name}}\"", - + // "admin.access-control.groups.form.subgroups-list.notification.success.deleteSubgroup": "Successfully deleted subgroup: \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.groups.form.subgroups-list.notification.success.deleteSubgroup": "Successfully deleted subgroup: \"{{name}}\"", - + // "admin.access-control.groups.form.subgroups-list.notification.failure.deleteSubgroup": "Failed to delete subgroup: \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.groups.form.subgroups-list.notification.failure.deleteSubgroup": "Failed to delete subgroup: \"{{name}}\"", - + // "admin.access-control.groups.form.subgroups-list.notification.failure.noActiveGroup": "No current active group, submit a name first.", // TODO New key - Add a translation "admin.access-control.groups.form.subgroups-list.notification.failure.noActiveGroup": "No current active group, submit a name first.", - + // "admin.access-control.groups.form.subgroups-list.notification.failure.subgroupToAddIsActiveGroup": "This is the current group, can't be added.", // TODO New key - Add a translation "admin.access-control.groups.form.subgroups-list.notification.failure.subgroupToAddIsActiveGroup": "This is the current group, can't be added.", - + // "admin.access-control.groups.form.subgroups-list.no-items": "No groups found with this in their name or this as UUID", // TODO New key - Add a translation "admin.access-control.groups.form.subgroups-list.no-items": "No groups found with this in their name or this as UUID", - + // "admin.access-control.groups.form.subgroups-list.no-subgroups-yet": "No subgroups in group yet.", // TODO New key - Add a translation "admin.access-control.groups.form.subgroups-list.no-subgroups-yet": "No subgroups in group yet.", - + // "admin.access-control.groups.form.return": "Return to groups", "admin.access-control.groups.form.return": "Retornar aos grupos", - - - + + + // "admin.search.breadcrumbs": "Administrative Search", // TODO New key - Add a translation "admin.search.breadcrumbs": "Administrative Search", - + // "admin.search.collection.edit": "Edit", "admin.search.collection.edit": "Editar", - + // "admin.search.community.edit": "Edit", "admin.search.community.edit": "Editar", - + // "admin.search.item.delete": "Delete", // TODO New key - Add a translation "admin.search.item.delete": "Delete", - + // "admin.search.item.edit": "Edit", "admin.search.item.edit": "Editar", - + // "admin.search.item.make-private": "Make Private", "admin.search.item.make-private": "Tornar Privado", - + // "admin.search.item.make-public": "Make Public", "admin.search.item.make-public": "Tornar Público", - + // "admin.search.item.move": "Move", "admin.search.item.move": "Mover", - - // "admin.search.item.private": "Private", - "admin.search.item.private": "Privado", - + // "admin.search.item.reinstate": "Reinstate", // TODO New key - Add a translation "admin.search.item.reinstate": "Reinstate", - + // "admin.search.item.withdraw": "Withdraw", // TODO New key - Add a translation "admin.search.item.withdraw": "Withdraw", - - // "admin.search.item.withdrawn": "Withdrawn", - // TODO New key - Add a translation - "admin.search.item.withdrawn": "Withdrawn", - + // "admin.search.title": "Administrative Search", "admin.search.title": "Pesquisa Administrativa", - - - - // "auth.errors.invalid-user": "Invalid email address or password.", - "auth.errors.invalid-user": "Endereço de email ou senha inválidos.", - - // "auth.messages.expired": "Your session has expired. Please log in again.", - "auth.messages.expired": "Sua sessão expirou. Por favor entre novamente.", - - - - // "bitstream.edit.bitstream": "Bitstream: ", - // TODO New key - Add a translation - "bitstream.edit.bitstream": "Bitstream: ", - - // "bitstream.edit.form.description.hint": "Optionally, provide a brief description of the file, for example \"Main article\" or \"Experiment data readings\".", - // TODO New key - Add a translation - "bitstream.edit.form.description.hint": "Optionally, provide a brief description of the file, for example \"Main article\" or \"Experiment data readings\".", - - // "bitstream.edit.form.description.label": "Description", - "bitstream.edit.form.description.label": "Descrição", - - // "bitstream.edit.form.embargo.hint": "The first day from which access is allowed. This date cannot be modified on this form. To set an embargo date for a bitstream, go to the Item Status tab, click Authorizations..., create or edit the bitstream's READ policy, and set the Start Date as desired.", - // TODO New key - Add a translation - "bitstream.edit.form.embargo.hint": "The first day from which access is allowed. This date cannot be modified on this form. To set an embargo date for a bitstream, go to the Item Status tab, click Authorizations..., create or edit the bitstream's READ policy, and set the Start Date as desired.", - - // "bitstream.edit.form.embargo.label": "Embargo until specific date", - // TODO New key - Add a translation - "bitstream.edit.form.embargo.label": "Embargo until specific date", - - // "bitstream.edit.form.fileName.hint": "Change the filename for the bitstream. Note that this will change the display bitstream URL, but old links will still resolve as long as the sequence ID does not change.", - // TODO New key - Add a translation - "bitstream.edit.form.fileName.hint": "Change the filename for the bitstream. Note that this will change the display bitstream URL, but old links will still resolve as long as the sequence ID does not change.", - - // "bitstream.edit.form.fileName.label": "Filename", - "bitstream.edit.form.fileName.label": "Nome do arquivo", - - // "bitstream.edit.form.newFormat.label": "Describe new format", - "bitstream.edit.form.newFormat.label": "Descreva o novo formato", - - // "bitstream.edit.form.newFormat.hint": "The application you used to create the file, and the version number (for example, \"ACMESoft SuperApp version 1.5\").", - // TODO New key - Add a translation - "bitstream.edit.form.newFormat.hint": "The application you used to create the file, and the version number (for example, \"ACMESoft SuperApp version 1.5\").", - - // "bitstream.edit.form.primaryBitstream.label": "Primary bitstream", - // TODO New key - Add a translation - "bitstream.edit.form.primaryBitstream.label": "Primary bitstream", - - // "bitstream.edit.form.selectedFormat.hint": "If the format is not in the above list, select \"format not in list\" above and describe it under \"Describe new format\".", - // TODO New key - Add a translation - "bitstream.edit.form.selectedFormat.hint": "If the format is not in the above list, select \"format not in list\" above and describe it under \"Describe new format\".", - - // "bitstream.edit.form.selectedFormat.label": "Selected Format", - "bitstream.edit.form.selectedFormat.label": "Formato Selecionado", - - // "bitstream.edit.form.selectedFormat.unknown": "Format not in list", - // TODO New key - Add a translation - "bitstream.edit.form.selectedFormat.unknown": "Format not in list", - - // "bitstream.edit.notifications.error.format.title": "An error occurred saving the bitstream's format", - // TODO New key - Add a translation - "bitstream.edit.notifications.error.format.title": "An error occurred saving the bitstream's format", - - // "bitstream.edit.notifications.saved.content": "Your changes to this bitstream were saved.", - // TODO New key - Add a translation - "bitstream.edit.notifications.saved.content": "Your changes to this bitstream were saved.", - - // "bitstream.edit.notifications.saved.title": "Bitstream saved", - // TODO New key - Add a translation - "bitstream.edit.notifications.saved.title": "Bitstream saved", - - // "bitstream.edit.title": "Edit bitstream", - // TODO New key - Add a translation - "bitstream.edit.title": "Edit bitstream", - - - - // "browse.comcol.by.author": "By Author", - "browse.comcol.by.author": "Por Autor", - - // "browse.comcol.by.dateissued": "By Issue Date", - "browse.comcol.by.dateissued": "Por Data de Publicação", - - // "browse.comcol.by.subject": "By Subject", - "browse.comcol.by.subject": "Por Assunto", - - // "browse.comcol.by.title": "By Title", - "browse.comcol.by.title": "Por Título", - - // "browse.comcol.head": "Browse", - "browse.comcol.head": "Navegar", - - // "browse.empty": "No items to show.", - "browse.empty": "Sem itens a exibir.", - - // "browse.metadata.author": "Author", - "browse.metadata.author": "Autor", - - // "browse.metadata.dateissued": "Issue Date", - "browse.metadata.dateissued": "Data de Publicação", - - // "browse.metadata.subject": "Subject", - "browse.metadata.subject": "Assunto", - - // "browse.metadata.title": "Title", - "browse.metadata.title": "Título", - - // "browse.metadata.author.breadcrumbs": "Browse by Author", - "browse.metadata.author.breadcrumbs": "Pesquisar por Autor", - - // "browse.metadata.dateissued.breadcrumbs": "Browse by Date", - "browse.metadata.dateissued.breadcrumbs": "Pesquisar por Data", - - // "browse.metadata.subject.breadcrumbs": "Browse by Subject", - "browse.metadata.subject.breadcrumbs": "Pesquisar por Assunto", - - // "browse.metadata.title.breadcrumbs": "Browse by Title", - "browse.metadata.title.breadcrumbs": "Pesquisar por Título", - - // "browse.startsWith.choose_start": "(Choose start)", - "browse.startsWith.choose_start": "(Escolha o início)", - - // "browse.startsWith.choose_year": "(Choose year)", - "browse.startsWith.choose_year": "(Escolha o ano)", - - // "browse.startsWith.jump": "Jump to a point in the index:", - "browse.startsWith.jump": "Pular para um ponto do índice:", - - // "browse.startsWith.months.april": "April", - "browse.startsWith.months.april": "Abril", - - // "browse.startsWith.months.august": "August", - "browse.startsWith.months.august": "Agosto", - - // "browse.startsWith.months.december": "December", - "browse.startsWith.months.december": "Dezembro", - - // "browse.startsWith.months.february": "February", - "browse.startsWith.months.february": "Fevereiro", - - // "browse.startsWith.months.january": "January", - "browse.startsWith.months.january": "Janeiro", - - // "browse.startsWith.months.july": "July", - "browse.startsWith.months.july": "Julho", - - // "browse.startsWith.months.june": "June", - "browse.startsWith.months.june": "Junho", - - // "browse.startsWith.months.march": "March", - "browse.startsWith.months.march": "Março", - - // "browse.startsWith.months.may": "May", - "browse.startsWith.months.may": "Maio", - - // "browse.startsWith.months.none": "(Choose month)", - "browse.startsWith.months.none": "(escolha o mês)", - - // "browse.startsWith.months.november": "November", - "browse.startsWith.months.november": "Novembro", - - // "browse.startsWith.months.october": "October", - "browse.startsWith.months.october": "Outubro", - - // "browse.startsWith.months.september": "September", - "browse.startsWith.months.september": "Setembro", - - // "browse.startsWith.submit": "Go", - "browse.startsWith.submit": "Ir", - - // "browse.startsWith.type_date": "Or type in a date (year-month):", - "browse.startsWith.type_date": "Ou informe uma data (ano-mês):", - - // "browse.startsWith.type_text": "Or enter first few letters:", - "browse.startsWith.type_text": "Ou informe as primeiras letras:", - - // "browse.title": "Browsing {{ collection }} by {{ field }} {{ value }}", - "browse.title": "Navegando {{ collection }} por {{ field }} {{ value }}", - - - // "chips.remove": "Remove chip", - "chips.remove": "Remover chip", - - - - // "collection.create.head": "Create a Collection", - "collection.create.head": "Criar uma coleção", - - // "collection.create.notifications.success": "Successfully created the Collection", - // TODO New key - Add a translation - "collection.create.notifications.success": "Successfully created the Collection", - - // "collection.create.sub-head": "Create a Collection for Community {{ parent }}", - "collection.create.sub-head": "Criar uma Coleção na Comunidade {{ parent }}", - - // "collection.delete.cancel": "Cancel", - "collection.delete.cancel": "Cancelar", - - // "collection.delete.confirm": "Confirm", - "collection.delete.confirm": "Confirmar", - - // "collection.delete.head": "Delete Collection", - "collection.delete.head": "Apagar Coleção", - - // "collection.delete.notification.fail": "Collection could not be deleted", - "collection.delete.notification.fail": "Coleção não pôde ser apagada", - - // "collection.delete.notification.success": "Successfully deleted collection", - "collection.delete.notification.success": "Apagou a coleção com sucesso", - - // "collection.delete.text": "Are you sure you want to delete collection \"{{ dso }}\"", - "collection.delete.text": "Você tem certeza que deseja apagar a coleção \"{{ dso }}?\"", - - - - // "collection.edit.delete": "Delete this collection", - "collection.edit.delete": "Apagar esta coleção", - - // "collection.edit.head": "Edit Collection", - "collection.edit.head": "Editar Coleção", - - // "collection.edit.breadcrumbs": "Edit Collection", - // TODO New key - Add a translation - "collection.edit.breadcrumbs": "Edit Collection", - - - - // "collection.edit.item-mapper.cancel": "Cancel", - "collection.edit.item-mapper.cancel": "Cancelar", - - // "collection.edit.item-mapper.collection": "Collection: \"{{name}}\"", - "collection.edit.item-mapper.collection": "Coleção: \"{{name}}\"", - - // "collection.edit.item-mapper.confirm": "Map selected items", - "collection.edit.item-mapper.confirm": "Mapear itens selecionados", - - // "collection.edit.item-mapper.description": "This is the item mapper tool that allows collection administrators to map items from other collections into this collection. You can search for items from other collections and map them, or browse the list of currently mapped items.", - "collection.edit.item-mapper.description": "Esta é a ferramenta de mapeação de itens que permite administradores de coleções a mapear itens de outras coleções nesta. VoCẽ pode busca-los em outras coleções para mapeá-los, ou navegar na lista dos itens atualmente mapeados.", - - // "collection.edit.item-mapper.head": "Item Mapper - Map Items from Other Collections", - "collection.edit.item-mapper.head": "Mapeador de Itens - Mapear itens em Outras Coleções", - - // "collection.edit.item-mapper.no-search": "Please enter a query to search", - "collection.edit.item-mapper.no-search": "Por favor informe uma consulta para buscar", - - // "collection.edit.item-mapper.notifications.map.error.content": "Errors occurred for mapping of {{amount}} items.", - "collection.edit.item-mapper.notifications.map.error.content": "Ocorreu erros ao mapear {{amount}} itens.", - - // "collection.edit.item-mapper.notifications.map.error.head": "Mapping errors", - "collection.edit.item-mapper.notifications.map.error.head": "Erros de mapeamento", - - // "collection.edit.item-mapper.notifications.map.success.content": "Successfully mapped {{amount}} items.", - "collection.edit.item-mapper.notifications.map.success.content": "Mapeou {{amount}} itens com sucesso.", - - // "collection.edit.item-mapper.notifications.map.success.head": "Mapping completed", - "collection.edit.item-mapper.notifications.map.success.head": "Mapeamento completo", - - // "collection.edit.item-mapper.notifications.unmap.error.content": "Errors occurred for removing the mappings of {{amount}} items.", - "collection.edit.item-mapper.notifications.unmap.error.content": "Ocorreram erros ao tentar remover os mapeamentos de {{amount}} item(ns).", - - // "collection.edit.item-mapper.notifications.unmap.error.head": "Remove mapping errors", - "collection.edit.item-mapper.notifications.unmap.error.head": "Erros de remoção de mapeamento", - - // "collection.edit.item-mapper.notifications.unmap.success.content": "Successfully removed the mappings of {{amount}} items.", - "collection.edit.item-mapper.notifications.unmap.success.content": "Removeu os mapeamentps de {{amount}} item(ns) com sucesso.", - - // "collection.edit.item-mapper.notifications.unmap.success.head": "Remove mapping completed", - "collection.edit.item-mapper.notifications.unmap.success.head": "Remoção de mapeamentos completa", - - // "collection.edit.item-mapper.remove": "Remove selected item mappings", - "collection.edit.item-mapper.remove": "Remover mapeamentos selecionados", - - // "collection.edit.item-mapper.tabs.browse": "Browse mapped items", - "collection.edit.item-mapper.tabs.browse": "Navegar por itens mapeados", - - // "collection.edit.item-mapper.tabs.map": "Map new items", - "collection.edit.item-mapper.tabs.map": "Mapear novos itens", - - - - // "collection.edit.logo.label": "Collection logo", - // TODO New key - Add a translation - "collection.edit.logo.label": "Collection logo", - - // "collection.edit.logo.notifications.add.error": "Uploading Collection logo failed. Please verify the content before retrying.", - // TODO New key - Add a translation - "collection.edit.logo.notifications.add.error": "Uploading Collection logo failed. Please verify the content before retrying.", - - // "collection.edit.logo.notifications.add.success": "Upload Collection logo successful.", - // TODO New key - Add a translation - "collection.edit.logo.notifications.add.success": "Upload Collection logo successful.", - - // "collection.edit.logo.notifications.delete.success.title": "Logo deleted", - "collection.edit.logo.notifications.delete.success.title": "Logo removido", - - // "collection.edit.logo.notifications.delete.success.content": "Successfully deleted the collection's logo", - // TODO New key - Add a translation - "collection.edit.logo.notifications.delete.success.content": "Successfully deleted the collection's logo", - - // "collection.edit.logo.notifications.delete.error.title": "Error deleting logo", - // TODO New key - Add a translation - "collection.edit.logo.notifications.delete.error.title": "Error deleting logo", - - // "collection.edit.logo.upload": "Drop a Collection Logo to upload", - // TODO New key - Add a translation - "collection.edit.logo.upload": "Drop a Collection Logo to upload", - - - - // "collection.edit.notifications.success": "Successfully edited the Collection", - // TODO New key - Add a translation - "collection.edit.notifications.success": "Successfully edited the Collection", - - // "collection.edit.return": "Return", - // TODO New key - Add a translation - "collection.edit.return": "Return", - - - - // "collection.edit.tabs.curate.head": "Curate", - // TODO New key - Add a translation - "collection.edit.tabs.curate.head": "Curate", - - // "collection.edit.tabs.curate.title": "Collection Edit - Curate", - // TODO New key - Add a translation - "collection.edit.tabs.curate.title": "Collection Edit - Curate", - - // "collection.edit.tabs.metadata.head": "Edit Metadata", - "collection.edit.tabs.metadata.head": "Editar Metadados", - - // "collection.edit.tabs.metadata.title": "Collection Edit - Metadata", - // TODO New key - Add a translation - "collection.edit.tabs.metadata.title": "Collection Edit - Metadata", - - // "collection.edit.tabs.roles.head": "Assign Roles", - // TODO New key - Add a translation - "collection.edit.tabs.roles.head": "Assign Roles", - - // "collection.edit.tabs.roles.title": "Collection Edit - Roles", - // TODO New key - Add a translation - "collection.edit.tabs.roles.title": "Collection Edit - Roles", - - // "collection.edit.tabs.source.external": "This collection harvests its content from an external source", - // TODO New key - Add a translation - "collection.edit.tabs.source.external": "This collection harvests its content from an external source", - - // "collection.edit.tabs.source.form.errors.oaiSource.required": "You must provide a set id of the target collection.", - // TODO New key - Add a translation - "collection.edit.tabs.source.form.errors.oaiSource.required": "You must provide a set id of the target collection.", - - // "collection.edit.tabs.source.form.harvestType": "Content being harvested", - // TODO New key - Add a translation - "collection.edit.tabs.source.form.harvestType": "Content being harvested", - - // "collection.edit.tabs.source.form.head": "Configure an external source", - // TODO New key - Add a translation - "collection.edit.tabs.source.form.head": "Configure an external source", - - // "collection.edit.tabs.source.form.metadataConfigId": "Metadata Format", - // TODO New key - Add a translation - "collection.edit.tabs.source.form.metadataConfigId": "Metadata Format", - - // "collection.edit.tabs.source.form.oaiSetId": "OAI specific set id", - // TODO New key - Add a translation - "collection.edit.tabs.source.form.oaiSetId": "OAI specific set id", - - // "collection.edit.tabs.source.form.oaiSource": "OAI Provider", - // TODO New key - Add a translation - "collection.edit.tabs.source.form.oaiSource": "OAI Provider", - - // "collection.edit.tabs.source.form.options.harvestType.METADATA_AND_BITSTREAMS": "Harvest metadata and bitstreams (requires ORE support)", - // TODO New key - Add a translation - "collection.edit.tabs.source.form.options.harvestType.METADATA_AND_BITSTREAMS": "Harvest metadata and bitstreams (requires ORE support)", - - // "collection.edit.tabs.source.form.options.harvestType.METADATA_AND_REF": "Harvest metadata and references to bitstreams (requires ORE support)", - // TODO New key - Add a translation - "collection.edit.tabs.source.form.options.harvestType.METADATA_AND_REF": "Harvest metadata and references to bitstreams (requires ORE support)", - - // "collection.edit.tabs.source.form.options.harvestType.METADATA_ONLY": "Harvest metadata only", - // TODO New key - Add a translation - "collection.edit.tabs.source.form.options.harvestType.METADATA_ONLY": "Harvest metadata only", - - // "collection.edit.tabs.source.head": "Content Source", - // TODO New key - Add a translation - "collection.edit.tabs.source.head": "Content Source", - - // "collection.edit.tabs.source.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", - // TODO New key - Add a translation - "collection.edit.tabs.source.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", - - // "collection.edit.tabs.source.notifications.discarded.title": "Changed discarded", - "collection.edit.tabs.source.notifications.discarded.title": "Alterações descartadas", - - // "collection.edit.tabs.source.notifications.invalid.content": "Your changes were not saved. Please make sure all fields are valid before you save.", - // TODO New key - Add a translation - "collection.edit.tabs.source.notifications.invalid.content": "Your changes were not saved. Please make sure all fields are valid before you save.", - - // "collection.edit.tabs.source.notifications.invalid.title": "Metadata invalid", - // TODO New key - Add a translation - "collection.edit.tabs.source.notifications.invalid.title": "Metadata invalid", - - // "collection.edit.tabs.source.notifications.saved.content": "Your changes to this collection's content source were saved.", - // TODO New key - Add a translation - "collection.edit.tabs.source.notifications.saved.content": "Your changes to this collection's content source were saved.", - - // "collection.edit.tabs.source.notifications.saved.title": "Content Source saved", - // TODO New key - Add a translation - "collection.edit.tabs.source.notifications.saved.title": "Content Source saved", - - // "collection.edit.tabs.source.title": "Collection Edit - Content Source", - // TODO New key - Add a translation - "collection.edit.tabs.source.title": "Collection Edit - Content Source", - - - - // "collection.form.abstract": "Short Description", - "collection.form.abstract": "Descrição curta", - - // "collection.form.description": "Introductory text (HTML)", - "collection.form.description": "Texto introdutório (HTML)", - - // "collection.form.errors.title.required": "Please enter a collection name", - "collection.form.errors.title.required": "Por favor informe um nome de coleção", - - // "collection.form.license": "License", - "collection.form.license": "Licença", - - // "collection.form.provenance": "Provenance", - "collection.form.provenance": "Proveniência", - - // "collection.form.rights": "Copyright text (HTML)", - "collection.form.rights": "Texto de direito de cópia (HTML)", - - // "collection.form.tableofcontents": "News (HTML)", - "collection.form.tableofcontents": "Notícias (HTML)", - - // "collection.form.title": "Name", - "collection.form.title": "Nome", - - - - // "collection.page.browse.recent.head": "Recent Submissions", - "collection.page.browse.recent.head": "Submissões Recentes", - - // "collection.page.browse.recent.empty": "No items to show", - "collection.page.browse.recent.empty": "Nenhum item a exibir", - - // "collection.page.handle": "Permanent URI for this collection", - "collection.page.handle": "URI Permanente para esta coleção", - - // "collection.page.license": "License", - "collection.page.license": "Licença", - - // "collection.page.news": "News", - "collection.page.news": "Notícias", - - - - // "collection.select.confirm": "Confirm selected", - "collection.select.confirm": "Confirmar seleção", - - // "collection.select.empty": "No collections to show", - "collection.select.empty": "Nenhuma coleção a mostrar", - - // "collection.select.table.title": "Title", - "collection.select.table.title": "Título", - - - - // "collection.source.update.notifications.error.content": "The provided settings have been tested and didn't work.", - // TODO New key - Add a translation - "collection.source.update.notifications.error.content": "The provided settings have been tested and didn't work.", - - // "collection.source.update.notifications.error.title": "Server Error", - "collection.source.update.notifications.error.title": "Erro no Servidor", - - - - // "communityList.tabTitle": "DSpace - Community List", - // TODO New key - Add a translation - "communityList.tabTitle": "DSpace - Lista de Comunidades", - - // "communityList.title": "List of Communities", - "communityList.title": "Lista de Comunidades", - - // "communityList.showMore": "Show More", - "communityList.showMore": "Mostrar Mais", - - - - // "community.create.head": "Create a Community", - "community.create.head": "Criar uma comunidade", - - // "community.create.notifications.success": "Successfully created the Community", - // TODO New key - Add a translation - "community.create.notifications.success": "Successfully created the Community", - - // "community.create.sub-head": "Create a Sub-Community for Community {{ parent }}", - "community.create.sub-head": "Criar uma Sub-Comunidade para Comunidade {{ parent }}", - - // "community.delete.cancel": "Cancel", - "community.delete.cancel": "Cancelar", - - // "community.delete.confirm": "Confirm", - "community.delete.confirm": "Confirmar", - - // "community.delete.head": "Delete Community", - "community.delete.head": "Apagar Comunidade", - - // "community.delete.notification.fail": "Community could not be deleted", - "community.delete.notification.fail": "Comunidade não pôde ser apagada", - - // "community.delete.notification.success": "Successfully deleted community", - "community.delete.notification.success": "Comunidade apagada com sucesso", - - // "community.delete.text": "Are you sure you want to delete community \"{{ dso }}\"", - "community.delete.text": "Você tem certeza que quer apagar a comunidade \"{{ dso }}\"?", - - // "community.edit.delete": "Delete this community", - "community.edit.delete": "Apagar esta comunidade", - - // "community.edit.head": "Edit Community", - "community.edit.head": "Editar Comunidade", - - // "community.edit.breadcrumbs": "Edit Community", - "community.edit.breadcrumbs": "Editar Comunidade", - - // "community.edit.logo.label": "Community logo", - "community.edit.logo.label": "Logo da Comunidade", - - // "community.edit.logo.notifications.add.error": "Uploading Community logo failed. Please verify the content before retrying.", - // TODO New key - Add a translation - "community.edit.logo.notifications.add.error": "Uploading Community logo failed. Please verify the content before retrying.", - - // "community.edit.logo.notifications.add.success": "Upload Community logo successful.", - // TODO New key - Add a translation - "community.edit.logo.notifications.add.success": "Upload Community logo successful.", - - // "community.edit.logo.notifications.delete.success.title": "Logo deleted", - // TODO New key - Add a translation - "community.edit.logo.notifications.delete.success.title": "Logo deleted", - - // "community.edit.logo.notifications.delete.success.content": "Successfully deleted the community's logo", - // TODO New key - Add a translation - "community.edit.logo.notifications.delete.success.content": "Successfully deleted the community's logo", - - // "community.edit.logo.notifications.delete.error.title": "Error deleting logo", - // TODO New key - Add a translation - "community.edit.logo.notifications.delete.error.title": "Error deleting logo", - - // "community.edit.logo.upload": "Drop a Community Logo to upload", - // TODO New key - Add a translation - "community.edit.logo.upload": "Drop a Community Logo to upload", - - - - // "community.edit.notifications.success": "Successfully edited the Community", - // TODO New key - Add a translation - "community.edit.notifications.success": "Successfully edited the Community", - - // "community.edit.return": "Return", - // TODO New key - Add a translation - "community.edit.return": "Return", - - - - // "community.edit.tabs.curate.head": "Curate", - // TODO New key - Add a translation - "community.edit.tabs.curate.head": "Curate", - - // "community.edit.tabs.curate.title": "Community Edit - Curate", - // TODO New key - Add a translation - "community.edit.tabs.curate.title": "Community Edit - Curate", - - // "community.edit.tabs.metadata.head": "Edit Metadata", - // TODO New key - Add a translation - "community.edit.tabs.metadata.head": "Edit Metadata", - - // "community.edit.tabs.metadata.title": "Community Edit - Metadata", - // TODO New key - Add a translation - "community.edit.tabs.metadata.title": "Community Edit - Metadata", - - // "community.edit.tabs.roles.head": "Assign Roles", - // TODO New key - Add a translation - "community.edit.tabs.roles.head": "Assign Roles", - - // "community.edit.tabs.roles.title": "Community Edit - Roles", - // TODO New key - Add a translation - "community.edit.tabs.roles.title": "Community Edit - Roles", - - - - // "community.form.abstract": "Short Description", - "community.form.abstract": "Descrição curta", - - // "community.form.description": "Introductory text (HTML)", - "community.form.description": "Texto introdutório (HTML)", - - // "community.form.errors.title.required": "Please enter a community name", - "community.form.errors.title.required": "Por favor informe um nome para comunidade", - - // "community.form.rights": "Copyright text (HTML)", - "community.form.rights": "Texto de direito de cópia (HTML)", - - // "community.form.tableofcontents": "News (HTML)", - "community.form.tableofcontents": "Notícias (HTML)", - - // "community.form.title": "Name", - "community.form.title": "Nome", - - // "community.page.handle": "Permanent URI for this community", - "community.page.handle": "URI Permanente desta comunidade", - - // "community.page.license": "License", - "community.page.license": "Licença", - - // "community.page.news": "News", - "community.page.news": "Notícias", - - // "community.all-lists.head": "Subcommunities and Collections", - "community.all-lists.head": "Sub-Comunidade e Coleções", - - // "community.sub-collection-list.head": "Collections of this Community", - "community.sub-collection-list.head": "Coleções desta Comunidade", - - // "community.sub-community-list.head": "Communities of this Community", - "community.sub-community-list.head": "Comunidades desta Comunidade", - - - - // "dso-selector.create.collection.head": "New collection", - "dso-selector.create.collection.head": "Nova coleção", - - // "dso-selector.create.community.head": "New community", - "dso-selector.create.community.head": "Nova comunidade", - - // "dso-selector.create.community.sub-level": "Create a new community in", - "dso-selector.create.community.sub-level": "Criar uma nova coleção em", - - // "dso-selector.create.community.top-level": "Create a new top-level community", - "dso-selector.create.community.top-level": "Criar uma nova comunidade no nível superior", - - // "dso-selector.create.item.head": "New item", - "dso-selector.create.item.head": "Novo item", - - // "dso-selector.edit.collection.head": "Edit collection", - "dso-selector.edit.collection.head": "Editar coleção", - - // "dso-selector.edit.community.head": "Edit community", - "dso-selector.edit.community.head": "Editar comunidade", - - // "dso-selector.edit.item.head": "Edit item", - "dso-selector.edit.item.head": "Editar item", - - // "dso-selector.no-results": "No {{ type }} found", - "dso-selector.no-results": "Nenhum(a) {{ type }} encontrado(a)", - - // "dso-selector.placeholder": "Search for a {{ type }}", - "dso-selector.placeholder": "Buscar por um(a) {{ type }}", - - - - // "error.bitstream": "Error fetching bitstream", - // TODO New key - Add a translation - "error.bitstream": "Error fetching bitstream", - - // "error.browse-by": "Error fetching items", - "error.browse-by": "Erro ao carregar itens", - - // "error.collection": "Error fetching collection", - "error.collection": "Erro ao carregar coleção", - - // "error.collections": "Error fetching collections", - "error.collections": "Erro ao carregar coleções", - - // "error.community": "Error fetching community", - "error.community": "Erro ao carregar comunidade", - - // "error.identifier": "No item found for the identifier", - "error.identifier": "Nenhum item encontrado para o identificador", - - // "error.default": "Error", - "error.default": "Erro", - - // "error.item": "Error fetching item", - "error.item": "Erro ao carregar item", - - // "error.items": "Error fetching items", - "error.items": "Erro ao carregar itens", - - // "error.objects": "Error fetching objects", - "error.objects": "Erro ao carregar objetos", - - // "error.recent-submissions": "Error fetching recent submissions", - "error.recent-submissions": "Erro ao carregar as submissões recentes", - - // "error.search-results": "Error fetching search results", - "error.search-results": "Erro ao carregar os resultados de busca", - - // "error.sub-collections": "Error fetching sub-collections", - "error.sub-collections": "Erro ao carregar sub-coleções", - - // "error.sub-communities": "Error fetching sub-communities", - "error.sub-communities": "Erro ao carregar sub-comunidade", - - // "error.submission.sections.init-form-error": "An error occurred during section initialize, please check your input-form configuration. Details are below :

", - "error.submission.sections.init-form-error": "Ocorreu um erro durante a seção de inicialização, por favor verifique sua configuração de input-form. Detalhes estão abaixo :

", - - // "error.top-level-communities": "Error fetching top-level communities", - "error.top-level-communities": "Erro ao carregar as comunidade de nível superior", - - // "error.validation.license.notgranted": "You must grant this license to complete your submission. If you are unable to grant this license at this time you may save your work and return later or remove the submission.", - "error.validation.license.notgranted": "Você deve concordar com esta licença para completar sua submissão. Se vocẽ não estiver de acordo com esta licença neste momento você pode salvar seu trabalho para continuar depois ou remover a submissão.", - - // "error.validation.pattern": "This input is restricted by the current pattern: {{ pattern }}.", - "error.validation.pattern": "Este campo está restrito ao seguinte padrão: {{ pattern }}.", - - // "error.validation.filerequired": "The file upload is mandatory", - // TODO New key - Add a translation - "error.validation.filerequired": "The file upload is mandatory", - - - - // "footer.copyright": "copyright © 2002-{{ year }}", - "footer.copyright": "copyright © 2002-{{ year }}", - - // "footer.link.dspace": "DSpace software", - "footer.link.dspace": "DSpace software", - - // "footer.link.duraspace": "DuraSpace", - "footer.link.duraspace": "DuraSpace", - - - // "form.add": "Add", - // TODO New key - Add a translation - "form.add": "Add", - - // "form.add-help": "Click here to add the current entry and to add another one", - // TODO New key - Add a translation - "form.add-help": "Click here to add the current entry and to add another one", - - // "form.cancel": "Cancel", - "form.cancel": "Cancelar", - - // "form.clear": "Clear", - "form.clear": "Limpar", - - // "form.clear-help": "Click here to remove the selected value", - "form.clear-help": "Clique aqui para apagar o valor selecionado", - - // "form.edit": "Edit", - "form.edit": "Editar", - - // "form.edit-help": "Click here to edit the selected value", - "form.edit-help": "Clique aqui para editar o valor selecionado", - - // "form.first-name": "First name", - "form.first-name": "Primeiro nome", - - // "form.group-collapse": "Collapse", - "form.group-collapse": "Esconder", - - // "form.group-collapse-help": "Click here to collapse", - "form.group-collapse-help": "Clique aqui para esconder", - - // "form.group-expand": "Expand", - "form.group-expand": "Expandir", - - // "form.group-expand-help": "Click here to expand and add more elements", - "form.group-expand-help": "Clique aqui para expandir e adicionar mais elementos", - - // "form.last-name": "Last name", - "form.last-name": "Último nome", - - // "form.loading": "Loading...", - "form.loading": "Carregando...", - - // "form.lookup": "Lookup", - // TODO New key - Add a translation - "form.lookup": "Lookup", - - // "form.lookup-help": "Click here to look up an existing relation", - // TODO New key - Add a translation - "form.lookup-help": "Click here to look up an existing relation", - - // "form.no-results": "No results found", - "form.no-results": "Nenhum resultado encontrado", - - // "form.no-value": "No value entered", - "form.no-value": "Nenhum valor informado", - - // "form.other-information": {}, - "form.other-information": {}, - - // "form.remove": "Remove", - "form.remove": "Apagar", - - // "form.save": "Save", - "form.save": "Salvar", - - // "form.save-help": "Save changes", - "form.save-help": "Salvar alterações", - - // "form.search": "Search", - "form.search": "Buscar", - - // "form.search-help": "Click here to looking for an existing correspondence", - "form.search-help": "Clique aqui para procurar por uma correspondência existente", - - // "form.submit": "Submit", - "form.submit": "Submeter", - - - - // "home.description": "", - // TODO New key - Add a translation - "home.description": "", - - // "home.title": "DSpace Angular :: Home", - "home.title": "DSpace Angular :: Início", - - // "home.top-level-communities.head": "Communities in DSpace", - "home.top-level-communities.head": "Comunidades no DSpace", - - // "home.top-level-communities.help": "Select a community to browse its collections.", - "home.top-level-communities.help": "Selecione uma comunidade para navegar por suas coleções", - - - - - // "item.bitstreams.upload.bundle": "Bundle", - // TODO New key - Add a translation - "item.bitstreams.upload.bundle": "Bundle", - - // "item.bitstreams.upload.bundle.placeholder": "Select a bundle", - // TODO New key - Add a translation - "item.bitstreams.upload.bundle.placeholder": "Select a bundle", - - // "item.bitstreams.upload.bundle.new": "Create bundle", - // TODO New key - Add a translation - "item.bitstreams.upload.bundle.new": "Create bundle", - - // "item.bitstreams.upload.bundles.empty": "This item doesn\'t contain any bundles to upload a bitstream to.", - // TODO New key - Add a translation - "item.bitstreams.upload.bundles.empty": "This item doesn\'t contain any bundles to upload a bitstream to.", - - // "item.bitstreams.upload.cancel": "Cancel", - // TODO New key - Add a translation - "item.bitstreams.upload.cancel": "Cancel", - - // "item.bitstreams.upload.drop-message": "Drop a file to upload", - // TODO New key - Add a translation - "item.bitstreams.upload.drop-message": "Drop a file to upload", - - // "item.bitstreams.upload.item": "Item: ", - // TODO New key - Add a translation - "item.bitstreams.upload.item": "Item: ", - - // "item.bitstreams.upload.notifications.bundle.created.content": "Successfully created new bundle.", - // TODO New key - Add a translation - "item.bitstreams.upload.notifications.bundle.created.content": "Successfully created new bundle.", - - // "item.bitstreams.upload.notifications.bundle.created.title": "Created bundle", - // TODO New key - Add a translation - "item.bitstreams.upload.notifications.bundle.created.title": "Created bundle", - - // "item.bitstreams.upload.notifications.upload.failed": "Upload failed. Please verify the content before retrying.", - // TODO New key - Add a translation - "item.bitstreams.upload.notifications.upload.failed": "Upload failed. Please verify the content before retrying.", - - // "item.bitstreams.upload.title": "Upload bitstream", - // TODO New key - Add a translation - "item.bitstreams.upload.title": "Upload bitstream", - - - - // "item.edit.bitstreams.bundle.edit.buttons.upload": "Upload", - // TODO New key - Add a translation - "item.edit.bitstreams.bundle.edit.buttons.upload": "Upload", - - // "item.edit.bitstreams.bundle.displaying": "Currently displaying {{ amount }} bitstreams of {{ total }}.", - // TODO New key - Add a translation - "item.edit.bitstreams.bundle.displaying": "Currently displaying {{ amount }} bitstreams of {{ total }}.", - - // "item.edit.bitstreams.bundle.load.all": "Load all ({{ total }})", - // TODO New key - Add a translation - "item.edit.bitstreams.bundle.load.all": "Load all ({{ total }})", - - // "item.edit.bitstreams.bundle.load.more": "Load more", - // TODO New key - Add a translation - "item.edit.bitstreams.bundle.load.more": "Load more", - - // "item.edit.bitstreams.bundle.name": "BUNDLE: {{ name }}", - // TODO New key - Add a translation - "item.edit.bitstreams.bundle.name": "BUNDLE: {{ name }}", - - // "item.edit.bitstreams.discard-button": "Discard", - // TODO New key - Add a translation - "item.edit.bitstreams.discard-button": "Discard", - - // "item.edit.bitstreams.edit.buttons.download": "Download", - // TODO New key - Add a translation - "item.edit.bitstreams.edit.buttons.download": "Download", - - // "item.edit.bitstreams.edit.buttons.drag": "Drag", - // TODO New key - Add a translation - "item.edit.bitstreams.edit.buttons.drag": "Drag", - - // "item.edit.bitstreams.edit.buttons.edit": "Edit", - // TODO New key - Add a translation - "item.edit.bitstreams.edit.buttons.edit": "Edit", - - // "item.edit.bitstreams.edit.buttons.remove": "Remove", - // TODO New key - Add a translation - "item.edit.bitstreams.edit.buttons.remove": "Remove", - - // "item.edit.bitstreams.edit.buttons.undo": "Undo changes", - // TODO New key - Add a translation - "item.edit.bitstreams.edit.buttons.undo": "Undo changes", - - // "item.edit.bitstreams.empty": "This item doesn't contain any bitstreams. Click the upload button to create one.", - // TODO New key - Add a translation - "item.edit.bitstreams.empty": "This item doesn't contain any bitstreams. Click the upload button to create one.", - - // "item.edit.bitstreams.headers.actions": "Actions", - // TODO New key - Add a translation - "item.edit.bitstreams.headers.actions": "Actions", - - // "item.edit.bitstreams.headers.bundle": "Bundle", - // TODO New key - Add a translation - "item.edit.bitstreams.headers.bundle": "Bundle", - - // "item.edit.bitstreams.headers.description": "Description", - // TODO New key - Add a translation - "item.edit.bitstreams.headers.description": "Description", - - // "item.edit.bitstreams.headers.format": "Format", - // TODO New key - Add a translation - "item.edit.bitstreams.headers.format": "Format", - - // "item.edit.bitstreams.headers.name": "Name", - // TODO New key - Add a translation - "item.edit.bitstreams.headers.name": "Name", - - // "item.edit.bitstreams.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", - // TODO New key - Add a translation - "item.edit.bitstreams.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", - - // "item.edit.bitstreams.notifications.discarded.title": "Changes discarded", - // TODO New key - Add a translation - "item.edit.bitstreams.notifications.discarded.title": "Changes discarded", - - // "item.edit.bitstreams.notifications.move.failed.title": "Error moving bitstreams", - // TODO New key - Add a translation - "item.edit.bitstreams.notifications.move.failed.title": "Error moving bitstreams", - - // "item.edit.bitstreams.notifications.move.saved.content": "Your move changes to this item's bitstreams and bundles have been saved.", - // TODO New key - Add a translation - "item.edit.bitstreams.notifications.move.saved.content": "Your move changes to this item's bitstreams and bundles have been saved.", - - // "item.edit.bitstreams.notifications.move.saved.title": "Move changes saved", - // TODO New key - Add a translation - "item.edit.bitstreams.notifications.move.saved.title": "Move changes saved", - - // "item.edit.bitstreams.notifications.outdated.content": "The item you're currently working on has been changed by another user. Your current changes are discarded to prevent conflicts", - // TODO New key - Add a translation - "item.edit.bitstreams.notifications.outdated.content": "The item you're currently working on has been changed by another user. Your current changes are discarded to prevent conflicts", - - // "item.edit.bitstreams.notifications.outdated.title": "Changes outdated", - // TODO New key - Add a translation - "item.edit.bitstreams.notifications.outdated.title": "Changes outdated", - - // "item.edit.bitstreams.notifications.remove.failed.title": "Error deleting bitstream", - // TODO New key - Add a translation - "item.edit.bitstreams.notifications.remove.failed.title": "Error deleting bitstream", - - // "item.edit.bitstreams.notifications.remove.saved.content": "Your removal changes to this item's bitstreams have been saved.", - // TODO New key - Add a translation - "item.edit.bitstreams.notifications.remove.saved.content": "Your removal changes to this item's bitstreams have been saved.", - - // "item.edit.bitstreams.notifications.remove.saved.title": "Removal changes saved", - // TODO New key - Add a translation - "item.edit.bitstreams.notifications.remove.saved.title": "Removal changes saved", - - // "item.edit.bitstreams.reinstate-button": "Undo", - // TODO New key - Add a translation - "item.edit.bitstreams.reinstate-button": "Undo", - - // "item.edit.bitstreams.save-button": "Save", - // TODO New key - Add a translation - "item.edit.bitstreams.save-button": "Save", - - // "item.edit.bitstreams.upload-button": "Upload", - // TODO New key - Add a translation - "item.edit.bitstreams.upload-button": "Upload", - - - - // "item.edit.delete.cancel": "Cancel", - "item.edit.delete.cancel": "Cancelar", - - // "item.edit.delete.confirm": "Delete", - "item.edit.delete.confirm": "Apagar", - - // "item.edit.delete.description": "Are you sure this item should be completely deleted? Caution: At present, no tombstone would be left.", - "item.edit.delete.description": "Você tem certeza que deseja apagar completamento este item? Atenção: No momento, nenhum vestígio restará.", - - // "item.edit.delete.error": "An error occurred while deleting the item", - "item.edit.delete.error": "Ocorreu um erro ao apagar o item", - - // "item.edit.delete.header": "Delete item: {{ id }}", - "item.edit.delete.header": "Apagar item: {{ id }}", - - // "item.edit.delete.success": "The item has been deleted", - "item.edit.delete.success": "O item foi apagado", - - // "item.edit.head": "Edit Item", - "item.edit.head": "Editar Item", - - // "item.edit.breadcrumbs": "Edit Item", - // TODO New key - Add a translation - "item.edit.breadcrumbs": "Edit Item", - - - - // "item.edit.item-mapper.buttons.add": "Map item to selected collections", - "item.edit.item-mapper.buttons.add": "Mapear item na(s) coleção(ões) seleciona(s)", - - // "item.edit.item-mapper.buttons.remove": "Remove item's mapping for selected collections", - "item.edit.item-mapper.buttons.remove": "Remover mapeamento(s) do item da(s) coleção(ões) seleciona(s)", - - // "item.edit.item-mapper.cancel": "Cancel", - "item.edit.item-mapper.cancel": "Cancelar", - - // "item.edit.item-mapper.description": "This is the item mapper tool that allows administrators to map this item to other collections. You can search for collections and map them, or browse the list of collections the item is currently mapped to.", - "item.edit.item-mapper.description": "Essa é a ferramenta de mapeamento de itens que permite que os administradores mapeiem esse item para outras coleções. Você pode procurar coleções e mapeá-las ou navegar na lista de coleções para as quais o item está atualmente mapeado.", - - // "item.edit.item-mapper.head": "Item Mapper - Map Item to Collections", - "item.edit.item-mapper.head": "Mapeador de Item - Mapear Itens em Coleções", - - // "item.edit.item-mapper.item": "Item: \"{{name}}\"", - "item.edit.item-mapper.item": "Item: \"{{name}}\"", - - // "item.edit.item-mapper.no-search": "Please enter a query to search", - "item.edit.item-mapper.no-search": "Por favor informe uma consulta para buscar", - - // "item.edit.item-mapper.notifications.add.error.content": "Errors occurred for mapping of item to {{amount}} collections.", - "item.edit.item-mapper.notifications.add.error.content": "Ocorreram erros ao mapear o item em {{amount}} coleções.", - - // "item.edit.item-mapper.notifications.add.error.head": "Mapping errors", - "item.edit.item-mapper.notifications.add.error.head": "Erros de mapeamento", - - // "item.edit.item-mapper.notifications.add.success.content": "Successfully mapped item to {{amount}} collections.", - "item.edit.item-mapper.notifications.add.success.content": "Mapeou o item em {{amount}} coleções com sucesso.", - - // "item.edit.item-mapper.notifications.add.success.head": "Mapping completed", - "item.edit.item-mapper.notifications.add.success.head": "Mapeamento complesto", - - // "item.edit.item-mapper.notifications.remove.error.content": "Errors occurred for the removal of the mapping to {{amount}} collections.", - "item.edit.item-mapper.notifications.remove.error.content": "Ocorreram erros ao remover mapeamento do item em {{amount}} coleções.", - - // "item.edit.item-mapper.notifications.remove.error.head": "Removal of mapping errors", - "item.edit.item-mapper.notifications.remove.error.head": "Erros de remoção de mapeamento", - - // "item.edit.item-mapper.notifications.remove.success.content": "Successfully removed mapping of item to {{amount}} collections.", - "item.edit.item-mapper.notifications.remove.success.content": "Successfully removed mapping of item to {{amount}} collections.", - - // "item.edit.item-mapper.notifications.remove.success.head": "Removal of mapping completed", - "item.edit.item-mapper.notifications.remove.success.head": "Completou a remoção de mapeamento", - - // "item.edit.item-mapper.tabs.browse": "Browse mapped collections", - "item.edit.item-mapper.tabs.browse": "Navegar nas coleções mapeadas", - - // "item.edit.item-mapper.tabs.map": "Map new collections", - "item.edit.item-mapper.tabs.map": "Mapear novas coleções", - - - - // "item.edit.metadata.add-button": "Add", - "item.edit.metadata.add-button": "Adicionar", - - // "item.edit.metadata.discard-button": "Discard", - "item.edit.metadata.discard-button": "Descartar", - - // "item.edit.metadata.edit.buttons.edit": "Edit", - "item.edit.metadata.edit.buttons.edit": "Editar", - - // "item.edit.metadata.edit.buttons.remove": "Remove", - "item.edit.metadata.edit.buttons.remove": "Apagar", - - // "item.edit.metadata.edit.buttons.undo": "Undo changes", - "item.edit.metadata.edit.buttons.undo": "Desfazer alterações", - - // "item.edit.metadata.edit.buttons.unedit": "Stop editing", - "item.edit.metadata.edit.buttons.unedit": "Parar edição", - - // "item.edit.metadata.headers.edit": "Edit", - "item.edit.metadata.headers.edit": "Editar", - - // "item.edit.metadata.headers.field": "Field", - "item.edit.metadata.headers.field": "Campo", - - // "item.edit.metadata.headers.language": "Lang", - "item.edit.metadata.headers.language": "Idioma", - - // "item.edit.metadata.headers.value": "Value", - "item.edit.metadata.headers.value": "Valor", - - // "item.edit.metadata.metadatafield.invalid": "Please choose a valid metadata field", - "item.edit.metadata.metadatafield.invalid": "Por favor escolha um campo de metadados válido", - - // "item.edit.metadata.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", - "item.edit.metadata.notifications.discarded.content": "Suas alterações foram descartadas. Para restabelecer suas alterações, clique no botão 'Desfazer'", - - // "item.edit.metadata.notifications.discarded.title": "Changed discarded", - "item.edit.metadata.notifications.discarded.title": "Mudança descartada", - - // "item.edit.metadata.notifications.invalid.content": "Your changes were not saved. Please make sure all fields are valid before you save.", - "item.edit.metadata.notifications.invalid.content": "Suas alterações não foram salvas. Verifique se todos os campos são válidos antes de salvar.", - - // "item.edit.metadata.notifications.invalid.title": "Metadata invalid", - "item.edit.metadata.notifications.invalid.title": "Metadado inválido", - - // "item.edit.metadata.notifications.outdated.content": "The item you're currently working on has been changed by another user. Your current changes are discarded to prevent conflicts", - "item.edit.metadata.notifications.outdated.content": "O item em que você está trabalhando foi alterado por outro usuário. Suas alterações atuais são descartadas para evitar conflitos", - - // "item.edit.metadata.notifications.outdated.title": "Changed outdated", - "item.edit.metadata.notifications.outdated.title": "Alteração desatualizada", - - // "item.edit.metadata.notifications.saved.content": "Your changes to this item's metadata were saved.", - "item.edit.metadata.notifications.saved.content": "Suas alterações nos metadados deste item foram salvas.", - - // "item.edit.metadata.notifications.saved.title": "Metadata saved", - "item.edit.metadata.notifications.saved.title": "Metadados salvos", - - // "item.edit.metadata.reinstate-button": "Undo", - "item.edit.metadata.reinstate-button": "Desfazer", - - // "item.edit.metadata.save-button": "Save", - "item.edit.metadata.save-button": "Salvar", - - - - // "item.edit.modify.overview.field": "Field", - "item.edit.modify.overview.field": "Campo", - - // "item.edit.modify.overview.language": "Language", - "item.edit.modify.overview.language": "Idioma", - - // "item.edit.modify.overview.value": "Value", - "item.edit.modify.overview.value": "Valor", - - - - // "item.edit.move.cancel": "Cancel", - "item.edit.move.cancel": "Cancelar", - - // "item.edit.move.description": "Select the collection you wish to move this item to. To narrow down the list of displayed collections, you can enter a search query in the box.", - "item.edit.move.description": "Selecione a coleção para a qual você deseja mover este item. Para restringir a lista de coleções exibidas, você pode inserir uma consulta de pesquisa na caixa.", - - // "item.edit.move.error": "An error occurred when attempting to move the item", - "item.edit.move.error": "Ocorreu um erro ao tentar mover o item", - - // "item.edit.move.head": "Move item: {{id}}", - "item.edit.move.head": "Mover item: {{id}}", - - // "item.edit.move.inheritpolicies.checkbox": "Inherit policies", - "item.edit.move.inheritpolicies.checkbox": "Herdar politicas", - - // "item.edit.move.inheritpolicies.description": "Inherit the default policies of the destination collection", - "item.edit.move.inheritpolicies.description": "Herdar as politicas padrões da coleção destino", - - // "item.edit.move.move": "Move", - "item.edit.move.move": "Mover", - - // "item.edit.move.processing": "Moving...", - "item.edit.move.processing": "Movendo...", - - // "item.edit.move.search.placeholder": "Enter a search query to look for collections", - "item.edit.move.search.placeholder": "Insira uma consulta para procurar coleções", - - // "item.edit.move.success": "The item has been moved successfully", - "item.edit.move.success": "O item foi movido com sucesso", - - // "item.edit.move.title": "Move item", - "item.edit.move.title": "Mover item", - - - - // "item.edit.private.cancel": "Cancel", - "item.edit.private.cancel": "Cancelar", - - // "item.edit.private.confirm": "Make it Private", - "item.edit.private.confirm": "Tornar Privado", - - // "item.edit.private.description": "Are you sure this item should be made private in the archive?", - "item.edit.private.description": "Tem certeza de que este item deve ser tornado privado no arquivo?", - - // "item.edit.private.error": "An error occurred while making the item private", - "item.edit.private.error": "Ocorreu um erro ao tornar o item privado", - - // "item.edit.private.header": "Make item private: {{ id }}", - "item.edit.private.header": "Tornar privado o item: {{ id }}", - - // "item.edit.private.success": "The item is now private", - "item.edit.private.success": "O item agora é privado", - - - - // "item.edit.public.cancel": "Cancel", - "item.edit.public.cancel": "Cancelar", - - // "item.edit.public.confirm": "Make it Public", - "item.edit.public.confirm": "Tornar público", - - // "item.edit.public.description": "Are you sure this item should be made public in the archive?", - "item.edit.public.description": "Você tem certeza que deseja tornar este item público no arquivo?", - - // "item.edit.public.error": "An error occurred while making the item public", - "item.edit.public.error": "Ocorreu um erro ao tornar o item público", - - // "item.edit.public.header": "Make item public: {{ id }}", - "item.edit.public.header": "Tornar público o item: {{ id }}", - - // "item.edit.public.success": "The item is now public", - "item.edit.public.success": "O item agora é público", - - - - // "item.edit.reinstate.cancel": "Cancel", - "item.edit.reinstate.cancel": "Cancelar", - - // "item.edit.reinstate.confirm": "Reinstate", - "item.edit.reinstate.confirm": "Restabelecer", - - // "item.edit.reinstate.description": "Are you sure this item should be reinstated to the archive?", - "item.edit.reinstate.description": "Tem certeza de que este item deve ser restabelecido no arquivo?", - - // "item.edit.reinstate.error": "An error occurred while reinstating the item", - "item.edit.reinstate.error": "Ocorreu um erro ao restabelecer o item", - - // "item.edit.reinstate.header": "Reinstate item: {{ id }}", - "item.edit.reinstate.header": "Restabelecer item: {{ id }}", - - // "item.edit.reinstate.success": "The item was reinstated successfully", - "item.edit.reinstate.success": "O item foi restabelecido com sucesso", - - - - // "item.edit.relationships.discard-button": "Discard", - "item.edit.relationships.discard-button": "Descartar", - - // "item.edit.relationships.edit.buttons.remove": "Remove", - "item.edit.relationships.edit.buttons.remove": "Apagar", - - // "item.edit.relationships.edit.buttons.undo": "Undo changes", - "item.edit.relationships.edit.buttons.undo": "Desfazer alterações", - - // "item.edit.relationships.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", - "item.edit.relationships.notifications.discarded.content": "Suas alterações foram descartadas. Para restabelecer suas alterações, clique no botão 'Desfazer'", - - // "item.edit.relationships.notifications.discarded.title": "Changes discarded", - "item.edit.relationships.notifications.discarded.title": "Alterações descartadas", - - // "item.edit.relationships.notifications.failed.title": "Error deleting relationship", - "item.edit.relationships.notifications.failed.title": "Erro ao apagar relacionamento", - - // "item.edit.relationships.notifications.outdated.content": "The item you're currently working on has been changed by another user. Your current changes are discarded to prevent conflicts", - "item.edit.relationships.notifications.outdated.content": "O item em que você está trabalhando foi alterado por outro usuário. Suas alterações atuais são descartadas para evitar conflitos", - - // "item.edit.relationships.notifications.outdated.title": "Changes outdated", - "item.edit.relationships.notifications.outdated.title": "Alterações desatualizadas", - - // "item.edit.relationships.notifications.saved.content": "Your changes to this item's relationships were saved.", - "item.edit.relationships.notifications.saved.content": "Suas alterações nos relacionamentos deste item foram salvas.", - - // "item.edit.relationships.notifications.saved.title": "Relationships saved", - "item.edit.relationships.notifications.saved.title": "Relacionamentos salvos", - - // "item.edit.relationships.reinstate-button": "Undo", - "item.edit.relationships.reinstate-button": "Desfazer", - - // "item.edit.relationships.save-button": "Save", - "item.edit.relationships.save-button": "Salvar", - - - - // "item.edit.tabs.bitstreams.head": "Bitstreams", - // TODO Source message changed - Revise the translation - "item.edit.tabs.bitstreams.head": "Bitstreams do Item", - - // "item.edit.tabs.bitstreams.title": "Item Edit - Bitstreams", - "item.edit.tabs.bitstreams.title": "Editar Item - Bitstreams", - - // "item.edit.tabs.curate.head": "Curate", - "item.edit.tabs.curate.head": "Curadoria", - - // "item.edit.tabs.curate.title": "Item Edit - Curate", - "item.edit.tabs.curate.title": "Editar Item - Curadoria", - - // "item.edit.tabs.metadata.head": "Metadata", - // TODO Source message changed - Revise the translation - "item.edit.tabs.metadata.head": "Metadados do Item", - - // "item.edit.tabs.metadata.title": "Item Edit - Metadata", - "item.edit.tabs.metadata.title": "Editar Item - Metadados", - - // "item.edit.tabs.relationships.head": "Relationships", - // TODO Source message changed - Revise the translation - "item.edit.tabs.relationships.head": "Relacionamentos do Item", - - // "item.edit.tabs.relationships.title": "Item Edit - Relationships", - "item.edit.tabs.relationships.title": "Editar Item - Relacionamentos", - - // "item.edit.tabs.status.buttons.authorizations.button": "Authorizations...", - "item.edit.tabs.status.buttons.authorizations.button": "Autorizações...", - - // "item.edit.tabs.status.buttons.authorizations.label": "Edit item's authorization policies", - "item.edit.tabs.status.buttons.authorizations.label": "Editar politicas de autorizações de item", - - // "item.edit.tabs.status.buttons.delete.button": "Permanently delete", - "item.edit.tabs.status.buttons.delete.button": "Apagar permanentemente", - - // "item.edit.tabs.status.buttons.delete.label": "Completely expunge item", - "item.edit.tabs.status.buttons.delete.label": "Eliminar completamente o item", - - // "item.edit.tabs.status.buttons.mappedCollections.button": "Mapped collections", - "item.edit.tabs.status.buttons.mappedCollections.button": "Coleções mapeadas", - - // "item.edit.tabs.status.buttons.mappedCollections.label": "Manage mapped collections", - "item.edit.tabs.status.buttons.mappedCollections.label": "Gerenciar coleções mapeadas", - - // "item.edit.tabs.status.buttons.move.button": "Move...", - "item.edit.tabs.status.buttons.move.button": "Mover...", - - // "item.edit.tabs.status.buttons.move.label": "Move item to another collection", - "item.edit.tabs.status.buttons.move.label": "Mover item para outra coleção", - - // "item.edit.tabs.status.buttons.private.button": "Make it private...", - "item.edit.tabs.status.buttons.private.button": "Tornar privado o item...", - - // "item.edit.tabs.status.buttons.private.label": "Make item private", - "item.edit.tabs.status.buttons.private.label": "Tornar privado o item", - - // "item.edit.tabs.status.buttons.public.button": "Make it public...", - "item.edit.tabs.status.buttons.public.button": "Tornar público o item...", - - // "item.edit.tabs.status.buttons.public.label": "Make item public", - "item.edit.tabs.status.buttons.public.label": "Tornar público o item", - - // "item.edit.tabs.status.buttons.reinstate.button": "Reinstate...", - "item.edit.tabs.status.buttons.reinstate.button": "Restabelecer...", - - // "item.edit.tabs.status.buttons.reinstate.label": "Reinstate item into the repository", - "item.edit.tabs.status.buttons.reinstate.label": "Restabelecer item no repositório", - - // "item.edit.tabs.status.buttons.withdraw.button": "Withdraw...", - "item.edit.tabs.status.buttons.withdraw.button": "Retirar...", - - // "item.edit.tabs.status.buttons.withdraw.label": "Withdraw item from the repository", - "item.edit.tabs.status.buttons.withdraw.label": "Retirar item do repositório", - - // "item.edit.tabs.status.description": "Welcome to the item management page. From here you can withdraw, reinstate, move or delete the item. You may also update or add new metadata / bitstreams on the other tabs.", - "item.edit.tabs.status.description": "Bem-vindo à página de gerenciamento de itens. A partir daqui, você pode retirar, restabelecer, mover ou apagar o item. Você também pode atualizar ou adicionar novos metadados / bitstream nas outras guias.", - - // "item.edit.tabs.status.head": "Status", - // TODO Source message changed - Revise the translation - "item.edit.tabs.status.head": "Estado do Item", - - // "item.edit.tabs.status.labels.handle": "Handle", - "item.edit.tabs.status.labels.handle": "Handle", - - // "item.edit.tabs.status.labels.id": "Item Internal ID", - "item.edit.tabs.status.labels.id": "ID Interno do Item", - - // "item.edit.tabs.status.labels.itemPage": "Item Page", - "item.edit.tabs.status.labels.itemPage": "Página do Item", - - // "item.edit.tabs.status.labels.lastModified": "Last Modified", - "item.edit.tabs.status.labels.lastModified": "Ultima alteração", - - // "item.edit.tabs.status.title": "Item Edit - Status", - "item.edit.tabs.status.title": "Editar Item - Estado", - - // "item.edit.tabs.versionhistory.head": "Version History", - // TODO New key - Add a translation - "item.edit.tabs.versionhistory.head": "Version History", - - // "item.edit.tabs.versionhistory.title": "Item Edit - Version History", - // TODO New key - Add a translation - "item.edit.tabs.versionhistory.title": "Item Edit - Version History", - - // "item.edit.tabs.versionhistory.under-construction": "Editing or adding new versions is not yet possible in this user interface.", - // TODO New key - Add a translation - "item.edit.tabs.versionhistory.under-construction": "Editing or adding new versions is not yet possible in this user interface.", - - // "item.edit.tabs.view.head": "View Item", - "item.edit.tabs.view.head": "Visualizar Item", - - // "item.edit.tabs.view.title": "Item Edit - View", - "item.edit.tabs.view.title": "Editar Item - Visualizar", - - - - // "item.edit.withdraw.cancel": "Cancel", - "item.edit.withdraw.cancel": "Cancelar", - - // "item.edit.withdraw.confirm": "Withdraw", - "item.edit.withdraw.confirm": "Retirar", - - // "item.edit.withdraw.description": "Are you sure this item should be withdrawn from the archive?", - "item.edit.withdraw.description": "Tem certeza de que este item deve ser retirado do arquivo?", - - // "item.edit.withdraw.error": "An error occurred while withdrawing the item", - "item.edit.withdraw.error": "Ocorreu um erro ao retirar o item", - - // "item.edit.withdraw.header": "Withdraw item: {{ id }}", - "item.edit.withdraw.header": "Retirar item: {{ id }}", - - // "item.edit.withdraw.success": "The item was withdrawn successfully", - "item.edit.withdraw.success": "O item foi retirado com sucesso", - - - - // "item.page.abstract": "Abstract", - "item.page.abstract": "Resumo", - - // "item.page.author": "Authors", - "item.page.author": "Autores", - - // "item.page.citation": "Citation", - "item.page.citation": "Citação", - - // "item.page.collections": "Collections", - "item.page.collections": "Coleções", - - // "item.page.date": "Date", - "item.page.date": "Data", - - // "item.page.files": "Files", - "item.page.files": "Arquivos", - - // "item.page.filesection.description": "Description:", - "item.page.filesection.description": "Descrição:", - - // "item.page.filesection.download": "Download", - "item.page.filesection.download": "Baixar", - - // "item.page.filesection.format": "Format:", - "item.page.filesection.format": "Formato:", - - // "item.page.filesection.name": "Name:", - "item.page.filesection.name": "Nome:", - - // "item.page.filesection.size": "Size:", - "item.page.filesection.size": "Tamanho:", - - // "item.page.journal.search.title": "Articles in this journal", - "item.page.journal.search.title": "Articles in this journal", - - // "item.page.link.full": "Full item page", - "item.page.link.full": "Página do item completo", - - // "item.page.link.simple": "Simple item page", - "item.page.link.simple": "Página do item simplificado", - - // "item.page.person.search.title": "Articles by this author", - "item.page.person.search.title": "Artigos deste autor", - - // "item.page.related-items.view-more": "Show {{ amount }} more", - // TODO Source message changed - Revise the translation - "item.page.related-items.view-more": "Mostrar mais", - - // "item.page.related-items.view-less": "Hide last {{ amount }}", - // TODO Source message changed - Revise the translation - "item.page.related-items.view-less": "Mostrar menos", - - // "item.page.relationships.isAuthorOfPublication": "Publications", - // TODO New key - Add a translation - "item.page.relationships.isAuthorOfPublication": "Publications", - - // "item.page.relationships.isJournalOfPublication": "Publications", - // TODO New key - Add a translation - "item.page.relationships.isJournalOfPublication": "Publications", - - // "item.page.relationships.isOrgUnitOfPerson": "Authors", - // TODO New key - Add a translation - "item.page.relationships.isOrgUnitOfPerson": "Authors", - - // "item.page.relationships.isOrgUnitOfProject": "Research Projects", - // TODO New key - Add a translation - "item.page.relationships.isOrgUnitOfProject": "Research Projects", - - // "item.page.subject": "Keywords", - "item.page.subject": "Palavras-chave", - - // "item.page.uri": "URI", - "item.page.uri": "URI", - - - - // "item.select.confirm": "Confirm selected", - "item.select.confirm": "Confirmar seleção", - - // "item.select.empty": "No items to show", - "item.select.empty": "Nenhum itme a mostrar", - - // "item.select.table.author": "Author", - "item.select.table.author": "Autor", - - // "item.select.table.collection": "Collection", - "item.select.table.collection": "Coleção", - - // "item.select.table.title": "Title", - "item.select.table.title": "Título", - - - // "item.version.history.empty": "There are no other versions for this item yet.", - // TODO New key - Add a translation - "item.version.history.empty": "There are no other versions for this item yet.", - - // "item.version.history.head": "Version History", - // TODO New key - Add a translation - "item.version.history.head": "Version History", - - // "item.version.history.return": "Return", - // TODO New key - Add a translation - "item.version.history.return": "Return", - - // "item.version.history.selected": "Selected version", - // TODO New key - Add a translation - "item.version.history.selected": "Selected version", - - // "item.version.history.table.version": "Version", - // TODO New key - Add a translation - "item.version.history.table.version": "Version", - - // "item.version.history.table.item": "Item", - // TODO New key - Add a translation - "item.version.history.table.item": "Item", - - // "item.version.history.table.editor": "Editor", - // TODO New key - Add a translation - "item.version.history.table.editor": "Editor", - - // "item.version.history.table.date": "Date", - // TODO New key - Add a translation - "item.version.history.table.date": "Date", - - // "item.version.history.table.summary": "Summary", - // TODO New key - Add a translation - "item.version.history.table.summary": "Summary", - - - - // "item.version.notice": "This is not the latest version of this item. The latest version can be found here.", - // TODO New key - Add a translation - "item.version.notice": "This is not the latest version of this item. The latest version can be found here.", - - - - // "journal.listelement.badge": "Journal", - "journal.listelement.badge": "Periódico", - - // "journal.page.description": "Description", - "journal.page.description": "Descrição", - - // "journal.page.editor": "Editor-in-Chief", - "journal.page.editor": "Editor Chefe", - - // "journal.page.issn": "ISSN", - "journal.page.issn": "ISSN", - - // "journal.page.publisher": "Publisher", - "journal.page.publisher": "Editora", - - // "journal.page.titleprefix": "Journal: ", - "journal.page.titleprefix": "Periódico: ", - - // "journal.search.results.head": "Journal Search Results", - "journal.search.results.head": "Resultado da Busca de Periódicos", - - // "journal.search.title": "DSpace Angular :: Journal Search", - "journal.search.title": "DSpace Angular :: Busca de Periódicos", - - - - // "journalissue.listelement.badge": "Journal Issue", - "journalissue.listelement.badge": "Fascículo", - - // "journalissue.page.description": "Description", - "journalissue.page.description": "Descrição", - - // "journalissue.page.issuedate": "Issue Date", - "journalissue.page.issuedate": "Data de Publicação", - - // "journalissue.page.journal-issn": "Journal ISSN", - "journalissue.page.journal-issn": "ISSN do Periódico", - - // "journalissue.page.journal-title": "Journal Title", - "journalissue.page.journal-title": "Título do Periódico", - - // "journalissue.page.keyword": "Keywords", - "journalissue.page.keyword": "Palavras-chave", - - // "journalissue.page.number": "Number", - "journalissue.page.number": "Número", - - // "journalissue.page.titleprefix": "Journal Issue: ", - "journalissue.page.titleprefix": "Fascículo: ", - - - - // "journalvolume.listelement.badge": "Journal Volume", - "journalvolume.listelement.badge": "Volume do Periódico", - - // "journalvolume.page.description": "Description", - "journalvolume.page.description": "Descrição", - - // "journalvolume.page.issuedate": "Issue Date", - "journalvolume.page.issuedate": "Data de Publicação", - - // "journalvolume.page.titleprefix": "Journal Volume: ", - "journalvolume.page.titleprefix": "Volume do Periódico: ", - - // "journalvolume.page.volume": "Volume", - "journalvolume.page.volume": "Volume", - - - - // "loading.bitstream": "Loading bitstream...", - // TODO New key - Add a translation - "loading.bitstream": "Loading bitstream...", - - // "loading.bitstreams": "Loading bitstreams...", - // TODO New key - Add a translation - "loading.bitstreams": "Loading bitstreams...", - - // "loading.browse-by": "Loading items...", - "loading.browse-by": "Carregando itens...", - - // "loading.browse-by-page": "Loading page...", - "loading.browse-by-page": "Carregando página...", - - // "loading.collection": "Loading collection...", - "loading.collection": "Carregando coleção...", - - // "loading.collections": "Loading collections...", - "loading.collections": "Carregando coleções...", - - // "loading.content-source": "Loading content source...", - // TODO New key - Add a translation - "loading.content-source": "Loading content source...", - - // "loading.community": "Loading community...", - "loading.community": "Carregando comunidade...", - - // "loading.default": "Loading...", - "loading.default": "Carregando...", - - // "loading.item": "Loading item...", - "loading.item": "Carregando item...", - - // "loading.items": "Loading items...", - "loading.items": "Carregando itens...", - - // "loading.mydspace-results": "Loading items...", - "loading.mydspace-results": "Carregando itens...", - - // "loading.objects": "Loading...", - "loading.objects": "Carregando...", - - // "loading.recent-submissions": "Loading recent submissions...", - "loading.recent-submissions": "Carregando submissões recentes...", - - // "loading.search-results": "Loading search results...", - "loading.search-results": "Carregando resultados de busca...", - - // "loading.sub-collections": "Loading sub-collections...", - "loading.sub-collections": "Carregando sub-coleções...", - - // "loading.sub-communities": "Loading sub-communities...", - "loading.sub-communities": "Carregando sub-comunidades...", - - // "loading.top-level-communities": "Loading top-level communities...", - "loading.top-level-communities": "Carregando comunidades de nível superior...", - - - - // "login.form.email": "Email address", - "login.form.email": "Endereço de email", - - // "login.form.forgot-password": "Have you forgotten your password?", - "login.form.forgot-password": "Esqueceu sua senha?", - - // "login.form.header": "Please log in to DSpace", - "login.form.header": "Por favor entre no DSpace", - - // "login.form.new-user": "New user? Click here to register.", - "login.form.new-user": "Novo usuário? Clique aqui para cadastrar.", - - // "login.form.or-divider": "or", - // TODO New key - Add a translation - "login.form.or-divider": "or", - - // "login.form.password": "Password", - "login.form.password": "Senha", - - // "login.form.shibboleth": "Log in with Shibboleth", - // TODO New key - Add a translation - "login.form.shibboleth": "Log in with Shibboleth", - - // "login.form.submit": "Log in", - "login.form.submit": "Entrar", - - // "login.title": "Login", - "login.title": "Entrar", - - // "login.breadcrumbs": "Login", - // TODO New key - Add a translation - "login.breadcrumbs": "Login", - - - - // "logout.form.header": "Log out from DSpace", - "logout.form.header": "Sair do DSpace", - - // "logout.form.submit": "Log out", - "logout.form.submit": "Sair", - - // "logout.title": "Logout", - "logout.title": "Sair", - - - - // "menu.header.admin": "Admin", - "menu.header.admin": "Administração", - - // "menu.header.image.logo": "Repository logo", - "menu.header.image.logo": "Logo do repositório", - - - - // "menu.section.access_control": "Access Control", - "menu.section.access_control": "Controle de Acesso", - - // "menu.section.access_control_authorizations": "Authorizations", - "menu.section.access_control_authorizations": "Autorizações", - - // "menu.section.access_control_groups": "Groups", - "menu.section.access_control_groups": "Grupos", - - // "menu.section.access_control_people": "People", - "menu.section.access_control_people": "Pessoas", - - - - // "menu.section.admin_search": "Admin Search", - // TODO New key - Add a translation - "menu.section.admin_search": "Admin Search", - - - - // "menu.section.browse_community": "This Community", - "menu.section.browse_community": "Esta Comunidade", - - // "menu.section.browse_community_by_author": "By Author", - "menu.section.browse_community_by_author": "Por Autor", - - // "menu.section.browse_community_by_issue_date": "By Issue Date", - "menu.section.browse_community_by_issue_date": "Por Data de Publicação", - - // "menu.section.browse_community_by_title": "By Title", - "menu.section.browse_community_by_title": "Por Título", - - // "menu.section.browse_global": "All of DSpace", - "menu.section.browse_global": "Tudo no DSpace", - - // "menu.section.browse_global_by_author": "By Author", - "menu.section.browse_global_by_author": "Por Autor", - - // "menu.section.browse_global_by_dateissued": "By Issue Date", - "menu.section.browse_global_by_dateissued": "Por Data de Publicação", - - // "menu.section.browse_global_by_subject": "By Subject", - "menu.section.browse_global_by_subject": "Por Assunto", - - // "menu.section.browse_global_by_title": "By Title", - "menu.section.browse_global_by_title": "Por Título", - - // "menu.section.browse_global_communities_and_collections": "Communities & Collections", - "menu.section.browse_global_communities_and_collections": "Comunidades e Coleções", - - - - // "menu.section.control_panel": "Control Panel", - "menu.section.control_panel": "Painel de Controle", - - // "menu.section.curation_task": "Curation Task", - "menu.section.curation_task": "Tarefas de Curadoria", - - - - // "menu.section.edit": "Edit", - "menu.section.edit": "Editar", - - // "menu.section.edit_collection": "Collection", - "menu.section.edit_collection": "Coleção", - - // "menu.section.edit_community": "Community", - "menu.section.edit_community": "Comunidade", - - // "menu.section.edit_item": "Item", - "menu.section.edit_item": "Item", - - - - // "menu.section.export": "Export", - "menu.section.export": "Exportar", - - // "menu.section.export_collection": "Collection", - "menu.section.export_collection": "Coleção", - - // "menu.section.export_community": "Community", - "menu.section.export_community": "Comunidade", - - // "menu.section.export_item": "Item", - "menu.section.export_item": "Item", - - // "menu.section.export_metadata": "Metadata", - "menu.section.export_metadata": "Metadados", - - - - // "menu.section.icon.access_control": "Access Control menu section", - "menu.section.icon.access_control": "Seção do menu Controle de Acesso", - - // "menu.section.icon.admin_search": "Admin search menu section", - // TODO New key - Add a translation - "menu.section.icon.admin_search": "Admin search menu section", - - // "menu.section.icon.control_panel": "Control Panel menu section", - "menu.section.icon.control_panel": "Seção do menu Painel de Controle", - - // "menu.section.icon.curation_task": "Curation Task menu section", - "menu.section.icon.curation_task": "Seção do menu Tarefas de Curadoria", - - // "menu.section.icon.edit": "Edit menu section", - "menu.section.icon.edit": "Seção do menu Editar", - - // "menu.section.icon.export": "Export menu section", - "menu.section.icon.export": "Seção do menu Exportar", - - // "menu.section.icon.find": "Find menu section", - "menu.section.icon.find": "Seção do menu Buscar", - - // "menu.section.icon.import": "Import menu section", - "menu.section.icon.import": "Seção do menu Importar", - - // "menu.section.icon.new": "New menu section", - "menu.section.icon.new": "Seção do menu Novo", - - // "menu.section.icon.pin": "Pin sidebar", - "menu.section.icon.pin": "Fixar barra lateral", - - // "menu.section.icon.registries": "Registries menu section", - "menu.section.icon.registries": "Seção do menu Registros", - - // "menu.section.icon.statistics_task": "Statistics Task menu section", - "menu.section.icon.statistics_task": "Seção do menu Tarefas de Estatísticas", - - // "menu.section.icon.unpin": "Unpin sidebar", - "menu.section.icon.unpin": "Soltar barra lateral", - - - - // "menu.section.import": "Import", - "menu.section.import": "Importar", - - // "menu.section.import_batch": "Batch Import (ZIP)", - "menu.section.import_batch": "Importação em Lote (ZIP)", - - // "menu.section.import_metadata": "Metadata", - "menu.section.import_metadata": "Metadados", - - - - // "menu.section.new": "New", - "menu.section.new": "Nova", - - // "menu.section.new_collection": "Collection", - "menu.section.new_collection": "Coleção", - - // "menu.section.new_community": "Community", - "menu.section.new_community": "Comunidade", - - // "menu.section.new_item": "Item", - "menu.section.new_item": "Item", - - // "menu.section.new_item_version": "Item Version", - "menu.section.new_item_version": "Versão do Item", - - - - // "menu.section.pin": "Pin sidebar", - "menu.section.pin": "Fixar barra lateral", - - // "menu.section.unpin": "Unpin sidebar", - "menu.section.unpin": "Soltar barra lateral", - - - - // "menu.section.registries": "Registries", - "menu.section.registries": "Registros", - - // "menu.section.registries_format": "Format", - "menu.section.registries_format": "Formatos", - - // "menu.section.registries_metadata": "Metadata", - "menu.section.registries_metadata": "Metadados", - - - - // "menu.section.statistics": "Statistics", - "menu.section.statistics": "Estatísticas", - - // "menu.section.statistics_task": "Statistics Task", - "menu.section.statistics_task": "Tarefas de Estatísticas", - - - - // "menu.section.toggle.access_control": "Toggle Access Control section", - "menu.section.toggle.access_control": "Alternar Seção Controle de Acesso", - - // "menu.section.toggle.control_panel": "Toggle Control Panel section", - "menu.section.toggle.control_panel": "Alternar Seção Painel de COntrole", - - // "menu.section.toggle.curation_task": "Toggle Curation Task section", - "menu.section.toggle.curation_task": "Alternar Seção Tarefas de Curadoria", - - // "menu.section.toggle.edit": "Toggle Edit section", - "menu.section.toggle.edit": "Alternar Seção Editar", - - // "menu.section.toggle.export": "Toggle Export section", - "menu.section.toggle.export": "Alternar Seção Exportar", - - // "menu.section.toggle.find": "Toggle Find section", - "menu.section.toggle.find": "Alternar Seção Pesquisa", - - // "menu.section.toggle.import": "Toggle Import section", - "menu.section.toggle.import": "Alternar Seção Importar", - - // "menu.section.toggle.new": "Toggle New section", - "menu.section.toggle.new": "Alternar Nova Seção", - - // "menu.section.toggle.registries": "Toggle Registries section", - "menu.section.toggle.registries": "Alternar Seção Registros", - - // "menu.section.toggle.statistics_task": "Toggle Statistics Task section", - "menu.section.toggle.statistics_task": "Alternar Seção Tarefas de Estatísticas", - - - - // "mydspace.description": "", - "mydspace.description": "", - - // "mydspace.general.text-here": "HERE", - "mydspace.general.text-here": "AQUI", - - // "mydspace.messages.controller-help": "Select this option to send a message to item's submitter.", - "mydspace.messages.controller-help": "Selecione esta opção para enviar uma mensagem para o submetedor do item.", - - // "mydspace.messages.description-placeholder": "Insert your message here...", - "mydspace.messages.description-placeholder": "Insira sua mensagem aqui...", - - // "mydspace.messages.hide-msg": "Hide message", - "mydspace.messages.hide-msg": "Ocultar mensagem", - - // "mydspace.messages.mark-as-read": "Mark as read", - "mydspace.messages.mark-as-read": "Marcar como lida", - - // "mydspace.messages.mark-as-unread": "Mark as unread", - "mydspace.messages.mark-as-unread": "Marcar como não lida", - - // "mydspace.messages.no-content": "No content.", - "mydspace.messages.no-content": "Sem conteúdo", - - // "mydspace.messages.no-messages": "No messages yet.", - "mydspace.messages.no-messages": "Nenhuma mensagem ainda", - - // "mydspace.messages.send-btn": "Send", - "mydspace.messages.send-btn": "Enviar", - - // "mydspace.messages.show-msg": "Show message", - "mydspace.messages.show-msg": "Mostrar mensagem", - - // "mydspace.messages.subject-placeholder": "Subject...", - "mydspace.messages.subject-placeholder": "Assunto...", - - // "mydspace.messages.submitter-help": "Select this option to send a message to controller.", - "mydspace.messages.submitter-help": "Selecione esta opção para enviar uma mensagem ao controlador.", - - // "mydspace.messages.title": "Messages", - "mydspace.messages.title": "Mensagens", - - // "mydspace.messages.to": "To", - "mydspace.messages.to": "Para", - - // "mydspace.new-submission": "New submission", - "mydspace.new-submission": "Nova submissão", - - // "mydspace.results.head": "Your submissions", - "mydspace.results.head": "Minhas submissões", - - // "mydspace.results.no-abstract": "No Abstract", - "mydspace.results.no-abstract": "Sem Resumo", - - // "mydspace.results.no-authors": "No Authors", - "mydspace.results.no-authors": "Sem Autores", - - // "mydspace.results.no-collections": "No Collections", - "mydspace.results.no-collections": "Sem Coleções", - - // "mydspace.results.no-date": "No Date", - "mydspace.results.no-date": "Sem Data", - - // "mydspace.results.no-files": "No Files", - "mydspace.results.no-files": "Sem arquivos", - - // "mydspace.results.no-results": "There were no items to show", - "mydspace.results.no-results": "Não havia itens a mostrar", - - // "mydspace.results.no-title": "No title", - "mydspace.results.no-title": "Sem título", - - // "mydspace.results.no-uri": "No Uri", - "mydspace.results.no-uri": "Sem Uri", - - // "mydspace.show.workflow": "All tasks", - "mydspace.show.workflow": "Todas as tarefas", - - // "mydspace.show.workspace": "Your Submissions", - "mydspace.show.workspace": "Minhas Submissões", - - // "mydspace.status.archived": "Archived", - "mydspace.status.archived": "Arquivado", - - // "mydspace.status.validation": "Validation", - "mydspace.status.validation": "Validação", - - // "mydspace.status.waiting-for-controller": "Waiting for controller", - "mydspace.status.waiting-for-controller": "Esperando pelo controlador", - - // "mydspace.status.workflow": "Workflow", - "mydspace.status.workflow": "Fluxo de trabalho", - - // "mydspace.status.workspace": "Workspace", - "mydspace.status.workspace": "Espaço de trabalho", - - // "mydspace.title": "MyDSpace", - "mydspace.title": "MyDSpace", - - // "mydspace.upload.upload-failed": "Error creating new workspace. Please verify the content uploaded before retry.", - "mydspace.upload.upload-failed": "Erro ao criar novo espaço de trabalho. Por favor verifique o conteúdo enviado antes de tentar novamente.", - - // "mydspace.upload.upload-multiple-successful": "{{qty}} new workspace items created.", - "mydspace.upload.upload-multiple-successful": "{{qty}} novo(s) item(ns) de espaço de trabalho criados.", - - // "mydspace.upload.upload-successful": "New workspace item created. Click {{here}} for edit it.", - "mydspace.upload.upload-successful": "Novo item de espaço de trabalho criado. Clique {{here}} para o editar.", - - // "mydspace.view-btn": "View", - "mydspace.view-btn": "Ver", - - - - // "nav.browse.header": "All of DSpace", - "nav.browse.header": "Tudo no DSpace", - - // "nav.community-browse.header": "By Community", - "nav.community-browse.header": "Por Comunidade", - - // "nav.language": "Language switch", - "nav.language": "Seletor de idioma", - - // "nav.login": "Log In", - "nav.login": "Entrar", - - // "nav.logout": "Log Out", - "nav.logout": "Sair", - - // "nav.mydspace": "MyDSpace", - "nav.mydspace": "MyDSpace", - - // "nav.profile": "Profile", - // TODO New key - Add a translation - "nav.profile": "Profile", - - // "nav.search": "Search", - "nav.search": "Buscar", - - // "nav.statistics.header": "Statistics", - "nav.statistics.header": "Estatísticas", - - - - // "orgunit.listelement.badge": "Organizational Unit", - "orgunit.listelement.badge": "Unidade Organizacional", - - // "orgunit.page.city": "City", - "orgunit.page.city": "Cidade", - - // "orgunit.page.country": "Country", - "orgunit.page.country": "País", - - // "orgunit.page.dateestablished": "Date established", - "orgunit.page.dateestablished": "Data estabelecida", - - // "orgunit.page.description": "Description", - "orgunit.page.description": "Descrição", - - // "orgunit.page.id": "ID", - "orgunit.page.id": "ID", - - // "orgunit.page.titleprefix": "Organizational Unit: ", - "orgunit.page.titleprefix": "Unidade Organizacional: ", - - - - // "pagination.results-per-page": "Results Per Page", - "pagination.results-per-page": "Resultados por página", - - // "pagination.showing.detail": "{{ range }} of {{ total }}", - "pagination.showing.detail": "{{ range }} de {{ total }}", - - // "pagination.showing.label": "Now showing ", - "pagination.showing.label": "Agora exibindo ", - - // "pagination.sort-direction": "Sort Options", - "pagination.sort-direction": "Opções de Ordenação", - - - - // "person.listelement.badge": "Person", - "person.listelement.badge": "Pessoa", - - // "person.page.birthdate": "Birth Date", - "person.page.birthdate": "Data de nascimento", - - // "person.page.email": "Email Address", - "person.page.email": "Endereço de Email", - - // "person.page.firstname": "First Name", - "person.page.firstname": "Primeiro Nome", - - // "person.page.jobtitle": "Job Title", - "person.page.jobtitle": "Cargo", - - // "person.page.lastname": "Last Name", - "person.page.lastname": "Último Nome", - - // "person.page.link.full": "Show all metadata", - "person.page.link.full": "Mostrar todos os metadados", - - // "person.page.orcid": "ORCID", - "person.page.orcid": "ORCID", - - // "person.page.staffid": "Staff ID", - "person.page.staffid": "ID de Equipe", - - // "person.page.titleprefix": "Person: ", - "person.page.titleprefix": "Pessoa: ", - - // "person.search.results.head": "Person Search Results", - "person.search.results.head": "Resultado da Busca de Pessoa", - - // "person.search.title": "DSpace Angular :: Person Search", - "person.search.title": "DSpace Angular :: Buscar Pessoa", - - - - // "profile.breadcrumbs": "Update Profile", - // TODO New key - Add a translation - "profile.breadcrumbs": "Update Profile", - - // "profile.card.identify": "Identify", - // TODO New key - Add a translation - "profile.card.identify": "Identify", - - // "profile.card.security": "Security", - // TODO New key - Add a translation - "profile.card.security": "Security", - - // "profile.form.submit": "Update Profile", - // TODO New key - Add a translation - "profile.form.submit": "Update Profile", - - // "profile.groups.head": "Authorization groups you belong to", - // TODO New key - Add a translation - "profile.groups.head": "Authorization groups you belong to", - - // "profile.head": "Update Profile", - // TODO New key - Add a translation - "profile.head": "Update Profile", - - // "profile.metadata.form.error.firstname.required": "First Name is required", - // TODO New key - Add a translation - "profile.metadata.form.error.firstname.required": "First Name is required", - - // "profile.metadata.form.error.lastname.required": "Last Name is required", - // TODO New key - Add a translation - "profile.metadata.form.error.lastname.required": "Last Name is required", - - // "profile.metadata.form.label.email": "Email Address", - // TODO New key - Add a translation - "profile.metadata.form.label.email": "Email Address", - - // "profile.metadata.form.label.firstname": "First Name", - // TODO New key - Add a translation - "profile.metadata.form.label.firstname": "First Name", - - // "profile.metadata.form.label.language": "Language", - // TODO New key - Add a translation - "profile.metadata.form.label.language": "Language", - - // "profile.metadata.form.label.lastname": "Last Name", - // TODO New key - Add a translation - "profile.metadata.form.label.lastname": "Last Name", - - // "profile.metadata.form.label.phone": "Contact Telephone", - // TODO New key - Add a translation - "profile.metadata.form.label.phone": "Contact Telephone", - - // "profile.metadata.form.notifications.success.content": "Your changes to the profile were saved.", - // TODO New key - Add a translation - "profile.metadata.form.notifications.success.content": "Your changes to the profile were saved.", - - // "profile.metadata.form.notifications.success.title": "Profile saved", - // TODO New key - Add a translation - "profile.metadata.form.notifications.success.title": "Profile saved", - - // "profile.notifications.warning.no-changes.content": "No changes were made to the Profile.", - // TODO New key - Add a translation - "profile.notifications.warning.no-changes.content": "No changes were made to the Profile.", - - // "profile.notifications.warning.no-changes.title": "No changes", - // TODO New key - Add a translation - "profile.notifications.warning.no-changes.title": "No changes", - - // "profile.security.form.error.matching-passwords": "The passwords do not match.", - // TODO New key - Add a translation - "profile.security.form.error.matching-passwords": "The passwords do not match.", - - // "profile.security.form.error.password-length": "The password should be at least 6 characters long.", - // TODO New key - Add a translation - "profile.security.form.error.password-length": "The password should be at least 6 characters long.", - - // "profile.security.form.info": "Optionally, you can enter a new password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", - // TODO New key - Add a translation - "profile.security.form.info": "Optionally, you can enter a new password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", - - // "profile.security.form.label.password": "Password", - // TODO New key - Add a translation - "profile.security.form.label.password": "Password", - - // "profile.security.form.label.passwordrepeat": "Retype to confirm", - // TODO New key - Add a translation - "profile.security.form.label.passwordrepeat": "Retype to confirm", - - // "profile.security.form.notifications.success.content": "Your changes to the password were saved.", - // TODO New key - Add a translation - "profile.security.form.notifications.success.content": "Your changes to the password were saved.", - - // "profile.security.form.notifications.success.title": "Password saved", - // TODO New key - Add a translation - "profile.security.form.notifications.success.title": "Password saved", - - // "profile.security.form.notifications.error.title": "Error changing passwords", - // TODO New key - Add a translation - "profile.security.form.notifications.error.title": "Error changing passwords", - - // "profile.security.form.notifications.error.not-long-enough": "The password has to be at least 6 characters long.", - // TODO New key - Add a translation - "profile.security.form.notifications.error.not-long-enough": "The password has to be at least 6 characters long.", - - // "profile.security.form.notifications.error.not-same": "The provided passwords are not the same.", - // TODO New key - Add a translation - "profile.security.form.notifications.error.not-same": "The provided passwords are not the same.", - - // "profile.title": "Update Profile", - // TODO New key - Add a translation - "profile.title": "Update Profile", - - - - // "project.listelement.badge": "Research Project", - "project.listelement.badge": "Projeto de Pesquisa", - - // "project.page.contributor": "Contributors", - "project.page.contributor": "Contribuidores", - - // "project.page.description": "Description", - "project.page.description": "Descrição", - - // "project.page.expectedcompletion": "Expected Completion", - "project.page.expectedcompletion": "Conclusão esperada", - - // "project.page.funder": "Funders", - "project.page.funder": "Financiadores", - - // "project.page.id": "ID", - "project.page.id": "ID", - - // "project.page.keyword": "Keywords", - "project.page.keyword": "Palavras-chave", - - // "project.page.status": "Status", - "project.page.status": "Estado", - - // "project.page.titleprefix": "Research Project: ", - "project.page.titleprefix": "Projeto de Pesquisa: ", - - // "project.search.results.head": "Project Search Results", - // TODO New key - Add a translation - "project.search.results.head": "Project Search Results", - - - - // "publication.listelement.badge": "Publication", - "publication.listelement.badge": "Publicação", - - // "publication.page.description": "Description", - "publication.page.description": "Descrição", - - // "publication.page.journal-issn": "Journal ISSN", - "publication.page.journal-issn": "ISSN do Periódico", - - // "publication.page.journal-title": "Journal Title", - "publication.page.journal-title": "Título do Periódico", - - // "publication.page.publisher": "Publisher", - "publication.page.publisher": "Editora", - - // "publication.page.titleprefix": "Publication: ", - "publication.page.titleprefix": "Publicação: ", - - // "publication.page.volume-title": "Volume Title", - "publication.page.volume-title": "Título do Volume", - - // "publication.search.results.head": "Publication Search Results", - "publication.search.results.head": "Resultados da Busca de Publicação", - - // "publication.search.title": "DSpace Angular :: Publication Search", - "publication.search.title": "DSpace Angular :: Busca de Publicações", - - - - // "relationships.isAuthorOf": "Authors", - "relationships.isAuthorOf": "Autores", - - // "relationships.isIssueOf": "Journal Issues", - "relationships.isIssueOf": "Fascículo", - - // "relationships.isJournalIssueOf": "Journal Issue", - "relationships.isJournalIssueOf": "Fascículo", - - // "relationships.isJournalOf": "Journals", - "relationships.isJournalOf": "Periódicos", - - // "relationships.isOrgUnitOf": "Organizational Units", - "relationships.isOrgUnitOf": "Unidades Organizacionais", - - // "relationships.isPersonOf": "Authors", - "relationships.isPersonOf": "Autores", - - // "relationships.isProjectOf": "Research Projects", - "relationships.isProjectOf": "Projetos de Pesquisa", - - // "relationships.isPublicationOf": "Publications", - "relationships.isPublicationOf": "Publicações", - - // "relationships.isPublicationOfJournalIssue": "Articles", - "relationships.isPublicationOfJournalIssue": "Artigos", - - // "relationships.isSingleJournalOf": "Journal", - "relationships.isSingleJournalOf": "Periódico", - - // "relationships.isSingleVolumeOf": "Journal Volume", - "relationships.isSingleVolumeOf": "Volume do Periódico", - - // "relationships.isVolumeOf": "Journal Volumes", - "relationships.isVolumeOf": "Volumes do Periódico", - - // "relationships.isContributorOf": "Contributors", - // TODO New key - Add a translation - "relationships.isContributorOf": "Contributors", - - - - // "search.description": "", - "search.description": "", - - // "search.switch-configuration.title": "Show", - "search.switch-configuration.title": "Mostrar", - - // "search.title": "DSpace Angular :: Search", - "search.title": "DSpace Angular :: Busca", - - // "search.breadcrumbs": "Search", - // TODO New key - Add a translation - "search.breadcrumbs": "Search", - - - // "search.filters.applied.f.author": "Author", - "search.filters.applied.f.author": "Autor", - - // "search.filters.applied.f.dateIssued.max": "End date", - "search.filters.applied.f.dateIssued.max": "Data final", - - // "search.filters.applied.f.dateIssued.min": "Start date", - "search.filters.applied.f.dateIssued.min": "Data inicial", - - // "search.filters.applied.f.dateSubmitted": "Date submitted", - "search.filters.applied.f.dateSubmitted": "Data de submissão", - - // "search.filters.applied.f.discoverable": "Private", - // TODO New key - Add a translation - "search.filters.applied.f.discoverable": "Private", - - // "search.filters.applied.f.entityType": "Item Type", - "search.filters.applied.f.entityType": "Tipo de Item", - - // "search.filters.applied.f.has_content_in_original_bundle": "Has files", - "search.filters.applied.f.has_content_in_original_bundle": "Tem arquivos", - - // "search.filters.applied.f.itemtype": "Type", - "search.filters.applied.f.itemtype": "Tipo", - - // "search.filters.applied.f.namedresourcetype": "Status", - "search.filters.applied.f.namedresourcetype": "Estado", - - // "search.filters.applied.f.subject": "Subject", - "search.filters.applied.f.subject": "Assunto", - - // "search.filters.applied.f.submitter": "Submitter", - "search.filters.applied.f.submitter": "Submetedor", - - // "search.filters.applied.f.jobTitle": "Job Title", - // TODO New key - Add a translation - "search.filters.applied.f.jobTitle": "Job Title", - - // "search.filters.applied.f.birthDate.max": "End birth date", - // TODO New key - Add a translation - "search.filters.applied.f.birthDate.max": "End birth date", - - // "search.filters.applied.f.birthDate.min": "Start birth date", - // TODO New key - Add a translation - "search.filters.applied.f.birthDate.min": "Start birth date", - - // "search.filters.applied.f.withdrawn": "Withdrawn", - // TODO New key - Add a translation - "search.filters.applied.f.withdrawn": "Withdrawn", - - - - // "search.filters.filter.author.head": "Author", - "search.filters.filter.author.head": "Autor", - - // "search.filters.filter.author.placeholder": "Author name", - "search.filters.filter.author.placeholder": "Nome do autor", - - // "search.filters.filter.birthDate.head": "Birth Date", - "search.filters.filter.birthDate.head": "Data de nascimento", - - // "search.filters.filter.birthDate.placeholder": "Birth Date", - "search.filters.filter.birthDate.placeholder": "Data de nascimento", - - // "search.filters.filter.creativeDatePublished.head": "Date Published", - "search.filters.filter.creativeDatePublished.head": "Data de publicação", - - // "search.filters.filter.creativeDatePublished.placeholder": "Date Published", - "search.filters.filter.creativeDatePublished.placeholder": "Data de publicação", - - // "search.filters.filter.creativeWorkEditor.head": "Editor", - "search.filters.filter.creativeWorkEditor.head": "Editor", - - // "search.filters.filter.creativeWorkEditor.placeholder": "Editor", - "search.filters.filter.creativeWorkEditor.placeholder": "Editor", - - // "search.filters.filter.creativeWorkKeywords.head": "Subject", - "search.filters.filter.creativeWorkKeywords.head": "Assunto", - - // "search.filters.filter.creativeWorkKeywords.placeholder": "Subject", - "search.filters.filter.creativeWorkKeywords.placeholder": "Assunto", - - // "search.filters.filter.creativeWorkPublisher.head": "Publisher", - "search.filters.filter.creativeWorkPublisher.head": "Editora", - - // "search.filters.filter.creativeWorkPublisher.placeholder": "Publisher", - "search.filters.filter.creativeWorkPublisher.placeholder": "Editora", - - // "search.filters.filter.dateIssued.head": "Date", - "search.filters.filter.dateIssued.head": "Data", - - // "search.filters.filter.dateIssued.max.placeholder": "Minimum Date", - "search.filters.filter.dateIssued.max.placeholder": "Data Mínima", - - // "search.filters.filter.dateIssued.min.placeholder": "Maximum Date", - "search.filters.filter.dateIssued.min.placeholder": "Data Máxima", - - // "search.filters.filter.dateSubmitted.head": "Date submitted", - "search.filters.filter.dateSubmitted.head": "Data de submissão", - - // "search.filters.filter.dateSubmitted.placeholder": "Date submitted", - "search.filters.filter.dateSubmitted.placeholder": "Data de submissão", - - // "search.filters.filter.discoverable.head": "Private", - // TODO New key - Add a translation - "search.filters.filter.discoverable.head": "Private", - - // "search.filters.filter.withdrawn.head": "Withdrawn", - // TODO New key - Add a translation - "search.filters.filter.withdrawn.head": "Withdrawn", - - // "search.filters.filter.entityType.head": "Item Type", - "search.filters.filter.entityType.head": "Tipo de Item", - - // "search.filters.filter.entityType.placeholder": "Item Type", - "search.filters.filter.entityType.placeholder": "Tipo de Item", - - // "search.filters.filter.has_content_in_original_bundle.head": "Has files", - "search.filters.filter.has_content_in_original_bundle.head": "Tem arquivos", - - // "search.filters.filter.itemtype.head": "Type", - "search.filters.filter.itemtype.head": "Tipo", - - // "search.filters.filter.itemtype.placeholder": "Type", - "search.filters.filter.itemtype.placeholder": "Tipo", - - // "search.filters.filter.jobTitle.head": "Job Title", - "search.filters.filter.jobTitle.head": "Cargo", - - // "search.filters.filter.jobTitle.placeholder": "Job Title", - "search.filters.filter.jobTitle.placeholder": "Cargo", - - // "search.filters.filter.knowsLanguage.head": "Known language", - "search.filters.filter.knowsLanguage.head": "Idioma conhecido", - - // "search.filters.filter.knowsLanguage.placeholder": "Known language", - "search.filters.filter.knowsLanguage.placeholder": "Idioma conhecido", - - // "search.filters.filter.namedresourcetype.head": "Status", - "search.filters.filter.namedresourcetype.head": "Estado", - - // "search.filters.filter.namedresourcetype.placeholder": "Status", - "search.filters.filter.namedresourcetype.placeholder": "Estado", - - // "search.filters.filter.objectpeople.head": "People", - "search.filters.filter.objectpeople.head": "Pessoas", - - // "search.filters.filter.objectpeople.placeholder": "People", - "search.filters.filter.objectpeople.placeholder": "Pessoas", - - // "search.filters.filter.organizationAddressCountry.head": "Country", - "search.filters.filter.organizationAddressCountry.head": "País", - - // "search.filters.filter.organizationAddressCountry.placeholder": "Country", - "search.filters.filter.organizationAddressCountry.placeholder": "País", - - // "search.filters.filter.organizationAddressLocality.head": "City", - "search.filters.filter.organizationAddressLocality.head": "Cidade", - - // "search.filters.filter.organizationAddressLocality.placeholder": "City", - "search.filters.filter.organizationAddressLocality.placeholder": "Cidade", - - // "search.filters.filter.organizationFoundingDate.head": "Date Founded", - "search.filters.filter.organizationFoundingDate.head": "Data de Fundação", - - // "search.filters.filter.organizationFoundingDate.placeholder": "Date Founded", - "search.filters.filter.organizationFoundingDate.placeholder": "Data de Fundação", - - // "search.filters.filter.scope.head": "Scope", - "search.filters.filter.scope.head": "Escopo", - - // "search.filters.filter.scope.placeholder": "Scope filter", - "search.filters.filter.scope.placeholder": "Filtrar escopo", - - // "search.filters.filter.show-less": "Collapse", - "search.filters.filter.show-less": "Mostrar menos", - - // "search.filters.filter.show-more": "Show more", - "search.filters.filter.show-more": "Mostrar mais", - - // "search.filters.filter.subject.head": "Subject", - "search.filters.filter.subject.head": "Assunto", - - // "search.filters.filter.subject.placeholder": "Subject", - "search.filters.filter.subject.placeholder": "Assunto", - - // "search.filters.filter.submitter.head": "Submitter", - "search.filters.filter.submitter.head": "Submetedor", - - // "search.filters.filter.submitter.placeholder": "Submitter", - "search.filters.filter.submitter.placeholder": "Submetedor", - - - - // "search.filters.entityType.JournalIssue": "Journal Issue", - // TODO New key - Add a translation - "search.filters.entityType.JournalIssue": "Journal Issue", - - // "search.filters.entityType.JournalVolume": "Journal Volume", - // TODO New key - Add a translation - "search.filters.entityType.JournalVolume": "Journal Volume", - - // "search.filters.entityType.OrgUnit": "Organizational Unit", - "search.filters.entityType.OrgUnit": "Unidade Organizacional", - - // "search.filters.has_content_in_original_bundle.true": "Yes", - "search.filters.has_content_in_original_bundle.true": "Sim", - - // "search.filters.has_content_in_original_bundle.false": "No", - "search.filters.has_content_in_original_bundle.false": "Não", - - // "search.filters.discoverable.true": "No", - "search.filters.discoverable.true": "Não", - - // "search.filters.discoverable.false": "Yes", - "search.filters.discoverable.false": "Sim", - - // "search.filters.withdrawn.true": "Yes", - "search.filters.withdrawn.true": "Sim", - - // "search.filters.withdrawn.false": "No", - "search.filters.withdrawn.false": "Não", - - // "search.filters.head": "Filters", - "search.filters.head": "Filtros", - - // "search.filters.reset": "Reset filters", - "search.filters.reset": "Limpar filtros", - - // "search.form.search": "Search", - "search.form.search": "Buscar", - - // "search.form.search_dspace": "Search DSpace", - "search.form.search_dspace": "Buscar no DSpace", - - // "search.form.search_mydspace": "Search MyDSpace", - "search.form.search_mydspace": "Buscar no MyDSpace", - - - - // "search.results.head": "Search Results", - "search.results.head": "Resultados de Busca", - - // "search.results.no-results": "Your search returned no results. Having trouble finding what you're looking for? Try putting", - "search.results.no-results": "Sua busca não trouxe resultados. Tendo problema em localizar o que está buscando? Tente", - - // "search.results.no-results-link": "quotes around it", - "search.results.no-results-link": "envolver entre aspas", - - // "search.results.empty": "Your search returned no results.", - "search.results.empty": "Sua pesquisa não retornou resultados.", - - - - // "search.sidebar.close": "Back to results", - "search.sidebar.close": "Voltar para os resultados", - - // "search.sidebar.filters.title": "Filters", - "search.sidebar.filters.title": "Filtros", - - // "search.sidebar.open": "Search Tools", - "search.sidebar.open": "Ferramentas de busca", - - // "search.sidebar.results": "results", - "search.sidebar.results": "resultados", - - // "search.sidebar.settings.rpp": "Results per page", - "search.sidebar.settings.rpp": "Resultados por página", - - // "search.sidebar.settings.sort-by": "Sort By", - "search.sidebar.settings.sort-by": "Ordenar por", - - // "search.sidebar.settings.title": "Settings", - "search.sidebar.settings.title": "Configurações", - - - - // "search.view-switch.show-detail": "Show detail", - "search.view-switch.show-detail": "Mostrar detalhes", - - // "search.view-switch.show-grid": "Show as grid", - "search.view-switch.show-grid": "Mostrar como grade", - - // "search.view-switch.show-list": "Show as list", - "search.view-switch.show-list": "Mostrar como lista", - - - - // "sorting.dc.title.ASC": "Title Ascending", - "sorting.dc.title.ASC": "Título Ascendente", - - // "sorting.dc.title.DESC": "Title Descending", - "sorting.dc.title.DESC": "Título Descendente", - - // "sorting.score.DESC": "Relevance", - "sorting.score.DESC": "Relevância", - - - - // "submission.edit.title": "Edit Submission", - "submission.edit.title": "Editar Submissão", - - // "submission.general.cannot_submit": "You have not the privilege to make a new submission.", - "submission.general.cannot_submit": "Você mão tem privilégios para fazer uma nova submissão.", - - // "submission.general.deposit": "Deposit", - "submission.general.deposit": "Depositar", - - // "submission.general.discard.confirm.cancel": "Cancel", - "submission.general.discard.confirm.cancel": "Cancelar", - - // "submission.general.discard.confirm.info": "This operation can't be undone. Are you sure?", - "submission.general.discard.confirm.info": "Esta operação não pode ser desfeita. Tem certeza?", - - // "submission.general.discard.confirm.submit": "Yes, I'm sure", - "submission.general.discard.confirm.submit": "Sim, tenho certeza", - - // "submission.general.discard.confirm.title": "Discard submission", - "submission.general.discard.confirm.title": "Descartar submissão", - - // "submission.general.discard.submit": "Discard", - "submission.general.discard.submit": "Descartar", - - // "submission.general.save": "Save", - "submission.general.save": "Salvar", - - // "submission.general.save-later": "Save for later", - "submission.general.save-later": "Salvar para continuar depois", - - - - // "submission.sections.describe.relationship-lookup.close": "Close", - "submission.sections.describe.relationship-lookup.close": "Fechar", - - // "submission.sections.describe.relationship-lookup.external-source.added": "Successfully added local entry to the selection", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.added": "Successfully added local entry to the selection", - - // "submission.sections.describe.relationship-lookup.external-source.import-button-title.Author": "Import remote author", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-button-title.Author": "Import remote author", - - // "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal": "Import remote journal", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal": "Import remote journal", - - // "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal Issue": "Import remote journal issue", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal Issue": "Import remote journal issue", - - // "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal Volume": "Import remote journal volume", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal Volume": "Import remote journal volume", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.title": "Import Remote Author", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.title": "Import Remote Author", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.added.local-entity": "Successfully added local author to the selection", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.added.local-entity": "Successfully added local author to the selection", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.added.new-entity": "Successfully imported and added external author to the selection", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.added.new-entity": "Successfully imported and added external author to the selection", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.authority": "Authority", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.authority": "Authority", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.authority.new": "Import as a new local authority entry", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.authority.new": "Import as a new local authority entry", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.cancel": "Cancel", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.cancel": "Cancel", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.collection": "Select a collection to import new entries to", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.collection": "Select a collection to import new entries to", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.entities": "Entities", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.entities": "Entities", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.entities.new": "Import as a new local entity", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.entities.new": "Import as a new local entity", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.lcname": "Importing from LC Name", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.head.lcname": "Importing from LC Name", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.orcid": "Importing from ORCID", - "submission.sections.describe.relationship-lookup.external-source.import-modal.head.orcid": "Importando do ORCID", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.sherpaJournal": "Importing from Sherpa Journal", - "submission.sections.describe.relationship-lookup.external-source.import-modal.head.sherpaJournal": "Importando do Sherpa Journal", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.sherpaPublisher": "Importing from Sherpa Publisher", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.head.sherpaPublisher": "Importing from Sherpa Publisher", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.import": "Import", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.import": "Import", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal.title": "Import Remote Journal", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal.title": "Import Remote Journal", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal.added.local-entity": "Successfully added local journal to the selection", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal.added.local-entity": "Successfully added local journal to the selection", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal.added.new-entity": "Successfully imported and added external journal to the selection", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal.added.new-entity": "Successfully imported and added external journal to the selection", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Issue.title": "Import Remote Journal Issue", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Issue.title": "Import Remote Journal Issue", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Issue.added.local-entity": "Successfully added local journal issue to the selection", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Issue.added.local-entity": "Successfully added local journal issue to the selection", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Issue.added.new-entity": "Successfully imported and added external journal issue to the selection", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Issue.added.new-entity": "Successfully imported and added external journal issue to the selection", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Volume.title": "Import Remote Journal Volume", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Volume.title": "Import Remote Journal Volume", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Volume.added.local-entity": "Successfully added local journal volume to the selection", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Volume.added.local-entity": "Successfully added local journal volume to the selection", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Volume.added.new-entity": "Successfully imported and added external journal volume to the selection", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Volume.added.new-entity": "Successfully imported and added external journal volume to the selection", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.select": "Select a local match:", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.select": "Select a local match:", - - // "submission.sections.describe.relationship-lookup.search-tab.deselect-all": "Deselect all", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.deselect-all": "Deselect all", - - // "submission.sections.describe.relationship-lookup.search-tab.deselect-page": "Deselect page", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.deselect-page": "Deselect page", - - // "submission.sections.describe.relationship-lookup.search-tab.loading": "Loading...", - "submission.sections.describe.relationship-lookup.search-tab.loading": "Carregando...", - - // "submission.sections.describe.relationship-lookup.search-tab.placeholder": "Search query", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.placeholder": "Search query", - - // "submission.sections.describe.relationship-lookup.search-tab.search": "Go", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.search": "Go", - - // "submission.sections.describe.relationship-lookup.search-tab.select-all": "Select all", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.select-all": "Select all", - - // "submission.sections.describe.relationship-lookup.search-tab.select-page": "Select page", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.select-page": "Select page", - - // "submission.sections.describe.relationship-lookup.selected": "Selected {{ size }} items", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.selected": "Selected {{ size }} items", - - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Author": "Local Authors ({{ count }})", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Author": "Local Authors ({{ count }})", - - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal": "Local Journals ({{ count }})", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal": "Local Journals ({{ count }})", - - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal Issue": "Local Journal Issues ({{ count }})", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal Issue": "Local Journal Issues ({{ count }})", - - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal Volume": "Local Journal Volumes ({{ count }})", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal Volume": "Local Journal Volumes ({{ count }})", - - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaJournal": "Sherpa Journals ({{ count }})", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaJournal": "Sherpa Journals ({{ count }})", - - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaPublisher": "Sherpa Publishers ({{ count }})", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaPublisher": "Sherpa Publishers ({{ count }})", - - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.orcid": "ORCID ({{ count }})", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.tab-title.orcid": "ORCID ({{ count }})", - - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.lcname": "LC Names ({{ count }})", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.tab-title.lcname": "LC Names ({{ count }})", - - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Funding Agency": "Search for Funding Agencies", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Funding Agency": "Search for Funding Agencies", - - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Funding": "Search for Funding", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Funding": "Search for Funding", - - // "submission.sections.describe.relationship-lookup.selection-tab.tab-title": "Current Selection ({{ count }})", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.selection-tab.tab-title": "Current Selection ({{ count }})", - - // "submission.sections.describe.relationship-lookup.title.Journal Issue": "Journal Issues", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.title.Journal Issue": "Journal Issues", - - // "submission.sections.describe.relationship-lookup.title.Journal Volume": "Journal Volumes", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.title.Journal Volume": "Journal Volumes", - - // "submission.sections.describe.relationship-lookup.title.Journal": "Journals", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.title.Journal": "Journals", - - // "submission.sections.describe.relationship-lookup.title.Author": "Authors", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.title.Author": "Authors", - - // "submission.sections.describe.relationship-lookup.title.Funding Agency": "Funding Agency", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.title.Funding Agency": "Funding Agency", - - // "submission.sections.describe.relationship-lookup.title.Funding": "Funding", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.title.Funding": "Funding", - - // "submission.sections.describe.relationship-lookup.search-tab.toggle-dropdown": "Toggle dropdown", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.toggle-dropdown": "Toggle dropdown", - - // "submission.sections.describe.relationship-lookup.selection-tab.settings": "Settings", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.selection-tab.settings": "Settings", - - // "submission.sections.describe.relationship-lookup.selection-tab.no-selection": "Your selection is currently empty.", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.selection-tab.no-selection": "Your selection is currently empty.", - - // "submission.sections.describe.relationship-lookup.selection-tab.title.Author": "Selected Authors", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.selection-tab.title.Author": "Selected Authors", - - // "submission.sections.describe.relationship-lookup.selection-tab.title.Journal": "Selected Journals", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.selection-tab.title.Journal": "Selected Journals", - - // "submission.sections.describe.relationship-lookup.selection-tab.title.Journal Volume": "Selected Journal Volume", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.selection-tab.title.Journal Volume": "Selected Journal Volume", - - // "submission.sections.describe.relationship-lookup.selection-tab.title.Journal Issue": "Selected Issue", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.selection-tab.title.Journal Issue": "Selected Issue", - - // "submission.sections.describe.relationship-lookup.selection-tab.title.sherpaJournal": "Search Results", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.selection-tab.title.sherpaJournal": "Search Results", - - // "submission.sections.describe.relationship-lookup.selection-tab.title.sherpaPublisher": "Search Results", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.selection-tab.title.sherpaPublisher": "Search Results", - - // "submission.sections.describe.relationship-lookup.selection-tab.title.orcid": "Search Results", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.selection-tab.title.orcid": "Search Results", - - // "submission.sections.describe.relationship-lookup.selection-tab.title.lcname": "Search Results", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.selection-tab.title.lcname": "Search Results", - - // "submission.sections.describe.relationship-lookup.name-variant.notification.content": "Would you like to save \"{{ value }}\" as a name variant for this person so you and others can reuse it for future submissions? If you don\'t you can still use it for this submission.", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.name-variant.notification.content": "Would you like to save \"{{ value }}\" as a name variant for this person so you and others can reuse it for future submissions? If you don\'t you can still use it for this submission.", - - // "submission.sections.describe.relationship-lookup.name-variant.notification.confirm": "Save a new name variant", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.name-variant.notification.confirm": "Save a new name variant", - - // "submission.sections.describe.relationship-lookup.name-variant.notification.decline": "Use only for this submission", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.name-variant.notification.decline": "Use only for this submission", - - // "submission.sections.general.add-more": "Add more", - "submission.sections.general.add-more": "Adicionar mais", - - // "submission.sections.general.collection": "Collection", - "submission.sections.general.collection": "Coleção", - - // "submission.sections.general.deposit_error_notice": "There was an issue when submitting the item, please try again later.", - "submission.sections.general.deposit_error_notice": "Houve um problema durante a submissão do item, por favor tente novamente mais tarde.", - - // "submission.sections.general.deposit_success_notice": "Submission deposited successfully.", - "submission.sections.general.deposit_success_notice": "Submissão depositada com sucesso.", - - // "submission.sections.general.discard_error_notice": "There was an issue when discarding the item, please try again later.", - "submission.sections.general.discard_error_notice": "Houve um problema ao descartar o item, por favor tente novamente mais tarde.", - - // "submission.sections.general.discard_success_notice": "Submission discarded successfully.", - "submission.sections.general.discard_success_notice": "Submissão descartada com sucesso.", - - // "submission.sections.general.metadata-extracted": "New metadata have been extracted and added to the {{sectionId}} section.", - "submission.sections.general.metadata-extracted": "Novos metadados foram extraídos e adicionados a seção {{sectionId}}.", - - // "submission.sections.general.metadata-extracted-new-section": "New {{sectionId}} section has been added to submission.", - "submission.sections.general.metadata-extracted-new-section": "Nova seção {{sectionId}} foi adicionada a dubmissão.", - - // "submission.sections.general.no-collection": "No collection found", - "submission.sections.general.no-collection": "Nenhuma coleção encontrada", - - // "submission.sections.general.no-sections": "No options available", - "submission.sections.general.no-sections": "Sem opções disponíveis", - - // "submission.sections.general.save_error_notice": "There was an issue when saving the item, please try again later.", - "submission.sections.general.save_error_notice": "Houve um problema ao salvar o item, por favor tente novamente mais tarde.", - - // "submission.sections.general.save_success_notice": "Submission saved successfully.", - "submission.sections.general.save_success_notice": "Submissão salva com sucesso.", - - // "submission.sections.general.search-collection": "Search for a collection", - "submission.sections.general.search-collection": "Buscar uma coleção", - - // "submission.sections.general.sections_not_valid": "There are incomplete sections.", - "submission.sections.general.sections_not_valid": "Há seções incompletas.", - - - - // "submission.sections.submit.progressbar.cclicense": "Creative commons license", - "submission.sections.submit.progressbar.cclicense": "Licença creative commons", - - // "submission.sections.submit.progressbar.describe.recycle": "Recycle", - "submission.sections.submit.progressbar.describe.recycle": "Reciclar", - - // "submission.sections.submit.progressbar.describe.stepcustom": "Describe", - "submission.sections.submit.progressbar.describe.stepcustom": "Descrever", - - // "submission.sections.submit.progressbar.describe.stepone": "Describe", - "submission.sections.submit.progressbar.describe.stepone": "Descrever", - - // "submission.sections.submit.progressbar.describe.steptwo": "Describe", - "submission.sections.submit.progressbar.describe.steptwo": "Descrever", - - // "submission.sections.submit.progressbar.detect-duplicate": "Potential duplicates", - "submission.sections.submit.progressbar.detect-duplicate": "Duplicados em potencial", - - // "submission.sections.submit.progressbar.license": "Deposit license", - "submission.sections.submit.progressbar.license": "Depositar licença", - - // "submission.sections.submit.progressbar.upload": "Upload files", - "submission.sections.submit.progressbar.upload": "Enviar arquivos", - - - - // "submission.sections.upload.delete.confirm.cancel": "Cancel", - "submission.sections.upload.delete.confirm.cancel": "Cancelar", - - // "submission.sections.upload.delete.confirm.info": "This operation can't be undone. Are you sure?", - "submission.sections.upload.delete.confirm.info": "Esta operação é irreversível. Tem certeza?", - - // "submission.sections.upload.delete.confirm.submit": "Yes, I'm sure", - "submission.sections.upload.delete.confirm.submit": "Sim, tenho certeza", - - // "submission.sections.upload.delete.confirm.title": "Delete bitstream", - "submission.sections.upload.delete.confirm.title": "Remover bitstream", - - // "submission.sections.upload.delete.submit": "Delete", - "submission.sections.upload.delete.submit": "Remover", - - // "submission.sections.upload.drop-message": "Drop files to attach them to the item", - "submission.sections.upload.drop-message": "Arraste arquivos para anexá-los ao item", - - // "submission.sections.upload.form.access-condition-label": "Access condition type", - "submission.sections.upload.form.access-condition-label": "Tipo de condição de acesso", - - // "submission.sections.upload.form.date-required": "Date is required.", - "submission.sections.upload.form.date-required": "Data necessária.", - - // "submission.sections.upload.form.from-label": "Access grant from", - "submission.sections.upload.form.from-label": "Acesso permitido a partir de", - - // "submission.sections.upload.form.from-placeholder": "From", - "submission.sections.upload.form.from-placeholder": "De", - - // "submission.sections.upload.form.group-label": "Group", - "submission.sections.upload.form.group-label": "Grupo", - - // "submission.sections.upload.form.group-required": "Group is required.", - "submission.sections.upload.form.group-required": "Grupo é necessário.", - - // "submission.sections.upload.form.until-label": "Access grant until", - "submission.sections.upload.form.until-label": "Acesso permitido até", - - // "submission.sections.upload.form.until-placeholder": "Until", - "submission.sections.upload.form.until-placeholder": "Até", - - // "submission.sections.upload.header.policy.default.nolist": "Uploaded files in the {{collectionName}} collection will be accessible according to the following group(s):", - "submission.sections.upload.header.policy.default.nolist": "Arquivos enviados na coleção {{collectionName}} serão acessiveis de acordo com o(s) seguinte(s) grupo(s):", - - // "submission.sections.upload.header.policy.default.withlist": "Please note that uploaded files in the {{collectionName}} collection will be accessible, in addition to what is explicitly decided for the single file, with the following group(s):", - "submission.sections.upload.header.policy.default.withlist": "Por favor note que arquivos enviados a coleção {{collectionName}} serão acessíveis, de acordo com o que está explicitamente definido no arquivo, no(s) seguinte(s) grupo(s):", - - // "submission.sections.upload.info": "Here you will find all the files currently in the item. You can update the file metadata and access conditions or upload additional files just dragging & dropping them everywhere in the page", - "submission.sections.upload.info": "Aqui voCẽ encontra todos os arquivos que estão atualmente no item. Você pode atualizar os metadados do arquivo e condições de acesso ou enviar arquivos adicionais apenas arrastando os arquivos em qualquer lugar da página", - - // "submission.sections.upload.no-entry": "No", - "submission.sections.upload.no-entry": "Não", - - // "submission.sections.upload.no-file-uploaded": "No file uploaded yet.", - "submission.sections.upload.no-file-uploaded": "Nenhum arquivo enviado ainda.", - - // "submission.sections.upload.save-metadata": "Save metadata", - "submission.sections.upload.save-metadata": "Salvar metadados", - - // "submission.sections.upload.undo": "Cancel", - "submission.sections.upload.undo": "Cancelar", - - // "submission.sections.upload.upload-failed": "Upload failed", - "submission.sections.upload.upload-failed": "Falha no envio", - - // "submission.sections.upload.upload-successful": "Upload successful", - "submission.sections.upload.upload-successful": "Enviado com sucesso", - - - - // "submission.submit.title": "Submission", - "submission.submit.title": "Submissão", - - - - // "submission.workflow.generic.delete": "Delete", - "submission.workflow.generic.delete": "Apagar", - - // "submission.workflow.generic.delete-help": "If you would to discard this item, select \"Delete\". You will then be asked to confirm it.", - "submission.workflow.generic.delete-help": "Se você gostaria de descartar este item, selecione \"Apagar\". Você será questionado para confirmar.", - - // "submission.workflow.generic.edit": "Edit", - "submission.workflow.generic.edit": "Editar", - - // "submission.workflow.generic.edit-help": "Select this option to change the item's metadata.", - "submission.workflow.generic.edit-help": "Selecione esta opção para modificar os metadados do item.", - - // "submission.workflow.generic.view": "View", - "submission.workflow.generic.view": "Visualizar", - - // "submission.workflow.generic.view-help": "Select this option to view the item's metadata.", - "submission.workflow.generic.view-help": "Selecione esta opção para ver o metadados do item.", - - - - // "submission.workflow.tasks.claimed.approve": "Approve", - "submission.workflow.tasks.claimed.approve": "Aprovar", - - // "submission.workflow.tasks.claimed.approve_help": "If you have reviewed the item and it is suitable for inclusion in the collection, select \"Approve\".", - "submission.workflow.tasks.claimed.approve_help": "Se você revisou o item e este está adequado para inclusão na coleção, selecione \"Aprovar\".", - - // "submission.workflow.tasks.claimed.edit": "Edit", - "submission.workflow.tasks.claimed.edit": "Editar", - - // "submission.workflow.tasks.claimed.edit_help": "Select this option to change the item's metadata.", - "submission.workflow.tasks.claimed.edit_help": "Selecione esta opção para modificar os metadados do item.", - - // "submission.workflow.tasks.claimed.reject.reason.info": "Please enter your reason for rejecting the submission into the box below, indicating whether the submitter may fix a problem and resubmit.", - "submission.workflow.tasks.claimed.reject.reason.info": "Por favor informe o motivo pela rejeição da submissão na caixa abaixo, indicando se o submetedor pode corrigir um problema e reenviar.", - - // "submission.workflow.tasks.claimed.reject.reason.placeholder": "Describe the reason of reject", - "submission.workflow.tasks.claimed.reject.reason.placeholder": "Descreva o motivo da rejeição", - - // "submission.workflow.tasks.claimed.reject.reason.submit": "Reject item", - "submission.workflow.tasks.claimed.reject.reason.submit": "Rejeitar item", - - // "submission.workflow.tasks.claimed.reject.reason.title": "Reason", - "submission.workflow.tasks.claimed.reject.reason.title": "Motivo", - - // "submission.workflow.tasks.claimed.reject.submit": "Reject", - "submission.workflow.tasks.claimed.reject.submit": "Rejeitar", - - // "submission.workflow.tasks.claimed.reject_help": "If you have reviewed the item and found it is not suitable for inclusion in the collection, select \"Reject\". You will then be asked to enter a message indicating why the item is unsuitable, and whether the submitter should change something and resubmit.", - "submission.workflow.tasks.claimed.reject_help": "Se você revisou o item e achou que ele não é adequado para inclusão na coleção, selecione \"Rejeitar\". Você será questionado a informar uma mensagem indicando porque o item está inadequado e se o submetedor deve modificar algo e reenviar.", - - // "submission.workflow.tasks.claimed.return": "Return to pool", - "submission.workflow.tasks.claimed.return": "Retornar para o conjunto", - - // "submission.workflow.tasks.claimed.return_help": "Return the task to the pool so that another user may perform the task.", - "submission.workflow.tasks.claimed.return_help": "Retornar a tarefa para o conjunto para que outra pessoa possa a fazer.", - - - - // "submission.workflow.tasks.generic.error": "Error occurred during operation...", - "submission.workflow.tasks.generic.error": "Ocorreu um erro durante a operação...", - - // "submission.workflow.tasks.generic.processing": "Processing...", - "submission.workflow.tasks.generic.processing": "Processando...", - - // "submission.workflow.tasks.generic.submitter": "Submitter", - "submission.workflow.tasks.generic.submitter": "Submetedor", - - // "submission.workflow.tasks.generic.success": "Operation successful", - "submission.workflow.tasks.generic.success": "Operação realizada com sucesso", - - - - // "submission.workflow.tasks.pool.claim": "Claim", - "submission.workflow.tasks.pool.claim": "Requerer", - - // "submission.workflow.tasks.pool.claim_help": "Assign this task to yourself.", - "submission.workflow.tasks.pool.claim_help": "Atribua esta tarefa a si mesmo.", - - // "submission.workflow.tasks.pool.hide-detail": "Hide detail", - "submission.workflow.tasks.pool.hide-detail": "Ocultar detalhes", - - // "submission.workflow.tasks.pool.show-detail": "Show detail", - "submission.workflow.tasks.pool.show-detail": "Mostrar detalhes", - - - - // "title": "DSpace", - "title": "DSpace", - - + // "administrativeView.search.results.head": "Administrative Search", // TODO New key - Add a translation "administrativeView.search.results.head": "Administrative Search", - + + + + + // "admin.workflow.breadcrumbs": "Administer Workflow", + // TODO New key - Add a translation + "admin.workflow.breadcrumbs": "Administer Workflow", + + // "admin.workflow.title": "Administer Workflow", + // TODO New key - Add a translation + "admin.workflow.title": "Administer Workflow", + + // "admin.workflow.item.workflow": "Workflow", + // TODO New key - Add a translation + "admin.workflow.item.workflow": "Workflow", + + // "admin.workflow.item.delete": "Delete", + // TODO New key - Add a translation + "admin.workflow.item.delete": "Delete", + + // "admin.workflow.item.send-back": "Send back", + // TODO New key - Add a translation + "admin.workflow.item.send-back": "Send back", + + + + // "admin.metadata-import.breadcrumbs": "Import Metadata", + // TODO New key - Add a translation + "admin.metadata-import.breadcrumbs": "Import Metadata", + + // "admin.metadata-import.title": "Import Metadata", + // TODO New key - Add a translation + "admin.metadata-import.title": "Import Metadata", + + // "admin.metadata-import.page.header": "Import Metadata", + // TODO New key - Add a translation + "admin.metadata-import.page.header": "Import Metadata", + + // "admin.metadata-import.page.help": "You can drop or browse CSV files that contain batch metadata operations on files here", + // TODO New key - Add a translation + "admin.metadata-import.page.help": "You can drop or browse CSV files that contain batch metadata operations on files here", + + // "admin.metadata-import.page.dropMsg": "Drop a metadata CSV to import", + // TODO New key - Add a translation + "admin.metadata-import.page.dropMsg": "Drop a metadata CSV to import", + + // "admin.metadata-import.page.dropMsgReplace": "Drop to replace the metadata CSV to import", + // TODO New key - Add a translation + "admin.metadata-import.page.dropMsgReplace": "Drop to replace the metadata CSV to import", + + // "admin.metadata-import.page.button.return": "Return", + // TODO New key - Add a translation + "admin.metadata-import.page.button.return": "Return", + + // "admin.metadata-import.page.button.proceed": "Proceed", + // TODO New key - Add a translation + "admin.metadata-import.page.button.proceed": "Proceed", + + // "admin.metadata-import.page.error.addFile": "Select file first!", + // TODO New key - Add a translation + "admin.metadata-import.page.error.addFile": "Select file first!", + + + + + // "auth.errors.invalid-user": "Invalid email address or password.", + "auth.errors.invalid-user": "Endereço de email ou senha inválidos.", + + // "auth.messages.expired": "Your session has expired. Please log in again.", + "auth.messages.expired": "Sua sessão expirou. Por favor entre novamente.", + + + + // "bitstream.edit.bitstream": "Bitstream: ", + // TODO New key - Add a translation + "bitstream.edit.bitstream": "Bitstream: ", + + // "bitstream.edit.form.description.hint": "Optionally, provide a brief description of the file, for example \"Main article\" or \"Experiment data readings\".", + // TODO New key - Add a translation + "bitstream.edit.form.description.hint": "Optionally, provide a brief description of the file, for example \"Main article\" or \"Experiment data readings\".", + + // "bitstream.edit.form.description.label": "Description", + "bitstream.edit.form.description.label": "Descrição", + + // "bitstream.edit.form.embargo.hint": "The first day from which access is allowed. This date cannot be modified on this form. To set an embargo date for a bitstream, go to the Item Status tab, click Authorizations..., create or edit the bitstream's READ policy, and set the Start Date as desired.", + // TODO New key - Add a translation + "bitstream.edit.form.embargo.hint": "The first day from which access is allowed. This date cannot be modified on this form. To set an embargo date for a bitstream, go to the Item Status tab, click Authorizations..., create or edit the bitstream's READ policy, and set the Start Date as desired.", + + // "bitstream.edit.form.embargo.label": "Embargo until specific date", + // TODO New key - Add a translation + "bitstream.edit.form.embargo.label": "Embargo until specific date", + + // "bitstream.edit.form.fileName.hint": "Change the filename for the bitstream. Note that this will change the display bitstream URL, but old links will still resolve as long as the sequence ID does not change.", + // TODO New key - Add a translation + "bitstream.edit.form.fileName.hint": "Change the filename for the bitstream. Note that this will change the display bitstream URL, but old links will still resolve as long as the sequence ID does not change.", + + // "bitstream.edit.form.fileName.label": "Filename", + "bitstream.edit.form.fileName.label": "Nome do arquivo", + + // "bitstream.edit.form.newFormat.label": "Describe new format", + "bitstream.edit.form.newFormat.label": "Descreva o novo formato", + + // "bitstream.edit.form.newFormat.hint": "The application you used to create the file, and the version number (for example, \"ACMESoft SuperApp version 1.5\").", + // TODO New key - Add a translation + "bitstream.edit.form.newFormat.hint": "The application you used to create the file, and the version number (for example, \"ACMESoft SuperApp version 1.5\").", + + // "bitstream.edit.form.primaryBitstream.label": "Primary bitstream", + // TODO New key - Add a translation + "bitstream.edit.form.primaryBitstream.label": "Primary bitstream", + + // "bitstream.edit.form.selectedFormat.hint": "If the format is not in the above list, select \"format not in list\" above and describe it under \"Describe new format\".", + // TODO New key - Add a translation + "bitstream.edit.form.selectedFormat.hint": "If the format is not in the above list, select \"format not in list\" above and describe it under \"Describe new format\".", + + // "bitstream.edit.form.selectedFormat.label": "Selected Format", + "bitstream.edit.form.selectedFormat.label": "Formato Selecionado", + + // "bitstream.edit.form.selectedFormat.unknown": "Format not in list", + // TODO New key - Add a translation + "bitstream.edit.form.selectedFormat.unknown": "Format not in list", + + // "bitstream.edit.notifications.error.format.title": "An error occurred saving the bitstream's format", + // TODO New key - Add a translation + "bitstream.edit.notifications.error.format.title": "An error occurred saving the bitstream's format", + + // "bitstream.edit.notifications.saved.content": "Your changes to this bitstream were saved.", + // TODO New key - Add a translation + "bitstream.edit.notifications.saved.content": "Your changes to this bitstream were saved.", + + // "bitstream.edit.notifications.saved.title": "Bitstream saved", + // TODO New key - Add a translation + "bitstream.edit.notifications.saved.title": "Bitstream saved", + + // "bitstream.edit.title": "Edit bitstream", + // TODO New key - Add a translation + "bitstream.edit.title": "Edit bitstream", + + + + // "browse.comcol.by.author": "By Author", + "browse.comcol.by.author": "Por Autor", + + // "browse.comcol.by.dateissued": "By Issue Date", + "browse.comcol.by.dateissued": "Por Data de Publicação", + + // "browse.comcol.by.subject": "By Subject", + "browse.comcol.by.subject": "Por Assunto", + + // "browse.comcol.by.title": "By Title", + "browse.comcol.by.title": "Por Título", + + // "browse.comcol.head": "Browse", + "browse.comcol.head": "Navegar", + + // "browse.empty": "No items to show.", + "browse.empty": "Sem itens a exibir.", + + // "browse.metadata.author": "Author", + "browse.metadata.author": "Autor", + + // "browse.metadata.dateissued": "Issue Date", + "browse.metadata.dateissued": "Data de Publicação", + + // "browse.metadata.subject": "Subject", + "browse.metadata.subject": "Assunto", + + // "browse.metadata.title": "Title", + "browse.metadata.title": "Título", + + // "browse.metadata.author.breadcrumbs": "Browse by Author", + "browse.metadata.author.breadcrumbs": "Pesquisar por Autor", + + // "browse.metadata.dateissued.breadcrumbs": "Browse by Date", + "browse.metadata.dateissued.breadcrumbs": "Pesquisar por Data", + + // "browse.metadata.subject.breadcrumbs": "Browse by Subject", + "browse.metadata.subject.breadcrumbs": "Pesquisar por Assunto", + + // "browse.metadata.title.breadcrumbs": "Browse by Title", + "browse.metadata.title.breadcrumbs": "Pesquisar por Título", + + // "browse.startsWith.choose_start": "(Choose start)", + "browse.startsWith.choose_start": "(Escolha o início)", + + // "browse.startsWith.choose_year": "(Choose year)", + "browse.startsWith.choose_year": "(Escolha o ano)", + + // "browse.startsWith.jump": "Jump to a point in the index:", + "browse.startsWith.jump": "Pular para um ponto do índice:", + + // "browse.startsWith.months.april": "April", + "browse.startsWith.months.april": "Abril", + + // "browse.startsWith.months.august": "August", + "browse.startsWith.months.august": "Agosto", + + // "browse.startsWith.months.december": "December", + "browse.startsWith.months.december": "Dezembro", + + // "browse.startsWith.months.february": "February", + "browse.startsWith.months.february": "Fevereiro", + + // "browse.startsWith.months.january": "January", + "browse.startsWith.months.january": "Janeiro", + + // "browse.startsWith.months.july": "July", + "browse.startsWith.months.july": "Julho", + + // "browse.startsWith.months.june": "June", + "browse.startsWith.months.june": "Junho", + + // "browse.startsWith.months.march": "March", + "browse.startsWith.months.march": "Março", + + // "browse.startsWith.months.may": "May", + "browse.startsWith.months.may": "Maio", + + // "browse.startsWith.months.none": "(Choose month)", + "browse.startsWith.months.none": "(escolha o mês)", + + // "browse.startsWith.months.november": "November", + "browse.startsWith.months.november": "Novembro", + + // "browse.startsWith.months.october": "October", + "browse.startsWith.months.october": "Outubro", + + // "browse.startsWith.months.september": "September", + "browse.startsWith.months.september": "Setembro", + + // "browse.startsWith.submit": "Go", + "browse.startsWith.submit": "Ir", + + // "browse.startsWith.type_date": "Or type in a date (year-month):", + "browse.startsWith.type_date": "Ou informe uma data (ano-mês):", + + // "browse.startsWith.type_text": "Or enter first few letters:", + "browse.startsWith.type_text": "Ou informe as primeiras letras:", + + // "browse.title": "Browsing {{ collection }} by {{ field }} {{ value }}", + "browse.title": "Navegando {{ collection }} por {{ field }} {{ value }}", + + + // "chips.remove": "Remove chip", + "chips.remove": "Remover chip", + + + + // "collection.create.head": "Create a Collection", + "collection.create.head": "Criar uma coleção", + + // "collection.create.notifications.success": "Successfully created the Collection", + // TODO New key - Add a translation + "collection.create.notifications.success": "Successfully created the Collection", + + // "collection.create.sub-head": "Create a Collection for Community {{ parent }}", + "collection.create.sub-head": "Criar uma Coleção na Comunidade {{ parent }}", + + // "collection.curate.header": "Curate Collection: {{collection}}", + // TODO New key - Add a translation + "collection.curate.header": "Curate Collection: {{collection}}", + + // "collection.delete.cancel": "Cancel", + "collection.delete.cancel": "Cancelar", + + // "collection.delete.confirm": "Confirm", + "collection.delete.confirm": "Confirmar", + + // "collection.delete.head": "Delete Collection", + "collection.delete.head": "Apagar Coleção", + + // "collection.delete.notification.fail": "Collection could not be deleted", + "collection.delete.notification.fail": "Coleção não pôde ser apagada", + + // "collection.delete.notification.success": "Successfully deleted collection", + "collection.delete.notification.success": "Apagou a coleção com sucesso", + + // "collection.delete.text": "Are you sure you want to delete collection \"{{ dso }}\"", + "collection.delete.text": "Você tem certeza que deseja apagar a coleção \"{{ dso }}?\"", + + + + // "collection.edit.delete": "Delete this collection", + "collection.edit.delete": "Apagar esta coleção", + + // "collection.edit.head": "Edit Collection", + "collection.edit.head": "Editar Coleção", + + // "collection.edit.breadcrumbs": "Edit Collection", + // TODO New key - Add a translation + "collection.edit.breadcrumbs": "Edit Collection", + + + + // "collection.edit.tabs.mapper.head": "Item Mapper", + // TODO New key - Add a translation + "collection.edit.tabs.mapper.head": "Item Mapper", + + // "collection.edit.tabs.item-mapper.title": "Collection Edit - Item Mapper", + // TODO New key - Add a translation + "collection.edit.tabs.item-mapper.title": "Collection Edit - Item Mapper", + + // "collection.edit.item-mapper.cancel": "Cancel", + "collection.edit.item-mapper.cancel": "Cancelar", + + // "collection.edit.item-mapper.collection": "Collection: \"{{name}}\"", + "collection.edit.item-mapper.collection": "Coleção: \"{{name}}\"", + + // "collection.edit.item-mapper.confirm": "Map selected items", + "collection.edit.item-mapper.confirm": "Mapear itens selecionados", + + // "collection.edit.item-mapper.description": "This is the item mapper tool that allows collection administrators to map items from other collections into this collection. You can search for items from other collections and map them, or browse the list of currently mapped items.", + "collection.edit.item-mapper.description": "Esta é a ferramenta de mapeação de itens que permite administradores de coleções a mapear itens de outras coleções nesta. VoCẽ pode busca-los em outras coleções para mapeá-los, ou navegar na lista dos itens atualmente mapeados.", + + // "collection.edit.item-mapper.head": "Item Mapper - Map Items from Other Collections", + "collection.edit.item-mapper.head": "Mapeador de Itens - Mapear itens em Outras Coleções", + + // "collection.edit.item-mapper.no-search": "Please enter a query to search", + "collection.edit.item-mapper.no-search": "Por favor informe uma consulta para buscar", + + // "collection.edit.item-mapper.notifications.map.error.content": "Errors occurred for mapping of {{amount}} items.", + "collection.edit.item-mapper.notifications.map.error.content": "Ocorreu erros ao mapear {{amount}} itens.", + + // "collection.edit.item-mapper.notifications.map.error.head": "Mapping errors", + "collection.edit.item-mapper.notifications.map.error.head": "Erros de mapeamento", + + // "collection.edit.item-mapper.notifications.map.success.content": "Successfully mapped {{amount}} items.", + "collection.edit.item-mapper.notifications.map.success.content": "Mapeou {{amount}} itens com sucesso.", + + // "collection.edit.item-mapper.notifications.map.success.head": "Mapping completed", + "collection.edit.item-mapper.notifications.map.success.head": "Mapeamento completo", + + // "collection.edit.item-mapper.notifications.unmap.error.content": "Errors occurred for removing the mappings of {{amount}} items.", + "collection.edit.item-mapper.notifications.unmap.error.content": "Ocorreram erros ao tentar remover os mapeamentos de {{amount}} item(ns).", + + // "collection.edit.item-mapper.notifications.unmap.error.head": "Remove mapping errors", + "collection.edit.item-mapper.notifications.unmap.error.head": "Erros de remoção de mapeamento", + + // "collection.edit.item-mapper.notifications.unmap.success.content": "Successfully removed the mappings of {{amount}} items.", + "collection.edit.item-mapper.notifications.unmap.success.content": "Removeu os mapeamentps de {{amount}} item(ns) com sucesso.", + + // "collection.edit.item-mapper.notifications.unmap.success.head": "Remove mapping completed", + "collection.edit.item-mapper.notifications.unmap.success.head": "Remoção de mapeamentos completa", + + // "collection.edit.item-mapper.remove": "Remove selected item mappings", + "collection.edit.item-mapper.remove": "Remover mapeamentos selecionados", + + // "collection.edit.item-mapper.tabs.browse": "Browse mapped items", + "collection.edit.item-mapper.tabs.browse": "Navegar por itens mapeados", + + // "collection.edit.item-mapper.tabs.map": "Map new items", + "collection.edit.item-mapper.tabs.map": "Mapear novos itens", + + + + // "collection.edit.logo.label": "Collection logo", + // TODO New key - Add a translation + "collection.edit.logo.label": "Collection logo", + + // "collection.edit.logo.notifications.add.error": "Uploading Collection logo failed. Please verify the content before retrying.", + // TODO New key - Add a translation + "collection.edit.logo.notifications.add.error": "Uploading Collection logo failed. Please verify the content before retrying.", + + // "collection.edit.logo.notifications.add.success": "Upload Collection logo successful.", + // TODO New key - Add a translation + "collection.edit.logo.notifications.add.success": "Upload Collection logo successful.", + + // "collection.edit.logo.notifications.delete.success.title": "Logo deleted", + "collection.edit.logo.notifications.delete.success.title": "Logo removido", + + // "collection.edit.logo.notifications.delete.success.content": "Successfully deleted the collection's logo", + // TODO New key - Add a translation + "collection.edit.logo.notifications.delete.success.content": "Successfully deleted the collection's logo", + + // "collection.edit.logo.notifications.delete.error.title": "Error deleting logo", + // TODO New key - Add a translation + "collection.edit.logo.notifications.delete.error.title": "Error deleting logo", + + // "collection.edit.logo.upload": "Drop a Collection Logo to upload", + // TODO New key - Add a translation + "collection.edit.logo.upload": "Drop a Collection Logo to upload", + + + + // "collection.edit.notifications.success": "Successfully edited the Collection", + // TODO New key - Add a translation + "collection.edit.notifications.success": "Successfully edited the Collection", + + // "collection.edit.return": "Return", + // TODO New key - Add a translation + "collection.edit.return": "Return", + + + + // "collection.edit.tabs.curate.head": "Curate", + // TODO New key - Add a translation + "collection.edit.tabs.curate.head": "Curate", + + // "collection.edit.tabs.curate.title": "Collection Edit - Curate", + // TODO New key - Add a translation + "collection.edit.tabs.curate.title": "Collection Edit - Curate", + + // "collection.edit.tabs.authorizations.head": "Authorizations", + // TODO New key - Add a translation + "collection.edit.tabs.authorizations.head": "Authorizations", + + // "collection.edit.tabs.authorizations.title": "Collection Edit - Authorizations", + // TODO New key - Add a translation + "collection.edit.tabs.authorizations.title": "Collection Edit - Authorizations", + + // "collection.edit.tabs.metadata.head": "Edit Metadata", + "collection.edit.tabs.metadata.head": "Editar Metadados", + + // "collection.edit.tabs.metadata.title": "Collection Edit - Metadata", + // TODO New key - Add a translation + "collection.edit.tabs.metadata.title": "Collection Edit - Metadata", + + // "collection.edit.tabs.roles.head": "Assign Roles", + // TODO New key - Add a translation + "collection.edit.tabs.roles.head": "Assign Roles", + + // "collection.edit.tabs.roles.title": "Collection Edit - Roles", + // TODO New key - Add a translation + "collection.edit.tabs.roles.title": "Collection Edit - Roles", + + // "collection.edit.tabs.source.external": "This collection harvests its content from an external source", + // TODO New key - Add a translation + "collection.edit.tabs.source.external": "This collection harvests its content from an external source", + + // "collection.edit.tabs.source.form.errors.oaiSource.required": "You must provide a set id of the target collection.", + // TODO New key - Add a translation + "collection.edit.tabs.source.form.errors.oaiSource.required": "You must provide a set id of the target collection.", + + // "collection.edit.tabs.source.form.harvestType": "Content being harvested", + // TODO New key - Add a translation + "collection.edit.tabs.source.form.harvestType": "Content being harvested", + + // "collection.edit.tabs.source.form.head": "Configure an external source", + // TODO New key - Add a translation + "collection.edit.tabs.source.form.head": "Configure an external source", + + // "collection.edit.tabs.source.form.metadataConfigId": "Metadata Format", + // TODO New key - Add a translation + "collection.edit.tabs.source.form.metadataConfigId": "Metadata Format", + + // "collection.edit.tabs.source.form.oaiSetId": "OAI specific set id", + // TODO New key - Add a translation + "collection.edit.tabs.source.form.oaiSetId": "OAI specific set id", + + // "collection.edit.tabs.source.form.oaiSource": "OAI Provider", + // TODO New key - Add a translation + "collection.edit.tabs.source.form.oaiSource": "OAI Provider", + + // "collection.edit.tabs.source.form.options.harvestType.METADATA_AND_BITSTREAMS": "Harvest metadata and bitstreams (requires ORE support)", + // TODO New key - Add a translation + "collection.edit.tabs.source.form.options.harvestType.METADATA_AND_BITSTREAMS": "Harvest metadata and bitstreams (requires ORE support)", + + // "collection.edit.tabs.source.form.options.harvestType.METADATA_AND_REF": "Harvest metadata and references to bitstreams (requires ORE support)", + // TODO New key - Add a translation + "collection.edit.tabs.source.form.options.harvestType.METADATA_AND_REF": "Harvest metadata and references to bitstreams (requires ORE support)", + + // "collection.edit.tabs.source.form.options.harvestType.METADATA_ONLY": "Harvest metadata only", + // TODO New key - Add a translation + "collection.edit.tabs.source.form.options.harvestType.METADATA_ONLY": "Harvest metadata only", + + // "collection.edit.tabs.source.head": "Content Source", + // TODO New key - Add a translation + "collection.edit.tabs.source.head": "Content Source", + + // "collection.edit.tabs.source.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", + // TODO New key - Add a translation + "collection.edit.tabs.source.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", + + // "collection.edit.tabs.source.notifications.discarded.title": "Changed discarded", + "collection.edit.tabs.source.notifications.discarded.title": "Alterações descartadas", + + // "collection.edit.tabs.source.notifications.invalid.content": "Your changes were not saved. Please make sure all fields are valid before you save.", + // TODO New key - Add a translation + "collection.edit.tabs.source.notifications.invalid.content": "Your changes were not saved. Please make sure all fields are valid before you save.", + + // "collection.edit.tabs.source.notifications.invalid.title": "Metadata invalid", + // TODO New key - Add a translation + "collection.edit.tabs.source.notifications.invalid.title": "Metadata invalid", + + // "collection.edit.tabs.source.notifications.saved.content": "Your changes to this collection's content source were saved.", + // TODO New key - Add a translation + "collection.edit.tabs.source.notifications.saved.content": "Your changes to this collection's content source were saved.", + + // "collection.edit.tabs.source.notifications.saved.title": "Content Source saved", + // TODO New key - Add a translation + "collection.edit.tabs.source.notifications.saved.title": "Content Source saved", + + // "collection.edit.tabs.source.title": "Collection Edit - Content Source", + // TODO New key - Add a translation + "collection.edit.tabs.source.title": "Collection Edit - Content Source", + + + + // "collection.edit.template.add-button": "Add", + // TODO New key - Add a translation + "collection.edit.template.add-button": "Add", + + // "collection.edit.template.breadcrumbs": "Item template", + // TODO New key - Add a translation + "collection.edit.template.breadcrumbs": "Item template", + + // "collection.edit.template.cancel": "Cancel", + // TODO New key - Add a translation + "collection.edit.template.cancel": "Cancel", + + // "collection.edit.template.delete-button": "Delete", + // TODO New key - Add a translation + "collection.edit.template.delete-button": "Delete", + + // "collection.edit.template.edit-button": "Edit", + // TODO New key - Add a translation + "collection.edit.template.edit-button": "Edit", + + // "collection.edit.template.head": "Edit Template Item for Collection \"{{ collection }}\"", + // TODO New key - Add a translation + "collection.edit.template.head": "Edit Template Item for Collection \"{{ collection }}\"", + + // "collection.edit.template.label": "Template item", + // TODO New key - Add a translation + "collection.edit.template.label": "Template item", + + // "collection.edit.template.notifications.delete.error": "Failed to delete the item template", + // TODO New key - Add a translation + "collection.edit.template.notifications.delete.error": "Failed to delete the item template", + + // "collection.edit.template.notifications.delete.success": "Successfully deleted the item template", + // TODO New key - Add a translation + "collection.edit.template.notifications.delete.success": "Successfully deleted the item template", + + // "collection.edit.template.title": "Edit Template Item", + // TODO New key - Add a translation + "collection.edit.template.title": "Edit Template Item", + + + + // "collection.form.abstract": "Short Description", + "collection.form.abstract": "Descrição curta", + + // "collection.form.description": "Introductory text (HTML)", + "collection.form.description": "Texto introdutório (HTML)", + + // "collection.form.errors.title.required": "Please enter a collection name", + "collection.form.errors.title.required": "Por favor informe um nome de coleção", + + // "collection.form.license": "License", + "collection.form.license": "Licença", + + // "collection.form.provenance": "Provenance", + "collection.form.provenance": "Proveniência", + + // "collection.form.rights": "Copyright text (HTML)", + "collection.form.rights": "Texto de direito de cópia (HTML)", + + // "collection.form.tableofcontents": "News (HTML)", + "collection.form.tableofcontents": "Notícias (HTML)", + + // "collection.form.title": "Name", + "collection.form.title": "Nome", + + + + // "collection.listelement.badge": "Collection", + // TODO New key - Add a translation + "collection.listelement.badge": "Collection", + + + + // "collection.page.browse.recent.head": "Recent Submissions", + "collection.page.browse.recent.head": "Submissões Recentes", + + // "collection.page.browse.recent.empty": "No items to show", + "collection.page.browse.recent.empty": "Nenhum item a exibir", + + // "collection.page.edit": "Edit this collection", + // TODO New key - Add a translation + "collection.page.edit": "Edit this collection", + + // "collection.page.handle": "Permanent URI for this collection", + "collection.page.handle": "URI Permanente para esta coleção", + + // "collection.page.license": "License", + "collection.page.license": "Licença", + + // "collection.page.news": "News", + "collection.page.news": "Notícias", + + + + // "collection.select.confirm": "Confirm selected", + "collection.select.confirm": "Confirmar seleção", + + // "collection.select.empty": "No collections to show", + "collection.select.empty": "Nenhuma coleção a mostrar", + + // "collection.select.table.title": "Title", + "collection.select.table.title": "Título", + + + + // "collection.source.update.notifications.error.content": "The provided settings have been tested and didn't work.", + // TODO New key - Add a translation + "collection.source.update.notifications.error.content": "The provided settings have been tested and didn't work.", + + // "collection.source.update.notifications.error.title": "Server Error", + "collection.source.update.notifications.error.title": "Erro no Servidor", + + + + // "communityList.tabTitle": "DSpace - Community List", + // TODO New key - Add a translation + "communityList.tabTitle": "DSpace - Community List", + + // "communityList.title": "List of Communities", + "communityList.title": "Lista de Comunidades", + + // "communityList.showMore": "Show More", + "communityList.showMore": "Mostrar Mais", + + + + // "community.create.head": "Create a Community", + "community.create.head": "Criar uma comunidade", + + // "community.create.notifications.success": "Successfully created the Community", + // TODO New key - Add a translation + "community.create.notifications.success": "Successfully created the Community", + + // "community.create.sub-head": "Create a Sub-Community for Community {{ parent }}", + "community.create.sub-head": "Criar uma Sub-Comunidade para Comunidade {{ parent }}", + + // "community.curate.header": "Curate Community: {{community}}", + // TODO New key - Add a translation + "community.curate.header": "Curate Community: {{community}}", + + // "community.delete.cancel": "Cancel", + "community.delete.cancel": "Cancelar", + + // "community.delete.confirm": "Confirm", + "community.delete.confirm": "Confirmar", + + // "community.delete.head": "Delete Community", + "community.delete.head": "Apagar Comunidade", + + // "community.delete.notification.fail": "Community could not be deleted", + "community.delete.notification.fail": "Comunidade não pôde ser apagada", + + // "community.delete.notification.success": "Successfully deleted community", + "community.delete.notification.success": "Comunidade apagada com sucesso", + + // "community.delete.text": "Are you sure you want to delete community \"{{ dso }}\"", + "community.delete.text": "Você tem certeza que quer apagar a comunidade \"{{ dso }}\"?", + + // "community.edit.delete": "Delete this community", + "community.edit.delete": "Apagar esta comunidade", + + // "community.edit.head": "Edit Community", + "community.edit.head": "Editar Comunidade", + + // "community.edit.breadcrumbs": "Edit Community", + "community.edit.breadcrumbs": "Editar Comunidade", + + + // "community.edit.logo.label": "Community logo", + "community.edit.logo.label": "Logo da Comunidade", + + // "community.edit.logo.notifications.add.error": "Uploading Community logo failed. Please verify the content before retrying.", + // TODO New key - Add a translation + "community.edit.logo.notifications.add.error": "Uploading Community logo failed. Please verify the content before retrying.", + + // "community.edit.logo.notifications.add.success": "Upload Community logo successful.", + // TODO New key - Add a translation + "community.edit.logo.notifications.add.success": "Upload Community logo successful.", + + // "community.edit.logo.notifications.delete.success.title": "Logo deleted", + // TODO New key - Add a translation + "community.edit.logo.notifications.delete.success.title": "Logo deleted", + + // "community.edit.logo.notifications.delete.success.content": "Successfully deleted the community's logo", + // TODO New key - Add a translation + "community.edit.logo.notifications.delete.success.content": "Successfully deleted the community's logo", + + // "community.edit.logo.notifications.delete.error.title": "Error deleting logo", + // TODO New key - Add a translation + "community.edit.logo.notifications.delete.error.title": "Error deleting logo", + + // "community.edit.logo.upload": "Drop a Community Logo to upload", + // TODO New key - Add a translation + "community.edit.logo.upload": "Drop a Community Logo to upload", + + + + // "community.edit.notifications.success": "Successfully edited the Community", + // TODO New key - Add a translation + "community.edit.notifications.success": "Successfully edited the Community", + + // "community.edit.notifications.unauthorized": "You do not have privileges to make this change", + // TODO New key - Add a translation + "community.edit.notifications.unauthorized": "You do not have privileges to make this change", + + // "community.edit.notifications.error": "An error occured while editing the Community", + // TODO New key - Add a translation + "community.edit.notifications.error": "An error occured while editing the Community", + + // "community.edit.return": "Return", + // TODO New key - Add a translation + "community.edit.return": "Return", + + + + // "community.edit.tabs.curate.head": "Curate", + // TODO New key - Add a translation + "community.edit.tabs.curate.head": "Curate", + + // "community.edit.tabs.curate.title": "Community Edit - Curate", + // TODO New key - Add a translation + "community.edit.tabs.curate.title": "Community Edit - Curate", + + // "community.edit.tabs.metadata.head": "Edit Metadata", + // TODO New key - Add a translation + "community.edit.tabs.metadata.head": "Edit Metadata", + + // "community.edit.tabs.metadata.title": "Community Edit - Metadata", + // TODO New key - Add a translation + "community.edit.tabs.metadata.title": "Community Edit - Metadata", + + // "community.edit.tabs.roles.head": "Assign Roles", + // TODO New key - Add a translation + "community.edit.tabs.roles.head": "Assign Roles", + + // "community.edit.tabs.roles.title": "Community Edit - Roles", + // TODO New key - Add a translation + "community.edit.tabs.roles.title": "Community Edit - Roles", + + // "community.edit.tabs.authorizations.head": "Authorizations", + // TODO New key - Add a translation + "community.edit.tabs.authorizations.head": "Authorizations", + + // "community.edit.tabs.authorizations.title": "Community Edit - Authorizations", + // TODO New key - Add a translation + "community.edit.tabs.authorizations.title": "Community Edit - Authorizations", + + + + // "community.listelement.badge": "Community", + // TODO New key - Add a translation + "community.listelement.badge": "Community", + + + + // "comcol-role.edit.no-group": "None", + // TODO New key - Add a translation + "comcol-role.edit.no-group": "None", + + // "comcol-role.edit.create": "Create", + // TODO New key - Add a translation + "comcol-role.edit.create": "Create", + + // "comcol-role.edit.restrict": "Restrict", + // TODO New key - Add a translation + "comcol-role.edit.restrict": "Restrict", + + // "comcol-role.edit.delete": "Delete", + // TODO New key - Add a translation + "comcol-role.edit.delete": "Delete", + + + // "comcol-role.edit.community-admin.name": "Administrators", + // TODO New key - Add a translation + "comcol-role.edit.community-admin.name": "Administrators", + + // "comcol-role.edit.collection-admin.name": "Administrators", + // TODO New key - Add a translation + "comcol-role.edit.collection-admin.name": "Administrators", + + + // "comcol-role.edit.community-admin.description": "Community administrators can create sub-communities or collections, and manage or assign management for those sub-communities or collections. In addition, they decide who can submit items to any sub-collections, edit item metadata (after submission), and add (map) existing items from other collections (subject to authorization).", + // TODO New key - Add a translation + "comcol-role.edit.community-admin.description": "Community administrators can create sub-communities or collections, and manage or assign management for those sub-communities or collections. In addition, they decide who can submit items to any sub-collections, edit item metadata (after submission), and add (map) existing items from other collections (subject to authorization).", + + // "comcol-role.edit.collection-admin.description": "Collection administrators decide who can submit items to the collection, edit item metadata (after submission), and add (map) existing items from other collections to this collection (subject to authorization for that collection).", + // TODO New key - Add a translation + "comcol-role.edit.collection-admin.description": "Collection administrators decide who can submit items to the collection, edit item metadata (after submission), and add (map) existing items from other collections to this collection (subject to authorization for that collection).", + + + // "comcol-role.edit.submitters.name": "Submitters", + // TODO New key - Add a translation + "comcol-role.edit.submitters.name": "Submitters", + + // "comcol-role.edit.submitters.description": "The E-People and Groups that have permission to submit new items to this collection.", + // TODO New key - Add a translation + "comcol-role.edit.submitters.description": "The E-People and Groups that have permission to submit new items to this collection.", + + + // "comcol-role.edit.item_read.name": "Default item read access", + // TODO New key - Add a translation + "comcol-role.edit.item_read.name": "Default item read access", + + // "comcol-role.edit.item_read.description": "E-People and Groups that can read new items submitted to this collection. Changes to this role are not retroactive. Existing items in the system will still be viewable by those who had read access at the time of their addition.", + // TODO New key - Add a translation + "comcol-role.edit.item_read.description": "E-People and Groups that can read new items submitted to this collection. Changes to this role are not retroactive. Existing items in the system will still be viewable by those who had read access at the time of their addition.", + + // "comcol-role.edit.item_read.anonymous-group": "Default read for incoming items is currently set to Anonymous.", + // TODO New key - Add a translation + "comcol-role.edit.item_read.anonymous-group": "Default read for incoming items is currently set to Anonymous.", + + + // "comcol-role.edit.bitstream_read.name": "Default bitstream read access", + // TODO New key - Add a translation + "comcol-role.edit.bitstream_read.name": "Default bitstream read access", + + // "comcol-role.edit.bitstream_read.description": "Community administrators can create sub-communities or collections, and manage or assign management for those sub-communities or collections. In addition, they decide who can submit items to any sub-collections, edit item metadata (after submission), and add (map) existing items from other collections (subject to authorization).", + // TODO New key - Add a translation + "comcol-role.edit.bitstream_read.description": "Community administrators can create sub-communities or collections, and manage or assign management for those sub-communities or collections. In addition, they decide who can submit items to any sub-collections, edit item metadata (after submission), and add (map) existing items from other collections (subject to authorization).", + + // "comcol-role.edit.bitstream_read.anonymous-group": "Default read for incoming bitstreams is currently set to Anonymous.", + // TODO New key - Add a translation + "comcol-role.edit.bitstream_read.anonymous-group": "Default read for incoming bitstreams is currently set to Anonymous.", + + + // "comcol-role.edit.editor.name": "Editors", + // TODO New key - Add a translation + "comcol-role.edit.editor.name": "Editors", + + // "comcol-role.edit.editor.description": "Editors are able to edit the metadata of incoming submissions, and then accept or reject them.", + // TODO New key - Add a translation + "comcol-role.edit.editor.description": "Editors are able to edit the metadata of incoming submissions, and then accept or reject them.", + + + // "comcol-role.edit.finaleditor.name": "Final editors", + // TODO New key - Add a translation + "comcol-role.edit.finaleditor.name": "Final editors", + + // "comcol-role.edit.finaleditor.description": "Final editors are able to edit the metadata of incoming submissions, but will not be able to reject them.", + // TODO New key - Add a translation + "comcol-role.edit.finaleditor.description": "Final editors are able to edit the metadata of incoming submissions, but will not be able to reject them.", + + + // "comcol-role.edit.reviewer.name": "Reviewers", + // TODO New key - Add a translation + "comcol-role.edit.reviewer.name": "Reviewers", + + // "comcol-role.edit.reviewer.description": "Reviewers are able to accept or reject incoming submissions. However, they are not able to edit the submission's metadata.", + // TODO New key - Add a translation + "comcol-role.edit.reviewer.description": "Reviewers are able to accept or reject incoming submissions. However, they are not able to edit the submission's metadata.", + + + + // "community.form.abstract": "Short Description", + "community.form.abstract": "Descrição curta", + + // "community.form.description": "Introductory text (HTML)", + "community.form.description": "Texto introdutório (HTML)", + + // "community.form.errors.title.required": "Please enter a community name", + "community.form.errors.title.required": "Por favor informe um nome para comunidade", + + // "community.form.rights": "Copyright text (HTML)", + "community.form.rights": "Texto de direito de cópia (HTML)", + + // "community.form.tableofcontents": "News (HTML)", + "community.form.tableofcontents": "Notícias (HTML)", + + // "community.form.title": "Name", + "community.form.title": "Nome", + + // "community.page.edit": "Edit this community", + // TODO New key - Add a translation + "community.page.edit": "Edit this community", + + // "community.page.handle": "Permanent URI for this community", + "community.page.handle": "URI Permanente desta comunidade", + + // "community.page.license": "License", + "community.page.license": "Licença", + + // "community.page.news": "News", + "community.page.news": "Notícias", + + // "community.all-lists.head": "Subcommunities and Collections", + "community.all-lists.head": "Sub-Comunidade e Coleções", + + // "community.sub-collection-list.head": "Collections of this Community", + "community.sub-collection-list.head": "Coleções desta Comunidade", + + // "community.sub-community-list.head": "Communities of this Community", + "community.sub-community-list.head": "Comunidades desta Comunidade", + + + + // "cookies.consent.accept-all": "Accept all", + // TODO New key - Add a translation + "cookies.consent.accept-all": "Accept all", + + // "cookies.consent.accept-selected": "Accept selected", + // TODO New key - Add a translation + "cookies.consent.accept-selected": "Accept selected", + + // "cookies.consent.app.opt-out.description": "This app is loaded by default (but you can opt out)", + // TODO New key - Add a translation + "cookies.consent.app.opt-out.description": "This app is loaded by default (but you can opt out)", + + // "cookies.consent.app.opt-out.title": "(opt-out)", + // TODO New key - Add a translation + "cookies.consent.app.opt-out.title": "(opt-out)", + + // "cookies.consent.app.purpose": "purpose", + // TODO New key - Add a translation + "cookies.consent.app.purpose": "purpose", + + // "cookies.consent.app.required.description": "This application is always required", + // TODO New key - Add a translation + "cookies.consent.app.required.description": "This application is always required", + + // "cookies.consent.app.required.title": "(always required)", + // TODO New key - Add a translation + "cookies.consent.app.required.title": "(always required)", + + // "cookies.consent.update": "There were changes since your last visit, please update your consent.", + // TODO New key - Add a translation + "cookies.consent.update": "There were changes since your last visit, please update your consent.", + + // "cookies.consent.close": "Close", + // TODO New key - Add a translation + "cookies.consent.close": "Close", + + // "cookies.consent.decline": "Decline", + // TODO New key - Add a translation + "cookies.consent.decline": "Decline", + + // "cookies.consent.content-notice.description": "We collect and process your personal information for the following purposes: Authentication, Preferences, Acknowledgement and Statistics.
To learn more, please read our {privacyPolicy}.", + // TODO New key - Add a translation + "cookies.consent.content-notice.description": "We collect and process your personal information for the following purposes: Authentication, Preferences, Acknowledgement and Statistics.
To learn more, please read our {privacyPolicy}.", + + // "cookies.consent.content-notice.learnMore": "Customize", + // TODO New key - Add a translation + "cookies.consent.content-notice.learnMore": "Customize", + + // "cookies.consent.content-modal.description": "Here you can see and customize the information that we collect about you.", + // TODO New key - Add a translation + "cookies.consent.content-modal.description": "Here you can see and customize the information that we collect about you.", + + // "cookies.consent.content-modal.privacy-policy.name": "privacy policy", + // TODO New key - Add a translation + "cookies.consent.content-modal.privacy-policy.name": "privacy policy", + + // "cookies.consent.content-modal.privacy-policy.text": "To learn more, please read our {privacyPolicy}.", + // TODO New key - Add a translation + "cookies.consent.content-modal.privacy-policy.text": "To learn more, please read our {privacyPolicy}.", + + // "cookies.consent.content-modal.title": "Information that we collect", + // TODO New key - Add a translation + "cookies.consent.content-modal.title": "Information that we collect", + + + + // "cookies.consent.app.title.authentication": "Authentication", + // TODO New key - Add a translation + "cookies.consent.app.title.authentication": "Authentication", + + // "cookies.consent.app.description.authentication": "Required for signing you in", + // TODO New key - Add a translation + "cookies.consent.app.description.authentication": "Required for signing you in", + + + // "cookies.consent.app.title.preferences": "Preferences", + // TODO New key - Add a translation + "cookies.consent.app.title.preferences": "Preferences", + + // "cookies.consent.app.description.preferences": "Required for saving your preferences", + // TODO New key - Add a translation + "cookies.consent.app.description.preferences": "Required for saving your preferences", + + + + // "cookies.consent.app.title.acknowledgement": "Acknowledgement", + // TODO New key - Add a translation + "cookies.consent.app.title.acknowledgement": "Acknowledgement", + + // "cookies.consent.app.description.acknowledgement": "Required for saving your acknowledgements and consents", + // TODO New key - Add a translation + "cookies.consent.app.description.acknowledgement": "Required for saving your acknowledgements and consents", + + + + // "cookies.consent.app.title.google-analytics": "Google Analytics", + // TODO New key - Add a translation + "cookies.consent.app.title.google-analytics": "Google Analytics", + + // "cookies.consent.app.description.google-analytics": "Allows us to track statistical data", + // TODO New key - Add a translation + "cookies.consent.app.description.google-analytics": "Allows us to track statistical data", + + + + // "cookies.consent.purpose.functional": "Functional", + // TODO New key - Add a translation + "cookies.consent.purpose.functional": "Functional", + + // "cookies.consent.purpose.statistical": "Statistical", + // TODO New key - Add a translation + "cookies.consent.purpose.statistical": "Statistical", + + + // "curation-task.task.checklinks.label": "Check Links in Metadata", + // TODO New key - Add a translation + "curation-task.task.checklinks.label": "Check Links in Metadata", + + // "curation-task.task.noop.label": "NOOP", + // TODO New key - Add a translation + "curation-task.task.noop.label": "NOOP", + + // "curation-task.task.profileformats.label": "Profile Bitstream Formats", + // TODO New key - Add a translation + "curation-task.task.profileformats.label": "Profile Bitstream Formats", + + // "curation-task.task.requiredmetadata.label": "Check for Required Metadata", + // TODO New key - Add a translation + "curation-task.task.requiredmetadata.label": "Check for Required Metadata", + + // "curation-task.task.translate.label": "Microsoft Translator", + // TODO New key - Add a translation + "curation-task.task.translate.label": "Microsoft Translator", + + // "curation-task.task.vscan.label": "Virus Scan", + // TODO New key - Add a translation + "curation-task.task.vscan.label": "Virus Scan", + + + + // "curation.form.task-select.label": "Task:", + // TODO New key - Add a translation + "curation.form.task-select.label": "Task:", + + // "curation.form.submit": "Start", + // TODO New key - Add a translation + "curation.form.submit": "Start", + + // "curation.form.submit.success.head": "The curation task has been started successfully", + // TODO New key - Add a translation + "curation.form.submit.success.head": "The curation task has been started successfully", + + // "curation.form.submit.success.content": "You will be redirected to the corresponding process page.", + // TODO New key - Add a translation + "curation.form.submit.success.content": "You will be redirected to the corresponding process page.", + + // "curation.form.submit.error.head": "Running the curation task failed", + // TODO New key - Add a translation + "curation.form.submit.error.head": "Running the curation task failed", + + // "curation.form.submit.error.content": "An error occured when trying to start the curation task.", + // TODO New key - Add a translation + "curation.form.submit.error.content": "An error occured when trying to start the curation task.", + + // "curation.form.handle.label": "Handle:", + // TODO New key - Add a translation + "curation.form.handle.label": "Handle:", + + // "curation.form.handle.hint": "Hint: Enter [your-handle-prefix]/0 to run a task across entire site (not all tasks may support this capability)", + // TODO New key - Add a translation + "curation.form.handle.hint": "Hint: Enter [your-handle-prefix]/0 to run a task across entire site (not all tasks may support this capability)", + + + + // "dso-selector.create.collection.head": "New collection", + "dso-selector.create.collection.head": "Nova coleção", + + // "dso-selector.create.collection.sub-level": "Create a new collection in", + // TODO New key - Add a translation + "dso-selector.create.collection.sub-level": "Create a new collection in", + + // "dso-selector.create.community.head": "New community", + "dso-selector.create.community.head": "Nova comunidade", + + // "dso-selector.create.community.sub-level": "Create a new community in", + "dso-selector.create.community.sub-level": "Criar uma nova coleção em", + + // "dso-selector.create.community.top-level": "Create a new top-level community", + "dso-selector.create.community.top-level": "Criar uma nova comunidade no nível superior", + + // "dso-selector.create.item.head": "New item", + "dso-selector.create.item.head": "Novo item", + + // "dso-selector.create.item.sub-level": "Create a new item in", + // TODO New key - Add a translation + "dso-selector.create.item.sub-level": "Create a new item in", + + // "dso-selector.create.submission.head": "New submission", + // TODO New key - Add a translation + "dso-selector.create.submission.head": "New submission", + + // "dso-selector.edit.collection.head": "Edit collection", + "dso-selector.edit.collection.head": "Editar coleção", + + // "dso-selector.edit.community.head": "Edit community", + "dso-selector.edit.community.head": "Editar comunidade", + + // "dso-selector.edit.item.head": "Edit item", + "dso-selector.edit.item.head": "Editar item", + + // "dso-selector.export-metadata.dspaceobject.head": "Export metadata from", + // TODO New key - Add a translation + "dso-selector.export-metadata.dspaceobject.head": "Export metadata from", + + // "dso-selector.no-results": "No {{ type }} found", + "dso-selector.no-results": "Nenhum(a) {{ type }} encontrado(a)", + + // "dso-selector.placeholder": "Search for a {{ type }}", + "dso-selector.placeholder": "Buscar por um(a) {{ type }}", + + + + // "confirmation-modal.export-metadata.header": "Export metadata for {{ dsoName }}", + // TODO New key - Add a translation + "confirmation-modal.export-metadata.header": "Export metadata for {{ dsoName }}", + + // "confirmation-modal.export-metadata.info": "Are you sure you want to export metadata for {{ dsoName }}", + // TODO New key - Add a translation + "confirmation-modal.export-metadata.info": "Are you sure you want to export metadata for {{ dsoName }}", + + // "confirmation-modal.export-metadata.cancel": "Cancel", + // TODO New key - Add a translation + "confirmation-modal.export-metadata.cancel": "Cancel", + + // "confirmation-modal.export-metadata.confirm": "Export", + // TODO New key - Add a translation + "confirmation-modal.export-metadata.confirm": "Export", + + // "confirmation-modal.delete-eperson.header": "Delete EPerson \"{{ dsoName }}\"", + // TODO New key - Add a translation + "confirmation-modal.delete-eperson.header": "Delete EPerson \"{{ dsoName }}\"", + + // "confirmation-modal.delete-eperson.info": "Are you sure you want to delete EPerson \"{{ dsoName }}\"", + // TODO New key - Add a translation + "confirmation-modal.delete-eperson.info": "Are you sure you want to delete EPerson \"{{ dsoName }}\"", + + // "confirmation-modal.delete-eperson.cancel": "Cancel", + // TODO New key - Add a translation + "confirmation-modal.delete-eperson.cancel": "Cancel", + + // "confirmation-modal.delete-eperson.confirm": "Delete", + // TODO New key - Add a translation + "confirmation-modal.delete-eperson.confirm": "Delete", + + + // "error.bitstream": "Error fetching bitstream", + // TODO New key - Add a translation + "error.bitstream": "Error fetching bitstream", + + // "error.browse-by": "Error fetching items", + "error.browse-by": "Erro ao carregar itens", + + // "error.collection": "Error fetching collection", + "error.collection": "Erro ao carregar coleção", + + // "error.collections": "Error fetching collections", + "error.collections": "Erro ao carregar coleções", + + // "error.community": "Error fetching community", + "error.community": "Erro ao carregar comunidade", + + // "error.identifier": "No item found for the identifier", + "error.identifier": "Nenhum item encontrado para o identificador", + + // "error.default": "Error", + "error.default": "Erro", + + // "error.item": "Error fetching item", + "error.item": "Erro ao carregar item", + + // "error.items": "Error fetching items", + "error.items": "Erro ao carregar itens", + + // "error.objects": "Error fetching objects", + "error.objects": "Erro ao carregar objetos", + + // "error.recent-submissions": "Error fetching recent submissions", + "error.recent-submissions": "Erro ao carregar as submissões recentes", + + // "error.search-results": "Error fetching search results", + "error.search-results": "Erro ao carregar os resultados de busca", + + // "error.sub-collections": "Error fetching sub-collections", + "error.sub-collections": "Erro ao carregar sub-coleções", + + // "error.sub-communities": "Error fetching sub-communities", + "error.sub-communities": "Erro ao carregar sub-comunidade", + + // "error.submission.sections.init-form-error": "An error occurred during section initialize, please check your input-form configuration. Details are below :

", + "error.submission.sections.init-form-error": "Ocorreu um erro durante a seção de inicialização, por favor verifique sua configuração de input-form. Detalhes estão abaixo :

", + + // "error.top-level-communities": "Error fetching top-level communities", + "error.top-level-communities": "Erro ao carregar as comunidade de nível superior", + + // "error.validation.license.notgranted": "You must grant this license to complete your submission. If you are unable to grant this license at this time you may save your work and return later or remove the submission.", + "error.validation.license.notgranted": "Você deve concordar com esta licença para completar sua submissão. Se vocẽ não estiver de acordo com esta licença neste momento você pode salvar seu trabalho para continuar depois ou remover a submissão.", + + // "error.validation.pattern": "This input is restricted by the current pattern: {{ pattern }}.", + "error.validation.pattern": "Este campo está restrito ao seguinte padrão: {{ pattern }}.", + + // "error.validation.filerequired": "The file upload is mandatory", + // TODO New key - Add a translation + "error.validation.filerequired": "The file upload is mandatory", + + + + // "file-section.error.header": "Error obtaining files for this item", + // TODO New key - Add a translation + "file-section.error.header": "Error obtaining files for this item", + + + + // "footer.copyright": "copyright © 2002-{{ year }}", + "footer.copyright": "copyright © 2002-{{ year }}", + + // "footer.link.dspace": "DSpace software", + "footer.link.dspace": "DSpace software", + + // "footer.link.duraspace": "DuraSpace", + "footer.link.duraspace": "DuraSpace", + + // "footer.link.cookies": "Cookie settings", + // TODO New key - Add a translation + "footer.link.cookies": "Cookie settings", + + // "footer.link.privacy-policy": "Privacy policy", + // TODO New key - Add a translation + "footer.link.privacy-policy": "Privacy policy", + + // "footer.link.end-user-agreement":"End User Agreement", + // TODO New key - Add a translation + "footer.link.end-user-agreement":"End User Agreement", + + + + // "forgot-email.form.header": "Forgot Password", + // TODO New key - Add a translation + "forgot-email.form.header": "Forgot Password", + + // "forgot-email.form.info": "Enter Register an account to subscribe to collections for email updates, and submit new items to DSpace.", + // TODO New key - Add a translation + "forgot-email.form.info": "Enter Register an account to subscribe to collections for email updates, and submit new items to DSpace.", + + // "forgot-email.form.email": "Email Address *", + // TODO New key - Add a translation + "forgot-email.form.email": "Email Address *", + + // "forgot-email.form.email.error.required": "Please fill in an email address", + // TODO New key - Add a translation + "forgot-email.form.email.error.required": "Please fill in an email address", + + // "forgot-email.form.email.error.pattern": "Please fill in a valid email address", + // TODO New key - Add a translation + "forgot-email.form.email.error.pattern": "Please fill in a valid email address", + + // "forgot-email.form.email.hint": "This address will be verified and used as your login name.", + // TODO New key - Add a translation + "forgot-email.form.email.hint": "This address will be verified and used as your login name.", + + // "forgot-email.form.submit": "Submit", + // TODO New key - Add a translation + "forgot-email.form.submit": "Submit", + + // "forgot-email.form.success.head": "Verification email sent", + // TODO New key - Add a translation + "forgot-email.form.success.head": "Verification email sent", + + // "forgot-email.form.success.content": "An email has been sent to {{ email }} containing a special URL and further instructions.", + // TODO New key - Add a translation + "forgot-email.form.success.content": "An email has been sent to {{ email }} containing a special URL and further instructions.", + + // "forgot-email.form.error.head": "Error when trying to register email", + // TODO New key - Add a translation + "forgot-email.form.error.head": "Error when trying to register email", + + // "forgot-email.form.error.content": "An error occured when registering the following email address: {{ email }}", + // TODO New key - Add a translation + "forgot-email.form.error.content": "An error occured when registering the following email address: {{ email }}", + + + + // "forgot-password.title": "Forgot Password", + // TODO New key - Add a translation + "forgot-password.title": "Forgot Password", + + // "forgot-password.form.head": "Forgot Password", + // TODO New key - Add a translation + "forgot-password.form.head": "Forgot Password", + + // "forgot-password.form.info": "Enter a new password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", + // TODO New key - Add a translation + "forgot-password.form.info": "Enter a new password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", + + // "forgot-password.form.card.security": "Security", + // TODO New key - Add a translation + "forgot-password.form.card.security": "Security", + + // "forgot-password.form.identification.header": "Identify", + // TODO New key - Add a translation + "forgot-password.form.identification.header": "Identify", + + // "forgot-password.form.identification.email": "Email address: ", + // TODO New key - Add a translation + "forgot-password.form.identification.email": "Email address: ", + + // "forgot-password.form.label.password": "Password", + // TODO New key - Add a translation + "forgot-password.form.label.password": "Password", + + // "forgot-password.form.label.passwordrepeat": "Retype to confirm", + // TODO New key - Add a translation + "forgot-password.form.label.passwordrepeat": "Retype to confirm", + + // "forgot-password.form.error.empty-password": "Please enter a password in the box below.", + // TODO New key - Add a translation + "forgot-password.form.error.empty-password": "Please enter a password in the box below.", + + // "forgot-password.form.error.matching-passwords": "The passwords do not match.", + // TODO New key - Add a translation + "forgot-password.form.error.matching-passwords": "The passwords do not match.", + + // "forgot-password.form.error.password-length": "The password should be at least 6 characters long.", + // TODO New key - Add a translation + "forgot-password.form.error.password-length": "The password should be at least 6 characters long.", + + // "forgot-password.form.notification.error.title": "Error when trying to submit new password", + // TODO New key - Add a translation + "forgot-password.form.notification.error.title": "Error when trying to submit new password", + + // "forgot-password.form.notification.success.content": "The password reset was successful. You have been logged in as the created user.", + // TODO New key - Add a translation + "forgot-password.form.notification.success.content": "The password reset was successful. You have been logged in as the created user.", + + // "forgot-password.form.notification.success.title": "Password reset completed", + // TODO New key - Add a translation + "forgot-password.form.notification.success.title": "Password reset completed", + + // "forgot-password.form.submit": "Submit password", + // TODO New key - Add a translation + "forgot-password.form.submit": "Submit password", + + + + // "form.add": "Add", + // TODO New key - Add a translation + "form.add": "Add", + + // "form.add-help": "Click here to add the current entry and to add another one", + // TODO New key - Add a translation + "form.add-help": "Click here to add the current entry and to add another one", + + // "form.cancel": "Cancel", + "form.cancel": "Cancelar", + + // "form.clear": "Clear", + "form.clear": "Limpar", + + // "form.clear-help": "Click here to remove the selected value", + "form.clear-help": "Clique aqui para apagar o valor selecionado", + + // "form.edit": "Edit", + "form.edit": "Editar", + + // "form.edit-help": "Click here to edit the selected value", + "form.edit-help": "Clique aqui para editar o valor selecionado", + + // "form.first-name": "First name", + "form.first-name": "Primeiro nome", + + // "form.group-collapse": "Collapse", + "form.group-collapse": "Esconder", + + // "form.group-collapse-help": "Click here to collapse", + "form.group-collapse-help": "Clique aqui para esconder", + + // "form.group-expand": "Expand", + "form.group-expand": "Expandir", + + // "form.group-expand-help": "Click here to expand and add more elements", + "form.group-expand-help": "Clique aqui para expandir e adicionar mais elementos", + + // "form.last-name": "Last name", + "form.last-name": "Último nome", + + // "form.loading": "Loading...", + "form.loading": "Carregando...", + + // "form.lookup": "Lookup", + // TODO New key - Add a translation + "form.lookup": "Lookup", + + // "form.lookup-help": "Click here to look up an existing relation", + // TODO New key - Add a translation + "form.lookup-help": "Click here to look up an existing relation", + + // "form.no-results": "No results found", + "form.no-results": "Nenhum resultado encontrado", + + // "form.no-value": "No value entered", + "form.no-value": "Nenhum valor informado", + + // "form.other-information": {}, + "form.other-information": {}, + + // "form.remove": "Remove", + "form.remove": "Apagar", + + // "form.save": "Save", + "form.save": "Salvar", + + // "form.save-help": "Save changes", + "form.save-help": "Salvar alterações", + + // "form.search": "Search", + "form.search": "Buscar", + + // "form.search-help": "Click here to look for an existing correspondence", + // TODO Source message changed - Revise the translation + "form.search-help": "Clique aqui para procurar por uma correspondência existente", + + // "form.submit": "Submit", + "form.submit": "Submeter", + + + + // "home.description": "", + // TODO New key - Add a translation + "home.description": "", + + // "home.breadcrumbs": "Home", + // TODO New key - Add a translation + "home.breadcrumbs": "Home", + + // "home.title": "DSpace Angular :: Home", + "home.title": "DSpace Angular :: Início", + + // "home.top-level-communities.head": "Communities in DSpace", + "home.top-level-communities.head": "Comunidades no DSpace", + + // "home.top-level-communities.help": "Select a community to browse its collections.", + "home.top-level-communities.help": "Selecione uma comunidade para navegar por suas coleções", + + + + // "info.end-user-agreement.accept": "I have read and I agree to the End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.accept": "I have read and I agree to the End User Agreement", + + // "info.end-user-agreement.accept.error": "An error occurred accepting the End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.accept.error": "An error occurred accepting the End User Agreement", + + // "info.end-user-agreement.accept.success": "Successfully updated the End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.accept.success": "Successfully updated the End User Agreement", + + // "info.end-user-agreement.breadcrumbs": "End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.breadcrumbs": "End User Agreement", + + // "info.end-user-agreement.buttons.cancel": "Cancel", + // TODO New key - Add a translation + "info.end-user-agreement.buttons.cancel": "Cancel", + + // "info.end-user-agreement.buttons.save": "Save", + // TODO New key - Add a translation + "info.end-user-agreement.buttons.save": "Save", + + // "info.end-user-agreement.head": "End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.head": "End User Agreement", + + // "info.end-user-agreement.title": "End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.title": "End User Agreement", + + // "info.privacy.breadcrumbs": "Privacy Statement", + // TODO New key - Add a translation + "info.privacy.breadcrumbs": "Privacy Statement", + + // "info.privacy.head": "Privacy Statement", + // TODO New key - Add a translation + "info.privacy.head": "Privacy Statement", + + // "info.privacy.title": "Privacy Statement", + // TODO New key - Add a translation + "info.privacy.title": "Privacy Statement", + + + + // "item.alerts.private": "This item is private", + // TODO New key - Add a translation + "item.alerts.private": "This item is private", + + // "item.alerts.withdrawn": "This item has been withdrawn", + // TODO New key - Add a translation + "item.alerts.withdrawn": "This item has been withdrawn", + + + + // "item.edit.authorizations.heading": "With this editor you can view and alter the policies of an item, plus alter policies of individual item components: bundles and bitstreams. Briefly, an item is a container of bundles, and bundles are containers of bitstreams. Containers usually have ADD/REMOVE/READ/WRITE policies, while bitstreams only have READ/WRITE policies.", + // TODO New key - Add a translation + "item.edit.authorizations.heading": "With this editor you can view and alter the policies of an item, plus alter policies of individual item components: bundles and bitstreams. Briefly, an item is a container of bundles, and bundles are containers of bitstreams. Containers usually have ADD/REMOVE/READ/WRITE policies, while bitstreams only have READ/WRITE policies.", + + // "item.edit.authorizations.title": "Edit item's Policies", + // TODO New key - Add a translation + "item.edit.authorizations.title": "Edit item's Policies", + + + + // "item.badge.private": "Private", + // TODO New key - Add a translation + "item.badge.private": "Private", + + // "item.badge.withdrawn": "Withdrawn", + // TODO New key - Add a translation + "item.badge.withdrawn": "Withdrawn", + + + + // "item.bitstreams.upload.bundle": "Bundle", + // TODO New key - Add a translation + "item.bitstreams.upload.bundle": "Bundle", + + // "item.bitstreams.upload.bundle.placeholder": "Select a bundle", + // TODO New key - Add a translation + "item.bitstreams.upload.bundle.placeholder": "Select a bundle", + + // "item.bitstreams.upload.bundle.new": "Create bundle", + // TODO New key - Add a translation + "item.bitstreams.upload.bundle.new": "Create bundle", + + // "item.bitstreams.upload.bundles.empty": "This item doesn\'t contain any bundles to upload a bitstream to.", + // TODO New key - Add a translation + "item.bitstreams.upload.bundles.empty": "This item doesn\'t contain any bundles to upload a bitstream to.", + + // "item.bitstreams.upload.cancel": "Cancel", + // TODO New key - Add a translation + "item.bitstreams.upload.cancel": "Cancel", + + // "item.bitstreams.upload.drop-message": "Drop a file to upload", + // TODO New key - Add a translation + "item.bitstreams.upload.drop-message": "Drop a file to upload", + + // "item.bitstreams.upload.item": "Item: ", + // TODO New key - Add a translation + "item.bitstreams.upload.item": "Item: ", + + // "item.bitstreams.upload.notifications.bundle.created.content": "Successfully created new bundle.", + // TODO New key - Add a translation + "item.bitstreams.upload.notifications.bundle.created.content": "Successfully created new bundle.", + + // "item.bitstreams.upload.notifications.bundle.created.title": "Created bundle", + // TODO New key - Add a translation + "item.bitstreams.upload.notifications.bundle.created.title": "Created bundle", + + // "item.bitstreams.upload.notifications.upload.failed": "Upload failed. Please verify the content before retrying.", + // TODO New key - Add a translation + "item.bitstreams.upload.notifications.upload.failed": "Upload failed. Please verify the content before retrying.", + + // "item.bitstreams.upload.title": "Upload bitstream", + // TODO New key - Add a translation + "item.bitstreams.upload.title": "Upload bitstream", + + + + // "item.edit.bitstreams.bundle.edit.buttons.upload": "Upload", + // TODO New key - Add a translation + "item.edit.bitstreams.bundle.edit.buttons.upload": "Upload", + + // "item.edit.bitstreams.bundle.displaying": "Currently displaying {{ amount }} bitstreams of {{ total }}.", + // TODO New key - Add a translation + "item.edit.bitstreams.bundle.displaying": "Currently displaying {{ amount }} bitstreams of {{ total }}.", + + // "item.edit.bitstreams.bundle.load.all": "Load all ({{ total }})", + // TODO New key - Add a translation + "item.edit.bitstreams.bundle.load.all": "Load all ({{ total }})", + + // "item.edit.bitstreams.bundle.load.more": "Load more", + // TODO New key - Add a translation + "item.edit.bitstreams.bundle.load.more": "Load more", + + // "item.edit.bitstreams.bundle.name": "BUNDLE: {{ name }}", + // TODO New key - Add a translation + "item.edit.bitstreams.bundle.name": "BUNDLE: {{ name }}", + + // "item.edit.bitstreams.discard-button": "Discard", + // TODO New key - Add a translation + "item.edit.bitstreams.discard-button": "Discard", + + // "item.edit.bitstreams.edit.buttons.download": "Download", + // TODO New key - Add a translation + "item.edit.bitstreams.edit.buttons.download": "Download", + + // "item.edit.bitstreams.edit.buttons.drag": "Drag", + // TODO New key - Add a translation + "item.edit.bitstreams.edit.buttons.drag": "Drag", + + // "item.edit.bitstreams.edit.buttons.edit": "Edit", + // TODO New key - Add a translation + "item.edit.bitstreams.edit.buttons.edit": "Edit", + + // "item.edit.bitstreams.edit.buttons.remove": "Remove", + // TODO New key - Add a translation + "item.edit.bitstreams.edit.buttons.remove": "Remove", + + // "item.edit.bitstreams.edit.buttons.undo": "Undo changes", + // TODO New key - Add a translation + "item.edit.bitstreams.edit.buttons.undo": "Undo changes", + + // "item.edit.bitstreams.empty": "This item doesn't contain any bitstreams. Click the upload button to create one.", + // TODO New key - Add a translation + "item.edit.bitstreams.empty": "This item doesn't contain any bitstreams. Click the upload button to create one.", + + // "item.edit.bitstreams.headers.actions": "Actions", + // TODO New key - Add a translation + "item.edit.bitstreams.headers.actions": "Actions", + + // "item.edit.bitstreams.headers.bundle": "Bundle", + // TODO New key - Add a translation + "item.edit.bitstreams.headers.bundle": "Bundle", + + // "item.edit.bitstreams.headers.description": "Description", + // TODO New key - Add a translation + "item.edit.bitstreams.headers.description": "Description", + + // "item.edit.bitstreams.headers.format": "Format", + // TODO New key - Add a translation + "item.edit.bitstreams.headers.format": "Format", + + // "item.edit.bitstreams.headers.name": "Name", + // TODO New key - Add a translation + "item.edit.bitstreams.headers.name": "Name", + + // "item.edit.bitstreams.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", + // TODO New key - Add a translation + "item.edit.bitstreams.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", + + // "item.edit.bitstreams.notifications.discarded.title": "Changes discarded", + // TODO New key - Add a translation + "item.edit.bitstreams.notifications.discarded.title": "Changes discarded", + + // "item.edit.bitstreams.notifications.move.failed.title": "Error moving bitstreams", + // TODO New key - Add a translation + "item.edit.bitstreams.notifications.move.failed.title": "Error moving bitstreams", + + // "item.edit.bitstreams.notifications.move.saved.content": "Your move changes to this item's bitstreams and bundles have been saved.", + // TODO New key - Add a translation + "item.edit.bitstreams.notifications.move.saved.content": "Your move changes to this item's bitstreams and bundles have been saved.", + + // "item.edit.bitstreams.notifications.move.saved.title": "Move changes saved", + // TODO New key - Add a translation + "item.edit.bitstreams.notifications.move.saved.title": "Move changes saved", + + // "item.edit.bitstreams.notifications.outdated.content": "The item you're currently working on has been changed by another user. Your current changes are discarded to prevent conflicts", + // TODO New key - Add a translation + "item.edit.bitstreams.notifications.outdated.content": "The item you're currently working on has been changed by another user. Your current changes are discarded to prevent conflicts", + + // "item.edit.bitstreams.notifications.outdated.title": "Changes outdated", + // TODO New key - Add a translation + "item.edit.bitstreams.notifications.outdated.title": "Changes outdated", + + // "item.edit.bitstreams.notifications.remove.failed.title": "Error deleting bitstream", + // TODO New key - Add a translation + "item.edit.bitstreams.notifications.remove.failed.title": "Error deleting bitstream", + + // "item.edit.bitstreams.notifications.remove.saved.content": "Your removal changes to this item's bitstreams have been saved.", + // TODO New key - Add a translation + "item.edit.bitstreams.notifications.remove.saved.content": "Your removal changes to this item's bitstreams have been saved.", + + // "item.edit.bitstreams.notifications.remove.saved.title": "Removal changes saved", + // TODO New key - Add a translation + "item.edit.bitstreams.notifications.remove.saved.title": "Removal changes saved", + + // "item.edit.bitstreams.reinstate-button": "Undo", + // TODO New key - Add a translation + "item.edit.bitstreams.reinstate-button": "Undo", + + // "item.edit.bitstreams.save-button": "Save", + // TODO New key - Add a translation + "item.edit.bitstreams.save-button": "Save", + + // "item.edit.bitstreams.upload-button": "Upload", + // TODO New key - Add a translation + "item.edit.bitstreams.upload-button": "Upload", + + + + // "item.edit.delete.cancel": "Cancel", + "item.edit.delete.cancel": "Cancelar", + + // "item.edit.delete.confirm": "Delete", + "item.edit.delete.confirm": "Apagar", + + // "item.edit.delete.description": "Are you sure this item should be completely deleted? Caution: At present, no tombstone would be left.", + "item.edit.delete.description": "Você tem certeza que deseja apagar completamento este item? Atenção: No momento, nenhum vestígio restará.", + + // "item.edit.delete.error": "An error occurred while deleting the item", + "item.edit.delete.error": "Ocorreu um erro ao apagar o item", + + // "item.edit.delete.header": "Delete item: {{ id }}", + "item.edit.delete.header": "Apagar item: {{ id }}", + + // "item.edit.delete.success": "The item has been deleted", + "item.edit.delete.success": "O item foi apagado", + + // "item.edit.head": "Edit Item", + "item.edit.head": "Editar Item", + + // "item.edit.breadcrumbs": "Edit Item", + // TODO New key - Add a translation + "item.edit.breadcrumbs": "Edit Item", + + + // "item.edit.tabs.mapper.head": "Collection Mapper", + // TODO New key - Add a translation + "item.edit.tabs.mapper.head": "Collection Mapper", + + // "item.edit.tabs.item-mapper.title": "Item Edit - Collection Mapper", + // TODO New key - Add a translation + "item.edit.tabs.item-mapper.title": "Item Edit - Collection Mapper", + + // "item.edit.item-mapper.buttons.add": "Map item to selected collections", + "item.edit.item-mapper.buttons.add": "Mapear item na(s) coleção(ões) seleciona(s)", + + // "item.edit.item-mapper.buttons.remove": "Remove item's mapping for selected collections", + "item.edit.item-mapper.buttons.remove": "Remover mapeamento(s) do item da(s) coleção(ões) seleciona(s)", + + // "item.edit.item-mapper.cancel": "Cancel", + "item.edit.item-mapper.cancel": "Cancelar", + + // "item.edit.item-mapper.description": "This is the item mapper tool that allows administrators to map this item to other collections. You can search for collections and map them, or browse the list of collections the item is currently mapped to.", + "item.edit.item-mapper.description": "Essa é a ferramenta de mapeamento de itens que permite que os administradores mapeiem esse item para outras coleções. Você pode procurar coleções e mapeá-las ou navegar na lista de coleções para as quais o item está atualmente mapeado.", + + // "item.edit.item-mapper.head": "Item Mapper - Map Item to Collections", + "item.edit.item-mapper.head": "Mapeador de Item - Mapear Itens em Coleções", + + // "item.edit.item-mapper.item": "Item: \"{{name}}\"", + "item.edit.item-mapper.item": "Item: \"{{name}}\"", + + // "item.edit.item-mapper.no-search": "Please enter a query to search", + "item.edit.item-mapper.no-search": "Por favor informe uma consulta para buscar", + + // "item.edit.item-mapper.notifications.add.error.content": "Errors occurred for mapping of item to {{amount}} collections.", + "item.edit.item-mapper.notifications.add.error.content": "Ocorreram erros ao mapear o item em {{amount}} coleções.", + + // "item.edit.item-mapper.notifications.add.error.head": "Mapping errors", + "item.edit.item-mapper.notifications.add.error.head": "Erros de mapeamento", + + // "item.edit.item-mapper.notifications.add.success.content": "Successfully mapped item to {{amount}} collections.", + "item.edit.item-mapper.notifications.add.success.content": "Mapeou o item em {{amount}} coleções com sucesso.", + + // "item.edit.item-mapper.notifications.add.success.head": "Mapping completed", + "item.edit.item-mapper.notifications.add.success.head": "Mapeamento complesto", + + // "item.edit.item-mapper.notifications.remove.error.content": "Errors occurred for the removal of the mapping to {{amount}} collections.", + "item.edit.item-mapper.notifications.remove.error.content": "Ocorreram erros ao remover mapeamento do item em {{amount}} coleções.", + + // "item.edit.item-mapper.notifications.remove.error.head": "Removal of mapping errors", + "item.edit.item-mapper.notifications.remove.error.head": "Erros de remoção de mapeamento", + + // "item.edit.item-mapper.notifications.remove.success.content": "Successfully removed mapping of item to {{amount}} collections.", + "item.edit.item-mapper.notifications.remove.success.content": "Successfully removed mapping of item to {{amount}} collections.", + + // "item.edit.item-mapper.notifications.remove.success.head": "Removal of mapping completed", + "item.edit.item-mapper.notifications.remove.success.head": "Completou a remoção de mapeamento", + + // "item.edit.item-mapper.tabs.browse": "Browse mapped collections", + "item.edit.item-mapper.tabs.browse": "Navegar nas coleções mapeadas", + + // "item.edit.item-mapper.tabs.map": "Map new collections", + "item.edit.item-mapper.tabs.map": "Mapear novas coleções", + + + + // "item.edit.metadata.add-button": "Add", + "item.edit.metadata.add-button": "Adicionar", + + // "item.edit.metadata.discard-button": "Discard", + "item.edit.metadata.discard-button": "Descartar", + + // "item.edit.metadata.edit.buttons.edit": "Edit", + "item.edit.metadata.edit.buttons.edit": "Editar", + + // "item.edit.metadata.edit.buttons.remove": "Remove", + "item.edit.metadata.edit.buttons.remove": "Apagar", + + // "item.edit.metadata.edit.buttons.undo": "Undo changes", + "item.edit.metadata.edit.buttons.undo": "Desfazer alterações", + + // "item.edit.metadata.edit.buttons.unedit": "Stop editing", + "item.edit.metadata.edit.buttons.unedit": "Parar edição", + + // "item.edit.metadata.empty": "The item currently doesn't contain any metadata. Click Add to start adding a metadata value.", + // TODO New key - Add a translation + "item.edit.metadata.empty": "The item currently doesn't contain any metadata. Click Add to start adding a metadata value.", + + // "item.edit.metadata.headers.edit": "Edit", + "item.edit.metadata.headers.edit": "Editar", + + // "item.edit.metadata.headers.field": "Field", + "item.edit.metadata.headers.field": "Campo", + + // "item.edit.metadata.headers.language": "Lang", + "item.edit.metadata.headers.language": "Idioma", + + // "item.edit.metadata.headers.value": "Value", + "item.edit.metadata.headers.value": "Valor", + + // "item.edit.metadata.metadatafield.invalid": "Please choose a valid metadata field", + "item.edit.metadata.metadatafield.invalid": "Por favor escolha um campo de metadados válido", + + // "item.edit.metadata.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", + "item.edit.metadata.notifications.discarded.content": "Suas alterações foram descartadas. Para restabelecer suas alterações, clique no botão 'Desfazer'", + + // "item.edit.metadata.notifications.discarded.title": "Changed discarded", + "item.edit.metadata.notifications.discarded.title": "Mudança descartada", + + // "item.edit.metadata.notifications.error.title": "An error occurred", + // TODO New key - Add a translation + "item.edit.metadata.notifications.error.title": "An error occurred", + + // "item.edit.metadata.notifications.invalid.content": "Your changes were not saved. Please make sure all fields are valid before you save.", + "item.edit.metadata.notifications.invalid.content": "Suas alterações não foram salvas. Verifique se todos os campos são válidos antes de salvar.", + + // "item.edit.metadata.notifications.invalid.title": "Metadata invalid", + "item.edit.metadata.notifications.invalid.title": "Metadado inválido", + + // "item.edit.metadata.notifications.outdated.content": "The item you're currently working on has been changed by another user. Your current changes are discarded to prevent conflicts", + "item.edit.metadata.notifications.outdated.content": "O item em que você está trabalhando foi alterado por outro usuário. Suas alterações atuais são descartadas para evitar conflitos", + + // "item.edit.metadata.notifications.outdated.title": "Changed outdated", + "item.edit.metadata.notifications.outdated.title": "Alteração desatualizada", + + // "item.edit.metadata.notifications.saved.content": "Your changes to this item's metadata were saved.", + "item.edit.metadata.notifications.saved.content": "Suas alterações nos metadados deste item foram salvas.", + + // "item.edit.metadata.notifications.saved.title": "Metadata saved", + "item.edit.metadata.notifications.saved.title": "Metadados salvos", + + // "item.edit.metadata.reinstate-button": "Undo", + "item.edit.metadata.reinstate-button": "Desfazer", + + // "item.edit.metadata.save-button": "Save", + "item.edit.metadata.save-button": "Salvar", + + + + // "item.edit.modify.overview.field": "Field", + "item.edit.modify.overview.field": "Campo", + + // "item.edit.modify.overview.language": "Language", + "item.edit.modify.overview.language": "Idioma", + + // "item.edit.modify.overview.value": "Value", + "item.edit.modify.overview.value": "Valor", + + + + // "item.edit.move.cancel": "Cancel", + "item.edit.move.cancel": "Cancelar", + + // "item.edit.move.description": "Select the collection you wish to move this item to. To narrow down the list of displayed collections, you can enter a search query in the box.", + "item.edit.move.description": "Selecione a coleção para a qual você deseja mover este item. Para restringir a lista de coleções exibidas, você pode inserir uma consulta de pesquisa na caixa.", + + // "item.edit.move.error": "An error occurred when attempting to move the item", + "item.edit.move.error": "Ocorreu um erro ao tentar mover o item", + + // "item.edit.move.head": "Move item: {{id}}", + "item.edit.move.head": "Mover item: {{id}}", + + // "item.edit.move.inheritpolicies.checkbox": "Inherit policies", + "item.edit.move.inheritpolicies.checkbox": "Herdar politicas", + + // "item.edit.move.inheritpolicies.description": "Inherit the default policies of the destination collection", + "item.edit.move.inheritpolicies.description": "Herdar as politicas padrões da coleção destino", + + // "item.edit.move.move": "Move", + "item.edit.move.move": "Mover", + + // "item.edit.move.processing": "Moving...", + "item.edit.move.processing": "Movendo...", + + // "item.edit.move.search.placeholder": "Enter a search query to look for collections", + "item.edit.move.search.placeholder": "Insira uma consulta para procurar coleções", + + // "item.edit.move.success": "The item has been moved successfully", + "item.edit.move.success": "O item foi movido com sucesso", + + // "item.edit.move.title": "Move item", + "item.edit.move.title": "Mover item", + + + + // "item.edit.private.cancel": "Cancel", + "item.edit.private.cancel": "Cancelar", + + // "item.edit.private.confirm": "Make it Private", + "item.edit.private.confirm": "Tornar Privado", + + // "item.edit.private.description": "Are you sure this item should be made private in the archive?", + "item.edit.private.description": "Tem certeza de que este item deve ser tornado privado no arquivo?", + + // "item.edit.private.error": "An error occurred while making the item private", + "item.edit.private.error": "Ocorreu um erro ao tornar o item privado", + + // "item.edit.private.header": "Make item private: {{ id }}", + "item.edit.private.header": "Tornar privado o item: {{ id }}", + + // "item.edit.private.success": "The item is now private", + "item.edit.private.success": "O item agora é privado", + + + + // "item.edit.public.cancel": "Cancel", + "item.edit.public.cancel": "Cancelar", + + // "item.edit.public.confirm": "Make it Public", + "item.edit.public.confirm": "Tornar público", + + // "item.edit.public.description": "Are you sure this item should be made public in the archive?", + "item.edit.public.description": "Você tem certeza que deseja tornar este item público no arquivo?", + + // "item.edit.public.error": "An error occurred while making the item public", + "item.edit.public.error": "Ocorreu um erro ao tornar o item público", + + // "item.edit.public.header": "Make item public: {{ id }}", + "item.edit.public.header": "Tornar público o item: {{ id }}", + + // "item.edit.public.success": "The item is now public", + "item.edit.public.success": "O item agora é público", + + + + // "item.edit.reinstate.cancel": "Cancel", + "item.edit.reinstate.cancel": "Cancelar", + + // "item.edit.reinstate.confirm": "Reinstate", + "item.edit.reinstate.confirm": "Restabelecer", + + // "item.edit.reinstate.description": "Are you sure this item should be reinstated to the archive?", + "item.edit.reinstate.description": "Tem certeza de que este item deve ser restabelecido no arquivo?", + + // "item.edit.reinstate.error": "An error occurred while reinstating the item", + "item.edit.reinstate.error": "Ocorreu um erro ao restabelecer o item", + + // "item.edit.reinstate.header": "Reinstate item: {{ id }}", + "item.edit.reinstate.header": "Restabelecer item: {{ id }}", + + // "item.edit.reinstate.success": "The item was reinstated successfully", + "item.edit.reinstate.success": "O item foi restabelecido com sucesso", + + + + // "item.edit.relationships.discard-button": "Discard", + "item.edit.relationships.discard-button": "Descartar", + + // "item.edit.relationships.edit.buttons.add": "Add", + // TODO New key - Add a translation + "item.edit.relationships.edit.buttons.add": "Add", + + // "item.edit.relationships.edit.buttons.remove": "Remove", + "item.edit.relationships.edit.buttons.remove": "Apagar", + + // "item.edit.relationships.edit.buttons.undo": "Undo changes", + "item.edit.relationships.edit.buttons.undo": "Desfazer alterações", + + // "item.edit.relationships.no-relationships": "No relationships", + // TODO New key - Add a translation + "item.edit.relationships.no-relationships": "No relationships", + + // "item.edit.relationships.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", + "item.edit.relationships.notifications.discarded.content": "Suas alterações foram descartadas. Para restabelecer suas alterações, clique no botão 'Desfazer'", + + // "item.edit.relationships.notifications.discarded.title": "Changes discarded", + "item.edit.relationships.notifications.discarded.title": "Alterações descartadas", + + // "item.edit.relationships.notifications.failed.title": "Error editing relationships", + // TODO Source message changed - Revise the translation + "item.edit.relationships.notifications.failed.title": "Erro ao apagar relacionamento", + + // "item.edit.relationships.notifications.outdated.content": "The item you're currently working on has been changed by another user. Your current changes are discarded to prevent conflicts", + "item.edit.relationships.notifications.outdated.content": "O item em que você está trabalhando foi alterado por outro usuário. Suas alterações atuais são descartadas para evitar conflitos", + + // "item.edit.relationships.notifications.outdated.title": "Changes outdated", + "item.edit.relationships.notifications.outdated.title": "Alterações desatualizadas", + + // "item.edit.relationships.notifications.saved.content": "Your changes to this item's relationships were saved.", + "item.edit.relationships.notifications.saved.content": "Suas alterações nos relacionamentos deste item foram salvas.", + + // "item.edit.relationships.notifications.saved.title": "Relationships saved", + "item.edit.relationships.notifications.saved.title": "Relacionamentos salvos", + + // "item.edit.relationships.reinstate-button": "Undo", + "item.edit.relationships.reinstate-button": "Desfazer", + + // "item.edit.relationships.save-button": "Save", + "item.edit.relationships.save-button": "Salvar", + + // "item.edit.relationships.no-entity-type": "Add 'relationship.type' metadata to enable relationships for this item", + // TODO New key - Add a translation + "item.edit.relationships.no-entity-type": "Add 'relationship.type' metadata to enable relationships for this item", + + + + // "item.edit.tabs.bitstreams.head": "Bitstreams", + // TODO Source message changed - Revise the translation + "item.edit.tabs.bitstreams.head": "Bitstreams do Item", + + // "item.edit.tabs.bitstreams.title": "Item Edit - Bitstreams", + "item.edit.tabs.bitstreams.title": "Editar Item - Bitstreams", + + // "item.edit.tabs.curate.head": "Curate", + "item.edit.tabs.curate.head": "Curadoria", + + // "item.edit.tabs.curate.title": "Item Edit - Curate", + "item.edit.tabs.curate.title": "Editar Item - Curadoria", + + // "item.edit.tabs.metadata.head": "Metadata", + // TODO Source message changed - Revise the translation + "item.edit.tabs.metadata.head": "Metadados do Item", + + // "item.edit.tabs.metadata.title": "Item Edit - Metadata", + "item.edit.tabs.metadata.title": "Editar Item - Metadados", + + // "item.edit.tabs.relationships.head": "Relationships", + // TODO Source message changed - Revise the translation + "item.edit.tabs.relationships.head": "Relacionamentos do Item", + + // "item.edit.tabs.relationships.title": "Item Edit - Relationships", + "item.edit.tabs.relationships.title": "Editar Item - Relacionamentos", + + // "item.edit.tabs.status.buttons.authorizations.button": "Authorizations...", + "item.edit.tabs.status.buttons.authorizations.button": "Autorizações...", + + // "item.edit.tabs.status.buttons.authorizations.label": "Edit item's authorization policies", + "item.edit.tabs.status.buttons.authorizations.label": "Editar politicas de autorizações de item", + + // "item.edit.tabs.status.buttons.delete.button": "Permanently delete", + "item.edit.tabs.status.buttons.delete.button": "Apagar permanentemente", + + // "item.edit.tabs.status.buttons.delete.label": "Completely expunge item", + "item.edit.tabs.status.buttons.delete.label": "Eliminar completamente o item", + + // "item.edit.tabs.status.buttons.mappedCollections.button": "Mapped collections", + "item.edit.tabs.status.buttons.mappedCollections.button": "Coleções mapeadas", + + // "item.edit.tabs.status.buttons.mappedCollections.label": "Manage mapped collections", + "item.edit.tabs.status.buttons.mappedCollections.label": "Gerenciar coleções mapeadas", + + // "item.edit.tabs.status.buttons.move.button": "Move...", + "item.edit.tabs.status.buttons.move.button": "Mover...", + + // "item.edit.tabs.status.buttons.move.label": "Move item to another collection", + "item.edit.tabs.status.buttons.move.label": "Mover item para outra coleção", + + // "item.edit.tabs.status.buttons.private.button": "Make it private...", + "item.edit.tabs.status.buttons.private.button": "Tornar privado o item...", + + // "item.edit.tabs.status.buttons.private.label": "Make item private", + "item.edit.tabs.status.buttons.private.label": "Tornar privado o item", + + // "item.edit.tabs.status.buttons.public.button": "Make it public...", + "item.edit.tabs.status.buttons.public.button": "Tornar público o item...", + + // "item.edit.tabs.status.buttons.public.label": "Make item public", + "item.edit.tabs.status.buttons.public.label": "Tornar público o item", + + // "item.edit.tabs.status.buttons.reinstate.button": "Reinstate...", + "item.edit.tabs.status.buttons.reinstate.button": "Restabelecer...", + + // "item.edit.tabs.status.buttons.reinstate.label": "Reinstate item into the repository", + "item.edit.tabs.status.buttons.reinstate.label": "Restabelecer item no repositório", + + // "item.edit.tabs.status.buttons.withdraw.button": "Withdraw...", + "item.edit.tabs.status.buttons.withdraw.button": "Retirar...", + + // "item.edit.tabs.status.buttons.withdraw.label": "Withdraw item from the repository", + "item.edit.tabs.status.buttons.withdraw.label": "Retirar item do repositório", + + // "item.edit.tabs.status.description": "Welcome to the item management page. From here you can withdraw, reinstate, move or delete the item. You may also update or add new metadata / bitstreams on the other tabs.", + "item.edit.tabs.status.description": "Bem-vindo à página de gerenciamento de itens. A partir daqui, você pode retirar, restabelecer, mover ou apagar o item. Você também pode atualizar ou adicionar novos metadados / bitstream nas outras guias.", + + // "item.edit.tabs.status.head": "Status", + // TODO Source message changed - Revise the translation + "item.edit.tabs.status.head": "Estado do Item", + + // "item.edit.tabs.status.labels.handle": "Handle", + "item.edit.tabs.status.labels.handle": "Handle", + + // "item.edit.tabs.status.labels.id": "Item Internal ID", + "item.edit.tabs.status.labels.id": "ID Interno do Item", + + // "item.edit.tabs.status.labels.itemPage": "Item Page", + "item.edit.tabs.status.labels.itemPage": "Página do Item", + + // "item.edit.tabs.status.labels.lastModified": "Last Modified", + "item.edit.tabs.status.labels.lastModified": "Ultima alteração", + + // "item.edit.tabs.status.title": "Item Edit - Status", + "item.edit.tabs.status.title": "Editar Item - Estado", + + // "item.edit.tabs.versionhistory.head": "Version History", + // TODO New key - Add a translation + "item.edit.tabs.versionhistory.head": "Version History", + + // "item.edit.tabs.versionhistory.title": "Item Edit - Version History", + // TODO New key - Add a translation + "item.edit.tabs.versionhistory.title": "Item Edit - Version History", + + // "item.edit.tabs.versionhistory.under-construction": "Editing or adding new versions is not yet possible in this user interface.", + // TODO New key - Add a translation + "item.edit.tabs.versionhistory.under-construction": "Editing or adding new versions is not yet possible in this user interface.", + + // "item.edit.tabs.view.head": "View Item", + "item.edit.tabs.view.head": "Visualizar Item", + + // "item.edit.tabs.view.title": "Item Edit - View", + "item.edit.tabs.view.title": "Editar Item - Visualizar", + + + + // "item.edit.withdraw.cancel": "Cancel", + "item.edit.withdraw.cancel": "Cancelar", + + // "item.edit.withdraw.confirm": "Withdraw", + "item.edit.withdraw.confirm": "Retirar", + + // "item.edit.withdraw.description": "Are you sure this item should be withdrawn from the archive?", + "item.edit.withdraw.description": "Tem certeza de que este item deve ser retirado do arquivo?", + + // "item.edit.withdraw.error": "An error occurred while withdrawing the item", + "item.edit.withdraw.error": "Ocorreu um erro ao retirar o item", + + // "item.edit.withdraw.header": "Withdraw item: {{ id }}", + "item.edit.withdraw.header": "Retirar item: {{ id }}", + + // "item.edit.withdraw.success": "The item was withdrawn successfully", + "item.edit.withdraw.success": "O item foi retirado com sucesso", + + + + // "item.listelement.badge": "Item", + // TODO New key - Add a translation + "item.listelement.badge": "Item", + + // "item.page.description": "Description", + // TODO New key - Add a translation + "item.page.description": "Description", + + // "item.page.edit": "Edit this item", + // TODO New key - Add a translation + "item.page.edit": "Edit this item", + + // "item.page.journal-issn": "Journal ISSN", + // TODO New key - Add a translation + "item.page.journal-issn": "Journal ISSN", + + // "item.page.journal-title": "Journal Title", + // TODO New key - Add a translation + "item.page.journal-title": "Journal Title", + + // "item.page.publisher": "Publisher", + // TODO New key - Add a translation + "item.page.publisher": "Publisher", + + // "item.page.titleprefix": "Item: ", + // TODO New key - Add a translation + "item.page.titleprefix": "Item: ", + + // "item.page.volume-title": "Volume Title", + // TODO New key - Add a translation + "item.page.volume-title": "Volume Title", + + // "item.search.results.head": "Item Search Results", + // TODO New key - Add a translation + "item.search.results.head": "Item Search Results", + + // "item.search.title": "DSpace Angular :: Item Search", + // TODO New key - Add a translation + "item.search.title": "DSpace Angular :: Item Search", + + + + // "item.page.abstract": "Abstract", + "item.page.abstract": "Resumo", + + // "item.page.author": "Authors", + "item.page.author": "Autores", + + // "item.page.citation": "Citation", + "item.page.citation": "Citação", + + // "item.page.collections": "Collections", + "item.page.collections": "Coleções", + + // "item.page.date": "Date", + "item.page.date": "Data", + + // "item.page.edit": "Edit this item", + // TODO New key - Add a translation + "item.page.edit": "Edit this item", + + // "item.page.files": "Files", + "item.page.files": "Arquivos", + + // "item.page.filesection.description": "Description:", + "item.page.filesection.description": "Descrição:", + + // "item.page.filesection.download": "Download", + "item.page.filesection.download": "Baixar", + + // "item.page.filesection.format": "Format:", + "item.page.filesection.format": "Formato:", + + // "item.page.filesection.name": "Name:", + "item.page.filesection.name": "Nome:", + + // "item.page.filesection.size": "Size:", + "item.page.filesection.size": "Tamanho:", + + // "item.page.journal.search.title": "Articles in this journal", + "item.page.journal.search.title": "Articles in this journal", + + // "item.page.link.full": "Full item page", + "item.page.link.full": "Página do item completo", + + // "item.page.link.simple": "Simple item page", + "item.page.link.simple": "Página do item simplificado", + + // "item.page.person.search.title": "Articles by this author", + "item.page.person.search.title": "Artigos deste autor", + + // "item.page.related-items.view-more": "Show {{ amount }} more", + // TODO Source message changed - Revise the translation + "item.page.related-items.view-more": "Mostrar mais", + + // "item.page.related-items.view-less": "Hide last {{ amount }}", + // TODO Source message changed - Revise the translation + "item.page.related-items.view-less": "Mostrar menos", + + // "item.page.relationships.isAuthorOfPublication": "Publications", + // TODO New key - Add a translation + "item.page.relationships.isAuthorOfPublication": "Publications", + + // "item.page.relationships.isJournalOfPublication": "Publications", + // TODO New key - Add a translation + "item.page.relationships.isJournalOfPublication": "Publications", + + // "item.page.relationships.isOrgUnitOfPerson": "Authors", + // TODO New key - Add a translation + "item.page.relationships.isOrgUnitOfPerson": "Authors", + + // "item.page.relationships.isOrgUnitOfProject": "Research Projects", + // TODO New key - Add a translation + "item.page.relationships.isOrgUnitOfProject": "Research Projects", + + // "item.page.subject": "Keywords", + "item.page.subject": "Palavras-chave", + + // "item.page.uri": "URI", + "item.page.uri": "URI", + + // "item.page.bitstreams.view-more": "Show more", + // TODO New key - Add a translation + "item.page.bitstreams.view-more": "Show more", + + // "item.page.bitstreams.collapse": "Collapse", + // TODO New key - Add a translation + "item.page.bitstreams.collapse": "Collapse", + + // "item.page.filesection.original.bundle" : "Original bundle", + // TODO New key - Add a translation + "item.page.filesection.original.bundle" : "Original bundle", + + // "item.page.filesection.license.bundle" : "License bundle", + // TODO New key - Add a translation + "item.page.filesection.license.bundle" : "License bundle", + + // "item.preview.dc.identifier.uri": "Identifier:", + // TODO New key - Add a translation + "item.preview.dc.identifier.uri": "Identifier:", + + // "item.preview.dc.contributor.author": "Authors:", + // TODO New key - Add a translation + "item.preview.dc.contributor.author": "Authors:", + + // "item.preview.dc.date.issued": "Published date:", + // TODO New key - Add a translation + "item.preview.dc.date.issued": "Published date:", + + // "item.preview.dc.description.abstract": "Abstract:", + // TODO New key - Add a translation + "item.preview.dc.description.abstract": "Abstract:", + + // "item.preview.dc.identifier.other": "Other identifier:", + // TODO New key - Add a translation + "item.preview.dc.identifier.other": "Other identifier:", + + // "item.preview.dc.language.iso": "Language:", + // TODO New key - Add a translation + "item.preview.dc.language.iso": "Language:", + + // "item.preview.dc.subject": "Subjects:", + // TODO New key - Add a translation + "item.preview.dc.subject": "Subjects:", + + // "item.preview.dc.title": "Title:", + // TODO New key - Add a translation + "item.preview.dc.title": "Title:", + + // "item.preview.person.familyName": "Surname:", + // TODO New key - Add a translation + "item.preview.person.familyName": "Surname:", + + // "item.preview.person.givenName": "Name:", + // TODO New key - Add a translation + "item.preview.person.givenName": "Name:", + + // "item.preview.person.identifier.orcid": "ORCID:", + // TODO New key - Add a translation + "item.preview.person.identifier.orcid": "ORCID:", + + + // "item.select.confirm": "Confirm selected", + "item.select.confirm": "Confirmar seleção", + + // "item.select.empty": "No items to show", + "item.select.empty": "Nenhum itme a mostrar", + + // "item.select.table.author": "Author", + "item.select.table.author": "Autor", + + // "item.select.table.collection": "Collection", + "item.select.table.collection": "Coleção", + + // "item.select.table.title": "Title", + "item.select.table.title": "Título", + + + // "item.version.history.empty": "There are no other versions for this item yet.", + // TODO New key - Add a translation + "item.version.history.empty": "There are no other versions for this item yet.", + + // "item.version.history.head": "Version History", + // TODO New key - Add a translation + "item.version.history.head": "Version History", + + // "item.version.history.return": "Return", + // TODO New key - Add a translation + "item.version.history.return": "Return", + + // "item.version.history.selected": "Selected version", + // TODO New key - Add a translation + "item.version.history.selected": "Selected version", + + // "item.version.history.table.version": "Version", + // TODO New key - Add a translation + "item.version.history.table.version": "Version", + + // "item.version.history.table.item": "Item", + // TODO New key - Add a translation + "item.version.history.table.item": "Item", + + // "item.version.history.table.editor": "Editor", + // TODO New key - Add a translation + "item.version.history.table.editor": "Editor", + + // "item.version.history.table.date": "Date", + // TODO New key - Add a translation + "item.version.history.table.date": "Date", + + // "item.version.history.table.summary": "Summary", + // TODO New key - Add a translation + "item.version.history.table.summary": "Summary", + + + + // "item.version.notice": "This is not the latest version of this item. The latest version can be found here.", + // TODO New key - Add a translation + "item.version.notice": "This is not the latest version of this item. The latest version can be found here.", + + + + // "journal.listelement.badge": "Journal", + "journal.listelement.badge": "Periódico", + + // "journal.page.description": "Description", + "journal.page.description": "Descrição", + + // "journal.page.edit": "Edit this item", + // TODO New key - Add a translation + "journal.page.edit": "Edit this item", + + // "journal.page.editor": "Editor-in-Chief", + "journal.page.editor": "Editor Chefe", + + // "journal.page.issn": "ISSN", + "journal.page.issn": "ISSN", + + // "journal.page.publisher": "Publisher", + "journal.page.publisher": "Editora", + + // "journal.page.titleprefix": "Journal: ", + "journal.page.titleprefix": "Periódico: ", + + // "journal.search.results.head": "Journal Search Results", + "journal.search.results.head": "Resultado da Busca de Periódicos", + + // "journal.search.title": "DSpace Angular :: Journal Search", + "journal.search.title": "DSpace Angular :: Busca de Periódicos", + + + + // "journalissue.listelement.badge": "Journal Issue", + "journalissue.listelement.badge": "Fascículo", + + // "journalissue.page.description": "Description", + "journalissue.page.description": "Descrição", + + // "journalissue.page.edit": "Edit this item", + // TODO New key - Add a translation + "journalissue.page.edit": "Edit this item", + + // "journalissue.page.issuedate": "Issue Date", + "journalissue.page.issuedate": "Data de Publicação", + + // "journalissue.page.journal-issn": "Journal ISSN", + "journalissue.page.journal-issn": "ISSN do Periódico", + + // "journalissue.page.journal-title": "Journal Title", + "journalissue.page.journal-title": "Título do Periódico", + + // "journalissue.page.keyword": "Keywords", + "journalissue.page.keyword": "Palavras-chave", + + // "journalissue.page.number": "Number", + "journalissue.page.number": "Número", + + // "journalissue.page.titleprefix": "Journal Issue: ", + "journalissue.page.titleprefix": "Fascículo: ", + + + + // "journalvolume.listelement.badge": "Journal Volume", + "journalvolume.listelement.badge": "Volume do Periódico", + + // "journalvolume.page.description": "Description", + "journalvolume.page.description": "Descrição", + + // "journalvolume.page.edit": "Edit this item", + // TODO New key - Add a translation + "journalvolume.page.edit": "Edit this item", + + // "journalvolume.page.issuedate": "Issue Date", + "journalvolume.page.issuedate": "Data de Publicação", + + // "journalvolume.page.titleprefix": "Journal Volume: ", + "journalvolume.page.titleprefix": "Volume do Periódico: ", + + // "journalvolume.page.volume": "Volume", + "journalvolume.page.volume": "Volume", + + + + // "loading.bitstream": "Loading bitstream...", + // TODO New key - Add a translation + "loading.bitstream": "Loading bitstream...", + + // "loading.bitstreams": "Loading bitstreams...", + // TODO New key - Add a translation + "loading.bitstreams": "Loading bitstreams...", + + // "loading.browse-by": "Loading items...", + "loading.browse-by": "Carregando itens...", + + // "loading.browse-by-page": "Loading page...", + "loading.browse-by-page": "Carregando página...", + + // "loading.collection": "Loading collection...", + "loading.collection": "Carregando coleção...", + + // "loading.collections": "Loading collections...", + "loading.collections": "Carregando coleções...", + + // "loading.content-source": "Loading content source...", + // TODO New key - Add a translation + "loading.content-source": "Loading content source...", + + // "loading.community": "Loading community...", + "loading.community": "Carregando comunidade...", + + // "loading.default": "Loading...", + "loading.default": "Carregando...", + + // "loading.item": "Loading item...", + "loading.item": "Carregando item...", + + // "loading.items": "Loading items...", + "loading.items": "Carregando itens...", + + // "loading.mydspace-results": "Loading items...", + "loading.mydspace-results": "Carregando itens...", + + // "loading.objects": "Loading...", + "loading.objects": "Carregando...", + + // "loading.recent-submissions": "Loading recent submissions...", + "loading.recent-submissions": "Carregando submissões recentes...", + + // "loading.search-results": "Loading search results...", + "loading.search-results": "Carregando resultados de busca...", + + // "loading.sub-collections": "Loading sub-collections...", + "loading.sub-collections": "Carregando sub-coleções...", + + // "loading.sub-communities": "Loading sub-communities...", + "loading.sub-communities": "Carregando sub-comunidades...", + + // "loading.top-level-communities": "Loading top-level communities...", + "loading.top-level-communities": "Carregando comunidades de nível superior...", + + + + // "login.form.email": "Email address", + "login.form.email": "Endereço de email", + + // "login.form.forgot-password": "Have you forgotten your password?", + "login.form.forgot-password": "Esqueceu sua senha?", + + // "login.form.header": "Please log in to DSpace", + "login.form.header": "Por favor entre no DSpace", + + // "login.form.new-user": "New user? Click here to register.", + "login.form.new-user": "Novo usuário? Clique aqui para cadastrar.", + + // "login.form.or-divider": "or", + // TODO New key - Add a translation + "login.form.or-divider": "or", + + // "login.form.password": "Password", + "login.form.password": "Senha", + + // "login.form.shibboleth": "Log in with Shibboleth", + // TODO New key - Add a translation + "login.form.shibboleth": "Log in with Shibboleth", + + // "login.form.submit": "Log in", + "login.form.submit": "Entrar", + + // "login.title": "Login", + "login.title": "Entrar", + + // "login.breadcrumbs": "Login", + // TODO New key - Add a translation + "login.breadcrumbs": "Login", + + + + // "logout.form.header": "Log out from DSpace", + "logout.form.header": "Sair do DSpace", + + // "logout.form.submit": "Log out", + "logout.form.submit": "Sair", + + // "logout.title": "Logout", + "logout.title": "Sair", + + + + // "menu.header.admin": "Admin", + "menu.header.admin": "Administração", + + // "menu.header.image.logo": "Repository logo", + "menu.header.image.logo": "Logo do repositório", + + + + // "menu.section.access_control": "Access Control", + "menu.section.access_control": "Controle de Acesso", + + // "menu.section.access_control_authorizations": "Authorizations", + "menu.section.access_control_authorizations": "Autorizações", + + // "menu.section.access_control_groups": "Groups", + "menu.section.access_control_groups": "Grupos", + + // "menu.section.access_control_people": "People", + "menu.section.access_control_people": "Pessoas", + + + // "menu.section.admin_search": "Admin Search", // TODO New key - Add a translation "menu.section.admin_search": "Admin Search", - - - + + + + // "menu.section.browse_community": "This Community", + "menu.section.browse_community": "Esta Comunidade", + + // "menu.section.browse_community_by_author": "By Author", + "menu.section.browse_community_by_author": "Por Autor", + + // "menu.section.browse_community_by_issue_date": "By Issue Date", + "menu.section.browse_community_by_issue_date": "Por Data de Publicação", + + // "menu.section.browse_community_by_title": "By Title", + "menu.section.browse_community_by_title": "Por Título", + + // "menu.section.browse_global": "All of DSpace", + "menu.section.browse_global": "Tudo no DSpace", + + // "menu.section.browse_global_by_author": "By Author", + "menu.section.browse_global_by_author": "Por Autor", + + // "menu.section.browse_global_by_dateissued": "By Issue Date", + "menu.section.browse_global_by_dateissued": "Por Data de Publicação", + + // "menu.section.browse_global_by_subject": "By Subject", + "menu.section.browse_global_by_subject": "Por Assunto", + + // "menu.section.browse_global_by_title": "By Title", + "menu.section.browse_global_by_title": "Por Título", + + // "menu.section.browse_global_communities_and_collections": "Communities & Collections", + "menu.section.browse_global_communities_and_collections": "Comunidades e Coleções", + + + + // "menu.section.control_panel": "Control Panel", + "menu.section.control_panel": "Painel de Controle", + + // "menu.section.curation_task": "Curation Task", + "menu.section.curation_task": "Tarefas de Curadoria", + + + + // "menu.section.edit": "Edit", + "menu.section.edit": "Editar", + + // "menu.section.edit_collection": "Collection", + "menu.section.edit_collection": "Coleção", + + // "menu.section.edit_community": "Community", + "menu.section.edit_community": "Comunidade", + + // "menu.section.edit_item": "Item", + "menu.section.edit_item": "Item", + + + + // "menu.section.export": "Export", + "menu.section.export": "Exportar", + + // "menu.section.export_collection": "Collection", + "menu.section.export_collection": "Coleção", + + // "menu.section.export_community": "Community", + "menu.section.export_community": "Comunidade", + + // "menu.section.export_item": "Item", + "menu.section.export_item": "Item", + + // "menu.section.export_metadata": "Metadata", + "menu.section.export_metadata": "Metadados", + + + + // "menu.section.icon.access_control": "Access Control menu section", + "menu.section.icon.access_control": "Seção do menu Controle de Acesso", + + // "menu.section.icon.admin_search": "Admin search menu section", + // TODO New key - Add a translation + "menu.section.icon.admin_search": "Admin search menu section", + + // "menu.section.icon.control_panel": "Control Panel menu section", + "menu.section.icon.control_panel": "Seção do menu Painel de Controle", + + // "menu.section.icon.curation_task": "Curation Task menu section", + "menu.section.icon.curation_task": "Seção do menu Tarefas de Curadoria", + + // "menu.section.icon.edit": "Edit menu section", + "menu.section.icon.edit": "Seção do menu Editar", + + // "menu.section.icon.export": "Export menu section", + "menu.section.icon.export": "Seção do menu Exportar", + + // "menu.section.icon.find": "Find menu section", + "menu.section.icon.find": "Seção do menu Buscar", + + // "menu.section.icon.import": "Import menu section", + "menu.section.icon.import": "Seção do menu Importar", + + // "menu.section.icon.new": "New menu section", + "menu.section.icon.new": "Seção do menu Novo", + + // "menu.section.icon.pin": "Pin sidebar", + "menu.section.icon.pin": "Fixar barra lateral", + + // "menu.section.icon.processes": "Processes menu section", + // TODO New key - Add a translation + "menu.section.icon.processes": "Processes menu section", + + // "menu.section.icon.registries": "Registries menu section", + "menu.section.icon.registries": "Seção do menu Registros", + + // "menu.section.icon.statistics_task": "Statistics Task menu section", + "menu.section.icon.statistics_task": "Seção do menu Tarefas de Estatísticas", + + // "menu.section.icon.unpin": "Unpin sidebar", + "menu.section.icon.unpin": "Soltar barra lateral", + + + + // "menu.section.import": "Import", + "menu.section.import": "Importar", + + // "menu.section.import_batch": "Batch Import (ZIP)", + "menu.section.import_batch": "Importação em Lote (ZIP)", + + // "menu.section.import_metadata": "Metadata", + "menu.section.import_metadata": "Metadados", + + + + // "menu.section.new": "New", + "menu.section.new": "Nova", + + // "menu.section.new_collection": "Collection", + "menu.section.new_collection": "Coleção", + + // "menu.section.new_community": "Community", + "menu.section.new_community": "Comunidade", + + // "menu.section.new_item": "Item", + "menu.section.new_item": "Item", + + // "menu.section.new_item_version": "Item Version", + "menu.section.new_item_version": "Versão do Item", + + // "menu.section.new_process": "Process", + // TODO New key - Add a translation + "menu.section.new_process": "Process", + + + + // "menu.section.pin": "Pin sidebar", + "menu.section.pin": "Fixar barra lateral", + + // "menu.section.unpin": "Unpin sidebar", + "menu.section.unpin": "Soltar barra lateral", + + + + // "menu.section.processes": "Processes", + // TODO New key - Add a translation + "menu.section.processes": "Processes", + + + + // "menu.section.registries": "Registries", + "menu.section.registries": "Registros", + + // "menu.section.registries_format": "Format", + "menu.section.registries_format": "Formatos", + + // "menu.section.registries_metadata": "Metadata", + "menu.section.registries_metadata": "Metadados", + + + + // "menu.section.statistics": "Statistics", + "menu.section.statistics": "Estatísticas", + + // "menu.section.statistics_task": "Statistics Task", + "menu.section.statistics_task": "Tarefas de Estatísticas", + + + + // "menu.section.toggle.access_control": "Toggle Access Control section", + "menu.section.toggle.access_control": "Alternar Seção Controle de Acesso", + + // "menu.section.toggle.control_panel": "Toggle Control Panel section", + "menu.section.toggle.control_panel": "Alternar Seção Painel de COntrole", + + // "menu.section.toggle.curation_task": "Toggle Curation Task section", + "menu.section.toggle.curation_task": "Alternar Seção Tarefas de Curadoria", + + // "menu.section.toggle.edit": "Toggle Edit section", + "menu.section.toggle.edit": "Alternar Seção Editar", + + // "menu.section.toggle.export": "Toggle Export section", + "menu.section.toggle.export": "Alternar Seção Exportar", + + // "menu.section.toggle.find": "Toggle Find section", + "menu.section.toggle.find": "Alternar Seção Pesquisa", + + // "menu.section.toggle.import": "Toggle Import section", + "menu.section.toggle.import": "Alternar Seção Importar", + + // "menu.section.toggle.new": "Toggle New section", + "menu.section.toggle.new": "Alternar Nova Seção", + + // "menu.section.toggle.registries": "Toggle Registries section", + "menu.section.toggle.registries": "Alternar Seção Registros", + + // "menu.section.toggle.statistics_task": "Toggle Statistics Task section", + "menu.section.toggle.statistics_task": "Alternar Seção Tarefas de Estatísticas", + + + // "menu.section.workflow": "Administer Workflow", + // TODO New key - Add a translation + "menu.section.workflow": "Administer Workflow", + + + // "mydspace.description": "", + "mydspace.description": "", + + // "mydspace.general.text-here": "here", + // TODO Source message changed - Revise the translation + "mydspace.general.text-here": "AQUI", + + // "mydspace.messages.controller-help": "Select this option to send a message to item's submitter.", + "mydspace.messages.controller-help": "Selecione esta opção para enviar uma mensagem para o submetedor do item.", + + // "mydspace.messages.description-placeholder": "Insert your message here...", + "mydspace.messages.description-placeholder": "Insira sua mensagem aqui...", + + // "mydspace.messages.hide-msg": "Hide message", + "mydspace.messages.hide-msg": "Ocultar mensagem", + + // "mydspace.messages.mark-as-read": "Mark as read", + "mydspace.messages.mark-as-read": "Marcar como lida", + + // "mydspace.messages.mark-as-unread": "Mark as unread", + "mydspace.messages.mark-as-unread": "Marcar como não lida", + + // "mydspace.messages.no-content": "No content.", + "mydspace.messages.no-content": "Sem conteúdo", + + // "mydspace.messages.no-messages": "No messages yet.", + "mydspace.messages.no-messages": "Nenhuma mensagem ainda", + + // "mydspace.messages.send-btn": "Send", + "mydspace.messages.send-btn": "Enviar", + + // "mydspace.messages.show-msg": "Show message", + "mydspace.messages.show-msg": "Mostrar mensagem", + + // "mydspace.messages.subject-placeholder": "Subject...", + "mydspace.messages.subject-placeholder": "Assunto...", + + // "mydspace.messages.submitter-help": "Select this option to send a message to controller.", + "mydspace.messages.submitter-help": "Selecione esta opção para enviar uma mensagem ao controlador.", + + // "mydspace.messages.title": "Messages", + "mydspace.messages.title": "Mensagens", + + // "mydspace.messages.to": "To", + "mydspace.messages.to": "Para", + + // "mydspace.new-submission": "New submission", + "mydspace.new-submission": "Nova submissão", + + // "mydspace.new-submission-external": "Import metadata from external source", + // TODO New key - Add a translation + "mydspace.new-submission-external": "Import metadata from external source", + + // "mydspace.new-submission-external-short": "Import metadata", + // TODO New key - Add a translation + "mydspace.new-submission-external-short": "Import metadata", + + // "mydspace.results.head": "Your submissions", + "mydspace.results.head": "Minhas submissões", + + // "mydspace.results.no-abstract": "No Abstract", + "mydspace.results.no-abstract": "Sem Resumo", + + // "mydspace.results.no-authors": "No Authors", + "mydspace.results.no-authors": "Sem Autores", + + // "mydspace.results.no-collections": "No Collections", + "mydspace.results.no-collections": "Sem Coleções", + + // "mydspace.results.no-date": "No Date", + "mydspace.results.no-date": "Sem Data", + + // "mydspace.results.no-files": "No Files", + "mydspace.results.no-files": "Sem arquivos", + + // "mydspace.results.no-results": "There were no items to show", + "mydspace.results.no-results": "Não havia itens a mostrar", + + // "mydspace.results.no-title": "No title", + "mydspace.results.no-title": "Sem título", + + // "mydspace.results.no-uri": "No Uri", + "mydspace.results.no-uri": "Sem Uri", + + // "mydspace.show.workflow": "All tasks", + "mydspace.show.workflow": "Todas as tarefas", + + // "mydspace.show.workspace": "Your Submissions", + "mydspace.show.workspace": "Minhas Submissões", + + // "mydspace.status.archived": "Archived", + "mydspace.status.archived": "Arquivado", + + // "mydspace.status.validation": "Validation", + "mydspace.status.validation": "Validação", + + // "mydspace.status.waiting-for-controller": "Waiting for controller", + "mydspace.status.waiting-for-controller": "Esperando pelo controlador", + + // "mydspace.status.workflow": "Workflow", + "mydspace.status.workflow": "Fluxo de trabalho", + + // "mydspace.status.workspace": "Workspace", + "mydspace.status.workspace": "Espaço de trabalho", + + // "mydspace.title": "MyDSpace", + "mydspace.title": "MyDSpace", + + // "mydspace.upload.upload-failed": "Error creating new workspace. Please verify the content uploaded before retry.", + "mydspace.upload.upload-failed": "Erro ao criar novo espaço de trabalho. Por favor verifique o conteúdo enviado antes de tentar novamente.", + + // "mydspace.upload.upload-failed-manyentries": "Unprocessable file. Detected too many entries but allowed only one for file.", + // TODO New key - Add a translation + "mydspace.upload.upload-failed-manyentries": "Unprocessable file. Detected too many entries but allowed only one for file.", + + // "mydspace.upload.upload-failed-moreonefile": "Unprocessable request. Only one file is allowed.", + // TODO New key - Add a translation + "mydspace.upload.upload-failed-moreonefile": "Unprocessable request. Only one file is allowed.", + + // "mydspace.upload.upload-multiple-successful": "{{qty}} new workspace items created.", + "mydspace.upload.upload-multiple-successful": "{{qty}} novo(s) item(ns) de espaço de trabalho criados.", + + // "mydspace.upload.upload-successful": "New workspace item created. Click {{here}} for edit it.", + "mydspace.upload.upload-successful": "Novo item de espaço de trabalho criado. Clique {{here}} para o editar.", + + // "mydspace.view-btn": "View", + "mydspace.view-btn": "Ver", + + + + // "nav.browse.header": "All of DSpace", + "nav.browse.header": "Tudo no DSpace", + + // "nav.community-browse.header": "By Community", + "nav.community-browse.header": "Por Comunidade", + + // "nav.language": "Language switch", + "nav.language": "Seletor de idioma", + + // "nav.login": "Log In", + "nav.login": "Entrar", + + // "nav.logout": "Log Out", + "nav.logout": "Sair", + + // "nav.mydspace": "MyDSpace", + "nav.mydspace": "MyDSpace", + + // "nav.profile": "Profile", + // TODO New key - Add a translation + "nav.profile": "Profile", + + // "nav.search": "Search", + "nav.search": "Buscar", + + // "nav.statistics.header": "Statistics", + "nav.statistics.header": "Estatísticas", + + // "nav.stop-impersonating": "Stop impersonating EPerson", + // TODO New key - Add a translation + "nav.stop-impersonating": "Stop impersonating EPerson", + + + + // "orgunit.listelement.badge": "Organizational Unit", + "orgunit.listelement.badge": "Unidade Organizacional", + + // "orgunit.page.city": "City", + "orgunit.page.city": "Cidade", + + // "orgunit.page.country": "Country", + "orgunit.page.country": "País", + + // "orgunit.page.dateestablished": "Date established", + "orgunit.page.dateestablished": "Data estabelecida", + + // "orgunit.page.description": "Description", + "orgunit.page.description": "Descrição", + + // "orgunit.page.edit": "Edit this item", + // TODO New key - Add a translation + "orgunit.page.edit": "Edit this item", + + // "orgunit.page.id": "ID", + "orgunit.page.id": "ID", + + // "orgunit.page.titleprefix": "Organizational Unit: ", + "orgunit.page.titleprefix": "Unidade Organizacional: ", + + + + // "pagination.results-per-page": "Results Per Page", + "pagination.results-per-page": "Resultados por página", + + // "pagination.showing.detail": "{{ range }} of {{ total }}", + "pagination.showing.detail": "{{ range }} de {{ total }}", + + // "pagination.showing.label": "Now showing ", + "pagination.showing.label": "Agora exibindo ", + + // "pagination.sort-direction": "Sort Options", + "pagination.sort-direction": "Opções de Ordenação", + + + + // "person.listelement.badge": "Person", + "person.listelement.badge": "Pessoa", + + // "person.listelement.no-title": "No name found", + // TODO New key - Add a translation + "person.listelement.no-title": "No name found", + + // "person.page.birthdate": "Birth Date", + "person.page.birthdate": "Data de nascimento", + + // "person.page.edit": "Edit this item", + // TODO New key - Add a translation + "person.page.edit": "Edit this item", + + // "person.page.email": "Email Address", + "person.page.email": "Endereço de Email", + + // "person.page.firstname": "First Name", + "person.page.firstname": "Primeiro Nome", + + // "person.page.jobtitle": "Job Title", + "person.page.jobtitle": "Cargo", + + // "person.page.lastname": "Last Name", + "person.page.lastname": "Último Nome", + + // "person.page.link.full": "Show all metadata", + "person.page.link.full": "Mostrar todos os metadados", + + // "person.page.orcid": "ORCID", + "person.page.orcid": "ORCID", + + // "person.page.staffid": "Staff ID", + "person.page.staffid": "ID de Equipe", + + // "person.page.titleprefix": "Person: ", + "person.page.titleprefix": "Pessoa: ", + + // "person.search.results.head": "Person Search Results", + "person.search.results.head": "Resultado da Busca de Pessoa", + + // "person.search.title": "DSpace Angular :: Person Search", + "person.search.title": "DSpace Angular :: Buscar Pessoa", + + + + // "process.new.select-parameters": "Parameters", + // TODO New key - Add a translation + "process.new.select-parameters": "Parameters", + + // "process.new.cancel": "Cancel", + // TODO New key - Add a translation + "process.new.cancel": "Cancel", + + // "process.new.submit": "Submit", + // TODO New key - Add a translation + "process.new.submit": "Submit", + + // "process.new.select-script": "Script", + // TODO New key - Add a translation + "process.new.select-script": "Script", + + // "process.new.select-script.placeholder": "Choose a script...", + // TODO New key - Add a translation + "process.new.select-script.placeholder": "Choose a script...", + + // "process.new.select-script.required": "Script is required", + // TODO New key - Add a translation + "process.new.select-script.required": "Script is required", + + // "process.new.parameter.file.upload-button": "Select file...", + // TODO New key - Add a translation + "process.new.parameter.file.upload-button": "Select file...", + + // "process.new.parameter.file.required": "Please select a file", + // TODO New key - Add a translation + "process.new.parameter.file.required": "Please select a file", + + // "process.new.parameter.string.required": "Parameter value is required", + // TODO New key - Add a translation + "process.new.parameter.string.required": "Parameter value is required", + + // "process.new.parameter.type.value": "value", + // TODO New key - Add a translation + "process.new.parameter.type.value": "value", + + // "process.new.parameter.type.file": "file", + // TODO New key - Add a translation + "process.new.parameter.type.file": "file", + + // "process.new.parameter.required.missing": "The following parameters are required but still missing:", + // TODO New key - Add a translation + "process.new.parameter.required.missing": "The following parameters are required but still missing:", + + // "process.new.notification.success.title": "Success", + // TODO New key - Add a translation + "process.new.notification.success.title": "Success", + + // "process.new.notification.success.content": "The process was successfully created", + // TODO New key - Add a translation + "process.new.notification.success.content": "The process was successfully created", + + // "process.new.notification.error.title": "Error", + // TODO New key - Add a translation + "process.new.notification.error.title": "Error", + + // "process.new.notification.error.content": "An error occurred while creating this process", + // TODO New key - Add a translation + "process.new.notification.error.content": "An error occurred while creating this process", + + // "process.new.header": "Create a new process", + // TODO New key - Add a translation + "process.new.header": "Create a new process", + + // "process.new.title": "Create a new process", + // TODO New key - Add a translation + "process.new.title": "Create a new process", + + // "process.new.breadcrumbs": "Create a new process", + // TODO New key - Add a translation + "process.new.breadcrumbs": "Create a new process", + + + + // "process.detail.arguments" : "Arguments", + // TODO New key - Add a translation + "process.detail.arguments" : "Arguments", + + // "process.detail.arguments.empty" : "This process doesn't contain any arguments", + // TODO New key - Add a translation + "process.detail.arguments.empty" : "This process doesn't contain any arguments", + + // "process.detail.back" : "Back", + // TODO New key - Add a translation + "process.detail.back" : "Back", + + // "process.detail.output" : "Process Output", + // TODO New key - Add a translation + "process.detail.output" : "Process Output", + + // "process.detail.logs.button": "Retrieve process output", + // TODO New key - Add a translation + "process.detail.logs.button": "Retrieve process output", + + // "process.detail.logs.loading": "Retrieving", + // TODO New key - Add a translation + "process.detail.logs.loading": "Retrieving", + + // "process.detail.logs.none": "This process has no output", + // TODO New key - Add a translation + "process.detail.logs.none": "This process has no output", + + // "process.detail.output-files" : "Output Files", + // TODO New key - Add a translation + "process.detail.output-files" : "Output Files", + + // "process.detail.output-files.empty" : "This process doesn't contain any output files", + // TODO New key - Add a translation + "process.detail.output-files.empty" : "This process doesn't contain any output files", + + // "process.detail.script" : "Script", + // TODO New key - Add a translation + "process.detail.script" : "Script", + + // "process.detail.title" : "Process: {{ id }} - {{ name }}", + // TODO New key - Add a translation + "process.detail.title" : "Process: {{ id }} - {{ name }}", + + // "process.detail.start-time" : "Start time", + // TODO New key - Add a translation + "process.detail.start-time" : "Start time", + + // "process.detail.end-time" : "Finish time", + // TODO New key - Add a translation + "process.detail.end-time" : "Finish time", + + // "process.detail.status" : "Status", + // TODO New key - Add a translation + "process.detail.status" : "Status", + + // "process.detail.create" : "Create similar process", + // TODO New key - Add a translation + "process.detail.create" : "Create similar process", + + + + // "process.overview.table.finish" : "Finish time", + // TODO New key - Add a translation + "process.overview.table.finish" : "Finish time", + + // "process.overview.table.id" : "Process ID", + // TODO New key - Add a translation + "process.overview.table.id" : "Process ID", + + // "process.overview.table.name" : "Name", + // TODO New key - Add a translation + "process.overview.table.name" : "Name", + + // "process.overview.table.start" : "Start time", + // TODO New key - Add a translation + "process.overview.table.start" : "Start time", + + // "process.overview.table.status" : "Status", + // TODO New key - Add a translation + "process.overview.table.status" : "Status", + + // "process.overview.table.user" : "User", + // TODO New key - Add a translation + "process.overview.table.user" : "User", + + // "process.overview.title": "Processes Overview", + // TODO New key - Add a translation + "process.overview.title": "Processes Overview", + + // "process.overview.breadcrumbs": "Processes Overview", + // TODO New key - Add a translation + "process.overview.breadcrumbs": "Processes Overview", + + // "process.overview.new": "New", + // TODO New key - Add a translation + "process.overview.new": "New", + + + // "profile.breadcrumbs": "Update Profile", + // TODO New key - Add a translation + "profile.breadcrumbs": "Update Profile", + + // "profile.card.identify": "Identify", + // TODO New key - Add a translation + "profile.card.identify": "Identify", + + // "profile.card.security": "Security", + // TODO New key - Add a translation + "profile.card.security": "Security", + + // "profile.form.submit": "Update Profile", + // TODO New key - Add a translation + "profile.form.submit": "Update Profile", + + // "profile.groups.head": "Authorization groups you belong to", + // TODO New key - Add a translation + "profile.groups.head": "Authorization groups you belong to", + + // "profile.head": "Update Profile", + // TODO New key - Add a translation + "profile.head": "Update Profile", + + // "profile.metadata.form.error.firstname.required": "First Name is required", + // TODO New key - Add a translation + "profile.metadata.form.error.firstname.required": "First Name is required", + + // "profile.metadata.form.error.lastname.required": "Last Name is required", + // TODO New key - Add a translation + "profile.metadata.form.error.lastname.required": "Last Name is required", + + // "profile.metadata.form.label.email": "Email Address", + // TODO New key - Add a translation + "profile.metadata.form.label.email": "Email Address", + + // "profile.metadata.form.label.firstname": "First Name", + // TODO New key - Add a translation + "profile.metadata.form.label.firstname": "First Name", + + // "profile.metadata.form.label.language": "Language", + // TODO New key - Add a translation + "profile.metadata.form.label.language": "Language", + + // "profile.metadata.form.label.lastname": "Last Name", + // TODO New key - Add a translation + "profile.metadata.form.label.lastname": "Last Name", + + // "profile.metadata.form.label.phone": "Contact Telephone", + // TODO New key - Add a translation + "profile.metadata.form.label.phone": "Contact Telephone", + + // "profile.metadata.form.notifications.success.content": "Your changes to the profile were saved.", + // TODO New key - Add a translation + "profile.metadata.form.notifications.success.content": "Your changes to the profile were saved.", + + // "profile.metadata.form.notifications.success.title": "Profile saved", + // TODO New key - Add a translation + "profile.metadata.form.notifications.success.title": "Profile saved", + + // "profile.notifications.warning.no-changes.content": "No changes were made to the Profile.", + // TODO New key - Add a translation + "profile.notifications.warning.no-changes.content": "No changes were made to the Profile.", + + // "profile.notifications.warning.no-changes.title": "No changes", + // TODO New key - Add a translation + "profile.notifications.warning.no-changes.title": "No changes", + + // "profile.security.form.error.matching-passwords": "The passwords do not match.", + // TODO New key - Add a translation + "profile.security.form.error.matching-passwords": "The passwords do not match.", + + // "profile.security.form.error.password-length": "The password should be at least 6 characters long.", + // TODO New key - Add a translation + "profile.security.form.error.password-length": "The password should be at least 6 characters long.", + + // "profile.security.form.info": "Optionally, you can enter a new password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", + // TODO New key - Add a translation + "profile.security.form.info": "Optionally, you can enter a new password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", + + // "profile.security.form.label.password": "Password", + // TODO New key - Add a translation + "profile.security.form.label.password": "Password", + + // "profile.security.form.label.passwordrepeat": "Retype to confirm", + // TODO New key - Add a translation + "profile.security.form.label.passwordrepeat": "Retype to confirm", + + // "profile.security.form.notifications.success.content": "Your changes to the password were saved.", + // TODO New key - Add a translation + "profile.security.form.notifications.success.content": "Your changes to the password were saved.", + + // "profile.security.form.notifications.success.title": "Password saved", + // TODO New key - Add a translation + "profile.security.form.notifications.success.title": "Password saved", + + // "profile.security.form.notifications.error.title": "Error changing passwords", + // TODO New key - Add a translation + "profile.security.form.notifications.error.title": "Error changing passwords", + + // "profile.security.form.notifications.error.not-long-enough": "The password has to be at least 6 characters long.", + // TODO New key - Add a translation + "profile.security.form.notifications.error.not-long-enough": "The password has to be at least 6 characters long.", + + // "profile.security.form.notifications.error.not-same": "The provided passwords are not the same.", + // TODO New key - Add a translation + "profile.security.form.notifications.error.not-same": "The provided passwords are not the same.", + + // "profile.title": "Update Profile", + // TODO New key - Add a translation + "profile.title": "Update Profile", + + + + // "project.listelement.badge": "Research Project", + "project.listelement.badge": "Projeto de Pesquisa", + + // "project.page.contributor": "Contributors", + "project.page.contributor": "Contribuidores", + + // "project.page.description": "Description", + "project.page.description": "Descrição", + + // "project.page.edit": "Edit this item", + // TODO New key - Add a translation + "project.page.edit": "Edit this item", + + // "project.page.expectedcompletion": "Expected Completion", + "project.page.expectedcompletion": "Conclusão esperada", + + // "project.page.funder": "Funders", + "project.page.funder": "Financiadores", + + // "project.page.id": "ID", + "project.page.id": "ID", + + // "project.page.keyword": "Keywords", + "project.page.keyword": "Palavras-chave", + + // "project.page.status": "Status", + "project.page.status": "Estado", + + // "project.page.titleprefix": "Research Project: ", + "project.page.titleprefix": "Projeto de Pesquisa: ", + + // "project.search.results.head": "Project Search Results", + // TODO New key - Add a translation + "project.search.results.head": "Project Search Results", + + + + // "publication.listelement.badge": "Publication", + "publication.listelement.badge": "Publicação", + + // "publication.page.description": "Description", + "publication.page.description": "Descrição", + + // "publication.page.edit": "Edit this item", + // TODO New key - Add a translation + "publication.page.edit": "Edit this item", + + // "publication.page.journal-issn": "Journal ISSN", + "publication.page.journal-issn": "ISSN do Periódico", + + // "publication.page.journal-title": "Journal Title", + "publication.page.journal-title": "Título do Periódico", + + // "publication.page.publisher": "Publisher", + "publication.page.publisher": "Editora", + + // "publication.page.titleprefix": "Publication: ", + "publication.page.titleprefix": "Publicação: ", + + // "publication.page.volume-title": "Volume Title", + "publication.page.volume-title": "Título do Volume", + + // "publication.search.results.head": "Publication Search Results", + "publication.search.results.head": "Resultados da Busca de Publicação", + + // "publication.search.title": "DSpace Angular :: Publication Search", + "publication.search.title": "DSpace Angular :: Busca de Publicações", + + + // "register-email.title": "New user registration", + // TODO New key - Add a translation + "register-email.title": "New user registration", + + // "register-page.create-profile.header": "Create Profile", + // TODO New key - Add a translation + "register-page.create-profile.header": "Create Profile", + + // "register-page.create-profile.identification.header": "Identify", + // TODO New key - Add a translation + "register-page.create-profile.identification.header": "Identify", + + // "register-page.create-profile.identification.email": "Email Address", + // TODO New key - Add a translation + "register-page.create-profile.identification.email": "Email Address", + + // "register-page.create-profile.identification.first-name": "First Name *", + // TODO New key - Add a translation + "register-page.create-profile.identification.first-name": "First Name *", + + // "register-page.create-profile.identification.first-name.error": "Please fill in a First Name", + // TODO New key - Add a translation + "register-page.create-profile.identification.first-name.error": "Please fill in a First Name", + + // "register-page.create-profile.identification.last-name": "Last Name *", + // TODO New key - Add a translation + "register-page.create-profile.identification.last-name": "Last Name *", + + // "register-page.create-profile.identification.last-name.error": "Please fill in a Last Name", + // TODO New key - Add a translation + "register-page.create-profile.identification.last-name.error": "Please fill in a Last Name", + + // "register-page.create-profile.identification.contact": "Contact Telephone", + // TODO New key - Add a translation + "register-page.create-profile.identification.contact": "Contact Telephone", + + // "register-page.create-profile.identification.language": "Language", + // TODO New key - Add a translation + "register-page.create-profile.identification.language": "Language", + + // "register-page.create-profile.security.header": "Security", + // TODO New key - Add a translation + "register-page.create-profile.security.header": "Security", + + // "register-page.create-profile.security.info": "Please enter a password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", + // TODO New key - Add a translation + "register-page.create-profile.security.info": "Please enter a password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", + + // "register-page.create-profile.security.label.password": "Password *", + // TODO New key - Add a translation + "register-page.create-profile.security.label.password": "Password *", + + // "register-page.create-profile.security.label.passwordrepeat": "Retype to confirm *", + // TODO New key - Add a translation + "register-page.create-profile.security.label.passwordrepeat": "Retype to confirm *", + + // "register-page.create-profile.security.error.empty-password": "Please enter a password in the box below.", + // TODO New key - Add a translation + "register-page.create-profile.security.error.empty-password": "Please enter a password in the box below.", + + // "register-page.create-profile.security.error.matching-passwords": "The passwords do not match.", + // TODO New key - Add a translation + "register-page.create-profile.security.error.matching-passwords": "The passwords do not match.", + + // "register-page.create-profile.security.error.password-length": "The password should be at least 6 characters long.", + // TODO New key - Add a translation + "register-page.create-profile.security.error.password-length": "The password should be at least 6 characters long.", + + // "register-page.create-profile.submit": "Complete Registration", + // TODO New key - Add a translation + "register-page.create-profile.submit": "Complete Registration", + + // "register-page.create-profile.submit.error.content": "Something went wrong while registering a new user.", + // TODO New key - Add a translation + "register-page.create-profile.submit.error.content": "Something went wrong while registering a new user.", + + // "register-page.create-profile.submit.error.head": "Registration failed", + // TODO New key - Add a translation + "register-page.create-profile.submit.error.head": "Registration failed", + + // "register-page.create-profile.submit.success.content": "The registration was successful. You have been logged in as the created user.", + // TODO New key - Add a translation + "register-page.create-profile.submit.success.content": "The registration was successful. You have been logged in as the created user.", + + // "register-page.create-profile.submit.success.head": "Registration completed", + // TODO New key - Add a translation + "register-page.create-profile.submit.success.head": "Registration completed", + + + // "register-page.registration.header": "New user registration", + // TODO New key - Add a translation + "register-page.registration.header": "New user registration", + + // "register-page.registration.info": "Register an account to subscribe to collections for email updates, and submit new items to DSpace.", + // TODO New key - Add a translation + "register-page.registration.info": "Register an account to subscribe to collections for email updates, and submit new items to DSpace.", + + // "register-page.registration.email": "Email Address *", + // TODO New key - Add a translation + "register-page.registration.email": "Email Address *", + + // "register-page.registration.email.error.required": "Please fill in an email address", + // TODO New key - Add a translation + "register-page.registration.email.error.required": "Please fill in an email address", + + // "register-page.registration.email.error.pattern": "Please fill in a valid email address", + // TODO New key - Add a translation + "register-page.registration.email.error.pattern": "Please fill in a valid email address", + + // "register-page.registration.email.hint": "This address will be verified and used as your login name.", + // TODO New key - Add a translation + "register-page.registration.email.hint": "This address will be verified and used as your login name.", + + // "register-page.registration.submit": "Register", + // TODO New key - Add a translation + "register-page.registration.submit": "Register", + + // "register-page.registration.success.head": "Verification email sent", + // TODO New key - Add a translation + "register-page.registration.success.head": "Verification email sent", + + // "register-page.registration.success.content": "An email has been sent to {{ email }} containing a special URL and further instructions.", + // TODO New key - Add a translation + "register-page.registration.success.content": "An email has been sent to {{ email }} containing a special URL and further instructions.", + + // "register-page.registration.error.head": "Error when trying to register email", + // TODO New key - Add a translation + "register-page.registration.error.head": "Error when trying to register email", + + // "register-page.registration.error.content": "An error occured when registering the following email address: {{ email }}", + // TODO New key - Add a translation + "register-page.registration.error.content": "An error occured when registering the following email address: {{ email }}", + + + + // "relationships.add.error.relationship-type.content": "No suitable match could be found for relationship type {{ type }} between the two items", + // TODO New key - Add a translation + "relationships.add.error.relationship-type.content": "No suitable match could be found for relationship type {{ type }} between the two items", + + // "relationships.add.error.server.content": "The server returned an error", + // TODO New key - Add a translation + "relationships.add.error.server.content": "The server returned an error", + + // "relationships.add.error.title": "Unable to add relationship", + // TODO New key - Add a translation + "relationships.add.error.title": "Unable to add relationship", + + // "relationships.isAuthorOf": "Authors", + "relationships.isAuthorOf": "Autores", + + // "relationships.isAuthorOf.Person": "Authors (persons)", + // TODO New key - Add a translation + "relationships.isAuthorOf.Person": "Authors (persons)", + + // "relationships.isAuthorOf.OrgUnit": "Authors (organizational units)", + // TODO New key - Add a translation + "relationships.isAuthorOf.OrgUnit": "Authors (organizational units)", + + // "relationships.isIssueOf": "Journal Issues", + "relationships.isIssueOf": "Fascículo", + + // "relationships.isJournalIssueOf": "Journal Issue", + "relationships.isJournalIssueOf": "Fascículo", + + // "relationships.isJournalOf": "Journals", + "relationships.isJournalOf": "Periódicos", + + // "relationships.isOrgUnitOf": "Organizational Units", + "relationships.isOrgUnitOf": "Unidades Organizacionais", + + // "relationships.isPersonOf": "Authors", + "relationships.isPersonOf": "Autores", + + // "relationships.isProjectOf": "Research Projects", + "relationships.isProjectOf": "Projetos de Pesquisa", + + // "relationships.isPublicationOf": "Publications", + "relationships.isPublicationOf": "Publicações", + + // "relationships.isPublicationOfJournalIssue": "Articles", + "relationships.isPublicationOfJournalIssue": "Artigos", + + // "relationships.isSingleJournalOf": "Journal", + "relationships.isSingleJournalOf": "Periódico", + + // "relationships.isSingleVolumeOf": "Journal Volume", + "relationships.isSingleVolumeOf": "Volume do Periódico", + + // "relationships.isVolumeOf": "Journal Volumes", + "relationships.isVolumeOf": "Volumes do Periódico", + + // "relationships.isContributorOf": "Contributors", + // TODO New key - Add a translation + "relationships.isContributorOf": "Contributors", + + + + // "resource-policies.add.button": "Add", + // TODO New key - Add a translation + "resource-policies.add.button": "Add", + + // "resource-policies.add.for.": "Add a new policy", + // TODO New key - Add a translation + "resource-policies.add.for.": "Add a new policy", + + // "resource-policies.add.for.bitstream": "Add a new Bitstream policy", + // TODO New key - Add a translation + "resource-policies.add.for.bitstream": "Add a new Bitstream policy", + + // "resource-policies.add.for.bundle": "Add a new Bundle policy", + // TODO New key - Add a translation + "resource-policies.add.for.bundle": "Add a new Bundle policy", + + // "resource-policies.add.for.item": "Add a new Item policy", + // TODO New key - Add a translation + "resource-policies.add.for.item": "Add a new Item policy", + + // "resource-policies.add.for.community": "Add a new Community policy", + // TODO New key - Add a translation + "resource-policies.add.for.community": "Add a new Community policy", + + // "resource-policies.add.for.collection": "Add a new Collection policy", + // TODO New key - Add a translation + "resource-policies.add.for.collection": "Add a new Collection policy", + + // "resource-policies.create.page.heading": "Create new resource policy for ", + // TODO New key - Add a translation + "resource-policies.create.page.heading": "Create new resource policy for ", + + // "resource-policies.create.page.failure.content": "An error occurred while creating the resource policy.", + // TODO New key - Add a translation + "resource-policies.create.page.failure.content": "An error occurred while creating the resource policy.", + + // "resource-policies.create.page.success.content": "Operation successful", + // TODO New key - Add a translation + "resource-policies.create.page.success.content": "Operation successful", + + // "resource-policies.create.page.title": "Create new resource policy", + // TODO New key - Add a translation + "resource-policies.create.page.title": "Create new resource policy", + + // "resource-policies.delete.btn": "Delete selected", + // TODO New key - Add a translation + "resource-policies.delete.btn": "Delete selected", + + // "resource-policies.delete.btn.title": "Delete selected resource policies", + // TODO New key - Add a translation + "resource-policies.delete.btn.title": "Delete selected resource policies", + + // "resource-policies.delete.failure.content": "An error occurred while deleting selected resource policies.", + // TODO New key - Add a translation + "resource-policies.delete.failure.content": "An error occurred while deleting selected resource policies.", + + // "resource-policies.delete.success.content": "Operation successful", + // TODO New key - Add a translation + "resource-policies.delete.success.content": "Operation successful", + + // "resource-policies.edit.page.heading": "Edit resource policy ", + // TODO New key - Add a translation + "resource-policies.edit.page.heading": "Edit resource policy ", + + // "resource-policies.edit.page.failure.content": "An error occurred while editing the resource policy.", + // TODO New key - Add a translation + "resource-policies.edit.page.failure.content": "An error occurred while editing the resource policy.", + + // "resource-policies.edit.page.success.content": "Operation successful", + // TODO New key - Add a translation + "resource-policies.edit.page.success.content": "Operation successful", + + // "resource-policies.edit.page.title": "Edit resource policy", + // TODO New key - Add a translation + "resource-policies.edit.page.title": "Edit resource policy", + + // "resource-policies.form.action-type.label": "Select the action type", + // TODO New key - Add a translation + "resource-policies.form.action-type.label": "Select the action type", + + // "resource-policies.form.action-type.required": "You must select the resource policy action.", + // TODO New key - Add a translation + "resource-policies.form.action-type.required": "You must select the resource policy action.", + + // "resource-policies.form.eperson-group-list.label": "The eperson or group that will be granted the permission", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.label": "The eperson or group that will be granted the permission", + + // "resource-policies.form.eperson-group-list.select.btn": "Select", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.select.btn": "Select", + + // "resource-policies.form.eperson-group-list.tab.eperson": "Search for a ePerson", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.tab.eperson": "Search for a ePerson", + + // "resource-policies.form.eperson-group-list.tab.group": "Search for a group", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.tab.group": "Search for a group", + + // "resource-policies.form.eperson-group-list.table.headers.action": "Action", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.table.headers.action": "Action", + + // "resource-policies.form.eperson-group-list.table.headers.id": "ID", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.table.headers.id": "ID", + + // "resource-policies.form.eperson-group-list.table.headers.name": "Name", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.table.headers.name": "Name", + + // "resource-policies.form.date.end.label": "End Date", + // TODO New key - Add a translation + "resource-policies.form.date.end.label": "End Date", + + // "resource-policies.form.date.start.label": "Start Date", + // TODO New key - Add a translation + "resource-policies.form.date.start.label": "Start Date", + + // "resource-policies.form.description.label": "Description", + // TODO New key - Add a translation + "resource-policies.form.description.label": "Description", + + // "resource-policies.form.name.label": "Name", + // TODO New key - Add a translation + "resource-policies.form.name.label": "Name", + + // "resource-policies.form.policy-type.label": "Select the policy type", + // TODO New key - Add a translation + "resource-policies.form.policy-type.label": "Select the policy type", + + // "resource-policies.form.policy-type.required": "You must select the resource policy type.", + // TODO New key - Add a translation + "resource-policies.form.policy-type.required": "You must select the resource policy type.", + + // "resource-policies.table.headers.action": "Action", + // TODO New key - Add a translation + "resource-policies.table.headers.action": "Action", + + // "resource-policies.table.headers.date.end": "End Date", + // TODO New key - Add a translation + "resource-policies.table.headers.date.end": "End Date", + + // "resource-policies.table.headers.date.start": "Start Date", + // TODO New key - Add a translation + "resource-policies.table.headers.date.start": "Start Date", + + // "resource-policies.table.headers.edit": "Edit", + // TODO New key - Add a translation + "resource-policies.table.headers.edit": "Edit", + + // "resource-policies.table.headers.edit.group": "Edit group", + // TODO New key - Add a translation + "resource-policies.table.headers.edit.group": "Edit group", + + // "resource-policies.table.headers.edit.policy": "Edit policy", + // TODO New key - Add a translation + "resource-policies.table.headers.edit.policy": "Edit policy", + + // "resource-policies.table.headers.eperson": "EPerson", + // TODO New key - Add a translation + "resource-policies.table.headers.eperson": "EPerson", + + // "resource-policies.table.headers.group": "Group", + // TODO New key - Add a translation + "resource-policies.table.headers.group": "Group", + + // "resource-policies.table.headers.id": "ID", + // TODO New key - Add a translation + "resource-policies.table.headers.id": "ID", + + // "resource-policies.table.headers.name": "Name", + // TODO New key - Add a translation + "resource-policies.table.headers.name": "Name", + + // "resource-policies.table.headers.policyType": "type", + // TODO New key - Add a translation + "resource-policies.table.headers.policyType": "type", + + // "resource-policies.table.headers.title.for.bitstream": "Policies for Bitstream", + // TODO New key - Add a translation + "resource-policies.table.headers.title.for.bitstream": "Policies for Bitstream", + + // "resource-policies.table.headers.title.for.bundle": "Policies for Bundle", + // TODO New key - Add a translation + "resource-policies.table.headers.title.for.bundle": "Policies for Bundle", + + // "resource-policies.table.headers.title.for.item": "Policies for Item", + // TODO New key - Add a translation + "resource-policies.table.headers.title.for.item": "Policies for Item", + + // "resource-policies.table.headers.title.for.community": "Policies for Community", + // TODO New key - Add a translation + "resource-policies.table.headers.title.for.community": "Policies for Community", + + // "resource-policies.table.headers.title.for.collection": "Policies for Collection", + // TODO New key - Add a translation + "resource-policies.table.headers.title.for.collection": "Policies for Collection", + + + + // "search.description": "", + "search.description": "", + + // "search.switch-configuration.title": "Show", + "search.switch-configuration.title": "Mostrar", + + // "search.title": "DSpace Angular :: Search", + "search.title": "DSpace Angular :: Busca", + + // "search.breadcrumbs": "Search", + // TODO New key - Add a translation + "search.breadcrumbs": "Search", + + + // "search.filters.applied.f.author": "Author", + "search.filters.applied.f.author": "Autor", + + // "search.filters.applied.f.dateIssued.max": "End date", + "search.filters.applied.f.dateIssued.max": "Data final", + + // "search.filters.applied.f.dateIssued.min": "Start date", + "search.filters.applied.f.dateIssued.min": "Data inicial", + + // "search.filters.applied.f.dateSubmitted": "Date submitted", + "search.filters.applied.f.dateSubmitted": "Data de submissão", + + // "search.filters.applied.f.discoverable": "Private", + // TODO New key - Add a translation + "search.filters.applied.f.discoverable": "Private", + + // "search.filters.applied.f.entityType": "Item Type", + "search.filters.applied.f.entityType": "Tipo de Item", + + // "search.filters.applied.f.has_content_in_original_bundle": "Has files", + "search.filters.applied.f.has_content_in_original_bundle": "Tem arquivos", + + // "search.filters.applied.f.itemtype": "Type", + "search.filters.applied.f.itemtype": "Tipo", + + // "search.filters.applied.f.namedresourcetype": "Status", + "search.filters.applied.f.namedresourcetype": "Estado", + + // "search.filters.applied.f.subject": "Subject", + "search.filters.applied.f.subject": "Assunto", + + // "search.filters.applied.f.submitter": "Submitter", + "search.filters.applied.f.submitter": "Submetedor", + + // "search.filters.applied.f.jobTitle": "Job Title", + // TODO New key - Add a translation + "search.filters.applied.f.jobTitle": "Job Title", + + // "search.filters.applied.f.birthDate.max": "End birth date", + // TODO New key - Add a translation + "search.filters.applied.f.birthDate.max": "End birth date", + + // "search.filters.applied.f.birthDate.min": "Start birth date", + // TODO New key - Add a translation + "search.filters.applied.f.birthDate.min": "Start birth date", + + // "search.filters.applied.f.withdrawn": "Withdrawn", + // TODO New key - Add a translation + "search.filters.applied.f.withdrawn": "Withdrawn", + + + + // "search.filters.filter.author.head": "Author", + "search.filters.filter.author.head": "Autor", + + // "search.filters.filter.author.placeholder": "Author name", + "search.filters.filter.author.placeholder": "Nome do autor", + + // "search.filters.filter.birthDate.head": "Birth Date", + "search.filters.filter.birthDate.head": "Data de nascimento", + + // "search.filters.filter.birthDate.placeholder": "Birth Date", + "search.filters.filter.birthDate.placeholder": "Data de nascimento", + + // "search.filters.filter.creativeDatePublished.head": "Date Published", + "search.filters.filter.creativeDatePublished.head": "Data de publicação", + + // "search.filters.filter.creativeDatePublished.placeholder": "Date Published", + "search.filters.filter.creativeDatePublished.placeholder": "Data de publicação", + + // "search.filters.filter.creativeWorkEditor.head": "Editor", + "search.filters.filter.creativeWorkEditor.head": "Editor", + + // "search.filters.filter.creativeWorkEditor.placeholder": "Editor", + "search.filters.filter.creativeWorkEditor.placeholder": "Editor", + + // "search.filters.filter.creativeWorkKeywords.head": "Subject", + "search.filters.filter.creativeWorkKeywords.head": "Assunto", + + // "search.filters.filter.creativeWorkKeywords.placeholder": "Subject", + "search.filters.filter.creativeWorkKeywords.placeholder": "Assunto", + + // "search.filters.filter.creativeWorkPublisher.head": "Publisher", + "search.filters.filter.creativeWorkPublisher.head": "Editora", + + // "search.filters.filter.creativeWorkPublisher.placeholder": "Publisher", + "search.filters.filter.creativeWorkPublisher.placeholder": "Editora", + + // "search.filters.filter.dateIssued.head": "Date", + "search.filters.filter.dateIssued.head": "Data", + + // "search.filters.filter.dateIssued.max.placeholder": "Minimum Date", + "search.filters.filter.dateIssued.max.placeholder": "Data Mínima", + + // "search.filters.filter.dateIssued.min.placeholder": "Maximum Date", + "search.filters.filter.dateIssued.min.placeholder": "Data Máxima", + + // "search.filters.filter.dateSubmitted.head": "Date submitted", + "search.filters.filter.dateSubmitted.head": "Data de submissão", + + // "search.filters.filter.dateSubmitted.placeholder": "Date submitted", + "search.filters.filter.dateSubmitted.placeholder": "Data de submissão", + + // "search.filters.filter.discoverable.head": "Private", + // TODO New key - Add a translation + "search.filters.filter.discoverable.head": "Private", + + // "search.filters.filter.withdrawn.head": "Withdrawn", + // TODO New key - Add a translation + "search.filters.filter.withdrawn.head": "Withdrawn", + + // "search.filters.filter.entityType.head": "Item Type", + "search.filters.filter.entityType.head": "Tipo de Item", + + // "search.filters.filter.entityType.placeholder": "Item Type", + "search.filters.filter.entityType.placeholder": "Tipo de Item", + + // "search.filters.filter.has_content_in_original_bundle.head": "Has files", + "search.filters.filter.has_content_in_original_bundle.head": "Tem arquivos", + + // "search.filters.filter.itemtype.head": "Type", + "search.filters.filter.itemtype.head": "Tipo", + + // "search.filters.filter.itemtype.placeholder": "Type", + "search.filters.filter.itemtype.placeholder": "Tipo", + + // "search.filters.filter.jobTitle.head": "Job Title", + "search.filters.filter.jobTitle.head": "Cargo", + + // "search.filters.filter.jobTitle.placeholder": "Job Title", + "search.filters.filter.jobTitle.placeholder": "Cargo", + + // "search.filters.filter.knowsLanguage.head": "Known language", + "search.filters.filter.knowsLanguage.head": "Idioma conhecido", + + // "search.filters.filter.knowsLanguage.placeholder": "Known language", + "search.filters.filter.knowsLanguage.placeholder": "Idioma conhecido", + + // "search.filters.filter.namedresourcetype.head": "Status", + "search.filters.filter.namedresourcetype.head": "Estado", + + // "search.filters.filter.namedresourcetype.placeholder": "Status", + "search.filters.filter.namedresourcetype.placeholder": "Estado", + + // "search.filters.filter.objectpeople.head": "People", + "search.filters.filter.objectpeople.head": "Pessoas", + + // "search.filters.filter.objectpeople.placeholder": "People", + "search.filters.filter.objectpeople.placeholder": "Pessoas", + + // "search.filters.filter.organizationAddressCountry.head": "Country", + "search.filters.filter.organizationAddressCountry.head": "País", + + // "search.filters.filter.organizationAddressCountry.placeholder": "Country", + "search.filters.filter.organizationAddressCountry.placeholder": "País", + + // "search.filters.filter.organizationAddressLocality.head": "City", + "search.filters.filter.organizationAddressLocality.head": "Cidade", + + // "search.filters.filter.organizationAddressLocality.placeholder": "City", + "search.filters.filter.organizationAddressLocality.placeholder": "Cidade", + + // "search.filters.filter.organizationFoundingDate.head": "Date Founded", + "search.filters.filter.organizationFoundingDate.head": "Data de Fundação", + + // "search.filters.filter.organizationFoundingDate.placeholder": "Date Founded", + "search.filters.filter.organizationFoundingDate.placeholder": "Data de Fundação", + + // "search.filters.filter.scope.head": "Scope", + "search.filters.filter.scope.head": "Escopo", + + // "search.filters.filter.scope.placeholder": "Scope filter", + "search.filters.filter.scope.placeholder": "Filtrar escopo", + + // "search.filters.filter.show-less": "Collapse", + "search.filters.filter.show-less": "Mostrar menos", + + // "search.filters.filter.show-more": "Show more", + "search.filters.filter.show-more": "Mostrar mais", + + // "search.filters.filter.subject.head": "Subject", + "search.filters.filter.subject.head": "Assunto", + + // "search.filters.filter.subject.placeholder": "Subject", + "search.filters.filter.subject.placeholder": "Assunto", + + // "search.filters.filter.submitter.head": "Submitter", + "search.filters.filter.submitter.head": "Submetedor", + + // "search.filters.filter.submitter.placeholder": "Submitter", + "search.filters.filter.submitter.placeholder": "Submetedor", + + + + // "search.filters.entityType.JournalIssue": "Journal Issue", + // TODO New key - Add a translation + "search.filters.entityType.JournalIssue": "Journal Issue", + + // "search.filters.entityType.JournalVolume": "Journal Volume", + // TODO New key - Add a translation + "search.filters.entityType.JournalVolume": "Journal Volume", + + // "search.filters.entityType.OrgUnit": "Organizational Unit", + "search.filters.entityType.OrgUnit": "Unidade Organizacional", + + // "search.filters.has_content_in_original_bundle.true": "Yes", + "search.filters.has_content_in_original_bundle.true": "Sim", + + // "search.filters.has_content_in_original_bundle.false": "No", + "search.filters.has_content_in_original_bundle.false": "Não", + + // "search.filters.discoverable.true": "No", + "search.filters.discoverable.true": "Não", + + // "search.filters.discoverable.false": "Yes", + "search.filters.discoverable.false": "Sim", + + // "search.filters.withdrawn.true": "Yes", + "search.filters.withdrawn.true": "Sim", + + // "search.filters.withdrawn.false": "No", + "search.filters.withdrawn.false": "Não", + + + // "search.filters.head": "Filters", + "search.filters.head": "Filtros", + + // "search.filters.reset": "Reset filters", + "search.filters.reset": "Limpar filtros", + + + + // "search.form.search": "Search", + "search.form.search": "Buscar", + + // "search.form.search_dspace": "Search DSpace", + "search.form.search_dspace": "Buscar no DSpace", + + // "search.form.search_mydspace": "Search MyDSpace", + "search.form.search_mydspace": "Buscar no MyDSpace", + + + + // "search.results.head": "Search Results", + "search.results.head": "Resultados de Busca", + + // "search.results.no-results": "Your search returned no results. Having trouble finding what you're looking for? Try putting", + "search.results.no-results": "Sua busca não trouxe resultados. Tendo problema em localizar o que está buscando? Tente", + + // "search.results.no-results-link": "quotes around it", + "search.results.no-results-link": "envolver entre aspas", + + // "search.results.empty": "Your search returned no results.", + "search.results.empty": "Sua pesquisa não retornou resultados.", + + + + // "search.sidebar.close": "Back to results", + "search.sidebar.close": "Voltar para os resultados", + + // "search.sidebar.filters.title": "Filters", + "search.sidebar.filters.title": "Filtros", + + // "search.sidebar.open": "Search Tools", + "search.sidebar.open": "Ferramentas de busca", + + // "search.sidebar.results": "results", + "search.sidebar.results": "resultados", + + // "search.sidebar.settings.rpp": "Results per page", + "search.sidebar.settings.rpp": "Resultados por página", + + // "search.sidebar.settings.sort-by": "Sort By", + "search.sidebar.settings.sort-by": "Ordenar por", + + // "search.sidebar.settings.title": "Settings", + "search.sidebar.settings.title": "Configurações", + + + + // "search.view-switch.show-detail": "Show detail", + "search.view-switch.show-detail": "Mostrar detalhes", + + // "search.view-switch.show-grid": "Show as grid", + "search.view-switch.show-grid": "Mostrar como grade", + + // "search.view-switch.show-list": "Show as list", + "search.view-switch.show-list": "Mostrar como lista", + + + + // "sorting.ASC": "Ascending", + // TODO New key - Add a translation + "sorting.ASC": "Ascending", + + // "sorting.DESC": "Descending", + // TODO New key - Add a translation + "sorting.DESC": "Descending", + + // "sorting.dc.title.ASC": "Title Ascending", + "sorting.dc.title.ASC": "Título Ascendente", + + // "sorting.dc.title.DESC": "Title Descending", + "sorting.dc.title.DESC": "Título Descendente", + + // "sorting.score.DESC": "Relevance", + "sorting.score.DESC": "Relevância", + + + + // "statistics.title": "Statistics", + // TODO New key - Add a translation + "statistics.title": "Statistics", + + // "statistics.header": "Statistics for {{ scope }}", + // TODO New key - Add a translation + "statistics.header": "Statistics for {{ scope }}", + + // "statistics.breadcrumbs": "Statistics", + // TODO New key - Add a translation + "statistics.breadcrumbs": "Statistics", + + // "statistics.page.no-data": "No data available", + // TODO New key - Add a translation + "statistics.page.no-data": "No data available", + + // "statistics.table.no-data": "No data available", + // TODO New key - Add a translation + "statistics.table.no-data": "No data available", + + // "statistics.table.title.TotalVisits": "Total visits", + // TODO New key - Add a translation + "statistics.table.title.TotalVisits": "Total visits", + + // "statistics.table.title.TotalVisitsPerMonth": "Total visits per month", + // TODO New key - Add a translation + "statistics.table.title.TotalVisitsPerMonth": "Total visits per month", + + // "statistics.table.title.TotalDownloads": "File Visits", + // TODO New key - Add a translation + "statistics.table.title.TotalDownloads": "File Visits", + + // "statistics.table.title.TopCountries": "Top country views", + // TODO New key - Add a translation + "statistics.table.title.TopCountries": "Top country views", + + // "statistics.table.title.TopCities": "Top city views", + // TODO New key - Add a translation + "statistics.table.title.TopCities": "Top city views", + + // "statistics.table.header.views": "Views", + // TODO New key - Add a translation + "statistics.table.header.views": "Views", + + + + // "submission.edit.title": "Edit Submission", + "submission.edit.title": "Editar Submissão", + + // "submission.general.cannot_submit": "You have not the privilege to make a new submission.", + "submission.general.cannot_submit": "Você mão tem privilégios para fazer uma nova submissão.", + + // "submission.general.deposit": "Deposit", + "submission.general.deposit": "Depositar", + + // "submission.general.discard.confirm.cancel": "Cancel", + "submission.general.discard.confirm.cancel": "Cancelar", + + // "submission.general.discard.confirm.info": "This operation can't be undone. Are you sure?", + "submission.general.discard.confirm.info": "Esta operação não pode ser desfeita. Tem certeza?", + + // "submission.general.discard.confirm.submit": "Yes, I'm sure", + "submission.general.discard.confirm.submit": "Sim, tenho certeza", + + // "submission.general.discard.confirm.title": "Discard submission", + "submission.general.discard.confirm.title": "Descartar submissão", + + // "submission.general.discard.submit": "Discard", + "submission.general.discard.submit": "Descartar", + + // "submission.general.save": "Save", + "submission.general.save": "Salvar", + + // "submission.general.save-later": "Save for later", + "submission.general.save-later": "Salvar para continuar depois", + + + // "submission.import-external.page.title": "Import metadata from an external source", + // TODO New key - Add a translation + "submission.import-external.page.title": "Import metadata from an external source", + + // "submission.import-external.title": "Import metadata from an external source", + // TODO New key - Add a translation + "submission.import-external.title": "Import metadata from an external source", + + // "submission.import-external.page.hint": "Enter a query above to find items from the web to import in to DSpace.", + // TODO New key - Add a translation + "submission.import-external.page.hint": "Enter a query above to find items from the web to import in to DSpace.", + + // "submission.import-external.back-to-my-dspace": "Back to MyDSpace", + // TODO New key - Add a translation + "submission.import-external.back-to-my-dspace": "Back to MyDSpace", + + // "submission.import-external.search.placeholder": "Search the external source", + // TODO New key - Add a translation + "submission.import-external.search.placeholder": "Search the external source", + + // "submission.import-external.search.button": "Search", + // TODO New key - Add a translation + "submission.import-external.search.button": "Search", + + // "submission.import-external.search.button.hint": "Write some words to search", + // TODO New key - Add a translation + "submission.import-external.search.button.hint": "Write some words to search", + + // "submission.import-external.search.source.hint": "Pick an external source", + // TODO New key - Add a translation + "submission.import-external.search.source.hint": "Pick an external source", + + // "submission.import-external.source.arxiv": "arXiv", + // TODO New key - Add a translation + "submission.import-external.source.arxiv": "arXiv", + + // "submission.import-external.source.loading": "Loading ...", + // TODO New key - Add a translation + "submission.import-external.source.loading": "Loading ...", + + // "submission.import-external.source.sherpaJournal": "SHERPA Journals", + // TODO New key - Add a translation + "submission.import-external.source.sherpaJournal": "SHERPA Journals", + + // "submission.import-external.source.sherpaPublisher": "SHERPA Publishers", + // TODO New key - Add a translation + "submission.import-external.source.sherpaPublisher": "SHERPA Publishers", + + // "submission.import-external.source.orcid": "ORCID", + // TODO New key - Add a translation + "submission.import-external.source.orcid": "ORCID", + + // "submission.import-external.source.pubmed": "Pubmed", + // TODO New key - Add a translation + "submission.import-external.source.pubmed": "Pubmed", + + // "submission.import-external.source.lcname": "Library of Congress Names", + // TODO New key - Add a translation + "submission.import-external.source.lcname": "Library of Congress Names", + + // "submission.import-external.preview.title": "Item Preview", + // TODO New key - Add a translation + "submission.import-external.preview.title": "Item Preview", + + // "submission.import-external.preview.subtitle": "The metadata below was imported from an external source. It will be pre-filled when you start the submission.", + // TODO New key - Add a translation + "submission.import-external.preview.subtitle": "The metadata below was imported from an external source. It will be pre-filled when you start the submission.", + + // "submission.import-external.preview.button.import": "Start submission", + // TODO New key - Add a translation + "submission.import-external.preview.button.import": "Start submission", + + // "submission.import-external.preview.error.import.title": "Submission error", + // TODO New key - Add a translation + "submission.import-external.preview.error.import.title": "Submission error", + + // "submission.import-external.preview.error.import.body": "An error occurs during the external source entry import process.", + // TODO New key - Add a translation + "submission.import-external.preview.error.import.body": "An error occurs during the external source entry import process.", + + // "submission.sections.describe.relationship-lookup.close": "Close", + "submission.sections.describe.relationship-lookup.close": "Fechar", + + // "submission.sections.describe.relationship-lookup.external-source.added": "Successfully added local entry to the selection", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.added": "Successfully added local entry to the selection", + + // "submission.sections.describe.relationship-lookup.external-source.import-button-title.isAuthorOfPublication": "Import remote author", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-button-title.isAuthorOfPublication": "Import remote author", + + // "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal": "Import remote journal", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal": "Import remote journal", + + // "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal Issue": "Import remote journal issue", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal Issue": "Import remote journal issue", + + // "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal Volume": "Import remote journal volume", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal Volume": "Import remote journal volume", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.title": "Import Remote Author", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.title": "Import Remote Author", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.added.local-entity": "Successfully added local author to the selection", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.added.local-entity": "Successfully added local author to the selection", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.added.new-entity": "Successfully imported and added external author to the selection", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.added.new-entity": "Successfully imported and added external author to the selection", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.authority": "Authority", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.authority": "Authority", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.authority.new": "Import as a new local authority entry", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.authority.new": "Import as a new local authority entry", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.cancel": "Cancel", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.cancel": "Cancel", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.collection": "Select a collection to import new entries to", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.collection": "Select a collection to import new entries to", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.entities": "Entities", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.entities": "Entities", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.entities.new": "Import as a new local entity", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.entities.new": "Import as a new local entity", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.lcname": "Importing from LC Name", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.head.lcname": "Importing from LC Name", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.orcid": "Importing from ORCID", + "submission.sections.describe.relationship-lookup.external-source.import-modal.head.orcid": "Importando do ORCID", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.sherpaJournal": "Importing from Sherpa Journal", + "submission.sections.describe.relationship-lookup.external-source.import-modal.head.sherpaJournal": "Importando do Sherpa Journal", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.sherpaPublisher": "Importing from Sherpa Publisher", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.head.sherpaPublisher": "Importing from Sherpa Publisher", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.pubmed": "Importing from PubMed", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.head.pubmed": "Importing from PubMed", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.arxiv": "Importing from arXiv", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.head.arxiv": "Importing from arXiv", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.import": "Import", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.import": "Import", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal.title": "Import Remote Journal", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal.title": "Import Remote Journal", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal.added.local-entity": "Successfully added local journal to the selection", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal.added.local-entity": "Successfully added local journal to the selection", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal.added.new-entity": "Successfully imported and added external journal to the selection", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal.added.new-entity": "Successfully imported and added external journal to the selection", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Issue.title": "Import Remote Journal Issue", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Issue.title": "Import Remote Journal Issue", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Issue.added.local-entity": "Successfully added local journal issue to the selection", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Issue.added.local-entity": "Successfully added local journal issue to the selection", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Issue.added.new-entity": "Successfully imported and added external journal issue to the selection", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Issue.added.new-entity": "Successfully imported and added external journal issue to the selection", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Volume.title": "Import Remote Journal Volume", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Volume.title": "Import Remote Journal Volume", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Volume.added.local-entity": "Successfully added local journal volume to the selection", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Volume.added.local-entity": "Successfully added local journal volume to the selection", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Volume.added.new-entity": "Successfully imported and added external journal volume to the selection", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Volume.added.new-entity": "Successfully imported and added external journal volume to the selection", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.select": "Select a local match:", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.select": "Select a local match:", + + // "submission.sections.describe.relationship-lookup.search-tab.deselect-all": "Deselect all", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.deselect-all": "Deselect all", + + // "submission.sections.describe.relationship-lookup.search-tab.deselect-page": "Deselect page", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.deselect-page": "Deselect page", + + // "submission.sections.describe.relationship-lookup.search-tab.loading": "Loading...", + "submission.sections.describe.relationship-lookup.search-tab.loading": "Carregando...", + + // "submission.sections.describe.relationship-lookup.search-tab.placeholder": "Search query", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.placeholder": "Search query", + + // "submission.sections.describe.relationship-lookup.search-tab.search": "Go", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.search": "Go", + + // "submission.sections.describe.relationship-lookup.search-tab.select-all": "Select all", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.select-all": "Select all", + + // "submission.sections.describe.relationship-lookup.search-tab.select-page": "Select page", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.select-page": "Select page", + + // "submission.sections.describe.relationship-lookup.selected": "Selected {{ size }} items", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selected": "Selected {{ size }} items", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isAuthorOfPublication": "Local Authors ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isAuthorOfPublication": "Local Authors ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalOfPublication": "Local Journals ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalOfPublication": "Local Journals ({{ count }})", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Project": "Local Projects ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.Project": "Local Projects ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Publication": "Local Publications ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.Publication": "Local Publications ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Person": "Local Authors ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.Person": "Local Authors ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.OrgUnit": "Local Organizational Units ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.OrgUnit": "Local Organizational Units ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.DataPackage": "Local Data Packages ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.DataPackage": "Local Data Packages ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.DataFile": "Local Data Files ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.DataFile": "Local Data Files ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal": "Local Journals ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal": "Local Journals ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalIssueOfPublication": "Local Journal Issues ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalIssueOfPublication": "Local Journal Issues ({{ count }})", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.JournalIssue": "Local Journal Issues ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.JournalIssue": "Local Journal Issues ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalVolumeOfPublication": "Local Journal Volumes ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalVolumeOfPublication": "Local Journal Volumes ({{ count }})", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.JournalVolume": "Local Journal Volumes ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.JournalVolume": "Local Journal Volumes ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaJournal": "Sherpa Journals ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaJournal": "Sherpa Journals ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaPublisher": "Sherpa Publishers ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaPublisher": "Sherpa Publishers ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.orcid": "ORCID ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.orcid": "ORCID ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.lcname": "LC Names ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.lcname": "LC Names ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.pubmed": "PubMed ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.pubmed": "PubMed ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.arxiv": "arXiv ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.arxiv": "arXiv ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingAgencyOfPublication": "Search for Funding Agencies", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingAgencyOfPublication": "Search for Funding Agencies", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingOfPublication": "Search for Funding", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingOfPublication": "Search for Funding", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isChildOrgUnitOf": "Search for Organizational Units", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isChildOrgUnitOf": "Search for Organizational Units", + + // "submission.sections.describe.relationship-lookup.selection-tab.tab-title": "Current Selection ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.tab-title": "Current Selection ({{ count }})", + + // "submission.sections.describe.relationship-lookup.title.isJournalIssueOfPublication": "Journal Issues", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.isJournalIssueOfPublication": "Journal Issues", + // "submission.sections.describe.relationship-lookup.title.JournalIssue": "Journal Issues", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.JournalIssue": "Journal Issues", + + // "submission.sections.describe.relationship-lookup.title.isJournalVolumeOfPublication": "Journal Volumes", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.isJournalVolumeOfPublication": "Journal Volumes", + // "submission.sections.describe.relationship-lookup.title.JournalVolume": "Journal Volumes", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.JournalVolume": "Journal Volumes", + + // "submission.sections.describe.relationship-lookup.title.isJournalOfPublication": "Journals", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.isJournalOfPublication": "Journals", + + // "submission.sections.describe.relationship-lookup.title.isAuthorOfPublication": "Authors", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.isAuthorOfPublication": "Authors", + + // "submission.sections.describe.relationship-lookup.title.isFundingAgencyOfPublication": "Funding Agency", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.isFundingAgencyOfPublication": "Funding Agency", + // "submission.sections.describe.relationship-lookup.title.Project": "Projects", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.Project": "Projects", + + // "submission.sections.describe.relationship-lookup.title.Publication": "Publications", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.Publication": "Publications", + + // "submission.sections.describe.relationship-lookup.title.Person": "Authors", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.Person": "Authors", + + // "submission.sections.describe.relationship-lookup.title.OrgUnit": "Organizational Units", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.OrgUnit": "Organizational Units", + + // "submission.sections.describe.relationship-lookup.title.DataPackage": "Data Packages", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.DataPackage": "Data Packages", + + // "submission.sections.describe.relationship-lookup.title.DataFile": "Data Files", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.DataFile": "Data Files", + + // "submission.sections.describe.relationship-lookup.title.Funding Agency": "Funding Agency", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.Funding Agency": "Funding Agency", + + // "submission.sections.describe.relationship-lookup.title.isFundingOfPublication": "Funding", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.isFundingOfPublication": "Funding", + + // "submission.sections.describe.relationship-lookup.title.isChildOrgUnitOf": "Parent Organizational Unit", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.isChildOrgUnitOf": "Parent Organizational Unit", + + // "submission.sections.describe.relationship-lookup.search-tab.toggle-dropdown": "Toggle dropdown", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.toggle-dropdown": "Toggle dropdown", + + // "submission.sections.describe.relationship-lookup.selection-tab.settings": "Settings", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.settings": "Settings", + + // "submission.sections.describe.relationship-lookup.selection-tab.no-selection": "Your selection is currently empty.", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.no-selection": "Your selection is currently empty.", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isAuthorOfPublication": "Selected Authors", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.isAuthorOfPublication": "Selected Authors", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalOfPublication": "Selected Journals", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalOfPublication": "Selected Journals", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalVolumeOfPublication": "Selected Journal Volume", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalVolumeOfPublication": "Selected Journal Volume", + // "submission.sections.describe.relationship-lookup.selection-tab.title.Project": "Selected Projects", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.Project": "Selected Projects", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.Publication": "Selected Publications", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.Publication": "Selected Publications", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.Person": "Selected Authors", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.Person": "Selected Authors", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.OrgUnit": "Selected Organizational Units", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.OrgUnit": "Selected Organizational Units", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.DataPackage": "Selected Data Packages", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.DataPackage": "Selected Data Packages", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.DataFile": "Selected Data Files", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.DataFile": "Selected Data Files", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.Journal": "Selected Journals", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.Journal": "Selected Journals", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalIssueOfPublication": "Selected Issue", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalIssueOfPublication": "Selected Issue", + // "submission.sections.describe.relationship-lookup.selection-tab.title.JournalVolume": "Selected Journal Volume", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.JournalVolume": "Selected Journal Volume", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingAgencyOfPublication": "Selected Funding Agency", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingAgencyOfPublication": "Selected Funding Agency", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingOfPublication": "Selected Funding", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingOfPublication": "Selected Funding", + // "submission.sections.describe.relationship-lookup.selection-tab.title.JournalIssue": "Selected Issue", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.JournalIssue": "Selected Issue", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isChildOrgUnitOf": "Selected Organizational Unit", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.isChildOrgUnitOf": "Selected Organizational Unit", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.sherpaJournal": "Search Results", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.sherpaJournal": "Search Results", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.sherpaPublisher": "Search Results", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.sherpaPublisher": "Search Results", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.orcid": "Search Results", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.orcid": "Search Results", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.orcidv2": "Search Results", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.orcidv2": "Search Results", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.lcname": "Search Results", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.lcname": "Search Results", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.pubmed": "Search Results", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.pubmed": "Search Results", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.arxiv": "Search Results", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.arxiv": "Search Results", + + // "submission.sections.describe.relationship-lookup.name-variant.notification.content": "Would you like to save \"{{ value }}\" as a name variant for this person so you and others can reuse it for future submissions? If you don\'t you can still use it for this submission.", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.name-variant.notification.content": "Would you like to save \"{{ value }}\" as a name variant for this person so you and others can reuse it for future submissions? If you don\'t you can still use it for this submission.", + + // "submission.sections.describe.relationship-lookup.name-variant.notification.confirm": "Save a new name variant", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.name-variant.notification.confirm": "Save a new name variant", + + // "submission.sections.describe.relationship-lookup.name-variant.notification.decline": "Use only for this submission", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.name-variant.notification.decline": "Use only for this submission", + + // "submission.sections.ccLicense.type": "License Type", + // TODO New key - Add a translation + "submission.sections.ccLicense.type": "License Type", + + // "submission.sections.ccLicense.select": "Select a license type…", + // TODO New key - Add a translation + "submission.sections.ccLicense.select": "Select a license type…", + + // "submission.sections.ccLicense.change": "Change your license type…", + // TODO New key - Add a translation + "submission.sections.ccLicense.change": "Change your license type…", + + // "submission.sections.ccLicense.none": "No licenses available", + // TODO New key - Add a translation + "submission.sections.ccLicense.none": "No licenses available", + + // "submission.sections.ccLicense.option.select": "Select an option…", + // TODO New key - Add a translation + "submission.sections.ccLicense.option.select": "Select an option…", + + // "submission.sections.ccLicense.link": "You’ve selected the following license:", + // TODO New key - Add a translation + "submission.sections.ccLicense.link": "You’ve selected the following license:", + + // "submission.sections.ccLicense.confirmation": "I grant the license above", + // TODO New key - Add a translation + "submission.sections.ccLicense.confirmation": "I grant the license above", + + // "submission.sections.general.add-more": "Add more", + "submission.sections.general.add-more": "Adicionar mais", + + // "submission.sections.general.collection": "Collection", + "submission.sections.general.collection": "Coleção", + + // "submission.sections.general.deposit_error_notice": "There was an issue when submitting the item, please try again later.", + "submission.sections.general.deposit_error_notice": "Houve um problema durante a submissão do item, por favor tente novamente mais tarde.", + + // "submission.sections.general.deposit_success_notice": "Submission deposited successfully.", + "submission.sections.general.deposit_success_notice": "Submissão depositada com sucesso.", + + // "submission.sections.general.discard_error_notice": "There was an issue when discarding the item, please try again later.", + "submission.sections.general.discard_error_notice": "Houve um problema ao descartar o item, por favor tente novamente mais tarde.", + + // "submission.sections.general.discard_success_notice": "Submission discarded successfully.", + "submission.sections.general.discard_success_notice": "Submissão descartada com sucesso.", + + // "submission.sections.general.metadata-extracted": "New metadata have been extracted and added to the {{sectionId}} section.", + "submission.sections.general.metadata-extracted": "Novos metadados foram extraídos e adicionados a seção {{sectionId}}.", + + // "submission.sections.general.metadata-extracted-new-section": "New {{sectionId}} section has been added to submission.", + "submission.sections.general.metadata-extracted-new-section": "Nova seção {{sectionId}} foi adicionada a dubmissão.", + + // "submission.sections.general.no-collection": "No collection found", + "submission.sections.general.no-collection": "Nenhuma coleção encontrada", + + // "submission.sections.general.no-sections": "No options available", + "submission.sections.general.no-sections": "Sem opções disponíveis", + + // "submission.sections.general.save_error_notice": "There was an issue when saving the item, please try again later.", + "submission.sections.general.save_error_notice": "Houve um problema ao salvar o item, por favor tente novamente mais tarde.", + + // "submission.sections.general.save_success_notice": "Submission saved successfully.", + "submission.sections.general.save_success_notice": "Submissão salva com sucesso.", + + // "submission.sections.general.search-collection": "Search for a collection", + "submission.sections.general.search-collection": "Buscar uma coleção", + + // "submission.sections.general.sections_not_valid": "There are incomplete sections.", + "submission.sections.general.sections_not_valid": "Há seções incompletas.", + + + + // "submission.sections.submit.progressbar.CClicense": "Creative commons license", + // TODO New key - Add a translation + "submission.sections.submit.progressbar.CClicense": "Creative commons license", + + // "submission.sections.submit.progressbar.describe.recycle": "Recycle", + "submission.sections.submit.progressbar.describe.recycle": "Reciclar", + + // "submission.sections.submit.progressbar.describe.stepcustom": "Describe", + "submission.sections.submit.progressbar.describe.stepcustom": "Descrever", + + // "submission.sections.submit.progressbar.describe.stepone": "Describe", + "submission.sections.submit.progressbar.describe.stepone": "Descrever", + + // "submission.sections.submit.progressbar.describe.steptwo": "Describe", + "submission.sections.submit.progressbar.describe.steptwo": "Descrever", + + // "submission.sections.submit.progressbar.detect-duplicate": "Potential duplicates", + "submission.sections.submit.progressbar.detect-duplicate": "Duplicados em potencial", + + // "submission.sections.submit.progressbar.license": "Deposit license", + "submission.sections.submit.progressbar.license": "Depositar licença", + + // "submission.sections.submit.progressbar.upload": "Upload files", + "submission.sections.submit.progressbar.upload": "Enviar arquivos", + + + + // "submission.sections.upload.delete.confirm.cancel": "Cancel", + "submission.sections.upload.delete.confirm.cancel": "Cancelar", + + // "submission.sections.upload.delete.confirm.info": "This operation can't be undone. Are you sure?", + "submission.sections.upload.delete.confirm.info": "Esta operação é irreversível. Tem certeza?", + + // "submission.sections.upload.delete.confirm.submit": "Yes, I'm sure", + "submission.sections.upload.delete.confirm.submit": "Sim, tenho certeza", + + // "submission.sections.upload.delete.confirm.title": "Delete bitstream", + "submission.sections.upload.delete.confirm.title": "Remover bitstream", + + // "submission.sections.upload.delete.submit": "Delete", + "submission.sections.upload.delete.submit": "Remover", + + // "submission.sections.upload.drop-message": "Drop files to attach them to the item", + "submission.sections.upload.drop-message": "Arraste arquivos para anexá-los ao item", + + // "submission.sections.upload.form.access-condition-label": "Access condition type", + "submission.sections.upload.form.access-condition-label": "Tipo de condição de acesso", + + // "submission.sections.upload.form.date-required": "Date is required.", + "submission.sections.upload.form.date-required": "Data necessária.", + + // "submission.sections.upload.form.from-label": "Grant access from", + // TODO Source message changed - Revise the translation + "submission.sections.upload.form.from-label": "Acesso permitido a partir de", + + // "submission.sections.upload.form.from-placeholder": "From", + "submission.sections.upload.form.from-placeholder": "De", + + // "submission.sections.upload.form.group-label": "Group", + "submission.sections.upload.form.group-label": "Grupo", + + // "submission.sections.upload.form.group-required": "Group is required.", + "submission.sections.upload.form.group-required": "Grupo é necessário.", + + // "submission.sections.upload.form.until-label": "Grant access until", + // TODO Source message changed - Revise the translation + "submission.sections.upload.form.until-label": "Acesso permitido até", + + // "submission.sections.upload.form.until-placeholder": "Until", + "submission.sections.upload.form.until-placeholder": "Até", + + // "submission.sections.upload.header.policy.default.nolist": "Uploaded files in the {{collectionName}} collection will be accessible according to the following group(s):", + "submission.sections.upload.header.policy.default.nolist": "Arquivos enviados na coleção {{collectionName}} serão acessiveis de acordo com o(s) seguinte(s) grupo(s):", + + // "submission.sections.upload.header.policy.default.withlist": "Please note that uploaded files in the {{collectionName}} collection will be accessible, in addition to what is explicitly decided for the single file, with the following group(s):", + "submission.sections.upload.header.policy.default.withlist": "Por favor note que arquivos enviados a coleção {{collectionName}} serão acessíveis, de acordo com o que está explicitamente definido no arquivo, no(s) seguinte(s) grupo(s):", + + // "submission.sections.upload.info": "Here you will find all the files currently in the item. You can update the file metadata and access conditions or upload additional files just dragging & dropping them everywhere in the page", + "submission.sections.upload.info": "Aqui voCẽ encontra todos os arquivos que estão atualmente no item. Você pode atualizar os metadados do arquivo e condições de acesso ou enviar arquivos adicionais apenas arrastando os arquivos em qualquer lugar da página", + + // "submission.sections.upload.no-entry": "No", + "submission.sections.upload.no-entry": "Não", + + // "submission.sections.upload.no-file-uploaded": "No file uploaded yet.", + "submission.sections.upload.no-file-uploaded": "Nenhum arquivo enviado ainda.", + + // "submission.sections.upload.save-metadata": "Save metadata", + "submission.sections.upload.save-metadata": "Salvar metadados", + + // "submission.sections.upload.undo": "Cancel", + "submission.sections.upload.undo": "Cancelar", + + // "submission.sections.upload.upload-failed": "Upload failed", + "submission.sections.upload.upload-failed": "Falha no envio", + + // "submission.sections.upload.upload-successful": "Upload successful", + "submission.sections.upload.upload-successful": "Enviado com sucesso", + + + + // "submission.submit.title": "Submission", + "submission.submit.title": "Submissão", + + + + // "submission.workflow.generic.delete": "Delete", + "submission.workflow.generic.delete": "Apagar", + + // "submission.workflow.generic.delete-help": "If you would to discard this item, select \"Delete\". You will then be asked to confirm it.", + "submission.workflow.generic.delete-help": "Se você gostaria de descartar este item, selecione \"Apagar\". Você será questionado para confirmar.", + + // "submission.workflow.generic.edit": "Edit", + "submission.workflow.generic.edit": "Editar", + + // "submission.workflow.generic.edit-help": "Select this option to change the item's metadata.", + "submission.workflow.generic.edit-help": "Selecione esta opção para modificar os metadados do item.", + + // "submission.workflow.generic.view": "View", + "submission.workflow.generic.view": "Visualizar", + + // "submission.workflow.generic.view-help": "Select this option to view the item's metadata.", + "submission.workflow.generic.view-help": "Selecione esta opção para ver o metadados do item.", + + + + // "submission.workflow.tasks.claimed.approve": "Approve", + "submission.workflow.tasks.claimed.approve": "Aprovar", + + // "submission.workflow.tasks.claimed.approve_help": "If you have reviewed the item and it is suitable for inclusion in the collection, select \"Approve\".", + "submission.workflow.tasks.claimed.approve_help": "Se você revisou o item e este está adequado para inclusão na coleção, selecione \"Aprovar\".", + + // "submission.workflow.tasks.claimed.edit": "Edit", + "submission.workflow.tasks.claimed.edit": "Editar", + + // "submission.workflow.tasks.claimed.edit_help": "Select this option to change the item's metadata.", + "submission.workflow.tasks.claimed.edit_help": "Selecione esta opção para modificar os metadados do item.", + + // "submission.workflow.tasks.claimed.reject.reason.info": "Please enter your reason for rejecting the submission into the box below, indicating whether the submitter may fix a problem and resubmit.", + "submission.workflow.tasks.claimed.reject.reason.info": "Por favor informe o motivo pela rejeição da submissão na caixa abaixo, indicando se o submetedor pode corrigir um problema e reenviar.", + + // "submission.workflow.tasks.claimed.reject.reason.placeholder": "Describe the reason of reject", + "submission.workflow.tasks.claimed.reject.reason.placeholder": "Descreva o motivo da rejeição", + + // "submission.workflow.tasks.claimed.reject.reason.submit": "Reject item", + "submission.workflow.tasks.claimed.reject.reason.submit": "Rejeitar item", + + // "submission.workflow.tasks.claimed.reject.reason.title": "Reason", + "submission.workflow.tasks.claimed.reject.reason.title": "Motivo", + + // "submission.workflow.tasks.claimed.reject.submit": "Reject", + "submission.workflow.tasks.claimed.reject.submit": "Rejeitar", + + // "submission.workflow.tasks.claimed.reject_help": "If you have reviewed the item and found it is not suitable for inclusion in the collection, select \"Reject\". You will then be asked to enter a message indicating why the item is unsuitable, and whether the submitter should change something and resubmit.", + "submission.workflow.tasks.claimed.reject_help": "Se você revisou o item e achou que ele não é adequado para inclusão na coleção, selecione \"Rejeitar\". Você será questionado a informar uma mensagem indicando porque o item está inadequado e se o submetedor deve modificar algo e reenviar.", + + // "submission.workflow.tasks.claimed.return": "Return to pool", + "submission.workflow.tasks.claimed.return": "Retornar para o conjunto", + + // "submission.workflow.tasks.claimed.return_help": "Return the task to the pool so that another user may perform the task.", + "submission.workflow.tasks.claimed.return_help": "Retornar a tarefa para o conjunto para que outra pessoa possa a fazer.", + + + + // "submission.workflow.tasks.generic.error": "Error occurred during operation...", + "submission.workflow.tasks.generic.error": "Ocorreu um erro durante a operação...", + + // "submission.workflow.tasks.generic.processing": "Processing...", + "submission.workflow.tasks.generic.processing": "Processando...", + + // "submission.workflow.tasks.generic.submitter": "Submitter", + "submission.workflow.tasks.generic.submitter": "Submetedor", + + // "submission.workflow.tasks.generic.success": "Operation successful", + "submission.workflow.tasks.generic.success": "Operação realizada com sucesso", + + + + // "submission.workflow.tasks.pool.claim": "Claim", + "submission.workflow.tasks.pool.claim": "Requerer", + + // "submission.workflow.tasks.pool.claim_help": "Assign this task to yourself.", + "submission.workflow.tasks.pool.claim_help": "Atribua esta tarefa a si mesmo.", + + // "submission.workflow.tasks.pool.hide-detail": "Hide detail", + "submission.workflow.tasks.pool.hide-detail": "Ocultar detalhes", + + // "submission.workflow.tasks.pool.show-detail": "Show detail", + "submission.workflow.tasks.pool.show-detail": "Mostrar detalhes", + + + + // "title": "DSpace", + "title": "DSpace", + + + + // "vocabulary-treeview.header": "Hierarchical tree view", + // TODO New key - Add a translation + "vocabulary-treeview.header": "Hierarchical tree view", + + // "vocabulary-treeview.load-more": "Load more", + // TODO New key - Add a translation + "vocabulary-treeview.load-more": "Load more", + + // "vocabulary-treeview.search.form.reset": "Reset", + // TODO New key - Add a translation + "vocabulary-treeview.search.form.reset": "Reset", + + // "vocabulary-treeview.search.form.search": "Search", + // TODO New key - Add a translation + "vocabulary-treeview.search.form.search": "Search", + + // "vocabulary-treeview.search.no-result": "There were no items to show", + // TODO New key - Add a translation + "vocabulary-treeview.search.no-result": "There were no items to show", + + // "vocabulary-treeview.tree.description.nsi": "The Norwegian Science Index", + // TODO New key - Add a translation + "vocabulary-treeview.tree.description.nsi": "The Norwegian Science Index", + + // "vocabulary-treeview.tree.description.srsc": "Research Subject Categories", + // TODO New key - Add a translation + "vocabulary-treeview.tree.description.srsc": "Research Subject Categories", + + + // "uploader.browse": "browse", "uploader.browse": "Navegar", - + // "uploader.drag-message": "Drag & Drop your files here", "uploader.drag-message": "Clique e arraste seus arquivos aqui", - - // "uploader.or": ", or", + + // "uploader.or": ", or ", + // TODO Source message changed - Revise the translation "uploader.or": ", ou", - + // "uploader.processing": "Processing", "uploader.processing": "Processando", - + // "uploader.queue-length": "Queue length", "uploader.queue-length": "Tamanho da fila", - + // "virtual-metadata.delete-item.info": "Select the types for which you want to save the virtual metadata as real metadata", // TODO New key - Add a translation "virtual-metadata.delete-item.info": "Select the types for which you want to save the virtual metadata as real metadata", - + // "virtual-metadata.delete-item.modal-head": "The virtual metadata of this relation", // TODO New key - Add a translation "virtual-metadata.delete-item.modal-head": "The virtual metadata of this relation", - + // "virtual-metadata.delete-relationship.modal-head": "Select the items for which you want to save the virtual metadata as real metadata", // TODO New key - Add a translation "virtual-metadata.delete-relationship.modal-head": "Select the items for which you want to save the virtual metadata as real metadata", + + + + // "workflowAdmin.search.results.head": "Administer Workflow", + // TODO New key - Add a translation + "workflowAdmin.search.results.head": "Administer Workflow", + + + + // "workflow-item.delete.notification.success.title": "Deleted", + // TODO New key - Add a translation + "workflow-item.delete.notification.success.title": "Deleted", + + // "workflow-item.delete.notification.success.content": "This workflow item was successfully deleted", + // TODO New key - Add a translation + "workflow-item.delete.notification.success.content": "This workflow item was successfully deleted", + + // "workflow-item.delete.notification.error.title": "Something went wrong", + // TODO New key - Add a translation + "workflow-item.delete.notification.error.title": "Something went wrong", + + // "workflow-item.delete.notification.error.content": "The workflow item could not be deleted", + // TODO New key - Add a translation + "workflow-item.delete.notification.error.content": "The workflow item could not be deleted", + + // "workflow-item.delete.title": "Delete workflow item", + // TODO New key - Add a translation + "workflow-item.delete.title": "Delete workflow item", + + // "workflow-item.delete.header": "Delete workflow item", + // TODO New key - Add a translation + "workflow-item.delete.header": "Delete workflow item", + + // "workflow-item.delete.button.cancel": "Cancel", + // TODO New key - Add a translation + "workflow-item.delete.button.cancel": "Cancel", + + // "workflow-item.delete.button.confirm": "Delete", + // TODO New key - Add a translation + "workflow-item.delete.button.confirm": "Delete", + + + // "workflow-item.send-back.notification.success.title": "Sent back to submitter", + // TODO New key - Add a translation + "workflow-item.send-back.notification.success.title": "Sent back to submitter", + + // "workflow-item.send-back.notification.success.content": "This workflow item was successfully sent back to the submitter", + // TODO New key - Add a translation + "workflow-item.send-back.notification.success.content": "This workflow item was successfully sent back to the submitter", + + // "workflow-item.send-back.notification.error.title": "Something went wrong", + // TODO New key - Add a translation + "workflow-item.send-back.notification.error.title": "Something went wrong", + + // "workflow-item.send-back.notification.error.content": "The workflow item could not be sent back to the submitter", + // TODO New key - Add a translation + "workflow-item.send-back.notification.error.content": "The workflow item could not be sent back to the submitter", + + // "workflow-item.send-back.title": "Send workflow item back to submitter", + // TODO New key - Add a translation + "workflow-item.send-back.title": "Send workflow item back to submitter", + + // "workflow-item.send-back.header": "Send workflow item back to submitter", + // TODO New key - Add a translation + "workflow-item.send-back.header": "Send workflow item back to submitter", + + // "workflow-item.send-back.button.cancel": "Cancel", + // TODO New key - Add a translation + "workflow-item.send-back.button.cancel": "Cancel", + + // "workflow-item.send-back.button.confirm": "Send back" + // TODO New key - Add a translation + "workflow-item.send-back.button.confirm": "Send back" + - - -} +} \ No newline at end of file diff --git a/src/assets/i18n/pt-PT.json5 b/src/assets/i18n/pt-PT.json5 index edc09dbf03..3b152196bd 100644 --- a/src/assets/i18n/pt-PT.json5 +++ b/src/assets/i18n/pt-PT.json5 @@ -1,3966 +1,5948 @@ { - + + // "401.help": "You're not authorized to access this page. You can use the button below to get back to the home page.", + // TODO New key - Add a translation + "401.help": "You're not authorized to access this page. You can use the button below to get back to the home page.", + + // "401.link.home-page": "Take me to the home page", + // TODO New key - Add a translation + "401.link.home-page": "Take me to the home page", + + // "401.unauthorized": "unauthorized", + // TODO New key - Add a translation + "401.unauthorized": "unauthorized", + + + + // "403.help": "You don't have permission to access this page. You can use the button below to get back to the home page.", + // TODO New key - Add a translation + "403.help": "You don't have permission to access this page. You can use the button below to get back to the home page.", + + // "403.link.home-page": "Take me to the home page", + // TODO New key - Add a translation + "403.link.home-page": "Take me to the home page", + + // "403.forbidden": "forbidden", + // TODO New key - Add a translation + "403.forbidden": "forbidden", + + + // "404.help": "We can't find the page you're looking for. The page may have been moved or deleted. You can use the button below to get back to the home page. ", "404.help": "Não pudemos encontrar a página pela qual procura. A página pode ter sido movida ou apagada. Você pode utilizar o botão abaixo para voltar a página inicial. ", - + // "404.link.home-page": "Take me to the home page", "404.link.home-page": "Leve-me a página inicial", - + // "404.page-not-found": "page not found", "404.page-not-found": "página não encontrada", - - - + + // "admin.curation-tasks.breadcrumbs": "System curation tasks", + // TODO New key - Add a translation + "admin.curation-tasks.breadcrumbs": "System curation tasks", + + // "admin.curation-tasks.title": "System curation tasks", + // TODO New key - Add a translation + "admin.curation-tasks.title": "System curation tasks", + + // "admin.curation-tasks.header": "System curation tasks", + // TODO New key - Add a translation + "admin.curation-tasks.header": "System curation tasks", + + // "admin.registries.bitstream-formats.breadcrumbs": "Format registry", + // TODO New key - Add a translation + "admin.registries.bitstream-formats.breadcrumbs": "Format registry", + + // "admin.registries.bitstream-formats.create.breadcrumbs": "Bitstream format", + // TODO New key - Add a translation + "admin.registries.bitstream-formats.create.breadcrumbs": "Bitstream format", + // "admin.registries.bitstream-formats.create.failure.content": "An error occurred while creating the new bitstream format.", "admin.registries.bitstream-formats.create.failure.content": "Um erro ocorreu durante a criação do novo formato de bitstream.", - + // "admin.registries.bitstream-formats.create.failure.head": "Failure", "admin.registries.bitstream-formats.create.failure.head": "Falha", - + // "admin.registries.bitstream-formats.create.head": "Create Bitstream format", "admin.registries.bitstream-formats.create.head": "Criar formato de Bitstream", - + // "admin.registries.bitstream-formats.create.new": "Add a new bitstream format", "admin.registries.bitstream-formats.create.new": "Adicionar um novo formato de bitstream", - + // "admin.registries.bitstream-formats.create.success.content": "The new bitstream format was successfully created.", "admin.registries.bitstream-formats.create.success.content": "O novo formato de bitstream foi criado com sucesso.", - + // "admin.registries.bitstream-formats.create.success.head": "Success", "admin.registries.bitstream-formats.create.success.head": "Sucesso", - + // "admin.registries.bitstream-formats.delete.failure.amount": "Failed to remove {{ amount }} format(s)", "admin.registries.bitstream-formats.delete.failure.amount": "Falha ao remover {{ amount }} formato(s)", - + // "admin.registries.bitstream-formats.delete.failure.head": "Failure", "admin.registries.bitstream-formats.delete.failure.head": "Falha", - + // "admin.registries.bitstream-formats.delete.success.amount": "Successfully removed {{ amount }} format(s)", "admin.registries.bitstream-formats.delete.success.amount": "Removeu {{ amount }} formato(s) com sucesso", - + // "admin.registries.bitstream-formats.delete.success.head": "Success", "admin.registries.bitstream-formats.delete.success.head": "Sucesso", - + // "admin.registries.bitstream-formats.description": "This list of bitstream formats provides information about known formats and their support level.", "admin.registries.bitstream-formats.description": "Esta lista de formatos de bitstream provê informações sobre formatos conhecidos e seus níveis de suporte.", - + + // "admin.registries.bitstream-formats.edit.breadcrumbs": "Bitstream format", + // TODO New key - Add a translation + "admin.registries.bitstream-formats.edit.breadcrumbs": "Bitstream format", + // "admin.registries.bitstream-formats.edit.description.hint": "", "admin.registries.bitstream-formats.edit.description.hint": "", - + // "admin.registries.bitstream-formats.edit.description.label": "Description", "admin.registries.bitstream-formats.edit.description.label": "Descrição", - + // "admin.registries.bitstream-formats.edit.extensions.hint": "Extensions are file extensions that are used to automatically identify the format of uploaded files. You can enter several extensions for each format.", "admin.registries.bitstream-formats.edit.extensions.hint": "Extensões são extensões de arquivo que são usadas para identificar automaticamente o formato dos arquivo enviados. Você pode informar várias extensões para cada formato.", - + // "admin.registries.bitstream-formats.edit.extensions.label": "File extensions", "admin.registries.bitstream-formats.edit.extensions.label": "Extensões de arquivo", - + // "admin.registries.bitstream-formats.edit.extensions.placeholder": "Enter a file extension without the dot", // TODO Source message changed - Revise the translation "admin.registries.bitstream-formats.edit.extensions.placeholder": "Informe uma extenção e arquivo sem o ponto", - + // "admin.registries.bitstream-formats.edit.failure.content": "An error occurred while editing the bitstream format.", "admin.registries.bitstream-formats.edit.failure.content": "Ocorreu um erro ao editar o formato de bitstream.", - + // "admin.registries.bitstream-formats.edit.failure.head": "Failure", "admin.registries.bitstream-formats.edit.failure.head": "Falha", - + // "admin.registries.bitstream-formats.edit.head": "Bitstream format: {{ format }}", "admin.registries.bitstream-formats.edit.head": "Formato de bitstream: {{ format }}", - + // "admin.registries.bitstream-formats.edit.internal.hint": "Formats marked as internal are hidden from the user, and used for administrative purposes.", "admin.registries.bitstream-formats.edit.internal.hint": "Formatos marcados como interno são ocultos para o usuário, e utilizados por motivos administrativos.", - + // "admin.registries.bitstream-formats.edit.internal.label": "Internal", "admin.registries.bitstream-formats.edit.internal.label": "Interno", - + // "admin.registries.bitstream-formats.edit.mimetype.hint": "The MIME type associated with this format, does not have to be unique.", "admin.registries.bitstream-formats.edit.mimetype.hint": "O MIME type associado à este formato não tem que ser único.", - + // "admin.registries.bitstream-formats.edit.mimetype.label": "MIME Type", "admin.registries.bitstream-formats.edit.mimetype.label": "MIME Type", - + // "admin.registries.bitstream-formats.edit.shortDescription.hint": "A unique name for this format, (e.g. Microsoft Word XP or Microsoft Word 2000)", "admin.registries.bitstream-formats.edit.shortDescription.hint": "Um nome único para este formato (exemplo. Microsoft Word XP ou Microsoft Word 2000)", - + // "admin.registries.bitstream-formats.edit.shortDescription.label": "Name", "admin.registries.bitstream-formats.edit.shortDescription.label": "Nome", - + // "admin.registries.bitstream-formats.edit.success.content": "The bitstream format was successfully edited.", "admin.registries.bitstream-formats.edit.success.content": "O formato de bitstream foi editedo com sucesso.", - + // "admin.registries.bitstream-formats.edit.success.head": "Success", "admin.registries.bitstream-formats.edit.success.head": "Sucesso", - + // "admin.registries.bitstream-formats.edit.supportLevel.hint": "The level of support your institution pledges for this format.", "admin.registries.bitstream-formats.edit.supportLevel.hint": "O nível de suporte que a sua instituição promete para este formato.", - + // "admin.registries.bitstream-formats.edit.supportLevel.label": "Support level", "admin.registries.bitstream-formats.edit.supportLevel.label": "Nível de suporte", - + // "admin.registries.bitstream-formats.head": "Bitstream Format Registry", "admin.registries.bitstream-formats.head": "Registro de Formato de Bitstream", - + // "admin.registries.bitstream-formats.no-items": "No bitstream formats to show.", "admin.registries.bitstream-formats.no-items": "Nenhum formato de bitstream para exibir.", - + // "admin.registries.bitstream-formats.table.delete": "Delete selected", "admin.registries.bitstream-formats.table.delete": "Apagar selecionado(s)", - + // "admin.registries.bitstream-formats.table.deselect-all": "Deselect all", "admin.registries.bitstream-formats.table.deselect-all": "Desselecionar todos", - + // "admin.registries.bitstream-formats.table.internal": "internal", "admin.registries.bitstream-formats.table.internal": "Interno", - + // "admin.registries.bitstream-formats.table.mimetype": "MIME Type", "admin.registries.bitstream-formats.table.mimetype": "MIME Type", - + // "admin.registries.bitstream-formats.table.name": "Name", "admin.registries.bitstream-formats.table.name": "Nome", - + // "admin.registries.bitstream-formats.table.return": "Return", "admin.registries.bitstream-formats.table.return": "Voltar", - + // "admin.registries.bitstream-formats.table.supportLevel.KNOWN": "Known", "admin.registries.bitstream-formats.table.supportLevel.KNOWN": "Conhecido", - + // "admin.registries.bitstream-formats.table.supportLevel.SUPPORTED": "Supported", "admin.registries.bitstream-formats.table.supportLevel.SUPPORTED": "Com suporte", - + // "admin.registries.bitstream-formats.table.supportLevel.UNKNOWN": "Unknown", "admin.registries.bitstream-formats.table.supportLevel.UNKNOWN": "Desconhecido", - + // "admin.registries.bitstream-formats.table.supportLevel.head": "Support Level", "admin.registries.bitstream-formats.table.supportLevel.head": "Nível de Suporte", - + // "admin.registries.bitstream-formats.title": "DSpace Angular :: Bitstream Format Registry", "admin.registries.bitstream-formats.title": "DSpace Angular :: Registro de Formato de Bitstream", - - - + + + + // "admin.registries.metadata.breadcrumbs": "Metadata registry", + // TODO New key - Add a translation + "admin.registries.metadata.breadcrumbs": "Metadata registry", + // "admin.registries.metadata.description": "The metadata registry maintains a list of all metadata fields available in the repository. These fields may be divided amongst multiple schemas. However, DSpace requires the qualified Dublin Core schema.", "admin.registries.metadata.description": "O registro de metadados mantém a lista de todos os campos de metadados disponíveis no repositório. Estes campos podêm ser divididos em multiplos esquemas. Entretanto, o DSpace requer esquemas de Dublin Core qualificados.", - + // "admin.registries.metadata.form.create": "Create metadata schema", "admin.registries.metadata.form.create": "Criar esquema de metadados", - + // "admin.registries.metadata.form.edit": "Edit metadata schema", "admin.registries.metadata.form.edit": "Editar esquema de metadados", - + // "admin.registries.metadata.form.name": "Name", "admin.registries.metadata.form.name": "Nome", - + // "admin.registries.metadata.form.namespace": "Namespace", "admin.registries.metadata.form.namespace": "Namespace", - + // "admin.registries.metadata.head": "Metadata Registry", "admin.registries.metadata.head": "Registro de Metadados", - + // "admin.registries.metadata.schemas.no-items": "No metadata schemas to show.", "admin.registries.metadata.schemas.no-items": "Nenhum esquema de metadados a mostrar.", - + // "admin.registries.metadata.schemas.table.delete": "Delete selected", "admin.registries.metadata.schemas.table.delete": "Apagar selecionado(s)", - + // "admin.registries.metadata.schemas.table.id": "ID", "admin.registries.metadata.schemas.table.id": "ID", - + // "admin.registries.metadata.schemas.table.name": "Name", "admin.registries.metadata.schemas.table.name": "Nome", - + // "admin.registries.metadata.schemas.table.namespace": "Namespace", "admin.registries.metadata.schemas.table.namespace": "Namespace", - + // "admin.registries.metadata.title": "DSpace Angular :: Metadata Registry", "admin.registries.metadata.title": "DSpace Angular :: Registro de Metadados", - - - + + + + // "admin.registries.schema.breadcrumbs": "Metadata schema", + // TODO New key - Add a translation + "admin.registries.schema.breadcrumbs": "Metadata schema", + // "admin.registries.schema.description": "This is the metadata schema for \"{{namespace}}\".", "admin.registries.schema.description": "Este é o esquema de metadados para \"{{namespace}}\".", - + // "admin.registries.schema.fields.head": "Schema metadata fields", "admin.registries.schema.fields.head": "Campos do esquema de metadados", - + // "admin.registries.schema.fields.no-items": "No metadata fields to show.", "admin.registries.schema.fields.no-items": "Nenhum campo de metadado a exibir.", - + // "admin.registries.schema.fields.table.delete": "Delete selected", "admin.registries.schema.fields.table.delete": "Apagar selecionado(s)", - + // "admin.registries.schema.fields.table.field": "Field", "admin.registries.schema.fields.table.field": "Campo", - + // "admin.registries.schema.fields.table.scopenote": "Scope Note", "admin.registries.schema.fields.table.scopenote": "Nota de escopo", - + // "admin.registries.schema.form.create": "Create metadata field", "admin.registries.schema.form.create": "Criar campo de metadado", - + // "admin.registries.schema.form.edit": "Edit metadata field", "admin.registries.schema.form.edit": "Editar campo de metadado", - + // "admin.registries.schema.form.element": "Element", "admin.registries.schema.form.element": "Elemento", - + // "admin.registries.schema.form.qualifier": "Qualifier", "admin.registries.schema.form.qualifier": "Qualificador", - + // "admin.registries.schema.form.scopenote": "Scope Note", "admin.registries.schema.form.scopenote": "Nota de Escopo", - + // "admin.registries.schema.head": "Metadata Schema", "admin.registries.schema.head": "Esquema de Metadados", - + // "admin.registries.schema.notification.created": "Successfully created metadata schema \"{{prefix}}\"", "admin.registries.schema.notification.created": "Criou o esquema de metadados \"{{prefix}}\" com sucesso", - + // "admin.registries.schema.notification.deleted.failure": "Failed to delete {{amount}} metadata schemas", "admin.registries.schema.notification.deleted.failure": "Falhou ao apagar {{amount}} esquema(s) de metadados", - + // "admin.registries.schema.notification.deleted.success": "Successfully deleted {{amount}} metadata schemas", "admin.registries.schema.notification.deleted.success": "Apagou {{amount}} esquema(s) de metadados com sucesso", - + // "admin.registries.schema.notification.edited": "Successfully edited metadata schema \"{{prefix}}\"", "admin.registries.schema.notification.edited": "Editou o esquema de metadados \"{{prefix}}\" com sucesso", - + // "admin.registries.schema.notification.failure": "Error", "admin.registries.schema.notification.failure": "Erro", - + // "admin.registries.schema.notification.field.created": "Successfully created metadata field \"{{field}}\"", "admin.registries.schema.notification.field.created": "Criou o campo de medado \"{{field}}\" com sucesso", - + // "admin.registries.schema.notification.field.deleted.failure": "Failed to delete {{amount}} metadata fields", "admin.registries.schema.notification.field.deleted.failure": "Falhou ao apagar {{amount}} campo(s) de metadados", - + // "admin.registries.schema.notification.field.deleted.success": "Successfully deleted {{amount}} metadata fields", "admin.registries.schema.notification.field.deleted.success": "Apagou {{amount}} campo(s) de metadados com sucesso", - + // "admin.registries.schema.notification.field.edited": "Successfully edited metadata field \"{{field}}\"", "admin.registries.schema.notification.field.edited": "Editou o campo de metadodo \"{{field}}\" com sucesso", - + // "admin.registries.schema.notification.success": "Success", "admin.registries.schema.notification.success": "Sucesso", - + // "admin.registries.schema.return": "Return", "admin.registries.schema.return": "Voltar", - + // "admin.registries.schema.title": "DSpace Angular :: Metadata Schema Registry", "admin.registries.schema.title": "DSpace Angular :: Registro de Esquema de Metadados", - - - + + + + // "admin.access-control.epeople.actions.delete": "Delete EPerson", + // TODO New key - Add a translation + "admin.access-control.epeople.actions.delete": "Delete EPerson", + + // "admin.access-control.epeople.actions.impersonate": "Impersonate EPerson", + // TODO New key - Add a translation + "admin.access-control.epeople.actions.impersonate": "Impersonate EPerson", + + // "admin.access-control.epeople.actions.reset": "Reset password", + // TODO New key - Add a translation + "admin.access-control.epeople.actions.reset": "Reset password", + + // "admin.access-control.epeople.actions.stop-impersonating": "Stop impersonating EPerson", + // TODO New key - Add a translation + "admin.access-control.epeople.actions.stop-impersonating": "Stop impersonating EPerson", + // "admin.access-control.epeople.title": "DSpace Angular :: EPeople", // TODO New key - Add a translation "admin.access-control.epeople.title": "DSpace Angular :: EPeople", - + // "admin.access-control.epeople.head": "EPeople", // TODO New key - Add a translation "admin.access-control.epeople.head": "EPeople", - + // "admin.access-control.epeople.search.head": "Search", // TODO New key - Add a translation "admin.access-control.epeople.search.head": "Search", - + // "admin.access-control.epeople.button.see-all": "Browse All", "admin.access-control.epeople.button.see-all": "Pesquisar Todos", - + // "admin.access-control.epeople.search.scope.metadata": "Metadata", // TODO New key - Add a translation "admin.access-control.epeople.search.scope.metadata": "Metadata", - + // "admin.access-control.epeople.search.scope.email": "E-mail (exact)", // TODO New key - Add a translation "admin.access-control.epeople.search.scope.email": "E-mail (exact)", - + // "admin.access-control.epeople.search.button": "Search", // TODO New key - Add a translation "admin.access-control.epeople.search.button": "Search", - + // "admin.access-control.epeople.button.add": "Add EPerson", // TODO New key - Add a translation "admin.access-control.epeople.button.add": "Add EPerson", - + // "admin.access-control.epeople.table.id": "ID", // TODO New key - Add a translation "admin.access-control.epeople.table.id": "ID", - + // "admin.access-control.epeople.table.name": "Name", "admin.access-control.epeople.table.name": "Nome", - + // "admin.access-control.epeople.table.email": "E-mail (exact)", // TODO New key - Add a translation "admin.access-control.epeople.table.email": "E-mail (exact)", - + // "admin.access-control.epeople.table.edit": "Edit", // TODO New key - Add a translation "admin.access-control.epeople.table.edit": "Edit", - + // "admin.access-control.epeople.table.edit.buttons.edit": "Edit \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.epeople.table.edit.buttons.edit": "Edit \"{{name}}\"", - + // "admin.access-control.epeople.table.edit.buttons.remove": "Delete \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.epeople.table.edit.buttons.remove": "Delete \"{{name}}\"", - + // "admin.access-control.epeople.no-items": "No EPeople to show.", // TODO New key - Add a translation "admin.access-control.epeople.no-items": "No EPeople to show.", - + // "admin.access-control.epeople.form.create": "Create EPerson", // TODO New key - Add a translation "admin.access-control.epeople.form.create": "Create EPerson", - + // "admin.access-control.epeople.form.edit": "Edit EPerson", // TODO New key - Add a translation "admin.access-control.epeople.form.edit": "Edit EPerson", - + // "admin.access-control.epeople.form.firstName": "First name", // TODO New key - Add a translation "admin.access-control.epeople.form.firstName": "First name", - + // "admin.access-control.epeople.form.lastName": "Last name", // TODO New key - Add a translation "admin.access-control.epeople.form.lastName": "Last name", - + // "admin.access-control.epeople.form.email": "E-mail", // TODO New key - Add a translation "admin.access-control.epeople.form.email": "E-mail", - + // "admin.access-control.epeople.form.emailHint": "Must be valid e-mail address", // TODO New key - Add a translation "admin.access-control.epeople.form.emailHint": "Must be valid e-mail address", - + // "admin.access-control.epeople.form.canLogIn": "Can log in", // TODO New key - Add a translation "admin.access-control.epeople.form.canLogIn": "Can log in", - + // "admin.access-control.epeople.form.requireCertificate": "Requires certificate", // TODO New key - Add a translation "admin.access-control.epeople.form.requireCertificate": "Requires certificate", - + // "admin.access-control.epeople.form.notification.created.success": "Successfully created EPerson \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.epeople.form.notification.created.success": "Successfully created EPerson \"{{name}}\"", - + // "admin.access-control.epeople.form.notification.created.failure": "Failed to create EPerson \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.epeople.form.notification.created.failure": "Failed to create EPerson \"{{name}}\"", - + // "admin.access-control.epeople.form.notification.created.failure.emailInUse": "Failed to create EPerson \"{{name}}\", email \"{{email}}\" already in use.", // TODO New key - Add a translation "admin.access-control.epeople.form.notification.created.failure.emailInUse": "Failed to create EPerson \"{{name}}\", email \"{{email}}\" already in use.", - + // "admin.access-control.epeople.form.notification.edited.failure.emailInUse": "Failed to edit EPerson \"{{name}}\", email \"{{email}}\" already in use.", // TODO New key - Add a translation "admin.access-control.epeople.form.notification.edited.failure.emailInUse": "Failed to edit EPerson \"{{name}}\", email \"{{email}}\" already in use.", - + // "admin.access-control.epeople.form.notification.edited.success": "Successfully edited EPerson \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.epeople.form.notification.edited.success": "Successfully edited EPerson \"{{name}}\"", - + // "admin.access-control.epeople.form.notification.edited.failure": "Failed to edit EPerson \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.epeople.form.notification.edited.failure": "Failed to edit EPerson \"{{name}}\"", - + + // "admin.access-control.epeople.form.notification.deleted.success": "Successfully deleted EPerson \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.epeople.form.notification.deleted.success": "Successfully deleted EPerson \"{{name}}\"", + + // "admin.access-control.epeople.form.notification.deleted.failure": "Failed to delete EPerson \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.epeople.form.notification.deleted.failure": "Failed to delete EPerson \"{{name}}\"", + // "admin.access-control.epeople.form.groupsEPersonIsMemberOf": "Member of these groups:", // TODO New key - Add a translation "admin.access-control.epeople.form.groupsEPersonIsMemberOf": "Member of these groups:", - + // "admin.access-control.epeople.form.table.id": "ID", // TODO New key - Add a translation "admin.access-control.epeople.form.table.id": "ID", - + // "admin.access-control.epeople.form.table.name": "Name", "admin.access-control.epeople.form.table.name": "Nome", - + // "admin.access-control.epeople.form.memberOfNoGroups": "This EPerson is not a member of any groups", // TODO New key - Add a translation "admin.access-control.epeople.form.memberOfNoGroups": "This EPerson is not a member of any groups", - + // "admin.access-control.epeople.form.goToGroups": "Add to groups", // TODO New key - Add a translation "admin.access-control.epeople.form.goToGroups": "Add to groups", - + // "admin.access-control.epeople.notification.deleted.failure": "Failed to delete EPerson: \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.epeople.notification.deleted.failure": "Failed to delete EPerson: \"{{name}}\"", - + // "admin.access-control.epeople.notification.deleted.success": "Successfully deleted EPerson: \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.epeople.notification.deleted.success": "Successfully deleted EPerson: \"{{name}}\"", - - - + + + // "admin.access-control.groups.title": "DSpace Angular :: Groups", // TODO New key - Add a translation "admin.access-control.groups.title": "DSpace Angular :: Groups", - + + // "admin.access-control.groups.title.singleGroup": "DSpace Angular :: Edit Group", + // TODO New key - Add a translation + "admin.access-control.groups.title.singleGroup": "DSpace Angular :: Edit Group", + + // "admin.access-control.groups.title.addGroup": "DSpace Angular :: New Group", + // TODO New key - Add a translation + "admin.access-control.groups.title.addGroup": "DSpace Angular :: New Group", + // "admin.access-control.groups.head": "Groups", "admin.access-control.groups.head": "Grupos", - + // "admin.access-control.groups.button.add": "Add group", "admin.access-control.groups.button.add": "Adicionar grupo", - + // "admin.access-control.groups.search.head": "Search groups", "admin.access-control.groups.search.head": "Pesquisar grupos", - + // "admin.access-control.groups.button.see-all": "Browse all", // TODO New key - Add a translation "admin.access-control.groups.button.see-all": "Browse all", - + // "admin.access-control.groups.search.button": "Search", // TODO New key - Add a translation "admin.access-control.groups.search.button": "Search", - + // "admin.access-control.groups.table.id": "ID", // TODO New key - Add a translation "admin.access-control.groups.table.id": "ID", - + // "admin.access-control.groups.table.name": "Name", "admin.access-control.groups.table.name": "Nome", - + // "admin.access-control.groups.table.members": "Members", // TODO New key - Add a translation "admin.access-control.groups.table.members": "Members", - - // "admin.access-control.groups.table.comcol": "Community / Collection", - // TODO New key - Add a translation - "admin.access-control.groups.table.comcol": "Community / Collection", - + // "admin.access-control.groups.table.edit": "Edit", "admin.access-control.groups.table.edit": "Editar", - + // "admin.access-control.groups.table.edit.buttons.edit": "Edit \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.groups.table.edit.buttons.edit": "Edit \"{{name}}\"", - + // "admin.access-control.groups.table.edit.buttons.remove": "Delete \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.groups.table.edit.buttons.remove": "Delete \"{{name}}\"", - + // "admin.access-control.groups.no-items": "No groups found with this in their name or this as UUID", // TODO New key - Add a translation "admin.access-control.groups.no-items": "No groups found with this in their name or this as UUID", - + // "admin.access-control.groups.notification.deleted.success": "Successfully deleted group \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.groups.notification.deleted.success": "Successfully deleted group \"{{name}}\"", - - // "admin.access-control.groups.notification.deleted.failure": "Failed to delete group \"{{name}}\"", + + // "admin.access-control.groups.notification.deleted.failure.title": "Failed to delete group \"{{name}}\"", // TODO New key - Add a translation - "admin.access-control.groups.notification.deleted.failure": "Failed to delete group \"{{name}}\"", - - + "admin.access-control.groups.notification.deleted.failure.title": "Failed to delete group \"{{name}}\"", + + // "admin.access-control.groups.notification.deleted.failure.content": "Cause: \"{{cause}}\"", + // TODO New key - Add a translation + "admin.access-control.groups.notification.deleted.failure.content": "Cause: \"{{cause}}\"", + + + + // "admin.access-control.groups.form.alert.permanent": "This group is permanent, so it can't be edited or deleted. You can still add and remove group members using this page.", + // TODO New key - Add a translation + "admin.access-control.groups.form.alert.permanent": "This group is permanent, so it can't be edited or deleted. You can still add and remove group members using this page.", + + // "admin.access-control.groups.form.alert.workflowGroup": "This group can’t be modified or deleted because it corresponds to a role in the submission and workflow process in the \"{{name}}\" {{comcol}}. You can delete it from the \"assign roles\" tab on the edit {{comcol}} page. You can still add and remove group members using this page.", + // TODO New key - Add a translation + "admin.access-control.groups.form.alert.workflowGroup": "This group can’t be modified or deleted because it corresponds to a role in the submission and workflow process in the \"{{name}}\" {{comcol}}. You can delete it from the \"assign roles\" tab on the edit {{comcol}} page. You can still add and remove group members using this page.", + // "admin.access-control.groups.form.head.create": "Create group", "admin.access-control.groups.form.head.create": "Criar grupo", - + // "admin.access-control.groups.form.head.edit": "Edit group", "admin.access-control.groups.form.head.edit": "Editar grupo", - + // "admin.access-control.groups.form.groupName": "Group name", "admin.access-control.groups.form.groupName": "Nome do grupo", - + // "admin.access-control.groups.form.groupDescription": "Description", "admin.access-control.groups.form.groupDescription": "Descrição", - + // "admin.access-control.groups.form.notification.created.success": "Successfully created Group \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.groups.form.notification.created.success": "Successfully created Group \"{{name}}\"", - + // "admin.access-control.groups.form.notification.created.failure": "Failed to create Group \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.groups.form.notification.created.failure": "Failed to create Group \"{{name}}\"", - + // "admin.access-control.groups.form.notification.created.failure.groupNameInUse": "Failed to create Group with name: \"{{name}}\", make sure the name is not already in use.", // TODO New key - Add a translation "admin.access-control.groups.form.notification.created.failure.groupNameInUse": "Failed to create Group with name: \"{{name}}\", make sure the name is not already in use.", - + + // "admin.access-control.groups.form.notification.edited.failure": "Failed to edit Group \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.edited.failure": "Failed to edit Group \"{{name}}\"", + + // "admin.access-control.groups.form.notification.edited.failure.groupNameInUse": "Name \"{{name}}\" already in use!", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.edited.failure.groupNameInUse": "Name \"{{name}}\" already in use!", + + // "admin.access-control.groups.form.notification.edited.success": "Successfully edited Group \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.edited.success": "Successfully edited Group \"{{name}}\"", + + // "admin.access-control.groups.form.actions.delete": "Delete Group", + // TODO New key - Add a translation + "admin.access-control.groups.form.actions.delete": "Delete Group", + + // "admin.access-control.groups.form.delete-group.modal.header": "Delete Group \"{{ dsoName }}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.delete-group.modal.header": "Delete Group \"{{ dsoName }}\"", + + // "admin.access-control.groups.form.delete-group.modal.info": "Are you sure you want to delete Group \"{{ dsoName }}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.delete-group.modal.info": "Are you sure you want to delete Group \"{{ dsoName }}\"", + + // "admin.access-control.groups.form.delete-group.modal.cancel": "Cancel", + // TODO New key - Add a translation + "admin.access-control.groups.form.delete-group.modal.cancel": "Cancel", + + // "admin.access-control.groups.form.delete-group.modal.confirm": "Delete", + // TODO New key - Add a translation + "admin.access-control.groups.form.delete-group.modal.confirm": "Delete", + + // "admin.access-control.groups.form.notification.deleted.success": "Successfully deleted group \"{{ name }}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.deleted.success": "Successfully deleted group \"{{ name }}\"", + + // "admin.access-control.groups.form.notification.deleted.failure.title": "Failed to delete group \"{{ name }}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.deleted.failure.title": "Failed to delete group \"{{ name }}\"", + + // "admin.access-control.groups.form.notification.deleted.failure.content": "Cause: \"{{ cause }}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.deleted.failure.content": "Cause: \"{{ cause }}\"", + // "admin.access-control.groups.form.members-list.head": "EPeople", // TODO New key - Add a translation "admin.access-control.groups.form.members-list.head": "EPeople", - + // "admin.access-control.groups.form.members-list.search.head": "Add EPeople", // TODO New key - Add a translation "admin.access-control.groups.form.members-list.search.head": "Add EPeople", - + // "admin.access-control.groups.form.members-list.button.see-all": "Browse All", // TODO New key - Add a translation "admin.access-control.groups.form.members-list.button.see-all": "Browse All", - + // "admin.access-control.groups.form.members-list.headMembers": "Current Members", // TODO New key - Add a translation "admin.access-control.groups.form.members-list.headMembers": "Current Members", - + // "admin.access-control.groups.form.members-list.search.scope.metadata": "Metadata", // TODO New key - Add a translation "admin.access-control.groups.form.members-list.search.scope.metadata": "Metadata", - + // "admin.access-control.groups.form.members-list.search.scope.email": "E-mail (exact)", // TODO New key - Add a translation "admin.access-control.groups.form.members-list.search.scope.email": "E-mail (exact)", - + // "admin.access-control.groups.form.members-list.search.button": "Search", // TODO New key - Add a translation "admin.access-control.groups.form.members-list.search.button": "Search", - + // "admin.access-control.groups.form.members-list.table.id": "ID", // TODO New key - Add a translation "admin.access-control.groups.form.members-list.table.id": "ID", - + // "admin.access-control.groups.form.members-list.table.name": "Name", "admin.access-control.groups.form.members-list.table.name": "Nome", - + // "admin.access-control.groups.form.members-list.table.edit": "Remove / Add", // TODO New key - Add a translation "admin.access-control.groups.form.members-list.table.edit": "Remove / Add", - + // "admin.access-control.groups.form.members-list.table.edit.buttons.remove": "Remove member with name \"{{name}}\"", "admin.access-control.groups.form.members-list.table.edit.buttons.remove": "Remover o membro com nome \"{{name}}\"", - + // "admin.access-control.groups.form.members-list.notification.success.addMember": "Successfully added member: \"{{name}}\"", "admin.access-control.groups.form.members-list.notification.success.addMember": "Membro adicionado com sucesso: \"{{name}}\"", - + // "admin.access-control.groups.form.members-list.notification.failure.addMember": "Failed to add member: \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.groups.form.members-list.notification.failure.addMember": "Failed to add member: \"{{name}}\"", - + // "admin.access-control.groups.form.members-list.notification.success.deleteMember": "Successfully deleted member: \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.groups.form.members-list.notification.success.deleteMember": "Successfully deleted member: \"{{name}}\"", - + // "admin.access-control.groups.form.members-list.notification.failure.deleteMember": "Failed to delete member: \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.groups.form.members-list.notification.failure.deleteMember": "Failed to delete member: \"{{name}}\"", - + // "admin.access-control.groups.form.members-list.table.edit.buttons.add": "Add member with name \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.groups.form.members-list.table.edit.buttons.add": "Add member with name \"{{name}}\"", - + // "admin.access-control.groups.form.members-list.notification.failure.noActiveGroup": "No current active group, submit a name first.", // TODO New key - Add a translation "admin.access-control.groups.form.members-list.notification.failure.noActiveGroup": "No current active group, submit a name first.", - + // "admin.access-control.groups.form.members-list.no-members-yet": "No members in group yet, search and add.", // TODO New key - Add a translation "admin.access-control.groups.form.members-list.no-members-yet": "No members in group yet, search and add.", - + // "admin.access-control.groups.form.members-list.no-items": "No EPeople found in that search", // TODO New key - Add a translation "admin.access-control.groups.form.members-list.no-items": "No EPeople found in that search", - + + // "admin.access-control.groups.form.subgroups-list.notification.failure": "Something went wrong: \"{{cause}}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.subgroups-list.notification.failure": "Something went wrong: \"{{cause}}\"", + // "admin.access-control.groups.form.subgroups-list.head": "Groups", "admin.access-control.groups.form.subgroups-list.head": "Grupos", - + // "admin.access-control.groups.form.subgroups-list.search.head": "Add Subgroup", // TODO New key - Add a translation "admin.access-control.groups.form.subgroups-list.search.head": "Add Subgroup", - + // "admin.access-control.groups.form.subgroups-list.button.see-all": "Browse All", // TODO New key - Add a translation "admin.access-control.groups.form.subgroups-list.button.see-all": "Browse All", - + // "admin.access-control.groups.form.subgroups-list.headSubgroups": "Current Subgroups", // TODO New key - Add a translation "admin.access-control.groups.form.subgroups-list.headSubgroups": "Current Subgroups", - + // "admin.access-control.groups.form.subgroups-list.search.button": "Search", // TODO New key - Add a translation "admin.access-control.groups.form.subgroups-list.search.button": "Search", - + // "admin.access-control.groups.form.subgroups-list.table.id": "ID", // TODO New key - Add a translation "admin.access-control.groups.form.subgroups-list.table.id": "ID", - + // "admin.access-control.groups.form.subgroups-list.table.name": "Name", "admin.access-control.groups.form.subgroups-list.table.name": "Nome", - + // "admin.access-control.groups.form.subgroups-list.table.edit": "Remove / Add", "admin.access-control.groups.form.subgroups-list.table.edit": "Remover / Adicionar", - + // "admin.access-control.groups.form.subgroups-list.table.edit.buttons.remove": "Remove subgroup with name \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.groups.form.subgroups-list.table.edit.buttons.remove": "Remove subgroup with name \"{{name}}\"", - + // "admin.access-control.groups.form.subgroups-list.table.edit.buttons.add": "Add subgroup with name \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.groups.form.subgroups-list.table.edit.buttons.add": "Add subgroup with name \"{{name}}\"", - + // "admin.access-control.groups.form.subgroups-list.table.edit.currentGroup": "Current group", "admin.access-control.groups.form.subgroups-list.table.edit.currentGroup": "Grupo atual", - + // "admin.access-control.groups.form.subgroups-list.notification.success.addSubgroup": "Successfully added subgroup: \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.groups.form.subgroups-list.notification.success.addSubgroup": "Successfully added subgroup: \"{{name}}\"", - + // "admin.access-control.groups.form.subgroups-list.notification.failure.addSubgroup": "Failed to add subgroup: \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.groups.form.subgroups-list.notification.failure.addSubgroup": "Failed to add subgroup: \"{{name}}\"", - + // "admin.access-control.groups.form.subgroups-list.notification.success.deleteSubgroup": "Successfully deleted subgroup: \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.groups.form.subgroups-list.notification.success.deleteSubgroup": "Successfully deleted subgroup: \"{{name}}\"", - + // "admin.access-control.groups.form.subgroups-list.notification.failure.deleteSubgroup": "Failed to delete subgroup: \"{{name}}\"", // TODO New key - Add a translation "admin.access-control.groups.form.subgroups-list.notification.failure.deleteSubgroup": "Failed to delete subgroup: \"{{name}}\"", - + // "admin.access-control.groups.form.subgroups-list.notification.failure.noActiveGroup": "No current active group, submit a name first.", // TODO New key - Add a translation "admin.access-control.groups.form.subgroups-list.notification.failure.noActiveGroup": "No current active group, submit a name first.", - + // "admin.access-control.groups.form.subgroups-list.notification.failure.subgroupToAddIsActiveGroup": "This is the current group, can't be added.", // TODO New key - Add a translation "admin.access-control.groups.form.subgroups-list.notification.failure.subgroupToAddIsActiveGroup": "This is the current group, can't be added.", - + // "admin.access-control.groups.form.subgroups-list.no-items": "No groups found with this in their name or this as UUID", // TODO New key - Add a translation "admin.access-control.groups.form.subgroups-list.no-items": "No groups found with this in their name or this as UUID", - + // "admin.access-control.groups.form.subgroups-list.no-subgroups-yet": "No subgroups in group yet.", // TODO New key - Add a translation "admin.access-control.groups.form.subgroups-list.no-subgroups-yet": "No subgroups in group yet.", - + // "admin.access-control.groups.form.return": "Return to groups", "admin.access-control.groups.form.return": "Retornar aos grupos", - - - + + + // "admin.search.breadcrumbs": "Administrative Search", // TODO New key - Add a translation "admin.search.breadcrumbs": "Administrative Search", - + // "admin.search.collection.edit": "Edit", "admin.search.collection.edit": "Editar", - + // "admin.search.community.edit": "Edit", "admin.search.community.edit": "Editar", - + // "admin.search.item.delete": "Delete", // TODO New key - Add a translation "admin.search.item.delete": "Delete", - + // "admin.search.item.edit": "Edit", "admin.search.item.edit": "Editar", - + // "admin.search.item.make-private": "Make Private", "admin.search.item.make-private": "Tornar Privado", - + // "admin.search.item.make-public": "Make Public", "admin.search.item.make-public": "Tornar Público", - + // "admin.search.item.move": "Move", "admin.search.item.move": "Mover", - - // "admin.search.item.private": "Private", - "admin.search.item.private": "Privado", - + // "admin.search.item.reinstate": "Reinstate", // TODO New key - Add a translation "admin.search.item.reinstate": "Reinstate", - + // "admin.search.item.withdraw": "Withdraw", // TODO New key - Add a translation "admin.search.item.withdraw": "Withdraw", - - // "admin.search.item.withdrawn": "Withdrawn", - // TODO New key - Add a translation - "admin.search.item.withdrawn": "Withdrawn", - + // "admin.search.title": "Administrative Search", "admin.search.title": "Pesquisa Administrativa", - - - - // "auth.errors.invalid-user": "Invalid email address or password.", - "auth.errors.invalid-user": "Endereço de email ou senha inválidos.", - - // "auth.messages.expired": "Your session has expired. Please log in again.", - "auth.messages.expired": "Sua sessão expirou. Por favor entre novamente.", - - - - // "bitstream.edit.bitstream": "Bitstream: ", - // TODO New key - Add a translation - "bitstream.edit.bitstream": "Bitstream: ", - - // "bitstream.edit.form.description.hint": "Optionally, provide a brief description of the file, for example \"Main article\" or \"Experiment data readings\".", - // TODO New key - Add a translation - "bitstream.edit.form.description.hint": "Optionally, provide a brief description of the file, for example \"Main article\" or \"Experiment data readings\".", - - // "bitstream.edit.form.description.label": "Description", - "bitstream.edit.form.description.label": "Descrição", - - // "bitstream.edit.form.embargo.hint": "The first day from which access is allowed. This date cannot be modified on this form. To set an embargo date for a bitstream, go to the Item Status tab, click Authorizations..., create or edit the bitstream's READ policy, and set the Start Date as desired.", - // TODO New key - Add a translation - "bitstream.edit.form.embargo.hint": "The first day from which access is allowed. This date cannot be modified on this form. To set an embargo date for a bitstream, go to the Item Status tab, click Authorizations..., create or edit the bitstream's READ policy, and set the Start Date as desired.", - - // "bitstream.edit.form.embargo.label": "Embargo until specific date", - // TODO New key - Add a translation - "bitstream.edit.form.embargo.label": "Embargo until specific date", - - // "bitstream.edit.form.fileName.hint": "Change the filename for the bitstream. Note that this will change the display bitstream URL, but old links will still resolve as long as the sequence ID does not change.", - // TODO New key - Add a translation - "bitstream.edit.form.fileName.hint": "Change the filename for the bitstream. Note that this will change the display bitstream URL, but old links will still resolve as long as the sequence ID does not change.", - - // "bitstream.edit.form.fileName.label": "Filename", - "bitstream.edit.form.fileName.label": "Nome do arquivo", - - // "bitstream.edit.form.newFormat.label": "Describe new format", - "bitstream.edit.form.newFormat.label": "Descreva o novo formato", - - // "bitstream.edit.form.newFormat.hint": "The application you used to create the file, and the version number (for example, \"ACMESoft SuperApp version 1.5\").", - // TODO New key - Add a translation - "bitstream.edit.form.newFormat.hint": "The application you used to create the file, and the version number (for example, \"ACMESoft SuperApp version 1.5\").", - - // "bitstream.edit.form.primaryBitstream.label": "Primary bitstream", - // TODO New key - Add a translation - "bitstream.edit.form.primaryBitstream.label": "Primary bitstream", - - // "bitstream.edit.form.selectedFormat.hint": "If the format is not in the above list, select \"format not in list\" above and describe it under \"Describe new format\".", - // TODO New key - Add a translation - "bitstream.edit.form.selectedFormat.hint": "If the format is not in the above list, select \"format not in list\" above and describe it under \"Describe new format\".", - - // "bitstream.edit.form.selectedFormat.label": "Selected Format", - "bitstream.edit.form.selectedFormat.label": "Formato Selecionado", - - // "bitstream.edit.form.selectedFormat.unknown": "Format not in list", - // TODO New key - Add a translation - "bitstream.edit.form.selectedFormat.unknown": "Format not in list", - - // "bitstream.edit.notifications.error.format.title": "An error occurred saving the bitstream's format", - // TODO New key - Add a translation - "bitstream.edit.notifications.error.format.title": "An error occurred saving the bitstream's format", - - // "bitstream.edit.notifications.saved.content": "Your changes to this bitstream were saved.", - // TODO New key - Add a translation - "bitstream.edit.notifications.saved.content": "Your changes to this bitstream were saved.", - - // "bitstream.edit.notifications.saved.title": "Bitstream saved", - // TODO New key - Add a translation - "bitstream.edit.notifications.saved.title": "Bitstream saved", - - // "bitstream.edit.title": "Edit bitstream", - // TODO New key - Add a translation - "bitstream.edit.title": "Edit bitstream", - - - - // "browse.comcol.by.author": "By Author", - "browse.comcol.by.author": "Por Autor", - - // "browse.comcol.by.dateissued": "By Issue Date", - "browse.comcol.by.dateissued": "Por Data de Publicação", - - // "browse.comcol.by.subject": "By Subject", - "browse.comcol.by.subject": "Por Assunto", - - // "browse.comcol.by.title": "By Title", - "browse.comcol.by.title": "Por Título", - - // "browse.comcol.head": "Browse", - "browse.comcol.head": "Navegar", - - // "browse.empty": "No items to show.", - "browse.empty": "Sem itens a exibir.", - - // "browse.metadata.author": "Author", - "browse.metadata.author": "Autor", - - // "browse.metadata.dateissued": "Issue Date", - "browse.metadata.dateissued": "Data de Publicação", - - // "browse.metadata.subject": "Subject", - "browse.metadata.subject": "Assunto", - - // "browse.metadata.title": "Title", - "browse.metadata.title": "Título", - - // "browse.metadata.author.breadcrumbs": "Browse by Author", - "browse.metadata.author.breadcrumbs": "Pesquisar por Autor", - - // "browse.metadata.dateissued.breadcrumbs": "Browse by Date", - "browse.metadata.dateissued.breadcrumbs": "Pesquisar por Data", - - // "browse.metadata.subject.breadcrumbs": "Browse by Subject", - "browse.metadata.subject.breadcrumbs": "Pesquisar por Assunto", - - // "browse.metadata.title.breadcrumbs": "Browse by Title", - "browse.metadata.title.breadcrumbs": "Pesquisar por Título", - - // "browse.startsWith.choose_start": "(Choose start)", - "browse.startsWith.choose_start": "(Escolha o início)", - - // "browse.startsWith.choose_year": "(Choose year)", - "browse.startsWith.choose_year": "(Escolha o ano)", - - // "browse.startsWith.jump": "Jump to a point in the index:", - "browse.startsWith.jump": "Pular para um ponto do índice:", - - // "browse.startsWith.months.april": "April", - "browse.startsWith.months.april": "Abril", - - // "browse.startsWith.months.august": "August", - "browse.startsWith.months.august": "Agosto", - - // "browse.startsWith.months.december": "December", - "browse.startsWith.months.december": "Dezembro", - - // "browse.startsWith.months.february": "February", - "browse.startsWith.months.february": "Fevereiro", - - // "browse.startsWith.months.january": "January", - "browse.startsWith.months.january": "Janeiro", - - // "browse.startsWith.months.july": "July", - "browse.startsWith.months.july": "Julho", - - // "browse.startsWith.months.june": "June", - "browse.startsWith.months.june": "Junho", - - // "browse.startsWith.months.march": "March", - "browse.startsWith.months.march": "Março", - - // "browse.startsWith.months.may": "May", - "browse.startsWith.months.may": "Maio", - - // "browse.startsWith.months.none": "(Choose month)", - "browse.startsWith.months.none": "(escolha o mês)", - - // "browse.startsWith.months.november": "November", - "browse.startsWith.months.november": "Novembro", - - // "browse.startsWith.months.october": "October", - "browse.startsWith.months.october": "Outubro", - - // "browse.startsWith.months.september": "September", - "browse.startsWith.months.september": "Setembro", - - // "browse.startsWith.submit": "Go", - "browse.startsWith.submit": "Ir", - - // "browse.startsWith.type_date": "Or type in a date (year-month):", - "browse.startsWith.type_date": "Ou informe uma data (ano-mês):", - - // "browse.startsWith.type_text": "Or enter first few letters:", - "browse.startsWith.type_text": "Ou informe as primeiras letras:", - - // "browse.title": "Browsing {{ collection }} by {{ field }} {{ value }}", - "browse.title": "Navegando {{ collection }} por {{ field }} {{ value }}", - - - // "chips.remove": "Remove chip", - "chips.remove": "Remover chip", - - - - // "collection.create.head": "Create a Collection", - "collection.create.head": "Criar uma coleção", - - // "collection.create.notifications.success": "Successfully created the Collection", - // TODO New key - Add a translation - "collection.create.notifications.success": "Successfully created the Collection", - - // "collection.create.sub-head": "Create a Collection for Community {{ parent }}", - "collection.create.sub-head": "Criar uma Coleção na Comunidade {{ parent }}", - - // "collection.delete.cancel": "Cancel", - "collection.delete.cancel": "Cancelar", - - // "collection.delete.confirm": "Confirm", - "collection.delete.confirm": "Confirmar", - - // "collection.delete.head": "Delete Collection", - "collection.delete.head": "Apagar Coleção", - - // "collection.delete.notification.fail": "Collection could not be deleted", - "collection.delete.notification.fail": "Coleção não pôde ser apagada", - - // "collection.delete.notification.success": "Successfully deleted collection", - "collection.delete.notification.success": "Apagou a coleção com sucesso", - - // "collection.delete.text": "Are you sure you want to delete collection \"{{ dso }}\"", - "collection.delete.text": "Você tem certeza que deseja apagar a coleção \"{{ dso }}?\"", - - - - // "collection.edit.delete": "Delete this collection", - "collection.edit.delete": "Apagar esta coleção", - - // "collection.edit.head": "Edit Collection", - "collection.edit.head": "Editar Coleção", - - // "collection.edit.breadcrumbs": "Edit Collection", - // TODO New key - Add a translation - "collection.edit.breadcrumbs": "Edit Collection", - - - - // "collection.edit.item-mapper.cancel": "Cancel", - "collection.edit.item-mapper.cancel": "Cancelar", - - // "collection.edit.item-mapper.collection": "Collection: \"{{name}}\"", - "collection.edit.item-mapper.collection": "Coleção: \"{{name}}\"", - - // "collection.edit.item-mapper.confirm": "Map selected items", - "collection.edit.item-mapper.confirm": "Mapear itens selecionados", - - // "collection.edit.item-mapper.description": "This is the item mapper tool that allows collection administrators to map items from other collections into this collection. You can search for items from other collections and map them, or browse the list of currently mapped items.", - "collection.edit.item-mapper.description": "Esta é a ferramenta de mapeação de itens que permite administradores de coleções a mapear itens de outras coleções nesta. VoCẽ pode busca-los em outras coleções para mapeá-los, ou navegar na lista dos itens atualmente mapeados.", - - // "collection.edit.item-mapper.head": "Item Mapper - Map Items from Other Collections", - "collection.edit.item-mapper.head": "Mapeador de Itens - Mapear itens em Outras Coleções", - - // "collection.edit.item-mapper.no-search": "Please enter a query to search", - "collection.edit.item-mapper.no-search": "Por favor informe uma consulta para buscar", - - // "collection.edit.item-mapper.notifications.map.error.content": "Errors occurred for mapping of {{amount}} items.", - "collection.edit.item-mapper.notifications.map.error.content": "Ocorreu erros ao mapear {{amount}} itens.", - - // "collection.edit.item-mapper.notifications.map.error.head": "Mapping errors", - "collection.edit.item-mapper.notifications.map.error.head": "Erros de mapeamento", - - // "collection.edit.item-mapper.notifications.map.success.content": "Successfully mapped {{amount}} items.", - "collection.edit.item-mapper.notifications.map.success.content": "Mapeou {{amount}} itens com sucesso.", - - // "collection.edit.item-mapper.notifications.map.success.head": "Mapping completed", - "collection.edit.item-mapper.notifications.map.success.head": "Mapeamento completo", - - // "collection.edit.item-mapper.notifications.unmap.error.content": "Errors occurred for removing the mappings of {{amount}} items.", - "collection.edit.item-mapper.notifications.unmap.error.content": "Ocorreram erros ao tentar remover os mapeamentos de {{amount}} item(ns).", - - // "collection.edit.item-mapper.notifications.unmap.error.head": "Remove mapping errors", - "collection.edit.item-mapper.notifications.unmap.error.head": "Erros de remoção de mapeamento", - - // "collection.edit.item-mapper.notifications.unmap.success.content": "Successfully removed the mappings of {{amount}} items.", - "collection.edit.item-mapper.notifications.unmap.success.content": "Removeu os mapeamentps de {{amount}} item(ns) com sucesso.", - - // "collection.edit.item-mapper.notifications.unmap.success.head": "Remove mapping completed", - "collection.edit.item-mapper.notifications.unmap.success.head": "Remoção de mapeamentos completa", - - // "collection.edit.item-mapper.remove": "Remove selected item mappings", - "collection.edit.item-mapper.remove": "Remover mapeamentos selecionados", - - // "collection.edit.item-mapper.tabs.browse": "Browse mapped items", - "collection.edit.item-mapper.tabs.browse": "Navegar por itens mapeados", - - // "collection.edit.item-mapper.tabs.map": "Map new items", - "collection.edit.item-mapper.tabs.map": "Mapear novos itens", - - - - // "collection.edit.logo.label": "Collection logo", - // TODO New key - Add a translation - "collection.edit.logo.label": "Collection logo", - - // "collection.edit.logo.notifications.add.error": "Uploading Collection logo failed. Please verify the content before retrying.", - // TODO New key - Add a translation - "collection.edit.logo.notifications.add.error": "Uploading Collection logo failed. Please verify the content before retrying.", - - // "collection.edit.logo.notifications.add.success": "Upload Collection logo successful.", - // TODO New key - Add a translation - "collection.edit.logo.notifications.add.success": "Upload Collection logo successful.", - - // "collection.edit.logo.notifications.delete.success.title": "Logo deleted", - "collection.edit.logo.notifications.delete.success.title": "Logo removido", - - // "collection.edit.logo.notifications.delete.success.content": "Successfully deleted the collection's logo", - // TODO New key - Add a translation - "collection.edit.logo.notifications.delete.success.content": "Successfully deleted the collection's logo", - - // "collection.edit.logo.notifications.delete.error.title": "Error deleting logo", - // TODO New key - Add a translation - "collection.edit.logo.notifications.delete.error.title": "Error deleting logo", - - // "collection.edit.logo.upload": "Drop a Collection Logo to upload", - // TODO New key - Add a translation - "collection.edit.logo.upload": "Drop a Collection Logo to upload", - - - - // "collection.edit.notifications.success": "Successfully edited the Collection", - // TODO New key - Add a translation - "collection.edit.notifications.success": "Successfully edited the Collection", - - // "collection.edit.return": "Return", - // TODO New key - Add a translation - "collection.edit.return": "Return", - - - - // "collection.edit.tabs.curate.head": "Curate", - // TODO New key - Add a translation - "collection.edit.tabs.curate.head": "Curate", - - // "collection.edit.tabs.curate.title": "Collection Edit - Curate", - // TODO New key - Add a translation - "collection.edit.tabs.curate.title": "Collection Edit - Curate", - - // "collection.edit.tabs.metadata.head": "Edit Metadata", - "collection.edit.tabs.metadata.head": "Editar Metadados", - - // "collection.edit.tabs.metadata.title": "Collection Edit - Metadata", - // TODO New key - Add a translation - "collection.edit.tabs.metadata.title": "Collection Edit - Metadata", - - // "collection.edit.tabs.roles.head": "Assign Roles", - // TODO New key - Add a translation - "collection.edit.tabs.roles.head": "Assign Roles", - - // "collection.edit.tabs.roles.title": "Collection Edit - Roles", - // TODO New key - Add a translation - "collection.edit.tabs.roles.title": "Collection Edit - Roles", - - // "collection.edit.tabs.source.external": "This collection harvests its content from an external source", - // TODO New key - Add a translation - "collection.edit.tabs.source.external": "This collection harvests its content from an external source", - - // "collection.edit.tabs.source.form.errors.oaiSource.required": "You must provide a set id of the target collection.", - // TODO New key - Add a translation - "collection.edit.tabs.source.form.errors.oaiSource.required": "You must provide a set id of the target collection.", - - // "collection.edit.tabs.source.form.harvestType": "Content being harvested", - // TODO New key - Add a translation - "collection.edit.tabs.source.form.harvestType": "Content being harvested", - - // "collection.edit.tabs.source.form.head": "Configure an external source", - // TODO New key - Add a translation - "collection.edit.tabs.source.form.head": "Configure an external source", - - // "collection.edit.tabs.source.form.metadataConfigId": "Metadata Format", - // TODO New key - Add a translation - "collection.edit.tabs.source.form.metadataConfigId": "Metadata Format", - - // "collection.edit.tabs.source.form.oaiSetId": "OAI specific set id", - // TODO New key - Add a translation - "collection.edit.tabs.source.form.oaiSetId": "OAI specific set id", - - // "collection.edit.tabs.source.form.oaiSource": "OAI Provider", - // TODO New key - Add a translation - "collection.edit.tabs.source.form.oaiSource": "OAI Provider", - - // "collection.edit.tabs.source.form.options.harvestType.METADATA_AND_BITSTREAMS": "Harvest metadata and bitstreams (requires ORE support)", - // TODO New key - Add a translation - "collection.edit.tabs.source.form.options.harvestType.METADATA_AND_BITSTREAMS": "Harvest metadata and bitstreams (requires ORE support)", - - // "collection.edit.tabs.source.form.options.harvestType.METADATA_AND_REF": "Harvest metadata and references to bitstreams (requires ORE support)", - // TODO New key - Add a translation - "collection.edit.tabs.source.form.options.harvestType.METADATA_AND_REF": "Harvest metadata and references to bitstreams (requires ORE support)", - - // "collection.edit.tabs.source.form.options.harvestType.METADATA_ONLY": "Harvest metadata only", - // TODO New key - Add a translation - "collection.edit.tabs.source.form.options.harvestType.METADATA_ONLY": "Harvest metadata only", - - // "collection.edit.tabs.source.head": "Content Source", - // TODO New key - Add a translation - "collection.edit.tabs.source.head": "Content Source", - - // "collection.edit.tabs.source.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", - // TODO New key - Add a translation - "collection.edit.tabs.source.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", - - // "collection.edit.tabs.source.notifications.discarded.title": "Changed discarded", - "collection.edit.tabs.source.notifications.discarded.title": "Alterações descartadas", - - // "collection.edit.tabs.source.notifications.invalid.content": "Your changes were not saved. Please make sure all fields are valid before you save.", - // TODO New key - Add a translation - "collection.edit.tabs.source.notifications.invalid.content": "Your changes were not saved. Please make sure all fields are valid before you save.", - - // "collection.edit.tabs.source.notifications.invalid.title": "Metadata invalid", - // TODO New key - Add a translation - "collection.edit.tabs.source.notifications.invalid.title": "Metadata invalid", - - // "collection.edit.tabs.source.notifications.saved.content": "Your changes to this collection's content source were saved.", - // TODO New key - Add a translation - "collection.edit.tabs.source.notifications.saved.content": "Your changes to this collection's content source were saved.", - - // "collection.edit.tabs.source.notifications.saved.title": "Content Source saved", - // TODO New key - Add a translation - "collection.edit.tabs.source.notifications.saved.title": "Content Source saved", - - // "collection.edit.tabs.source.title": "Collection Edit - Content Source", - // TODO New key - Add a translation - "collection.edit.tabs.source.title": "Collection Edit - Content Source", - - - - // "collection.form.abstract": "Short Description", - "collection.form.abstract": "Descrição curta", - - // "collection.form.description": "Introductory text (HTML)", - "collection.form.description": "Texto introdutório (HTML)", - - // "collection.form.errors.title.required": "Please enter a collection name", - "collection.form.errors.title.required": "Por favor informe um nome de coleção", - - // "collection.form.license": "License", - "collection.form.license": "Licença", - - // "collection.form.provenance": "Provenance", - "collection.form.provenance": "Proveniência", - - // "collection.form.rights": "Copyright text (HTML)", - "collection.form.rights": "Texto de direito de cópia (HTML)", - - // "collection.form.tableofcontents": "News (HTML)", - "collection.form.tableofcontents": "Notícias (HTML)", - - // "collection.form.title": "Name", - "collection.form.title": "Nome", - - - - // "collection.page.browse.recent.head": "Recent Submissions", - "collection.page.browse.recent.head": "Submissões Recentes", - - // "collection.page.browse.recent.empty": "No items to show", - "collection.page.browse.recent.empty": "Nenhum item a exibir", - - // "collection.page.handle": "Permanent URI for this collection", - "collection.page.handle": "URI Permanente para esta coleção", - - // "collection.page.license": "License", - "collection.page.license": "Licença", - - // "collection.page.news": "News", - "collection.page.news": "Notícias", - - - - // "collection.select.confirm": "Confirm selected", - "collection.select.confirm": "Confirmar seleção", - - // "collection.select.empty": "No collections to show", - "collection.select.empty": "Nenhuma coleção a mostrar", - - // "collection.select.table.title": "Title", - "collection.select.table.title": "Título", - - - - // "collection.source.update.notifications.error.content": "The provided settings have been tested and didn't work.", - // TODO New key - Add a translation - "collection.source.update.notifications.error.content": "The provided settings have been tested and didn't work.", - - // "collection.source.update.notifications.error.title": "Server Error", - "collection.source.update.notifications.error.title": "Erro no Servidor", - - - - // "communityList.tabTitle": "DSpace - Community List", - // TODO New key - Add a translation - "communityList.tabTitle": "DSpace - Lista de Comunidades", - - // "communityList.title": "List of Communities", - "communityList.title": "Lista de Comunidades", - - // "communityList.showMore": "Show More", - "communityList.showMore": "Mostrar Mais", - - - - // "community.create.head": "Create a Community", - "community.create.head": "Criar uma comunidade", - - // "community.create.notifications.success": "Successfully created the Community", - // TODO New key - Add a translation - "community.create.notifications.success": "Successfully created the Community", - - // "community.create.sub-head": "Create a Sub-Community for Community {{ parent }}", - "community.create.sub-head": "Criar uma Sub-Comunidade para Comunidade {{ parent }}", - - // "community.delete.cancel": "Cancel", - "community.delete.cancel": "Cancelar", - - // "community.delete.confirm": "Confirm", - "community.delete.confirm": "Confirmar", - - // "community.delete.head": "Delete Community", - "community.delete.head": "Apagar Comunidade", - - // "community.delete.notification.fail": "Community could not be deleted", - "community.delete.notification.fail": "Comunidade não pôde ser apagada", - - // "community.delete.notification.success": "Successfully deleted community", - "community.delete.notification.success": "Comunidade apagada com sucesso", - - // "community.delete.text": "Are you sure you want to delete community \"{{ dso }}\"", - "community.delete.text": "Você tem certeza que quer apagar a comunidade \"{{ dso }}\"?", - - // "community.edit.delete": "Delete this community", - "community.edit.delete": "Apagar esta comunidade", - - // "community.edit.head": "Edit Community", - "community.edit.head": "Editar Comunidade", - - // "community.edit.breadcrumbs": "Edit Community", - "community.edit.breadcrumbs": "Editar Comunidade", - - // "community.edit.logo.label": "Community logo", - "community.edit.logo.label": "Logo da Comunidade", - - // "community.edit.logo.notifications.add.error": "Uploading Community logo failed. Please verify the content before retrying.", - // TODO New key - Add a translation - "community.edit.logo.notifications.add.error": "Uploading Community logo failed. Please verify the content before retrying.", - - // "community.edit.logo.notifications.add.success": "Upload Community logo successful.", - // TODO New key - Add a translation - "community.edit.logo.notifications.add.success": "Upload Community logo successful.", - - // "community.edit.logo.notifications.delete.success.title": "Logo deleted", - // TODO New key - Add a translation - "community.edit.logo.notifications.delete.success.title": "Logo deleted", - - // "community.edit.logo.notifications.delete.success.content": "Successfully deleted the community's logo", - // TODO New key - Add a translation - "community.edit.logo.notifications.delete.success.content": "Successfully deleted the community's logo", - - // "community.edit.logo.notifications.delete.error.title": "Error deleting logo", - // TODO New key - Add a translation - "community.edit.logo.notifications.delete.error.title": "Error deleting logo", - - // "community.edit.logo.upload": "Drop a Community Logo to upload", - // TODO New key - Add a translation - "community.edit.logo.upload": "Drop a Community Logo to upload", - - - - // "community.edit.notifications.success": "Successfully edited the Community", - // TODO New key - Add a translation - "community.edit.notifications.success": "Successfully edited the Community", - - // "community.edit.return": "Return", - // TODO New key - Add a translation - "community.edit.return": "Return", - - - - // "community.edit.tabs.curate.head": "Curate", - // TODO New key - Add a translation - "community.edit.tabs.curate.head": "Curate", - - // "community.edit.tabs.curate.title": "Community Edit - Curate", - // TODO New key - Add a translation - "community.edit.tabs.curate.title": "Community Edit - Curate", - - // "community.edit.tabs.metadata.head": "Edit Metadata", - // TODO New key - Add a translation - "community.edit.tabs.metadata.head": "Edit Metadata", - - // "community.edit.tabs.metadata.title": "Community Edit - Metadata", - // TODO New key - Add a translation - "community.edit.tabs.metadata.title": "Community Edit - Metadata", - - // "community.edit.tabs.roles.head": "Assign Roles", - // TODO New key - Add a translation - "community.edit.tabs.roles.head": "Assign Roles", - - // "community.edit.tabs.roles.title": "Community Edit - Roles", - // TODO New key - Add a translation - "community.edit.tabs.roles.title": "Community Edit - Roles", - - - - // "community.form.abstract": "Short Description", - "community.form.abstract": "Descrição curta", - - // "community.form.description": "Introductory text (HTML)", - "community.form.description": "Texto introdutório (HTML)", - - // "community.form.errors.title.required": "Please enter a community name", - "community.form.errors.title.required": "Por favor informe um nome para comunidade", - - // "community.form.rights": "Copyright text (HTML)", - "community.form.rights": "Texto de direito de cópia (HTML)", - - // "community.form.tableofcontents": "News (HTML)", - "community.form.tableofcontents": "Notícias (HTML)", - - // "community.form.title": "Name", - "community.form.title": "Nome", - - // "community.page.handle": "Permanent URI for this community", - "community.page.handle": "URI Permanente desta comunidade", - - // "community.page.license": "License", - "community.page.license": "Licença", - - // "community.page.news": "News", - "community.page.news": "Notícias", - - // "community.all-lists.head": "Subcommunities and Collections", - "community.all-lists.head": "Sub-Comunidade e Coleções", - - // "community.sub-collection-list.head": "Collections of this Community", - "community.sub-collection-list.head": "Coleções desta Comunidade", - - // "community.sub-community-list.head": "Communities of this Community", - "community.sub-community-list.head": "Comunidades desta Comunidade", - - - - // "dso-selector.create.collection.head": "New collection", - "dso-selector.create.collection.head": "Nova coleção", - - // "dso-selector.create.community.head": "New community", - "dso-selector.create.community.head": "Nova comunidade", - - // "dso-selector.create.community.sub-level": "Create a new community in", - "dso-selector.create.community.sub-level": "Criar uma nova coleção em", - - // "dso-selector.create.community.top-level": "Create a new top-level community", - "dso-selector.create.community.top-level": "Criar uma nova comunidade no nível superior", - - // "dso-selector.create.item.head": "New item", - "dso-selector.create.item.head": "Novo item", - - // "dso-selector.edit.collection.head": "Edit collection", - "dso-selector.edit.collection.head": "Editar coleção", - - // "dso-selector.edit.community.head": "Edit community", - "dso-selector.edit.community.head": "Editar comunidade", - - // "dso-selector.edit.item.head": "Edit item", - "dso-selector.edit.item.head": "Editar item", - - // "dso-selector.no-results": "No {{ type }} found", - "dso-selector.no-results": "Nenhum(a) {{ type }} encontrado(a)", - - // "dso-selector.placeholder": "Search for a {{ type }}", - "dso-selector.placeholder": "Buscar por um(a) {{ type }}", - - - - // "error.bitstream": "Error fetching bitstream", - // TODO New key - Add a translation - "error.bitstream": "Error fetching bitstream", - - // "error.browse-by": "Error fetching items", - "error.browse-by": "Erro ao carregar itens", - - // "error.collection": "Error fetching collection", - "error.collection": "Erro ao carregar coleção", - - // "error.collections": "Error fetching collections", - "error.collections": "Erro ao carregar coleções", - - // "error.community": "Error fetching community", - "error.community": "Erro ao carregar comunidade", - - // "error.identifier": "No item found for the identifier", - "error.identifier": "Nenhum item encontrado para o identificador", - - // "error.default": "Error", - "error.default": "Erro", - - // "error.item": "Error fetching item", - "error.item": "Erro ao carregar item", - - // "error.items": "Error fetching items", - "error.items": "Erro ao carregar itens", - - // "error.objects": "Error fetching objects", - "error.objects": "Erro ao carregar objetos", - - // "error.recent-submissions": "Error fetching recent submissions", - "error.recent-submissions": "Erro ao carregar as submissões recentes", - - // "error.search-results": "Error fetching search results", - "error.search-results": "Erro ao carregar os resultados de busca", - - // "error.sub-collections": "Error fetching sub-collections", - "error.sub-collections": "Erro ao carregar sub-coleções", - - // "error.sub-communities": "Error fetching sub-communities", - "error.sub-communities": "Erro ao carregar sub-comunidade", - - // "error.submission.sections.init-form-error": "An error occurred during section initialize, please check your input-form configuration. Details are below :

", - "error.submission.sections.init-form-error": "Ocorreu um erro durante a seção de inicialização, por favor verifique sua configuração de input-form. Detalhes estão abaixo :

", - - // "error.top-level-communities": "Error fetching top-level communities", - "error.top-level-communities": "Erro ao carregar as comunidade de nível superior", - - // "error.validation.license.notgranted": "You must grant this license to complete your submission. If you are unable to grant this license at this time you may save your work and return later or remove the submission.", - "error.validation.license.notgranted": "Você deve concordar com esta licença para completar sua submissão. Se vocẽ não estiver de acordo com esta licença neste momento você pode salvar seu trabalho para continuar depois ou remover a submissão.", - - // "error.validation.pattern": "This input is restricted by the current pattern: {{ pattern }}.", - "error.validation.pattern": "Este campo está restrito ao seguinte padrão: {{ pattern }}.", - - // "error.validation.filerequired": "The file upload is mandatory", - // TODO New key - Add a translation - "error.validation.filerequired": "The file upload is mandatory", - - - - // "footer.copyright": "copyright © 2002-{{ year }}", - "footer.copyright": "copyright © 2002-{{ year }}", - - // "footer.link.dspace": "DSpace software", - "footer.link.dspace": "DSpace software", - - // "footer.link.duraspace": "DuraSpace", - "footer.link.duraspace": "DuraSpace", - - - // "form.add": "Add", - // TODO New key - Add a translation - "form.add": "Add", - - // "form.add-help": "Click here to add the current entry and to add another one", - // TODO New key - Add a translation - "form.add-help": "Click here to add the current entry and to add another one", - - // "form.cancel": "Cancel", - "form.cancel": "Cancelar", - - // "form.clear": "Clear", - "form.clear": "Limpar", - - // "form.clear-help": "Click here to remove the selected value", - "form.clear-help": "Clique aqui para apagar o valor selecionado", - - // "form.edit": "Edit", - "form.edit": "Editar", - - // "form.edit-help": "Click here to edit the selected value", - "form.edit-help": "Clique aqui para editar o valor selecionado", - - // "form.first-name": "First name", - "form.first-name": "Primeiro nome", - - // "form.group-collapse": "Collapse", - "form.group-collapse": "Esconder", - - // "form.group-collapse-help": "Click here to collapse", - "form.group-collapse-help": "Clique aqui para esconder", - - // "form.group-expand": "Expand", - "form.group-expand": "Expandir", - - // "form.group-expand-help": "Click here to expand and add more elements", - "form.group-expand-help": "Clique aqui para expandir e adicionar mais elementos", - - // "form.last-name": "Last name", - "form.last-name": "Último nome", - - // "form.loading": "Loading...", - "form.loading": "Carregando...", - - // "form.lookup": "Lookup", - // TODO New key - Add a translation - "form.lookup": "Lookup", - - // "form.lookup-help": "Click here to look up an existing relation", - // TODO New key - Add a translation - "form.lookup-help": "Click here to look up an existing relation", - - // "form.no-results": "No results found", - "form.no-results": "Nenhum resultado encontrado", - - // "form.no-value": "No value entered", - "form.no-value": "Nenhum valor informado", - - // "form.other-information": {}, - "form.other-information": {}, - - // "form.remove": "Remove", - "form.remove": "Apagar", - - // "form.save": "Save", - "form.save": "Salvar", - - // "form.save-help": "Save changes", - "form.save-help": "Salvar alterações", - - // "form.search": "Search", - "form.search": "Buscar", - - // "form.search-help": "Click here to looking for an existing correspondence", - "form.search-help": "Clique aqui para procurar por uma correspondência existente", - - // "form.submit": "Submit", - "form.submit": "Submeter", - - - - // "home.description": "", - // TODO New key - Add a translation - "home.description": "", - - // "home.title": "DSpace Angular :: Home", - "home.title": "DSpace Angular :: Início", - - // "home.top-level-communities.head": "Communities in DSpace", - "home.top-level-communities.head": "Comunidades no DSpace", - - // "home.top-level-communities.help": "Select a community to browse its collections.", - "home.top-level-communities.help": "Selecione uma comunidade para navegar por suas coleções", - - - - - // "item.bitstreams.upload.bundle": "Bundle", - // TODO New key - Add a translation - "item.bitstreams.upload.bundle": "Bundle", - - // "item.bitstreams.upload.bundle.placeholder": "Select a bundle", - // TODO New key - Add a translation - "item.bitstreams.upload.bundle.placeholder": "Select a bundle", - - // "item.bitstreams.upload.bundle.new": "Create bundle", - // TODO New key - Add a translation - "item.bitstreams.upload.bundle.new": "Create bundle", - - // "item.bitstreams.upload.bundles.empty": "This item doesn\'t contain any bundles to upload a bitstream to.", - // TODO New key - Add a translation - "item.bitstreams.upload.bundles.empty": "This item doesn\'t contain any bundles to upload a bitstream to.", - - // "item.bitstreams.upload.cancel": "Cancel", - // TODO New key - Add a translation - "item.bitstreams.upload.cancel": "Cancel", - - // "item.bitstreams.upload.drop-message": "Drop a file to upload", - // TODO New key - Add a translation - "item.bitstreams.upload.drop-message": "Drop a file to upload", - - // "item.bitstreams.upload.item": "Item: ", - // TODO New key - Add a translation - "item.bitstreams.upload.item": "Item: ", - - // "item.bitstreams.upload.notifications.bundle.created.content": "Successfully created new bundle.", - // TODO New key - Add a translation - "item.bitstreams.upload.notifications.bundle.created.content": "Successfully created new bundle.", - - // "item.bitstreams.upload.notifications.bundle.created.title": "Created bundle", - // TODO New key - Add a translation - "item.bitstreams.upload.notifications.bundle.created.title": "Created bundle", - - // "item.bitstreams.upload.notifications.upload.failed": "Upload failed. Please verify the content before retrying.", - // TODO New key - Add a translation - "item.bitstreams.upload.notifications.upload.failed": "Upload failed. Please verify the content before retrying.", - - // "item.bitstreams.upload.title": "Upload bitstream", - // TODO New key - Add a translation - "item.bitstreams.upload.title": "Upload bitstream", - - - - // "item.edit.bitstreams.bundle.edit.buttons.upload": "Upload", - // TODO New key - Add a translation - "item.edit.bitstreams.bundle.edit.buttons.upload": "Upload", - - // "item.edit.bitstreams.bundle.displaying": "Currently displaying {{ amount }} bitstreams of {{ total }}.", - // TODO New key - Add a translation - "item.edit.bitstreams.bundle.displaying": "Currently displaying {{ amount }} bitstreams of {{ total }}.", - - // "item.edit.bitstreams.bundle.load.all": "Load all ({{ total }})", - // TODO New key - Add a translation - "item.edit.bitstreams.bundle.load.all": "Load all ({{ total }})", - - // "item.edit.bitstreams.bundle.load.more": "Load more", - // TODO New key - Add a translation - "item.edit.bitstreams.bundle.load.more": "Load more", - - // "item.edit.bitstreams.bundle.name": "BUNDLE: {{ name }}", - // TODO New key - Add a translation - "item.edit.bitstreams.bundle.name": "BUNDLE: {{ name }}", - - // "item.edit.bitstreams.discard-button": "Discard", - // TODO New key - Add a translation - "item.edit.bitstreams.discard-button": "Discard", - - // "item.edit.bitstreams.edit.buttons.download": "Download", - // TODO New key - Add a translation - "item.edit.bitstreams.edit.buttons.download": "Download", - - // "item.edit.bitstreams.edit.buttons.drag": "Drag", - // TODO New key - Add a translation - "item.edit.bitstreams.edit.buttons.drag": "Drag", - - // "item.edit.bitstreams.edit.buttons.edit": "Edit", - // TODO New key - Add a translation - "item.edit.bitstreams.edit.buttons.edit": "Edit", - - // "item.edit.bitstreams.edit.buttons.remove": "Remove", - // TODO New key - Add a translation - "item.edit.bitstreams.edit.buttons.remove": "Remove", - - // "item.edit.bitstreams.edit.buttons.undo": "Undo changes", - // TODO New key - Add a translation - "item.edit.bitstreams.edit.buttons.undo": "Undo changes", - - // "item.edit.bitstreams.empty": "This item doesn't contain any bitstreams. Click the upload button to create one.", - // TODO New key - Add a translation - "item.edit.bitstreams.empty": "This item doesn't contain any bitstreams. Click the upload button to create one.", - - // "item.edit.bitstreams.headers.actions": "Actions", - // TODO New key - Add a translation - "item.edit.bitstreams.headers.actions": "Actions", - - // "item.edit.bitstreams.headers.bundle": "Bundle", - // TODO New key - Add a translation - "item.edit.bitstreams.headers.bundle": "Bundle", - - // "item.edit.bitstreams.headers.description": "Description", - // TODO New key - Add a translation - "item.edit.bitstreams.headers.description": "Description", - - // "item.edit.bitstreams.headers.format": "Format", - // TODO New key - Add a translation - "item.edit.bitstreams.headers.format": "Format", - - // "item.edit.bitstreams.headers.name": "Name", - // TODO New key - Add a translation - "item.edit.bitstreams.headers.name": "Name", - - // "item.edit.bitstreams.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", - // TODO New key - Add a translation - "item.edit.bitstreams.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", - - // "item.edit.bitstreams.notifications.discarded.title": "Changes discarded", - // TODO New key - Add a translation - "item.edit.bitstreams.notifications.discarded.title": "Changes discarded", - - // "item.edit.bitstreams.notifications.move.failed.title": "Error moving bitstreams", - // TODO New key - Add a translation - "item.edit.bitstreams.notifications.move.failed.title": "Error moving bitstreams", - - // "item.edit.bitstreams.notifications.move.saved.content": "Your move changes to this item's bitstreams and bundles have been saved.", - // TODO New key - Add a translation - "item.edit.bitstreams.notifications.move.saved.content": "Your move changes to this item's bitstreams and bundles have been saved.", - - // "item.edit.bitstreams.notifications.move.saved.title": "Move changes saved", - // TODO New key - Add a translation - "item.edit.bitstreams.notifications.move.saved.title": "Move changes saved", - - // "item.edit.bitstreams.notifications.outdated.content": "The item you're currently working on has been changed by another user. Your current changes are discarded to prevent conflicts", - // TODO New key - Add a translation - "item.edit.bitstreams.notifications.outdated.content": "The item you're currently working on has been changed by another user. Your current changes are discarded to prevent conflicts", - - // "item.edit.bitstreams.notifications.outdated.title": "Changes outdated", - // TODO New key - Add a translation - "item.edit.bitstreams.notifications.outdated.title": "Changes outdated", - - // "item.edit.bitstreams.notifications.remove.failed.title": "Error deleting bitstream", - // TODO New key - Add a translation - "item.edit.bitstreams.notifications.remove.failed.title": "Error deleting bitstream", - - // "item.edit.bitstreams.notifications.remove.saved.content": "Your removal changes to this item's bitstreams have been saved.", - // TODO New key - Add a translation - "item.edit.bitstreams.notifications.remove.saved.content": "Your removal changes to this item's bitstreams have been saved.", - - // "item.edit.bitstreams.notifications.remove.saved.title": "Removal changes saved", - // TODO New key - Add a translation - "item.edit.bitstreams.notifications.remove.saved.title": "Removal changes saved", - - // "item.edit.bitstreams.reinstate-button": "Undo", - // TODO New key - Add a translation - "item.edit.bitstreams.reinstate-button": "Undo", - - // "item.edit.bitstreams.save-button": "Save", - // TODO New key - Add a translation - "item.edit.bitstreams.save-button": "Save", - - // "item.edit.bitstreams.upload-button": "Upload", - // TODO New key - Add a translation - "item.edit.bitstreams.upload-button": "Upload", - - - - // "item.edit.delete.cancel": "Cancel", - "item.edit.delete.cancel": "Cancelar", - - // "item.edit.delete.confirm": "Delete", - "item.edit.delete.confirm": "Apagar", - - // "item.edit.delete.description": "Are you sure this item should be completely deleted? Caution: At present, no tombstone would be left.", - "item.edit.delete.description": "Você tem certeza que deseja apagar completamento este item? Atenção: No momento, nenhum vestígio restará.", - - // "item.edit.delete.error": "An error occurred while deleting the item", - "item.edit.delete.error": "Ocorreu um erro ao apagar o item", - - // "item.edit.delete.header": "Delete item: {{ id }}", - "item.edit.delete.header": "Apagar item: {{ id }}", - - // "item.edit.delete.success": "The item has been deleted", - "item.edit.delete.success": "O item foi apagado", - - // "item.edit.head": "Edit Item", - "item.edit.head": "Editar Item", - - // "item.edit.breadcrumbs": "Edit Item", - // TODO New key - Add a translation - "item.edit.breadcrumbs": "Edit Item", - - - - // "item.edit.item-mapper.buttons.add": "Map item to selected collections", - "item.edit.item-mapper.buttons.add": "Mapear item na(s) coleção(ões) seleciona(s)", - - // "item.edit.item-mapper.buttons.remove": "Remove item's mapping for selected collections", - "item.edit.item-mapper.buttons.remove": "Remover mapeamento(s) do item da(s) coleção(ões) seleciona(s)", - - // "item.edit.item-mapper.cancel": "Cancel", - "item.edit.item-mapper.cancel": "Cancelar", - - // "item.edit.item-mapper.description": "This is the item mapper tool that allows administrators to map this item to other collections. You can search for collections and map them, or browse the list of collections the item is currently mapped to.", - "item.edit.item-mapper.description": "Essa é a ferramenta de mapeamento de itens que permite que os administradores mapeiem esse item para outras coleções. Você pode procurar coleções e mapeá-las ou navegar na lista de coleções para as quais o item está atualmente mapeado.", - - // "item.edit.item-mapper.head": "Item Mapper - Map Item to Collections", - "item.edit.item-mapper.head": "Mapeador de Item - Mapear Itens em Coleções", - - // "item.edit.item-mapper.item": "Item: \"{{name}}\"", - "item.edit.item-mapper.item": "Item: \"{{name}}\"", - - // "item.edit.item-mapper.no-search": "Please enter a query to search", - "item.edit.item-mapper.no-search": "Por favor informe uma consulta para buscar", - - // "item.edit.item-mapper.notifications.add.error.content": "Errors occurred for mapping of item to {{amount}} collections.", - "item.edit.item-mapper.notifications.add.error.content": "Ocorreram erros ao mapear o item em {{amount}} coleções.", - - // "item.edit.item-mapper.notifications.add.error.head": "Mapping errors", - "item.edit.item-mapper.notifications.add.error.head": "Erros de mapeamento", - - // "item.edit.item-mapper.notifications.add.success.content": "Successfully mapped item to {{amount}} collections.", - "item.edit.item-mapper.notifications.add.success.content": "Mapeou o item em {{amount}} coleções com sucesso.", - - // "item.edit.item-mapper.notifications.add.success.head": "Mapping completed", - "item.edit.item-mapper.notifications.add.success.head": "Mapeamento complesto", - - // "item.edit.item-mapper.notifications.remove.error.content": "Errors occurred for the removal of the mapping to {{amount}} collections.", - "item.edit.item-mapper.notifications.remove.error.content": "Ocorreram erros ao remover mapeamento do item em {{amount}} coleções.", - - // "item.edit.item-mapper.notifications.remove.error.head": "Removal of mapping errors", - "item.edit.item-mapper.notifications.remove.error.head": "Erros de remoção de mapeamento", - - // "item.edit.item-mapper.notifications.remove.success.content": "Successfully removed mapping of item to {{amount}} collections.", - "item.edit.item-mapper.notifications.remove.success.content": "Successfully removed mapping of item to {{amount}} collections.", - - // "item.edit.item-mapper.notifications.remove.success.head": "Removal of mapping completed", - "item.edit.item-mapper.notifications.remove.success.head": "Completou a remoção de mapeamento", - - // "item.edit.item-mapper.tabs.browse": "Browse mapped collections", - "item.edit.item-mapper.tabs.browse": "Navegar nas coleções mapeadas", - - // "item.edit.item-mapper.tabs.map": "Map new collections", - "item.edit.item-mapper.tabs.map": "Mapear novas coleções", - - - - // "item.edit.metadata.add-button": "Add", - "item.edit.metadata.add-button": "Adicionar", - - // "item.edit.metadata.discard-button": "Discard", - "item.edit.metadata.discard-button": "Descartar", - - // "item.edit.metadata.edit.buttons.edit": "Edit", - "item.edit.metadata.edit.buttons.edit": "Editar", - - // "item.edit.metadata.edit.buttons.remove": "Remove", - "item.edit.metadata.edit.buttons.remove": "Apagar", - - // "item.edit.metadata.edit.buttons.undo": "Undo changes", - "item.edit.metadata.edit.buttons.undo": "Desfazer alterações", - - // "item.edit.metadata.edit.buttons.unedit": "Stop editing", - "item.edit.metadata.edit.buttons.unedit": "Parar edição", - - // "item.edit.metadata.headers.edit": "Edit", - "item.edit.metadata.headers.edit": "Editar", - - // "item.edit.metadata.headers.field": "Field", - "item.edit.metadata.headers.field": "Campo", - - // "item.edit.metadata.headers.language": "Lang", - "item.edit.metadata.headers.language": "Idioma", - - // "item.edit.metadata.headers.value": "Value", - "item.edit.metadata.headers.value": "Valor", - - // "item.edit.metadata.metadatafield.invalid": "Please choose a valid metadata field", - "item.edit.metadata.metadatafield.invalid": "Por favor escolha um campo de metadados válido", - - // "item.edit.metadata.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", - "item.edit.metadata.notifications.discarded.content": "Suas alterações foram descartadas. Para restabelecer suas alterações, clique no botão 'Desfazer'", - - // "item.edit.metadata.notifications.discarded.title": "Changed discarded", - "item.edit.metadata.notifications.discarded.title": "Mudança descartada", - - // "item.edit.metadata.notifications.invalid.content": "Your changes were not saved. Please make sure all fields are valid before you save.", - "item.edit.metadata.notifications.invalid.content": "Suas alterações não foram salvas. Verifique se todos os campos são válidos antes de salvar.", - - // "item.edit.metadata.notifications.invalid.title": "Metadata invalid", - "item.edit.metadata.notifications.invalid.title": "Metadado inválido", - - // "item.edit.metadata.notifications.outdated.content": "The item you're currently working on has been changed by another user. Your current changes are discarded to prevent conflicts", - "item.edit.metadata.notifications.outdated.content": "O item em que você está trabalhando foi alterado por outro usuário. Suas alterações atuais são descartadas para evitar conflitos", - - // "item.edit.metadata.notifications.outdated.title": "Changed outdated", - "item.edit.metadata.notifications.outdated.title": "Alteração desatualizada", - - // "item.edit.metadata.notifications.saved.content": "Your changes to this item's metadata were saved.", - "item.edit.metadata.notifications.saved.content": "Suas alterações nos metadados deste item foram salvas.", - - // "item.edit.metadata.notifications.saved.title": "Metadata saved", - "item.edit.metadata.notifications.saved.title": "Metadados salvos", - - // "item.edit.metadata.reinstate-button": "Undo", - "item.edit.metadata.reinstate-button": "Desfazer", - - // "item.edit.metadata.save-button": "Save", - "item.edit.metadata.save-button": "Salvar", - - - - // "item.edit.modify.overview.field": "Field", - "item.edit.modify.overview.field": "Campo", - - // "item.edit.modify.overview.language": "Language", - "item.edit.modify.overview.language": "Idioma", - - // "item.edit.modify.overview.value": "Value", - "item.edit.modify.overview.value": "Valor", - - - - // "item.edit.move.cancel": "Cancel", - "item.edit.move.cancel": "Cancelar", - - // "item.edit.move.description": "Select the collection you wish to move this item to. To narrow down the list of displayed collections, you can enter a search query in the box.", - "item.edit.move.description": "Selecione a coleção para a qual você deseja mover este item. Para restringir a lista de coleções exibidas, você pode inserir uma consulta de pesquisa na caixa.", - - // "item.edit.move.error": "An error occurred when attempting to move the item", - "item.edit.move.error": "Ocorreu um erro ao tentar mover o item", - - // "item.edit.move.head": "Move item: {{id}}", - "item.edit.move.head": "Mover item: {{id}}", - - // "item.edit.move.inheritpolicies.checkbox": "Inherit policies", - "item.edit.move.inheritpolicies.checkbox": "Herdar politicas", - - // "item.edit.move.inheritpolicies.description": "Inherit the default policies of the destination collection", - "item.edit.move.inheritpolicies.description": "Herdar as politicas padrões da coleção destino", - - // "item.edit.move.move": "Move", - "item.edit.move.move": "Mover", - - // "item.edit.move.processing": "Moving...", - "item.edit.move.processing": "Movendo...", - - // "item.edit.move.search.placeholder": "Enter a search query to look for collections", - "item.edit.move.search.placeholder": "Insira uma consulta para procurar coleções", - - // "item.edit.move.success": "The item has been moved successfully", - "item.edit.move.success": "O item foi movido com sucesso", - - // "item.edit.move.title": "Move item", - "item.edit.move.title": "Mover item", - - - - // "item.edit.private.cancel": "Cancel", - "item.edit.private.cancel": "Cancelar", - - // "item.edit.private.confirm": "Make it Private", - "item.edit.private.confirm": "Tornar Privado", - - // "item.edit.private.description": "Are you sure this item should be made private in the archive?", - "item.edit.private.description": "Tem certeza de que este item deve ser tornado privado no arquivo?", - - // "item.edit.private.error": "An error occurred while making the item private", - "item.edit.private.error": "Ocorreu um erro ao tornar o item privado", - - // "item.edit.private.header": "Make item private: {{ id }}", - "item.edit.private.header": "Tornar privado o item: {{ id }}", - - // "item.edit.private.success": "The item is now private", - "item.edit.private.success": "O item agora é privado", - - - - // "item.edit.public.cancel": "Cancel", - "item.edit.public.cancel": "Cancelar", - - // "item.edit.public.confirm": "Make it Public", - "item.edit.public.confirm": "Tornar público", - - // "item.edit.public.description": "Are you sure this item should be made public in the archive?", - "item.edit.public.description": "Você tem certeza que deseja tornar este item público no arquivo?", - - // "item.edit.public.error": "An error occurred while making the item public", - "item.edit.public.error": "Ocorreu um erro ao tornar o item público", - - // "item.edit.public.header": "Make item public: {{ id }}", - "item.edit.public.header": "Tornar público o item: {{ id }}", - - // "item.edit.public.success": "The item is now public", - "item.edit.public.success": "O item agora é público", - - - - // "item.edit.reinstate.cancel": "Cancel", - "item.edit.reinstate.cancel": "Cancelar", - - // "item.edit.reinstate.confirm": "Reinstate", - "item.edit.reinstate.confirm": "Restabelecer", - - // "item.edit.reinstate.description": "Are you sure this item should be reinstated to the archive?", - "item.edit.reinstate.description": "Tem certeza de que este item deve ser restabelecido no arquivo?", - - // "item.edit.reinstate.error": "An error occurred while reinstating the item", - "item.edit.reinstate.error": "Ocorreu um erro ao restabelecer o item", - - // "item.edit.reinstate.header": "Reinstate item: {{ id }}", - "item.edit.reinstate.header": "Restabelecer item: {{ id }}", - - // "item.edit.reinstate.success": "The item was reinstated successfully", - "item.edit.reinstate.success": "O item foi restabelecido com sucesso", - - - - // "item.edit.relationships.discard-button": "Discard", - "item.edit.relationships.discard-button": "Descartar", - - // "item.edit.relationships.edit.buttons.remove": "Remove", - "item.edit.relationships.edit.buttons.remove": "Apagar", - - // "item.edit.relationships.edit.buttons.undo": "Undo changes", - "item.edit.relationships.edit.buttons.undo": "Desfazer alterações", - - // "item.edit.relationships.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", - "item.edit.relationships.notifications.discarded.content": "Suas alterações foram descartadas. Para restabelecer suas alterações, clique no botão 'Desfazer'", - - // "item.edit.relationships.notifications.discarded.title": "Changes discarded", - "item.edit.relationships.notifications.discarded.title": "Alterações descartadas", - - // "item.edit.relationships.notifications.failed.title": "Error deleting relationship", - "item.edit.relationships.notifications.failed.title": "Erro ao apagar relacionamento", - - // "item.edit.relationships.notifications.outdated.content": "The item you're currently working on has been changed by another user. Your current changes are discarded to prevent conflicts", - "item.edit.relationships.notifications.outdated.content": "O item em que você está trabalhando foi alterado por outro usuário. Suas alterações atuais são descartadas para evitar conflitos", - - // "item.edit.relationships.notifications.outdated.title": "Changes outdated", - "item.edit.relationships.notifications.outdated.title": "Alterações desatualizadas", - - // "item.edit.relationships.notifications.saved.content": "Your changes to this item's relationships were saved.", - "item.edit.relationships.notifications.saved.content": "Suas alterações nos relacionamentos deste item foram salvas.", - - // "item.edit.relationships.notifications.saved.title": "Relationships saved", - "item.edit.relationships.notifications.saved.title": "Relacionamentos salvos", - - // "item.edit.relationships.reinstate-button": "Undo", - "item.edit.relationships.reinstate-button": "Desfazer", - - // "item.edit.relationships.save-button": "Save", - "item.edit.relationships.save-button": "Salvar", - - - - // "item.edit.tabs.bitstreams.head": "Bitstreams", - // TODO Source message changed - Revise the translation - "item.edit.tabs.bitstreams.head": "Bitstreams do Item", - - // "item.edit.tabs.bitstreams.title": "Item Edit - Bitstreams", - "item.edit.tabs.bitstreams.title": "Editar Item - Bitstreams", - - // "item.edit.tabs.curate.head": "Curate", - "item.edit.tabs.curate.head": "Curadoria", - - // "item.edit.tabs.curate.title": "Item Edit - Curate", - "item.edit.tabs.curate.title": "Editar Item - Curadoria", - - // "item.edit.tabs.metadata.head": "Metadata", - // TODO Source message changed - Revise the translation - "item.edit.tabs.metadata.head": "Metadados do Item", - - // "item.edit.tabs.metadata.title": "Item Edit - Metadata", - "item.edit.tabs.metadata.title": "Editar Item - Metadados", - - // "item.edit.tabs.relationships.head": "Relationships", - // TODO Source message changed - Revise the translation - "item.edit.tabs.relationships.head": "Relacionamentos do Item", - - // "item.edit.tabs.relationships.title": "Item Edit - Relationships", - "item.edit.tabs.relationships.title": "Editar Item - Relacionamentos", - - // "item.edit.tabs.status.buttons.authorizations.button": "Authorizations...", - "item.edit.tabs.status.buttons.authorizations.button": "Autorizações...", - - // "item.edit.tabs.status.buttons.authorizations.label": "Edit item's authorization policies", - "item.edit.tabs.status.buttons.authorizations.label": "Editar politicas de autorizações de item", - - // "item.edit.tabs.status.buttons.delete.button": "Permanently delete", - "item.edit.tabs.status.buttons.delete.button": "Apagar permanentemente", - - // "item.edit.tabs.status.buttons.delete.label": "Completely expunge item", - "item.edit.tabs.status.buttons.delete.label": "Eliminar completamente o item", - - // "item.edit.tabs.status.buttons.mappedCollections.button": "Mapped collections", - "item.edit.tabs.status.buttons.mappedCollections.button": "Coleções mapeadas", - - // "item.edit.tabs.status.buttons.mappedCollections.label": "Manage mapped collections", - "item.edit.tabs.status.buttons.mappedCollections.label": "Gerenciar coleções mapeadas", - - // "item.edit.tabs.status.buttons.move.button": "Move...", - "item.edit.tabs.status.buttons.move.button": "Mover...", - - // "item.edit.tabs.status.buttons.move.label": "Move item to another collection", - "item.edit.tabs.status.buttons.move.label": "Mover item para outra coleção", - - // "item.edit.tabs.status.buttons.private.button": "Make it private...", - "item.edit.tabs.status.buttons.private.button": "Tornar privado o item...", - - // "item.edit.tabs.status.buttons.private.label": "Make item private", - "item.edit.tabs.status.buttons.private.label": "Tornar privado o item", - - // "item.edit.tabs.status.buttons.public.button": "Make it public...", - "item.edit.tabs.status.buttons.public.button": "Tornar público o item...", - - // "item.edit.tabs.status.buttons.public.label": "Make item public", - "item.edit.tabs.status.buttons.public.label": "Tornar público o item", - - // "item.edit.tabs.status.buttons.reinstate.button": "Reinstate...", - "item.edit.tabs.status.buttons.reinstate.button": "Restabelecer...", - - // "item.edit.tabs.status.buttons.reinstate.label": "Reinstate item into the repository", - "item.edit.tabs.status.buttons.reinstate.label": "Restabelecer item no repositório", - - // "item.edit.tabs.status.buttons.withdraw.button": "Withdraw...", - "item.edit.tabs.status.buttons.withdraw.button": "Retirar...", - - // "item.edit.tabs.status.buttons.withdraw.label": "Withdraw item from the repository", - "item.edit.tabs.status.buttons.withdraw.label": "Retirar item do repositório", - - // "item.edit.tabs.status.description": "Welcome to the item management page. From here you can withdraw, reinstate, move or delete the item. You may also update or add new metadata / bitstreams on the other tabs.", - "item.edit.tabs.status.description": "Bem-vindo à página de gerenciamento de itens. A partir daqui, você pode retirar, restabelecer, mover ou apagar o item. Você também pode atualizar ou adicionar novos metadados / bitstream nas outras guias.", - - // "item.edit.tabs.status.head": "Status", - // TODO Source message changed - Revise the translation - "item.edit.tabs.status.head": "Estado do Item", - - // "item.edit.tabs.status.labels.handle": "Handle", - "item.edit.tabs.status.labels.handle": "Handle", - - // "item.edit.tabs.status.labels.id": "Item Internal ID", - "item.edit.tabs.status.labels.id": "ID Interno do Item", - - // "item.edit.tabs.status.labels.itemPage": "Item Page", - "item.edit.tabs.status.labels.itemPage": "Página do Item", - - // "item.edit.tabs.status.labels.lastModified": "Last Modified", - "item.edit.tabs.status.labels.lastModified": "Ultima alteração", - - // "item.edit.tabs.status.title": "Item Edit - Status", - "item.edit.tabs.status.title": "Editar Item - Estado", - - // "item.edit.tabs.versionhistory.head": "Version History", - // TODO New key - Add a translation - "item.edit.tabs.versionhistory.head": "Version History", - - // "item.edit.tabs.versionhistory.title": "Item Edit - Version History", - // TODO New key - Add a translation - "item.edit.tabs.versionhistory.title": "Item Edit - Version History", - - // "item.edit.tabs.versionhistory.under-construction": "Editing or adding new versions is not yet possible in this user interface.", - // TODO New key - Add a translation - "item.edit.tabs.versionhistory.under-construction": "Editing or adding new versions is not yet possible in this user interface.", - - // "item.edit.tabs.view.head": "View Item", - "item.edit.tabs.view.head": "Visualizar Item", - - // "item.edit.tabs.view.title": "Item Edit - View", - "item.edit.tabs.view.title": "Editar Item - Visualizar", - - - - // "item.edit.withdraw.cancel": "Cancel", - "item.edit.withdraw.cancel": "Cancelar", - - // "item.edit.withdraw.confirm": "Withdraw", - "item.edit.withdraw.confirm": "Retirar", - - // "item.edit.withdraw.description": "Are you sure this item should be withdrawn from the archive?", - "item.edit.withdraw.description": "Tem certeza de que este item deve ser retirado do arquivo?", - - // "item.edit.withdraw.error": "An error occurred while withdrawing the item", - "item.edit.withdraw.error": "Ocorreu um erro ao retirar o item", - - // "item.edit.withdraw.header": "Withdraw item: {{ id }}", - "item.edit.withdraw.header": "Retirar item: {{ id }}", - - // "item.edit.withdraw.success": "The item was withdrawn successfully", - "item.edit.withdraw.success": "O item foi retirado com sucesso", - - - - // "item.page.abstract": "Abstract", - "item.page.abstract": "Resumo", - - // "item.page.author": "Authors", - "item.page.author": "Autores", - - // "item.page.citation": "Citation", - "item.page.citation": "Citação", - - // "item.page.collections": "Collections", - "item.page.collections": "Coleções", - - // "item.page.date": "Date", - "item.page.date": "Data", - - // "item.page.files": "Files", - "item.page.files": "Arquivos", - - // "item.page.filesection.description": "Description:", - "item.page.filesection.description": "Descrição:", - - // "item.page.filesection.download": "Download", - "item.page.filesection.download": "Baixar", - - // "item.page.filesection.format": "Format:", - "item.page.filesection.format": "Formato:", - - // "item.page.filesection.name": "Name:", - "item.page.filesection.name": "Nome:", - - // "item.page.filesection.size": "Size:", - "item.page.filesection.size": "Tamanho:", - - // "item.page.journal.search.title": "Articles in this journal", - "item.page.journal.search.title": "Articles in this journal", - - // "item.page.link.full": "Full item page", - "item.page.link.full": "Página do item completo", - - // "item.page.link.simple": "Simple item page", - "item.page.link.simple": "Página do item simplificado", - - // "item.page.person.search.title": "Articles by this author", - "item.page.person.search.title": "Artigos deste autor", - - // "item.page.related-items.view-more": "Show {{ amount }} more", - // TODO Source message changed - Revise the translation - "item.page.related-items.view-more": "Mostrar mais", - - // "item.page.related-items.view-less": "Hide last {{ amount }}", - // TODO Source message changed - Revise the translation - "item.page.related-items.view-less": "Mostrar menos", - - // "item.page.relationships.isAuthorOfPublication": "Publications", - // TODO New key - Add a translation - "item.page.relationships.isAuthorOfPublication": "Publications", - - // "item.page.relationships.isJournalOfPublication": "Publications", - // TODO New key - Add a translation - "item.page.relationships.isJournalOfPublication": "Publications", - - // "item.page.relationships.isOrgUnitOfPerson": "Authors", - // TODO New key - Add a translation - "item.page.relationships.isOrgUnitOfPerson": "Authors", - - // "item.page.relationships.isOrgUnitOfProject": "Research Projects", - // TODO New key - Add a translation - "item.page.relationships.isOrgUnitOfProject": "Research Projects", - - // "item.page.subject": "Keywords", - "item.page.subject": "Palavras-chave", - - // "item.page.uri": "URI", - "item.page.uri": "URI", - - - - // "item.select.confirm": "Confirm selected", - "item.select.confirm": "Confirmar seleção", - - // "item.select.empty": "No items to show", - "item.select.empty": "Nenhum itme a mostrar", - - // "item.select.table.author": "Author", - "item.select.table.author": "Autor", - - // "item.select.table.collection": "Collection", - "item.select.table.collection": "Coleção", - - // "item.select.table.title": "Title", - "item.select.table.title": "Título", - - - // "item.version.history.empty": "There are no other versions for this item yet.", - // TODO New key - Add a translation - "item.version.history.empty": "There are no other versions for this item yet.", - - // "item.version.history.head": "Version History", - // TODO New key - Add a translation - "item.version.history.head": "Version History", - - // "item.version.history.return": "Return", - // TODO New key - Add a translation - "item.version.history.return": "Return", - - // "item.version.history.selected": "Selected version", - // TODO New key - Add a translation - "item.version.history.selected": "Selected version", - - // "item.version.history.table.version": "Version", - // TODO New key - Add a translation - "item.version.history.table.version": "Version", - - // "item.version.history.table.item": "Item", - // TODO New key - Add a translation - "item.version.history.table.item": "Item", - - // "item.version.history.table.editor": "Editor", - // TODO New key - Add a translation - "item.version.history.table.editor": "Editor", - - // "item.version.history.table.date": "Date", - // TODO New key - Add a translation - "item.version.history.table.date": "Date", - - // "item.version.history.table.summary": "Summary", - // TODO New key - Add a translation - "item.version.history.table.summary": "Summary", - - - - // "item.version.notice": "This is not the latest version of this item. The latest version can be found here.", - // TODO New key - Add a translation - "item.version.notice": "This is not the latest version of this item. The latest version can be found here.", - - - - // "journal.listelement.badge": "Journal", - "journal.listelement.badge": "Periódico", - - // "journal.page.description": "Description", - "journal.page.description": "Descrição", - - // "journal.page.editor": "Editor-in-Chief", - "journal.page.editor": "Editor Chefe", - - // "journal.page.issn": "ISSN", - "journal.page.issn": "ISSN", - - // "journal.page.publisher": "Publisher", - "journal.page.publisher": "Editora", - - // "journal.page.titleprefix": "Journal: ", - "journal.page.titleprefix": "Periódico: ", - - // "journal.search.results.head": "Journal Search Results", - "journal.search.results.head": "Resultado da Busca de Periódicos", - - // "journal.search.title": "DSpace Angular :: Journal Search", - "journal.search.title": "DSpace Angular :: Busca de Periódicos", - - - - // "journalissue.listelement.badge": "Journal Issue", - "journalissue.listelement.badge": "Fascículo", - - // "journalissue.page.description": "Description", - "journalissue.page.description": "Descrição", - - // "journalissue.page.issuedate": "Issue Date", - "journalissue.page.issuedate": "Data de Publicação", - - // "journalissue.page.journal-issn": "Journal ISSN", - "journalissue.page.journal-issn": "ISSN do Periódico", - - // "journalissue.page.journal-title": "Journal Title", - "journalissue.page.journal-title": "Título do Periódico", - - // "journalissue.page.keyword": "Keywords", - "journalissue.page.keyword": "Palavras-chave", - - // "journalissue.page.number": "Number", - "journalissue.page.number": "Número", - - // "journalissue.page.titleprefix": "Journal Issue: ", - "journalissue.page.titleprefix": "Fascículo: ", - - - - // "journalvolume.listelement.badge": "Journal Volume", - "journalvolume.listelement.badge": "Volume do Periódico", - - // "journalvolume.page.description": "Description", - "journalvolume.page.description": "Descrição", - - // "journalvolume.page.issuedate": "Issue Date", - "journalvolume.page.issuedate": "Data de Publicação", - - // "journalvolume.page.titleprefix": "Journal Volume: ", - "journalvolume.page.titleprefix": "Volume do Periódico: ", - - // "journalvolume.page.volume": "Volume", - "journalvolume.page.volume": "Volume", - - - - // "loading.bitstream": "Loading bitstream...", - // TODO New key - Add a translation - "loading.bitstream": "Loading bitstream...", - - // "loading.bitstreams": "Loading bitstreams...", - // TODO New key - Add a translation - "loading.bitstreams": "Loading bitstreams...", - - // "loading.browse-by": "Loading items...", - "loading.browse-by": "Carregando itens...", - - // "loading.browse-by-page": "Loading page...", - "loading.browse-by-page": "Carregando página...", - - // "loading.collection": "Loading collection...", - "loading.collection": "Carregando coleção...", - - // "loading.collections": "Loading collections...", - "loading.collections": "Carregando coleções...", - - // "loading.content-source": "Loading content source...", - // TODO New key - Add a translation - "loading.content-source": "Loading content source...", - - // "loading.community": "Loading community...", - "loading.community": "Carregando comunidade...", - - // "loading.default": "Loading...", - "loading.default": "Carregando...", - - // "loading.item": "Loading item...", - "loading.item": "Carregando item...", - - // "loading.items": "Loading items...", - "loading.items": "Carregando itens...", - - // "loading.mydspace-results": "Loading items...", - "loading.mydspace-results": "Carregando itens...", - - // "loading.objects": "Loading...", - "loading.objects": "Carregando...", - - // "loading.recent-submissions": "Loading recent submissions...", - "loading.recent-submissions": "Carregando submissões recentes...", - - // "loading.search-results": "Loading search results...", - "loading.search-results": "Carregando resultados de busca...", - - // "loading.sub-collections": "Loading sub-collections...", - "loading.sub-collections": "Carregando sub-coleções...", - - // "loading.sub-communities": "Loading sub-communities...", - "loading.sub-communities": "Carregando sub-comunidades...", - - // "loading.top-level-communities": "Loading top-level communities...", - "loading.top-level-communities": "Carregando comunidades de nível superior...", - - - - // "login.form.email": "Email address", - "login.form.email": "Endereço de email", - - // "login.form.forgot-password": "Have you forgotten your password?", - "login.form.forgot-password": "Esqueceu sua senha?", - - // "login.form.header": "Please log in to DSpace", - "login.form.header": "Por favor entre no DSpace", - - // "login.form.new-user": "New user? Click here to register.", - "login.form.new-user": "Novo usuário? Clique aqui para cadastrar.", - - // "login.form.or-divider": "or", - // TODO New key - Add a translation - "login.form.or-divider": "or", - - // "login.form.password": "Password", - "login.form.password": "Senha", - - // "login.form.shibboleth": "Log in with Shibboleth", - // TODO New key - Add a translation - "login.form.shibboleth": "Log in with Shibboleth", - - // "login.form.submit": "Log in", - "login.form.submit": "Entrar", - - // "login.title": "Login", - "login.title": "Entrar", - - // "login.breadcrumbs": "Login", - // TODO New key - Add a translation - "login.breadcrumbs": "Login", - - - - // "logout.form.header": "Log out from DSpace", - "logout.form.header": "Sair do DSpace", - - // "logout.form.submit": "Log out", - "logout.form.submit": "Sair", - - // "logout.title": "Logout", - "logout.title": "Sair", - - - - // "menu.header.admin": "Admin", - "menu.header.admin": "Administração", - - // "menu.header.image.logo": "Repository logo", - "menu.header.image.logo": "Logo do repositório", - - - - // "menu.section.access_control": "Access Control", - "menu.section.access_control": "Controle de Acesso", - - // "menu.section.access_control_authorizations": "Authorizations", - "menu.section.access_control_authorizations": "Autorizações", - - // "menu.section.access_control_groups": "Groups", - "menu.section.access_control_groups": "Grupos", - - // "menu.section.access_control_people": "People", - "menu.section.access_control_people": "Pessoas", - - - - // "menu.section.admin_search": "Admin Search", - // TODO New key - Add a translation - "menu.section.admin_search": "Admin Search", - - - - // "menu.section.browse_community": "This Community", - "menu.section.browse_community": "Esta Comunidade", - - // "menu.section.browse_community_by_author": "By Author", - "menu.section.browse_community_by_author": "Por Autor", - - // "menu.section.browse_community_by_issue_date": "By Issue Date", - "menu.section.browse_community_by_issue_date": "Por Data de Publicação", - - // "menu.section.browse_community_by_title": "By Title", - "menu.section.browse_community_by_title": "Por Título", - - // "menu.section.browse_global": "All of DSpace", - "menu.section.browse_global": "Tudo no DSpace", - - // "menu.section.browse_global_by_author": "By Author", - "menu.section.browse_global_by_author": "Por Autor", - - // "menu.section.browse_global_by_dateissued": "By Issue Date", - "menu.section.browse_global_by_dateissued": "Por Data de Publicação", - - // "menu.section.browse_global_by_subject": "By Subject", - "menu.section.browse_global_by_subject": "Por Assunto", - - // "menu.section.browse_global_by_title": "By Title", - "menu.section.browse_global_by_title": "Por Título", - - // "menu.section.browse_global_communities_and_collections": "Communities & Collections", - "menu.section.browse_global_communities_and_collections": "Comunidades e Coleções", - - - - // "menu.section.control_panel": "Control Panel", - "menu.section.control_panel": "Painel de Controle", - - // "menu.section.curation_task": "Curation Task", - "menu.section.curation_task": "Tarefas de Curadoria", - - - - // "menu.section.edit": "Edit", - "menu.section.edit": "Editar", - - // "menu.section.edit_collection": "Collection", - "menu.section.edit_collection": "Coleção", - - // "menu.section.edit_community": "Community", - "menu.section.edit_community": "Comunidade", - - // "menu.section.edit_item": "Item", - "menu.section.edit_item": "Item", - - - - // "menu.section.export": "Export", - "menu.section.export": "Exportar", - - // "menu.section.export_collection": "Collection", - "menu.section.export_collection": "Coleção", - - // "menu.section.export_community": "Community", - "menu.section.export_community": "Comunidade", - - // "menu.section.export_item": "Item", - "menu.section.export_item": "Item", - - // "menu.section.export_metadata": "Metadata", - "menu.section.export_metadata": "Metadados", - - - - // "menu.section.icon.access_control": "Access Control menu section", - "menu.section.icon.access_control": "Seção do menu Controle de Acesso", - - // "menu.section.icon.admin_search": "Admin search menu section", - // TODO New key - Add a translation - "menu.section.icon.admin_search": "Admin search menu section", - - // "menu.section.icon.control_panel": "Control Panel menu section", - "menu.section.icon.control_panel": "Seção do menu Painel de Controle", - - // "menu.section.icon.curation_task": "Curation Task menu section", - "menu.section.icon.curation_task": "Seção do menu Tarefas de Curadoria", - - // "menu.section.icon.edit": "Edit menu section", - "menu.section.icon.edit": "Seção do menu Editar", - - // "menu.section.icon.export": "Export menu section", - "menu.section.icon.export": "Seção do menu Exportar", - - // "menu.section.icon.find": "Find menu section", - "menu.section.icon.find": "Seção do menu Buscar", - - // "menu.section.icon.import": "Import menu section", - "menu.section.icon.import": "Seção do menu Importar", - - // "menu.section.icon.new": "New menu section", - "menu.section.icon.new": "Seção do menu Novo", - - // "menu.section.icon.pin": "Pin sidebar", - "menu.section.icon.pin": "Fixar barra lateral", - - // "menu.section.icon.registries": "Registries menu section", - "menu.section.icon.registries": "Seção do menu Registros", - - // "menu.section.icon.statistics_task": "Statistics Task menu section", - "menu.section.icon.statistics_task": "Seção do menu Tarefas de Estatísticas", - - // "menu.section.icon.unpin": "Unpin sidebar", - "menu.section.icon.unpin": "Soltar barra lateral", - - - - // "menu.section.import": "Import", - "menu.section.import": "Importar", - - // "menu.section.import_batch": "Batch Import (ZIP)", - "menu.section.import_batch": "Importação em Lote (ZIP)", - - // "menu.section.import_metadata": "Metadata", - "menu.section.import_metadata": "Metadados", - - - - // "menu.section.new": "New", - "menu.section.new": "Nova", - - // "menu.section.new_collection": "Collection", - "menu.section.new_collection": "Coleção", - - // "menu.section.new_community": "Community", - "menu.section.new_community": "Comunidade", - - // "menu.section.new_item": "Item", - "menu.section.new_item": "Item", - - // "menu.section.new_item_version": "Item Version", - "menu.section.new_item_version": "Versão do Item", - - - - // "menu.section.pin": "Pin sidebar", - "menu.section.pin": "Fixar barra lateral", - - // "menu.section.unpin": "Unpin sidebar", - "menu.section.unpin": "Soltar barra lateral", - - - - // "menu.section.registries": "Registries", - "menu.section.registries": "Registros", - - // "menu.section.registries_format": "Format", - "menu.section.registries_format": "Formatos", - - // "menu.section.registries_metadata": "Metadata", - "menu.section.registries_metadata": "Metadados", - - - - // "menu.section.statistics": "Statistics", - "menu.section.statistics": "Estatísticas", - - // "menu.section.statistics_task": "Statistics Task", - "menu.section.statistics_task": "Tarefas de Estatísticas", - - - - // "menu.section.toggle.access_control": "Toggle Access Control section", - "menu.section.toggle.access_control": "Alternar Seção Controle de Acesso", - - // "menu.section.toggle.control_panel": "Toggle Control Panel section", - "menu.section.toggle.control_panel": "Alternar Seção Painel de COntrole", - - // "menu.section.toggle.curation_task": "Toggle Curation Task section", - "menu.section.toggle.curation_task": "Alternar Seção Tarefas de Curadoria", - - // "menu.section.toggle.edit": "Toggle Edit section", - "menu.section.toggle.edit": "Alternar Seção Editar", - - // "menu.section.toggle.export": "Toggle Export section", - "menu.section.toggle.export": "Alternar Seção Exportar", - - // "menu.section.toggle.find": "Toggle Find section", - "menu.section.toggle.find": "Alternar Seção Pesquisa", - - // "menu.section.toggle.import": "Toggle Import section", - "menu.section.toggle.import": "Alternar Seção Importar", - - // "menu.section.toggle.new": "Toggle New section", - "menu.section.toggle.new": "Alternar Nova Seção", - - // "menu.section.toggle.registries": "Toggle Registries section", - "menu.section.toggle.registries": "Alternar Seção Registros", - - // "menu.section.toggle.statistics_task": "Toggle Statistics Task section", - "menu.section.toggle.statistics_task": "Alternar Seção Tarefas de Estatísticas", - - - - // "mydspace.description": "", - "mydspace.description": "", - - // "mydspace.general.text-here": "HERE", - "mydspace.general.text-here": "AQUI", - - // "mydspace.messages.controller-help": "Select this option to send a message to item's submitter.", - "mydspace.messages.controller-help": "Selecione esta opção para enviar uma mensagem para o submetedor do item.", - - // "mydspace.messages.description-placeholder": "Insert your message here...", - "mydspace.messages.description-placeholder": "Insira sua mensagem aqui...", - - // "mydspace.messages.hide-msg": "Hide message", - "mydspace.messages.hide-msg": "Ocultar mensagem", - - // "mydspace.messages.mark-as-read": "Mark as read", - "mydspace.messages.mark-as-read": "Marcar como lida", - - // "mydspace.messages.mark-as-unread": "Mark as unread", - "mydspace.messages.mark-as-unread": "Marcar como não lida", - - // "mydspace.messages.no-content": "No content.", - "mydspace.messages.no-content": "Sem conteúdo", - - // "mydspace.messages.no-messages": "No messages yet.", - "mydspace.messages.no-messages": "Nenhuma mensagem ainda", - - // "mydspace.messages.send-btn": "Send", - "mydspace.messages.send-btn": "Enviar", - - // "mydspace.messages.show-msg": "Show message", - "mydspace.messages.show-msg": "Mostrar mensagem", - - // "mydspace.messages.subject-placeholder": "Subject...", - "mydspace.messages.subject-placeholder": "Assunto...", - - // "mydspace.messages.submitter-help": "Select this option to send a message to controller.", - "mydspace.messages.submitter-help": "Selecione esta opção para enviar uma mensagem ao controlador.", - - // "mydspace.messages.title": "Messages", - "mydspace.messages.title": "Mensagens", - - // "mydspace.messages.to": "To", - "mydspace.messages.to": "Para", - - // "mydspace.new-submission": "New submission", - "mydspace.new-submission": "Nova submissão", - - // "mydspace.results.head": "Your submissions", - "mydspace.results.head": "Minhas submissões", - - // "mydspace.results.no-abstract": "No Abstract", - "mydspace.results.no-abstract": "Sem Resumo", - - // "mydspace.results.no-authors": "No Authors", - "mydspace.results.no-authors": "Sem Autores", - - // "mydspace.results.no-collections": "No Collections", - "mydspace.results.no-collections": "Sem Coleções", - - // "mydspace.results.no-date": "No Date", - "mydspace.results.no-date": "Sem Data", - - // "mydspace.results.no-files": "No Files", - "mydspace.results.no-files": "Sem arquivos", - - // "mydspace.results.no-results": "There were no items to show", - "mydspace.results.no-results": "Não havia itens a mostrar", - - // "mydspace.results.no-title": "No title", - "mydspace.results.no-title": "Sem título", - - // "mydspace.results.no-uri": "No Uri", - "mydspace.results.no-uri": "Sem Uri", - - // "mydspace.show.workflow": "All tasks", - "mydspace.show.workflow": "Todas as tarefas", - - // "mydspace.show.workspace": "Your Submissions", - "mydspace.show.workspace": "Minhas Submissões", - - // "mydspace.status.archived": "Archived", - "mydspace.status.archived": "Arquivado", - - // "mydspace.status.validation": "Validation", - "mydspace.status.validation": "Validação", - - // "mydspace.status.waiting-for-controller": "Waiting for controller", - "mydspace.status.waiting-for-controller": "Esperando pelo controlador", - - // "mydspace.status.workflow": "Workflow", - "mydspace.status.workflow": "Fluxo de trabalho", - - // "mydspace.status.workspace": "Workspace", - "mydspace.status.workspace": "Espaço de trabalho", - - // "mydspace.title": "MyDSpace", - "mydspace.title": "MyDSpace", - - // "mydspace.upload.upload-failed": "Error creating new workspace. Please verify the content uploaded before retry.", - "mydspace.upload.upload-failed": "Erro ao criar novo espaço de trabalho. Por favor verifique o conteúdo enviado antes de tentar novamente.", - - // "mydspace.upload.upload-multiple-successful": "{{qty}} new workspace items created.", - "mydspace.upload.upload-multiple-successful": "{{qty}} novo(s) item(ns) de espaço de trabalho criados.", - - // "mydspace.upload.upload-successful": "New workspace item created. Click {{here}} for edit it.", - "mydspace.upload.upload-successful": "Novo item de espaço de trabalho criado. Clique {{here}} para o editar.", - - // "mydspace.view-btn": "View", - "mydspace.view-btn": "Ver", - - - - // "nav.browse.header": "All of DSpace", - "nav.browse.header": "Tudo no DSpace", - - // "nav.community-browse.header": "By Community", - "nav.community-browse.header": "Por Comunidade", - - // "nav.language": "Language switch", - "nav.language": "Seletor de idioma", - - // "nav.login": "Log In", - "nav.login": "Entrar", - - // "nav.logout": "Log Out", - "nav.logout": "Sair", - - // "nav.mydspace": "MyDSpace", - "nav.mydspace": "MyDSpace", - - // "nav.profile": "Profile", - // TODO New key - Add a translation - "nav.profile": "Profile", - - // "nav.search": "Search", - "nav.search": "Buscar", - - // "nav.statistics.header": "Statistics", - "nav.statistics.header": "Estatísticas", - - - - // "orgunit.listelement.badge": "Organizational Unit", - "orgunit.listelement.badge": "Unidade Organizacional", - - // "orgunit.page.city": "City", - "orgunit.page.city": "Cidade", - - // "orgunit.page.country": "Country", - "orgunit.page.country": "País", - - // "orgunit.page.dateestablished": "Date established", - "orgunit.page.dateestablished": "Data estabelecida", - - // "orgunit.page.description": "Description", - "orgunit.page.description": "Descrição", - - // "orgunit.page.id": "ID", - "orgunit.page.id": "ID", - - // "orgunit.page.titleprefix": "Organizational Unit: ", - "orgunit.page.titleprefix": "Unidade Organizacional: ", - - - - // "pagination.results-per-page": "Results Per Page", - "pagination.results-per-page": "Resultados por página", - - // "pagination.showing.detail": "{{ range }} of {{ total }}", - "pagination.showing.detail": "{{ range }} de {{ total }}", - - // "pagination.showing.label": "Now showing ", - "pagination.showing.label": "Agora exibindo ", - - // "pagination.sort-direction": "Sort Options", - "pagination.sort-direction": "Opções de Ordenação", - - - - // "person.listelement.badge": "Person", - "person.listelement.badge": "Pessoa", - - // "person.page.birthdate": "Birth Date", - "person.page.birthdate": "Data de nascimento", - - // "person.page.email": "Email Address", - "person.page.email": "Endereço de Email", - - // "person.page.firstname": "First Name", - "person.page.firstname": "Primeiro Nome", - - // "person.page.jobtitle": "Job Title", - "person.page.jobtitle": "Cargo", - - // "person.page.lastname": "Last Name", - "person.page.lastname": "Último Nome", - - // "person.page.link.full": "Show all metadata", - "person.page.link.full": "Mostrar todos os metadados", - - // "person.page.orcid": "ORCID", - "person.page.orcid": "ORCID", - - // "person.page.staffid": "Staff ID", - "person.page.staffid": "ID de Equipe", - - // "person.page.titleprefix": "Person: ", - "person.page.titleprefix": "Pessoa: ", - - // "person.search.results.head": "Person Search Results", - "person.search.results.head": "Resultado da Busca de Pessoa", - - // "person.search.title": "DSpace Angular :: Person Search", - "person.search.title": "DSpace Angular :: Buscar Pessoa", - - - - // "profile.breadcrumbs": "Update Profile", - // TODO New key - Add a translation - "profile.breadcrumbs": "Update Profile", - - // "profile.card.identify": "Identify", - // TODO New key - Add a translation - "profile.card.identify": "Identify", - - // "profile.card.security": "Security", - // TODO New key - Add a translation - "profile.card.security": "Security", - - // "profile.form.submit": "Update Profile", - // TODO New key - Add a translation - "profile.form.submit": "Update Profile", - - // "profile.groups.head": "Authorization groups you belong to", - // TODO New key - Add a translation - "profile.groups.head": "Authorization groups you belong to", - - // "profile.head": "Update Profile", - // TODO New key - Add a translation - "profile.head": "Update Profile", - - // "profile.metadata.form.error.firstname.required": "First Name is required", - // TODO New key - Add a translation - "profile.metadata.form.error.firstname.required": "First Name is required", - - // "profile.metadata.form.error.lastname.required": "Last Name is required", - // TODO New key - Add a translation - "profile.metadata.form.error.lastname.required": "Last Name is required", - - // "profile.metadata.form.label.email": "Email Address", - // TODO New key - Add a translation - "profile.metadata.form.label.email": "Email Address", - - // "profile.metadata.form.label.firstname": "First Name", - // TODO New key - Add a translation - "profile.metadata.form.label.firstname": "First Name", - - // "profile.metadata.form.label.language": "Language", - // TODO New key - Add a translation - "profile.metadata.form.label.language": "Language", - - // "profile.metadata.form.label.lastname": "Last Name", - // TODO New key - Add a translation - "profile.metadata.form.label.lastname": "Last Name", - - // "profile.metadata.form.label.phone": "Contact Telephone", - // TODO New key - Add a translation - "profile.metadata.form.label.phone": "Contact Telephone", - - // "profile.metadata.form.notifications.success.content": "Your changes to the profile were saved.", - // TODO New key - Add a translation - "profile.metadata.form.notifications.success.content": "Your changes to the profile were saved.", - - // "profile.metadata.form.notifications.success.title": "Profile saved", - // TODO New key - Add a translation - "profile.metadata.form.notifications.success.title": "Profile saved", - - // "profile.notifications.warning.no-changes.content": "No changes were made to the Profile.", - // TODO New key - Add a translation - "profile.notifications.warning.no-changes.content": "No changes were made to the Profile.", - - // "profile.notifications.warning.no-changes.title": "No changes", - // TODO New key - Add a translation - "profile.notifications.warning.no-changes.title": "No changes", - - // "profile.security.form.error.matching-passwords": "The passwords do not match.", - // TODO New key - Add a translation - "profile.security.form.error.matching-passwords": "The passwords do not match.", - - // "profile.security.form.error.password-length": "The password should be at least 6 characters long.", - // TODO New key - Add a translation - "profile.security.form.error.password-length": "The password should be at least 6 characters long.", - - // "profile.security.form.info": "Optionally, you can enter a new password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", - // TODO New key - Add a translation - "profile.security.form.info": "Optionally, you can enter a new password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", - - // "profile.security.form.label.password": "Password", - // TODO New key - Add a translation - "profile.security.form.label.password": "Password", - - // "profile.security.form.label.passwordrepeat": "Retype to confirm", - // TODO New key - Add a translation - "profile.security.form.label.passwordrepeat": "Retype to confirm", - - // "profile.security.form.notifications.success.content": "Your changes to the password were saved.", - // TODO New key - Add a translation - "profile.security.form.notifications.success.content": "Your changes to the password were saved.", - - // "profile.security.form.notifications.success.title": "Password saved", - // TODO New key - Add a translation - "profile.security.form.notifications.success.title": "Password saved", - - // "profile.security.form.notifications.error.title": "Error changing passwords", - // TODO New key - Add a translation - "profile.security.form.notifications.error.title": "Error changing passwords", - - // "profile.security.form.notifications.error.not-long-enough": "The password has to be at least 6 characters long.", - // TODO New key - Add a translation - "profile.security.form.notifications.error.not-long-enough": "The password has to be at least 6 characters long.", - - // "profile.security.form.notifications.error.not-same": "The provided passwords are not the same.", - // TODO New key - Add a translation - "profile.security.form.notifications.error.not-same": "The provided passwords are not the same.", - - // "profile.title": "Update Profile", - // TODO New key - Add a translation - "profile.title": "Update Profile", - - - - // "project.listelement.badge": "Research Project", - "project.listelement.badge": "Projeto de Pesquisa", - - // "project.page.contributor": "Contributors", - "project.page.contributor": "Contribuidores", - - // "project.page.description": "Description", - "project.page.description": "Descrição", - - // "project.page.expectedcompletion": "Expected Completion", - "project.page.expectedcompletion": "Conclusão esperada", - - // "project.page.funder": "Funders", - "project.page.funder": "Financiadores", - - // "project.page.id": "ID", - "project.page.id": "ID", - - // "project.page.keyword": "Keywords", - "project.page.keyword": "Palavras-chave", - - // "project.page.status": "Status", - "project.page.status": "Estado", - - // "project.page.titleprefix": "Research Project: ", - "project.page.titleprefix": "Projeto de Pesquisa: ", - - // "project.search.results.head": "Project Search Results", - // TODO New key - Add a translation - "project.search.results.head": "Project Search Results", - - - - // "publication.listelement.badge": "Publication", - "publication.listelement.badge": "Publicação", - - // "publication.page.description": "Description", - "publication.page.description": "Descrição", - - // "publication.page.journal-issn": "Journal ISSN", - "publication.page.journal-issn": "ISSN do Periódico", - - // "publication.page.journal-title": "Journal Title", - "publication.page.journal-title": "Título do Periódico", - - // "publication.page.publisher": "Publisher", - "publication.page.publisher": "Editora", - - // "publication.page.titleprefix": "Publication: ", - "publication.page.titleprefix": "Publicação: ", - - // "publication.page.volume-title": "Volume Title", - "publication.page.volume-title": "Título do Volume", - - // "publication.search.results.head": "Publication Search Results", - "publication.search.results.head": "Resultados da Busca de Publicação", - - // "publication.search.title": "DSpace Angular :: Publication Search", - "publication.search.title": "DSpace Angular :: Busca de Publicações", - - - - // "relationships.isAuthorOf": "Authors", - "relationships.isAuthorOf": "Autores", - - // "relationships.isIssueOf": "Journal Issues", - "relationships.isIssueOf": "Fascículo", - - // "relationships.isJournalIssueOf": "Journal Issue", - "relationships.isJournalIssueOf": "Fascículo", - - // "relationships.isJournalOf": "Journals", - "relationships.isJournalOf": "Periódicos", - - // "relationships.isOrgUnitOf": "Organizational Units", - "relationships.isOrgUnitOf": "Unidades Organizacionais", - - // "relationships.isPersonOf": "Authors", - "relationships.isPersonOf": "Autores", - - // "relationships.isProjectOf": "Research Projects", - "relationships.isProjectOf": "Projetos de Pesquisa", - - // "relationships.isPublicationOf": "Publications", - "relationships.isPublicationOf": "Publicações", - - // "relationships.isPublicationOfJournalIssue": "Articles", - "relationships.isPublicationOfJournalIssue": "Artigos", - - // "relationships.isSingleJournalOf": "Journal", - "relationships.isSingleJournalOf": "Periódico", - - // "relationships.isSingleVolumeOf": "Journal Volume", - "relationships.isSingleVolumeOf": "Volume do Periódico", - - // "relationships.isVolumeOf": "Journal Volumes", - "relationships.isVolumeOf": "Volumes do Periódico", - - // "relationships.isContributorOf": "Contributors", - // TODO New key - Add a translation - "relationships.isContributorOf": "Contributors", - - - - // "search.description": "", - "search.description": "", - - // "search.switch-configuration.title": "Show", - "search.switch-configuration.title": "Mostrar", - - // "search.title": "DSpace Angular :: Search", - "search.title": "DSpace Angular :: Busca", - - // "search.breadcrumbs": "Search", - // TODO New key - Add a translation - "search.breadcrumbs": "Search", - - - // "search.filters.applied.f.author": "Author", - "search.filters.applied.f.author": "Autor", - - // "search.filters.applied.f.dateIssued.max": "End date", - "search.filters.applied.f.dateIssued.max": "Data final", - - // "search.filters.applied.f.dateIssued.min": "Start date", - "search.filters.applied.f.dateIssued.min": "Data inicial", - - // "search.filters.applied.f.dateSubmitted": "Date submitted", - "search.filters.applied.f.dateSubmitted": "Data de submissão", - - // "search.filters.applied.f.discoverable": "Private", - // TODO New key - Add a translation - "search.filters.applied.f.discoverable": "Private", - - // "search.filters.applied.f.entityType": "Item Type", - "search.filters.applied.f.entityType": "Tipo de Item", - - // "search.filters.applied.f.has_content_in_original_bundle": "Has files", - "search.filters.applied.f.has_content_in_original_bundle": "Tem arquivos", - - // "search.filters.applied.f.itemtype": "Type", - "search.filters.applied.f.itemtype": "Tipo", - - // "search.filters.applied.f.namedresourcetype": "Status", - "search.filters.applied.f.namedresourcetype": "Estado", - - // "search.filters.applied.f.subject": "Subject", - "search.filters.applied.f.subject": "Assunto", - - // "search.filters.applied.f.submitter": "Submitter", - "search.filters.applied.f.submitter": "Submetedor", - - // "search.filters.applied.f.jobTitle": "Job Title", - // TODO New key - Add a translation - "search.filters.applied.f.jobTitle": "Job Title", - - // "search.filters.applied.f.birthDate.max": "End birth date", - // TODO New key - Add a translation - "search.filters.applied.f.birthDate.max": "End birth date", - - // "search.filters.applied.f.birthDate.min": "Start birth date", - // TODO New key - Add a translation - "search.filters.applied.f.birthDate.min": "Start birth date", - - // "search.filters.applied.f.withdrawn": "Withdrawn", - // TODO New key - Add a translation - "search.filters.applied.f.withdrawn": "Withdrawn", - - - - // "search.filters.filter.author.head": "Author", - "search.filters.filter.author.head": "Autor", - - // "search.filters.filter.author.placeholder": "Author name", - "search.filters.filter.author.placeholder": "Nome do autor", - - // "search.filters.filter.birthDate.head": "Birth Date", - "search.filters.filter.birthDate.head": "Data de nascimento", - - // "search.filters.filter.birthDate.placeholder": "Birth Date", - "search.filters.filter.birthDate.placeholder": "Data de nascimento", - - // "search.filters.filter.creativeDatePublished.head": "Date Published", - "search.filters.filter.creativeDatePublished.head": "Data de publicação", - - // "search.filters.filter.creativeDatePublished.placeholder": "Date Published", - "search.filters.filter.creativeDatePublished.placeholder": "Data de publicação", - - // "search.filters.filter.creativeWorkEditor.head": "Editor", - "search.filters.filter.creativeWorkEditor.head": "Editor", - - // "search.filters.filter.creativeWorkEditor.placeholder": "Editor", - "search.filters.filter.creativeWorkEditor.placeholder": "Editor", - - // "search.filters.filter.creativeWorkKeywords.head": "Subject", - "search.filters.filter.creativeWorkKeywords.head": "Assunto", - - // "search.filters.filter.creativeWorkKeywords.placeholder": "Subject", - "search.filters.filter.creativeWorkKeywords.placeholder": "Assunto", - - // "search.filters.filter.creativeWorkPublisher.head": "Publisher", - "search.filters.filter.creativeWorkPublisher.head": "Editora", - - // "search.filters.filter.creativeWorkPublisher.placeholder": "Publisher", - "search.filters.filter.creativeWorkPublisher.placeholder": "Editora", - - // "search.filters.filter.dateIssued.head": "Date", - "search.filters.filter.dateIssued.head": "Data", - - // "search.filters.filter.dateIssued.max.placeholder": "Minimum Date", - "search.filters.filter.dateIssued.max.placeholder": "Data Mínima", - - // "search.filters.filter.dateIssued.min.placeholder": "Maximum Date", - "search.filters.filter.dateIssued.min.placeholder": "Data Máxima", - - // "search.filters.filter.dateSubmitted.head": "Date submitted", - "search.filters.filter.dateSubmitted.head": "Data de submissão", - - // "search.filters.filter.dateSubmitted.placeholder": "Date submitted", - "search.filters.filter.dateSubmitted.placeholder": "Data de submissão", - - // "search.filters.filter.discoverable.head": "Private", - // TODO New key - Add a translation - "search.filters.filter.discoverable.head": "Private", - - // "search.filters.filter.withdrawn.head": "Withdrawn", - // TODO New key - Add a translation - "search.filters.filter.withdrawn.head": "Withdrawn", - - // "search.filters.filter.entityType.head": "Item Type", - "search.filters.filter.entityType.head": "Tipo de Item", - - // "search.filters.filter.entityType.placeholder": "Item Type", - "search.filters.filter.entityType.placeholder": "Tipo de Item", - - // "search.filters.filter.has_content_in_original_bundle.head": "Has files", - "search.filters.filter.has_content_in_original_bundle.head": "Tem arquivos", - - // "search.filters.filter.itemtype.head": "Type", - "search.filters.filter.itemtype.head": "Tipo", - - // "search.filters.filter.itemtype.placeholder": "Type", - "search.filters.filter.itemtype.placeholder": "Tipo", - - // "search.filters.filter.jobTitle.head": "Job Title", - "search.filters.filter.jobTitle.head": "Cargo", - - // "search.filters.filter.jobTitle.placeholder": "Job Title", - "search.filters.filter.jobTitle.placeholder": "Cargo", - - // "search.filters.filter.knowsLanguage.head": "Known language", - "search.filters.filter.knowsLanguage.head": "Idioma conhecido", - - // "search.filters.filter.knowsLanguage.placeholder": "Known language", - "search.filters.filter.knowsLanguage.placeholder": "Idioma conhecido", - - // "search.filters.filter.namedresourcetype.head": "Status", - "search.filters.filter.namedresourcetype.head": "Estado", - - // "search.filters.filter.namedresourcetype.placeholder": "Status", - "search.filters.filter.namedresourcetype.placeholder": "Estado", - - // "search.filters.filter.objectpeople.head": "People", - "search.filters.filter.objectpeople.head": "Pessoas", - - // "search.filters.filter.objectpeople.placeholder": "People", - "search.filters.filter.objectpeople.placeholder": "Pessoas", - - // "search.filters.filter.organizationAddressCountry.head": "Country", - "search.filters.filter.organizationAddressCountry.head": "País", - - // "search.filters.filter.organizationAddressCountry.placeholder": "Country", - "search.filters.filter.organizationAddressCountry.placeholder": "País", - - // "search.filters.filter.organizationAddressLocality.head": "City", - "search.filters.filter.organizationAddressLocality.head": "Cidade", - - // "search.filters.filter.organizationAddressLocality.placeholder": "City", - "search.filters.filter.organizationAddressLocality.placeholder": "Cidade", - - // "search.filters.filter.organizationFoundingDate.head": "Date Founded", - "search.filters.filter.organizationFoundingDate.head": "Data de Fundação", - - // "search.filters.filter.organizationFoundingDate.placeholder": "Date Founded", - "search.filters.filter.organizationFoundingDate.placeholder": "Data de Fundação", - - // "search.filters.filter.scope.head": "Scope", - "search.filters.filter.scope.head": "Escopo", - - // "search.filters.filter.scope.placeholder": "Scope filter", - "search.filters.filter.scope.placeholder": "Filtrar escopo", - - // "search.filters.filter.show-less": "Collapse", - "search.filters.filter.show-less": "Mostrar menos", - - // "search.filters.filter.show-more": "Show more", - "search.filters.filter.show-more": "Mostrar mais", - - // "search.filters.filter.subject.head": "Subject", - "search.filters.filter.subject.head": "Assunto", - - // "search.filters.filter.subject.placeholder": "Subject", - "search.filters.filter.subject.placeholder": "Assunto", - - // "search.filters.filter.submitter.head": "Submitter", - "search.filters.filter.submitter.head": "Submetedor", - - // "search.filters.filter.submitter.placeholder": "Submitter", - "search.filters.filter.submitter.placeholder": "Submetedor", - - - - // "search.filters.entityType.JournalIssue": "Journal Issue", - // TODO New key - Add a translation - "search.filters.entityType.JournalIssue": "Journal Issue", - - // "search.filters.entityType.JournalVolume": "Journal Volume", - // TODO New key - Add a translation - "search.filters.entityType.JournalVolume": "Journal Volume", - - // "search.filters.entityType.OrgUnit": "Organizational Unit", - "search.filters.entityType.OrgUnit": "Unidade Organizacional", - - // "search.filters.has_content_in_original_bundle.true": "Yes", - "search.filters.has_content_in_original_bundle.true": "Sim", - - // "search.filters.has_content_in_original_bundle.false": "No", - "search.filters.has_content_in_original_bundle.false": "Não", - - // "search.filters.discoverable.true": "No", - "search.filters.discoverable.true": "Não", - - // "search.filters.discoverable.false": "Yes", - "search.filters.discoverable.false": "Sim", - - // "search.filters.withdrawn.true": "Yes", - "search.filters.withdrawn.true": "Sim", - - // "search.filters.withdrawn.false": "No", - "search.filters.withdrawn.false": "Não", - - // "search.filters.head": "Filters", - "search.filters.head": "Filtros", - - // "search.filters.reset": "Reset filters", - "search.filters.reset": "Limpar filtros", - - // "search.form.search": "Search", - "search.form.search": "Buscar", - - // "search.form.search_dspace": "Search DSpace", - "search.form.search_dspace": "Buscar no DSpace", - - // "search.form.search_mydspace": "Search MyDSpace", - "search.form.search_mydspace": "Buscar no MyDSpace", - - - - // "search.results.head": "Search Results", - "search.results.head": "Resultados de Busca", - - // "search.results.no-results": "Your search returned no results. Having trouble finding what you're looking for? Try putting", - "search.results.no-results": "Sua busca não trouxe resultados. Tendo problema em localizar o que está buscando? Tente", - - // "search.results.no-results-link": "quotes around it", - "search.results.no-results-link": "envolver entre aspas", - - // "search.results.empty": "Your search returned no results.", - "search.results.empty": "Sua pesquisa não retornou resultados.", - - - - // "search.sidebar.close": "Back to results", - "search.sidebar.close": "Voltar para os resultados", - - // "search.sidebar.filters.title": "Filters", - "search.sidebar.filters.title": "Filtros", - - // "search.sidebar.open": "Search Tools", - "search.sidebar.open": "Ferramentas de busca", - - // "search.sidebar.results": "results", - "search.sidebar.results": "resultados", - - // "search.sidebar.settings.rpp": "Results per page", - "search.sidebar.settings.rpp": "Resultados por página", - - // "search.sidebar.settings.sort-by": "Sort By", - "search.sidebar.settings.sort-by": "Ordenar por", - - // "search.sidebar.settings.title": "Settings", - "search.sidebar.settings.title": "Configurações", - - - - // "search.view-switch.show-detail": "Show detail", - "search.view-switch.show-detail": "Mostrar detalhes", - - // "search.view-switch.show-grid": "Show as grid", - "search.view-switch.show-grid": "Mostrar como grade", - - // "search.view-switch.show-list": "Show as list", - "search.view-switch.show-list": "Mostrar como lista", - - - - // "sorting.dc.title.ASC": "Title Ascending", - "sorting.dc.title.ASC": "Título Ascendente", - - // "sorting.dc.title.DESC": "Title Descending", - "sorting.dc.title.DESC": "Título Descendente", - - // "sorting.score.DESC": "Relevance", - "sorting.score.DESC": "Relevância", - - - - // "submission.edit.title": "Edit Submission", - "submission.edit.title": "Editar Submissão", - - // "submission.general.cannot_submit": "You have not the privilege to make a new submission.", - "submission.general.cannot_submit": "Você mão tem privilégios para fazer uma nova submissão.", - - // "submission.general.deposit": "Deposit", - "submission.general.deposit": "Depositar", - - // "submission.general.discard.confirm.cancel": "Cancel", - "submission.general.discard.confirm.cancel": "Cancelar", - - // "submission.general.discard.confirm.info": "This operation can't be undone. Are you sure?", - "submission.general.discard.confirm.info": "Esta operação não pode ser desfeita. Tem certeza?", - - // "submission.general.discard.confirm.submit": "Yes, I'm sure", - "submission.general.discard.confirm.submit": "Sim, tenho certeza", - - // "submission.general.discard.confirm.title": "Discard submission", - "submission.general.discard.confirm.title": "Descartar submissão", - - // "submission.general.discard.submit": "Discard", - "submission.general.discard.submit": "Descartar", - - // "submission.general.save": "Save", - "submission.general.save": "Salvar", - - // "submission.general.save-later": "Save for later", - "submission.general.save-later": "Salvar para continuar depois", - - - - // "submission.sections.describe.relationship-lookup.close": "Close", - "submission.sections.describe.relationship-lookup.close": "Fechar", - - // "submission.sections.describe.relationship-lookup.external-source.added": "Successfully added local entry to the selection", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.added": "Successfully added local entry to the selection", - - // "submission.sections.describe.relationship-lookup.external-source.import-button-title.Author": "Import remote author", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-button-title.Author": "Import remote author", - - // "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal": "Import remote journal", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal": "Import remote journal", - - // "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal Issue": "Import remote journal issue", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal Issue": "Import remote journal issue", - - // "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal Volume": "Import remote journal volume", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal Volume": "Import remote journal volume", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.title": "Import Remote Author", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.title": "Import Remote Author", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.added.local-entity": "Successfully added local author to the selection", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.added.local-entity": "Successfully added local author to the selection", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.added.new-entity": "Successfully imported and added external author to the selection", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.added.new-entity": "Successfully imported and added external author to the selection", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.authority": "Authority", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.authority": "Authority", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.authority.new": "Import as a new local authority entry", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.authority.new": "Import as a new local authority entry", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.cancel": "Cancel", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.cancel": "Cancel", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.collection": "Select a collection to import new entries to", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.collection": "Select a collection to import new entries to", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.entities": "Entities", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.entities": "Entities", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.entities.new": "Import as a new local entity", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.entities.new": "Import as a new local entity", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.lcname": "Importing from LC Name", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.head.lcname": "Importing from LC Name", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.orcid": "Importing from ORCID", - "submission.sections.describe.relationship-lookup.external-source.import-modal.head.orcid": "Importando do ORCID", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.sherpaJournal": "Importing from Sherpa Journal", - "submission.sections.describe.relationship-lookup.external-source.import-modal.head.sherpaJournal": "Importando do Sherpa Journal", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.sherpaPublisher": "Importing from Sherpa Publisher", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.head.sherpaPublisher": "Importing from Sherpa Publisher", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.import": "Import", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.import": "Import", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal.title": "Import Remote Journal", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal.title": "Import Remote Journal", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal.added.local-entity": "Successfully added local journal to the selection", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal.added.local-entity": "Successfully added local journal to the selection", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal.added.new-entity": "Successfully imported and added external journal to the selection", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal.added.new-entity": "Successfully imported and added external journal to the selection", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Issue.title": "Import Remote Journal Issue", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Issue.title": "Import Remote Journal Issue", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Issue.added.local-entity": "Successfully added local journal issue to the selection", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Issue.added.local-entity": "Successfully added local journal issue to the selection", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Issue.added.new-entity": "Successfully imported and added external journal issue to the selection", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Issue.added.new-entity": "Successfully imported and added external journal issue to the selection", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Volume.title": "Import Remote Journal Volume", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Volume.title": "Import Remote Journal Volume", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Volume.added.local-entity": "Successfully added local journal volume to the selection", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Volume.added.local-entity": "Successfully added local journal volume to the selection", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Volume.added.new-entity": "Successfully imported and added external journal volume to the selection", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Volume.added.new-entity": "Successfully imported and added external journal volume to the selection", - - // "submission.sections.describe.relationship-lookup.external-source.import-modal.select": "Select a local match:", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.select": "Select a local match:", - - // "submission.sections.describe.relationship-lookup.search-tab.deselect-all": "Deselect all", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.deselect-all": "Deselect all", - - // "submission.sections.describe.relationship-lookup.search-tab.deselect-page": "Deselect page", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.deselect-page": "Deselect page", - - // "submission.sections.describe.relationship-lookup.search-tab.loading": "Loading...", - "submission.sections.describe.relationship-lookup.search-tab.loading": "Carregando...", - - // "submission.sections.describe.relationship-lookup.search-tab.placeholder": "Search query", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.placeholder": "Search query", - - // "submission.sections.describe.relationship-lookup.search-tab.search": "Go", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.search": "Go", - - // "submission.sections.describe.relationship-lookup.search-tab.select-all": "Select all", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.select-all": "Select all", - - // "submission.sections.describe.relationship-lookup.search-tab.select-page": "Select page", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.select-page": "Select page", - - // "submission.sections.describe.relationship-lookup.selected": "Selected {{ size }} items", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.selected": "Selected {{ size }} items", - - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Author": "Local Authors ({{ count }})", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Author": "Local Authors ({{ count }})", - - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal": "Local Journals ({{ count }})", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal": "Local Journals ({{ count }})", - - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal Issue": "Local Journal Issues ({{ count }})", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal Issue": "Local Journal Issues ({{ count }})", - - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal Volume": "Local Journal Volumes ({{ count }})", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal Volume": "Local Journal Volumes ({{ count }})", - - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaJournal": "Sherpa Journals ({{ count }})", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaJournal": "Sherpa Journals ({{ count }})", - - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaPublisher": "Sherpa Publishers ({{ count }})", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaPublisher": "Sherpa Publishers ({{ count }})", - - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.orcid": "ORCID ({{ count }})", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.tab-title.orcid": "ORCID ({{ count }})", - - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.lcname": "LC Names ({{ count }})", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.tab-title.lcname": "LC Names ({{ count }})", - - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Funding Agency": "Search for Funding Agencies", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Funding Agency": "Search for Funding Agencies", - - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Funding": "Search for Funding", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Funding": "Search for Funding", - - // "submission.sections.describe.relationship-lookup.selection-tab.tab-title": "Current Selection ({{ count }})", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.selection-tab.tab-title": "Current Selection ({{ count }})", - - // "submission.sections.describe.relationship-lookup.title.Journal Issue": "Journal Issues", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.title.Journal Issue": "Journal Issues", - - // "submission.sections.describe.relationship-lookup.title.Journal Volume": "Journal Volumes", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.title.Journal Volume": "Journal Volumes", - - // "submission.sections.describe.relationship-lookup.title.Journal": "Journals", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.title.Journal": "Journals", - - // "submission.sections.describe.relationship-lookup.title.Author": "Authors", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.title.Author": "Authors", - - // "submission.sections.describe.relationship-lookup.title.Funding Agency": "Funding Agency", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.title.Funding Agency": "Funding Agency", - - // "submission.sections.describe.relationship-lookup.title.Funding": "Funding", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.title.Funding": "Funding", - - // "submission.sections.describe.relationship-lookup.search-tab.toggle-dropdown": "Toggle dropdown", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.toggle-dropdown": "Toggle dropdown", - - // "submission.sections.describe.relationship-lookup.selection-tab.settings": "Settings", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.selection-tab.settings": "Settings", - - // "submission.sections.describe.relationship-lookup.selection-tab.no-selection": "Your selection is currently empty.", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.selection-tab.no-selection": "Your selection is currently empty.", - - // "submission.sections.describe.relationship-lookup.selection-tab.title.Author": "Selected Authors", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.selection-tab.title.Author": "Selected Authors", - - // "submission.sections.describe.relationship-lookup.selection-tab.title.Journal": "Selected Journals", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.selection-tab.title.Journal": "Selected Journals", - - // "submission.sections.describe.relationship-lookup.selection-tab.title.Journal Volume": "Selected Journal Volume", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.selection-tab.title.Journal Volume": "Selected Journal Volume", - - // "submission.sections.describe.relationship-lookup.selection-tab.title.Journal Issue": "Selected Issue", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.selection-tab.title.Journal Issue": "Selected Issue", - - // "submission.sections.describe.relationship-lookup.selection-tab.title.sherpaJournal": "Search Results", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.selection-tab.title.sherpaJournal": "Search Results", - - // "submission.sections.describe.relationship-lookup.selection-tab.title.sherpaPublisher": "Search Results", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.selection-tab.title.sherpaPublisher": "Search Results", - - // "submission.sections.describe.relationship-lookup.selection-tab.title.orcid": "Search Results", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.selection-tab.title.orcid": "Search Results", - - // "submission.sections.describe.relationship-lookup.selection-tab.title.lcname": "Search Results", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.selection-tab.title.lcname": "Search Results", - - // "submission.sections.describe.relationship-lookup.name-variant.notification.content": "Would you like to save \"{{ value }}\" as a name variant for this person so you and others can reuse it for future submissions? If you don\'t you can still use it for this submission.", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.name-variant.notification.content": "Would you like to save \"{{ value }}\" as a name variant for this person so you and others can reuse it for future submissions? If you don\'t you can still use it for this submission.", - - // "submission.sections.describe.relationship-lookup.name-variant.notification.confirm": "Save a new name variant", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.name-variant.notification.confirm": "Save a new name variant", - - // "submission.sections.describe.relationship-lookup.name-variant.notification.decline": "Use only for this submission", - // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.name-variant.notification.decline": "Use only for this submission", - - // "submission.sections.general.add-more": "Add more", - "submission.sections.general.add-more": "Adicionar mais", - - // "submission.sections.general.collection": "Collection", - "submission.sections.general.collection": "Coleção", - - // "submission.sections.general.deposit_error_notice": "There was an issue when submitting the item, please try again later.", - "submission.sections.general.deposit_error_notice": "Houve um problema durante a submissão do item, por favor tente novamente mais tarde.", - - // "submission.sections.general.deposit_success_notice": "Submission deposited successfully.", - "submission.sections.general.deposit_success_notice": "Submissão depositada com sucesso.", - - // "submission.sections.general.discard_error_notice": "There was an issue when discarding the item, please try again later.", - "submission.sections.general.discard_error_notice": "Houve um problema ao descartar o item, por favor tente novamente mais tarde.", - - // "submission.sections.general.discard_success_notice": "Submission discarded successfully.", - "submission.sections.general.discard_success_notice": "Submissão descartada com sucesso.", - - // "submission.sections.general.metadata-extracted": "New metadata have been extracted and added to the {{sectionId}} section.", - "submission.sections.general.metadata-extracted": "Novos metadados foram extraídos e adicionados a seção {{sectionId}}.", - - // "submission.sections.general.metadata-extracted-new-section": "New {{sectionId}} section has been added to submission.", - "submission.sections.general.metadata-extracted-new-section": "Nova seção {{sectionId}} foi adicionada a dubmissão.", - - // "submission.sections.general.no-collection": "No collection found", - "submission.sections.general.no-collection": "Nenhuma coleção encontrada", - - // "submission.sections.general.no-sections": "No options available", - "submission.sections.general.no-sections": "Sem opções disponíveis", - - // "submission.sections.general.save_error_notice": "There was an issue when saving the item, please try again later.", - "submission.sections.general.save_error_notice": "Houve um problema ao salvar o item, por favor tente novamente mais tarde.", - - // "submission.sections.general.save_success_notice": "Submission saved successfully.", - "submission.sections.general.save_success_notice": "Submissão salva com sucesso.", - - // "submission.sections.general.search-collection": "Search for a collection", - "submission.sections.general.search-collection": "Buscar uma coleção", - - // "submission.sections.general.sections_not_valid": "There are incomplete sections.", - "submission.sections.general.sections_not_valid": "Há seções incompletas.", - - - - // "submission.sections.submit.progressbar.cclicense": "Creative commons license", - "submission.sections.submit.progressbar.cclicense": "Licença creative commons", - - // "submission.sections.submit.progressbar.describe.recycle": "Recycle", - "submission.sections.submit.progressbar.describe.recycle": "Reciclar", - - // "submission.sections.submit.progressbar.describe.stepcustom": "Describe", - "submission.sections.submit.progressbar.describe.stepcustom": "Descrever", - - // "submission.sections.submit.progressbar.describe.stepone": "Describe", - "submission.sections.submit.progressbar.describe.stepone": "Descrever", - - // "submission.sections.submit.progressbar.describe.steptwo": "Describe", - "submission.sections.submit.progressbar.describe.steptwo": "Descrever", - - // "submission.sections.submit.progressbar.detect-duplicate": "Potential duplicates", - "submission.sections.submit.progressbar.detect-duplicate": "Duplicados em potencial", - - // "submission.sections.submit.progressbar.license": "Deposit license", - "submission.sections.submit.progressbar.license": "Depositar licença", - - // "submission.sections.submit.progressbar.upload": "Upload files", - "submission.sections.submit.progressbar.upload": "Enviar arquivos", - - - - // "submission.sections.upload.delete.confirm.cancel": "Cancel", - "submission.sections.upload.delete.confirm.cancel": "Cancelar", - - // "submission.sections.upload.delete.confirm.info": "This operation can't be undone. Are you sure?", - "submission.sections.upload.delete.confirm.info": "Esta operação é irreversível. Tem certeza?", - - // "submission.sections.upload.delete.confirm.submit": "Yes, I'm sure", - "submission.sections.upload.delete.confirm.submit": "Sim, tenho certeza", - - // "submission.sections.upload.delete.confirm.title": "Delete bitstream", - "submission.sections.upload.delete.confirm.title": "Remover bitstream", - - // "submission.sections.upload.delete.submit": "Delete", - "submission.sections.upload.delete.submit": "Remover", - - // "submission.sections.upload.drop-message": "Drop files to attach them to the item", - "submission.sections.upload.drop-message": "Arraste arquivos para anexá-los ao item", - - // "submission.sections.upload.form.access-condition-label": "Access condition type", - "submission.sections.upload.form.access-condition-label": "Tipo de condição de acesso", - - // "submission.sections.upload.form.date-required": "Date is required.", - "submission.sections.upload.form.date-required": "Data necessária.", - - // "submission.sections.upload.form.from-label": "Access grant from", - "submission.sections.upload.form.from-label": "Acesso permitido a partir de", - - // "submission.sections.upload.form.from-placeholder": "From", - "submission.sections.upload.form.from-placeholder": "De", - - // "submission.sections.upload.form.group-label": "Group", - "submission.sections.upload.form.group-label": "Grupo", - - // "submission.sections.upload.form.group-required": "Group is required.", - "submission.sections.upload.form.group-required": "Grupo é necessário.", - - // "submission.sections.upload.form.until-label": "Access grant until", - "submission.sections.upload.form.until-label": "Acesso permitido até", - - // "submission.sections.upload.form.until-placeholder": "Until", - "submission.sections.upload.form.until-placeholder": "Até", - - // "submission.sections.upload.header.policy.default.nolist": "Uploaded files in the {{collectionName}} collection will be accessible according to the following group(s):", - "submission.sections.upload.header.policy.default.nolist": "Arquivos enviados na coleção {{collectionName}} serão acessiveis de acordo com o(s) seguinte(s) grupo(s):", - - // "submission.sections.upload.header.policy.default.withlist": "Please note that uploaded files in the {{collectionName}} collection will be accessible, in addition to what is explicitly decided for the single file, with the following group(s):", - "submission.sections.upload.header.policy.default.withlist": "Por favor note que arquivos enviados a coleção {{collectionName}} serão acessíveis, de acordo com o que está explicitamente definido no arquivo, no(s) seguinte(s) grupo(s):", - - // "submission.sections.upload.info": "Here you will find all the files currently in the item. You can update the file metadata and access conditions or upload additional files just dragging & dropping them everywhere in the page", - "submission.sections.upload.info": "Aqui voCẽ encontra todos os arquivos que estão atualmente no item. Você pode atualizar os metadados do arquivo e condições de acesso ou enviar arquivos adicionais apenas arrastando os arquivos em qualquer lugar da página", - - // "submission.sections.upload.no-entry": "No", - "submission.sections.upload.no-entry": "Não", - - // "submission.sections.upload.no-file-uploaded": "No file uploaded yet.", - "submission.sections.upload.no-file-uploaded": "Nenhum arquivo enviado ainda.", - - // "submission.sections.upload.save-metadata": "Save metadata", - "submission.sections.upload.save-metadata": "Salvar metadados", - - // "submission.sections.upload.undo": "Cancel", - "submission.sections.upload.undo": "Cancelar", - - // "submission.sections.upload.upload-failed": "Upload failed", - "submission.sections.upload.upload-failed": "Falha no envio", - - // "submission.sections.upload.upload-successful": "Upload successful", - "submission.sections.upload.upload-successful": "Enviado com sucesso", - - - - // "submission.submit.title": "Submission", - "submission.submit.title": "Submissão", - - - - // "submission.workflow.generic.delete": "Delete", - "submission.workflow.generic.delete": "Apagar", - - // "submission.workflow.generic.delete-help": "If you would to discard this item, select \"Delete\". You will then be asked to confirm it.", - "submission.workflow.generic.delete-help": "Se você gostaria de descartar este item, selecione \"Apagar\". Você será questionado para confirmar.", - - // "submission.workflow.generic.edit": "Edit", - "submission.workflow.generic.edit": "Editar", - - // "submission.workflow.generic.edit-help": "Select this option to change the item's metadata.", - "submission.workflow.generic.edit-help": "Selecione esta opção para modificar os metadados do item.", - - // "submission.workflow.generic.view": "View", - "submission.workflow.generic.view": "Visualizar", - - // "submission.workflow.generic.view-help": "Select this option to view the item's metadata.", - "submission.workflow.generic.view-help": "Selecione esta opção para ver o metadados do item.", - - - - // "submission.workflow.tasks.claimed.approve": "Approve", - "submission.workflow.tasks.claimed.approve": "Aprovar", - - // "submission.workflow.tasks.claimed.approve_help": "If you have reviewed the item and it is suitable for inclusion in the collection, select \"Approve\".", - "submission.workflow.tasks.claimed.approve_help": "Se você revisou o item e este está adequado para inclusão na coleção, selecione \"Aprovar\".", - - // "submission.workflow.tasks.claimed.edit": "Edit", - "submission.workflow.tasks.claimed.edit": "Editar", - - // "submission.workflow.tasks.claimed.edit_help": "Select this option to change the item's metadata.", - "submission.workflow.tasks.claimed.edit_help": "Selecione esta opção para modificar os metadados do item.", - - // "submission.workflow.tasks.claimed.reject.reason.info": "Please enter your reason for rejecting the submission into the box below, indicating whether the submitter may fix a problem and resubmit.", - "submission.workflow.tasks.claimed.reject.reason.info": "Por favor informe o motivo pela rejeição da submissão na caixa abaixo, indicando se o submetedor pode corrigir um problema e reenviar.", - - // "submission.workflow.tasks.claimed.reject.reason.placeholder": "Describe the reason of reject", - "submission.workflow.tasks.claimed.reject.reason.placeholder": "Descreva o motivo da rejeição", - - // "submission.workflow.tasks.claimed.reject.reason.submit": "Reject item", - "submission.workflow.tasks.claimed.reject.reason.submit": "Rejeitar item", - - // "submission.workflow.tasks.claimed.reject.reason.title": "Reason", - "submission.workflow.tasks.claimed.reject.reason.title": "Motivo", - - // "submission.workflow.tasks.claimed.reject.submit": "Reject", - "submission.workflow.tasks.claimed.reject.submit": "Rejeitar", - - // "submission.workflow.tasks.claimed.reject_help": "If you have reviewed the item and found it is not suitable for inclusion in the collection, select \"Reject\". You will then be asked to enter a message indicating why the item is unsuitable, and whether the submitter should change something and resubmit.", - "submission.workflow.tasks.claimed.reject_help": "Se você revisou o item e achou que ele não é adequado para inclusão na coleção, selecione \"Rejeitar\". Você será questionado a informar uma mensagem indicando porque o item está inadequado e se o submetedor deve modificar algo e reenviar.", - - // "submission.workflow.tasks.claimed.return": "Return to pool", - "submission.workflow.tasks.claimed.return": "Retornar para o conjunto", - - // "submission.workflow.tasks.claimed.return_help": "Return the task to the pool so that another user may perform the task.", - "submission.workflow.tasks.claimed.return_help": "Retornar a tarefa para o conjunto para que outra pessoa possa a fazer.", - - - - // "submission.workflow.tasks.generic.error": "Error occurred during operation...", - "submission.workflow.tasks.generic.error": "Ocorreu um erro durante a operação...", - - // "submission.workflow.tasks.generic.processing": "Processing...", - "submission.workflow.tasks.generic.processing": "Processando...", - - // "submission.workflow.tasks.generic.submitter": "Submitter", - "submission.workflow.tasks.generic.submitter": "Submetedor", - - // "submission.workflow.tasks.generic.success": "Operation successful", - "submission.workflow.tasks.generic.success": "Operação realizada com sucesso", - - - - // "submission.workflow.tasks.pool.claim": "Claim", - "submission.workflow.tasks.pool.claim": "Requerer", - - // "submission.workflow.tasks.pool.claim_help": "Assign this task to yourself.", - "submission.workflow.tasks.pool.claim_help": "Atribua esta tarefa a si mesmo.", - - // "submission.workflow.tasks.pool.hide-detail": "Hide detail", - "submission.workflow.tasks.pool.hide-detail": "Ocultar detalhes", - - // "submission.workflow.tasks.pool.show-detail": "Show detail", - "submission.workflow.tasks.pool.show-detail": "Mostrar detalhes", - - - - // "title": "DSpace", - "title": "DSpace", - - + // "administrativeView.search.results.head": "Administrative Search", // TODO New key - Add a translation "administrativeView.search.results.head": "Administrative Search", - + + + + + // "admin.workflow.breadcrumbs": "Administer Workflow", + // TODO New key - Add a translation + "admin.workflow.breadcrumbs": "Administer Workflow", + + // "admin.workflow.title": "Administer Workflow", + // TODO New key - Add a translation + "admin.workflow.title": "Administer Workflow", + + // "admin.workflow.item.workflow": "Workflow", + // TODO New key - Add a translation + "admin.workflow.item.workflow": "Workflow", + + // "admin.workflow.item.delete": "Delete", + // TODO New key - Add a translation + "admin.workflow.item.delete": "Delete", + + // "admin.workflow.item.send-back": "Send back", + // TODO New key - Add a translation + "admin.workflow.item.send-back": "Send back", + + + + // "admin.metadata-import.breadcrumbs": "Import Metadata", + // TODO New key - Add a translation + "admin.metadata-import.breadcrumbs": "Import Metadata", + + // "admin.metadata-import.title": "Import Metadata", + // TODO New key - Add a translation + "admin.metadata-import.title": "Import Metadata", + + // "admin.metadata-import.page.header": "Import Metadata", + // TODO New key - Add a translation + "admin.metadata-import.page.header": "Import Metadata", + + // "admin.metadata-import.page.help": "You can drop or browse CSV files that contain batch metadata operations on files here", + // TODO New key - Add a translation + "admin.metadata-import.page.help": "You can drop or browse CSV files that contain batch metadata operations on files here", + + // "admin.metadata-import.page.dropMsg": "Drop a metadata CSV to import", + // TODO New key - Add a translation + "admin.metadata-import.page.dropMsg": "Drop a metadata CSV to import", + + // "admin.metadata-import.page.dropMsgReplace": "Drop to replace the metadata CSV to import", + // TODO New key - Add a translation + "admin.metadata-import.page.dropMsgReplace": "Drop to replace the metadata CSV to import", + + // "admin.metadata-import.page.button.return": "Return", + // TODO New key - Add a translation + "admin.metadata-import.page.button.return": "Return", + + // "admin.metadata-import.page.button.proceed": "Proceed", + // TODO New key - Add a translation + "admin.metadata-import.page.button.proceed": "Proceed", + + // "admin.metadata-import.page.error.addFile": "Select file first!", + // TODO New key - Add a translation + "admin.metadata-import.page.error.addFile": "Select file first!", + + + + + // "auth.errors.invalid-user": "Invalid email address or password.", + "auth.errors.invalid-user": "Endereço de email ou senha inválidos.", + + // "auth.messages.expired": "Your session has expired. Please log in again.", + "auth.messages.expired": "Sua sessão expirou. Por favor entre novamente.", + + + + // "bitstream.edit.bitstream": "Bitstream: ", + // TODO New key - Add a translation + "bitstream.edit.bitstream": "Bitstream: ", + + // "bitstream.edit.form.description.hint": "Optionally, provide a brief description of the file, for example \"Main article\" or \"Experiment data readings\".", + // TODO New key - Add a translation + "bitstream.edit.form.description.hint": "Optionally, provide a brief description of the file, for example \"Main article\" or \"Experiment data readings\".", + + // "bitstream.edit.form.description.label": "Description", + "bitstream.edit.form.description.label": "Descrição", + + // "bitstream.edit.form.embargo.hint": "The first day from which access is allowed. This date cannot be modified on this form. To set an embargo date for a bitstream, go to the Item Status tab, click Authorizations..., create or edit the bitstream's READ policy, and set the Start Date as desired.", + // TODO New key - Add a translation + "bitstream.edit.form.embargo.hint": "The first day from which access is allowed. This date cannot be modified on this form. To set an embargo date for a bitstream, go to the Item Status tab, click Authorizations..., create or edit the bitstream's READ policy, and set the Start Date as desired.", + + // "bitstream.edit.form.embargo.label": "Embargo until specific date", + // TODO New key - Add a translation + "bitstream.edit.form.embargo.label": "Embargo until specific date", + + // "bitstream.edit.form.fileName.hint": "Change the filename for the bitstream. Note that this will change the display bitstream URL, but old links will still resolve as long as the sequence ID does not change.", + // TODO New key - Add a translation + "bitstream.edit.form.fileName.hint": "Change the filename for the bitstream. Note that this will change the display bitstream URL, but old links will still resolve as long as the sequence ID does not change.", + + // "bitstream.edit.form.fileName.label": "Filename", + "bitstream.edit.form.fileName.label": "Nome do arquivo", + + // "bitstream.edit.form.newFormat.label": "Describe new format", + "bitstream.edit.form.newFormat.label": "Descreva o novo formato", + + // "bitstream.edit.form.newFormat.hint": "The application you used to create the file, and the version number (for example, \"ACMESoft SuperApp version 1.5\").", + // TODO New key - Add a translation + "bitstream.edit.form.newFormat.hint": "The application you used to create the file, and the version number (for example, \"ACMESoft SuperApp version 1.5\").", + + // "bitstream.edit.form.primaryBitstream.label": "Primary bitstream", + // TODO New key - Add a translation + "bitstream.edit.form.primaryBitstream.label": "Primary bitstream", + + // "bitstream.edit.form.selectedFormat.hint": "If the format is not in the above list, select \"format not in list\" above and describe it under \"Describe new format\".", + // TODO New key - Add a translation + "bitstream.edit.form.selectedFormat.hint": "If the format is not in the above list, select \"format not in list\" above and describe it under \"Describe new format\".", + + // "bitstream.edit.form.selectedFormat.label": "Selected Format", + "bitstream.edit.form.selectedFormat.label": "Formato Selecionado", + + // "bitstream.edit.form.selectedFormat.unknown": "Format not in list", + // TODO New key - Add a translation + "bitstream.edit.form.selectedFormat.unknown": "Format not in list", + + // "bitstream.edit.notifications.error.format.title": "An error occurred saving the bitstream's format", + // TODO New key - Add a translation + "bitstream.edit.notifications.error.format.title": "An error occurred saving the bitstream's format", + + // "bitstream.edit.notifications.saved.content": "Your changes to this bitstream were saved.", + // TODO New key - Add a translation + "bitstream.edit.notifications.saved.content": "Your changes to this bitstream were saved.", + + // "bitstream.edit.notifications.saved.title": "Bitstream saved", + // TODO New key - Add a translation + "bitstream.edit.notifications.saved.title": "Bitstream saved", + + // "bitstream.edit.title": "Edit bitstream", + // TODO New key - Add a translation + "bitstream.edit.title": "Edit bitstream", + + + + // "browse.comcol.by.author": "By Author", + "browse.comcol.by.author": "Por Autor", + + // "browse.comcol.by.dateissued": "By Issue Date", + "browse.comcol.by.dateissued": "Por Data de Publicação", + + // "browse.comcol.by.subject": "By Subject", + "browse.comcol.by.subject": "Por Assunto", + + // "browse.comcol.by.title": "By Title", + "browse.comcol.by.title": "Por Título", + + // "browse.comcol.head": "Browse", + "browse.comcol.head": "Navegar", + + // "browse.empty": "No items to show.", + "browse.empty": "Sem itens a exibir.", + + // "browse.metadata.author": "Author", + "browse.metadata.author": "Autor", + + // "browse.metadata.dateissued": "Issue Date", + "browse.metadata.dateissued": "Data de Publicação", + + // "browse.metadata.subject": "Subject", + "browse.metadata.subject": "Assunto", + + // "browse.metadata.title": "Title", + "browse.metadata.title": "Título", + + // "browse.metadata.author.breadcrumbs": "Browse by Author", + "browse.metadata.author.breadcrumbs": "Pesquisar por Autor", + + // "browse.metadata.dateissued.breadcrumbs": "Browse by Date", + "browse.metadata.dateissued.breadcrumbs": "Pesquisar por Data", + + // "browse.metadata.subject.breadcrumbs": "Browse by Subject", + "browse.metadata.subject.breadcrumbs": "Pesquisar por Assunto", + + // "browse.metadata.title.breadcrumbs": "Browse by Title", + "browse.metadata.title.breadcrumbs": "Pesquisar por Título", + + // "browse.startsWith.choose_start": "(Choose start)", + "browse.startsWith.choose_start": "(Escolha o início)", + + // "browse.startsWith.choose_year": "(Choose year)", + "browse.startsWith.choose_year": "(Escolha o ano)", + + // "browse.startsWith.jump": "Jump to a point in the index:", + "browse.startsWith.jump": "Pular para um ponto do índice:", + + // "browse.startsWith.months.april": "April", + "browse.startsWith.months.april": "Abril", + + // "browse.startsWith.months.august": "August", + "browse.startsWith.months.august": "Agosto", + + // "browse.startsWith.months.december": "December", + "browse.startsWith.months.december": "Dezembro", + + // "browse.startsWith.months.february": "February", + "browse.startsWith.months.february": "Fevereiro", + + // "browse.startsWith.months.january": "January", + "browse.startsWith.months.january": "Janeiro", + + // "browse.startsWith.months.july": "July", + "browse.startsWith.months.july": "Julho", + + // "browse.startsWith.months.june": "June", + "browse.startsWith.months.june": "Junho", + + // "browse.startsWith.months.march": "March", + "browse.startsWith.months.march": "Março", + + // "browse.startsWith.months.may": "May", + "browse.startsWith.months.may": "Maio", + + // "browse.startsWith.months.none": "(Choose month)", + "browse.startsWith.months.none": "(escolha o mês)", + + // "browse.startsWith.months.november": "November", + "browse.startsWith.months.november": "Novembro", + + // "browse.startsWith.months.october": "October", + "browse.startsWith.months.october": "Outubro", + + // "browse.startsWith.months.september": "September", + "browse.startsWith.months.september": "Setembro", + + // "browse.startsWith.submit": "Go", + "browse.startsWith.submit": "Ir", + + // "browse.startsWith.type_date": "Or type in a date (year-month):", + "browse.startsWith.type_date": "Ou informe uma data (ano-mês):", + + // "browse.startsWith.type_text": "Or enter first few letters:", + "browse.startsWith.type_text": "Ou informe as primeiras letras:", + + // "browse.title": "Browsing {{ collection }} by {{ field }} {{ value }}", + "browse.title": "Navegando {{ collection }} por {{ field }} {{ value }}", + + + // "chips.remove": "Remove chip", + "chips.remove": "Remover chip", + + + + // "collection.create.head": "Create a Collection", + "collection.create.head": "Criar uma coleção", + + // "collection.create.notifications.success": "Successfully created the Collection", + // TODO New key - Add a translation + "collection.create.notifications.success": "Successfully created the Collection", + + // "collection.create.sub-head": "Create a Collection for Community {{ parent }}", + "collection.create.sub-head": "Criar uma Coleção na Comunidade {{ parent }}", + + // "collection.curate.header": "Curate Collection: {{collection}}", + // TODO New key - Add a translation + "collection.curate.header": "Curate Collection: {{collection}}", + + // "collection.delete.cancel": "Cancel", + "collection.delete.cancel": "Cancelar", + + // "collection.delete.confirm": "Confirm", + "collection.delete.confirm": "Confirmar", + + // "collection.delete.head": "Delete Collection", + "collection.delete.head": "Apagar Coleção", + + // "collection.delete.notification.fail": "Collection could not be deleted", + "collection.delete.notification.fail": "Coleção não pôde ser apagada", + + // "collection.delete.notification.success": "Successfully deleted collection", + "collection.delete.notification.success": "Apagou a coleção com sucesso", + + // "collection.delete.text": "Are you sure you want to delete collection \"{{ dso }}\"", + "collection.delete.text": "Você tem certeza que deseja apagar a coleção \"{{ dso }}?\"", + + + + // "collection.edit.delete": "Delete this collection", + "collection.edit.delete": "Apagar esta coleção", + + // "collection.edit.head": "Edit Collection", + "collection.edit.head": "Editar Coleção", + + // "collection.edit.breadcrumbs": "Edit Collection", + // TODO New key - Add a translation + "collection.edit.breadcrumbs": "Edit Collection", + + + + // "collection.edit.tabs.mapper.head": "Item Mapper", + // TODO New key - Add a translation + "collection.edit.tabs.mapper.head": "Item Mapper", + + // "collection.edit.tabs.item-mapper.title": "Collection Edit - Item Mapper", + // TODO New key - Add a translation + "collection.edit.tabs.item-mapper.title": "Collection Edit - Item Mapper", + + // "collection.edit.item-mapper.cancel": "Cancel", + "collection.edit.item-mapper.cancel": "Cancelar", + + // "collection.edit.item-mapper.collection": "Collection: \"{{name}}\"", + "collection.edit.item-mapper.collection": "Coleção: \"{{name}}\"", + + // "collection.edit.item-mapper.confirm": "Map selected items", + "collection.edit.item-mapper.confirm": "Mapear itens selecionados", + + // "collection.edit.item-mapper.description": "This is the item mapper tool that allows collection administrators to map items from other collections into this collection. You can search for items from other collections and map them, or browse the list of currently mapped items.", + "collection.edit.item-mapper.description": "Esta é a ferramenta de mapeação de itens que permite administradores de coleções a mapear itens de outras coleções nesta. VoCẽ pode busca-los em outras coleções para mapeá-los, ou navegar na lista dos itens atualmente mapeados.", + + // "collection.edit.item-mapper.head": "Item Mapper - Map Items from Other Collections", + "collection.edit.item-mapper.head": "Mapeador de Itens - Mapear itens em Outras Coleções", + + // "collection.edit.item-mapper.no-search": "Please enter a query to search", + "collection.edit.item-mapper.no-search": "Por favor informe uma consulta para buscar", + + // "collection.edit.item-mapper.notifications.map.error.content": "Errors occurred for mapping of {{amount}} items.", + "collection.edit.item-mapper.notifications.map.error.content": "Ocorreu erros ao mapear {{amount}} itens.", + + // "collection.edit.item-mapper.notifications.map.error.head": "Mapping errors", + "collection.edit.item-mapper.notifications.map.error.head": "Erros de mapeamento", + + // "collection.edit.item-mapper.notifications.map.success.content": "Successfully mapped {{amount}} items.", + "collection.edit.item-mapper.notifications.map.success.content": "Mapeou {{amount}} itens com sucesso.", + + // "collection.edit.item-mapper.notifications.map.success.head": "Mapping completed", + "collection.edit.item-mapper.notifications.map.success.head": "Mapeamento completo", + + // "collection.edit.item-mapper.notifications.unmap.error.content": "Errors occurred for removing the mappings of {{amount}} items.", + "collection.edit.item-mapper.notifications.unmap.error.content": "Ocorreram erros ao tentar remover os mapeamentos de {{amount}} item(ns).", + + // "collection.edit.item-mapper.notifications.unmap.error.head": "Remove mapping errors", + "collection.edit.item-mapper.notifications.unmap.error.head": "Erros de remoção de mapeamento", + + // "collection.edit.item-mapper.notifications.unmap.success.content": "Successfully removed the mappings of {{amount}} items.", + "collection.edit.item-mapper.notifications.unmap.success.content": "Removeu os mapeamentps de {{amount}} item(ns) com sucesso.", + + // "collection.edit.item-mapper.notifications.unmap.success.head": "Remove mapping completed", + "collection.edit.item-mapper.notifications.unmap.success.head": "Remoção de mapeamentos completa", + + // "collection.edit.item-mapper.remove": "Remove selected item mappings", + "collection.edit.item-mapper.remove": "Remover mapeamentos selecionados", + + // "collection.edit.item-mapper.tabs.browse": "Browse mapped items", + "collection.edit.item-mapper.tabs.browse": "Navegar por itens mapeados", + + // "collection.edit.item-mapper.tabs.map": "Map new items", + "collection.edit.item-mapper.tabs.map": "Mapear novos itens", + + + + // "collection.edit.logo.label": "Collection logo", + // TODO New key - Add a translation + "collection.edit.logo.label": "Collection logo", + + // "collection.edit.logo.notifications.add.error": "Uploading Collection logo failed. Please verify the content before retrying.", + // TODO New key - Add a translation + "collection.edit.logo.notifications.add.error": "Uploading Collection logo failed. Please verify the content before retrying.", + + // "collection.edit.logo.notifications.add.success": "Upload Collection logo successful.", + // TODO New key - Add a translation + "collection.edit.logo.notifications.add.success": "Upload Collection logo successful.", + + // "collection.edit.logo.notifications.delete.success.title": "Logo deleted", + "collection.edit.logo.notifications.delete.success.title": "Logo removido", + + // "collection.edit.logo.notifications.delete.success.content": "Successfully deleted the collection's logo", + // TODO New key - Add a translation + "collection.edit.logo.notifications.delete.success.content": "Successfully deleted the collection's logo", + + // "collection.edit.logo.notifications.delete.error.title": "Error deleting logo", + // TODO New key - Add a translation + "collection.edit.logo.notifications.delete.error.title": "Error deleting logo", + + // "collection.edit.logo.upload": "Drop a Collection Logo to upload", + // TODO New key - Add a translation + "collection.edit.logo.upload": "Drop a Collection Logo to upload", + + + + // "collection.edit.notifications.success": "Successfully edited the Collection", + // TODO New key - Add a translation + "collection.edit.notifications.success": "Successfully edited the Collection", + + // "collection.edit.return": "Return", + // TODO New key - Add a translation + "collection.edit.return": "Return", + + + + // "collection.edit.tabs.curate.head": "Curate", + // TODO New key - Add a translation + "collection.edit.tabs.curate.head": "Curate", + + // "collection.edit.tabs.curate.title": "Collection Edit - Curate", + // TODO New key - Add a translation + "collection.edit.tabs.curate.title": "Collection Edit - Curate", + + // "collection.edit.tabs.authorizations.head": "Authorizations", + // TODO New key - Add a translation + "collection.edit.tabs.authorizations.head": "Authorizations", + + // "collection.edit.tabs.authorizations.title": "Collection Edit - Authorizations", + // TODO New key - Add a translation + "collection.edit.tabs.authorizations.title": "Collection Edit - Authorizations", + + // "collection.edit.tabs.metadata.head": "Edit Metadata", + "collection.edit.tabs.metadata.head": "Editar Metadados", + + // "collection.edit.tabs.metadata.title": "Collection Edit - Metadata", + // TODO New key - Add a translation + "collection.edit.tabs.metadata.title": "Collection Edit - Metadata", + + // "collection.edit.tabs.roles.head": "Assign Roles", + // TODO New key - Add a translation + "collection.edit.tabs.roles.head": "Assign Roles", + + // "collection.edit.tabs.roles.title": "Collection Edit - Roles", + // TODO New key - Add a translation + "collection.edit.tabs.roles.title": "Collection Edit - Roles", + + // "collection.edit.tabs.source.external": "This collection harvests its content from an external source", + // TODO New key - Add a translation + "collection.edit.tabs.source.external": "This collection harvests its content from an external source", + + // "collection.edit.tabs.source.form.errors.oaiSource.required": "You must provide a set id of the target collection.", + // TODO New key - Add a translation + "collection.edit.tabs.source.form.errors.oaiSource.required": "You must provide a set id of the target collection.", + + // "collection.edit.tabs.source.form.harvestType": "Content being harvested", + // TODO New key - Add a translation + "collection.edit.tabs.source.form.harvestType": "Content being harvested", + + // "collection.edit.tabs.source.form.head": "Configure an external source", + // TODO New key - Add a translation + "collection.edit.tabs.source.form.head": "Configure an external source", + + // "collection.edit.tabs.source.form.metadataConfigId": "Metadata Format", + // TODO New key - Add a translation + "collection.edit.tabs.source.form.metadataConfigId": "Metadata Format", + + // "collection.edit.tabs.source.form.oaiSetId": "OAI specific set id", + // TODO New key - Add a translation + "collection.edit.tabs.source.form.oaiSetId": "OAI specific set id", + + // "collection.edit.tabs.source.form.oaiSource": "OAI Provider", + // TODO New key - Add a translation + "collection.edit.tabs.source.form.oaiSource": "OAI Provider", + + // "collection.edit.tabs.source.form.options.harvestType.METADATA_AND_BITSTREAMS": "Harvest metadata and bitstreams (requires ORE support)", + // TODO New key - Add a translation + "collection.edit.tabs.source.form.options.harvestType.METADATA_AND_BITSTREAMS": "Harvest metadata and bitstreams (requires ORE support)", + + // "collection.edit.tabs.source.form.options.harvestType.METADATA_AND_REF": "Harvest metadata and references to bitstreams (requires ORE support)", + // TODO New key - Add a translation + "collection.edit.tabs.source.form.options.harvestType.METADATA_AND_REF": "Harvest metadata and references to bitstreams (requires ORE support)", + + // "collection.edit.tabs.source.form.options.harvestType.METADATA_ONLY": "Harvest metadata only", + // TODO New key - Add a translation + "collection.edit.tabs.source.form.options.harvestType.METADATA_ONLY": "Harvest metadata only", + + // "collection.edit.tabs.source.head": "Content Source", + // TODO New key - Add a translation + "collection.edit.tabs.source.head": "Content Source", + + // "collection.edit.tabs.source.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", + // TODO New key - Add a translation + "collection.edit.tabs.source.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", + + // "collection.edit.tabs.source.notifications.discarded.title": "Changed discarded", + "collection.edit.tabs.source.notifications.discarded.title": "Alterações descartadas", + + // "collection.edit.tabs.source.notifications.invalid.content": "Your changes were not saved. Please make sure all fields are valid before you save.", + // TODO New key - Add a translation + "collection.edit.tabs.source.notifications.invalid.content": "Your changes were not saved. Please make sure all fields are valid before you save.", + + // "collection.edit.tabs.source.notifications.invalid.title": "Metadata invalid", + // TODO New key - Add a translation + "collection.edit.tabs.source.notifications.invalid.title": "Metadata invalid", + + // "collection.edit.tabs.source.notifications.saved.content": "Your changes to this collection's content source were saved.", + // TODO New key - Add a translation + "collection.edit.tabs.source.notifications.saved.content": "Your changes to this collection's content source were saved.", + + // "collection.edit.tabs.source.notifications.saved.title": "Content Source saved", + // TODO New key - Add a translation + "collection.edit.tabs.source.notifications.saved.title": "Content Source saved", + + // "collection.edit.tabs.source.title": "Collection Edit - Content Source", + // TODO New key - Add a translation + "collection.edit.tabs.source.title": "Collection Edit - Content Source", + + + + // "collection.edit.template.add-button": "Add", + // TODO New key - Add a translation + "collection.edit.template.add-button": "Add", + + // "collection.edit.template.breadcrumbs": "Item template", + // TODO New key - Add a translation + "collection.edit.template.breadcrumbs": "Item template", + + // "collection.edit.template.cancel": "Cancel", + // TODO New key - Add a translation + "collection.edit.template.cancel": "Cancel", + + // "collection.edit.template.delete-button": "Delete", + // TODO New key - Add a translation + "collection.edit.template.delete-button": "Delete", + + // "collection.edit.template.edit-button": "Edit", + // TODO New key - Add a translation + "collection.edit.template.edit-button": "Edit", + + // "collection.edit.template.head": "Edit Template Item for Collection \"{{ collection }}\"", + // TODO New key - Add a translation + "collection.edit.template.head": "Edit Template Item for Collection \"{{ collection }}\"", + + // "collection.edit.template.label": "Template item", + // TODO New key - Add a translation + "collection.edit.template.label": "Template item", + + // "collection.edit.template.notifications.delete.error": "Failed to delete the item template", + // TODO New key - Add a translation + "collection.edit.template.notifications.delete.error": "Failed to delete the item template", + + // "collection.edit.template.notifications.delete.success": "Successfully deleted the item template", + // TODO New key - Add a translation + "collection.edit.template.notifications.delete.success": "Successfully deleted the item template", + + // "collection.edit.template.title": "Edit Template Item", + // TODO New key - Add a translation + "collection.edit.template.title": "Edit Template Item", + + + + // "collection.form.abstract": "Short Description", + "collection.form.abstract": "Descrição curta", + + // "collection.form.description": "Introductory text (HTML)", + "collection.form.description": "Texto introdutório (HTML)", + + // "collection.form.errors.title.required": "Please enter a collection name", + "collection.form.errors.title.required": "Por favor informe um nome de coleção", + + // "collection.form.license": "License", + "collection.form.license": "Licença", + + // "collection.form.provenance": "Provenance", + "collection.form.provenance": "Proveniência", + + // "collection.form.rights": "Copyright text (HTML)", + "collection.form.rights": "Texto de direito de cópia (HTML)", + + // "collection.form.tableofcontents": "News (HTML)", + "collection.form.tableofcontents": "Notícias (HTML)", + + // "collection.form.title": "Name", + "collection.form.title": "Nome", + + + + // "collection.listelement.badge": "Collection", + // TODO New key - Add a translation + "collection.listelement.badge": "Collection", + + + + // "collection.page.browse.recent.head": "Recent Submissions", + "collection.page.browse.recent.head": "Submissões Recentes", + + // "collection.page.browse.recent.empty": "No items to show", + "collection.page.browse.recent.empty": "Nenhum item a exibir", + + // "collection.page.edit": "Edit this collection", + // TODO New key - Add a translation + "collection.page.edit": "Edit this collection", + + // "collection.page.handle": "Permanent URI for this collection", + "collection.page.handle": "URI Permanente para esta coleção", + + // "collection.page.license": "License", + "collection.page.license": "Licença", + + // "collection.page.news": "News", + "collection.page.news": "Notícias", + + + + // "collection.select.confirm": "Confirm selected", + "collection.select.confirm": "Confirmar seleção", + + // "collection.select.empty": "No collections to show", + "collection.select.empty": "Nenhuma coleção a mostrar", + + // "collection.select.table.title": "Title", + "collection.select.table.title": "Título", + + + + // "collection.source.update.notifications.error.content": "The provided settings have been tested and didn't work.", + // TODO New key - Add a translation + "collection.source.update.notifications.error.content": "The provided settings have been tested and didn't work.", + + // "collection.source.update.notifications.error.title": "Server Error", + "collection.source.update.notifications.error.title": "Erro no Servidor", + + + + // "communityList.tabTitle": "DSpace - Community List", + // TODO New key - Add a translation + "communityList.tabTitle": "DSpace - Community List", + + // "communityList.title": "List of Communities", + "communityList.title": "Lista de Comunidades", + + // "communityList.showMore": "Show More", + "communityList.showMore": "Mostrar Mais", + + + + // "community.create.head": "Create a Community", + "community.create.head": "Criar uma comunidade", + + // "community.create.notifications.success": "Successfully created the Community", + // TODO New key - Add a translation + "community.create.notifications.success": "Successfully created the Community", + + // "community.create.sub-head": "Create a Sub-Community for Community {{ parent }}", + "community.create.sub-head": "Criar uma Sub-Comunidade para Comunidade {{ parent }}", + + // "community.curate.header": "Curate Community: {{community}}", + // TODO New key - Add a translation + "community.curate.header": "Curate Community: {{community}}", + + // "community.delete.cancel": "Cancel", + "community.delete.cancel": "Cancelar", + + // "community.delete.confirm": "Confirm", + "community.delete.confirm": "Confirmar", + + // "community.delete.head": "Delete Community", + "community.delete.head": "Apagar Comunidade", + + // "community.delete.notification.fail": "Community could not be deleted", + "community.delete.notification.fail": "Comunidade não pôde ser apagada", + + // "community.delete.notification.success": "Successfully deleted community", + "community.delete.notification.success": "Comunidade apagada com sucesso", + + // "community.delete.text": "Are you sure you want to delete community \"{{ dso }}\"", + "community.delete.text": "Você tem certeza que quer apagar a comunidade \"{{ dso }}\"?", + + // "community.edit.delete": "Delete this community", + "community.edit.delete": "Apagar esta comunidade", + + // "community.edit.head": "Edit Community", + "community.edit.head": "Editar Comunidade", + + // "community.edit.breadcrumbs": "Edit Community", + "community.edit.breadcrumbs": "Editar Comunidade", + + + // "community.edit.logo.label": "Community logo", + "community.edit.logo.label": "Logo da Comunidade", + + // "community.edit.logo.notifications.add.error": "Uploading Community logo failed. Please verify the content before retrying.", + // TODO New key - Add a translation + "community.edit.logo.notifications.add.error": "Uploading Community logo failed. Please verify the content before retrying.", + + // "community.edit.logo.notifications.add.success": "Upload Community logo successful.", + // TODO New key - Add a translation + "community.edit.logo.notifications.add.success": "Upload Community logo successful.", + + // "community.edit.logo.notifications.delete.success.title": "Logo deleted", + // TODO New key - Add a translation + "community.edit.logo.notifications.delete.success.title": "Logo deleted", + + // "community.edit.logo.notifications.delete.success.content": "Successfully deleted the community's logo", + // TODO New key - Add a translation + "community.edit.logo.notifications.delete.success.content": "Successfully deleted the community's logo", + + // "community.edit.logo.notifications.delete.error.title": "Error deleting logo", + // TODO New key - Add a translation + "community.edit.logo.notifications.delete.error.title": "Error deleting logo", + + // "community.edit.logo.upload": "Drop a Community Logo to upload", + // TODO New key - Add a translation + "community.edit.logo.upload": "Drop a Community Logo to upload", + + + + // "community.edit.notifications.success": "Successfully edited the Community", + // TODO New key - Add a translation + "community.edit.notifications.success": "Successfully edited the Community", + + // "community.edit.notifications.unauthorized": "You do not have privileges to make this change", + // TODO New key - Add a translation + "community.edit.notifications.unauthorized": "You do not have privileges to make this change", + + // "community.edit.notifications.error": "An error occured while editing the Community", + // TODO New key - Add a translation + "community.edit.notifications.error": "An error occured while editing the Community", + + // "community.edit.return": "Return", + // TODO New key - Add a translation + "community.edit.return": "Return", + + + + // "community.edit.tabs.curate.head": "Curate", + // TODO New key - Add a translation + "community.edit.tabs.curate.head": "Curate", + + // "community.edit.tabs.curate.title": "Community Edit - Curate", + // TODO New key - Add a translation + "community.edit.tabs.curate.title": "Community Edit - Curate", + + // "community.edit.tabs.metadata.head": "Edit Metadata", + // TODO New key - Add a translation + "community.edit.tabs.metadata.head": "Edit Metadata", + + // "community.edit.tabs.metadata.title": "Community Edit - Metadata", + // TODO New key - Add a translation + "community.edit.tabs.metadata.title": "Community Edit - Metadata", + + // "community.edit.tabs.roles.head": "Assign Roles", + // TODO New key - Add a translation + "community.edit.tabs.roles.head": "Assign Roles", + + // "community.edit.tabs.roles.title": "Community Edit - Roles", + // TODO New key - Add a translation + "community.edit.tabs.roles.title": "Community Edit - Roles", + + // "community.edit.tabs.authorizations.head": "Authorizations", + // TODO New key - Add a translation + "community.edit.tabs.authorizations.head": "Authorizations", + + // "community.edit.tabs.authorizations.title": "Community Edit - Authorizations", + // TODO New key - Add a translation + "community.edit.tabs.authorizations.title": "Community Edit - Authorizations", + + + + // "community.listelement.badge": "Community", + // TODO New key - Add a translation + "community.listelement.badge": "Community", + + + + // "comcol-role.edit.no-group": "None", + // TODO New key - Add a translation + "comcol-role.edit.no-group": "None", + + // "comcol-role.edit.create": "Create", + // TODO New key - Add a translation + "comcol-role.edit.create": "Create", + + // "comcol-role.edit.restrict": "Restrict", + // TODO New key - Add a translation + "comcol-role.edit.restrict": "Restrict", + + // "comcol-role.edit.delete": "Delete", + // TODO New key - Add a translation + "comcol-role.edit.delete": "Delete", + + + // "comcol-role.edit.community-admin.name": "Administrators", + // TODO New key - Add a translation + "comcol-role.edit.community-admin.name": "Administrators", + + // "comcol-role.edit.collection-admin.name": "Administrators", + // TODO New key - Add a translation + "comcol-role.edit.collection-admin.name": "Administrators", + + + // "comcol-role.edit.community-admin.description": "Community administrators can create sub-communities or collections, and manage or assign management for those sub-communities or collections. In addition, they decide who can submit items to any sub-collections, edit item metadata (after submission), and add (map) existing items from other collections (subject to authorization).", + // TODO New key - Add a translation + "comcol-role.edit.community-admin.description": "Community administrators can create sub-communities or collections, and manage or assign management for those sub-communities or collections. In addition, they decide who can submit items to any sub-collections, edit item metadata (after submission), and add (map) existing items from other collections (subject to authorization).", + + // "comcol-role.edit.collection-admin.description": "Collection administrators decide who can submit items to the collection, edit item metadata (after submission), and add (map) existing items from other collections to this collection (subject to authorization for that collection).", + // TODO New key - Add a translation + "comcol-role.edit.collection-admin.description": "Collection administrators decide who can submit items to the collection, edit item metadata (after submission), and add (map) existing items from other collections to this collection (subject to authorization for that collection).", + + + // "comcol-role.edit.submitters.name": "Submitters", + // TODO New key - Add a translation + "comcol-role.edit.submitters.name": "Submitters", + + // "comcol-role.edit.submitters.description": "The E-People and Groups that have permission to submit new items to this collection.", + // TODO New key - Add a translation + "comcol-role.edit.submitters.description": "The E-People and Groups that have permission to submit new items to this collection.", + + + // "comcol-role.edit.item_read.name": "Default item read access", + // TODO New key - Add a translation + "comcol-role.edit.item_read.name": "Default item read access", + + // "comcol-role.edit.item_read.description": "E-People and Groups that can read new items submitted to this collection. Changes to this role are not retroactive. Existing items in the system will still be viewable by those who had read access at the time of their addition.", + // TODO New key - Add a translation + "comcol-role.edit.item_read.description": "E-People and Groups that can read new items submitted to this collection. Changes to this role are not retroactive. Existing items in the system will still be viewable by those who had read access at the time of their addition.", + + // "comcol-role.edit.item_read.anonymous-group": "Default read for incoming items is currently set to Anonymous.", + // TODO New key - Add a translation + "comcol-role.edit.item_read.anonymous-group": "Default read for incoming items is currently set to Anonymous.", + + + // "comcol-role.edit.bitstream_read.name": "Default bitstream read access", + // TODO New key - Add a translation + "comcol-role.edit.bitstream_read.name": "Default bitstream read access", + + // "comcol-role.edit.bitstream_read.description": "Community administrators can create sub-communities or collections, and manage or assign management for those sub-communities or collections. In addition, they decide who can submit items to any sub-collections, edit item metadata (after submission), and add (map) existing items from other collections (subject to authorization).", + // TODO New key - Add a translation + "comcol-role.edit.bitstream_read.description": "Community administrators can create sub-communities or collections, and manage or assign management for those sub-communities or collections. In addition, they decide who can submit items to any sub-collections, edit item metadata (after submission), and add (map) existing items from other collections (subject to authorization).", + + // "comcol-role.edit.bitstream_read.anonymous-group": "Default read for incoming bitstreams is currently set to Anonymous.", + // TODO New key - Add a translation + "comcol-role.edit.bitstream_read.anonymous-group": "Default read for incoming bitstreams is currently set to Anonymous.", + + + // "comcol-role.edit.editor.name": "Editors", + // TODO New key - Add a translation + "comcol-role.edit.editor.name": "Editors", + + // "comcol-role.edit.editor.description": "Editors are able to edit the metadata of incoming submissions, and then accept or reject them.", + // TODO New key - Add a translation + "comcol-role.edit.editor.description": "Editors are able to edit the metadata of incoming submissions, and then accept or reject them.", + + + // "comcol-role.edit.finaleditor.name": "Final editors", + // TODO New key - Add a translation + "comcol-role.edit.finaleditor.name": "Final editors", + + // "comcol-role.edit.finaleditor.description": "Final editors are able to edit the metadata of incoming submissions, but will not be able to reject them.", + // TODO New key - Add a translation + "comcol-role.edit.finaleditor.description": "Final editors are able to edit the metadata of incoming submissions, but will not be able to reject them.", + + + // "comcol-role.edit.reviewer.name": "Reviewers", + // TODO New key - Add a translation + "comcol-role.edit.reviewer.name": "Reviewers", + + // "comcol-role.edit.reviewer.description": "Reviewers are able to accept or reject incoming submissions. However, they are not able to edit the submission's metadata.", + // TODO New key - Add a translation + "comcol-role.edit.reviewer.description": "Reviewers are able to accept or reject incoming submissions. However, they are not able to edit the submission's metadata.", + + + + // "community.form.abstract": "Short Description", + "community.form.abstract": "Descrição curta", + + // "community.form.description": "Introductory text (HTML)", + "community.form.description": "Texto introdutório (HTML)", + + // "community.form.errors.title.required": "Please enter a community name", + "community.form.errors.title.required": "Por favor informe um nome para comunidade", + + // "community.form.rights": "Copyright text (HTML)", + "community.form.rights": "Texto de direito de cópia (HTML)", + + // "community.form.tableofcontents": "News (HTML)", + "community.form.tableofcontents": "Notícias (HTML)", + + // "community.form.title": "Name", + "community.form.title": "Nome", + + // "community.page.edit": "Edit this community", + // TODO New key - Add a translation + "community.page.edit": "Edit this community", + + // "community.page.handle": "Permanent URI for this community", + "community.page.handle": "URI Permanente desta comunidade", + + // "community.page.license": "License", + "community.page.license": "Licença", + + // "community.page.news": "News", + "community.page.news": "Notícias", + + // "community.all-lists.head": "Subcommunities and Collections", + "community.all-lists.head": "Sub-Comunidade e Coleções", + + // "community.sub-collection-list.head": "Collections of this Community", + "community.sub-collection-list.head": "Coleções desta Comunidade", + + // "community.sub-community-list.head": "Communities of this Community", + "community.sub-community-list.head": "Comunidades desta Comunidade", + + + + // "cookies.consent.accept-all": "Accept all", + // TODO New key - Add a translation + "cookies.consent.accept-all": "Accept all", + + // "cookies.consent.accept-selected": "Accept selected", + // TODO New key - Add a translation + "cookies.consent.accept-selected": "Accept selected", + + // "cookies.consent.app.opt-out.description": "This app is loaded by default (but you can opt out)", + // TODO New key - Add a translation + "cookies.consent.app.opt-out.description": "This app is loaded by default (but you can opt out)", + + // "cookies.consent.app.opt-out.title": "(opt-out)", + // TODO New key - Add a translation + "cookies.consent.app.opt-out.title": "(opt-out)", + + // "cookies.consent.app.purpose": "purpose", + // TODO New key - Add a translation + "cookies.consent.app.purpose": "purpose", + + // "cookies.consent.app.required.description": "This application is always required", + // TODO New key - Add a translation + "cookies.consent.app.required.description": "This application is always required", + + // "cookies.consent.app.required.title": "(always required)", + // TODO New key - Add a translation + "cookies.consent.app.required.title": "(always required)", + + // "cookies.consent.update": "There were changes since your last visit, please update your consent.", + // TODO New key - Add a translation + "cookies.consent.update": "There were changes since your last visit, please update your consent.", + + // "cookies.consent.close": "Close", + // TODO New key - Add a translation + "cookies.consent.close": "Close", + + // "cookies.consent.decline": "Decline", + // TODO New key - Add a translation + "cookies.consent.decline": "Decline", + + // "cookies.consent.content-notice.description": "We collect and process your personal information for the following purposes: Authentication, Preferences, Acknowledgement and Statistics.
To learn more, please read our {privacyPolicy}.", + // TODO New key - Add a translation + "cookies.consent.content-notice.description": "We collect and process your personal information for the following purposes: Authentication, Preferences, Acknowledgement and Statistics.
To learn more, please read our {privacyPolicy}.", + + // "cookies.consent.content-notice.learnMore": "Customize", + // TODO New key - Add a translation + "cookies.consent.content-notice.learnMore": "Customize", + + // "cookies.consent.content-modal.description": "Here you can see and customize the information that we collect about you.", + // TODO New key - Add a translation + "cookies.consent.content-modal.description": "Here you can see and customize the information that we collect about you.", + + // "cookies.consent.content-modal.privacy-policy.name": "privacy policy", + // TODO New key - Add a translation + "cookies.consent.content-modal.privacy-policy.name": "privacy policy", + + // "cookies.consent.content-modal.privacy-policy.text": "To learn more, please read our {privacyPolicy}.", + // TODO New key - Add a translation + "cookies.consent.content-modal.privacy-policy.text": "To learn more, please read our {privacyPolicy}.", + + // "cookies.consent.content-modal.title": "Information that we collect", + // TODO New key - Add a translation + "cookies.consent.content-modal.title": "Information that we collect", + + + + // "cookies.consent.app.title.authentication": "Authentication", + // TODO New key - Add a translation + "cookies.consent.app.title.authentication": "Authentication", + + // "cookies.consent.app.description.authentication": "Required for signing you in", + // TODO New key - Add a translation + "cookies.consent.app.description.authentication": "Required for signing you in", + + + // "cookies.consent.app.title.preferences": "Preferences", + // TODO New key - Add a translation + "cookies.consent.app.title.preferences": "Preferences", + + // "cookies.consent.app.description.preferences": "Required for saving your preferences", + // TODO New key - Add a translation + "cookies.consent.app.description.preferences": "Required for saving your preferences", + + + + // "cookies.consent.app.title.acknowledgement": "Acknowledgement", + // TODO New key - Add a translation + "cookies.consent.app.title.acknowledgement": "Acknowledgement", + + // "cookies.consent.app.description.acknowledgement": "Required for saving your acknowledgements and consents", + // TODO New key - Add a translation + "cookies.consent.app.description.acknowledgement": "Required for saving your acknowledgements and consents", + + + + // "cookies.consent.app.title.google-analytics": "Google Analytics", + // TODO New key - Add a translation + "cookies.consent.app.title.google-analytics": "Google Analytics", + + // "cookies.consent.app.description.google-analytics": "Allows us to track statistical data", + // TODO New key - Add a translation + "cookies.consent.app.description.google-analytics": "Allows us to track statistical data", + + + + // "cookies.consent.purpose.functional": "Functional", + // TODO New key - Add a translation + "cookies.consent.purpose.functional": "Functional", + + // "cookies.consent.purpose.statistical": "Statistical", + // TODO New key - Add a translation + "cookies.consent.purpose.statistical": "Statistical", + + + // "curation-task.task.checklinks.label": "Check Links in Metadata", + // TODO New key - Add a translation + "curation-task.task.checklinks.label": "Check Links in Metadata", + + // "curation-task.task.noop.label": "NOOP", + // TODO New key - Add a translation + "curation-task.task.noop.label": "NOOP", + + // "curation-task.task.profileformats.label": "Profile Bitstream Formats", + // TODO New key - Add a translation + "curation-task.task.profileformats.label": "Profile Bitstream Formats", + + // "curation-task.task.requiredmetadata.label": "Check for Required Metadata", + // TODO New key - Add a translation + "curation-task.task.requiredmetadata.label": "Check for Required Metadata", + + // "curation-task.task.translate.label": "Microsoft Translator", + // TODO New key - Add a translation + "curation-task.task.translate.label": "Microsoft Translator", + + // "curation-task.task.vscan.label": "Virus Scan", + // TODO New key - Add a translation + "curation-task.task.vscan.label": "Virus Scan", + + + + // "curation.form.task-select.label": "Task:", + // TODO New key - Add a translation + "curation.form.task-select.label": "Task:", + + // "curation.form.submit": "Start", + // TODO New key - Add a translation + "curation.form.submit": "Start", + + // "curation.form.submit.success.head": "The curation task has been started successfully", + // TODO New key - Add a translation + "curation.form.submit.success.head": "The curation task has been started successfully", + + // "curation.form.submit.success.content": "You will be redirected to the corresponding process page.", + // TODO New key - Add a translation + "curation.form.submit.success.content": "You will be redirected to the corresponding process page.", + + // "curation.form.submit.error.head": "Running the curation task failed", + // TODO New key - Add a translation + "curation.form.submit.error.head": "Running the curation task failed", + + // "curation.form.submit.error.content": "An error occured when trying to start the curation task.", + // TODO New key - Add a translation + "curation.form.submit.error.content": "An error occured when trying to start the curation task.", + + // "curation.form.handle.label": "Handle:", + // TODO New key - Add a translation + "curation.form.handle.label": "Handle:", + + // "curation.form.handle.hint": "Hint: Enter [your-handle-prefix]/0 to run a task across entire site (not all tasks may support this capability)", + // TODO New key - Add a translation + "curation.form.handle.hint": "Hint: Enter [your-handle-prefix]/0 to run a task across entire site (not all tasks may support this capability)", + + + + // "dso-selector.create.collection.head": "New collection", + "dso-selector.create.collection.head": "Nova coleção", + + // "dso-selector.create.collection.sub-level": "Create a new collection in", + // TODO New key - Add a translation + "dso-selector.create.collection.sub-level": "Create a new collection in", + + // "dso-selector.create.community.head": "New community", + "dso-selector.create.community.head": "Nova comunidade", + + // "dso-selector.create.community.sub-level": "Create a new community in", + "dso-selector.create.community.sub-level": "Criar uma nova coleção em", + + // "dso-selector.create.community.top-level": "Create a new top-level community", + "dso-selector.create.community.top-level": "Criar uma nova comunidade no nível superior", + + // "dso-selector.create.item.head": "New item", + "dso-selector.create.item.head": "Novo item", + + // "dso-selector.create.item.sub-level": "Create a new item in", + // TODO New key - Add a translation + "dso-selector.create.item.sub-level": "Create a new item in", + + // "dso-selector.create.submission.head": "New submission", + // TODO New key - Add a translation + "dso-selector.create.submission.head": "New submission", + + // "dso-selector.edit.collection.head": "Edit collection", + "dso-selector.edit.collection.head": "Editar coleção", + + // "dso-selector.edit.community.head": "Edit community", + "dso-selector.edit.community.head": "Editar comunidade", + + // "dso-selector.edit.item.head": "Edit item", + "dso-selector.edit.item.head": "Editar item", + + // "dso-selector.export-metadata.dspaceobject.head": "Export metadata from", + // TODO New key - Add a translation + "dso-selector.export-metadata.dspaceobject.head": "Export metadata from", + + // "dso-selector.no-results": "No {{ type }} found", + "dso-selector.no-results": "Nenhum(a) {{ type }} encontrado(a)", + + // "dso-selector.placeholder": "Search for a {{ type }}", + "dso-selector.placeholder": "Buscar por um(a) {{ type }}", + + + + // "confirmation-modal.export-metadata.header": "Export metadata for {{ dsoName }}", + // TODO New key - Add a translation + "confirmation-modal.export-metadata.header": "Export metadata for {{ dsoName }}", + + // "confirmation-modal.export-metadata.info": "Are you sure you want to export metadata for {{ dsoName }}", + // TODO New key - Add a translation + "confirmation-modal.export-metadata.info": "Are you sure you want to export metadata for {{ dsoName }}", + + // "confirmation-modal.export-metadata.cancel": "Cancel", + // TODO New key - Add a translation + "confirmation-modal.export-metadata.cancel": "Cancel", + + // "confirmation-modal.export-metadata.confirm": "Export", + // TODO New key - Add a translation + "confirmation-modal.export-metadata.confirm": "Export", + + // "confirmation-modal.delete-eperson.header": "Delete EPerson \"{{ dsoName }}\"", + // TODO New key - Add a translation + "confirmation-modal.delete-eperson.header": "Delete EPerson \"{{ dsoName }}\"", + + // "confirmation-modal.delete-eperson.info": "Are you sure you want to delete EPerson \"{{ dsoName }}\"", + // TODO New key - Add a translation + "confirmation-modal.delete-eperson.info": "Are you sure you want to delete EPerson \"{{ dsoName }}\"", + + // "confirmation-modal.delete-eperson.cancel": "Cancel", + // TODO New key - Add a translation + "confirmation-modal.delete-eperson.cancel": "Cancel", + + // "confirmation-modal.delete-eperson.confirm": "Delete", + // TODO New key - Add a translation + "confirmation-modal.delete-eperson.confirm": "Delete", + + + // "error.bitstream": "Error fetching bitstream", + // TODO New key - Add a translation + "error.bitstream": "Error fetching bitstream", + + // "error.browse-by": "Error fetching items", + "error.browse-by": "Erro ao carregar itens", + + // "error.collection": "Error fetching collection", + "error.collection": "Erro ao carregar coleção", + + // "error.collections": "Error fetching collections", + "error.collections": "Erro ao carregar coleções", + + // "error.community": "Error fetching community", + "error.community": "Erro ao carregar comunidade", + + // "error.identifier": "No item found for the identifier", + "error.identifier": "Nenhum item encontrado para o identificador", + + // "error.default": "Error", + "error.default": "Erro", + + // "error.item": "Error fetching item", + "error.item": "Erro ao carregar item", + + // "error.items": "Error fetching items", + "error.items": "Erro ao carregar itens", + + // "error.objects": "Error fetching objects", + "error.objects": "Erro ao carregar objetos", + + // "error.recent-submissions": "Error fetching recent submissions", + "error.recent-submissions": "Erro ao carregar as submissões recentes", + + // "error.search-results": "Error fetching search results", + "error.search-results": "Erro ao carregar os resultados de busca", + + // "error.sub-collections": "Error fetching sub-collections", + "error.sub-collections": "Erro ao carregar sub-coleções", + + // "error.sub-communities": "Error fetching sub-communities", + "error.sub-communities": "Erro ao carregar sub-comunidade", + + // "error.submission.sections.init-form-error": "An error occurred during section initialize, please check your input-form configuration. Details are below :

", + "error.submission.sections.init-form-error": "Ocorreu um erro durante a seção de inicialização, por favor verifique sua configuração de input-form. Detalhes estão abaixo :

", + + // "error.top-level-communities": "Error fetching top-level communities", + "error.top-level-communities": "Erro ao carregar as comunidade de nível superior", + + // "error.validation.license.notgranted": "You must grant this license to complete your submission. If you are unable to grant this license at this time you may save your work and return later or remove the submission.", + "error.validation.license.notgranted": "Você deve concordar com esta licença para completar sua submissão. Se vocẽ não estiver de acordo com esta licença neste momento você pode salvar seu trabalho para continuar depois ou remover a submissão.", + + // "error.validation.pattern": "This input is restricted by the current pattern: {{ pattern }}.", + "error.validation.pattern": "Este campo está restrito ao seguinte padrão: {{ pattern }}.", + + // "error.validation.filerequired": "The file upload is mandatory", + // TODO New key - Add a translation + "error.validation.filerequired": "The file upload is mandatory", + + + + // "file-section.error.header": "Error obtaining files for this item", + // TODO New key - Add a translation + "file-section.error.header": "Error obtaining files for this item", + + + + // "footer.copyright": "copyright © 2002-{{ year }}", + "footer.copyright": "copyright © 2002-{{ year }}", + + // "footer.link.dspace": "DSpace software", + "footer.link.dspace": "DSpace software", + + // "footer.link.duraspace": "DuraSpace", + "footer.link.duraspace": "DuraSpace", + + // "footer.link.cookies": "Cookie settings", + // TODO New key - Add a translation + "footer.link.cookies": "Cookie settings", + + // "footer.link.privacy-policy": "Privacy policy", + // TODO New key - Add a translation + "footer.link.privacy-policy": "Privacy policy", + + // "footer.link.end-user-agreement":"End User Agreement", + // TODO New key - Add a translation + "footer.link.end-user-agreement":"End User Agreement", + + + + // "forgot-email.form.header": "Forgot Password", + // TODO New key - Add a translation + "forgot-email.form.header": "Forgot Password", + + // "forgot-email.form.info": "Enter Register an account to subscribe to collections for email updates, and submit new items to DSpace.", + // TODO New key - Add a translation + "forgot-email.form.info": "Enter Register an account to subscribe to collections for email updates, and submit new items to DSpace.", + + // "forgot-email.form.email": "Email Address *", + // TODO New key - Add a translation + "forgot-email.form.email": "Email Address *", + + // "forgot-email.form.email.error.required": "Please fill in an email address", + // TODO New key - Add a translation + "forgot-email.form.email.error.required": "Please fill in an email address", + + // "forgot-email.form.email.error.pattern": "Please fill in a valid email address", + // TODO New key - Add a translation + "forgot-email.form.email.error.pattern": "Please fill in a valid email address", + + // "forgot-email.form.email.hint": "This address will be verified and used as your login name.", + // TODO New key - Add a translation + "forgot-email.form.email.hint": "This address will be verified and used as your login name.", + + // "forgot-email.form.submit": "Submit", + // TODO New key - Add a translation + "forgot-email.form.submit": "Submit", + + // "forgot-email.form.success.head": "Verification email sent", + // TODO New key - Add a translation + "forgot-email.form.success.head": "Verification email sent", + + // "forgot-email.form.success.content": "An email has been sent to {{ email }} containing a special URL and further instructions.", + // TODO New key - Add a translation + "forgot-email.form.success.content": "An email has been sent to {{ email }} containing a special URL and further instructions.", + + // "forgot-email.form.error.head": "Error when trying to register email", + // TODO New key - Add a translation + "forgot-email.form.error.head": "Error when trying to register email", + + // "forgot-email.form.error.content": "An error occured when registering the following email address: {{ email }}", + // TODO New key - Add a translation + "forgot-email.form.error.content": "An error occured when registering the following email address: {{ email }}", + + + + // "forgot-password.title": "Forgot Password", + // TODO New key - Add a translation + "forgot-password.title": "Forgot Password", + + // "forgot-password.form.head": "Forgot Password", + // TODO New key - Add a translation + "forgot-password.form.head": "Forgot Password", + + // "forgot-password.form.info": "Enter a new password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", + // TODO New key - Add a translation + "forgot-password.form.info": "Enter a new password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", + + // "forgot-password.form.card.security": "Security", + // TODO New key - Add a translation + "forgot-password.form.card.security": "Security", + + // "forgot-password.form.identification.header": "Identify", + // TODO New key - Add a translation + "forgot-password.form.identification.header": "Identify", + + // "forgot-password.form.identification.email": "Email address: ", + // TODO New key - Add a translation + "forgot-password.form.identification.email": "Email address: ", + + // "forgot-password.form.label.password": "Password", + // TODO New key - Add a translation + "forgot-password.form.label.password": "Password", + + // "forgot-password.form.label.passwordrepeat": "Retype to confirm", + // TODO New key - Add a translation + "forgot-password.form.label.passwordrepeat": "Retype to confirm", + + // "forgot-password.form.error.empty-password": "Please enter a password in the box below.", + // TODO New key - Add a translation + "forgot-password.form.error.empty-password": "Please enter a password in the box below.", + + // "forgot-password.form.error.matching-passwords": "The passwords do not match.", + // TODO New key - Add a translation + "forgot-password.form.error.matching-passwords": "The passwords do not match.", + + // "forgot-password.form.error.password-length": "The password should be at least 6 characters long.", + // TODO New key - Add a translation + "forgot-password.form.error.password-length": "The password should be at least 6 characters long.", + + // "forgot-password.form.notification.error.title": "Error when trying to submit new password", + // TODO New key - Add a translation + "forgot-password.form.notification.error.title": "Error when trying to submit new password", + + // "forgot-password.form.notification.success.content": "The password reset was successful. You have been logged in as the created user.", + // TODO New key - Add a translation + "forgot-password.form.notification.success.content": "The password reset was successful. You have been logged in as the created user.", + + // "forgot-password.form.notification.success.title": "Password reset completed", + // TODO New key - Add a translation + "forgot-password.form.notification.success.title": "Password reset completed", + + // "forgot-password.form.submit": "Submit password", + // TODO New key - Add a translation + "forgot-password.form.submit": "Submit password", + + + + // "form.add": "Add", + // TODO New key - Add a translation + "form.add": "Add", + + // "form.add-help": "Click here to add the current entry and to add another one", + // TODO New key - Add a translation + "form.add-help": "Click here to add the current entry and to add another one", + + // "form.cancel": "Cancel", + "form.cancel": "Cancelar", + + // "form.clear": "Clear", + "form.clear": "Limpar", + + // "form.clear-help": "Click here to remove the selected value", + "form.clear-help": "Clique aqui para apagar o valor selecionado", + + // "form.edit": "Edit", + "form.edit": "Editar", + + // "form.edit-help": "Click here to edit the selected value", + "form.edit-help": "Clique aqui para editar o valor selecionado", + + // "form.first-name": "First name", + "form.first-name": "Primeiro nome", + + // "form.group-collapse": "Collapse", + "form.group-collapse": "Esconder", + + // "form.group-collapse-help": "Click here to collapse", + "form.group-collapse-help": "Clique aqui para esconder", + + // "form.group-expand": "Expand", + "form.group-expand": "Expandir", + + // "form.group-expand-help": "Click here to expand and add more elements", + "form.group-expand-help": "Clique aqui para expandir e adicionar mais elementos", + + // "form.last-name": "Last name", + "form.last-name": "Último nome", + + // "form.loading": "Loading...", + "form.loading": "Carregando...", + + // "form.lookup": "Lookup", + // TODO New key - Add a translation + "form.lookup": "Lookup", + + // "form.lookup-help": "Click here to look up an existing relation", + // TODO New key - Add a translation + "form.lookup-help": "Click here to look up an existing relation", + + // "form.no-results": "No results found", + "form.no-results": "Nenhum resultado encontrado", + + // "form.no-value": "No value entered", + "form.no-value": "Nenhum valor informado", + + // "form.other-information": {}, + "form.other-information": {}, + + // "form.remove": "Remove", + "form.remove": "Apagar", + + // "form.save": "Save", + "form.save": "Salvar", + + // "form.save-help": "Save changes", + "form.save-help": "Salvar alterações", + + // "form.search": "Search", + "form.search": "Buscar", + + // "form.search-help": "Click here to look for an existing correspondence", + // TODO Source message changed - Revise the translation + "form.search-help": "Clique aqui para procurar por uma correspondência existente", + + // "form.submit": "Submit", + "form.submit": "Submeter", + + + + // "home.description": "", + // TODO New key - Add a translation + "home.description": "", + + // "home.breadcrumbs": "Home", + // TODO New key - Add a translation + "home.breadcrumbs": "Home", + + // "home.title": "DSpace Angular :: Home", + "home.title": "DSpace Angular :: Início", + + // "home.top-level-communities.head": "Communities in DSpace", + "home.top-level-communities.head": "Comunidades no DSpace", + + // "home.top-level-communities.help": "Select a community to browse its collections.", + "home.top-level-communities.help": "Selecione uma comunidade para navegar por suas coleções", + + + + // "info.end-user-agreement.accept": "I have read and I agree to the End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.accept": "I have read and I agree to the End User Agreement", + + // "info.end-user-agreement.accept.error": "An error occurred accepting the End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.accept.error": "An error occurred accepting the End User Agreement", + + // "info.end-user-agreement.accept.success": "Successfully updated the End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.accept.success": "Successfully updated the End User Agreement", + + // "info.end-user-agreement.breadcrumbs": "End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.breadcrumbs": "End User Agreement", + + // "info.end-user-agreement.buttons.cancel": "Cancel", + // TODO New key - Add a translation + "info.end-user-agreement.buttons.cancel": "Cancel", + + // "info.end-user-agreement.buttons.save": "Save", + // TODO New key - Add a translation + "info.end-user-agreement.buttons.save": "Save", + + // "info.end-user-agreement.head": "End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.head": "End User Agreement", + + // "info.end-user-agreement.title": "End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.title": "End User Agreement", + + // "info.privacy.breadcrumbs": "Privacy Statement", + // TODO New key - Add a translation + "info.privacy.breadcrumbs": "Privacy Statement", + + // "info.privacy.head": "Privacy Statement", + // TODO New key - Add a translation + "info.privacy.head": "Privacy Statement", + + // "info.privacy.title": "Privacy Statement", + // TODO New key - Add a translation + "info.privacy.title": "Privacy Statement", + + + + // "item.alerts.private": "This item is private", + // TODO New key - Add a translation + "item.alerts.private": "This item is private", + + // "item.alerts.withdrawn": "This item has been withdrawn", + // TODO New key - Add a translation + "item.alerts.withdrawn": "This item has been withdrawn", + + + + // "item.edit.authorizations.heading": "With this editor you can view and alter the policies of an item, plus alter policies of individual item components: bundles and bitstreams. Briefly, an item is a container of bundles, and bundles are containers of bitstreams. Containers usually have ADD/REMOVE/READ/WRITE policies, while bitstreams only have READ/WRITE policies.", + // TODO New key - Add a translation + "item.edit.authorizations.heading": "With this editor you can view and alter the policies of an item, plus alter policies of individual item components: bundles and bitstreams. Briefly, an item is a container of bundles, and bundles are containers of bitstreams. Containers usually have ADD/REMOVE/READ/WRITE policies, while bitstreams only have READ/WRITE policies.", + + // "item.edit.authorizations.title": "Edit item's Policies", + // TODO New key - Add a translation + "item.edit.authorizations.title": "Edit item's Policies", + + + + // "item.badge.private": "Private", + // TODO New key - Add a translation + "item.badge.private": "Private", + + // "item.badge.withdrawn": "Withdrawn", + // TODO New key - Add a translation + "item.badge.withdrawn": "Withdrawn", + + + + // "item.bitstreams.upload.bundle": "Bundle", + // TODO New key - Add a translation + "item.bitstreams.upload.bundle": "Bundle", + + // "item.bitstreams.upload.bundle.placeholder": "Select a bundle", + // TODO New key - Add a translation + "item.bitstreams.upload.bundle.placeholder": "Select a bundle", + + // "item.bitstreams.upload.bundle.new": "Create bundle", + // TODO New key - Add a translation + "item.bitstreams.upload.bundle.new": "Create bundle", + + // "item.bitstreams.upload.bundles.empty": "This item doesn\'t contain any bundles to upload a bitstream to.", + // TODO New key - Add a translation + "item.bitstreams.upload.bundles.empty": "This item doesn\'t contain any bundles to upload a bitstream to.", + + // "item.bitstreams.upload.cancel": "Cancel", + // TODO New key - Add a translation + "item.bitstreams.upload.cancel": "Cancel", + + // "item.bitstreams.upload.drop-message": "Drop a file to upload", + // TODO New key - Add a translation + "item.bitstreams.upload.drop-message": "Drop a file to upload", + + // "item.bitstreams.upload.item": "Item: ", + // TODO New key - Add a translation + "item.bitstreams.upload.item": "Item: ", + + // "item.bitstreams.upload.notifications.bundle.created.content": "Successfully created new bundle.", + // TODO New key - Add a translation + "item.bitstreams.upload.notifications.bundle.created.content": "Successfully created new bundle.", + + // "item.bitstreams.upload.notifications.bundle.created.title": "Created bundle", + // TODO New key - Add a translation + "item.bitstreams.upload.notifications.bundle.created.title": "Created bundle", + + // "item.bitstreams.upload.notifications.upload.failed": "Upload failed. Please verify the content before retrying.", + // TODO New key - Add a translation + "item.bitstreams.upload.notifications.upload.failed": "Upload failed. Please verify the content before retrying.", + + // "item.bitstreams.upload.title": "Upload bitstream", + // TODO New key - Add a translation + "item.bitstreams.upload.title": "Upload bitstream", + + + + // "item.edit.bitstreams.bundle.edit.buttons.upload": "Upload", + // TODO New key - Add a translation + "item.edit.bitstreams.bundle.edit.buttons.upload": "Upload", + + // "item.edit.bitstreams.bundle.displaying": "Currently displaying {{ amount }} bitstreams of {{ total }}.", + // TODO New key - Add a translation + "item.edit.bitstreams.bundle.displaying": "Currently displaying {{ amount }} bitstreams of {{ total }}.", + + // "item.edit.bitstreams.bundle.load.all": "Load all ({{ total }})", + // TODO New key - Add a translation + "item.edit.bitstreams.bundle.load.all": "Load all ({{ total }})", + + // "item.edit.bitstreams.bundle.load.more": "Load more", + // TODO New key - Add a translation + "item.edit.bitstreams.bundle.load.more": "Load more", + + // "item.edit.bitstreams.bundle.name": "BUNDLE: {{ name }}", + // TODO New key - Add a translation + "item.edit.bitstreams.bundle.name": "BUNDLE: {{ name }}", + + // "item.edit.bitstreams.discard-button": "Discard", + // TODO New key - Add a translation + "item.edit.bitstreams.discard-button": "Discard", + + // "item.edit.bitstreams.edit.buttons.download": "Download", + // TODO New key - Add a translation + "item.edit.bitstreams.edit.buttons.download": "Download", + + // "item.edit.bitstreams.edit.buttons.drag": "Drag", + // TODO New key - Add a translation + "item.edit.bitstreams.edit.buttons.drag": "Drag", + + // "item.edit.bitstreams.edit.buttons.edit": "Edit", + // TODO New key - Add a translation + "item.edit.bitstreams.edit.buttons.edit": "Edit", + + // "item.edit.bitstreams.edit.buttons.remove": "Remove", + // TODO New key - Add a translation + "item.edit.bitstreams.edit.buttons.remove": "Remove", + + // "item.edit.bitstreams.edit.buttons.undo": "Undo changes", + // TODO New key - Add a translation + "item.edit.bitstreams.edit.buttons.undo": "Undo changes", + + // "item.edit.bitstreams.empty": "This item doesn't contain any bitstreams. Click the upload button to create one.", + // TODO New key - Add a translation + "item.edit.bitstreams.empty": "This item doesn't contain any bitstreams. Click the upload button to create one.", + + // "item.edit.bitstreams.headers.actions": "Actions", + // TODO New key - Add a translation + "item.edit.bitstreams.headers.actions": "Actions", + + // "item.edit.bitstreams.headers.bundle": "Bundle", + // TODO New key - Add a translation + "item.edit.bitstreams.headers.bundle": "Bundle", + + // "item.edit.bitstreams.headers.description": "Description", + // TODO New key - Add a translation + "item.edit.bitstreams.headers.description": "Description", + + // "item.edit.bitstreams.headers.format": "Format", + // TODO New key - Add a translation + "item.edit.bitstreams.headers.format": "Format", + + // "item.edit.bitstreams.headers.name": "Name", + // TODO New key - Add a translation + "item.edit.bitstreams.headers.name": "Name", + + // "item.edit.bitstreams.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", + // TODO New key - Add a translation + "item.edit.bitstreams.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", + + // "item.edit.bitstreams.notifications.discarded.title": "Changes discarded", + // TODO New key - Add a translation + "item.edit.bitstreams.notifications.discarded.title": "Changes discarded", + + // "item.edit.bitstreams.notifications.move.failed.title": "Error moving bitstreams", + // TODO New key - Add a translation + "item.edit.bitstreams.notifications.move.failed.title": "Error moving bitstreams", + + // "item.edit.bitstreams.notifications.move.saved.content": "Your move changes to this item's bitstreams and bundles have been saved.", + // TODO New key - Add a translation + "item.edit.bitstreams.notifications.move.saved.content": "Your move changes to this item's bitstreams and bundles have been saved.", + + // "item.edit.bitstreams.notifications.move.saved.title": "Move changes saved", + // TODO New key - Add a translation + "item.edit.bitstreams.notifications.move.saved.title": "Move changes saved", + + // "item.edit.bitstreams.notifications.outdated.content": "The item you're currently working on has been changed by another user. Your current changes are discarded to prevent conflicts", + // TODO New key - Add a translation + "item.edit.bitstreams.notifications.outdated.content": "The item you're currently working on has been changed by another user. Your current changes are discarded to prevent conflicts", + + // "item.edit.bitstreams.notifications.outdated.title": "Changes outdated", + // TODO New key - Add a translation + "item.edit.bitstreams.notifications.outdated.title": "Changes outdated", + + // "item.edit.bitstreams.notifications.remove.failed.title": "Error deleting bitstream", + // TODO New key - Add a translation + "item.edit.bitstreams.notifications.remove.failed.title": "Error deleting bitstream", + + // "item.edit.bitstreams.notifications.remove.saved.content": "Your removal changes to this item's bitstreams have been saved.", + // TODO New key - Add a translation + "item.edit.bitstreams.notifications.remove.saved.content": "Your removal changes to this item's bitstreams have been saved.", + + // "item.edit.bitstreams.notifications.remove.saved.title": "Removal changes saved", + // TODO New key - Add a translation + "item.edit.bitstreams.notifications.remove.saved.title": "Removal changes saved", + + // "item.edit.bitstreams.reinstate-button": "Undo", + // TODO New key - Add a translation + "item.edit.bitstreams.reinstate-button": "Undo", + + // "item.edit.bitstreams.save-button": "Save", + // TODO New key - Add a translation + "item.edit.bitstreams.save-button": "Save", + + // "item.edit.bitstreams.upload-button": "Upload", + // TODO New key - Add a translation + "item.edit.bitstreams.upload-button": "Upload", + + + + // "item.edit.delete.cancel": "Cancel", + "item.edit.delete.cancel": "Cancelar", + + // "item.edit.delete.confirm": "Delete", + "item.edit.delete.confirm": "Apagar", + + // "item.edit.delete.description": "Are you sure this item should be completely deleted? Caution: At present, no tombstone would be left.", + "item.edit.delete.description": "Você tem certeza que deseja apagar completamento este item? Atenção: No momento, nenhum vestígio restará.", + + // "item.edit.delete.error": "An error occurred while deleting the item", + "item.edit.delete.error": "Ocorreu um erro ao apagar o item", + + // "item.edit.delete.header": "Delete item: {{ id }}", + "item.edit.delete.header": "Apagar item: {{ id }}", + + // "item.edit.delete.success": "The item has been deleted", + "item.edit.delete.success": "O item foi apagado", + + // "item.edit.head": "Edit Item", + "item.edit.head": "Editar Item", + + // "item.edit.breadcrumbs": "Edit Item", + // TODO New key - Add a translation + "item.edit.breadcrumbs": "Edit Item", + + + // "item.edit.tabs.mapper.head": "Collection Mapper", + // TODO New key - Add a translation + "item.edit.tabs.mapper.head": "Collection Mapper", + + // "item.edit.tabs.item-mapper.title": "Item Edit - Collection Mapper", + // TODO New key - Add a translation + "item.edit.tabs.item-mapper.title": "Item Edit - Collection Mapper", + + // "item.edit.item-mapper.buttons.add": "Map item to selected collections", + "item.edit.item-mapper.buttons.add": "Mapear item na(s) coleção(ões) seleciona(s)", + + // "item.edit.item-mapper.buttons.remove": "Remove item's mapping for selected collections", + "item.edit.item-mapper.buttons.remove": "Remover mapeamento(s) do item da(s) coleção(ões) seleciona(s)", + + // "item.edit.item-mapper.cancel": "Cancel", + "item.edit.item-mapper.cancel": "Cancelar", + + // "item.edit.item-mapper.description": "This is the item mapper tool that allows administrators to map this item to other collections. You can search for collections and map them, or browse the list of collections the item is currently mapped to.", + "item.edit.item-mapper.description": "Essa é a ferramenta de mapeamento de itens que permite que os administradores mapeiem esse item para outras coleções. Você pode procurar coleções e mapeá-las ou navegar na lista de coleções para as quais o item está atualmente mapeado.", + + // "item.edit.item-mapper.head": "Item Mapper - Map Item to Collections", + "item.edit.item-mapper.head": "Mapeador de Item - Mapear Itens em Coleções", + + // "item.edit.item-mapper.item": "Item: \"{{name}}\"", + "item.edit.item-mapper.item": "Item: \"{{name}}\"", + + // "item.edit.item-mapper.no-search": "Please enter a query to search", + "item.edit.item-mapper.no-search": "Por favor informe uma consulta para buscar", + + // "item.edit.item-mapper.notifications.add.error.content": "Errors occurred for mapping of item to {{amount}} collections.", + "item.edit.item-mapper.notifications.add.error.content": "Ocorreram erros ao mapear o item em {{amount}} coleções.", + + // "item.edit.item-mapper.notifications.add.error.head": "Mapping errors", + "item.edit.item-mapper.notifications.add.error.head": "Erros de mapeamento", + + // "item.edit.item-mapper.notifications.add.success.content": "Successfully mapped item to {{amount}} collections.", + "item.edit.item-mapper.notifications.add.success.content": "Mapeou o item em {{amount}} coleções com sucesso.", + + // "item.edit.item-mapper.notifications.add.success.head": "Mapping completed", + "item.edit.item-mapper.notifications.add.success.head": "Mapeamento complesto", + + // "item.edit.item-mapper.notifications.remove.error.content": "Errors occurred for the removal of the mapping to {{amount}} collections.", + "item.edit.item-mapper.notifications.remove.error.content": "Ocorreram erros ao remover mapeamento do item em {{amount}} coleções.", + + // "item.edit.item-mapper.notifications.remove.error.head": "Removal of mapping errors", + "item.edit.item-mapper.notifications.remove.error.head": "Erros de remoção de mapeamento", + + // "item.edit.item-mapper.notifications.remove.success.content": "Successfully removed mapping of item to {{amount}} collections.", + "item.edit.item-mapper.notifications.remove.success.content": "Successfully removed mapping of item to {{amount}} collections.", + + // "item.edit.item-mapper.notifications.remove.success.head": "Removal of mapping completed", + "item.edit.item-mapper.notifications.remove.success.head": "Completou a remoção de mapeamento", + + // "item.edit.item-mapper.tabs.browse": "Browse mapped collections", + "item.edit.item-mapper.tabs.browse": "Navegar nas coleções mapeadas", + + // "item.edit.item-mapper.tabs.map": "Map new collections", + "item.edit.item-mapper.tabs.map": "Mapear novas coleções", + + + + // "item.edit.metadata.add-button": "Add", + "item.edit.metadata.add-button": "Adicionar", + + // "item.edit.metadata.discard-button": "Discard", + "item.edit.metadata.discard-button": "Descartar", + + // "item.edit.metadata.edit.buttons.edit": "Edit", + "item.edit.metadata.edit.buttons.edit": "Editar", + + // "item.edit.metadata.edit.buttons.remove": "Remove", + "item.edit.metadata.edit.buttons.remove": "Apagar", + + // "item.edit.metadata.edit.buttons.undo": "Undo changes", + "item.edit.metadata.edit.buttons.undo": "Desfazer alterações", + + // "item.edit.metadata.edit.buttons.unedit": "Stop editing", + "item.edit.metadata.edit.buttons.unedit": "Parar edição", + + // "item.edit.metadata.empty": "The item currently doesn't contain any metadata. Click Add to start adding a metadata value.", + // TODO New key - Add a translation + "item.edit.metadata.empty": "The item currently doesn't contain any metadata. Click Add to start adding a metadata value.", + + // "item.edit.metadata.headers.edit": "Edit", + "item.edit.metadata.headers.edit": "Editar", + + // "item.edit.metadata.headers.field": "Field", + "item.edit.metadata.headers.field": "Campo", + + // "item.edit.metadata.headers.language": "Lang", + "item.edit.metadata.headers.language": "Idioma", + + // "item.edit.metadata.headers.value": "Value", + "item.edit.metadata.headers.value": "Valor", + + // "item.edit.metadata.metadatafield.invalid": "Please choose a valid metadata field", + "item.edit.metadata.metadatafield.invalid": "Por favor escolha um campo de metadados válido", + + // "item.edit.metadata.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", + "item.edit.metadata.notifications.discarded.content": "Suas alterações foram descartadas. Para restabelecer suas alterações, clique no botão 'Desfazer'", + + // "item.edit.metadata.notifications.discarded.title": "Changed discarded", + "item.edit.metadata.notifications.discarded.title": "Mudança descartada", + + // "item.edit.metadata.notifications.error.title": "An error occurred", + // TODO New key - Add a translation + "item.edit.metadata.notifications.error.title": "An error occurred", + + // "item.edit.metadata.notifications.invalid.content": "Your changes were not saved. Please make sure all fields are valid before you save.", + "item.edit.metadata.notifications.invalid.content": "Suas alterações não foram salvas. Verifique se todos os campos são válidos antes de salvar.", + + // "item.edit.metadata.notifications.invalid.title": "Metadata invalid", + "item.edit.metadata.notifications.invalid.title": "Metadado inválido", + + // "item.edit.metadata.notifications.outdated.content": "The item you're currently working on has been changed by another user. Your current changes are discarded to prevent conflicts", + "item.edit.metadata.notifications.outdated.content": "O item em que você está trabalhando foi alterado por outro usuário. Suas alterações atuais são descartadas para evitar conflitos", + + // "item.edit.metadata.notifications.outdated.title": "Changed outdated", + "item.edit.metadata.notifications.outdated.title": "Alteração desatualizada", + + // "item.edit.metadata.notifications.saved.content": "Your changes to this item's metadata were saved.", + "item.edit.metadata.notifications.saved.content": "Suas alterações nos metadados deste item foram salvas.", + + // "item.edit.metadata.notifications.saved.title": "Metadata saved", + "item.edit.metadata.notifications.saved.title": "Metadados salvos", + + // "item.edit.metadata.reinstate-button": "Undo", + "item.edit.metadata.reinstate-button": "Desfazer", + + // "item.edit.metadata.save-button": "Save", + "item.edit.metadata.save-button": "Salvar", + + + + // "item.edit.modify.overview.field": "Field", + "item.edit.modify.overview.field": "Campo", + + // "item.edit.modify.overview.language": "Language", + "item.edit.modify.overview.language": "Idioma", + + // "item.edit.modify.overview.value": "Value", + "item.edit.modify.overview.value": "Valor", + + + + // "item.edit.move.cancel": "Cancel", + "item.edit.move.cancel": "Cancelar", + + // "item.edit.move.description": "Select the collection you wish to move this item to. To narrow down the list of displayed collections, you can enter a search query in the box.", + "item.edit.move.description": "Selecione a coleção para a qual você deseja mover este item. Para restringir a lista de coleções exibidas, você pode inserir uma consulta de pesquisa na caixa.", + + // "item.edit.move.error": "An error occurred when attempting to move the item", + "item.edit.move.error": "Ocorreu um erro ao tentar mover o item", + + // "item.edit.move.head": "Move item: {{id}}", + "item.edit.move.head": "Mover item: {{id}}", + + // "item.edit.move.inheritpolicies.checkbox": "Inherit policies", + "item.edit.move.inheritpolicies.checkbox": "Herdar politicas", + + // "item.edit.move.inheritpolicies.description": "Inherit the default policies of the destination collection", + "item.edit.move.inheritpolicies.description": "Herdar as politicas padrões da coleção destino", + + // "item.edit.move.move": "Move", + "item.edit.move.move": "Mover", + + // "item.edit.move.processing": "Moving...", + "item.edit.move.processing": "Movendo...", + + // "item.edit.move.search.placeholder": "Enter a search query to look for collections", + "item.edit.move.search.placeholder": "Insira uma consulta para procurar coleções", + + // "item.edit.move.success": "The item has been moved successfully", + "item.edit.move.success": "O item foi movido com sucesso", + + // "item.edit.move.title": "Move item", + "item.edit.move.title": "Mover item", + + + + // "item.edit.private.cancel": "Cancel", + "item.edit.private.cancel": "Cancelar", + + // "item.edit.private.confirm": "Make it Private", + "item.edit.private.confirm": "Tornar Privado", + + // "item.edit.private.description": "Are you sure this item should be made private in the archive?", + "item.edit.private.description": "Tem certeza de que este item deve ser tornado privado no arquivo?", + + // "item.edit.private.error": "An error occurred while making the item private", + "item.edit.private.error": "Ocorreu um erro ao tornar o item privado", + + // "item.edit.private.header": "Make item private: {{ id }}", + "item.edit.private.header": "Tornar privado o item: {{ id }}", + + // "item.edit.private.success": "The item is now private", + "item.edit.private.success": "O item agora é privado", + + + + // "item.edit.public.cancel": "Cancel", + "item.edit.public.cancel": "Cancelar", + + // "item.edit.public.confirm": "Make it Public", + "item.edit.public.confirm": "Tornar público", + + // "item.edit.public.description": "Are you sure this item should be made public in the archive?", + "item.edit.public.description": "Você tem certeza que deseja tornar este item público no arquivo?", + + // "item.edit.public.error": "An error occurred while making the item public", + "item.edit.public.error": "Ocorreu um erro ao tornar o item público", + + // "item.edit.public.header": "Make item public: {{ id }}", + "item.edit.public.header": "Tornar público o item: {{ id }}", + + // "item.edit.public.success": "The item is now public", + "item.edit.public.success": "O item agora é público", + + + + // "item.edit.reinstate.cancel": "Cancel", + "item.edit.reinstate.cancel": "Cancelar", + + // "item.edit.reinstate.confirm": "Reinstate", + "item.edit.reinstate.confirm": "Restabelecer", + + // "item.edit.reinstate.description": "Are you sure this item should be reinstated to the archive?", + "item.edit.reinstate.description": "Tem certeza de que este item deve ser restabelecido no arquivo?", + + // "item.edit.reinstate.error": "An error occurred while reinstating the item", + "item.edit.reinstate.error": "Ocorreu um erro ao restabelecer o item", + + // "item.edit.reinstate.header": "Reinstate item: {{ id }}", + "item.edit.reinstate.header": "Restabelecer item: {{ id }}", + + // "item.edit.reinstate.success": "The item was reinstated successfully", + "item.edit.reinstate.success": "O item foi restabelecido com sucesso", + + + + // "item.edit.relationships.discard-button": "Discard", + "item.edit.relationships.discard-button": "Descartar", + + // "item.edit.relationships.edit.buttons.add": "Add", + // TODO New key - Add a translation + "item.edit.relationships.edit.buttons.add": "Add", + + // "item.edit.relationships.edit.buttons.remove": "Remove", + "item.edit.relationships.edit.buttons.remove": "Apagar", + + // "item.edit.relationships.edit.buttons.undo": "Undo changes", + "item.edit.relationships.edit.buttons.undo": "Desfazer alterações", + + // "item.edit.relationships.no-relationships": "No relationships", + // TODO New key - Add a translation + "item.edit.relationships.no-relationships": "No relationships", + + // "item.edit.relationships.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", + "item.edit.relationships.notifications.discarded.content": "Suas alterações foram descartadas. Para restabelecer suas alterações, clique no botão 'Desfazer'", + + // "item.edit.relationships.notifications.discarded.title": "Changes discarded", + "item.edit.relationships.notifications.discarded.title": "Alterações descartadas", + + // "item.edit.relationships.notifications.failed.title": "Error editing relationships", + // TODO Source message changed - Revise the translation + "item.edit.relationships.notifications.failed.title": "Erro ao apagar relacionamento", + + // "item.edit.relationships.notifications.outdated.content": "The item you're currently working on has been changed by another user. Your current changes are discarded to prevent conflicts", + "item.edit.relationships.notifications.outdated.content": "O item em que você está trabalhando foi alterado por outro usuário. Suas alterações atuais são descartadas para evitar conflitos", + + // "item.edit.relationships.notifications.outdated.title": "Changes outdated", + "item.edit.relationships.notifications.outdated.title": "Alterações desatualizadas", + + // "item.edit.relationships.notifications.saved.content": "Your changes to this item's relationships were saved.", + "item.edit.relationships.notifications.saved.content": "Suas alterações nos relacionamentos deste item foram salvas.", + + // "item.edit.relationships.notifications.saved.title": "Relationships saved", + "item.edit.relationships.notifications.saved.title": "Relacionamentos salvos", + + // "item.edit.relationships.reinstate-button": "Undo", + "item.edit.relationships.reinstate-button": "Desfazer", + + // "item.edit.relationships.save-button": "Save", + "item.edit.relationships.save-button": "Salvar", + + // "item.edit.relationships.no-entity-type": "Add 'relationship.type' metadata to enable relationships for this item", + // TODO New key - Add a translation + "item.edit.relationships.no-entity-type": "Add 'relationship.type' metadata to enable relationships for this item", + + + + // "item.edit.tabs.bitstreams.head": "Bitstreams", + // TODO Source message changed - Revise the translation + "item.edit.tabs.bitstreams.head": "Bitstreams do Item", + + // "item.edit.tabs.bitstreams.title": "Item Edit - Bitstreams", + "item.edit.tabs.bitstreams.title": "Editar Item - Bitstreams", + + // "item.edit.tabs.curate.head": "Curate", + "item.edit.tabs.curate.head": "Curadoria", + + // "item.edit.tabs.curate.title": "Item Edit - Curate", + "item.edit.tabs.curate.title": "Editar Item - Curadoria", + + // "item.edit.tabs.metadata.head": "Metadata", + // TODO Source message changed - Revise the translation + "item.edit.tabs.metadata.head": "Metadados do Item", + + // "item.edit.tabs.metadata.title": "Item Edit - Metadata", + "item.edit.tabs.metadata.title": "Editar Item - Metadados", + + // "item.edit.tabs.relationships.head": "Relationships", + // TODO Source message changed - Revise the translation + "item.edit.tabs.relationships.head": "Relacionamentos do Item", + + // "item.edit.tabs.relationships.title": "Item Edit - Relationships", + "item.edit.tabs.relationships.title": "Editar Item - Relacionamentos", + + // "item.edit.tabs.status.buttons.authorizations.button": "Authorizations...", + "item.edit.tabs.status.buttons.authorizations.button": "Autorizações...", + + // "item.edit.tabs.status.buttons.authorizations.label": "Edit item's authorization policies", + "item.edit.tabs.status.buttons.authorizations.label": "Editar politicas de autorizações de item", + + // "item.edit.tabs.status.buttons.delete.button": "Permanently delete", + "item.edit.tabs.status.buttons.delete.button": "Apagar permanentemente", + + // "item.edit.tabs.status.buttons.delete.label": "Completely expunge item", + "item.edit.tabs.status.buttons.delete.label": "Eliminar completamente o item", + + // "item.edit.tabs.status.buttons.mappedCollections.button": "Mapped collections", + "item.edit.tabs.status.buttons.mappedCollections.button": "Coleções mapeadas", + + // "item.edit.tabs.status.buttons.mappedCollections.label": "Manage mapped collections", + "item.edit.tabs.status.buttons.mappedCollections.label": "Gerenciar coleções mapeadas", + + // "item.edit.tabs.status.buttons.move.button": "Move...", + "item.edit.tabs.status.buttons.move.button": "Mover...", + + // "item.edit.tabs.status.buttons.move.label": "Move item to another collection", + "item.edit.tabs.status.buttons.move.label": "Mover item para outra coleção", + + // "item.edit.tabs.status.buttons.private.button": "Make it private...", + "item.edit.tabs.status.buttons.private.button": "Tornar privado o item...", + + // "item.edit.tabs.status.buttons.private.label": "Make item private", + "item.edit.tabs.status.buttons.private.label": "Tornar privado o item", + + // "item.edit.tabs.status.buttons.public.button": "Make it public...", + "item.edit.tabs.status.buttons.public.button": "Tornar público o item...", + + // "item.edit.tabs.status.buttons.public.label": "Make item public", + "item.edit.tabs.status.buttons.public.label": "Tornar público o item", + + // "item.edit.tabs.status.buttons.reinstate.button": "Reinstate...", + "item.edit.tabs.status.buttons.reinstate.button": "Restabelecer...", + + // "item.edit.tabs.status.buttons.reinstate.label": "Reinstate item into the repository", + "item.edit.tabs.status.buttons.reinstate.label": "Restabelecer item no repositório", + + // "item.edit.tabs.status.buttons.withdraw.button": "Withdraw...", + "item.edit.tabs.status.buttons.withdraw.button": "Retirar...", + + // "item.edit.tabs.status.buttons.withdraw.label": "Withdraw item from the repository", + "item.edit.tabs.status.buttons.withdraw.label": "Retirar item do repositório", + + // "item.edit.tabs.status.description": "Welcome to the item management page. From here you can withdraw, reinstate, move or delete the item. You may also update or add new metadata / bitstreams on the other tabs.", + "item.edit.tabs.status.description": "Bem-vindo à página de gerenciamento de itens. A partir daqui, você pode retirar, restabelecer, mover ou apagar o item. Você também pode atualizar ou adicionar novos metadados / bitstream nas outras guias.", + + // "item.edit.tabs.status.head": "Status", + // TODO Source message changed - Revise the translation + "item.edit.tabs.status.head": "Estado do Item", + + // "item.edit.tabs.status.labels.handle": "Handle", + "item.edit.tabs.status.labels.handle": "Handle", + + // "item.edit.tabs.status.labels.id": "Item Internal ID", + "item.edit.tabs.status.labels.id": "ID Interno do Item", + + // "item.edit.tabs.status.labels.itemPage": "Item Page", + "item.edit.tabs.status.labels.itemPage": "Página do Item", + + // "item.edit.tabs.status.labels.lastModified": "Last Modified", + "item.edit.tabs.status.labels.lastModified": "Ultima alteração", + + // "item.edit.tabs.status.title": "Item Edit - Status", + "item.edit.tabs.status.title": "Editar Item - Estado", + + // "item.edit.tabs.versionhistory.head": "Version History", + // TODO New key - Add a translation + "item.edit.tabs.versionhistory.head": "Version History", + + // "item.edit.tabs.versionhistory.title": "Item Edit - Version History", + // TODO New key - Add a translation + "item.edit.tabs.versionhistory.title": "Item Edit - Version History", + + // "item.edit.tabs.versionhistory.under-construction": "Editing or adding new versions is not yet possible in this user interface.", + // TODO New key - Add a translation + "item.edit.tabs.versionhistory.under-construction": "Editing or adding new versions is not yet possible in this user interface.", + + // "item.edit.tabs.view.head": "View Item", + "item.edit.tabs.view.head": "Visualizar Item", + + // "item.edit.tabs.view.title": "Item Edit - View", + "item.edit.tabs.view.title": "Editar Item - Visualizar", + + + + // "item.edit.withdraw.cancel": "Cancel", + "item.edit.withdraw.cancel": "Cancelar", + + // "item.edit.withdraw.confirm": "Withdraw", + "item.edit.withdraw.confirm": "Retirar", + + // "item.edit.withdraw.description": "Are you sure this item should be withdrawn from the archive?", + "item.edit.withdraw.description": "Tem certeza de que este item deve ser retirado do arquivo?", + + // "item.edit.withdraw.error": "An error occurred while withdrawing the item", + "item.edit.withdraw.error": "Ocorreu um erro ao retirar o item", + + // "item.edit.withdraw.header": "Withdraw item: {{ id }}", + "item.edit.withdraw.header": "Retirar item: {{ id }}", + + // "item.edit.withdraw.success": "The item was withdrawn successfully", + "item.edit.withdraw.success": "O item foi retirado com sucesso", + + + + // "item.listelement.badge": "Item", + // TODO New key - Add a translation + "item.listelement.badge": "Item", + + // "item.page.description": "Description", + // TODO New key - Add a translation + "item.page.description": "Description", + + // "item.page.edit": "Edit this item", + // TODO New key - Add a translation + "item.page.edit": "Edit this item", + + // "item.page.journal-issn": "Journal ISSN", + // TODO New key - Add a translation + "item.page.journal-issn": "Journal ISSN", + + // "item.page.journal-title": "Journal Title", + // TODO New key - Add a translation + "item.page.journal-title": "Journal Title", + + // "item.page.publisher": "Publisher", + // TODO New key - Add a translation + "item.page.publisher": "Publisher", + + // "item.page.titleprefix": "Item: ", + // TODO New key - Add a translation + "item.page.titleprefix": "Item: ", + + // "item.page.volume-title": "Volume Title", + // TODO New key - Add a translation + "item.page.volume-title": "Volume Title", + + // "item.search.results.head": "Item Search Results", + // TODO New key - Add a translation + "item.search.results.head": "Item Search Results", + + // "item.search.title": "DSpace Angular :: Item Search", + // TODO New key - Add a translation + "item.search.title": "DSpace Angular :: Item Search", + + + + // "item.page.abstract": "Abstract", + "item.page.abstract": "Resumo", + + // "item.page.author": "Authors", + "item.page.author": "Autores", + + // "item.page.citation": "Citation", + "item.page.citation": "Citação", + + // "item.page.collections": "Collections", + "item.page.collections": "Coleções", + + // "item.page.date": "Date", + "item.page.date": "Data", + + // "item.page.edit": "Edit this item", + // TODO New key - Add a translation + "item.page.edit": "Edit this item", + + // "item.page.files": "Files", + "item.page.files": "Arquivos", + + // "item.page.filesection.description": "Description:", + "item.page.filesection.description": "Descrição:", + + // "item.page.filesection.download": "Download", + "item.page.filesection.download": "Baixar", + + // "item.page.filesection.format": "Format:", + "item.page.filesection.format": "Formato:", + + // "item.page.filesection.name": "Name:", + "item.page.filesection.name": "Nome:", + + // "item.page.filesection.size": "Size:", + "item.page.filesection.size": "Tamanho:", + + // "item.page.journal.search.title": "Articles in this journal", + "item.page.journal.search.title": "Articles in this journal", + + // "item.page.link.full": "Full item page", + "item.page.link.full": "Página do item completo", + + // "item.page.link.simple": "Simple item page", + "item.page.link.simple": "Página do item simplificado", + + // "item.page.person.search.title": "Articles by this author", + "item.page.person.search.title": "Artigos deste autor", + + // "item.page.related-items.view-more": "Show {{ amount }} more", + // TODO Source message changed - Revise the translation + "item.page.related-items.view-more": "Mostrar mais", + + // "item.page.related-items.view-less": "Hide last {{ amount }}", + // TODO Source message changed - Revise the translation + "item.page.related-items.view-less": "Mostrar menos", + + // "item.page.relationships.isAuthorOfPublication": "Publications", + // TODO New key - Add a translation + "item.page.relationships.isAuthorOfPublication": "Publications", + + // "item.page.relationships.isJournalOfPublication": "Publications", + // TODO New key - Add a translation + "item.page.relationships.isJournalOfPublication": "Publications", + + // "item.page.relationships.isOrgUnitOfPerson": "Authors", + // TODO New key - Add a translation + "item.page.relationships.isOrgUnitOfPerson": "Authors", + + // "item.page.relationships.isOrgUnitOfProject": "Research Projects", + // TODO New key - Add a translation + "item.page.relationships.isOrgUnitOfProject": "Research Projects", + + // "item.page.subject": "Keywords", + "item.page.subject": "Palavras-chave", + + // "item.page.uri": "URI", + "item.page.uri": "URI", + + // "item.page.bitstreams.view-more": "Show more", + // TODO New key - Add a translation + "item.page.bitstreams.view-more": "Show more", + + // "item.page.bitstreams.collapse": "Collapse", + // TODO New key - Add a translation + "item.page.bitstreams.collapse": "Collapse", + + // "item.page.filesection.original.bundle" : "Original bundle", + // TODO New key - Add a translation + "item.page.filesection.original.bundle" : "Original bundle", + + // "item.page.filesection.license.bundle" : "License bundle", + // TODO New key - Add a translation + "item.page.filesection.license.bundle" : "License bundle", + + // "item.preview.dc.identifier.uri": "Identifier:", + // TODO New key - Add a translation + "item.preview.dc.identifier.uri": "Identifier:", + + // "item.preview.dc.contributor.author": "Authors:", + // TODO New key - Add a translation + "item.preview.dc.contributor.author": "Authors:", + + // "item.preview.dc.date.issued": "Published date:", + // TODO New key - Add a translation + "item.preview.dc.date.issued": "Published date:", + + // "item.preview.dc.description.abstract": "Abstract:", + // TODO New key - Add a translation + "item.preview.dc.description.abstract": "Abstract:", + + // "item.preview.dc.identifier.other": "Other identifier:", + // TODO New key - Add a translation + "item.preview.dc.identifier.other": "Other identifier:", + + // "item.preview.dc.language.iso": "Language:", + // TODO New key - Add a translation + "item.preview.dc.language.iso": "Language:", + + // "item.preview.dc.subject": "Subjects:", + // TODO New key - Add a translation + "item.preview.dc.subject": "Subjects:", + + // "item.preview.dc.title": "Title:", + // TODO New key - Add a translation + "item.preview.dc.title": "Title:", + + // "item.preview.person.familyName": "Surname:", + // TODO New key - Add a translation + "item.preview.person.familyName": "Surname:", + + // "item.preview.person.givenName": "Name:", + // TODO New key - Add a translation + "item.preview.person.givenName": "Name:", + + // "item.preview.person.identifier.orcid": "ORCID:", + // TODO New key - Add a translation + "item.preview.person.identifier.orcid": "ORCID:", + + + // "item.select.confirm": "Confirm selected", + "item.select.confirm": "Confirmar seleção", + + // "item.select.empty": "No items to show", + "item.select.empty": "Nenhum itme a mostrar", + + // "item.select.table.author": "Author", + "item.select.table.author": "Autor", + + // "item.select.table.collection": "Collection", + "item.select.table.collection": "Coleção", + + // "item.select.table.title": "Title", + "item.select.table.title": "Título", + + + // "item.version.history.empty": "There are no other versions for this item yet.", + // TODO New key - Add a translation + "item.version.history.empty": "There are no other versions for this item yet.", + + // "item.version.history.head": "Version History", + // TODO New key - Add a translation + "item.version.history.head": "Version History", + + // "item.version.history.return": "Return", + // TODO New key - Add a translation + "item.version.history.return": "Return", + + // "item.version.history.selected": "Selected version", + // TODO New key - Add a translation + "item.version.history.selected": "Selected version", + + // "item.version.history.table.version": "Version", + // TODO New key - Add a translation + "item.version.history.table.version": "Version", + + // "item.version.history.table.item": "Item", + // TODO New key - Add a translation + "item.version.history.table.item": "Item", + + // "item.version.history.table.editor": "Editor", + // TODO New key - Add a translation + "item.version.history.table.editor": "Editor", + + // "item.version.history.table.date": "Date", + // TODO New key - Add a translation + "item.version.history.table.date": "Date", + + // "item.version.history.table.summary": "Summary", + // TODO New key - Add a translation + "item.version.history.table.summary": "Summary", + + + + // "item.version.notice": "This is not the latest version of this item. The latest version can be found here.", + // TODO New key - Add a translation + "item.version.notice": "This is not the latest version of this item. The latest version can be found here.", + + + + // "journal.listelement.badge": "Journal", + "journal.listelement.badge": "Periódico", + + // "journal.page.description": "Description", + "journal.page.description": "Descrição", + + // "journal.page.edit": "Edit this item", + // TODO New key - Add a translation + "journal.page.edit": "Edit this item", + + // "journal.page.editor": "Editor-in-Chief", + "journal.page.editor": "Editor Chefe", + + // "journal.page.issn": "ISSN", + "journal.page.issn": "ISSN", + + // "journal.page.publisher": "Publisher", + "journal.page.publisher": "Editora", + + // "journal.page.titleprefix": "Journal: ", + "journal.page.titleprefix": "Periódico: ", + + // "journal.search.results.head": "Journal Search Results", + "journal.search.results.head": "Resultado da Busca de Periódicos", + + // "journal.search.title": "DSpace Angular :: Journal Search", + "journal.search.title": "DSpace Angular :: Busca de Periódicos", + + + + // "journalissue.listelement.badge": "Journal Issue", + "journalissue.listelement.badge": "Fascículo", + + // "journalissue.page.description": "Description", + "journalissue.page.description": "Descrição", + + // "journalissue.page.edit": "Edit this item", + // TODO New key - Add a translation + "journalissue.page.edit": "Edit this item", + + // "journalissue.page.issuedate": "Issue Date", + "journalissue.page.issuedate": "Data de Publicação", + + // "journalissue.page.journal-issn": "Journal ISSN", + "journalissue.page.journal-issn": "ISSN do Periódico", + + // "journalissue.page.journal-title": "Journal Title", + "journalissue.page.journal-title": "Título do Periódico", + + // "journalissue.page.keyword": "Keywords", + "journalissue.page.keyword": "Palavras-chave", + + // "journalissue.page.number": "Number", + "journalissue.page.number": "Número", + + // "journalissue.page.titleprefix": "Journal Issue: ", + "journalissue.page.titleprefix": "Fascículo: ", + + + + // "journalvolume.listelement.badge": "Journal Volume", + "journalvolume.listelement.badge": "Volume do Periódico", + + // "journalvolume.page.description": "Description", + "journalvolume.page.description": "Descrição", + + // "journalvolume.page.edit": "Edit this item", + // TODO New key - Add a translation + "journalvolume.page.edit": "Edit this item", + + // "journalvolume.page.issuedate": "Issue Date", + "journalvolume.page.issuedate": "Data de Publicação", + + // "journalvolume.page.titleprefix": "Journal Volume: ", + "journalvolume.page.titleprefix": "Volume do Periódico: ", + + // "journalvolume.page.volume": "Volume", + "journalvolume.page.volume": "Volume", + + + + // "loading.bitstream": "Loading bitstream...", + // TODO New key - Add a translation + "loading.bitstream": "Loading bitstream...", + + // "loading.bitstreams": "Loading bitstreams...", + // TODO New key - Add a translation + "loading.bitstreams": "Loading bitstreams...", + + // "loading.browse-by": "Loading items...", + "loading.browse-by": "Carregando itens...", + + // "loading.browse-by-page": "Loading page...", + "loading.browse-by-page": "Carregando página...", + + // "loading.collection": "Loading collection...", + "loading.collection": "Carregando coleção...", + + // "loading.collections": "Loading collections...", + "loading.collections": "Carregando coleções...", + + // "loading.content-source": "Loading content source...", + // TODO New key - Add a translation + "loading.content-source": "Loading content source...", + + // "loading.community": "Loading community...", + "loading.community": "Carregando comunidade...", + + // "loading.default": "Loading...", + "loading.default": "Carregando...", + + // "loading.item": "Loading item...", + "loading.item": "Carregando item...", + + // "loading.items": "Loading items...", + "loading.items": "Carregando itens...", + + // "loading.mydspace-results": "Loading items...", + "loading.mydspace-results": "Carregando itens...", + + // "loading.objects": "Loading...", + "loading.objects": "Carregando...", + + // "loading.recent-submissions": "Loading recent submissions...", + "loading.recent-submissions": "Carregando submissões recentes...", + + // "loading.search-results": "Loading search results...", + "loading.search-results": "Carregando resultados de busca...", + + // "loading.sub-collections": "Loading sub-collections...", + "loading.sub-collections": "Carregando sub-coleções...", + + // "loading.sub-communities": "Loading sub-communities...", + "loading.sub-communities": "Carregando sub-comunidades...", + + // "loading.top-level-communities": "Loading top-level communities...", + "loading.top-level-communities": "Carregando comunidades de nível superior...", + + + + // "login.form.email": "Email address", + "login.form.email": "Endereço de email", + + // "login.form.forgot-password": "Have you forgotten your password?", + "login.form.forgot-password": "Esqueceu sua senha?", + + // "login.form.header": "Please log in to DSpace", + "login.form.header": "Por favor entre no DSpace", + + // "login.form.new-user": "New user? Click here to register.", + "login.form.new-user": "Novo usuário? Clique aqui para cadastrar.", + + // "login.form.or-divider": "or", + // TODO New key - Add a translation + "login.form.or-divider": "or", + + // "login.form.password": "Password", + "login.form.password": "Senha", + + // "login.form.shibboleth": "Log in with Shibboleth", + // TODO New key - Add a translation + "login.form.shibboleth": "Log in with Shibboleth", + + // "login.form.submit": "Log in", + "login.form.submit": "Entrar", + + // "login.title": "Login", + "login.title": "Entrar", + + // "login.breadcrumbs": "Login", + // TODO New key - Add a translation + "login.breadcrumbs": "Login", + + + + // "logout.form.header": "Log out from DSpace", + "logout.form.header": "Sair do DSpace", + + // "logout.form.submit": "Log out", + "logout.form.submit": "Sair", + + // "logout.title": "Logout", + "logout.title": "Sair", + + + + // "menu.header.admin": "Admin", + "menu.header.admin": "Administração", + + // "menu.header.image.logo": "Repository logo", + "menu.header.image.logo": "Logo do repositório", + + + + // "menu.section.access_control": "Access Control", + "menu.section.access_control": "Controle de Acesso", + + // "menu.section.access_control_authorizations": "Authorizations", + "menu.section.access_control_authorizations": "Autorizações", + + // "menu.section.access_control_groups": "Groups", + "menu.section.access_control_groups": "Grupos", + + // "menu.section.access_control_people": "People", + "menu.section.access_control_people": "Pessoas", + + + // "menu.section.admin_search": "Admin Search", // TODO New key - Add a translation "menu.section.admin_search": "Admin Search", - - - + + + + // "menu.section.browse_community": "This Community", + "menu.section.browse_community": "Esta Comunidade", + + // "menu.section.browse_community_by_author": "By Author", + "menu.section.browse_community_by_author": "Por Autor", + + // "menu.section.browse_community_by_issue_date": "By Issue Date", + "menu.section.browse_community_by_issue_date": "Por Data de Publicação", + + // "menu.section.browse_community_by_title": "By Title", + "menu.section.browse_community_by_title": "Por Título", + + // "menu.section.browse_global": "All of DSpace", + "menu.section.browse_global": "Tudo no DSpace", + + // "menu.section.browse_global_by_author": "By Author", + "menu.section.browse_global_by_author": "Por Autor", + + // "menu.section.browse_global_by_dateissued": "By Issue Date", + "menu.section.browse_global_by_dateissued": "Por Data de Publicação", + + // "menu.section.browse_global_by_subject": "By Subject", + "menu.section.browse_global_by_subject": "Por Assunto", + + // "menu.section.browse_global_by_title": "By Title", + "menu.section.browse_global_by_title": "Por Título", + + // "menu.section.browse_global_communities_and_collections": "Communities & Collections", + "menu.section.browse_global_communities_and_collections": "Comunidades e Coleções", + + + + // "menu.section.control_panel": "Control Panel", + "menu.section.control_panel": "Painel de Controle", + + // "menu.section.curation_task": "Curation Task", + "menu.section.curation_task": "Tarefas de Curadoria", + + + + // "menu.section.edit": "Edit", + "menu.section.edit": "Editar", + + // "menu.section.edit_collection": "Collection", + "menu.section.edit_collection": "Coleção", + + // "menu.section.edit_community": "Community", + "menu.section.edit_community": "Comunidade", + + // "menu.section.edit_item": "Item", + "menu.section.edit_item": "Item", + + + + // "menu.section.export": "Export", + "menu.section.export": "Exportar", + + // "menu.section.export_collection": "Collection", + "menu.section.export_collection": "Coleção", + + // "menu.section.export_community": "Community", + "menu.section.export_community": "Comunidade", + + // "menu.section.export_item": "Item", + "menu.section.export_item": "Item", + + // "menu.section.export_metadata": "Metadata", + "menu.section.export_metadata": "Metadados", + + + + // "menu.section.icon.access_control": "Access Control menu section", + "menu.section.icon.access_control": "Seção do menu Controle de Acesso", + + // "menu.section.icon.admin_search": "Admin search menu section", + // TODO New key - Add a translation + "menu.section.icon.admin_search": "Admin search menu section", + + // "menu.section.icon.control_panel": "Control Panel menu section", + "menu.section.icon.control_panel": "Seção do menu Painel de Controle", + + // "menu.section.icon.curation_task": "Curation Task menu section", + "menu.section.icon.curation_task": "Seção do menu Tarefas de Curadoria", + + // "menu.section.icon.edit": "Edit menu section", + "menu.section.icon.edit": "Seção do menu Editar", + + // "menu.section.icon.export": "Export menu section", + "menu.section.icon.export": "Seção do menu Exportar", + + // "menu.section.icon.find": "Find menu section", + "menu.section.icon.find": "Seção do menu Buscar", + + // "menu.section.icon.import": "Import menu section", + "menu.section.icon.import": "Seção do menu Importar", + + // "menu.section.icon.new": "New menu section", + "menu.section.icon.new": "Seção do menu Novo", + + // "menu.section.icon.pin": "Pin sidebar", + "menu.section.icon.pin": "Fixar barra lateral", + + // "menu.section.icon.processes": "Processes menu section", + // TODO New key - Add a translation + "menu.section.icon.processes": "Processes menu section", + + // "menu.section.icon.registries": "Registries menu section", + "menu.section.icon.registries": "Seção do menu Registros", + + // "menu.section.icon.statistics_task": "Statistics Task menu section", + "menu.section.icon.statistics_task": "Seção do menu Tarefas de Estatísticas", + + // "menu.section.icon.unpin": "Unpin sidebar", + "menu.section.icon.unpin": "Soltar barra lateral", + + + + // "menu.section.import": "Import", + "menu.section.import": "Importar", + + // "menu.section.import_batch": "Batch Import (ZIP)", + "menu.section.import_batch": "Importação em Lote (ZIP)", + + // "menu.section.import_metadata": "Metadata", + "menu.section.import_metadata": "Metadados", + + + + // "menu.section.new": "New", + "menu.section.new": "Nova", + + // "menu.section.new_collection": "Collection", + "menu.section.new_collection": "Coleção", + + // "menu.section.new_community": "Community", + "menu.section.new_community": "Comunidade", + + // "menu.section.new_item": "Item", + "menu.section.new_item": "Item", + + // "menu.section.new_item_version": "Item Version", + "menu.section.new_item_version": "Versão do Item", + + // "menu.section.new_process": "Process", + // TODO New key - Add a translation + "menu.section.new_process": "Process", + + + + // "menu.section.pin": "Pin sidebar", + "menu.section.pin": "Fixar barra lateral", + + // "menu.section.unpin": "Unpin sidebar", + "menu.section.unpin": "Soltar barra lateral", + + + + // "menu.section.processes": "Processes", + // TODO New key - Add a translation + "menu.section.processes": "Processes", + + + + // "menu.section.registries": "Registries", + "menu.section.registries": "Registros", + + // "menu.section.registries_format": "Format", + "menu.section.registries_format": "Formatos", + + // "menu.section.registries_metadata": "Metadata", + "menu.section.registries_metadata": "Metadados", + + + + // "menu.section.statistics": "Statistics", + "menu.section.statistics": "Estatísticas", + + // "menu.section.statistics_task": "Statistics Task", + "menu.section.statistics_task": "Tarefas de Estatísticas", + + + + // "menu.section.toggle.access_control": "Toggle Access Control section", + "menu.section.toggle.access_control": "Alternar Seção Controle de Acesso", + + // "menu.section.toggle.control_panel": "Toggle Control Panel section", + "menu.section.toggle.control_panel": "Alternar Seção Painel de COntrole", + + // "menu.section.toggle.curation_task": "Toggle Curation Task section", + "menu.section.toggle.curation_task": "Alternar Seção Tarefas de Curadoria", + + // "menu.section.toggle.edit": "Toggle Edit section", + "menu.section.toggle.edit": "Alternar Seção Editar", + + // "menu.section.toggle.export": "Toggle Export section", + "menu.section.toggle.export": "Alternar Seção Exportar", + + // "menu.section.toggle.find": "Toggle Find section", + "menu.section.toggle.find": "Alternar Seção Pesquisa", + + // "menu.section.toggle.import": "Toggle Import section", + "menu.section.toggle.import": "Alternar Seção Importar", + + // "menu.section.toggle.new": "Toggle New section", + "menu.section.toggle.new": "Alternar Nova Seção", + + // "menu.section.toggle.registries": "Toggle Registries section", + "menu.section.toggle.registries": "Alternar Seção Registros", + + // "menu.section.toggle.statistics_task": "Toggle Statistics Task section", + "menu.section.toggle.statistics_task": "Alternar Seção Tarefas de Estatísticas", + + + // "menu.section.workflow": "Administer Workflow", + // TODO New key - Add a translation + "menu.section.workflow": "Administer Workflow", + + + // "mydspace.description": "", + "mydspace.description": "", + + // "mydspace.general.text-here": "here", + // TODO Source message changed - Revise the translation + "mydspace.general.text-here": "AQUI", + + // "mydspace.messages.controller-help": "Select this option to send a message to item's submitter.", + "mydspace.messages.controller-help": "Selecione esta opção para enviar uma mensagem para o submetedor do item.", + + // "mydspace.messages.description-placeholder": "Insert your message here...", + "mydspace.messages.description-placeholder": "Insira sua mensagem aqui...", + + // "mydspace.messages.hide-msg": "Hide message", + "mydspace.messages.hide-msg": "Ocultar mensagem", + + // "mydspace.messages.mark-as-read": "Mark as read", + "mydspace.messages.mark-as-read": "Marcar como lida", + + // "mydspace.messages.mark-as-unread": "Mark as unread", + "mydspace.messages.mark-as-unread": "Marcar como não lida", + + // "mydspace.messages.no-content": "No content.", + "mydspace.messages.no-content": "Sem conteúdo", + + // "mydspace.messages.no-messages": "No messages yet.", + "mydspace.messages.no-messages": "Nenhuma mensagem ainda", + + // "mydspace.messages.send-btn": "Send", + "mydspace.messages.send-btn": "Enviar", + + // "mydspace.messages.show-msg": "Show message", + "mydspace.messages.show-msg": "Mostrar mensagem", + + // "mydspace.messages.subject-placeholder": "Subject...", + "mydspace.messages.subject-placeholder": "Assunto...", + + // "mydspace.messages.submitter-help": "Select this option to send a message to controller.", + "mydspace.messages.submitter-help": "Selecione esta opção para enviar uma mensagem ao controlador.", + + // "mydspace.messages.title": "Messages", + "mydspace.messages.title": "Mensagens", + + // "mydspace.messages.to": "To", + "mydspace.messages.to": "Para", + + // "mydspace.new-submission": "New submission", + "mydspace.new-submission": "Nova submissão", + + // "mydspace.new-submission-external": "Import metadata from external source", + // TODO New key - Add a translation + "mydspace.new-submission-external": "Import metadata from external source", + + // "mydspace.new-submission-external-short": "Import metadata", + // TODO New key - Add a translation + "mydspace.new-submission-external-short": "Import metadata", + + // "mydspace.results.head": "Your submissions", + "mydspace.results.head": "Minhas submissões", + + // "mydspace.results.no-abstract": "No Abstract", + "mydspace.results.no-abstract": "Sem Resumo", + + // "mydspace.results.no-authors": "No Authors", + "mydspace.results.no-authors": "Sem Autores", + + // "mydspace.results.no-collections": "No Collections", + "mydspace.results.no-collections": "Sem Coleções", + + // "mydspace.results.no-date": "No Date", + "mydspace.results.no-date": "Sem Data", + + // "mydspace.results.no-files": "No Files", + "mydspace.results.no-files": "Sem arquivos", + + // "mydspace.results.no-results": "There were no items to show", + "mydspace.results.no-results": "Não havia itens a mostrar", + + // "mydspace.results.no-title": "No title", + "mydspace.results.no-title": "Sem título", + + // "mydspace.results.no-uri": "No Uri", + "mydspace.results.no-uri": "Sem Uri", + + // "mydspace.show.workflow": "All tasks", + "mydspace.show.workflow": "Todas as tarefas", + + // "mydspace.show.workspace": "Your Submissions", + "mydspace.show.workspace": "Minhas Submissões", + + // "mydspace.status.archived": "Archived", + "mydspace.status.archived": "Arquivado", + + // "mydspace.status.validation": "Validation", + "mydspace.status.validation": "Validação", + + // "mydspace.status.waiting-for-controller": "Waiting for controller", + "mydspace.status.waiting-for-controller": "Esperando pelo controlador", + + // "mydspace.status.workflow": "Workflow", + "mydspace.status.workflow": "Fluxo de trabalho", + + // "mydspace.status.workspace": "Workspace", + "mydspace.status.workspace": "Espaço de trabalho", + + // "mydspace.title": "MyDSpace", + "mydspace.title": "MyDSpace", + + // "mydspace.upload.upload-failed": "Error creating new workspace. Please verify the content uploaded before retry.", + "mydspace.upload.upload-failed": "Erro ao criar novo espaço de trabalho. Por favor verifique o conteúdo enviado antes de tentar novamente.", + + // "mydspace.upload.upload-failed-manyentries": "Unprocessable file. Detected too many entries but allowed only one for file.", + // TODO New key - Add a translation + "mydspace.upload.upload-failed-manyentries": "Unprocessable file. Detected too many entries but allowed only one for file.", + + // "mydspace.upload.upload-failed-moreonefile": "Unprocessable request. Only one file is allowed.", + // TODO New key - Add a translation + "mydspace.upload.upload-failed-moreonefile": "Unprocessable request. Only one file is allowed.", + + // "mydspace.upload.upload-multiple-successful": "{{qty}} new workspace items created.", + "mydspace.upload.upload-multiple-successful": "{{qty}} novo(s) item(ns) de espaço de trabalho criados.", + + // "mydspace.upload.upload-successful": "New workspace item created. Click {{here}} for edit it.", + "mydspace.upload.upload-successful": "Novo item de espaço de trabalho criado. Clique {{here}} para o editar.", + + // "mydspace.view-btn": "View", + "mydspace.view-btn": "Ver", + + + + // "nav.browse.header": "All of DSpace", + "nav.browse.header": "Tudo no DSpace", + + // "nav.community-browse.header": "By Community", + "nav.community-browse.header": "Por Comunidade", + + // "nav.language": "Language switch", + "nav.language": "Seletor de idioma", + + // "nav.login": "Log In", + "nav.login": "Entrar", + + // "nav.logout": "Log Out", + "nav.logout": "Sair", + + // "nav.mydspace": "MyDSpace", + "nav.mydspace": "MyDSpace", + + // "nav.profile": "Profile", + // TODO New key - Add a translation + "nav.profile": "Profile", + + // "nav.search": "Search", + "nav.search": "Buscar", + + // "nav.statistics.header": "Statistics", + "nav.statistics.header": "Estatísticas", + + // "nav.stop-impersonating": "Stop impersonating EPerson", + // TODO New key - Add a translation + "nav.stop-impersonating": "Stop impersonating EPerson", + + + + // "orgunit.listelement.badge": "Organizational Unit", + "orgunit.listelement.badge": "Unidade Organizacional", + + // "orgunit.page.city": "City", + "orgunit.page.city": "Cidade", + + // "orgunit.page.country": "Country", + "orgunit.page.country": "País", + + // "orgunit.page.dateestablished": "Date established", + "orgunit.page.dateestablished": "Data estabelecida", + + // "orgunit.page.description": "Description", + "orgunit.page.description": "Descrição", + + // "orgunit.page.edit": "Edit this item", + // TODO New key - Add a translation + "orgunit.page.edit": "Edit this item", + + // "orgunit.page.id": "ID", + "orgunit.page.id": "ID", + + // "orgunit.page.titleprefix": "Organizational Unit: ", + "orgunit.page.titleprefix": "Unidade Organizacional: ", + + + + // "pagination.results-per-page": "Results Per Page", + "pagination.results-per-page": "Resultados por página", + + // "pagination.showing.detail": "{{ range }} of {{ total }}", + "pagination.showing.detail": "{{ range }} de {{ total }}", + + // "pagination.showing.label": "Now showing ", + "pagination.showing.label": "Agora exibindo ", + + // "pagination.sort-direction": "Sort Options", + "pagination.sort-direction": "Opções de Ordenação", + + + + // "person.listelement.badge": "Person", + "person.listelement.badge": "Pessoa", + + // "person.listelement.no-title": "No name found", + // TODO New key - Add a translation + "person.listelement.no-title": "No name found", + + // "person.page.birthdate": "Birth Date", + "person.page.birthdate": "Data de nascimento", + + // "person.page.edit": "Edit this item", + // TODO New key - Add a translation + "person.page.edit": "Edit this item", + + // "person.page.email": "Email Address", + "person.page.email": "Endereço de Email", + + // "person.page.firstname": "First Name", + "person.page.firstname": "Primeiro Nome", + + // "person.page.jobtitle": "Job Title", + "person.page.jobtitle": "Cargo", + + // "person.page.lastname": "Last Name", + "person.page.lastname": "Último Nome", + + // "person.page.link.full": "Show all metadata", + "person.page.link.full": "Mostrar todos os metadados", + + // "person.page.orcid": "ORCID", + "person.page.orcid": "ORCID", + + // "person.page.staffid": "Staff ID", + "person.page.staffid": "ID de Equipe", + + // "person.page.titleprefix": "Person: ", + "person.page.titleprefix": "Pessoa: ", + + // "person.search.results.head": "Person Search Results", + "person.search.results.head": "Resultado da Busca de Pessoa", + + // "person.search.title": "DSpace Angular :: Person Search", + "person.search.title": "DSpace Angular :: Buscar Pessoa", + + + + // "process.new.select-parameters": "Parameters", + // TODO New key - Add a translation + "process.new.select-parameters": "Parameters", + + // "process.new.cancel": "Cancel", + // TODO New key - Add a translation + "process.new.cancel": "Cancel", + + // "process.new.submit": "Submit", + // TODO New key - Add a translation + "process.new.submit": "Submit", + + // "process.new.select-script": "Script", + // TODO New key - Add a translation + "process.new.select-script": "Script", + + // "process.new.select-script.placeholder": "Choose a script...", + // TODO New key - Add a translation + "process.new.select-script.placeholder": "Choose a script...", + + // "process.new.select-script.required": "Script is required", + // TODO New key - Add a translation + "process.new.select-script.required": "Script is required", + + // "process.new.parameter.file.upload-button": "Select file...", + // TODO New key - Add a translation + "process.new.parameter.file.upload-button": "Select file...", + + // "process.new.parameter.file.required": "Please select a file", + // TODO New key - Add a translation + "process.new.parameter.file.required": "Please select a file", + + // "process.new.parameter.string.required": "Parameter value is required", + // TODO New key - Add a translation + "process.new.parameter.string.required": "Parameter value is required", + + // "process.new.parameter.type.value": "value", + // TODO New key - Add a translation + "process.new.parameter.type.value": "value", + + // "process.new.parameter.type.file": "file", + // TODO New key - Add a translation + "process.new.parameter.type.file": "file", + + // "process.new.parameter.required.missing": "The following parameters are required but still missing:", + // TODO New key - Add a translation + "process.new.parameter.required.missing": "The following parameters are required but still missing:", + + // "process.new.notification.success.title": "Success", + // TODO New key - Add a translation + "process.new.notification.success.title": "Success", + + // "process.new.notification.success.content": "The process was successfully created", + // TODO New key - Add a translation + "process.new.notification.success.content": "The process was successfully created", + + // "process.new.notification.error.title": "Error", + // TODO New key - Add a translation + "process.new.notification.error.title": "Error", + + // "process.new.notification.error.content": "An error occurred while creating this process", + // TODO New key - Add a translation + "process.new.notification.error.content": "An error occurred while creating this process", + + // "process.new.header": "Create a new process", + // TODO New key - Add a translation + "process.new.header": "Create a new process", + + // "process.new.title": "Create a new process", + // TODO New key - Add a translation + "process.new.title": "Create a new process", + + // "process.new.breadcrumbs": "Create a new process", + // TODO New key - Add a translation + "process.new.breadcrumbs": "Create a new process", + + + + // "process.detail.arguments" : "Arguments", + // TODO New key - Add a translation + "process.detail.arguments" : "Arguments", + + // "process.detail.arguments.empty" : "This process doesn't contain any arguments", + // TODO New key - Add a translation + "process.detail.arguments.empty" : "This process doesn't contain any arguments", + + // "process.detail.back" : "Back", + // TODO New key - Add a translation + "process.detail.back" : "Back", + + // "process.detail.output" : "Process Output", + // TODO New key - Add a translation + "process.detail.output" : "Process Output", + + // "process.detail.logs.button": "Retrieve process output", + // TODO New key - Add a translation + "process.detail.logs.button": "Retrieve process output", + + // "process.detail.logs.loading": "Retrieving", + // TODO New key - Add a translation + "process.detail.logs.loading": "Retrieving", + + // "process.detail.logs.none": "This process has no output", + // TODO New key - Add a translation + "process.detail.logs.none": "This process has no output", + + // "process.detail.output-files" : "Output Files", + // TODO New key - Add a translation + "process.detail.output-files" : "Output Files", + + // "process.detail.output-files.empty" : "This process doesn't contain any output files", + // TODO New key - Add a translation + "process.detail.output-files.empty" : "This process doesn't contain any output files", + + // "process.detail.script" : "Script", + // TODO New key - Add a translation + "process.detail.script" : "Script", + + // "process.detail.title" : "Process: {{ id }} - {{ name }}", + // TODO New key - Add a translation + "process.detail.title" : "Process: {{ id }} - {{ name }}", + + // "process.detail.start-time" : "Start time", + // TODO New key - Add a translation + "process.detail.start-time" : "Start time", + + // "process.detail.end-time" : "Finish time", + // TODO New key - Add a translation + "process.detail.end-time" : "Finish time", + + // "process.detail.status" : "Status", + // TODO New key - Add a translation + "process.detail.status" : "Status", + + // "process.detail.create" : "Create similar process", + // TODO New key - Add a translation + "process.detail.create" : "Create similar process", + + + + // "process.overview.table.finish" : "Finish time", + // TODO New key - Add a translation + "process.overview.table.finish" : "Finish time", + + // "process.overview.table.id" : "Process ID", + // TODO New key - Add a translation + "process.overview.table.id" : "Process ID", + + // "process.overview.table.name" : "Name", + // TODO New key - Add a translation + "process.overview.table.name" : "Name", + + // "process.overview.table.start" : "Start time", + // TODO New key - Add a translation + "process.overview.table.start" : "Start time", + + // "process.overview.table.status" : "Status", + // TODO New key - Add a translation + "process.overview.table.status" : "Status", + + // "process.overview.table.user" : "User", + // TODO New key - Add a translation + "process.overview.table.user" : "User", + + // "process.overview.title": "Processes Overview", + // TODO New key - Add a translation + "process.overview.title": "Processes Overview", + + // "process.overview.breadcrumbs": "Processes Overview", + // TODO New key - Add a translation + "process.overview.breadcrumbs": "Processes Overview", + + // "process.overview.new": "New", + // TODO New key - Add a translation + "process.overview.new": "New", + + + // "profile.breadcrumbs": "Update Profile", + // TODO New key - Add a translation + "profile.breadcrumbs": "Update Profile", + + // "profile.card.identify": "Identify", + // TODO New key - Add a translation + "profile.card.identify": "Identify", + + // "profile.card.security": "Security", + // TODO New key - Add a translation + "profile.card.security": "Security", + + // "profile.form.submit": "Update Profile", + // TODO New key - Add a translation + "profile.form.submit": "Update Profile", + + // "profile.groups.head": "Authorization groups you belong to", + // TODO New key - Add a translation + "profile.groups.head": "Authorization groups you belong to", + + // "profile.head": "Update Profile", + // TODO New key - Add a translation + "profile.head": "Update Profile", + + // "profile.metadata.form.error.firstname.required": "First Name is required", + // TODO New key - Add a translation + "profile.metadata.form.error.firstname.required": "First Name is required", + + // "profile.metadata.form.error.lastname.required": "Last Name is required", + // TODO New key - Add a translation + "profile.metadata.form.error.lastname.required": "Last Name is required", + + // "profile.metadata.form.label.email": "Email Address", + // TODO New key - Add a translation + "profile.metadata.form.label.email": "Email Address", + + // "profile.metadata.form.label.firstname": "First Name", + // TODO New key - Add a translation + "profile.metadata.form.label.firstname": "First Name", + + // "profile.metadata.form.label.language": "Language", + // TODO New key - Add a translation + "profile.metadata.form.label.language": "Language", + + // "profile.metadata.form.label.lastname": "Last Name", + // TODO New key - Add a translation + "profile.metadata.form.label.lastname": "Last Name", + + // "profile.metadata.form.label.phone": "Contact Telephone", + // TODO New key - Add a translation + "profile.metadata.form.label.phone": "Contact Telephone", + + // "profile.metadata.form.notifications.success.content": "Your changes to the profile were saved.", + // TODO New key - Add a translation + "profile.metadata.form.notifications.success.content": "Your changes to the profile were saved.", + + // "profile.metadata.form.notifications.success.title": "Profile saved", + // TODO New key - Add a translation + "profile.metadata.form.notifications.success.title": "Profile saved", + + // "profile.notifications.warning.no-changes.content": "No changes were made to the Profile.", + // TODO New key - Add a translation + "profile.notifications.warning.no-changes.content": "No changes were made to the Profile.", + + // "profile.notifications.warning.no-changes.title": "No changes", + // TODO New key - Add a translation + "profile.notifications.warning.no-changes.title": "No changes", + + // "profile.security.form.error.matching-passwords": "The passwords do not match.", + // TODO New key - Add a translation + "profile.security.form.error.matching-passwords": "The passwords do not match.", + + // "profile.security.form.error.password-length": "The password should be at least 6 characters long.", + // TODO New key - Add a translation + "profile.security.form.error.password-length": "The password should be at least 6 characters long.", + + // "profile.security.form.info": "Optionally, you can enter a new password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", + // TODO New key - Add a translation + "profile.security.form.info": "Optionally, you can enter a new password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", + + // "profile.security.form.label.password": "Password", + // TODO New key - Add a translation + "profile.security.form.label.password": "Password", + + // "profile.security.form.label.passwordrepeat": "Retype to confirm", + // TODO New key - Add a translation + "profile.security.form.label.passwordrepeat": "Retype to confirm", + + // "profile.security.form.notifications.success.content": "Your changes to the password were saved.", + // TODO New key - Add a translation + "profile.security.form.notifications.success.content": "Your changes to the password were saved.", + + // "profile.security.form.notifications.success.title": "Password saved", + // TODO New key - Add a translation + "profile.security.form.notifications.success.title": "Password saved", + + // "profile.security.form.notifications.error.title": "Error changing passwords", + // TODO New key - Add a translation + "profile.security.form.notifications.error.title": "Error changing passwords", + + // "profile.security.form.notifications.error.not-long-enough": "The password has to be at least 6 characters long.", + // TODO New key - Add a translation + "profile.security.form.notifications.error.not-long-enough": "The password has to be at least 6 characters long.", + + // "profile.security.form.notifications.error.not-same": "The provided passwords are not the same.", + // TODO New key - Add a translation + "profile.security.form.notifications.error.not-same": "The provided passwords are not the same.", + + // "profile.title": "Update Profile", + // TODO New key - Add a translation + "profile.title": "Update Profile", + + + + // "project.listelement.badge": "Research Project", + "project.listelement.badge": "Projeto de Pesquisa", + + // "project.page.contributor": "Contributors", + "project.page.contributor": "Contribuidores", + + // "project.page.description": "Description", + "project.page.description": "Descrição", + + // "project.page.edit": "Edit this item", + // TODO New key - Add a translation + "project.page.edit": "Edit this item", + + // "project.page.expectedcompletion": "Expected Completion", + "project.page.expectedcompletion": "Conclusão esperada", + + // "project.page.funder": "Funders", + "project.page.funder": "Financiadores", + + // "project.page.id": "ID", + "project.page.id": "ID", + + // "project.page.keyword": "Keywords", + "project.page.keyword": "Palavras-chave", + + // "project.page.status": "Status", + "project.page.status": "Estado", + + // "project.page.titleprefix": "Research Project: ", + "project.page.titleprefix": "Projeto de Pesquisa: ", + + // "project.search.results.head": "Project Search Results", + // TODO New key - Add a translation + "project.search.results.head": "Project Search Results", + + + + // "publication.listelement.badge": "Publication", + "publication.listelement.badge": "Publicação", + + // "publication.page.description": "Description", + "publication.page.description": "Descrição", + + // "publication.page.edit": "Edit this item", + // TODO New key - Add a translation + "publication.page.edit": "Edit this item", + + // "publication.page.journal-issn": "Journal ISSN", + "publication.page.journal-issn": "ISSN do Periódico", + + // "publication.page.journal-title": "Journal Title", + "publication.page.journal-title": "Título do Periódico", + + // "publication.page.publisher": "Publisher", + "publication.page.publisher": "Editora", + + // "publication.page.titleprefix": "Publication: ", + "publication.page.titleprefix": "Publicação: ", + + // "publication.page.volume-title": "Volume Title", + "publication.page.volume-title": "Título do Volume", + + // "publication.search.results.head": "Publication Search Results", + "publication.search.results.head": "Resultados da Busca de Publicação", + + // "publication.search.title": "DSpace Angular :: Publication Search", + "publication.search.title": "DSpace Angular :: Busca de Publicações", + + + // "register-email.title": "New user registration", + // TODO New key - Add a translation + "register-email.title": "New user registration", + + // "register-page.create-profile.header": "Create Profile", + // TODO New key - Add a translation + "register-page.create-profile.header": "Create Profile", + + // "register-page.create-profile.identification.header": "Identify", + // TODO New key - Add a translation + "register-page.create-profile.identification.header": "Identify", + + // "register-page.create-profile.identification.email": "Email Address", + // TODO New key - Add a translation + "register-page.create-profile.identification.email": "Email Address", + + // "register-page.create-profile.identification.first-name": "First Name *", + // TODO New key - Add a translation + "register-page.create-profile.identification.first-name": "First Name *", + + // "register-page.create-profile.identification.first-name.error": "Please fill in a First Name", + // TODO New key - Add a translation + "register-page.create-profile.identification.first-name.error": "Please fill in a First Name", + + // "register-page.create-profile.identification.last-name": "Last Name *", + // TODO New key - Add a translation + "register-page.create-profile.identification.last-name": "Last Name *", + + // "register-page.create-profile.identification.last-name.error": "Please fill in a Last Name", + // TODO New key - Add a translation + "register-page.create-profile.identification.last-name.error": "Please fill in a Last Name", + + // "register-page.create-profile.identification.contact": "Contact Telephone", + // TODO New key - Add a translation + "register-page.create-profile.identification.contact": "Contact Telephone", + + // "register-page.create-profile.identification.language": "Language", + // TODO New key - Add a translation + "register-page.create-profile.identification.language": "Language", + + // "register-page.create-profile.security.header": "Security", + // TODO New key - Add a translation + "register-page.create-profile.security.header": "Security", + + // "register-page.create-profile.security.info": "Please enter a password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", + // TODO New key - Add a translation + "register-page.create-profile.security.info": "Please enter a password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", + + // "register-page.create-profile.security.label.password": "Password *", + // TODO New key - Add a translation + "register-page.create-profile.security.label.password": "Password *", + + // "register-page.create-profile.security.label.passwordrepeat": "Retype to confirm *", + // TODO New key - Add a translation + "register-page.create-profile.security.label.passwordrepeat": "Retype to confirm *", + + // "register-page.create-profile.security.error.empty-password": "Please enter a password in the box below.", + // TODO New key - Add a translation + "register-page.create-profile.security.error.empty-password": "Please enter a password in the box below.", + + // "register-page.create-profile.security.error.matching-passwords": "The passwords do not match.", + // TODO New key - Add a translation + "register-page.create-profile.security.error.matching-passwords": "The passwords do not match.", + + // "register-page.create-profile.security.error.password-length": "The password should be at least 6 characters long.", + // TODO New key - Add a translation + "register-page.create-profile.security.error.password-length": "The password should be at least 6 characters long.", + + // "register-page.create-profile.submit": "Complete Registration", + // TODO New key - Add a translation + "register-page.create-profile.submit": "Complete Registration", + + // "register-page.create-profile.submit.error.content": "Something went wrong while registering a new user.", + // TODO New key - Add a translation + "register-page.create-profile.submit.error.content": "Something went wrong while registering a new user.", + + // "register-page.create-profile.submit.error.head": "Registration failed", + // TODO New key - Add a translation + "register-page.create-profile.submit.error.head": "Registration failed", + + // "register-page.create-profile.submit.success.content": "The registration was successful. You have been logged in as the created user.", + // TODO New key - Add a translation + "register-page.create-profile.submit.success.content": "The registration was successful. You have been logged in as the created user.", + + // "register-page.create-profile.submit.success.head": "Registration completed", + // TODO New key - Add a translation + "register-page.create-profile.submit.success.head": "Registration completed", + + + // "register-page.registration.header": "New user registration", + // TODO New key - Add a translation + "register-page.registration.header": "New user registration", + + // "register-page.registration.info": "Register an account to subscribe to collections for email updates, and submit new items to DSpace.", + // TODO New key - Add a translation + "register-page.registration.info": "Register an account to subscribe to collections for email updates, and submit new items to DSpace.", + + // "register-page.registration.email": "Email Address *", + // TODO New key - Add a translation + "register-page.registration.email": "Email Address *", + + // "register-page.registration.email.error.required": "Please fill in an email address", + // TODO New key - Add a translation + "register-page.registration.email.error.required": "Please fill in an email address", + + // "register-page.registration.email.error.pattern": "Please fill in a valid email address", + // TODO New key - Add a translation + "register-page.registration.email.error.pattern": "Please fill in a valid email address", + + // "register-page.registration.email.hint": "This address will be verified and used as your login name.", + // TODO New key - Add a translation + "register-page.registration.email.hint": "This address will be verified and used as your login name.", + + // "register-page.registration.submit": "Register", + // TODO New key - Add a translation + "register-page.registration.submit": "Register", + + // "register-page.registration.success.head": "Verification email sent", + // TODO New key - Add a translation + "register-page.registration.success.head": "Verification email sent", + + // "register-page.registration.success.content": "An email has been sent to {{ email }} containing a special URL and further instructions.", + // TODO New key - Add a translation + "register-page.registration.success.content": "An email has been sent to {{ email }} containing a special URL and further instructions.", + + // "register-page.registration.error.head": "Error when trying to register email", + // TODO New key - Add a translation + "register-page.registration.error.head": "Error when trying to register email", + + // "register-page.registration.error.content": "An error occured when registering the following email address: {{ email }}", + // TODO New key - Add a translation + "register-page.registration.error.content": "An error occured when registering the following email address: {{ email }}", + + + + // "relationships.add.error.relationship-type.content": "No suitable match could be found for relationship type {{ type }} between the two items", + // TODO New key - Add a translation + "relationships.add.error.relationship-type.content": "No suitable match could be found for relationship type {{ type }} between the two items", + + // "relationships.add.error.server.content": "The server returned an error", + // TODO New key - Add a translation + "relationships.add.error.server.content": "The server returned an error", + + // "relationships.add.error.title": "Unable to add relationship", + // TODO New key - Add a translation + "relationships.add.error.title": "Unable to add relationship", + + // "relationships.isAuthorOf": "Authors", + "relationships.isAuthorOf": "Autores", + + // "relationships.isAuthorOf.Person": "Authors (persons)", + // TODO New key - Add a translation + "relationships.isAuthorOf.Person": "Authors (persons)", + + // "relationships.isAuthorOf.OrgUnit": "Authors (organizational units)", + // TODO New key - Add a translation + "relationships.isAuthorOf.OrgUnit": "Authors (organizational units)", + + // "relationships.isIssueOf": "Journal Issues", + "relationships.isIssueOf": "Fascículo", + + // "relationships.isJournalIssueOf": "Journal Issue", + "relationships.isJournalIssueOf": "Fascículo", + + // "relationships.isJournalOf": "Journals", + "relationships.isJournalOf": "Periódicos", + + // "relationships.isOrgUnitOf": "Organizational Units", + "relationships.isOrgUnitOf": "Unidades Organizacionais", + + // "relationships.isPersonOf": "Authors", + "relationships.isPersonOf": "Autores", + + // "relationships.isProjectOf": "Research Projects", + "relationships.isProjectOf": "Projetos de Pesquisa", + + // "relationships.isPublicationOf": "Publications", + "relationships.isPublicationOf": "Publicações", + + // "relationships.isPublicationOfJournalIssue": "Articles", + "relationships.isPublicationOfJournalIssue": "Artigos", + + // "relationships.isSingleJournalOf": "Journal", + "relationships.isSingleJournalOf": "Periódico", + + // "relationships.isSingleVolumeOf": "Journal Volume", + "relationships.isSingleVolumeOf": "Volume do Periódico", + + // "relationships.isVolumeOf": "Journal Volumes", + "relationships.isVolumeOf": "Volumes do Periódico", + + // "relationships.isContributorOf": "Contributors", + // TODO New key - Add a translation + "relationships.isContributorOf": "Contributors", + + + + // "resource-policies.add.button": "Add", + // TODO New key - Add a translation + "resource-policies.add.button": "Add", + + // "resource-policies.add.for.": "Add a new policy", + // TODO New key - Add a translation + "resource-policies.add.for.": "Add a new policy", + + // "resource-policies.add.for.bitstream": "Add a new Bitstream policy", + // TODO New key - Add a translation + "resource-policies.add.for.bitstream": "Add a new Bitstream policy", + + // "resource-policies.add.for.bundle": "Add a new Bundle policy", + // TODO New key - Add a translation + "resource-policies.add.for.bundle": "Add a new Bundle policy", + + // "resource-policies.add.for.item": "Add a new Item policy", + // TODO New key - Add a translation + "resource-policies.add.for.item": "Add a new Item policy", + + // "resource-policies.add.for.community": "Add a new Community policy", + // TODO New key - Add a translation + "resource-policies.add.for.community": "Add a new Community policy", + + // "resource-policies.add.for.collection": "Add a new Collection policy", + // TODO New key - Add a translation + "resource-policies.add.for.collection": "Add a new Collection policy", + + // "resource-policies.create.page.heading": "Create new resource policy for ", + // TODO New key - Add a translation + "resource-policies.create.page.heading": "Create new resource policy for ", + + // "resource-policies.create.page.failure.content": "An error occurred while creating the resource policy.", + // TODO New key - Add a translation + "resource-policies.create.page.failure.content": "An error occurred while creating the resource policy.", + + // "resource-policies.create.page.success.content": "Operation successful", + // TODO New key - Add a translation + "resource-policies.create.page.success.content": "Operation successful", + + // "resource-policies.create.page.title": "Create new resource policy", + // TODO New key - Add a translation + "resource-policies.create.page.title": "Create new resource policy", + + // "resource-policies.delete.btn": "Delete selected", + // TODO New key - Add a translation + "resource-policies.delete.btn": "Delete selected", + + // "resource-policies.delete.btn.title": "Delete selected resource policies", + // TODO New key - Add a translation + "resource-policies.delete.btn.title": "Delete selected resource policies", + + // "resource-policies.delete.failure.content": "An error occurred while deleting selected resource policies.", + // TODO New key - Add a translation + "resource-policies.delete.failure.content": "An error occurred while deleting selected resource policies.", + + // "resource-policies.delete.success.content": "Operation successful", + // TODO New key - Add a translation + "resource-policies.delete.success.content": "Operation successful", + + // "resource-policies.edit.page.heading": "Edit resource policy ", + // TODO New key - Add a translation + "resource-policies.edit.page.heading": "Edit resource policy ", + + // "resource-policies.edit.page.failure.content": "An error occurred while editing the resource policy.", + // TODO New key - Add a translation + "resource-policies.edit.page.failure.content": "An error occurred while editing the resource policy.", + + // "resource-policies.edit.page.success.content": "Operation successful", + // TODO New key - Add a translation + "resource-policies.edit.page.success.content": "Operation successful", + + // "resource-policies.edit.page.title": "Edit resource policy", + // TODO New key - Add a translation + "resource-policies.edit.page.title": "Edit resource policy", + + // "resource-policies.form.action-type.label": "Select the action type", + // TODO New key - Add a translation + "resource-policies.form.action-type.label": "Select the action type", + + // "resource-policies.form.action-type.required": "You must select the resource policy action.", + // TODO New key - Add a translation + "resource-policies.form.action-type.required": "You must select the resource policy action.", + + // "resource-policies.form.eperson-group-list.label": "The eperson or group that will be granted the permission", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.label": "The eperson or group that will be granted the permission", + + // "resource-policies.form.eperson-group-list.select.btn": "Select", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.select.btn": "Select", + + // "resource-policies.form.eperson-group-list.tab.eperson": "Search for a ePerson", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.tab.eperson": "Search for a ePerson", + + // "resource-policies.form.eperson-group-list.tab.group": "Search for a group", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.tab.group": "Search for a group", + + // "resource-policies.form.eperson-group-list.table.headers.action": "Action", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.table.headers.action": "Action", + + // "resource-policies.form.eperson-group-list.table.headers.id": "ID", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.table.headers.id": "ID", + + // "resource-policies.form.eperson-group-list.table.headers.name": "Name", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.table.headers.name": "Name", + + // "resource-policies.form.date.end.label": "End Date", + // TODO New key - Add a translation + "resource-policies.form.date.end.label": "End Date", + + // "resource-policies.form.date.start.label": "Start Date", + // TODO New key - Add a translation + "resource-policies.form.date.start.label": "Start Date", + + // "resource-policies.form.description.label": "Description", + // TODO New key - Add a translation + "resource-policies.form.description.label": "Description", + + // "resource-policies.form.name.label": "Name", + // TODO New key - Add a translation + "resource-policies.form.name.label": "Name", + + // "resource-policies.form.policy-type.label": "Select the policy type", + // TODO New key - Add a translation + "resource-policies.form.policy-type.label": "Select the policy type", + + // "resource-policies.form.policy-type.required": "You must select the resource policy type.", + // TODO New key - Add a translation + "resource-policies.form.policy-type.required": "You must select the resource policy type.", + + // "resource-policies.table.headers.action": "Action", + // TODO New key - Add a translation + "resource-policies.table.headers.action": "Action", + + // "resource-policies.table.headers.date.end": "End Date", + // TODO New key - Add a translation + "resource-policies.table.headers.date.end": "End Date", + + // "resource-policies.table.headers.date.start": "Start Date", + // TODO New key - Add a translation + "resource-policies.table.headers.date.start": "Start Date", + + // "resource-policies.table.headers.edit": "Edit", + // TODO New key - Add a translation + "resource-policies.table.headers.edit": "Edit", + + // "resource-policies.table.headers.edit.group": "Edit group", + // TODO New key - Add a translation + "resource-policies.table.headers.edit.group": "Edit group", + + // "resource-policies.table.headers.edit.policy": "Edit policy", + // TODO New key - Add a translation + "resource-policies.table.headers.edit.policy": "Edit policy", + + // "resource-policies.table.headers.eperson": "EPerson", + // TODO New key - Add a translation + "resource-policies.table.headers.eperson": "EPerson", + + // "resource-policies.table.headers.group": "Group", + // TODO New key - Add a translation + "resource-policies.table.headers.group": "Group", + + // "resource-policies.table.headers.id": "ID", + // TODO New key - Add a translation + "resource-policies.table.headers.id": "ID", + + // "resource-policies.table.headers.name": "Name", + // TODO New key - Add a translation + "resource-policies.table.headers.name": "Name", + + // "resource-policies.table.headers.policyType": "type", + // TODO New key - Add a translation + "resource-policies.table.headers.policyType": "type", + + // "resource-policies.table.headers.title.for.bitstream": "Policies for Bitstream", + // TODO New key - Add a translation + "resource-policies.table.headers.title.for.bitstream": "Policies for Bitstream", + + // "resource-policies.table.headers.title.for.bundle": "Policies for Bundle", + // TODO New key - Add a translation + "resource-policies.table.headers.title.for.bundle": "Policies for Bundle", + + // "resource-policies.table.headers.title.for.item": "Policies for Item", + // TODO New key - Add a translation + "resource-policies.table.headers.title.for.item": "Policies for Item", + + // "resource-policies.table.headers.title.for.community": "Policies for Community", + // TODO New key - Add a translation + "resource-policies.table.headers.title.for.community": "Policies for Community", + + // "resource-policies.table.headers.title.for.collection": "Policies for Collection", + // TODO New key - Add a translation + "resource-policies.table.headers.title.for.collection": "Policies for Collection", + + + + // "search.description": "", + "search.description": "", + + // "search.switch-configuration.title": "Show", + "search.switch-configuration.title": "Mostrar", + + // "search.title": "DSpace Angular :: Search", + "search.title": "DSpace Angular :: Busca", + + // "search.breadcrumbs": "Search", + // TODO New key - Add a translation + "search.breadcrumbs": "Search", + + + // "search.filters.applied.f.author": "Author", + "search.filters.applied.f.author": "Autor", + + // "search.filters.applied.f.dateIssued.max": "End date", + "search.filters.applied.f.dateIssued.max": "Data final", + + // "search.filters.applied.f.dateIssued.min": "Start date", + "search.filters.applied.f.dateIssued.min": "Data inicial", + + // "search.filters.applied.f.dateSubmitted": "Date submitted", + "search.filters.applied.f.dateSubmitted": "Data de submissão", + + // "search.filters.applied.f.discoverable": "Private", + // TODO New key - Add a translation + "search.filters.applied.f.discoverable": "Private", + + // "search.filters.applied.f.entityType": "Item Type", + "search.filters.applied.f.entityType": "Tipo de Item", + + // "search.filters.applied.f.has_content_in_original_bundle": "Has files", + "search.filters.applied.f.has_content_in_original_bundle": "Tem arquivos", + + // "search.filters.applied.f.itemtype": "Type", + "search.filters.applied.f.itemtype": "Tipo", + + // "search.filters.applied.f.namedresourcetype": "Status", + "search.filters.applied.f.namedresourcetype": "Estado", + + // "search.filters.applied.f.subject": "Subject", + "search.filters.applied.f.subject": "Assunto", + + // "search.filters.applied.f.submitter": "Submitter", + "search.filters.applied.f.submitter": "Submetedor", + + // "search.filters.applied.f.jobTitle": "Job Title", + // TODO New key - Add a translation + "search.filters.applied.f.jobTitle": "Job Title", + + // "search.filters.applied.f.birthDate.max": "End birth date", + // TODO New key - Add a translation + "search.filters.applied.f.birthDate.max": "End birth date", + + // "search.filters.applied.f.birthDate.min": "Start birth date", + // TODO New key - Add a translation + "search.filters.applied.f.birthDate.min": "Start birth date", + + // "search.filters.applied.f.withdrawn": "Withdrawn", + // TODO New key - Add a translation + "search.filters.applied.f.withdrawn": "Withdrawn", + + + + // "search.filters.filter.author.head": "Author", + "search.filters.filter.author.head": "Autor", + + // "search.filters.filter.author.placeholder": "Author name", + "search.filters.filter.author.placeholder": "Nome do autor", + + // "search.filters.filter.birthDate.head": "Birth Date", + "search.filters.filter.birthDate.head": "Data de nascimento", + + // "search.filters.filter.birthDate.placeholder": "Birth Date", + "search.filters.filter.birthDate.placeholder": "Data de nascimento", + + // "search.filters.filter.creativeDatePublished.head": "Date Published", + "search.filters.filter.creativeDatePublished.head": "Data de publicação", + + // "search.filters.filter.creativeDatePublished.placeholder": "Date Published", + "search.filters.filter.creativeDatePublished.placeholder": "Data de publicação", + + // "search.filters.filter.creativeWorkEditor.head": "Editor", + "search.filters.filter.creativeWorkEditor.head": "Editor", + + // "search.filters.filter.creativeWorkEditor.placeholder": "Editor", + "search.filters.filter.creativeWorkEditor.placeholder": "Editor", + + // "search.filters.filter.creativeWorkKeywords.head": "Subject", + "search.filters.filter.creativeWorkKeywords.head": "Assunto", + + // "search.filters.filter.creativeWorkKeywords.placeholder": "Subject", + "search.filters.filter.creativeWorkKeywords.placeholder": "Assunto", + + // "search.filters.filter.creativeWorkPublisher.head": "Publisher", + "search.filters.filter.creativeWorkPublisher.head": "Editora", + + // "search.filters.filter.creativeWorkPublisher.placeholder": "Publisher", + "search.filters.filter.creativeWorkPublisher.placeholder": "Editora", + + // "search.filters.filter.dateIssued.head": "Date", + "search.filters.filter.dateIssued.head": "Data", + + // "search.filters.filter.dateIssued.max.placeholder": "Minimum Date", + "search.filters.filter.dateIssued.max.placeholder": "Data Mínima", + + // "search.filters.filter.dateIssued.min.placeholder": "Maximum Date", + "search.filters.filter.dateIssued.min.placeholder": "Data Máxima", + + // "search.filters.filter.dateSubmitted.head": "Date submitted", + "search.filters.filter.dateSubmitted.head": "Data de submissão", + + // "search.filters.filter.dateSubmitted.placeholder": "Date submitted", + "search.filters.filter.dateSubmitted.placeholder": "Data de submissão", + + // "search.filters.filter.discoverable.head": "Private", + // TODO New key - Add a translation + "search.filters.filter.discoverable.head": "Private", + + // "search.filters.filter.withdrawn.head": "Withdrawn", + // TODO New key - Add a translation + "search.filters.filter.withdrawn.head": "Withdrawn", + + // "search.filters.filter.entityType.head": "Item Type", + "search.filters.filter.entityType.head": "Tipo de Item", + + // "search.filters.filter.entityType.placeholder": "Item Type", + "search.filters.filter.entityType.placeholder": "Tipo de Item", + + // "search.filters.filter.has_content_in_original_bundle.head": "Has files", + "search.filters.filter.has_content_in_original_bundle.head": "Tem arquivos", + + // "search.filters.filter.itemtype.head": "Type", + "search.filters.filter.itemtype.head": "Tipo", + + // "search.filters.filter.itemtype.placeholder": "Type", + "search.filters.filter.itemtype.placeholder": "Tipo", + + // "search.filters.filter.jobTitle.head": "Job Title", + "search.filters.filter.jobTitle.head": "Cargo", + + // "search.filters.filter.jobTitle.placeholder": "Job Title", + "search.filters.filter.jobTitle.placeholder": "Cargo", + + // "search.filters.filter.knowsLanguage.head": "Known language", + "search.filters.filter.knowsLanguage.head": "Idioma conhecido", + + // "search.filters.filter.knowsLanguage.placeholder": "Known language", + "search.filters.filter.knowsLanguage.placeholder": "Idioma conhecido", + + // "search.filters.filter.namedresourcetype.head": "Status", + "search.filters.filter.namedresourcetype.head": "Estado", + + // "search.filters.filter.namedresourcetype.placeholder": "Status", + "search.filters.filter.namedresourcetype.placeholder": "Estado", + + // "search.filters.filter.objectpeople.head": "People", + "search.filters.filter.objectpeople.head": "Pessoas", + + // "search.filters.filter.objectpeople.placeholder": "People", + "search.filters.filter.objectpeople.placeholder": "Pessoas", + + // "search.filters.filter.organizationAddressCountry.head": "Country", + "search.filters.filter.organizationAddressCountry.head": "País", + + // "search.filters.filter.organizationAddressCountry.placeholder": "Country", + "search.filters.filter.organizationAddressCountry.placeholder": "País", + + // "search.filters.filter.organizationAddressLocality.head": "City", + "search.filters.filter.organizationAddressLocality.head": "Cidade", + + // "search.filters.filter.organizationAddressLocality.placeholder": "City", + "search.filters.filter.organizationAddressLocality.placeholder": "Cidade", + + // "search.filters.filter.organizationFoundingDate.head": "Date Founded", + "search.filters.filter.organizationFoundingDate.head": "Data de Fundação", + + // "search.filters.filter.organizationFoundingDate.placeholder": "Date Founded", + "search.filters.filter.organizationFoundingDate.placeholder": "Data de Fundação", + + // "search.filters.filter.scope.head": "Scope", + "search.filters.filter.scope.head": "Escopo", + + // "search.filters.filter.scope.placeholder": "Scope filter", + "search.filters.filter.scope.placeholder": "Filtrar escopo", + + // "search.filters.filter.show-less": "Collapse", + "search.filters.filter.show-less": "Mostrar menos", + + // "search.filters.filter.show-more": "Show more", + "search.filters.filter.show-more": "Mostrar mais", + + // "search.filters.filter.subject.head": "Subject", + "search.filters.filter.subject.head": "Assunto", + + // "search.filters.filter.subject.placeholder": "Subject", + "search.filters.filter.subject.placeholder": "Assunto", + + // "search.filters.filter.submitter.head": "Submitter", + "search.filters.filter.submitter.head": "Submetedor", + + // "search.filters.filter.submitter.placeholder": "Submitter", + "search.filters.filter.submitter.placeholder": "Submetedor", + + + + // "search.filters.entityType.JournalIssue": "Journal Issue", + // TODO New key - Add a translation + "search.filters.entityType.JournalIssue": "Journal Issue", + + // "search.filters.entityType.JournalVolume": "Journal Volume", + // TODO New key - Add a translation + "search.filters.entityType.JournalVolume": "Journal Volume", + + // "search.filters.entityType.OrgUnit": "Organizational Unit", + "search.filters.entityType.OrgUnit": "Unidade Organizacional", + + // "search.filters.has_content_in_original_bundle.true": "Yes", + "search.filters.has_content_in_original_bundle.true": "Sim", + + // "search.filters.has_content_in_original_bundle.false": "No", + "search.filters.has_content_in_original_bundle.false": "Não", + + // "search.filters.discoverable.true": "No", + "search.filters.discoverable.true": "Não", + + // "search.filters.discoverable.false": "Yes", + "search.filters.discoverable.false": "Sim", + + // "search.filters.withdrawn.true": "Yes", + "search.filters.withdrawn.true": "Sim", + + // "search.filters.withdrawn.false": "No", + "search.filters.withdrawn.false": "Não", + + + // "search.filters.head": "Filters", + "search.filters.head": "Filtros", + + // "search.filters.reset": "Reset filters", + "search.filters.reset": "Limpar filtros", + + + + // "search.form.search": "Search", + "search.form.search": "Buscar", + + // "search.form.search_dspace": "Search DSpace", + "search.form.search_dspace": "Buscar no DSpace", + + // "search.form.search_mydspace": "Search MyDSpace", + "search.form.search_mydspace": "Buscar no MyDSpace", + + + + // "search.results.head": "Search Results", + "search.results.head": "Resultados de Busca", + + // "search.results.no-results": "Your search returned no results. Having trouble finding what you're looking for? Try putting", + "search.results.no-results": "Sua busca não trouxe resultados. Tendo problema em localizar o que está buscando? Tente", + + // "search.results.no-results-link": "quotes around it", + "search.results.no-results-link": "envolver entre aspas", + + // "search.results.empty": "Your search returned no results.", + "search.results.empty": "Sua pesquisa não retornou resultados.", + + + + // "search.sidebar.close": "Back to results", + "search.sidebar.close": "Voltar para os resultados", + + // "search.sidebar.filters.title": "Filters", + "search.sidebar.filters.title": "Filtros", + + // "search.sidebar.open": "Search Tools", + "search.sidebar.open": "Ferramentas de busca", + + // "search.sidebar.results": "results", + "search.sidebar.results": "resultados", + + // "search.sidebar.settings.rpp": "Results per page", + "search.sidebar.settings.rpp": "Resultados por página", + + // "search.sidebar.settings.sort-by": "Sort By", + "search.sidebar.settings.sort-by": "Ordenar por", + + // "search.sidebar.settings.title": "Settings", + "search.sidebar.settings.title": "Configurações", + + + + // "search.view-switch.show-detail": "Show detail", + "search.view-switch.show-detail": "Mostrar detalhes", + + // "search.view-switch.show-grid": "Show as grid", + "search.view-switch.show-grid": "Mostrar como grade", + + // "search.view-switch.show-list": "Show as list", + "search.view-switch.show-list": "Mostrar como lista", + + + + // "sorting.ASC": "Ascending", + // TODO New key - Add a translation + "sorting.ASC": "Ascending", + + // "sorting.DESC": "Descending", + // TODO New key - Add a translation + "sorting.DESC": "Descending", + + // "sorting.dc.title.ASC": "Title Ascending", + "sorting.dc.title.ASC": "Título Ascendente", + + // "sorting.dc.title.DESC": "Title Descending", + "sorting.dc.title.DESC": "Título Descendente", + + // "sorting.score.DESC": "Relevance", + "sorting.score.DESC": "Relevância", + + + + // "statistics.title": "Statistics", + // TODO New key - Add a translation + "statistics.title": "Statistics", + + // "statistics.header": "Statistics for {{ scope }}", + // TODO New key - Add a translation + "statistics.header": "Statistics for {{ scope }}", + + // "statistics.breadcrumbs": "Statistics", + // TODO New key - Add a translation + "statistics.breadcrumbs": "Statistics", + + // "statistics.page.no-data": "No data available", + // TODO New key - Add a translation + "statistics.page.no-data": "No data available", + + // "statistics.table.no-data": "No data available", + // TODO New key - Add a translation + "statistics.table.no-data": "No data available", + + // "statistics.table.title.TotalVisits": "Total visits", + // TODO New key - Add a translation + "statistics.table.title.TotalVisits": "Total visits", + + // "statistics.table.title.TotalVisitsPerMonth": "Total visits per month", + // TODO New key - Add a translation + "statistics.table.title.TotalVisitsPerMonth": "Total visits per month", + + // "statistics.table.title.TotalDownloads": "File Visits", + // TODO New key - Add a translation + "statistics.table.title.TotalDownloads": "File Visits", + + // "statistics.table.title.TopCountries": "Top country views", + // TODO New key - Add a translation + "statistics.table.title.TopCountries": "Top country views", + + // "statistics.table.title.TopCities": "Top city views", + // TODO New key - Add a translation + "statistics.table.title.TopCities": "Top city views", + + // "statistics.table.header.views": "Views", + // TODO New key - Add a translation + "statistics.table.header.views": "Views", + + + + // "submission.edit.title": "Edit Submission", + "submission.edit.title": "Editar Submissão", + + // "submission.general.cannot_submit": "You have not the privilege to make a new submission.", + "submission.general.cannot_submit": "Você mão tem privilégios para fazer uma nova submissão.", + + // "submission.general.deposit": "Deposit", + "submission.general.deposit": "Depositar", + + // "submission.general.discard.confirm.cancel": "Cancel", + "submission.general.discard.confirm.cancel": "Cancelar", + + // "submission.general.discard.confirm.info": "This operation can't be undone. Are you sure?", + "submission.general.discard.confirm.info": "Esta operação não pode ser desfeita. Tem certeza?", + + // "submission.general.discard.confirm.submit": "Yes, I'm sure", + "submission.general.discard.confirm.submit": "Sim, tenho certeza", + + // "submission.general.discard.confirm.title": "Discard submission", + "submission.general.discard.confirm.title": "Descartar submissão", + + // "submission.general.discard.submit": "Discard", + "submission.general.discard.submit": "Descartar", + + // "submission.general.save": "Save", + "submission.general.save": "Salvar", + + // "submission.general.save-later": "Save for later", + "submission.general.save-later": "Salvar para continuar depois", + + + // "submission.import-external.page.title": "Import metadata from an external source", + // TODO New key - Add a translation + "submission.import-external.page.title": "Import metadata from an external source", + + // "submission.import-external.title": "Import metadata from an external source", + // TODO New key - Add a translation + "submission.import-external.title": "Import metadata from an external source", + + // "submission.import-external.page.hint": "Enter a query above to find items from the web to import in to DSpace.", + // TODO New key - Add a translation + "submission.import-external.page.hint": "Enter a query above to find items from the web to import in to DSpace.", + + // "submission.import-external.back-to-my-dspace": "Back to MyDSpace", + // TODO New key - Add a translation + "submission.import-external.back-to-my-dspace": "Back to MyDSpace", + + // "submission.import-external.search.placeholder": "Search the external source", + // TODO New key - Add a translation + "submission.import-external.search.placeholder": "Search the external source", + + // "submission.import-external.search.button": "Search", + // TODO New key - Add a translation + "submission.import-external.search.button": "Search", + + // "submission.import-external.search.button.hint": "Write some words to search", + // TODO New key - Add a translation + "submission.import-external.search.button.hint": "Write some words to search", + + // "submission.import-external.search.source.hint": "Pick an external source", + // TODO New key - Add a translation + "submission.import-external.search.source.hint": "Pick an external source", + + // "submission.import-external.source.arxiv": "arXiv", + // TODO New key - Add a translation + "submission.import-external.source.arxiv": "arXiv", + + // "submission.import-external.source.loading": "Loading ...", + // TODO New key - Add a translation + "submission.import-external.source.loading": "Loading ...", + + // "submission.import-external.source.sherpaJournal": "SHERPA Journals", + // TODO New key - Add a translation + "submission.import-external.source.sherpaJournal": "SHERPA Journals", + + // "submission.import-external.source.sherpaPublisher": "SHERPA Publishers", + // TODO New key - Add a translation + "submission.import-external.source.sherpaPublisher": "SHERPA Publishers", + + // "submission.import-external.source.orcid": "ORCID", + // TODO New key - Add a translation + "submission.import-external.source.orcid": "ORCID", + + // "submission.import-external.source.pubmed": "Pubmed", + // TODO New key - Add a translation + "submission.import-external.source.pubmed": "Pubmed", + + // "submission.import-external.source.lcname": "Library of Congress Names", + // TODO New key - Add a translation + "submission.import-external.source.lcname": "Library of Congress Names", + + // "submission.import-external.preview.title": "Item Preview", + // TODO New key - Add a translation + "submission.import-external.preview.title": "Item Preview", + + // "submission.import-external.preview.subtitle": "The metadata below was imported from an external source. It will be pre-filled when you start the submission.", + // TODO New key - Add a translation + "submission.import-external.preview.subtitle": "The metadata below was imported from an external source. It will be pre-filled when you start the submission.", + + // "submission.import-external.preview.button.import": "Start submission", + // TODO New key - Add a translation + "submission.import-external.preview.button.import": "Start submission", + + // "submission.import-external.preview.error.import.title": "Submission error", + // TODO New key - Add a translation + "submission.import-external.preview.error.import.title": "Submission error", + + // "submission.import-external.preview.error.import.body": "An error occurs during the external source entry import process.", + // TODO New key - Add a translation + "submission.import-external.preview.error.import.body": "An error occurs during the external source entry import process.", + + // "submission.sections.describe.relationship-lookup.close": "Close", + "submission.sections.describe.relationship-lookup.close": "Fechar", + + // "submission.sections.describe.relationship-lookup.external-source.added": "Successfully added local entry to the selection", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.added": "Successfully added local entry to the selection", + + // "submission.sections.describe.relationship-lookup.external-source.import-button-title.isAuthorOfPublication": "Import remote author", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-button-title.isAuthorOfPublication": "Import remote author", + + // "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal": "Import remote journal", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal": "Import remote journal", + + // "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal Issue": "Import remote journal issue", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal Issue": "Import remote journal issue", + + // "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal Volume": "Import remote journal volume", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal Volume": "Import remote journal volume", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.title": "Import Remote Author", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.title": "Import Remote Author", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.added.local-entity": "Successfully added local author to the selection", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.added.local-entity": "Successfully added local author to the selection", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.added.new-entity": "Successfully imported and added external author to the selection", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.added.new-entity": "Successfully imported and added external author to the selection", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.authority": "Authority", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.authority": "Authority", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.authority.new": "Import as a new local authority entry", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.authority.new": "Import as a new local authority entry", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.cancel": "Cancel", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.cancel": "Cancel", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.collection": "Select a collection to import new entries to", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.collection": "Select a collection to import new entries to", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.entities": "Entities", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.entities": "Entities", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.entities.new": "Import as a new local entity", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.entities.new": "Import as a new local entity", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.lcname": "Importing from LC Name", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.head.lcname": "Importing from LC Name", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.orcid": "Importing from ORCID", + "submission.sections.describe.relationship-lookup.external-source.import-modal.head.orcid": "Importando do ORCID", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.sherpaJournal": "Importing from Sherpa Journal", + "submission.sections.describe.relationship-lookup.external-source.import-modal.head.sherpaJournal": "Importando do Sherpa Journal", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.sherpaPublisher": "Importing from Sherpa Publisher", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.head.sherpaPublisher": "Importing from Sherpa Publisher", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.pubmed": "Importing from PubMed", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.head.pubmed": "Importing from PubMed", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.arxiv": "Importing from arXiv", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.head.arxiv": "Importing from arXiv", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.import": "Import", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.import": "Import", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal.title": "Import Remote Journal", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal.title": "Import Remote Journal", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal.added.local-entity": "Successfully added local journal to the selection", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal.added.local-entity": "Successfully added local journal to the selection", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal.added.new-entity": "Successfully imported and added external journal to the selection", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal.added.new-entity": "Successfully imported and added external journal to the selection", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Issue.title": "Import Remote Journal Issue", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Issue.title": "Import Remote Journal Issue", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Issue.added.local-entity": "Successfully added local journal issue to the selection", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Issue.added.local-entity": "Successfully added local journal issue to the selection", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Issue.added.new-entity": "Successfully imported and added external journal issue to the selection", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Issue.added.new-entity": "Successfully imported and added external journal issue to the selection", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Volume.title": "Import Remote Journal Volume", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Volume.title": "Import Remote Journal Volume", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Volume.added.local-entity": "Successfully added local journal volume to the selection", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Volume.added.local-entity": "Successfully added local journal volume to the selection", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Volume.added.new-entity": "Successfully imported and added external journal volume to the selection", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal Volume.added.new-entity": "Successfully imported and added external journal volume to the selection", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.select": "Select a local match:", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.select": "Select a local match:", + + // "submission.sections.describe.relationship-lookup.search-tab.deselect-all": "Deselect all", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.deselect-all": "Deselect all", + + // "submission.sections.describe.relationship-lookup.search-tab.deselect-page": "Deselect page", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.deselect-page": "Deselect page", + + // "submission.sections.describe.relationship-lookup.search-tab.loading": "Loading...", + "submission.sections.describe.relationship-lookup.search-tab.loading": "Carregando...", + + // "submission.sections.describe.relationship-lookup.search-tab.placeholder": "Search query", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.placeholder": "Search query", + + // "submission.sections.describe.relationship-lookup.search-tab.search": "Go", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.search": "Go", + + // "submission.sections.describe.relationship-lookup.search-tab.select-all": "Select all", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.select-all": "Select all", + + // "submission.sections.describe.relationship-lookup.search-tab.select-page": "Select page", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.select-page": "Select page", + + // "submission.sections.describe.relationship-lookup.selected": "Selected {{ size }} items", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selected": "Selected {{ size }} items", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isAuthorOfPublication": "Local Authors ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isAuthorOfPublication": "Local Authors ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalOfPublication": "Local Journals ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalOfPublication": "Local Journals ({{ count }})", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Project": "Local Projects ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.Project": "Local Projects ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Publication": "Local Publications ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.Publication": "Local Publications ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Person": "Local Authors ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.Person": "Local Authors ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.OrgUnit": "Local Organizational Units ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.OrgUnit": "Local Organizational Units ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.DataPackage": "Local Data Packages ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.DataPackage": "Local Data Packages ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.DataFile": "Local Data Files ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.DataFile": "Local Data Files ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal": "Local Journals ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal": "Local Journals ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalIssueOfPublication": "Local Journal Issues ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalIssueOfPublication": "Local Journal Issues ({{ count }})", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.JournalIssue": "Local Journal Issues ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.JournalIssue": "Local Journal Issues ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalVolumeOfPublication": "Local Journal Volumes ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalVolumeOfPublication": "Local Journal Volumes ({{ count }})", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.JournalVolume": "Local Journal Volumes ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.JournalVolume": "Local Journal Volumes ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaJournal": "Sherpa Journals ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaJournal": "Sherpa Journals ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaPublisher": "Sherpa Publishers ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaPublisher": "Sherpa Publishers ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.orcid": "ORCID ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.orcid": "ORCID ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.lcname": "LC Names ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.lcname": "LC Names ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.pubmed": "PubMed ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.pubmed": "PubMed ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.arxiv": "arXiv ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.arxiv": "arXiv ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingAgencyOfPublication": "Search for Funding Agencies", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingAgencyOfPublication": "Search for Funding Agencies", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingOfPublication": "Search for Funding", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingOfPublication": "Search for Funding", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isChildOrgUnitOf": "Search for Organizational Units", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isChildOrgUnitOf": "Search for Organizational Units", + + // "submission.sections.describe.relationship-lookup.selection-tab.tab-title": "Current Selection ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.tab-title": "Current Selection ({{ count }})", + + // "submission.sections.describe.relationship-lookup.title.isJournalIssueOfPublication": "Journal Issues", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.isJournalIssueOfPublication": "Journal Issues", + // "submission.sections.describe.relationship-lookup.title.JournalIssue": "Journal Issues", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.JournalIssue": "Journal Issues", + + // "submission.sections.describe.relationship-lookup.title.isJournalVolumeOfPublication": "Journal Volumes", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.isJournalVolumeOfPublication": "Journal Volumes", + // "submission.sections.describe.relationship-lookup.title.JournalVolume": "Journal Volumes", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.JournalVolume": "Journal Volumes", + + // "submission.sections.describe.relationship-lookup.title.isJournalOfPublication": "Journals", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.isJournalOfPublication": "Journals", + + // "submission.sections.describe.relationship-lookup.title.isAuthorOfPublication": "Authors", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.isAuthorOfPublication": "Authors", + + // "submission.sections.describe.relationship-lookup.title.isFundingAgencyOfPublication": "Funding Agency", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.isFundingAgencyOfPublication": "Funding Agency", + // "submission.sections.describe.relationship-lookup.title.Project": "Projects", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.Project": "Projects", + + // "submission.sections.describe.relationship-lookup.title.Publication": "Publications", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.Publication": "Publications", + + // "submission.sections.describe.relationship-lookup.title.Person": "Authors", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.Person": "Authors", + + // "submission.sections.describe.relationship-lookup.title.OrgUnit": "Organizational Units", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.OrgUnit": "Organizational Units", + + // "submission.sections.describe.relationship-lookup.title.DataPackage": "Data Packages", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.DataPackage": "Data Packages", + + // "submission.sections.describe.relationship-lookup.title.DataFile": "Data Files", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.DataFile": "Data Files", + + // "submission.sections.describe.relationship-lookup.title.Funding Agency": "Funding Agency", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.Funding Agency": "Funding Agency", + + // "submission.sections.describe.relationship-lookup.title.isFundingOfPublication": "Funding", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.isFundingOfPublication": "Funding", + + // "submission.sections.describe.relationship-lookup.title.isChildOrgUnitOf": "Parent Organizational Unit", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.isChildOrgUnitOf": "Parent Organizational Unit", + + // "submission.sections.describe.relationship-lookup.search-tab.toggle-dropdown": "Toggle dropdown", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.toggle-dropdown": "Toggle dropdown", + + // "submission.sections.describe.relationship-lookup.selection-tab.settings": "Settings", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.settings": "Settings", + + // "submission.sections.describe.relationship-lookup.selection-tab.no-selection": "Your selection is currently empty.", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.no-selection": "Your selection is currently empty.", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isAuthorOfPublication": "Selected Authors", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.isAuthorOfPublication": "Selected Authors", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalOfPublication": "Selected Journals", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalOfPublication": "Selected Journals", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalVolumeOfPublication": "Selected Journal Volume", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalVolumeOfPublication": "Selected Journal Volume", + // "submission.sections.describe.relationship-lookup.selection-tab.title.Project": "Selected Projects", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.Project": "Selected Projects", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.Publication": "Selected Publications", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.Publication": "Selected Publications", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.Person": "Selected Authors", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.Person": "Selected Authors", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.OrgUnit": "Selected Organizational Units", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.OrgUnit": "Selected Organizational Units", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.DataPackage": "Selected Data Packages", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.DataPackage": "Selected Data Packages", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.DataFile": "Selected Data Files", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.DataFile": "Selected Data Files", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.Journal": "Selected Journals", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.Journal": "Selected Journals", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalIssueOfPublication": "Selected Issue", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalIssueOfPublication": "Selected Issue", + // "submission.sections.describe.relationship-lookup.selection-tab.title.JournalVolume": "Selected Journal Volume", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.JournalVolume": "Selected Journal Volume", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingAgencyOfPublication": "Selected Funding Agency", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingAgencyOfPublication": "Selected Funding Agency", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingOfPublication": "Selected Funding", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingOfPublication": "Selected Funding", + // "submission.sections.describe.relationship-lookup.selection-tab.title.JournalIssue": "Selected Issue", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.JournalIssue": "Selected Issue", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isChildOrgUnitOf": "Selected Organizational Unit", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.isChildOrgUnitOf": "Selected Organizational Unit", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.sherpaJournal": "Search Results", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.sherpaJournal": "Search Results", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.sherpaPublisher": "Search Results", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.sherpaPublisher": "Search Results", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.orcid": "Search Results", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.orcid": "Search Results", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.orcidv2": "Search Results", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.orcidv2": "Search Results", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.lcname": "Search Results", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.lcname": "Search Results", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.pubmed": "Search Results", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.pubmed": "Search Results", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.arxiv": "Search Results", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.arxiv": "Search Results", + + // "submission.sections.describe.relationship-lookup.name-variant.notification.content": "Would you like to save \"{{ value }}\" as a name variant for this person so you and others can reuse it for future submissions? If you don\'t you can still use it for this submission.", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.name-variant.notification.content": "Would you like to save \"{{ value }}\" as a name variant for this person so you and others can reuse it for future submissions? If you don\'t you can still use it for this submission.", + + // "submission.sections.describe.relationship-lookup.name-variant.notification.confirm": "Save a new name variant", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.name-variant.notification.confirm": "Save a new name variant", + + // "submission.sections.describe.relationship-lookup.name-variant.notification.decline": "Use only for this submission", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.name-variant.notification.decline": "Use only for this submission", + + // "submission.sections.ccLicense.type": "License Type", + // TODO New key - Add a translation + "submission.sections.ccLicense.type": "License Type", + + // "submission.sections.ccLicense.select": "Select a license type…", + // TODO New key - Add a translation + "submission.sections.ccLicense.select": "Select a license type…", + + // "submission.sections.ccLicense.change": "Change your license type…", + // TODO New key - Add a translation + "submission.sections.ccLicense.change": "Change your license type…", + + // "submission.sections.ccLicense.none": "No licenses available", + // TODO New key - Add a translation + "submission.sections.ccLicense.none": "No licenses available", + + // "submission.sections.ccLicense.option.select": "Select an option…", + // TODO New key - Add a translation + "submission.sections.ccLicense.option.select": "Select an option…", + + // "submission.sections.ccLicense.link": "You’ve selected the following license:", + // TODO New key - Add a translation + "submission.sections.ccLicense.link": "You’ve selected the following license:", + + // "submission.sections.ccLicense.confirmation": "I grant the license above", + // TODO New key - Add a translation + "submission.sections.ccLicense.confirmation": "I grant the license above", + + // "submission.sections.general.add-more": "Add more", + "submission.sections.general.add-more": "Adicionar mais", + + // "submission.sections.general.collection": "Collection", + "submission.sections.general.collection": "Coleção", + + // "submission.sections.general.deposit_error_notice": "There was an issue when submitting the item, please try again later.", + "submission.sections.general.deposit_error_notice": "Houve um problema durante a submissão do item, por favor tente novamente mais tarde.", + + // "submission.sections.general.deposit_success_notice": "Submission deposited successfully.", + "submission.sections.general.deposit_success_notice": "Submissão depositada com sucesso.", + + // "submission.sections.general.discard_error_notice": "There was an issue when discarding the item, please try again later.", + "submission.sections.general.discard_error_notice": "Houve um problema ao descartar o item, por favor tente novamente mais tarde.", + + // "submission.sections.general.discard_success_notice": "Submission discarded successfully.", + "submission.sections.general.discard_success_notice": "Submissão descartada com sucesso.", + + // "submission.sections.general.metadata-extracted": "New metadata have been extracted and added to the {{sectionId}} section.", + "submission.sections.general.metadata-extracted": "Novos metadados foram extraídos e adicionados a seção {{sectionId}}.", + + // "submission.sections.general.metadata-extracted-new-section": "New {{sectionId}} section has been added to submission.", + "submission.sections.general.metadata-extracted-new-section": "Nova seção {{sectionId}} foi adicionada a dubmissão.", + + // "submission.sections.general.no-collection": "No collection found", + "submission.sections.general.no-collection": "Nenhuma coleção encontrada", + + // "submission.sections.general.no-sections": "No options available", + "submission.sections.general.no-sections": "Sem opções disponíveis", + + // "submission.sections.general.save_error_notice": "There was an issue when saving the item, please try again later.", + "submission.sections.general.save_error_notice": "Houve um problema ao salvar o item, por favor tente novamente mais tarde.", + + // "submission.sections.general.save_success_notice": "Submission saved successfully.", + "submission.sections.general.save_success_notice": "Submissão salva com sucesso.", + + // "submission.sections.general.search-collection": "Search for a collection", + "submission.sections.general.search-collection": "Buscar uma coleção", + + // "submission.sections.general.sections_not_valid": "There are incomplete sections.", + "submission.sections.general.sections_not_valid": "Há seções incompletas.", + + + + // "submission.sections.submit.progressbar.CClicense": "Creative commons license", + // TODO New key - Add a translation + "submission.sections.submit.progressbar.CClicense": "Creative commons license", + + // "submission.sections.submit.progressbar.describe.recycle": "Recycle", + "submission.sections.submit.progressbar.describe.recycle": "Reciclar", + + // "submission.sections.submit.progressbar.describe.stepcustom": "Describe", + "submission.sections.submit.progressbar.describe.stepcustom": "Descrever", + + // "submission.sections.submit.progressbar.describe.stepone": "Describe", + "submission.sections.submit.progressbar.describe.stepone": "Descrever", + + // "submission.sections.submit.progressbar.describe.steptwo": "Describe", + "submission.sections.submit.progressbar.describe.steptwo": "Descrever", + + // "submission.sections.submit.progressbar.detect-duplicate": "Potential duplicates", + "submission.sections.submit.progressbar.detect-duplicate": "Duplicados em potencial", + + // "submission.sections.submit.progressbar.license": "Deposit license", + "submission.sections.submit.progressbar.license": "Depositar licença", + + // "submission.sections.submit.progressbar.upload": "Upload files", + "submission.sections.submit.progressbar.upload": "Enviar arquivos", + + + + // "submission.sections.upload.delete.confirm.cancel": "Cancel", + "submission.sections.upload.delete.confirm.cancel": "Cancelar", + + // "submission.sections.upload.delete.confirm.info": "This operation can't be undone. Are you sure?", + "submission.sections.upload.delete.confirm.info": "Esta operação é irreversível. Tem certeza?", + + // "submission.sections.upload.delete.confirm.submit": "Yes, I'm sure", + "submission.sections.upload.delete.confirm.submit": "Sim, tenho certeza", + + // "submission.sections.upload.delete.confirm.title": "Delete bitstream", + "submission.sections.upload.delete.confirm.title": "Remover bitstream", + + // "submission.sections.upload.delete.submit": "Delete", + "submission.sections.upload.delete.submit": "Remover", + + // "submission.sections.upload.drop-message": "Drop files to attach them to the item", + "submission.sections.upload.drop-message": "Arraste arquivos para anexá-los ao item", + + // "submission.sections.upload.form.access-condition-label": "Access condition type", + "submission.sections.upload.form.access-condition-label": "Tipo de condição de acesso", + + // "submission.sections.upload.form.date-required": "Date is required.", + "submission.sections.upload.form.date-required": "Data necessária.", + + // "submission.sections.upload.form.from-label": "Grant access from", + // TODO Source message changed - Revise the translation + "submission.sections.upload.form.from-label": "Acesso permitido a partir de", + + // "submission.sections.upload.form.from-placeholder": "From", + "submission.sections.upload.form.from-placeholder": "De", + + // "submission.sections.upload.form.group-label": "Group", + "submission.sections.upload.form.group-label": "Grupo", + + // "submission.sections.upload.form.group-required": "Group is required.", + "submission.sections.upload.form.group-required": "Grupo é necessário.", + + // "submission.sections.upload.form.until-label": "Grant access until", + // TODO Source message changed - Revise the translation + "submission.sections.upload.form.until-label": "Acesso permitido até", + + // "submission.sections.upload.form.until-placeholder": "Until", + "submission.sections.upload.form.until-placeholder": "Até", + + // "submission.sections.upload.header.policy.default.nolist": "Uploaded files in the {{collectionName}} collection will be accessible according to the following group(s):", + "submission.sections.upload.header.policy.default.nolist": "Arquivos enviados na coleção {{collectionName}} serão acessiveis de acordo com o(s) seguinte(s) grupo(s):", + + // "submission.sections.upload.header.policy.default.withlist": "Please note that uploaded files in the {{collectionName}} collection will be accessible, in addition to what is explicitly decided for the single file, with the following group(s):", + "submission.sections.upload.header.policy.default.withlist": "Por favor note que arquivos enviados a coleção {{collectionName}} serão acessíveis, de acordo com o que está explicitamente definido no arquivo, no(s) seguinte(s) grupo(s):", + + // "submission.sections.upload.info": "Here you will find all the files currently in the item. You can update the file metadata and access conditions or upload additional files just dragging & dropping them everywhere in the page", + "submission.sections.upload.info": "Aqui voCẽ encontra todos os arquivos que estão atualmente no item. Você pode atualizar os metadados do arquivo e condições de acesso ou enviar arquivos adicionais apenas arrastando os arquivos em qualquer lugar da página", + + // "submission.sections.upload.no-entry": "No", + "submission.sections.upload.no-entry": "Não", + + // "submission.sections.upload.no-file-uploaded": "No file uploaded yet.", + "submission.sections.upload.no-file-uploaded": "Nenhum arquivo enviado ainda.", + + // "submission.sections.upload.save-metadata": "Save metadata", + "submission.sections.upload.save-metadata": "Salvar metadados", + + // "submission.sections.upload.undo": "Cancel", + "submission.sections.upload.undo": "Cancelar", + + // "submission.sections.upload.upload-failed": "Upload failed", + "submission.sections.upload.upload-failed": "Falha no envio", + + // "submission.sections.upload.upload-successful": "Upload successful", + "submission.sections.upload.upload-successful": "Enviado com sucesso", + + + + // "submission.submit.title": "Submission", + "submission.submit.title": "Submissão", + + + + // "submission.workflow.generic.delete": "Delete", + "submission.workflow.generic.delete": "Apagar", + + // "submission.workflow.generic.delete-help": "If you would to discard this item, select \"Delete\". You will then be asked to confirm it.", + "submission.workflow.generic.delete-help": "Se você gostaria de descartar este item, selecione \"Apagar\". Você será questionado para confirmar.", + + // "submission.workflow.generic.edit": "Edit", + "submission.workflow.generic.edit": "Editar", + + // "submission.workflow.generic.edit-help": "Select this option to change the item's metadata.", + "submission.workflow.generic.edit-help": "Selecione esta opção para modificar os metadados do item.", + + // "submission.workflow.generic.view": "View", + "submission.workflow.generic.view": "Visualizar", + + // "submission.workflow.generic.view-help": "Select this option to view the item's metadata.", + "submission.workflow.generic.view-help": "Selecione esta opção para ver o metadados do item.", + + + + // "submission.workflow.tasks.claimed.approve": "Approve", + "submission.workflow.tasks.claimed.approve": "Aprovar", + + // "submission.workflow.tasks.claimed.approve_help": "If you have reviewed the item and it is suitable for inclusion in the collection, select \"Approve\".", + "submission.workflow.tasks.claimed.approve_help": "Se você revisou o item e este está adequado para inclusão na coleção, selecione \"Aprovar\".", + + // "submission.workflow.tasks.claimed.edit": "Edit", + "submission.workflow.tasks.claimed.edit": "Editar", + + // "submission.workflow.tasks.claimed.edit_help": "Select this option to change the item's metadata.", + "submission.workflow.tasks.claimed.edit_help": "Selecione esta opção para modificar os metadados do item.", + + // "submission.workflow.tasks.claimed.reject.reason.info": "Please enter your reason for rejecting the submission into the box below, indicating whether the submitter may fix a problem and resubmit.", + "submission.workflow.tasks.claimed.reject.reason.info": "Por favor informe o motivo pela rejeição da submissão na caixa abaixo, indicando se o submetedor pode corrigir um problema e reenviar.", + + // "submission.workflow.tasks.claimed.reject.reason.placeholder": "Describe the reason of reject", + "submission.workflow.tasks.claimed.reject.reason.placeholder": "Descreva o motivo da rejeição", + + // "submission.workflow.tasks.claimed.reject.reason.submit": "Reject item", + "submission.workflow.tasks.claimed.reject.reason.submit": "Rejeitar item", + + // "submission.workflow.tasks.claimed.reject.reason.title": "Reason", + "submission.workflow.tasks.claimed.reject.reason.title": "Motivo", + + // "submission.workflow.tasks.claimed.reject.submit": "Reject", + "submission.workflow.tasks.claimed.reject.submit": "Rejeitar", + + // "submission.workflow.tasks.claimed.reject_help": "If you have reviewed the item and found it is not suitable for inclusion in the collection, select \"Reject\". You will then be asked to enter a message indicating why the item is unsuitable, and whether the submitter should change something and resubmit.", + "submission.workflow.tasks.claimed.reject_help": "Se você revisou o item e achou que ele não é adequado para inclusão na coleção, selecione \"Rejeitar\". Você será questionado a informar uma mensagem indicando porque o item está inadequado e se o submetedor deve modificar algo e reenviar.", + + // "submission.workflow.tasks.claimed.return": "Return to pool", + "submission.workflow.tasks.claimed.return": "Retornar para o conjunto", + + // "submission.workflow.tasks.claimed.return_help": "Return the task to the pool so that another user may perform the task.", + "submission.workflow.tasks.claimed.return_help": "Retornar a tarefa para o conjunto para que outra pessoa possa a fazer.", + + + + // "submission.workflow.tasks.generic.error": "Error occurred during operation...", + "submission.workflow.tasks.generic.error": "Ocorreu um erro durante a operação...", + + // "submission.workflow.tasks.generic.processing": "Processing...", + "submission.workflow.tasks.generic.processing": "Processando...", + + // "submission.workflow.tasks.generic.submitter": "Submitter", + "submission.workflow.tasks.generic.submitter": "Submetedor", + + // "submission.workflow.tasks.generic.success": "Operation successful", + "submission.workflow.tasks.generic.success": "Operação realizada com sucesso", + + + + // "submission.workflow.tasks.pool.claim": "Claim", + "submission.workflow.tasks.pool.claim": "Requerer", + + // "submission.workflow.tasks.pool.claim_help": "Assign this task to yourself.", + "submission.workflow.tasks.pool.claim_help": "Atribua esta tarefa a si mesmo.", + + // "submission.workflow.tasks.pool.hide-detail": "Hide detail", + "submission.workflow.tasks.pool.hide-detail": "Ocultar detalhes", + + // "submission.workflow.tasks.pool.show-detail": "Show detail", + "submission.workflow.tasks.pool.show-detail": "Mostrar detalhes", + + + + // "title": "DSpace", + "title": "DSpace", + + + + // "vocabulary-treeview.header": "Hierarchical tree view", + // TODO New key - Add a translation + "vocabulary-treeview.header": "Hierarchical tree view", + + // "vocabulary-treeview.load-more": "Load more", + // TODO New key - Add a translation + "vocabulary-treeview.load-more": "Load more", + + // "vocabulary-treeview.search.form.reset": "Reset", + // TODO New key - Add a translation + "vocabulary-treeview.search.form.reset": "Reset", + + // "vocabulary-treeview.search.form.search": "Search", + // TODO New key - Add a translation + "vocabulary-treeview.search.form.search": "Search", + + // "vocabulary-treeview.search.no-result": "There were no items to show", + // TODO New key - Add a translation + "vocabulary-treeview.search.no-result": "There were no items to show", + + // "vocabulary-treeview.tree.description.nsi": "The Norwegian Science Index", + // TODO New key - Add a translation + "vocabulary-treeview.tree.description.nsi": "The Norwegian Science Index", + + // "vocabulary-treeview.tree.description.srsc": "Research Subject Categories", + // TODO New key - Add a translation + "vocabulary-treeview.tree.description.srsc": "Research Subject Categories", + + + // "uploader.browse": "browse", "uploader.browse": "Navegar", - + // "uploader.drag-message": "Drag & Drop your files here", "uploader.drag-message": "Clique e arraste seus arquivos aqui", - - // "uploader.or": ", or", + + // "uploader.or": ", or ", + // TODO Source message changed - Revise the translation "uploader.or": ", ou", - + // "uploader.processing": "Processing", "uploader.processing": "Processando", - + // "uploader.queue-length": "Queue length", "uploader.queue-length": "Tamanho da fila", - + // "virtual-metadata.delete-item.info": "Select the types for which you want to save the virtual metadata as real metadata", // TODO New key - Add a translation "virtual-metadata.delete-item.info": "Select the types for which you want to save the virtual metadata as real metadata", - + // "virtual-metadata.delete-item.modal-head": "The virtual metadata of this relation", // TODO New key - Add a translation "virtual-metadata.delete-item.modal-head": "The virtual metadata of this relation", - + // "virtual-metadata.delete-relationship.modal-head": "Select the items for which you want to save the virtual metadata as real metadata", // TODO New key - Add a translation "virtual-metadata.delete-relationship.modal-head": "Select the items for which you want to save the virtual metadata as real metadata", + + + + // "workflowAdmin.search.results.head": "Administer Workflow", + // TODO New key - Add a translation + "workflowAdmin.search.results.head": "Administer Workflow", + + + + // "workflow-item.delete.notification.success.title": "Deleted", + // TODO New key - Add a translation + "workflow-item.delete.notification.success.title": "Deleted", + + // "workflow-item.delete.notification.success.content": "This workflow item was successfully deleted", + // TODO New key - Add a translation + "workflow-item.delete.notification.success.content": "This workflow item was successfully deleted", + + // "workflow-item.delete.notification.error.title": "Something went wrong", + // TODO New key - Add a translation + "workflow-item.delete.notification.error.title": "Something went wrong", + + // "workflow-item.delete.notification.error.content": "The workflow item could not be deleted", + // TODO New key - Add a translation + "workflow-item.delete.notification.error.content": "The workflow item could not be deleted", + + // "workflow-item.delete.title": "Delete workflow item", + // TODO New key - Add a translation + "workflow-item.delete.title": "Delete workflow item", + + // "workflow-item.delete.header": "Delete workflow item", + // TODO New key - Add a translation + "workflow-item.delete.header": "Delete workflow item", + + // "workflow-item.delete.button.cancel": "Cancel", + // TODO New key - Add a translation + "workflow-item.delete.button.cancel": "Cancel", + + // "workflow-item.delete.button.confirm": "Delete", + // TODO New key - Add a translation + "workflow-item.delete.button.confirm": "Delete", + + + // "workflow-item.send-back.notification.success.title": "Sent back to submitter", + // TODO New key - Add a translation + "workflow-item.send-back.notification.success.title": "Sent back to submitter", + + // "workflow-item.send-back.notification.success.content": "This workflow item was successfully sent back to the submitter", + // TODO New key - Add a translation + "workflow-item.send-back.notification.success.content": "This workflow item was successfully sent back to the submitter", + + // "workflow-item.send-back.notification.error.title": "Something went wrong", + // TODO New key - Add a translation + "workflow-item.send-back.notification.error.title": "Something went wrong", + + // "workflow-item.send-back.notification.error.content": "The workflow item could not be sent back to the submitter", + // TODO New key - Add a translation + "workflow-item.send-back.notification.error.content": "The workflow item could not be sent back to the submitter", + + // "workflow-item.send-back.title": "Send workflow item back to submitter", + // TODO New key - Add a translation + "workflow-item.send-back.title": "Send workflow item back to submitter", + + // "workflow-item.send-back.header": "Send workflow item back to submitter", + // TODO New key - Add a translation + "workflow-item.send-back.header": "Send workflow item back to submitter", + + // "workflow-item.send-back.button.cancel": "Cancel", + // TODO New key - Add a translation + "workflow-item.send-back.button.cancel": "Cancel", + + // "workflow-item.send-back.button.confirm": "Send back" + // TODO New key - Add a translation + "workflow-item.send-back.button.confirm": "Send back" + - - -} +} \ No newline at end of file diff --git a/src/assets/i18n/sw.json5 b/src/assets/i18n/sw.json5 index a2a7042d33..c4ea2a0d9e 100644 --- a/src/assets/i18n/sw.json5 +++ b/src/assets/i18n/sw.json5 @@ -1,5 +1,33 @@ { + // "401.help": "You're not authorized to access this page. You can use the button below to get back to the home page.", + // TODO New key - Add a translation + "401.help": "You're not authorized to access this page. You can use the button below to get back to the home page.", + + // "401.link.home-page": "Take me to the home page", + // TODO New key - Add a translation + "401.link.home-page": "Take me to the home page", + + // "401.unauthorized": "unauthorized", + // TODO New key - Add a translation + "401.unauthorized": "unauthorized", + + + + // "403.help": "You don't have permission to access this page. You can use the button below to get back to the home page.", + // TODO New key - Add a translation + "403.help": "You don't have permission to access this page. You can use the button below to get back to the home page.", + + // "403.link.home-page": "Take me to the home page", + // TODO New key - Add a translation + "403.link.home-page": "Take me to the home page", + + // "403.forbidden": "forbidden", + // TODO New key - Add a translation + "403.forbidden": "forbidden", + + + // "404.help": "We can't find the page you're looking for. The page may have been moved or deleted. You can use the button below to get back to the home page. ", // TODO New key - Add a translation "404.help": "We can't find the page you're looking for. The page may have been moved or deleted. You can use the button below to get back to the home page. ", @@ -12,7 +40,25 @@ // TODO New key - Add a translation "404.page-not-found": "page not found", + // "admin.curation-tasks.breadcrumbs": "System curation tasks", + // TODO New key - Add a translation + "admin.curation-tasks.breadcrumbs": "System curation tasks", + // "admin.curation-tasks.title": "System curation tasks", + // TODO New key - Add a translation + "admin.curation-tasks.title": "System curation tasks", + + // "admin.curation-tasks.header": "System curation tasks", + // TODO New key - Add a translation + "admin.curation-tasks.header": "System curation tasks", + + // "admin.registries.bitstream-formats.breadcrumbs": "Format registry", + // TODO New key - Add a translation + "admin.registries.bitstream-formats.breadcrumbs": "Format registry", + + // "admin.registries.bitstream-formats.create.breadcrumbs": "Bitstream format", + // TODO New key - Add a translation + "admin.registries.bitstream-formats.create.breadcrumbs": "Bitstream format", // "admin.registries.bitstream-formats.create.failure.content": "An error occurred while creating the new bitstream format.", // TODO New key - Add a translation @@ -58,6 +104,10 @@ // TODO New key - Add a translation "admin.registries.bitstream-formats.description": "This list of bitstream formats provides information about known formats and their support level.", + // "admin.registries.bitstream-formats.edit.breadcrumbs": "Bitstream format", + // TODO New key - Add a translation + "admin.registries.bitstream-formats.edit.breadcrumbs": "Bitstream format", + // "admin.registries.bitstream-formats.edit.description.hint": "", // TODO New key - Add a translation "admin.registries.bitstream-formats.edit.description.hint": "", @@ -184,6 +234,10 @@ + // "admin.registries.metadata.breadcrumbs": "Metadata registry", + // TODO New key - Add a translation + "admin.registries.metadata.breadcrumbs": "Metadata registry", + // "admin.registries.metadata.description": "The metadata registry maintains a list of all metadata fields available in the repository. These fields may be divided amongst multiple schemas. However, DSpace requires the qualified Dublin Core schema.", // TODO New key - Add a translation "admin.registries.metadata.description": "The metadata registry maintains a list of all metadata fields available in the repository. These fields may be divided amongst multiple schemas. However, DSpace requires the qualified Dublin Core schema.", @@ -234,6 +288,10 @@ + // "admin.registries.schema.breadcrumbs": "Metadata schema", + // TODO New key - Add a translation + "admin.registries.schema.breadcrumbs": "Metadata schema", + // "admin.registries.schema.description": "This is the metadata schema for \"{{namespace}}\".", // TODO New key - Add a translation "admin.registries.schema.description": "This is the metadata schema for \"{{namespace}}\".", @@ -332,6 +390,22 @@ + // "admin.access-control.epeople.actions.delete": "Delete EPerson", + // TODO New key - Add a translation + "admin.access-control.epeople.actions.delete": "Delete EPerson", + + // "admin.access-control.epeople.actions.impersonate": "Impersonate EPerson", + // TODO New key - Add a translation + "admin.access-control.epeople.actions.impersonate": "Impersonate EPerson", + + // "admin.access-control.epeople.actions.reset": "Reset password", + // TODO New key - Add a translation + "admin.access-control.epeople.actions.reset": "Reset password", + + // "admin.access-control.epeople.actions.stop-impersonating": "Stop impersonating EPerson", + // TODO New key - Add a translation + "admin.access-control.epeople.actions.stop-impersonating": "Stop impersonating EPerson", + // "admin.access-control.epeople.title": "DSpace Angular :: EPeople", // TODO New key - Add a translation "admin.access-control.epeople.title": "DSpace Angular :: EPeople", @@ -448,6 +522,14 @@ // TODO New key - Add a translation "admin.access-control.epeople.form.notification.edited.failure": "Failed to edit EPerson \"{{name}}\"", + // "admin.access-control.epeople.form.notification.deleted.success": "Successfully deleted EPerson \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.epeople.form.notification.deleted.success": "Successfully deleted EPerson \"{{name}}\"", + + // "admin.access-control.epeople.form.notification.deleted.failure": "Failed to delete EPerson \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.epeople.form.notification.deleted.failure": "Failed to delete EPerson \"{{name}}\"", + // "admin.access-control.epeople.form.groupsEPersonIsMemberOf": "Member of these groups:", // TODO New key - Add a translation "admin.access-control.epeople.form.groupsEPersonIsMemberOf": "Member of these groups:", @@ -482,6 +564,14 @@ // TODO New key - Add a translation "admin.access-control.groups.title": "DSpace Angular :: Groups", + // "admin.access-control.groups.title.singleGroup": "DSpace Angular :: Edit Group", + // TODO New key - Add a translation + "admin.access-control.groups.title.singleGroup": "DSpace Angular :: Edit Group", + + // "admin.access-control.groups.title.addGroup": "DSpace Angular :: New Group", + // TODO New key - Add a translation + "admin.access-control.groups.title.addGroup": "DSpace Angular :: New Group", + // "admin.access-control.groups.head": "Groups", // TODO New key - Add a translation "admin.access-control.groups.head": "Groups", @@ -514,10 +604,6 @@ // TODO New key - Add a translation "admin.access-control.groups.table.members": "Members", - // "admin.access-control.groups.table.comcol": "Community / Collection", - // TODO New key - Add a translation - "admin.access-control.groups.table.comcol": "Community / Collection", - // "admin.access-control.groups.table.edit": "Edit", // TODO New key - Add a translation "admin.access-control.groups.table.edit": "Edit", @@ -538,10 +624,23 @@ // TODO New key - Add a translation "admin.access-control.groups.notification.deleted.success": "Successfully deleted group \"{{name}}\"", - // "admin.access-control.groups.notification.deleted.failure": "Failed to delete group \"{{name}}\"", + // "admin.access-control.groups.notification.deleted.failure.title": "Failed to delete group \"{{name}}\"", // TODO New key - Add a translation - "admin.access-control.groups.notification.deleted.failure": "Failed to delete group \"{{name}}\"", + "admin.access-control.groups.notification.deleted.failure.title": "Failed to delete group \"{{name}}\"", + // "admin.access-control.groups.notification.deleted.failure.content": "Cause: \"{{cause}}\"", + // TODO New key - Add a translation + "admin.access-control.groups.notification.deleted.failure.content": "Cause: \"{{cause}}\"", + + + + // "admin.access-control.groups.form.alert.permanent": "This group is permanent, so it can't be edited or deleted. You can still add and remove group members using this page.", + // TODO New key - Add a translation + "admin.access-control.groups.form.alert.permanent": "This group is permanent, so it can't be edited or deleted. You can still add and remove group members using this page.", + + // "admin.access-control.groups.form.alert.workflowGroup": "This group can’t be modified or deleted because it corresponds to a role in the submission and workflow process in the \"{{name}}\" {{comcol}}. You can delete it from the \"assign roles\" tab on the edit {{comcol}} page. You can still add and remove group members using this page.", + // TODO New key - Add a translation + "admin.access-control.groups.form.alert.workflowGroup": "This group can’t be modified or deleted because it corresponds to a role in the submission and workflow process in the \"{{name}}\" {{comcol}}. You can delete it from the \"assign roles\" tab on the edit {{comcol}} page. You can still add and remove group members using this page.", // "admin.access-control.groups.form.head.create": "Create group", // TODO New key - Add a translation @@ -571,6 +670,50 @@ // TODO New key - Add a translation "admin.access-control.groups.form.notification.created.failure.groupNameInUse": "Failed to create Group with name: \"{{name}}\", make sure the name is not already in use.", + // "admin.access-control.groups.form.notification.edited.failure": "Failed to edit Group \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.edited.failure": "Failed to edit Group \"{{name}}\"", + + // "admin.access-control.groups.form.notification.edited.failure.groupNameInUse": "Name \"{{name}}\" already in use!", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.edited.failure.groupNameInUse": "Name \"{{name}}\" already in use!", + + // "admin.access-control.groups.form.notification.edited.success": "Successfully edited Group \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.edited.success": "Successfully edited Group \"{{name}}\"", + + // "admin.access-control.groups.form.actions.delete": "Delete Group", + // TODO New key - Add a translation + "admin.access-control.groups.form.actions.delete": "Delete Group", + + // "admin.access-control.groups.form.delete-group.modal.header": "Delete Group \"{{ dsoName }}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.delete-group.modal.header": "Delete Group \"{{ dsoName }}\"", + + // "admin.access-control.groups.form.delete-group.modal.info": "Are you sure you want to delete Group \"{{ dsoName }}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.delete-group.modal.info": "Are you sure you want to delete Group \"{{ dsoName }}\"", + + // "admin.access-control.groups.form.delete-group.modal.cancel": "Cancel", + // TODO New key - Add a translation + "admin.access-control.groups.form.delete-group.modal.cancel": "Cancel", + + // "admin.access-control.groups.form.delete-group.modal.confirm": "Delete", + // TODO New key - Add a translation + "admin.access-control.groups.form.delete-group.modal.confirm": "Delete", + + // "admin.access-control.groups.form.notification.deleted.success": "Successfully deleted group \"{{ name }}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.deleted.success": "Successfully deleted group \"{{ name }}\"", + + // "admin.access-control.groups.form.notification.deleted.failure.title": "Failed to delete group \"{{ name }}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.deleted.failure.title": "Failed to delete group \"{{ name }}\"", + + // "admin.access-control.groups.form.notification.deleted.failure.content": "Cause: \"{{ cause }}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.deleted.failure.content": "Cause: \"{{ cause }}\"", + // "admin.access-control.groups.form.members-list.head": "EPeople", // TODO New key - Add a translation "admin.access-control.groups.form.members-list.head": "EPeople", @@ -647,6 +790,10 @@ // TODO New key - Add a translation "admin.access-control.groups.form.members-list.no-items": "No EPeople found in that search", + // "admin.access-control.groups.form.subgroups-list.notification.failure": "Something went wrong: \"{{cause}}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.subgroups-list.notification.failure": "Something went wrong: \"{{cause}}\"", + // "admin.access-control.groups.form.subgroups-list.head": "Groups", // TODO New key - Add a translation "admin.access-control.groups.form.subgroups-list.head": "Groups", @@ -761,10 +908,6 @@ // TODO New key - Add a translation "admin.search.item.move": "Move", - // "admin.search.item.private": "Private", - // TODO New key - Add a translation - "admin.search.item.private": "Private", - // "admin.search.item.reinstate": "Reinstate", // TODO New key - Add a translation "admin.search.item.reinstate": "Reinstate", @@ -773,14 +916,76 @@ // TODO New key - Add a translation "admin.search.item.withdraw": "Withdraw", - // "admin.search.item.withdrawn": "Withdrawn", - // TODO New key - Add a translation - "admin.search.item.withdrawn": "Withdrawn", - // "admin.search.title": "Administrative Search", // TODO New key - Add a translation "admin.search.title": "Administrative Search", + // "administrativeView.search.results.head": "Administrative Search", + // TODO New key - Add a translation + "administrativeView.search.results.head": "Administrative Search", + + + + + // "admin.workflow.breadcrumbs": "Administer Workflow", + // TODO New key - Add a translation + "admin.workflow.breadcrumbs": "Administer Workflow", + + // "admin.workflow.title": "Administer Workflow", + // TODO New key - Add a translation + "admin.workflow.title": "Administer Workflow", + + // "admin.workflow.item.workflow": "Workflow", + // TODO New key - Add a translation + "admin.workflow.item.workflow": "Workflow", + + // "admin.workflow.item.delete": "Delete", + // TODO New key - Add a translation + "admin.workflow.item.delete": "Delete", + + // "admin.workflow.item.send-back": "Send back", + // TODO New key - Add a translation + "admin.workflow.item.send-back": "Send back", + + + + // "admin.metadata-import.breadcrumbs": "Import Metadata", + // TODO New key - Add a translation + "admin.metadata-import.breadcrumbs": "Import Metadata", + + // "admin.metadata-import.title": "Import Metadata", + // TODO New key - Add a translation + "admin.metadata-import.title": "Import Metadata", + + // "admin.metadata-import.page.header": "Import Metadata", + // TODO New key - Add a translation + "admin.metadata-import.page.header": "Import Metadata", + + // "admin.metadata-import.page.help": "You can drop or browse CSV files that contain batch metadata operations on files here", + // TODO New key - Add a translation + "admin.metadata-import.page.help": "You can drop or browse CSV files that contain batch metadata operations on files here", + + // "admin.metadata-import.page.dropMsg": "Drop a metadata CSV to import", + // TODO New key - Add a translation + "admin.metadata-import.page.dropMsg": "Drop a metadata CSV to import", + + // "admin.metadata-import.page.dropMsgReplace": "Drop to replace the metadata CSV to import", + // TODO New key - Add a translation + "admin.metadata-import.page.dropMsgReplace": "Drop to replace the metadata CSV to import", + + // "admin.metadata-import.page.button.return": "Return", + // TODO New key - Add a translation + "admin.metadata-import.page.button.return": "Return", + + // "admin.metadata-import.page.button.proceed": "Proceed", + // TODO New key - Add a translation + "admin.metadata-import.page.button.proceed": "Proceed", + + // "admin.metadata-import.page.error.addFile": "Select file first!", + // TODO New key - Add a translation + "admin.metadata-import.page.error.addFile": "Select file first!", + + // "auth.errors.invalid-user": "Invalid email address or password.", @@ -1018,6 +1223,10 @@ // TODO New key - Add a translation "collection.create.sub-head": "Create a Collection for Community {{ parent }}", + // "collection.curate.header": "Curate Collection: {{collection}}", + // TODO New key - Add a translation + "collection.curate.header": "Curate Collection: {{collection}}", + // "collection.delete.cancel": "Cancel", // TODO New key - Add a translation "collection.delete.cancel": "Cancel", @@ -1058,6 +1267,14 @@ + // "collection.edit.tabs.mapper.head": "Item Mapper", + // TODO New key - Add a translation + "collection.edit.tabs.mapper.head": "Item Mapper", + + // "collection.edit.tabs.item-mapper.title": "Collection Edit - Item Mapper", + // TODO New key - Add a translation + "collection.edit.tabs.item-mapper.title": "Collection Edit - Item Mapper", + // "collection.edit.item-mapper.cancel": "Cancel", // TODO New key - Add a translation "collection.edit.item-mapper.cancel": "Cancel", @@ -1176,6 +1393,14 @@ // TODO New key - Add a translation "collection.edit.tabs.curate.title": "Collection Edit - Curate", + // "collection.edit.tabs.authorizations.head": "Authorizations", + // TODO New key - Add a translation + "collection.edit.tabs.authorizations.head": "Authorizations", + + // "collection.edit.tabs.authorizations.title": "Collection Edit - Authorizations", + // TODO New key - Add a translation + "collection.edit.tabs.authorizations.title": "Collection Edit - Authorizations", + // "collection.edit.tabs.metadata.head": "Edit Metadata", // TODO New key - Add a translation "collection.edit.tabs.metadata.head": "Edit Metadata", @@ -1266,6 +1491,48 @@ + // "collection.edit.template.add-button": "Add", + // TODO New key - Add a translation + "collection.edit.template.add-button": "Add", + + // "collection.edit.template.breadcrumbs": "Item template", + // TODO New key - Add a translation + "collection.edit.template.breadcrumbs": "Item template", + + // "collection.edit.template.cancel": "Cancel", + // TODO New key - Add a translation + "collection.edit.template.cancel": "Cancel", + + // "collection.edit.template.delete-button": "Delete", + // TODO New key - Add a translation + "collection.edit.template.delete-button": "Delete", + + // "collection.edit.template.edit-button": "Edit", + // TODO New key - Add a translation + "collection.edit.template.edit-button": "Edit", + + // "collection.edit.template.head": "Edit Template Item for Collection \"{{ collection }}\"", + // TODO New key - Add a translation + "collection.edit.template.head": "Edit Template Item for Collection \"{{ collection }}\"", + + // "collection.edit.template.label": "Template item", + // TODO New key - Add a translation + "collection.edit.template.label": "Template item", + + // "collection.edit.template.notifications.delete.error": "Failed to delete the item template", + // TODO New key - Add a translation + "collection.edit.template.notifications.delete.error": "Failed to delete the item template", + + // "collection.edit.template.notifications.delete.success": "Successfully deleted the item template", + // TODO New key - Add a translation + "collection.edit.template.notifications.delete.success": "Successfully deleted the item template", + + // "collection.edit.template.title": "Edit Template Item", + // TODO New key - Add a translation + "collection.edit.template.title": "Edit Template Item", + + + // "collection.form.abstract": "Short Description", // TODO New key - Add a translation "collection.form.abstract": "Short Description", @@ -1300,6 +1567,12 @@ + // "collection.listelement.badge": "Collection", + // TODO New key - Add a translation + "collection.listelement.badge": "Collection", + + + // "collection.page.browse.recent.head": "Recent Submissions", // TODO New key - Add a translation "collection.page.browse.recent.head": "Recent Submissions", @@ -1308,6 +1581,10 @@ // TODO New key - Add a translation "collection.page.browse.recent.empty": "No items to show", + // "collection.page.edit": "Edit this collection", + // TODO New key - Add a translation + "collection.page.edit": "Edit this collection", + // "collection.page.handle": "Permanent URI for this collection", // TODO New key - Add a translation "collection.page.handle": "Permanent URI for this collection", @@ -1372,6 +1649,10 @@ // TODO New key - Add a translation "community.create.sub-head": "Create a Sub-Community for Community {{ parent }}", + // "community.curate.header": "Curate Community: {{community}}", + // TODO New key - Add a translation + "community.curate.header": "Curate Community: {{community}}", + // "community.delete.cancel": "Cancel", // TODO New key - Add a translation "community.delete.cancel": "Cancel", @@ -1443,6 +1724,14 @@ // TODO New key - Add a translation "community.edit.notifications.success": "Successfully edited the Community", + // "community.edit.notifications.unauthorized": "You do not have privileges to make this change", + // TODO New key - Add a translation + "community.edit.notifications.unauthorized": "You do not have privileges to make this change", + + // "community.edit.notifications.error": "An error occured while editing the Community", + // TODO New key - Add a translation + "community.edit.notifications.error": "An error occured while editing the Community", + // "community.edit.return": "Return", // TODO New key - Add a translation "community.edit.return": "Return", @@ -1473,6 +1762,118 @@ // TODO New key - Add a translation "community.edit.tabs.roles.title": "Community Edit - Roles", + // "community.edit.tabs.authorizations.head": "Authorizations", + // TODO New key - Add a translation + "community.edit.tabs.authorizations.head": "Authorizations", + + // "community.edit.tabs.authorizations.title": "Community Edit - Authorizations", + // TODO New key - Add a translation + "community.edit.tabs.authorizations.title": "Community Edit - Authorizations", + + + + // "community.listelement.badge": "Community", + // TODO New key - Add a translation + "community.listelement.badge": "Community", + + + + // "comcol-role.edit.no-group": "None", + // TODO New key - Add a translation + "comcol-role.edit.no-group": "None", + + // "comcol-role.edit.create": "Create", + // TODO New key - Add a translation + "comcol-role.edit.create": "Create", + + // "comcol-role.edit.restrict": "Restrict", + // TODO New key - Add a translation + "comcol-role.edit.restrict": "Restrict", + + // "comcol-role.edit.delete": "Delete", + // TODO New key - Add a translation + "comcol-role.edit.delete": "Delete", + + + // "comcol-role.edit.community-admin.name": "Administrators", + // TODO New key - Add a translation + "comcol-role.edit.community-admin.name": "Administrators", + + // "comcol-role.edit.collection-admin.name": "Administrators", + // TODO New key - Add a translation + "comcol-role.edit.collection-admin.name": "Administrators", + + + // "comcol-role.edit.community-admin.description": "Community administrators can create sub-communities or collections, and manage or assign management for those sub-communities or collections. In addition, they decide who can submit items to any sub-collections, edit item metadata (after submission), and add (map) existing items from other collections (subject to authorization).", + // TODO New key - Add a translation + "comcol-role.edit.community-admin.description": "Community administrators can create sub-communities or collections, and manage or assign management for those sub-communities or collections. In addition, they decide who can submit items to any sub-collections, edit item metadata (after submission), and add (map) existing items from other collections (subject to authorization).", + + // "comcol-role.edit.collection-admin.description": "Collection administrators decide who can submit items to the collection, edit item metadata (after submission), and add (map) existing items from other collections to this collection (subject to authorization for that collection).", + // TODO New key - Add a translation + "comcol-role.edit.collection-admin.description": "Collection administrators decide who can submit items to the collection, edit item metadata (after submission), and add (map) existing items from other collections to this collection (subject to authorization for that collection).", + + + // "comcol-role.edit.submitters.name": "Submitters", + // TODO New key - Add a translation + "comcol-role.edit.submitters.name": "Submitters", + + // "comcol-role.edit.submitters.description": "The E-People and Groups that have permission to submit new items to this collection.", + // TODO New key - Add a translation + "comcol-role.edit.submitters.description": "The E-People and Groups that have permission to submit new items to this collection.", + + + // "comcol-role.edit.item_read.name": "Default item read access", + // TODO New key - Add a translation + "comcol-role.edit.item_read.name": "Default item read access", + + // "comcol-role.edit.item_read.description": "E-People and Groups that can read new items submitted to this collection. Changes to this role are not retroactive. Existing items in the system will still be viewable by those who had read access at the time of their addition.", + // TODO New key - Add a translation + "comcol-role.edit.item_read.description": "E-People and Groups that can read new items submitted to this collection. Changes to this role are not retroactive. Existing items in the system will still be viewable by those who had read access at the time of their addition.", + + // "comcol-role.edit.item_read.anonymous-group": "Default read for incoming items is currently set to Anonymous.", + // TODO New key - Add a translation + "comcol-role.edit.item_read.anonymous-group": "Default read for incoming items is currently set to Anonymous.", + + + // "comcol-role.edit.bitstream_read.name": "Default bitstream read access", + // TODO New key - Add a translation + "comcol-role.edit.bitstream_read.name": "Default bitstream read access", + + // "comcol-role.edit.bitstream_read.description": "Community administrators can create sub-communities or collections, and manage or assign management for those sub-communities or collections. In addition, they decide who can submit items to any sub-collections, edit item metadata (after submission), and add (map) existing items from other collections (subject to authorization).", + // TODO New key - Add a translation + "comcol-role.edit.bitstream_read.description": "Community administrators can create sub-communities or collections, and manage or assign management for those sub-communities or collections. In addition, they decide who can submit items to any sub-collections, edit item metadata (after submission), and add (map) existing items from other collections (subject to authorization).", + + // "comcol-role.edit.bitstream_read.anonymous-group": "Default read for incoming bitstreams is currently set to Anonymous.", + // TODO New key - Add a translation + "comcol-role.edit.bitstream_read.anonymous-group": "Default read for incoming bitstreams is currently set to Anonymous.", + + + // "comcol-role.edit.editor.name": "Editors", + // TODO New key - Add a translation + "comcol-role.edit.editor.name": "Editors", + + // "comcol-role.edit.editor.description": "Editors are able to edit the metadata of incoming submissions, and then accept or reject them.", + // TODO New key - Add a translation + "comcol-role.edit.editor.description": "Editors are able to edit the metadata of incoming submissions, and then accept or reject them.", + + + // "comcol-role.edit.finaleditor.name": "Final editors", + // TODO New key - Add a translation + "comcol-role.edit.finaleditor.name": "Final editors", + + // "comcol-role.edit.finaleditor.description": "Final editors are able to edit the metadata of incoming submissions, but will not be able to reject them.", + // TODO New key - Add a translation + "comcol-role.edit.finaleditor.description": "Final editors are able to edit the metadata of incoming submissions, but will not be able to reject them.", + + + // "comcol-role.edit.reviewer.name": "Reviewers", + // TODO New key - Add a translation + "comcol-role.edit.reviewer.name": "Reviewers", + + // "comcol-role.edit.reviewer.description": "Reviewers are able to accept or reject incoming submissions. However, they are not able to edit the submission's metadata.", + // TODO New key - Add a translation + "comcol-role.edit.reviewer.description": "Reviewers are able to accept or reject incoming submissions. However, they are not able to edit the submission's metadata.", + // "community.form.abstract": "Short Description", @@ -1499,6 +1900,10 @@ // TODO New key - Add a translation "community.form.title": "Name", + // "community.page.edit": "Edit this community", + // TODO New key - Add a translation + "community.page.edit": "Edit this community", + // "community.page.handle": "Permanent URI for this community", // TODO New key - Add a translation "community.page.handle": "Permanent URI for this community", @@ -1525,10 +1930,188 @@ + // "cookies.consent.accept-all": "Accept all", + // TODO New key - Add a translation + "cookies.consent.accept-all": "Accept all", + + // "cookies.consent.accept-selected": "Accept selected", + // TODO New key - Add a translation + "cookies.consent.accept-selected": "Accept selected", + + // "cookies.consent.app.opt-out.description": "This app is loaded by default (but you can opt out)", + // TODO New key - Add a translation + "cookies.consent.app.opt-out.description": "This app is loaded by default (but you can opt out)", + + // "cookies.consent.app.opt-out.title": "(opt-out)", + // TODO New key - Add a translation + "cookies.consent.app.opt-out.title": "(opt-out)", + + // "cookies.consent.app.purpose": "purpose", + // TODO New key - Add a translation + "cookies.consent.app.purpose": "purpose", + + // "cookies.consent.app.required.description": "This application is always required", + // TODO New key - Add a translation + "cookies.consent.app.required.description": "This application is always required", + + // "cookies.consent.app.required.title": "(always required)", + // TODO New key - Add a translation + "cookies.consent.app.required.title": "(always required)", + + // "cookies.consent.update": "There were changes since your last visit, please update your consent.", + // TODO New key - Add a translation + "cookies.consent.update": "There were changes since your last visit, please update your consent.", + + // "cookies.consent.close": "Close", + // TODO New key - Add a translation + "cookies.consent.close": "Close", + + // "cookies.consent.decline": "Decline", + // TODO New key - Add a translation + "cookies.consent.decline": "Decline", + + // "cookies.consent.content-notice.description": "We collect and process your personal information for the following purposes: Authentication, Preferences, Acknowledgement and Statistics.
To learn more, please read our {privacyPolicy}.", + // TODO New key - Add a translation + "cookies.consent.content-notice.description": "We collect and process your personal information for the following purposes: Authentication, Preferences, Acknowledgement and Statistics.
To learn more, please read our {privacyPolicy}.", + + // "cookies.consent.content-notice.learnMore": "Customize", + // TODO New key - Add a translation + "cookies.consent.content-notice.learnMore": "Customize", + + // "cookies.consent.content-modal.description": "Here you can see and customize the information that we collect about you.", + // TODO New key - Add a translation + "cookies.consent.content-modal.description": "Here you can see and customize the information that we collect about you.", + + // "cookies.consent.content-modal.privacy-policy.name": "privacy policy", + // TODO New key - Add a translation + "cookies.consent.content-modal.privacy-policy.name": "privacy policy", + + // "cookies.consent.content-modal.privacy-policy.text": "To learn more, please read our {privacyPolicy}.", + // TODO New key - Add a translation + "cookies.consent.content-modal.privacy-policy.text": "To learn more, please read our {privacyPolicy}.", + + // "cookies.consent.content-modal.title": "Information that we collect", + // TODO New key - Add a translation + "cookies.consent.content-modal.title": "Information that we collect", + + + + // "cookies.consent.app.title.authentication": "Authentication", + // TODO New key - Add a translation + "cookies.consent.app.title.authentication": "Authentication", + + // "cookies.consent.app.description.authentication": "Required for signing you in", + // TODO New key - Add a translation + "cookies.consent.app.description.authentication": "Required for signing you in", + + + // "cookies.consent.app.title.preferences": "Preferences", + // TODO New key - Add a translation + "cookies.consent.app.title.preferences": "Preferences", + + // "cookies.consent.app.description.preferences": "Required for saving your preferences", + // TODO New key - Add a translation + "cookies.consent.app.description.preferences": "Required for saving your preferences", + + + + // "cookies.consent.app.title.acknowledgement": "Acknowledgement", + // TODO New key - Add a translation + "cookies.consent.app.title.acknowledgement": "Acknowledgement", + + // "cookies.consent.app.description.acknowledgement": "Required for saving your acknowledgements and consents", + // TODO New key - Add a translation + "cookies.consent.app.description.acknowledgement": "Required for saving your acknowledgements and consents", + + + + // "cookies.consent.app.title.google-analytics": "Google Analytics", + // TODO New key - Add a translation + "cookies.consent.app.title.google-analytics": "Google Analytics", + + // "cookies.consent.app.description.google-analytics": "Allows us to track statistical data", + // TODO New key - Add a translation + "cookies.consent.app.description.google-analytics": "Allows us to track statistical data", + + + + // "cookies.consent.purpose.functional": "Functional", + // TODO New key - Add a translation + "cookies.consent.purpose.functional": "Functional", + + // "cookies.consent.purpose.statistical": "Statistical", + // TODO New key - Add a translation + "cookies.consent.purpose.statistical": "Statistical", + + + // "curation-task.task.checklinks.label": "Check Links in Metadata", + // TODO New key - Add a translation + "curation-task.task.checklinks.label": "Check Links in Metadata", + + // "curation-task.task.noop.label": "NOOP", + // TODO New key - Add a translation + "curation-task.task.noop.label": "NOOP", + + // "curation-task.task.profileformats.label": "Profile Bitstream Formats", + // TODO New key - Add a translation + "curation-task.task.profileformats.label": "Profile Bitstream Formats", + + // "curation-task.task.requiredmetadata.label": "Check for Required Metadata", + // TODO New key - Add a translation + "curation-task.task.requiredmetadata.label": "Check for Required Metadata", + + // "curation-task.task.translate.label": "Microsoft Translator", + // TODO New key - Add a translation + "curation-task.task.translate.label": "Microsoft Translator", + + // "curation-task.task.vscan.label": "Virus Scan", + // TODO New key - Add a translation + "curation-task.task.vscan.label": "Virus Scan", + + + + // "curation.form.task-select.label": "Task:", + // TODO New key - Add a translation + "curation.form.task-select.label": "Task:", + + // "curation.form.submit": "Start", + // TODO New key - Add a translation + "curation.form.submit": "Start", + + // "curation.form.submit.success.head": "The curation task has been started successfully", + // TODO New key - Add a translation + "curation.form.submit.success.head": "The curation task has been started successfully", + + // "curation.form.submit.success.content": "You will be redirected to the corresponding process page.", + // TODO New key - Add a translation + "curation.form.submit.success.content": "You will be redirected to the corresponding process page.", + + // "curation.form.submit.error.head": "Running the curation task failed", + // TODO New key - Add a translation + "curation.form.submit.error.head": "Running the curation task failed", + + // "curation.form.submit.error.content": "An error occured when trying to start the curation task.", + // TODO New key - Add a translation + "curation.form.submit.error.content": "An error occured when trying to start the curation task.", + + // "curation.form.handle.label": "Handle:", + // TODO New key - Add a translation + "curation.form.handle.label": "Handle:", + + // "curation.form.handle.hint": "Hint: Enter [your-handle-prefix]/0 to run a task across entire site (not all tasks may support this capability)", + // TODO New key - Add a translation + "curation.form.handle.hint": "Hint: Enter [your-handle-prefix]/0 to run a task across entire site (not all tasks may support this capability)", + + + // "dso-selector.create.collection.head": "New collection", // TODO New key - Add a translation "dso-selector.create.collection.head": "New collection", + // "dso-selector.create.collection.sub-level": "Create a new collection in", + // TODO New key - Add a translation + "dso-selector.create.collection.sub-level": "Create a new collection in", + // "dso-selector.create.community.head": "New community", // TODO New key - Add a translation "dso-selector.create.community.head": "New community", @@ -1545,6 +2128,14 @@ // TODO New key - Add a translation "dso-selector.create.item.head": "New item", + // "dso-selector.create.item.sub-level": "Create a new item in", + // TODO New key - Add a translation + "dso-selector.create.item.sub-level": "Create a new item in", + + // "dso-selector.create.submission.head": "New submission", + // TODO New key - Add a translation + "dso-selector.create.submission.head": "New submission", + // "dso-selector.edit.collection.head": "Edit collection", // TODO New key - Add a translation "dso-selector.edit.collection.head": "Edit collection", @@ -1557,6 +2148,10 @@ // TODO New key - Add a translation "dso-selector.edit.item.head": "Edit item", + // "dso-selector.export-metadata.dspaceobject.head": "Export metadata from", + // TODO New key - Add a translation + "dso-selector.export-metadata.dspaceobject.head": "Export metadata from", + // "dso-selector.no-results": "No {{ type }} found", // TODO New key - Add a translation "dso-selector.no-results": "No {{ type }} found", @@ -1567,6 +2162,39 @@ + // "confirmation-modal.export-metadata.header": "Export metadata for {{ dsoName }}", + // TODO New key - Add a translation + "confirmation-modal.export-metadata.header": "Export metadata for {{ dsoName }}", + + // "confirmation-modal.export-metadata.info": "Are you sure you want to export metadata for {{ dsoName }}", + // TODO New key - Add a translation + "confirmation-modal.export-metadata.info": "Are you sure you want to export metadata for {{ dsoName }}", + + // "confirmation-modal.export-metadata.cancel": "Cancel", + // TODO New key - Add a translation + "confirmation-modal.export-metadata.cancel": "Cancel", + + // "confirmation-modal.export-metadata.confirm": "Export", + // TODO New key - Add a translation + "confirmation-modal.export-metadata.confirm": "Export", + + // "confirmation-modal.delete-eperson.header": "Delete EPerson \"{{ dsoName }}\"", + // TODO New key - Add a translation + "confirmation-modal.delete-eperson.header": "Delete EPerson \"{{ dsoName }}\"", + + // "confirmation-modal.delete-eperson.info": "Are you sure you want to delete EPerson \"{{ dsoName }}\"", + // TODO New key - Add a translation + "confirmation-modal.delete-eperson.info": "Are you sure you want to delete EPerson \"{{ dsoName }}\"", + + // "confirmation-modal.delete-eperson.cancel": "Cancel", + // TODO New key - Add a translation + "confirmation-modal.delete-eperson.cancel": "Cancel", + + // "confirmation-modal.delete-eperson.confirm": "Delete", + // TODO New key - Add a translation + "confirmation-modal.delete-eperson.confirm": "Delete", + + // "error.bitstream": "Error fetching bitstream", // TODO New key - Add a translation "error.bitstream": "Error fetching bitstream", @@ -1645,6 +2273,12 @@ + // "file-section.error.header": "Error obtaining files for this item", + // TODO New key - Add a translation + "file-section.error.header": "Error obtaining files for this item", + + + // "footer.copyright": "copyright © 2002-{{ year }}", // TODO New key - Add a translation "footer.copyright": "copyright © 2002-{{ year }}", @@ -1657,6 +2291,127 @@ // TODO New key - Add a translation "footer.link.duraspace": "DuraSpace", + // "footer.link.cookies": "Cookie settings", + // TODO New key - Add a translation + "footer.link.cookies": "Cookie settings", + + // "footer.link.privacy-policy": "Privacy policy", + // TODO New key - Add a translation + "footer.link.privacy-policy": "Privacy policy", + + // "footer.link.end-user-agreement":"End User Agreement", + // TODO New key - Add a translation + "footer.link.end-user-agreement":"End User Agreement", + + + + // "forgot-email.form.header": "Forgot Password", + // TODO New key - Add a translation + "forgot-email.form.header": "Forgot Password", + + // "forgot-email.form.info": "Enter Register an account to subscribe to collections for email updates, and submit new items to DSpace.", + // TODO New key - Add a translation + "forgot-email.form.info": "Enter Register an account to subscribe to collections for email updates, and submit new items to DSpace.", + + // "forgot-email.form.email": "Email Address *", + // TODO New key - Add a translation + "forgot-email.form.email": "Email Address *", + + // "forgot-email.form.email.error.required": "Please fill in an email address", + // TODO New key - Add a translation + "forgot-email.form.email.error.required": "Please fill in an email address", + + // "forgot-email.form.email.error.pattern": "Please fill in a valid email address", + // TODO New key - Add a translation + "forgot-email.form.email.error.pattern": "Please fill in a valid email address", + + // "forgot-email.form.email.hint": "This address will be verified and used as your login name.", + // TODO New key - Add a translation + "forgot-email.form.email.hint": "This address will be verified and used as your login name.", + + // "forgot-email.form.submit": "Submit", + // TODO New key - Add a translation + "forgot-email.form.submit": "Submit", + + // "forgot-email.form.success.head": "Verification email sent", + // TODO New key - Add a translation + "forgot-email.form.success.head": "Verification email sent", + + // "forgot-email.form.success.content": "An email has been sent to {{ email }} containing a special URL and further instructions.", + // TODO New key - Add a translation + "forgot-email.form.success.content": "An email has been sent to {{ email }} containing a special URL and further instructions.", + + // "forgot-email.form.error.head": "Error when trying to register email", + // TODO New key - Add a translation + "forgot-email.form.error.head": "Error when trying to register email", + + // "forgot-email.form.error.content": "An error occured when registering the following email address: {{ email }}", + // TODO New key - Add a translation + "forgot-email.form.error.content": "An error occured when registering the following email address: {{ email }}", + + + + // "forgot-password.title": "Forgot Password", + // TODO New key - Add a translation + "forgot-password.title": "Forgot Password", + + // "forgot-password.form.head": "Forgot Password", + // TODO New key - Add a translation + "forgot-password.form.head": "Forgot Password", + + // "forgot-password.form.info": "Enter a new password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", + // TODO New key - Add a translation + "forgot-password.form.info": "Enter a new password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", + + // "forgot-password.form.card.security": "Security", + // TODO New key - Add a translation + "forgot-password.form.card.security": "Security", + + // "forgot-password.form.identification.header": "Identify", + // TODO New key - Add a translation + "forgot-password.form.identification.header": "Identify", + + // "forgot-password.form.identification.email": "Email address: ", + // TODO New key - Add a translation + "forgot-password.form.identification.email": "Email address: ", + + // "forgot-password.form.label.password": "Password", + // TODO New key - Add a translation + "forgot-password.form.label.password": "Password", + + // "forgot-password.form.label.passwordrepeat": "Retype to confirm", + // TODO New key - Add a translation + "forgot-password.form.label.passwordrepeat": "Retype to confirm", + + // "forgot-password.form.error.empty-password": "Please enter a password in the box below.", + // TODO New key - Add a translation + "forgot-password.form.error.empty-password": "Please enter a password in the box below.", + + // "forgot-password.form.error.matching-passwords": "The passwords do not match.", + // TODO New key - Add a translation + "forgot-password.form.error.matching-passwords": "The passwords do not match.", + + // "forgot-password.form.error.password-length": "The password should be at least 6 characters long.", + // TODO New key - Add a translation + "forgot-password.form.error.password-length": "The password should be at least 6 characters long.", + + // "forgot-password.form.notification.error.title": "Error when trying to submit new password", + // TODO New key - Add a translation + "forgot-password.form.notification.error.title": "Error when trying to submit new password", + + // "forgot-password.form.notification.success.content": "The password reset was successful. You have been logged in as the created user.", + // TODO New key - Add a translation + "forgot-password.form.notification.success.content": "The password reset was successful. You have been logged in as the created user.", + + // "forgot-password.form.notification.success.title": "Password reset completed", + // TODO New key - Add a translation + "forgot-password.form.notification.success.title": "Password reset completed", + + // "forgot-password.form.submit": "Submit password", + // TODO New key - Add a translation + "forgot-password.form.submit": "Submit password", + + // "form.add": "Add", // TODO New key - Add a translation @@ -1750,9 +2505,9 @@ // TODO New key - Add a translation "form.search": "Search", - // "form.search-help": "Click here to looking for an existing correspondence", + // "form.search-help": "Click here to look for an existing correspondence", // TODO New key - Add a translation - "form.search-help": "Click here to looking for an existing correspondence", + "form.search-help": "Click here to look for an existing correspondence", // "form.submit": "Submit", // TODO New key - Add a translation @@ -1764,6 +2519,10 @@ // TODO New key - Add a translation "home.description": "", + // "home.breadcrumbs": "Home", + // TODO New key - Add a translation + "home.breadcrumbs": "Home", + // "home.title": "DSpace Angular :: Home", // TODO New key - Add a translation "home.title": "DSpace Angular :: Home", @@ -1778,6 +2537,81 @@ + // "info.end-user-agreement.accept": "I have read and I agree to the End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.accept": "I have read and I agree to the End User Agreement", + + // "info.end-user-agreement.accept.error": "An error occurred accepting the End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.accept.error": "An error occurred accepting the End User Agreement", + + // "info.end-user-agreement.accept.success": "Successfully updated the End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.accept.success": "Successfully updated the End User Agreement", + + // "info.end-user-agreement.breadcrumbs": "End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.breadcrumbs": "End User Agreement", + + // "info.end-user-agreement.buttons.cancel": "Cancel", + // TODO New key - Add a translation + "info.end-user-agreement.buttons.cancel": "Cancel", + + // "info.end-user-agreement.buttons.save": "Save", + // TODO New key - Add a translation + "info.end-user-agreement.buttons.save": "Save", + + // "info.end-user-agreement.head": "End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.head": "End User Agreement", + + // "info.end-user-agreement.title": "End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.title": "End User Agreement", + + // "info.privacy.breadcrumbs": "Privacy Statement", + // TODO New key - Add a translation + "info.privacy.breadcrumbs": "Privacy Statement", + + // "info.privacy.head": "Privacy Statement", + // TODO New key - Add a translation + "info.privacy.head": "Privacy Statement", + + // "info.privacy.title": "Privacy Statement", + // TODO New key - Add a translation + "info.privacy.title": "Privacy Statement", + + + + // "item.alerts.private": "This item is private", + // TODO New key - Add a translation + "item.alerts.private": "This item is private", + + // "item.alerts.withdrawn": "This item has been withdrawn", + // TODO New key - Add a translation + "item.alerts.withdrawn": "This item has been withdrawn", + + + + // "item.edit.authorizations.heading": "With this editor you can view and alter the policies of an item, plus alter policies of individual item components: bundles and bitstreams. Briefly, an item is a container of bundles, and bundles are containers of bitstreams. Containers usually have ADD/REMOVE/READ/WRITE policies, while bitstreams only have READ/WRITE policies.", + // TODO New key - Add a translation + "item.edit.authorizations.heading": "With this editor you can view and alter the policies of an item, plus alter policies of individual item components: bundles and bitstreams. Briefly, an item is a container of bundles, and bundles are containers of bitstreams. Containers usually have ADD/REMOVE/READ/WRITE policies, while bitstreams only have READ/WRITE policies.", + + // "item.edit.authorizations.title": "Edit item's Policies", + // TODO New key - Add a translation + "item.edit.authorizations.title": "Edit item's Policies", + + + + // "item.badge.private": "Private", + // TODO New key - Add a translation + "item.badge.private": "Private", + + // "item.badge.withdrawn": "Withdrawn", + // TODO New key - Add a translation + "item.badge.withdrawn": "Withdrawn", + + // "item.bitstreams.upload.bundle": "Bundle", // TODO New key - Add a translation @@ -1980,6 +2814,13 @@ "item.edit.breadcrumbs": "Edit Item", + // "item.edit.tabs.mapper.head": "Collection Mapper", + // TODO New key - Add a translation + "item.edit.tabs.mapper.head": "Collection Mapper", + + // "item.edit.tabs.item-mapper.title": "Item Edit - Collection Mapper", + // TODO New key - Add a translation + "item.edit.tabs.item-mapper.title": "Item Edit - Collection Mapper", // "item.edit.item-mapper.buttons.add": "Map item to selected collections", // TODO New key - Add a translation @@ -2075,6 +2916,10 @@ // TODO New key - Add a translation "item.edit.metadata.edit.buttons.unedit": "Stop editing", + // "item.edit.metadata.empty": "The item currently doesn't contain any metadata. Click Add to start adding a metadata value.", + // TODO New key - Add a translation + "item.edit.metadata.empty": "The item currently doesn't contain any metadata. Click Add to start adding a metadata value.", + // "item.edit.metadata.headers.edit": "Edit", // TODO New key - Add a translation "item.edit.metadata.headers.edit": "Edit", @@ -2103,6 +2948,10 @@ // TODO New key - Add a translation "item.edit.metadata.notifications.discarded.title": "Changed discarded", + // "item.edit.metadata.notifications.error.title": "An error occurred", + // TODO New key - Add a translation + "item.edit.metadata.notifications.error.title": "An error occurred", + // "item.edit.metadata.notifications.invalid.content": "Your changes were not saved. Please make sure all fields are valid before you save.", // TODO New key - Add a translation "item.edit.metadata.notifications.invalid.content": "Your changes were not saved. Please make sure all fields are valid before you save.", @@ -2279,6 +3128,10 @@ // TODO New key - Add a translation "item.edit.relationships.discard-button": "Discard", + // "item.edit.relationships.edit.buttons.add": "Add", + // TODO New key - Add a translation + "item.edit.relationships.edit.buttons.add": "Add", + // "item.edit.relationships.edit.buttons.remove": "Remove", // TODO New key - Add a translation "item.edit.relationships.edit.buttons.remove": "Remove", @@ -2287,6 +3140,10 @@ // TODO New key - Add a translation "item.edit.relationships.edit.buttons.undo": "Undo changes", + // "item.edit.relationships.no-relationships": "No relationships", + // TODO New key - Add a translation + "item.edit.relationships.no-relationships": "No relationships", + // "item.edit.relationships.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", // TODO New key - Add a translation "item.edit.relationships.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", @@ -2295,9 +3152,9 @@ // TODO New key - Add a translation "item.edit.relationships.notifications.discarded.title": "Changes discarded", - // "item.edit.relationships.notifications.failed.title": "Error deleting relationship", + // "item.edit.relationships.notifications.failed.title": "Error editing relationships", // TODO New key - Add a translation - "item.edit.relationships.notifications.failed.title": "Error deleting relationship", + "item.edit.relationships.notifications.failed.title": "Error editing relationships", // "item.edit.relationships.notifications.outdated.content": "The item you're currently working on has been changed by another user. Your current changes are discarded to prevent conflicts", // TODO New key - Add a translation @@ -2323,6 +3180,10 @@ // TODO New key - Add a translation "item.edit.relationships.save-button": "Save", + // "item.edit.relationships.no-entity-type": "Add 'relationship.type' metadata to enable relationships for this item", + // TODO New key - Add a translation + "item.edit.relationships.no-entity-type": "Add 'relationship.type' metadata to enable relationships for this item", + // "item.edit.tabs.bitstreams.head": "Bitstreams", @@ -2497,6 +3358,48 @@ + // "item.listelement.badge": "Item", + // TODO New key - Add a translation + "item.listelement.badge": "Item", + + // "item.page.description": "Description", + // TODO New key - Add a translation + "item.page.description": "Description", + + // "item.page.edit": "Edit this item", + // TODO New key - Add a translation + "item.page.edit": "Edit this item", + + // "item.page.journal-issn": "Journal ISSN", + // TODO New key - Add a translation + "item.page.journal-issn": "Journal ISSN", + + // "item.page.journal-title": "Journal Title", + // TODO New key - Add a translation + "item.page.journal-title": "Journal Title", + + // "item.page.publisher": "Publisher", + // TODO New key - Add a translation + "item.page.publisher": "Publisher", + + // "item.page.titleprefix": "Item: ", + // TODO New key - Add a translation + "item.page.titleprefix": "Item: ", + + // "item.page.volume-title": "Volume Title", + // TODO New key - Add a translation + "item.page.volume-title": "Volume Title", + + // "item.search.results.head": "Item Search Results", + // TODO New key - Add a translation + "item.search.results.head": "Item Search Results", + + // "item.search.title": "DSpace Angular :: Item Search", + // TODO New key - Add a translation + "item.search.title": "DSpace Angular :: Item Search", + + + // "item.page.abstract": "Abstract", // TODO New key - Add a translation "item.page.abstract": "Abstract", @@ -2517,6 +3420,10 @@ // TODO New key - Add a translation "item.page.date": "Date", + // "item.page.edit": "Edit this item", + // TODO New key - Add a translation + "item.page.edit": "Edit this item", + // "item.page.files": "Files", // TODO New key - Add a translation "item.page.files": "Files", @@ -2589,6 +3496,65 @@ // TODO New key - Add a translation "item.page.uri": "URI", + // "item.page.bitstreams.view-more": "Show more", + // TODO New key - Add a translation + "item.page.bitstreams.view-more": "Show more", + + // "item.page.bitstreams.collapse": "Collapse", + // TODO New key - Add a translation + "item.page.bitstreams.collapse": "Collapse", + + // "item.page.filesection.original.bundle" : "Original bundle", + // TODO New key - Add a translation + "item.page.filesection.original.bundle" : "Original bundle", + + // "item.page.filesection.license.bundle" : "License bundle", + // TODO New key - Add a translation + "item.page.filesection.license.bundle" : "License bundle", + + // "item.preview.dc.identifier.uri": "Identifier:", + // TODO New key - Add a translation + "item.preview.dc.identifier.uri": "Identifier:", + + // "item.preview.dc.contributor.author": "Authors:", + // TODO New key - Add a translation + "item.preview.dc.contributor.author": "Authors:", + + // "item.preview.dc.date.issued": "Published date:", + // TODO New key - Add a translation + "item.preview.dc.date.issued": "Published date:", + + // "item.preview.dc.description.abstract": "Abstract:", + // TODO New key - Add a translation + "item.preview.dc.description.abstract": "Abstract:", + + // "item.preview.dc.identifier.other": "Other identifier:", + // TODO New key - Add a translation + "item.preview.dc.identifier.other": "Other identifier:", + + // "item.preview.dc.language.iso": "Language:", + // TODO New key - Add a translation + "item.preview.dc.language.iso": "Language:", + + // "item.preview.dc.subject": "Subjects:", + // TODO New key - Add a translation + "item.preview.dc.subject": "Subjects:", + + // "item.preview.dc.title": "Title:", + // TODO New key - Add a translation + "item.preview.dc.title": "Title:", + + // "item.preview.person.familyName": "Surname:", + // TODO New key - Add a translation + "item.preview.person.familyName": "Surname:", + + // "item.preview.person.givenName": "Name:", + // TODO New key - Add a translation + "item.preview.person.givenName": "Name:", + + // "item.preview.person.identifier.orcid": "ORCID:", + // TODO New key - Add a translation + "item.preview.person.identifier.orcid": "ORCID:", // "item.select.confirm": "Confirm selected", @@ -2664,6 +3630,10 @@ // TODO New key - Add a translation "journal.page.description": "Description", + // "journal.page.edit": "Edit this item", + // TODO New key - Add a translation + "journal.page.edit": "Edit this item", + // "journal.page.editor": "Editor-in-Chief", // TODO New key - Add a translation "journal.page.editor": "Editor-in-Chief", @@ -2698,6 +3668,10 @@ // TODO New key - Add a translation "journalissue.page.description": "Description", + // "journalissue.page.edit": "Edit this item", + // TODO New key - Add a translation + "journalissue.page.edit": "Edit this item", + // "journalissue.page.issuedate": "Issue Date", // TODO New key - Add a translation "journalissue.page.issuedate": "Issue Date", @@ -2732,6 +3706,10 @@ // TODO New key - Add a translation "journalvolume.page.description": "Description", + // "journalvolume.page.edit": "Edit this item", + // TODO New key - Add a translation + "journalvolume.page.edit": "Edit this item", + // "journalvolume.page.issuedate": "Issue Date", // TODO New key - Add a translation "journalvolume.page.issuedate": "Issue Date", @@ -3042,6 +4020,10 @@ // TODO New key - Add a translation "menu.section.icon.pin": "Pin sidebar", + // "menu.section.icon.processes": "Processes menu section", + // TODO New key - Add a translation + "menu.section.icon.processes": "Processes menu section", + // "menu.section.icon.registries": "Registries menu section", // TODO New key - Add a translation "menu.section.icon.registries": "Registries menu section", @@ -3090,6 +4072,10 @@ // TODO New key - Add a translation "menu.section.new_item_version": "Item Version", + // "menu.section.new_process": "Process", + // TODO New key - Add a translation + "menu.section.new_process": "Process", + // "menu.section.pin": "Pin sidebar", @@ -3102,6 +4088,12 @@ + // "menu.section.processes": "Processes", + // TODO New key - Add a translation + "menu.section.processes": "Processes", + + + // "menu.section.registries": "Registries", // TODO New key - Add a translation "menu.section.registries": "Registries", @@ -3167,14 +4159,18 @@ "menu.section.toggle.statistics_task": "Toggle Statistics Task section", + // "menu.section.workflow": "Administer Workflow", + // TODO New key - Add a translation + "menu.section.workflow": "Administer Workflow", + // "mydspace.description": "", // TODO New key - Add a translation "mydspace.description": "", - // "mydspace.general.text-here": "HERE", + // "mydspace.general.text-here": "here", // TODO New key - Add a translation - "mydspace.general.text-here": "HERE", + "mydspace.general.text-here": "here", // "mydspace.messages.controller-help": "Select this option to send a message to item's submitter.", // TODO New key - Add a translation @@ -3232,6 +4228,14 @@ // TODO New key - Add a translation "mydspace.new-submission": "New submission", + // "mydspace.new-submission-external": "Import metadata from external source", + // TODO New key - Add a translation + "mydspace.new-submission-external": "Import metadata from external source", + + // "mydspace.new-submission-external-short": "Import metadata", + // TODO New key - Add a translation + "mydspace.new-submission-external-short": "Import metadata", + // "mydspace.results.head": "Your submissions", // TODO New key - Add a translation "mydspace.results.head": "Your submissions", @@ -3304,6 +4308,14 @@ // TODO New key - Add a translation "mydspace.upload.upload-failed": "Error creating new workspace. Please verify the content uploaded before retry.", + // "mydspace.upload.upload-failed-manyentries": "Unprocessable file. Detected too many entries but allowed only one for file.", + // TODO New key - Add a translation + "mydspace.upload.upload-failed-manyentries": "Unprocessable file. Detected too many entries but allowed only one for file.", + + // "mydspace.upload.upload-failed-moreonefile": "Unprocessable request. Only one file is allowed.", + // TODO New key - Add a translation + "mydspace.upload.upload-failed-moreonefile": "Unprocessable request. Only one file is allowed.", + // "mydspace.upload.upload-multiple-successful": "{{qty}} new workspace items created.", // TODO New key - Add a translation "mydspace.upload.upload-multiple-successful": "{{qty}} new workspace items created.", @@ -3354,6 +4366,10 @@ // TODO New key - Add a translation "nav.statistics.header": "Statistics", + // "nav.stop-impersonating": "Stop impersonating EPerson", + // TODO New key - Add a translation + "nav.stop-impersonating": "Stop impersonating EPerson", + // "orgunit.listelement.badge": "Organizational Unit", @@ -3376,6 +4392,10 @@ // TODO New key - Add a translation "orgunit.page.description": "Description", + // "orgunit.page.edit": "Edit this item", + // TODO New key - Add a translation + "orgunit.page.edit": "Edit this item", + // "orgunit.page.id": "ID", // TODO New key - Add a translation "orgunit.page.id": "ID", @@ -3408,10 +4428,18 @@ // TODO New key - Add a translation "person.listelement.badge": "Person", + // "person.listelement.no-title": "No name found", + // TODO New key - Add a translation + "person.listelement.no-title": "No name found", + // "person.page.birthdate": "Birth Date", // TODO New key - Add a translation "person.page.birthdate": "Birth Date", + // "person.page.edit": "Edit this item", + // TODO New key - Add a translation + "person.page.edit": "Edit this item", + // "person.page.email": "Email Address", // TODO New key - Add a translation "person.page.email": "Email Address", @@ -3454,6 +4482,183 @@ + // "process.new.select-parameters": "Parameters", + // TODO New key - Add a translation + "process.new.select-parameters": "Parameters", + + // "process.new.cancel": "Cancel", + // TODO New key - Add a translation + "process.new.cancel": "Cancel", + + // "process.new.submit": "Submit", + // TODO New key - Add a translation + "process.new.submit": "Submit", + + // "process.new.select-script": "Script", + // TODO New key - Add a translation + "process.new.select-script": "Script", + + // "process.new.select-script.placeholder": "Choose a script...", + // TODO New key - Add a translation + "process.new.select-script.placeholder": "Choose a script...", + + // "process.new.select-script.required": "Script is required", + // TODO New key - Add a translation + "process.new.select-script.required": "Script is required", + + // "process.new.parameter.file.upload-button": "Select file...", + // TODO New key - Add a translation + "process.new.parameter.file.upload-button": "Select file...", + + // "process.new.parameter.file.required": "Please select a file", + // TODO New key - Add a translation + "process.new.parameter.file.required": "Please select a file", + + // "process.new.parameter.string.required": "Parameter value is required", + // TODO New key - Add a translation + "process.new.parameter.string.required": "Parameter value is required", + + // "process.new.parameter.type.value": "value", + // TODO New key - Add a translation + "process.new.parameter.type.value": "value", + + // "process.new.parameter.type.file": "file", + // TODO New key - Add a translation + "process.new.parameter.type.file": "file", + + // "process.new.parameter.required.missing": "The following parameters are required but still missing:", + // TODO New key - Add a translation + "process.new.parameter.required.missing": "The following parameters are required but still missing:", + + // "process.new.notification.success.title": "Success", + // TODO New key - Add a translation + "process.new.notification.success.title": "Success", + + // "process.new.notification.success.content": "The process was successfully created", + // TODO New key - Add a translation + "process.new.notification.success.content": "The process was successfully created", + + // "process.new.notification.error.title": "Error", + // TODO New key - Add a translation + "process.new.notification.error.title": "Error", + + // "process.new.notification.error.content": "An error occurred while creating this process", + // TODO New key - Add a translation + "process.new.notification.error.content": "An error occurred while creating this process", + + // "process.new.header": "Create a new process", + // TODO New key - Add a translation + "process.new.header": "Create a new process", + + // "process.new.title": "Create a new process", + // TODO New key - Add a translation + "process.new.title": "Create a new process", + + // "process.new.breadcrumbs": "Create a new process", + // TODO New key - Add a translation + "process.new.breadcrumbs": "Create a new process", + + + + // "process.detail.arguments" : "Arguments", + // TODO New key - Add a translation + "process.detail.arguments" : "Arguments", + + // "process.detail.arguments.empty" : "This process doesn't contain any arguments", + // TODO New key - Add a translation + "process.detail.arguments.empty" : "This process doesn't contain any arguments", + + // "process.detail.back" : "Back", + // TODO New key - Add a translation + "process.detail.back" : "Back", + + // "process.detail.output" : "Process Output", + // TODO New key - Add a translation + "process.detail.output" : "Process Output", + + // "process.detail.logs.button": "Retrieve process output", + // TODO New key - Add a translation + "process.detail.logs.button": "Retrieve process output", + + // "process.detail.logs.loading": "Retrieving", + // TODO New key - Add a translation + "process.detail.logs.loading": "Retrieving", + + // "process.detail.logs.none": "This process has no output", + // TODO New key - Add a translation + "process.detail.logs.none": "This process has no output", + + // "process.detail.output-files" : "Output Files", + // TODO New key - Add a translation + "process.detail.output-files" : "Output Files", + + // "process.detail.output-files.empty" : "This process doesn't contain any output files", + // TODO New key - Add a translation + "process.detail.output-files.empty" : "This process doesn't contain any output files", + + // "process.detail.script" : "Script", + // TODO New key - Add a translation + "process.detail.script" : "Script", + + // "process.detail.title" : "Process: {{ id }} - {{ name }}", + // TODO New key - Add a translation + "process.detail.title" : "Process: {{ id }} - {{ name }}", + + // "process.detail.start-time" : "Start time", + // TODO New key - Add a translation + "process.detail.start-time" : "Start time", + + // "process.detail.end-time" : "Finish time", + // TODO New key - Add a translation + "process.detail.end-time" : "Finish time", + + // "process.detail.status" : "Status", + // TODO New key - Add a translation + "process.detail.status" : "Status", + + // "process.detail.create" : "Create similar process", + // TODO New key - Add a translation + "process.detail.create" : "Create similar process", + + + + // "process.overview.table.finish" : "Finish time", + // TODO New key - Add a translation + "process.overview.table.finish" : "Finish time", + + // "process.overview.table.id" : "Process ID", + // TODO New key - Add a translation + "process.overview.table.id" : "Process ID", + + // "process.overview.table.name" : "Name", + // TODO New key - Add a translation + "process.overview.table.name" : "Name", + + // "process.overview.table.start" : "Start time", + // TODO New key - Add a translation + "process.overview.table.start" : "Start time", + + // "process.overview.table.status" : "Status", + // TODO New key - Add a translation + "process.overview.table.status" : "Status", + + // "process.overview.table.user" : "User", + // TODO New key - Add a translation + "process.overview.table.user" : "User", + + // "process.overview.title": "Processes Overview", + // TODO New key - Add a translation + "process.overview.title": "Processes Overview", + + // "process.overview.breadcrumbs": "Processes Overview", + // TODO New key - Add a translation + "process.overview.breadcrumbs": "Processes Overview", + + // "process.overview.new": "New", + // TODO New key - Add a translation + "process.overview.new": "New", + + // "profile.breadcrumbs": "Update Profile", // TODO New key - Add a translation "profile.breadcrumbs": "Update Profile", @@ -3580,6 +4785,10 @@ // TODO New key - Add a translation "project.page.description": "Description", + // "project.page.edit": "Edit this item", + // TODO New key - Add a translation + "project.page.edit": "Edit this item", + // "project.page.expectedcompletion": "Expected Completion", // TODO New key - Add a translation "project.page.expectedcompletion": "Expected Completion", @@ -3618,6 +4827,10 @@ // TODO New key - Add a translation "publication.page.description": "Description", + // "publication.page.edit": "Edit this item", + // TODO New key - Add a translation + "publication.page.edit": "Edit this item", + // "publication.page.journal-issn": "Journal ISSN", // TODO New key - Add a translation "publication.page.journal-issn": "Journal ISSN", @@ -3647,11 +4860,165 @@ "publication.search.title": "DSpace Angular :: Publication Search", + // "register-email.title": "New user registration", + // TODO New key - Add a translation + "register-email.title": "New user registration", + + // "register-page.create-profile.header": "Create Profile", + // TODO New key - Add a translation + "register-page.create-profile.header": "Create Profile", + + // "register-page.create-profile.identification.header": "Identify", + // TODO New key - Add a translation + "register-page.create-profile.identification.header": "Identify", + + // "register-page.create-profile.identification.email": "Email Address", + // TODO New key - Add a translation + "register-page.create-profile.identification.email": "Email Address", + + // "register-page.create-profile.identification.first-name": "First Name *", + // TODO New key - Add a translation + "register-page.create-profile.identification.first-name": "First Name *", + + // "register-page.create-profile.identification.first-name.error": "Please fill in a First Name", + // TODO New key - Add a translation + "register-page.create-profile.identification.first-name.error": "Please fill in a First Name", + + // "register-page.create-profile.identification.last-name": "Last Name *", + // TODO New key - Add a translation + "register-page.create-profile.identification.last-name": "Last Name *", + + // "register-page.create-profile.identification.last-name.error": "Please fill in a Last Name", + // TODO New key - Add a translation + "register-page.create-profile.identification.last-name.error": "Please fill in a Last Name", + + // "register-page.create-profile.identification.contact": "Contact Telephone", + // TODO New key - Add a translation + "register-page.create-profile.identification.contact": "Contact Telephone", + + // "register-page.create-profile.identification.language": "Language", + // TODO New key - Add a translation + "register-page.create-profile.identification.language": "Language", + + // "register-page.create-profile.security.header": "Security", + // TODO New key - Add a translation + "register-page.create-profile.security.header": "Security", + + // "register-page.create-profile.security.info": "Please enter a password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", + // TODO New key - Add a translation + "register-page.create-profile.security.info": "Please enter a password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", + + // "register-page.create-profile.security.label.password": "Password *", + // TODO New key - Add a translation + "register-page.create-profile.security.label.password": "Password *", + + // "register-page.create-profile.security.label.passwordrepeat": "Retype to confirm *", + // TODO New key - Add a translation + "register-page.create-profile.security.label.passwordrepeat": "Retype to confirm *", + + // "register-page.create-profile.security.error.empty-password": "Please enter a password in the box below.", + // TODO New key - Add a translation + "register-page.create-profile.security.error.empty-password": "Please enter a password in the box below.", + + // "register-page.create-profile.security.error.matching-passwords": "The passwords do not match.", + // TODO New key - Add a translation + "register-page.create-profile.security.error.matching-passwords": "The passwords do not match.", + + // "register-page.create-profile.security.error.password-length": "The password should be at least 6 characters long.", + // TODO New key - Add a translation + "register-page.create-profile.security.error.password-length": "The password should be at least 6 characters long.", + + // "register-page.create-profile.submit": "Complete Registration", + // TODO New key - Add a translation + "register-page.create-profile.submit": "Complete Registration", + + // "register-page.create-profile.submit.error.content": "Something went wrong while registering a new user.", + // TODO New key - Add a translation + "register-page.create-profile.submit.error.content": "Something went wrong while registering a new user.", + + // "register-page.create-profile.submit.error.head": "Registration failed", + // TODO New key - Add a translation + "register-page.create-profile.submit.error.head": "Registration failed", + + // "register-page.create-profile.submit.success.content": "The registration was successful. You have been logged in as the created user.", + // TODO New key - Add a translation + "register-page.create-profile.submit.success.content": "The registration was successful. You have been logged in as the created user.", + + // "register-page.create-profile.submit.success.head": "Registration completed", + // TODO New key - Add a translation + "register-page.create-profile.submit.success.head": "Registration completed", + + + // "register-page.registration.header": "New user registration", + // TODO New key - Add a translation + "register-page.registration.header": "New user registration", + + // "register-page.registration.info": "Register an account to subscribe to collections for email updates, and submit new items to DSpace.", + // TODO New key - Add a translation + "register-page.registration.info": "Register an account to subscribe to collections for email updates, and submit new items to DSpace.", + + // "register-page.registration.email": "Email Address *", + // TODO New key - Add a translation + "register-page.registration.email": "Email Address *", + + // "register-page.registration.email.error.required": "Please fill in an email address", + // TODO New key - Add a translation + "register-page.registration.email.error.required": "Please fill in an email address", + + // "register-page.registration.email.error.pattern": "Please fill in a valid email address", + // TODO New key - Add a translation + "register-page.registration.email.error.pattern": "Please fill in a valid email address", + + // "register-page.registration.email.hint": "This address will be verified and used as your login name.", + // TODO New key - Add a translation + "register-page.registration.email.hint": "This address will be verified and used as your login name.", + + // "register-page.registration.submit": "Register", + // TODO New key - Add a translation + "register-page.registration.submit": "Register", + + // "register-page.registration.success.head": "Verification email sent", + // TODO New key - Add a translation + "register-page.registration.success.head": "Verification email sent", + + // "register-page.registration.success.content": "An email has been sent to {{ email }} containing a special URL and further instructions.", + // TODO New key - Add a translation + "register-page.registration.success.content": "An email has been sent to {{ email }} containing a special URL and further instructions.", + + // "register-page.registration.error.head": "Error when trying to register email", + // TODO New key - Add a translation + "register-page.registration.error.head": "Error when trying to register email", + + // "register-page.registration.error.content": "An error occured when registering the following email address: {{ email }}", + // TODO New key - Add a translation + "register-page.registration.error.content": "An error occured when registering the following email address: {{ email }}", + + + + // "relationships.add.error.relationship-type.content": "No suitable match could be found for relationship type {{ type }} between the two items", + // TODO New key - Add a translation + "relationships.add.error.relationship-type.content": "No suitable match could be found for relationship type {{ type }} between the two items", + + // "relationships.add.error.server.content": "The server returned an error", + // TODO New key - Add a translation + "relationships.add.error.server.content": "The server returned an error", + + // "relationships.add.error.title": "Unable to add relationship", + // TODO New key - Add a translation + "relationships.add.error.title": "Unable to add relationship", // "relationships.isAuthorOf": "Authors", // TODO New key - Add a translation "relationships.isAuthorOf": "Authors", + // "relationships.isAuthorOf.Person": "Authors (persons)", + // TODO New key - Add a translation + "relationships.isAuthorOf.Person": "Authors (persons)", + + // "relationships.isAuthorOf.OrgUnit": "Authors (organizational units)", + // TODO New key - Add a translation + "relationships.isAuthorOf.OrgUnit": "Authors (organizational units)", + // "relationships.isIssueOf": "Journal Issues", // TODO New key - Add a translation "relationships.isIssueOf": "Journal Issues", @@ -3702,6 +5069,208 @@ + // "resource-policies.add.button": "Add", + // TODO New key - Add a translation + "resource-policies.add.button": "Add", + + // "resource-policies.add.for.": "Add a new policy", + // TODO New key - Add a translation + "resource-policies.add.for.": "Add a new policy", + + // "resource-policies.add.for.bitstream": "Add a new Bitstream policy", + // TODO New key - Add a translation + "resource-policies.add.for.bitstream": "Add a new Bitstream policy", + + // "resource-policies.add.for.bundle": "Add a new Bundle policy", + // TODO New key - Add a translation + "resource-policies.add.for.bundle": "Add a new Bundle policy", + + // "resource-policies.add.for.item": "Add a new Item policy", + // TODO New key - Add a translation + "resource-policies.add.for.item": "Add a new Item policy", + + // "resource-policies.add.for.community": "Add a new Community policy", + // TODO New key - Add a translation + "resource-policies.add.for.community": "Add a new Community policy", + + // "resource-policies.add.for.collection": "Add a new Collection policy", + // TODO New key - Add a translation + "resource-policies.add.for.collection": "Add a new Collection policy", + + // "resource-policies.create.page.heading": "Create new resource policy for ", + // TODO New key - Add a translation + "resource-policies.create.page.heading": "Create new resource policy for ", + + // "resource-policies.create.page.failure.content": "An error occurred while creating the resource policy.", + // TODO New key - Add a translation + "resource-policies.create.page.failure.content": "An error occurred while creating the resource policy.", + + // "resource-policies.create.page.success.content": "Operation successful", + // TODO New key - Add a translation + "resource-policies.create.page.success.content": "Operation successful", + + // "resource-policies.create.page.title": "Create new resource policy", + // TODO New key - Add a translation + "resource-policies.create.page.title": "Create new resource policy", + + // "resource-policies.delete.btn": "Delete selected", + // TODO New key - Add a translation + "resource-policies.delete.btn": "Delete selected", + + // "resource-policies.delete.btn.title": "Delete selected resource policies", + // TODO New key - Add a translation + "resource-policies.delete.btn.title": "Delete selected resource policies", + + // "resource-policies.delete.failure.content": "An error occurred while deleting selected resource policies.", + // TODO New key - Add a translation + "resource-policies.delete.failure.content": "An error occurred while deleting selected resource policies.", + + // "resource-policies.delete.success.content": "Operation successful", + // TODO New key - Add a translation + "resource-policies.delete.success.content": "Operation successful", + + // "resource-policies.edit.page.heading": "Edit resource policy ", + // TODO New key - Add a translation + "resource-policies.edit.page.heading": "Edit resource policy ", + + // "resource-policies.edit.page.failure.content": "An error occurred while editing the resource policy.", + // TODO New key - Add a translation + "resource-policies.edit.page.failure.content": "An error occurred while editing the resource policy.", + + // "resource-policies.edit.page.success.content": "Operation successful", + // TODO New key - Add a translation + "resource-policies.edit.page.success.content": "Operation successful", + + // "resource-policies.edit.page.title": "Edit resource policy", + // TODO New key - Add a translation + "resource-policies.edit.page.title": "Edit resource policy", + + // "resource-policies.form.action-type.label": "Select the action type", + // TODO New key - Add a translation + "resource-policies.form.action-type.label": "Select the action type", + + // "resource-policies.form.action-type.required": "You must select the resource policy action.", + // TODO New key - Add a translation + "resource-policies.form.action-type.required": "You must select the resource policy action.", + + // "resource-policies.form.eperson-group-list.label": "The eperson or group that will be granted the permission", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.label": "The eperson or group that will be granted the permission", + + // "resource-policies.form.eperson-group-list.select.btn": "Select", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.select.btn": "Select", + + // "resource-policies.form.eperson-group-list.tab.eperson": "Search for a ePerson", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.tab.eperson": "Search for a ePerson", + + // "resource-policies.form.eperson-group-list.tab.group": "Search for a group", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.tab.group": "Search for a group", + + // "resource-policies.form.eperson-group-list.table.headers.action": "Action", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.table.headers.action": "Action", + + // "resource-policies.form.eperson-group-list.table.headers.id": "ID", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.table.headers.id": "ID", + + // "resource-policies.form.eperson-group-list.table.headers.name": "Name", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.table.headers.name": "Name", + + // "resource-policies.form.date.end.label": "End Date", + // TODO New key - Add a translation + "resource-policies.form.date.end.label": "End Date", + + // "resource-policies.form.date.start.label": "Start Date", + // TODO New key - Add a translation + "resource-policies.form.date.start.label": "Start Date", + + // "resource-policies.form.description.label": "Description", + // TODO New key - Add a translation + "resource-policies.form.description.label": "Description", + + // "resource-policies.form.name.label": "Name", + // TODO New key - Add a translation + "resource-policies.form.name.label": "Name", + + // "resource-policies.form.policy-type.label": "Select the policy type", + // TODO New key - Add a translation + "resource-policies.form.policy-type.label": "Select the policy type", + + // "resource-policies.form.policy-type.required": "You must select the resource policy type.", + // TODO New key - Add a translation + "resource-policies.form.policy-type.required": "You must select the resource policy type.", + + // "resource-policies.table.headers.action": "Action", + // TODO New key - Add a translation + "resource-policies.table.headers.action": "Action", + + // "resource-policies.table.headers.date.end": "End Date", + // TODO New key - Add a translation + "resource-policies.table.headers.date.end": "End Date", + + // "resource-policies.table.headers.date.start": "Start Date", + // TODO New key - Add a translation + "resource-policies.table.headers.date.start": "Start Date", + + // "resource-policies.table.headers.edit": "Edit", + // TODO New key - Add a translation + "resource-policies.table.headers.edit": "Edit", + + // "resource-policies.table.headers.edit.group": "Edit group", + // TODO New key - Add a translation + "resource-policies.table.headers.edit.group": "Edit group", + + // "resource-policies.table.headers.edit.policy": "Edit policy", + // TODO New key - Add a translation + "resource-policies.table.headers.edit.policy": "Edit policy", + + // "resource-policies.table.headers.eperson": "EPerson", + // TODO New key - Add a translation + "resource-policies.table.headers.eperson": "EPerson", + + // "resource-policies.table.headers.group": "Group", + // TODO New key - Add a translation + "resource-policies.table.headers.group": "Group", + + // "resource-policies.table.headers.id": "ID", + // TODO New key - Add a translation + "resource-policies.table.headers.id": "ID", + + // "resource-policies.table.headers.name": "Name", + // TODO New key - Add a translation + "resource-policies.table.headers.name": "Name", + + // "resource-policies.table.headers.policyType": "type", + // TODO New key - Add a translation + "resource-policies.table.headers.policyType": "type", + + // "resource-policies.table.headers.title.for.bitstream": "Policies for Bitstream", + // TODO New key - Add a translation + "resource-policies.table.headers.title.for.bitstream": "Policies for Bitstream", + + // "resource-policies.table.headers.title.for.bundle": "Policies for Bundle", + // TODO New key - Add a translation + "resource-policies.table.headers.title.for.bundle": "Policies for Bundle", + + // "resource-policies.table.headers.title.for.item": "Policies for Item", + // TODO New key - Add a translation + "resource-policies.table.headers.title.for.item": "Policies for Item", + + // "resource-policies.table.headers.title.for.community": "Policies for Community", + // TODO New key - Add a translation + "resource-policies.table.headers.title.for.community": "Policies for Community", + + // "resource-policies.table.headers.title.for.collection": "Policies for Collection", + // TODO New key - Add a translation + "resource-policies.table.headers.title.for.collection": "Policies for Collection", + + + // "search.description": "", // TODO New key - Add a translation "search.description": "", @@ -4090,6 +5659,14 @@ + // "sorting.ASC": "Ascending", + // TODO New key - Add a translation + "sorting.ASC": "Ascending", + + // "sorting.DESC": "Descending", + // TODO New key - Add a translation + "sorting.DESC": "Descending", + // "sorting.dc.title.ASC": "Title Ascending", // TODO New key - Add a translation "sorting.dc.title.ASC": "Title Ascending", @@ -4104,6 +5681,52 @@ + // "statistics.title": "Statistics", + // TODO New key - Add a translation + "statistics.title": "Statistics", + + // "statistics.header": "Statistics for {{ scope }}", + // TODO New key - Add a translation + "statistics.header": "Statistics for {{ scope }}", + + // "statistics.breadcrumbs": "Statistics", + // TODO New key - Add a translation + "statistics.breadcrumbs": "Statistics", + + // "statistics.page.no-data": "No data available", + // TODO New key - Add a translation + "statistics.page.no-data": "No data available", + + // "statistics.table.no-data": "No data available", + // TODO New key - Add a translation + "statistics.table.no-data": "No data available", + + // "statistics.table.title.TotalVisits": "Total visits", + // TODO New key - Add a translation + "statistics.table.title.TotalVisits": "Total visits", + + // "statistics.table.title.TotalVisitsPerMonth": "Total visits per month", + // TODO New key - Add a translation + "statistics.table.title.TotalVisitsPerMonth": "Total visits per month", + + // "statistics.table.title.TotalDownloads": "File Visits", + // TODO New key - Add a translation + "statistics.table.title.TotalDownloads": "File Visits", + + // "statistics.table.title.TopCountries": "Top country views", + // TODO New key - Add a translation + "statistics.table.title.TopCountries": "Top country views", + + // "statistics.table.title.TopCities": "Top city views", + // TODO New key - Add a translation + "statistics.table.title.TopCities": "Top city views", + + // "statistics.table.header.views": "Views", + // TODO New key - Add a translation + "statistics.table.header.views": "Views", + + + // "submission.edit.title": "Edit Submission", // TODO New key - Add a translation "submission.edit.title": "Edit Submission", @@ -4145,6 +5768,85 @@ "submission.general.save-later": "Save for later", + // "submission.import-external.page.title": "Import metadata from an external source", + // TODO New key - Add a translation + "submission.import-external.page.title": "Import metadata from an external source", + + // "submission.import-external.title": "Import metadata from an external source", + // TODO New key - Add a translation + "submission.import-external.title": "Import metadata from an external source", + + // "submission.import-external.page.hint": "Enter a query above to find items from the web to import in to DSpace.", + // TODO New key - Add a translation + "submission.import-external.page.hint": "Enter a query above to find items from the web to import in to DSpace.", + + // "submission.import-external.back-to-my-dspace": "Back to MyDSpace", + // TODO New key - Add a translation + "submission.import-external.back-to-my-dspace": "Back to MyDSpace", + + // "submission.import-external.search.placeholder": "Search the external source", + // TODO New key - Add a translation + "submission.import-external.search.placeholder": "Search the external source", + + // "submission.import-external.search.button": "Search", + // TODO New key - Add a translation + "submission.import-external.search.button": "Search", + + // "submission.import-external.search.button.hint": "Write some words to search", + // TODO New key - Add a translation + "submission.import-external.search.button.hint": "Write some words to search", + + // "submission.import-external.search.source.hint": "Pick an external source", + // TODO New key - Add a translation + "submission.import-external.search.source.hint": "Pick an external source", + + // "submission.import-external.source.arxiv": "arXiv", + // TODO New key - Add a translation + "submission.import-external.source.arxiv": "arXiv", + + // "submission.import-external.source.loading": "Loading ...", + // TODO New key - Add a translation + "submission.import-external.source.loading": "Loading ...", + + // "submission.import-external.source.sherpaJournal": "SHERPA Journals", + // TODO New key - Add a translation + "submission.import-external.source.sherpaJournal": "SHERPA Journals", + + // "submission.import-external.source.sherpaPublisher": "SHERPA Publishers", + // TODO New key - Add a translation + "submission.import-external.source.sherpaPublisher": "SHERPA Publishers", + + // "submission.import-external.source.orcid": "ORCID", + // TODO New key - Add a translation + "submission.import-external.source.orcid": "ORCID", + + // "submission.import-external.source.pubmed": "Pubmed", + // TODO New key - Add a translation + "submission.import-external.source.pubmed": "Pubmed", + + // "submission.import-external.source.lcname": "Library of Congress Names", + // TODO New key - Add a translation + "submission.import-external.source.lcname": "Library of Congress Names", + + // "submission.import-external.preview.title": "Item Preview", + // TODO New key - Add a translation + "submission.import-external.preview.title": "Item Preview", + + // "submission.import-external.preview.subtitle": "The metadata below was imported from an external source. It will be pre-filled when you start the submission.", + // TODO New key - Add a translation + "submission.import-external.preview.subtitle": "The metadata below was imported from an external source. It will be pre-filled when you start the submission.", + + // "submission.import-external.preview.button.import": "Start submission", + // TODO New key - Add a translation + "submission.import-external.preview.button.import": "Start submission", + + // "submission.import-external.preview.error.import.title": "Submission error", + // TODO New key - Add a translation + "submission.import-external.preview.error.import.title": "Submission error", + + // "submission.import-external.preview.error.import.body": "An error occurs during the external source entry import process.", + // TODO New key - Add a translation + "submission.import-external.preview.error.import.body": "An error occurs during the external source entry import process.", // "submission.sections.describe.relationship-lookup.close": "Close", // TODO New key - Add a translation @@ -4154,9 +5856,9 @@ // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.external-source.added": "Successfully added local entry to the selection", - // "submission.sections.describe.relationship-lookup.external-source.import-button-title.Author": "Import remote author", + // "submission.sections.describe.relationship-lookup.external-source.import-button-title.isAuthorOfPublication": "Import remote author", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-button-title.Author": "Import remote author", + "submission.sections.describe.relationship-lookup.external-source.import-button-title.isAuthorOfPublication": "Import remote author", // "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal": "Import remote journal", // TODO New key - Add a translation @@ -4170,17 +5872,17 @@ // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal Volume": "Import remote journal volume", - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.title": "Import Remote Author", + // "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.title": "Import Remote Author", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.title": "Import Remote Author", + "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.title": "Import Remote Author", - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.added.local-entity": "Successfully added local author to the selection", + // "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.added.local-entity": "Successfully added local author to the selection", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.added.local-entity": "Successfully added local author to the selection", + "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.added.local-entity": "Successfully added local author to the selection", - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.added.new-entity": "Successfully imported and added external author to the selection", + // "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.added.new-entity": "Successfully imported and added external author to the selection", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.added.new-entity": "Successfully imported and added external author to the selection", + "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.added.new-entity": "Successfully imported and added external author to the selection", // "submission.sections.describe.relationship-lookup.external-source.import-modal.authority": "Authority", // TODO New key - Add a translation @@ -4222,6 +5924,14 @@ // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.external-source.import-modal.head.sherpaPublisher": "Importing from Sherpa Publisher", + // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.pubmed": "Importing from PubMed", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.head.pubmed": "Importing from PubMed", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.arxiv": "Importing from arXiv", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.head.arxiv": "Importing from arXiv", + // "submission.sections.describe.relationship-lookup.external-source.import-modal.import": "Import", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.external-source.import-modal.import": "Import", @@ -4298,21 +6008,54 @@ // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.selected": "Selected {{ size }} items", - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Author": "Local Authors ({{ count }})", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isAuthorOfPublication": "Local Authors ({{ count }})", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Author": "Local Authors ({{ count }})", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isAuthorOfPublication": "Local Authors ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalOfPublication": "Local Journals ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalOfPublication": "Local Journals ({{ count }})", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Project": "Local Projects ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.Project": "Local Projects ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Publication": "Local Publications ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.Publication": "Local Publications ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Person": "Local Authors ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.Person": "Local Authors ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.OrgUnit": "Local Organizational Units ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.OrgUnit": "Local Organizational Units ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.DataPackage": "Local Data Packages ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.DataPackage": "Local Data Packages ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.DataFile": "Local Data Files ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.DataFile": "Local Data Files ({{ count }})", // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal": "Local Journals ({{ count }})", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal": "Local Journals ({{ count }})", - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal Issue": "Local Journal Issues ({{ count }})", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalIssueOfPublication": "Local Journal Issues ({{ count }})", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal Issue": "Local Journal Issues ({{ count }})", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalIssueOfPublication": "Local Journal Issues ({{ count }})", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.JournalIssue": "Local Journal Issues ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.JournalIssue": "Local Journal Issues ({{ count }})", - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal Volume": "Local Journal Volumes ({{ count }})", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalVolumeOfPublication": "Local Journal Volumes ({{ count }})", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal Volume": "Local Journal Volumes ({{ count }})", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalVolumeOfPublication": "Local Journal Volumes ({{ count }})", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.JournalVolume": "Local Journal Volumes ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.JournalVolume": "Local Journal Volumes ({{ count }})", // "submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaJournal": "Sherpa Journals ({{ count }})", // TODO New key - Add a translation @@ -4330,41 +6073,90 @@ // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.search-tab.tab-title.lcname": "LC Names ({{ count }})", - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Funding Agency": "Search for Funding Agencies", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.pubmed": "PubMed ({{ count }})", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Funding Agency": "Search for Funding Agencies", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.pubmed": "PubMed ({{ count }})", - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Funding": "Search for Funding", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.arxiv": "arXiv ({{ count }})", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Funding": "Search for Funding", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.arxiv": "arXiv ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingAgencyOfPublication": "Search for Funding Agencies", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingAgencyOfPublication": "Search for Funding Agencies", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingOfPublication": "Search for Funding", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingOfPublication": "Search for Funding", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isChildOrgUnitOf": "Search for Organizational Units", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isChildOrgUnitOf": "Search for Organizational Units", // "submission.sections.describe.relationship-lookup.selection-tab.tab-title": "Current Selection ({{ count }})", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.selection-tab.tab-title": "Current Selection ({{ count }})", - // "submission.sections.describe.relationship-lookup.title.Journal Issue": "Journal Issues", + // "submission.sections.describe.relationship-lookup.title.isJournalIssueOfPublication": "Journal Issues", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.title.Journal Issue": "Journal Issues", + "submission.sections.describe.relationship-lookup.title.isJournalIssueOfPublication": "Journal Issues", + // "submission.sections.describe.relationship-lookup.title.JournalIssue": "Journal Issues", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.JournalIssue": "Journal Issues", - // "submission.sections.describe.relationship-lookup.title.Journal Volume": "Journal Volumes", + // "submission.sections.describe.relationship-lookup.title.isJournalVolumeOfPublication": "Journal Volumes", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.title.Journal Volume": "Journal Volumes", + "submission.sections.describe.relationship-lookup.title.isJournalVolumeOfPublication": "Journal Volumes", + // "submission.sections.describe.relationship-lookup.title.JournalVolume": "Journal Volumes", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.JournalVolume": "Journal Volumes", - // "submission.sections.describe.relationship-lookup.title.Journal": "Journals", + // "submission.sections.describe.relationship-lookup.title.isJournalOfPublication": "Journals", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.title.Journal": "Journals", + "submission.sections.describe.relationship-lookup.title.isJournalOfPublication": "Journals", - // "submission.sections.describe.relationship-lookup.title.Author": "Authors", + // "submission.sections.describe.relationship-lookup.title.isAuthorOfPublication": "Authors", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.title.Author": "Authors", + "submission.sections.describe.relationship-lookup.title.isAuthorOfPublication": "Authors", + + // "submission.sections.describe.relationship-lookup.title.isFundingAgencyOfPublication": "Funding Agency", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.isFundingAgencyOfPublication": "Funding Agency", + // "submission.sections.describe.relationship-lookup.title.Project": "Projects", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.Project": "Projects", + + // "submission.sections.describe.relationship-lookup.title.Publication": "Publications", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.Publication": "Publications", + + // "submission.sections.describe.relationship-lookup.title.Person": "Authors", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.Person": "Authors", + + // "submission.sections.describe.relationship-lookup.title.OrgUnit": "Organizational Units", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.OrgUnit": "Organizational Units", + + // "submission.sections.describe.relationship-lookup.title.DataPackage": "Data Packages", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.DataPackage": "Data Packages", + + // "submission.sections.describe.relationship-lookup.title.DataFile": "Data Files", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.DataFile": "Data Files", // "submission.sections.describe.relationship-lookup.title.Funding Agency": "Funding Agency", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.title.Funding Agency": "Funding Agency", - // "submission.sections.describe.relationship-lookup.title.Funding": "Funding", + // "submission.sections.describe.relationship-lookup.title.isFundingOfPublication": "Funding", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.title.Funding": "Funding", + "submission.sections.describe.relationship-lookup.title.isFundingOfPublication": "Funding", + + // "submission.sections.describe.relationship-lookup.title.isChildOrgUnitOf": "Parent Organizational Unit", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.isChildOrgUnitOf": "Parent Organizational Unit", // "submission.sections.describe.relationship-lookup.search-tab.toggle-dropdown": "Toggle dropdown", // TODO New key - Add a translation @@ -4378,21 +6170,66 @@ // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.selection-tab.no-selection": "Your selection is currently empty.", - // "submission.sections.describe.relationship-lookup.selection-tab.title.Author": "Selected Authors", + // "submission.sections.describe.relationship-lookup.selection-tab.title.isAuthorOfPublication": "Selected Authors", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.selection-tab.title.Author": "Selected Authors", + "submission.sections.describe.relationship-lookup.selection-tab.title.isAuthorOfPublication": "Selected Authors", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalOfPublication": "Selected Journals", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalOfPublication": "Selected Journals", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalVolumeOfPublication": "Selected Journal Volume", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalVolumeOfPublication": "Selected Journal Volume", + // "submission.sections.describe.relationship-lookup.selection-tab.title.Project": "Selected Projects", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.Project": "Selected Projects", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.Publication": "Selected Publications", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.Publication": "Selected Publications", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.Person": "Selected Authors", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.Person": "Selected Authors", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.OrgUnit": "Selected Organizational Units", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.OrgUnit": "Selected Organizational Units", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.DataPackage": "Selected Data Packages", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.DataPackage": "Selected Data Packages", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.DataFile": "Selected Data Files", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.DataFile": "Selected Data Files", // "submission.sections.describe.relationship-lookup.selection-tab.title.Journal": "Selected Journals", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.selection-tab.title.Journal": "Selected Journals", - // "submission.sections.describe.relationship-lookup.selection-tab.title.Journal Volume": "Selected Journal Volume", + // "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalIssueOfPublication": "Selected Issue", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.selection-tab.title.Journal Volume": "Selected Journal Volume", + "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalIssueOfPublication": "Selected Issue", + // "submission.sections.describe.relationship-lookup.selection-tab.title.JournalVolume": "Selected Journal Volume", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.JournalVolume": "Selected Journal Volume", - // "submission.sections.describe.relationship-lookup.selection-tab.title.Journal Issue": "Selected Issue", + // "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingAgencyOfPublication": "Selected Funding Agency", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.selection-tab.title.Journal Issue": "Selected Issue", + "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingAgencyOfPublication": "Selected Funding Agency", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingOfPublication": "Selected Funding", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingOfPublication": "Selected Funding", + // "submission.sections.describe.relationship-lookup.selection-tab.title.JournalIssue": "Selected Issue", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.JournalIssue": "Selected Issue", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isChildOrgUnitOf": "Selected Organizational Unit", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.isChildOrgUnitOf": "Selected Organizational Unit", // "submission.sections.describe.relationship-lookup.selection-tab.title.sherpaJournal": "Search Results", // TODO New key - Add a translation @@ -4406,10 +6243,22 @@ // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.selection-tab.title.orcid": "Search Results", + // "submission.sections.describe.relationship-lookup.selection-tab.title.orcidv2": "Search Results", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.orcidv2": "Search Results", + // "submission.sections.describe.relationship-lookup.selection-tab.title.lcname": "Search Results", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.selection-tab.title.lcname": "Search Results", + // "submission.sections.describe.relationship-lookup.selection-tab.title.pubmed": "Search Results", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.pubmed": "Search Results", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.arxiv": "Search Results", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.arxiv": "Search Results", + // "submission.sections.describe.relationship-lookup.name-variant.notification.content": "Would you like to save \"{{ value }}\" as a name variant for this person so you and others can reuse it for future submissions? If you don\'t you can still use it for this submission.", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.name-variant.notification.content": "Would you like to save \"{{ value }}\" as a name variant for this person so you and others can reuse it for future submissions? If you don\'t you can still use it for this submission.", @@ -4422,6 +6271,34 @@ // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.name-variant.notification.decline": "Use only for this submission", + // "submission.sections.ccLicense.type": "License Type", + // TODO New key - Add a translation + "submission.sections.ccLicense.type": "License Type", + + // "submission.sections.ccLicense.select": "Select a license type…", + // TODO New key - Add a translation + "submission.sections.ccLicense.select": "Select a license type…", + + // "submission.sections.ccLicense.change": "Change your license type…", + // TODO New key - Add a translation + "submission.sections.ccLicense.change": "Change your license type…", + + // "submission.sections.ccLicense.none": "No licenses available", + // TODO New key - Add a translation + "submission.sections.ccLicense.none": "No licenses available", + + // "submission.sections.ccLicense.option.select": "Select an option…", + // TODO New key - Add a translation + "submission.sections.ccLicense.option.select": "Select an option…", + + // "submission.sections.ccLicense.link": "You’ve selected the following license:", + // TODO New key - Add a translation + "submission.sections.ccLicense.link": "You’ve selected the following license:", + + // "submission.sections.ccLicense.confirmation": "I grant the license above", + // TODO New key - Add a translation + "submission.sections.ccLicense.confirmation": "I grant the license above", + // "submission.sections.general.add-more": "Add more", // TODO New key - Add a translation "submission.sections.general.add-more": "Add more", @@ -4480,9 +6357,9 @@ - // "submission.sections.submit.progressbar.cclicense": "Creative commons license", + // "submission.sections.submit.progressbar.CClicense": "Creative commons license", // TODO New key - Add a translation - "submission.sections.submit.progressbar.cclicense": "Creative commons license", + "submission.sections.submit.progressbar.CClicense": "Creative commons license", // "submission.sections.submit.progressbar.describe.recycle": "Recycle", // TODO New key - Add a translation @@ -4546,9 +6423,9 @@ // TODO New key - Add a translation "submission.sections.upload.form.date-required": "Date is required.", - // "submission.sections.upload.form.from-label": "Access grant from", + // "submission.sections.upload.form.from-label": "Grant access from", // TODO New key - Add a translation - "submission.sections.upload.form.from-label": "Access grant from", + "submission.sections.upload.form.from-label": "Grant access from", // "submission.sections.upload.form.from-placeholder": "From", // TODO New key - Add a translation @@ -4562,9 +6439,9 @@ // TODO New key - Add a translation "submission.sections.upload.form.group-required": "Group is required.", - // "submission.sections.upload.form.until-label": "Access grant until", + // "submission.sections.upload.form.until-label": "Grant access until", // TODO New key - Add a translation - "submission.sections.upload.form.until-label": "Access grant until", + "submission.sections.upload.form.until-label": "Grant access until", // "submission.sections.upload.form.until-placeholder": "Until", // TODO New key - Add a translation @@ -4731,13 +6608,34 @@ "title": "DSpace", - // "administrativeView.search.results.head": "Administrative Search", - // TODO New key - Add a translation - "administrativeView.search.results.head": "Administrative Search", - // "menu.section.admin_search": "Admin Search", + // "vocabulary-treeview.header": "Hierarchical tree view", // TODO New key - Add a translation - "menu.section.admin_search": "Admin Search", + "vocabulary-treeview.header": "Hierarchical tree view", + + // "vocabulary-treeview.load-more": "Load more", + // TODO New key - Add a translation + "vocabulary-treeview.load-more": "Load more", + + // "vocabulary-treeview.search.form.reset": "Reset", + // TODO New key - Add a translation + "vocabulary-treeview.search.form.reset": "Reset", + + // "vocabulary-treeview.search.form.search": "Search", + // TODO New key - Add a translation + "vocabulary-treeview.search.form.search": "Search", + + // "vocabulary-treeview.search.no-result": "There were no items to show", + // TODO New key - Add a translation + "vocabulary-treeview.search.no-result": "There were no items to show", + + // "vocabulary-treeview.tree.description.nsi": "The Norwegian Science Index", + // TODO New key - Add a translation + "vocabulary-treeview.tree.description.nsi": "The Norwegian Science Index", + + // "vocabulary-treeview.tree.description.srsc": "Research Subject Categories", + // TODO New key - Add a translation + "vocabulary-treeview.tree.description.srsc": "Research Subject Categories", @@ -4749,9 +6647,9 @@ // TODO New key - Add a translation "uploader.drag-message": "Drag & Drop your files here", - // "uploader.or": ", or", + // "uploader.or": ", or ", // TODO New key - Add a translation - "uploader.or": ", or", + "uploader.or": ", or ", // "uploader.processing": "Processing", // TODO New key - Add a translation @@ -4774,5 +6672,77 @@ "virtual-metadata.delete-relationship.modal-head": "Select the items for which you want to save the virtual metadata as real metadata", + + // "workflowAdmin.search.results.head": "Administer Workflow", + // TODO New key - Add a translation + "workflowAdmin.search.results.head": "Administer Workflow", + + + + // "workflow-item.delete.notification.success.title": "Deleted", + // TODO New key - Add a translation + "workflow-item.delete.notification.success.title": "Deleted", + + // "workflow-item.delete.notification.success.content": "This workflow item was successfully deleted", + // TODO New key - Add a translation + "workflow-item.delete.notification.success.content": "This workflow item was successfully deleted", + + // "workflow-item.delete.notification.error.title": "Something went wrong", + // TODO New key - Add a translation + "workflow-item.delete.notification.error.title": "Something went wrong", + + // "workflow-item.delete.notification.error.content": "The workflow item could not be deleted", + // TODO New key - Add a translation + "workflow-item.delete.notification.error.content": "The workflow item could not be deleted", + + // "workflow-item.delete.title": "Delete workflow item", + // TODO New key - Add a translation + "workflow-item.delete.title": "Delete workflow item", + + // "workflow-item.delete.header": "Delete workflow item", + // TODO New key - Add a translation + "workflow-item.delete.header": "Delete workflow item", + + // "workflow-item.delete.button.cancel": "Cancel", + // TODO New key - Add a translation + "workflow-item.delete.button.cancel": "Cancel", + + // "workflow-item.delete.button.confirm": "Delete", + // TODO New key - Add a translation + "workflow-item.delete.button.confirm": "Delete", + + + // "workflow-item.send-back.notification.success.title": "Sent back to submitter", + // TODO New key - Add a translation + "workflow-item.send-back.notification.success.title": "Sent back to submitter", + + // "workflow-item.send-back.notification.success.content": "This workflow item was successfully sent back to the submitter", + // TODO New key - Add a translation + "workflow-item.send-back.notification.success.content": "This workflow item was successfully sent back to the submitter", + + // "workflow-item.send-back.notification.error.title": "Something went wrong", + // TODO New key - Add a translation + "workflow-item.send-back.notification.error.title": "Something went wrong", + + // "workflow-item.send-back.notification.error.content": "The workflow item could not be sent back to the submitter", + // TODO New key - Add a translation + "workflow-item.send-back.notification.error.content": "The workflow item could not be sent back to the submitter", + + // "workflow-item.send-back.title": "Send workflow item back to submitter", + // TODO New key - Add a translation + "workflow-item.send-back.title": "Send workflow item back to submitter", + + // "workflow-item.send-back.header": "Send workflow item back to submitter", + // TODO New key - Add a translation + "workflow-item.send-back.header": "Send workflow item back to submitter", + + // "workflow-item.send-back.button.cancel": "Cancel", + // TODO New key - Add a translation + "workflow-item.send-back.button.cancel": "Cancel", + + // "workflow-item.send-back.button.confirm": "Send back" + // TODO New key - Add a translation + "workflow-item.send-back.button.confirm": "Send back" + } \ No newline at end of file diff --git a/src/assets/i18n/tr.json5 b/src/assets/i18n/tr.json5 index a2a7042d33..c4ea2a0d9e 100644 --- a/src/assets/i18n/tr.json5 +++ b/src/assets/i18n/tr.json5 @@ -1,5 +1,33 @@ { + // "401.help": "You're not authorized to access this page. You can use the button below to get back to the home page.", + // TODO New key - Add a translation + "401.help": "You're not authorized to access this page. You can use the button below to get back to the home page.", + + // "401.link.home-page": "Take me to the home page", + // TODO New key - Add a translation + "401.link.home-page": "Take me to the home page", + + // "401.unauthorized": "unauthorized", + // TODO New key - Add a translation + "401.unauthorized": "unauthorized", + + + + // "403.help": "You don't have permission to access this page. You can use the button below to get back to the home page.", + // TODO New key - Add a translation + "403.help": "You don't have permission to access this page. You can use the button below to get back to the home page.", + + // "403.link.home-page": "Take me to the home page", + // TODO New key - Add a translation + "403.link.home-page": "Take me to the home page", + + // "403.forbidden": "forbidden", + // TODO New key - Add a translation + "403.forbidden": "forbidden", + + + // "404.help": "We can't find the page you're looking for. The page may have been moved or deleted. You can use the button below to get back to the home page. ", // TODO New key - Add a translation "404.help": "We can't find the page you're looking for. The page may have been moved or deleted. You can use the button below to get back to the home page. ", @@ -12,7 +40,25 @@ // TODO New key - Add a translation "404.page-not-found": "page not found", + // "admin.curation-tasks.breadcrumbs": "System curation tasks", + // TODO New key - Add a translation + "admin.curation-tasks.breadcrumbs": "System curation tasks", + // "admin.curation-tasks.title": "System curation tasks", + // TODO New key - Add a translation + "admin.curation-tasks.title": "System curation tasks", + + // "admin.curation-tasks.header": "System curation tasks", + // TODO New key - Add a translation + "admin.curation-tasks.header": "System curation tasks", + + // "admin.registries.bitstream-formats.breadcrumbs": "Format registry", + // TODO New key - Add a translation + "admin.registries.bitstream-formats.breadcrumbs": "Format registry", + + // "admin.registries.bitstream-formats.create.breadcrumbs": "Bitstream format", + // TODO New key - Add a translation + "admin.registries.bitstream-formats.create.breadcrumbs": "Bitstream format", // "admin.registries.bitstream-formats.create.failure.content": "An error occurred while creating the new bitstream format.", // TODO New key - Add a translation @@ -58,6 +104,10 @@ // TODO New key - Add a translation "admin.registries.bitstream-formats.description": "This list of bitstream formats provides information about known formats and their support level.", + // "admin.registries.bitstream-formats.edit.breadcrumbs": "Bitstream format", + // TODO New key - Add a translation + "admin.registries.bitstream-formats.edit.breadcrumbs": "Bitstream format", + // "admin.registries.bitstream-formats.edit.description.hint": "", // TODO New key - Add a translation "admin.registries.bitstream-formats.edit.description.hint": "", @@ -184,6 +234,10 @@ + // "admin.registries.metadata.breadcrumbs": "Metadata registry", + // TODO New key - Add a translation + "admin.registries.metadata.breadcrumbs": "Metadata registry", + // "admin.registries.metadata.description": "The metadata registry maintains a list of all metadata fields available in the repository. These fields may be divided amongst multiple schemas. However, DSpace requires the qualified Dublin Core schema.", // TODO New key - Add a translation "admin.registries.metadata.description": "The metadata registry maintains a list of all metadata fields available in the repository. These fields may be divided amongst multiple schemas. However, DSpace requires the qualified Dublin Core schema.", @@ -234,6 +288,10 @@ + // "admin.registries.schema.breadcrumbs": "Metadata schema", + // TODO New key - Add a translation + "admin.registries.schema.breadcrumbs": "Metadata schema", + // "admin.registries.schema.description": "This is the metadata schema for \"{{namespace}}\".", // TODO New key - Add a translation "admin.registries.schema.description": "This is the metadata schema for \"{{namespace}}\".", @@ -332,6 +390,22 @@ + // "admin.access-control.epeople.actions.delete": "Delete EPerson", + // TODO New key - Add a translation + "admin.access-control.epeople.actions.delete": "Delete EPerson", + + // "admin.access-control.epeople.actions.impersonate": "Impersonate EPerson", + // TODO New key - Add a translation + "admin.access-control.epeople.actions.impersonate": "Impersonate EPerson", + + // "admin.access-control.epeople.actions.reset": "Reset password", + // TODO New key - Add a translation + "admin.access-control.epeople.actions.reset": "Reset password", + + // "admin.access-control.epeople.actions.stop-impersonating": "Stop impersonating EPerson", + // TODO New key - Add a translation + "admin.access-control.epeople.actions.stop-impersonating": "Stop impersonating EPerson", + // "admin.access-control.epeople.title": "DSpace Angular :: EPeople", // TODO New key - Add a translation "admin.access-control.epeople.title": "DSpace Angular :: EPeople", @@ -448,6 +522,14 @@ // TODO New key - Add a translation "admin.access-control.epeople.form.notification.edited.failure": "Failed to edit EPerson \"{{name}}\"", + // "admin.access-control.epeople.form.notification.deleted.success": "Successfully deleted EPerson \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.epeople.form.notification.deleted.success": "Successfully deleted EPerson \"{{name}}\"", + + // "admin.access-control.epeople.form.notification.deleted.failure": "Failed to delete EPerson \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.epeople.form.notification.deleted.failure": "Failed to delete EPerson \"{{name}}\"", + // "admin.access-control.epeople.form.groupsEPersonIsMemberOf": "Member of these groups:", // TODO New key - Add a translation "admin.access-control.epeople.form.groupsEPersonIsMemberOf": "Member of these groups:", @@ -482,6 +564,14 @@ // TODO New key - Add a translation "admin.access-control.groups.title": "DSpace Angular :: Groups", + // "admin.access-control.groups.title.singleGroup": "DSpace Angular :: Edit Group", + // TODO New key - Add a translation + "admin.access-control.groups.title.singleGroup": "DSpace Angular :: Edit Group", + + // "admin.access-control.groups.title.addGroup": "DSpace Angular :: New Group", + // TODO New key - Add a translation + "admin.access-control.groups.title.addGroup": "DSpace Angular :: New Group", + // "admin.access-control.groups.head": "Groups", // TODO New key - Add a translation "admin.access-control.groups.head": "Groups", @@ -514,10 +604,6 @@ // TODO New key - Add a translation "admin.access-control.groups.table.members": "Members", - // "admin.access-control.groups.table.comcol": "Community / Collection", - // TODO New key - Add a translation - "admin.access-control.groups.table.comcol": "Community / Collection", - // "admin.access-control.groups.table.edit": "Edit", // TODO New key - Add a translation "admin.access-control.groups.table.edit": "Edit", @@ -538,10 +624,23 @@ // TODO New key - Add a translation "admin.access-control.groups.notification.deleted.success": "Successfully deleted group \"{{name}}\"", - // "admin.access-control.groups.notification.deleted.failure": "Failed to delete group \"{{name}}\"", + // "admin.access-control.groups.notification.deleted.failure.title": "Failed to delete group \"{{name}}\"", // TODO New key - Add a translation - "admin.access-control.groups.notification.deleted.failure": "Failed to delete group \"{{name}}\"", + "admin.access-control.groups.notification.deleted.failure.title": "Failed to delete group \"{{name}}\"", + // "admin.access-control.groups.notification.deleted.failure.content": "Cause: \"{{cause}}\"", + // TODO New key - Add a translation + "admin.access-control.groups.notification.deleted.failure.content": "Cause: \"{{cause}}\"", + + + + // "admin.access-control.groups.form.alert.permanent": "This group is permanent, so it can't be edited or deleted. You can still add and remove group members using this page.", + // TODO New key - Add a translation + "admin.access-control.groups.form.alert.permanent": "This group is permanent, so it can't be edited or deleted. You can still add and remove group members using this page.", + + // "admin.access-control.groups.form.alert.workflowGroup": "This group can’t be modified or deleted because it corresponds to a role in the submission and workflow process in the \"{{name}}\" {{comcol}}. You can delete it from the \"assign roles\" tab on the edit {{comcol}} page. You can still add and remove group members using this page.", + // TODO New key - Add a translation + "admin.access-control.groups.form.alert.workflowGroup": "This group can’t be modified or deleted because it corresponds to a role in the submission and workflow process in the \"{{name}}\" {{comcol}}. You can delete it from the \"assign roles\" tab on the edit {{comcol}} page. You can still add and remove group members using this page.", // "admin.access-control.groups.form.head.create": "Create group", // TODO New key - Add a translation @@ -571,6 +670,50 @@ // TODO New key - Add a translation "admin.access-control.groups.form.notification.created.failure.groupNameInUse": "Failed to create Group with name: \"{{name}}\", make sure the name is not already in use.", + // "admin.access-control.groups.form.notification.edited.failure": "Failed to edit Group \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.edited.failure": "Failed to edit Group \"{{name}}\"", + + // "admin.access-control.groups.form.notification.edited.failure.groupNameInUse": "Name \"{{name}}\" already in use!", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.edited.failure.groupNameInUse": "Name \"{{name}}\" already in use!", + + // "admin.access-control.groups.form.notification.edited.success": "Successfully edited Group \"{{name}}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.edited.success": "Successfully edited Group \"{{name}}\"", + + // "admin.access-control.groups.form.actions.delete": "Delete Group", + // TODO New key - Add a translation + "admin.access-control.groups.form.actions.delete": "Delete Group", + + // "admin.access-control.groups.form.delete-group.modal.header": "Delete Group \"{{ dsoName }}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.delete-group.modal.header": "Delete Group \"{{ dsoName }}\"", + + // "admin.access-control.groups.form.delete-group.modal.info": "Are you sure you want to delete Group \"{{ dsoName }}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.delete-group.modal.info": "Are you sure you want to delete Group \"{{ dsoName }}\"", + + // "admin.access-control.groups.form.delete-group.modal.cancel": "Cancel", + // TODO New key - Add a translation + "admin.access-control.groups.form.delete-group.modal.cancel": "Cancel", + + // "admin.access-control.groups.form.delete-group.modal.confirm": "Delete", + // TODO New key - Add a translation + "admin.access-control.groups.form.delete-group.modal.confirm": "Delete", + + // "admin.access-control.groups.form.notification.deleted.success": "Successfully deleted group \"{{ name }}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.deleted.success": "Successfully deleted group \"{{ name }}\"", + + // "admin.access-control.groups.form.notification.deleted.failure.title": "Failed to delete group \"{{ name }}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.deleted.failure.title": "Failed to delete group \"{{ name }}\"", + + // "admin.access-control.groups.form.notification.deleted.failure.content": "Cause: \"{{ cause }}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.notification.deleted.failure.content": "Cause: \"{{ cause }}\"", + // "admin.access-control.groups.form.members-list.head": "EPeople", // TODO New key - Add a translation "admin.access-control.groups.form.members-list.head": "EPeople", @@ -647,6 +790,10 @@ // TODO New key - Add a translation "admin.access-control.groups.form.members-list.no-items": "No EPeople found in that search", + // "admin.access-control.groups.form.subgroups-list.notification.failure": "Something went wrong: \"{{cause}}\"", + // TODO New key - Add a translation + "admin.access-control.groups.form.subgroups-list.notification.failure": "Something went wrong: \"{{cause}}\"", + // "admin.access-control.groups.form.subgroups-list.head": "Groups", // TODO New key - Add a translation "admin.access-control.groups.form.subgroups-list.head": "Groups", @@ -761,10 +908,6 @@ // TODO New key - Add a translation "admin.search.item.move": "Move", - // "admin.search.item.private": "Private", - // TODO New key - Add a translation - "admin.search.item.private": "Private", - // "admin.search.item.reinstate": "Reinstate", // TODO New key - Add a translation "admin.search.item.reinstate": "Reinstate", @@ -773,14 +916,76 @@ // TODO New key - Add a translation "admin.search.item.withdraw": "Withdraw", - // "admin.search.item.withdrawn": "Withdrawn", - // TODO New key - Add a translation - "admin.search.item.withdrawn": "Withdrawn", - // "admin.search.title": "Administrative Search", // TODO New key - Add a translation "admin.search.title": "Administrative Search", + // "administrativeView.search.results.head": "Administrative Search", + // TODO New key - Add a translation + "administrativeView.search.results.head": "Administrative Search", + + + + + // "admin.workflow.breadcrumbs": "Administer Workflow", + // TODO New key - Add a translation + "admin.workflow.breadcrumbs": "Administer Workflow", + + // "admin.workflow.title": "Administer Workflow", + // TODO New key - Add a translation + "admin.workflow.title": "Administer Workflow", + + // "admin.workflow.item.workflow": "Workflow", + // TODO New key - Add a translation + "admin.workflow.item.workflow": "Workflow", + + // "admin.workflow.item.delete": "Delete", + // TODO New key - Add a translation + "admin.workflow.item.delete": "Delete", + + // "admin.workflow.item.send-back": "Send back", + // TODO New key - Add a translation + "admin.workflow.item.send-back": "Send back", + + + + // "admin.metadata-import.breadcrumbs": "Import Metadata", + // TODO New key - Add a translation + "admin.metadata-import.breadcrumbs": "Import Metadata", + + // "admin.metadata-import.title": "Import Metadata", + // TODO New key - Add a translation + "admin.metadata-import.title": "Import Metadata", + + // "admin.metadata-import.page.header": "Import Metadata", + // TODO New key - Add a translation + "admin.metadata-import.page.header": "Import Metadata", + + // "admin.metadata-import.page.help": "You can drop or browse CSV files that contain batch metadata operations on files here", + // TODO New key - Add a translation + "admin.metadata-import.page.help": "You can drop or browse CSV files that contain batch metadata operations on files here", + + // "admin.metadata-import.page.dropMsg": "Drop a metadata CSV to import", + // TODO New key - Add a translation + "admin.metadata-import.page.dropMsg": "Drop a metadata CSV to import", + + // "admin.metadata-import.page.dropMsgReplace": "Drop to replace the metadata CSV to import", + // TODO New key - Add a translation + "admin.metadata-import.page.dropMsgReplace": "Drop to replace the metadata CSV to import", + + // "admin.metadata-import.page.button.return": "Return", + // TODO New key - Add a translation + "admin.metadata-import.page.button.return": "Return", + + // "admin.metadata-import.page.button.proceed": "Proceed", + // TODO New key - Add a translation + "admin.metadata-import.page.button.proceed": "Proceed", + + // "admin.metadata-import.page.error.addFile": "Select file first!", + // TODO New key - Add a translation + "admin.metadata-import.page.error.addFile": "Select file first!", + + // "auth.errors.invalid-user": "Invalid email address or password.", @@ -1018,6 +1223,10 @@ // TODO New key - Add a translation "collection.create.sub-head": "Create a Collection for Community {{ parent }}", + // "collection.curate.header": "Curate Collection: {{collection}}", + // TODO New key - Add a translation + "collection.curate.header": "Curate Collection: {{collection}}", + // "collection.delete.cancel": "Cancel", // TODO New key - Add a translation "collection.delete.cancel": "Cancel", @@ -1058,6 +1267,14 @@ + // "collection.edit.tabs.mapper.head": "Item Mapper", + // TODO New key - Add a translation + "collection.edit.tabs.mapper.head": "Item Mapper", + + // "collection.edit.tabs.item-mapper.title": "Collection Edit - Item Mapper", + // TODO New key - Add a translation + "collection.edit.tabs.item-mapper.title": "Collection Edit - Item Mapper", + // "collection.edit.item-mapper.cancel": "Cancel", // TODO New key - Add a translation "collection.edit.item-mapper.cancel": "Cancel", @@ -1176,6 +1393,14 @@ // TODO New key - Add a translation "collection.edit.tabs.curate.title": "Collection Edit - Curate", + // "collection.edit.tabs.authorizations.head": "Authorizations", + // TODO New key - Add a translation + "collection.edit.tabs.authorizations.head": "Authorizations", + + // "collection.edit.tabs.authorizations.title": "Collection Edit - Authorizations", + // TODO New key - Add a translation + "collection.edit.tabs.authorizations.title": "Collection Edit - Authorizations", + // "collection.edit.tabs.metadata.head": "Edit Metadata", // TODO New key - Add a translation "collection.edit.tabs.metadata.head": "Edit Metadata", @@ -1266,6 +1491,48 @@ + // "collection.edit.template.add-button": "Add", + // TODO New key - Add a translation + "collection.edit.template.add-button": "Add", + + // "collection.edit.template.breadcrumbs": "Item template", + // TODO New key - Add a translation + "collection.edit.template.breadcrumbs": "Item template", + + // "collection.edit.template.cancel": "Cancel", + // TODO New key - Add a translation + "collection.edit.template.cancel": "Cancel", + + // "collection.edit.template.delete-button": "Delete", + // TODO New key - Add a translation + "collection.edit.template.delete-button": "Delete", + + // "collection.edit.template.edit-button": "Edit", + // TODO New key - Add a translation + "collection.edit.template.edit-button": "Edit", + + // "collection.edit.template.head": "Edit Template Item for Collection \"{{ collection }}\"", + // TODO New key - Add a translation + "collection.edit.template.head": "Edit Template Item for Collection \"{{ collection }}\"", + + // "collection.edit.template.label": "Template item", + // TODO New key - Add a translation + "collection.edit.template.label": "Template item", + + // "collection.edit.template.notifications.delete.error": "Failed to delete the item template", + // TODO New key - Add a translation + "collection.edit.template.notifications.delete.error": "Failed to delete the item template", + + // "collection.edit.template.notifications.delete.success": "Successfully deleted the item template", + // TODO New key - Add a translation + "collection.edit.template.notifications.delete.success": "Successfully deleted the item template", + + // "collection.edit.template.title": "Edit Template Item", + // TODO New key - Add a translation + "collection.edit.template.title": "Edit Template Item", + + + // "collection.form.abstract": "Short Description", // TODO New key - Add a translation "collection.form.abstract": "Short Description", @@ -1300,6 +1567,12 @@ + // "collection.listelement.badge": "Collection", + // TODO New key - Add a translation + "collection.listelement.badge": "Collection", + + + // "collection.page.browse.recent.head": "Recent Submissions", // TODO New key - Add a translation "collection.page.browse.recent.head": "Recent Submissions", @@ -1308,6 +1581,10 @@ // TODO New key - Add a translation "collection.page.browse.recent.empty": "No items to show", + // "collection.page.edit": "Edit this collection", + // TODO New key - Add a translation + "collection.page.edit": "Edit this collection", + // "collection.page.handle": "Permanent URI for this collection", // TODO New key - Add a translation "collection.page.handle": "Permanent URI for this collection", @@ -1372,6 +1649,10 @@ // TODO New key - Add a translation "community.create.sub-head": "Create a Sub-Community for Community {{ parent }}", + // "community.curate.header": "Curate Community: {{community}}", + // TODO New key - Add a translation + "community.curate.header": "Curate Community: {{community}}", + // "community.delete.cancel": "Cancel", // TODO New key - Add a translation "community.delete.cancel": "Cancel", @@ -1443,6 +1724,14 @@ // TODO New key - Add a translation "community.edit.notifications.success": "Successfully edited the Community", + // "community.edit.notifications.unauthorized": "You do not have privileges to make this change", + // TODO New key - Add a translation + "community.edit.notifications.unauthorized": "You do not have privileges to make this change", + + // "community.edit.notifications.error": "An error occured while editing the Community", + // TODO New key - Add a translation + "community.edit.notifications.error": "An error occured while editing the Community", + // "community.edit.return": "Return", // TODO New key - Add a translation "community.edit.return": "Return", @@ -1473,6 +1762,118 @@ // TODO New key - Add a translation "community.edit.tabs.roles.title": "Community Edit - Roles", + // "community.edit.tabs.authorizations.head": "Authorizations", + // TODO New key - Add a translation + "community.edit.tabs.authorizations.head": "Authorizations", + + // "community.edit.tabs.authorizations.title": "Community Edit - Authorizations", + // TODO New key - Add a translation + "community.edit.tabs.authorizations.title": "Community Edit - Authorizations", + + + + // "community.listelement.badge": "Community", + // TODO New key - Add a translation + "community.listelement.badge": "Community", + + + + // "comcol-role.edit.no-group": "None", + // TODO New key - Add a translation + "comcol-role.edit.no-group": "None", + + // "comcol-role.edit.create": "Create", + // TODO New key - Add a translation + "comcol-role.edit.create": "Create", + + // "comcol-role.edit.restrict": "Restrict", + // TODO New key - Add a translation + "comcol-role.edit.restrict": "Restrict", + + // "comcol-role.edit.delete": "Delete", + // TODO New key - Add a translation + "comcol-role.edit.delete": "Delete", + + + // "comcol-role.edit.community-admin.name": "Administrators", + // TODO New key - Add a translation + "comcol-role.edit.community-admin.name": "Administrators", + + // "comcol-role.edit.collection-admin.name": "Administrators", + // TODO New key - Add a translation + "comcol-role.edit.collection-admin.name": "Administrators", + + + // "comcol-role.edit.community-admin.description": "Community administrators can create sub-communities or collections, and manage or assign management for those sub-communities or collections. In addition, they decide who can submit items to any sub-collections, edit item metadata (after submission), and add (map) existing items from other collections (subject to authorization).", + // TODO New key - Add a translation + "comcol-role.edit.community-admin.description": "Community administrators can create sub-communities or collections, and manage or assign management for those sub-communities or collections. In addition, they decide who can submit items to any sub-collections, edit item metadata (after submission), and add (map) existing items from other collections (subject to authorization).", + + // "comcol-role.edit.collection-admin.description": "Collection administrators decide who can submit items to the collection, edit item metadata (after submission), and add (map) existing items from other collections to this collection (subject to authorization for that collection).", + // TODO New key - Add a translation + "comcol-role.edit.collection-admin.description": "Collection administrators decide who can submit items to the collection, edit item metadata (after submission), and add (map) existing items from other collections to this collection (subject to authorization for that collection).", + + + // "comcol-role.edit.submitters.name": "Submitters", + // TODO New key - Add a translation + "comcol-role.edit.submitters.name": "Submitters", + + // "comcol-role.edit.submitters.description": "The E-People and Groups that have permission to submit new items to this collection.", + // TODO New key - Add a translation + "comcol-role.edit.submitters.description": "The E-People and Groups that have permission to submit new items to this collection.", + + + // "comcol-role.edit.item_read.name": "Default item read access", + // TODO New key - Add a translation + "comcol-role.edit.item_read.name": "Default item read access", + + // "comcol-role.edit.item_read.description": "E-People and Groups that can read new items submitted to this collection. Changes to this role are not retroactive. Existing items in the system will still be viewable by those who had read access at the time of their addition.", + // TODO New key - Add a translation + "comcol-role.edit.item_read.description": "E-People and Groups that can read new items submitted to this collection. Changes to this role are not retroactive. Existing items in the system will still be viewable by those who had read access at the time of their addition.", + + // "comcol-role.edit.item_read.anonymous-group": "Default read for incoming items is currently set to Anonymous.", + // TODO New key - Add a translation + "comcol-role.edit.item_read.anonymous-group": "Default read for incoming items is currently set to Anonymous.", + + + // "comcol-role.edit.bitstream_read.name": "Default bitstream read access", + // TODO New key - Add a translation + "comcol-role.edit.bitstream_read.name": "Default bitstream read access", + + // "comcol-role.edit.bitstream_read.description": "Community administrators can create sub-communities or collections, and manage or assign management for those sub-communities or collections. In addition, they decide who can submit items to any sub-collections, edit item metadata (after submission), and add (map) existing items from other collections (subject to authorization).", + // TODO New key - Add a translation + "comcol-role.edit.bitstream_read.description": "Community administrators can create sub-communities or collections, and manage or assign management for those sub-communities or collections. In addition, they decide who can submit items to any sub-collections, edit item metadata (after submission), and add (map) existing items from other collections (subject to authorization).", + + // "comcol-role.edit.bitstream_read.anonymous-group": "Default read for incoming bitstreams is currently set to Anonymous.", + // TODO New key - Add a translation + "comcol-role.edit.bitstream_read.anonymous-group": "Default read for incoming bitstreams is currently set to Anonymous.", + + + // "comcol-role.edit.editor.name": "Editors", + // TODO New key - Add a translation + "comcol-role.edit.editor.name": "Editors", + + // "comcol-role.edit.editor.description": "Editors are able to edit the metadata of incoming submissions, and then accept or reject them.", + // TODO New key - Add a translation + "comcol-role.edit.editor.description": "Editors are able to edit the metadata of incoming submissions, and then accept or reject them.", + + + // "comcol-role.edit.finaleditor.name": "Final editors", + // TODO New key - Add a translation + "comcol-role.edit.finaleditor.name": "Final editors", + + // "comcol-role.edit.finaleditor.description": "Final editors are able to edit the metadata of incoming submissions, but will not be able to reject them.", + // TODO New key - Add a translation + "comcol-role.edit.finaleditor.description": "Final editors are able to edit the metadata of incoming submissions, but will not be able to reject them.", + + + // "comcol-role.edit.reviewer.name": "Reviewers", + // TODO New key - Add a translation + "comcol-role.edit.reviewer.name": "Reviewers", + + // "comcol-role.edit.reviewer.description": "Reviewers are able to accept or reject incoming submissions. However, they are not able to edit the submission's metadata.", + // TODO New key - Add a translation + "comcol-role.edit.reviewer.description": "Reviewers are able to accept or reject incoming submissions. However, they are not able to edit the submission's metadata.", + // "community.form.abstract": "Short Description", @@ -1499,6 +1900,10 @@ // TODO New key - Add a translation "community.form.title": "Name", + // "community.page.edit": "Edit this community", + // TODO New key - Add a translation + "community.page.edit": "Edit this community", + // "community.page.handle": "Permanent URI for this community", // TODO New key - Add a translation "community.page.handle": "Permanent URI for this community", @@ -1525,10 +1930,188 @@ + // "cookies.consent.accept-all": "Accept all", + // TODO New key - Add a translation + "cookies.consent.accept-all": "Accept all", + + // "cookies.consent.accept-selected": "Accept selected", + // TODO New key - Add a translation + "cookies.consent.accept-selected": "Accept selected", + + // "cookies.consent.app.opt-out.description": "This app is loaded by default (but you can opt out)", + // TODO New key - Add a translation + "cookies.consent.app.opt-out.description": "This app is loaded by default (but you can opt out)", + + // "cookies.consent.app.opt-out.title": "(opt-out)", + // TODO New key - Add a translation + "cookies.consent.app.opt-out.title": "(opt-out)", + + // "cookies.consent.app.purpose": "purpose", + // TODO New key - Add a translation + "cookies.consent.app.purpose": "purpose", + + // "cookies.consent.app.required.description": "This application is always required", + // TODO New key - Add a translation + "cookies.consent.app.required.description": "This application is always required", + + // "cookies.consent.app.required.title": "(always required)", + // TODO New key - Add a translation + "cookies.consent.app.required.title": "(always required)", + + // "cookies.consent.update": "There were changes since your last visit, please update your consent.", + // TODO New key - Add a translation + "cookies.consent.update": "There were changes since your last visit, please update your consent.", + + // "cookies.consent.close": "Close", + // TODO New key - Add a translation + "cookies.consent.close": "Close", + + // "cookies.consent.decline": "Decline", + // TODO New key - Add a translation + "cookies.consent.decline": "Decline", + + // "cookies.consent.content-notice.description": "We collect and process your personal information for the following purposes: Authentication, Preferences, Acknowledgement and Statistics.
To learn more, please read our {privacyPolicy}.", + // TODO New key - Add a translation + "cookies.consent.content-notice.description": "We collect and process your personal information for the following purposes: Authentication, Preferences, Acknowledgement and Statistics.
To learn more, please read our {privacyPolicy}.", + + // "cookies.consent.content-notice.learnMore": "Customize", + // TODO New key - Add a translation + "cookies.consent.content-notice.learnMore": "Customize", + + // "cookies.consent.content-modal.description": "Here you can see and customize the information that we collect about you.", + // TODO New key - Add a translation + "cookies.consent.content-modal.description": "Here you can see and customize the information that we collect about you.", + + // "cookies.consent.content-modal.privacy-policy.name": "privacy policy", + // TODO New key - Add a translation + "cookies.consent.content-modal.privacy-policy.name": "privacy policy", + + // "cookies.consent.content-modal.privacy-policy.text": "To learn more, please read our {privacyPolicy}.", + // TODO New key - Add a translation + "cookies.consent.content-modal.privacy-policy.text": "To learn more, please read our {privacyPolicy}.", + + // "cookies.consent.content-modal.title": "Information that we collect", + // TODO New key - Add a translation + "cookies.consent.content-modal.title": "Information that we collect", + + + + // "cookies.consent.app.title.authentication": "Authentication", + // TODO New key - Add a translation + "cookies.consent.app.title.authentication": "Authentication", + + // "cookies.consent.app.description.authentication": "Required for signing you in", + // TODO New key - Add a translation + "cookies.consent.app.description.authentication": "Required for signing you in", + + + // "cookies.consent.app.title.preferences": "Preferences", + // TODO New key - Add a translation + "cookies.consent.app.title.preferences": "Preferences", + + // "cookies.consent.app.description.preferences": "Required for saving your preferences", + // TODO New key - Add a translation + "cookies.consent.app.description.preferences": "Required for saving your preferences", + + + + // "cookies.consent.app.title.acknowledgement": "Acknowledgement", + // TODO New key - Add a translation + "cookies.consent.app.title.acknowledgement": "Acknowledgement", + + // "cookies.consent.app.description.acknowledgement": "Required for saving your acknowledgements and consents", + // TODO New key - Add a translation + "cookies.consent.app.description.acknowledgement": "Required for saving your acknowledgements and consents", + + + + // "cookies.consent.app.title.google-analytics": "Google Analytics", + // TODO New key - Add a translation + "cookies.consent.app.title.google-analytics": "Google Analytics", + + // "cookies.consent.app.description.google-analytics": "Allows us to track statistical data", + // TODO New key - Add a translation + "cookies.consent.app.description.google-analytics": "Allows us to track statistical data", + + + + // "cookies.consent.purpose.functional": "Functional", + // TODO New key - Add a translation + "cookies.consent.purpose.functional": "Functional", + + // "cookies.consent.purpose.statistical": "Statistical", + // TODO New key - Add a translation + "cookies.consent.purpose.statistical": "Statistical", + + + // "curation-task.task.checklinks.label": "Check Links in Metadata", + // TODO New key - Add a translation + "curation-task.task.checklinks.label": "Check Links in Metadata", + + // "curation-task.task.noop.label": "NOOP", + // TODO New key - Add a translation + "curation-task.task.noop.label": "NOOP", + + // "curation-task.task.profileformats.label": "Profile Bitstream Formats", + // TODO New key - Add a translation + "curation-task.task.profileformats.label": "Profile Bitstream Formats", + + // "curation-task.task.requiredmetadata.label": "Check for Required Metadata", + // TODO New key - Add a translation + "curation-task.task.requiredmetadata.label": "Check for Required Metadata", + + // "curation-task.task.translate.label": "Microsoft Translator", + // TODO New key - Add a translation + "curation-task.task.translate.label": "Microsoft Translator", + + // "curation-task.task.vscan.label": "Virus Scan", + // TODO New key - Add a translation + "curation-task.task.vscan.label": "Virus Scan", + + + + // "curation.form.task-select.label": "Task:", + // TODO New key - Add a translation + "curation.form.task-select.label": "Task:", + + // "curation.form.submit": "Start", + // TODO New key - Add a translation + "curation.form.submit": "Start", + + // "curation.form.submit.success.head": "The curation task has been started successfully", + // TODO New key - Add a translation + "curation.form.submit.success.head": "The curation task has been started successfully", + + // "curation.form.submit.success.content": "You will be redirected to the corresponding process page.", + // TODO New key - Add a translation + "curation.form.submit.success.content": "You will be redirected to the corresponding process page.", + + // "curation.form.submit.error.head": "Running the curation task failed", + // TODO New key - Add a translation + "curation.form.submit.error.head": "Running the curation task failed", + + // "curation.form.submit.error.content": "An error occured when trying to start the curation task.", + // TODO New key - Add a translation + "curation.form.submit.error.content": "An error occured when trying to start the curation task.", + + // "curation.form.handle.label": "Handle:", + // TODO New key - Add a translation + "curation.form.handle.label": "Handle:", + + // "curation.form.handle.hint": "Hint: Enter [your-handle-prefix]/0 to run a task across entire site (not all tasks may support this capability)", + // TODO New key - Add a translation + "curation.form.handle.hint": "Hint: Enter [your-handle-prefix]/0 to run a task across entire site (not all tasks may support this capability)", + + + // "dso-selector.create.collection.head": "New collection", // TODO New key - Add a translation "dso-selector.create.collection.head": "New collection", + // "dso-selector.create.collection.sub-level": "Create a new collection in", + // TODO New key - Add a translation + "dso-selector.create.collection.sub-level": "Create a new collection in", + // "dso-selector.create.community.head": "New community", // TODO New key - Add a translation "dso-selector.create.community.head": "New community", @@ -1545,6 +2128,14 @@ // TODO New key - Add a translation "dso-selector.create.item.head": "New item", + // "dso-selector.create.item.sub-level": "Create a new item in", + // TODO New key - Add a translation + "dso-selector.create.item.sub-level": "Create a new item in", + + // "dso-selector.create.submission.head": "New submission", + // TODO New key - Add a translation + "dso-selector.create.submission.head": "New submission", + // "dso-selector.edit.collection.head": "Edit collection", // TODO New key - Add a translation "dso-selector.edit.collection.head": "Edit collection", @@ -1557,6 +2148,10 @@ // TODO New key - Add a translation "dso-selector.edit.item.head": "Edit item", + // "dso-selector.export-metadata.dspaceobject.head": "Export metadata from", + // TODO New key - Add a translation + "dso-selector.export-metadata.dspaceobject.head": "Export metadata from", + // "dso-selector.no-results": "No {{ type }} found", // TODO New key - Add a translation "dso-selector.no-results": "No {{ type }} found", @@ -1567,6 +2162,39 @@ + // "confirmation-modal.export-metadata.header": "Export metadata for {{ dsoName }}", + // TODO New key - Add a translation + "confirmation-modal.export-metadata.header": "Export metadata for {{ dsoName }}", + + // "confirmation-modal.export-metadata.info": "Are you sure you want to export metadata for {{ dsoName }}", + // TODO New key - Add a translation + "confirmation-modal.export-metadata.info": "Are you sure you want to export metadata for {{ dsoName }}", + + // "confirmation-modal.export-metadata.cancel": "Cancel", + // TODO New key - Add a translation + "confirmation-modal.export-metadata.cancel": "Cancel", + + // "confirmation-modal.export-metadata.confirm": "Export", + // TODO New key - Add a translation + "confirmation-modal.export-metadata.confirm": "Export", + + // "confirmation-modal.delete-eperson.header": "Delete EPerson \"{{ dsoName }}\"", + // TODO New key - Add a translation + "confirmation-modal.delete-eperson.header": "Delete EPerson \"{{ dsoName }}\"", + + // "confirmation-modal.delete-eperson.info": "Are you sure you want to delete EPerson \"{{ dsoName }}\"", + // TODO New key - Add a translation + "confirmation-modal.delete-eperson.info": "Are you sure you want to delete EPerson \"{{ dsoName }}\"", + + // "confirmation-modal.delete-eperson.cancel": "Cancel", + // TODO New key - Add a translation + "confirmation-modal.delete-eperson.cancel": "Cancel", + + // "confirmation-modal.delete-eperson.confirm": "Delete", + // TODO New key - Add a translation + "confirmation-modal.delete-eperson.confirm": "Delete", + + // "error.bitstream": "Error fetching bitstream", // TODO New key - Add a translation "error.bitstream": "Error fetching bitstream", @@ -1645,6 +2273,12 @@ + // "file-section.error.header": "Error obtaining files for this item", + // TODO New key - Add a translation + "file-section.error.header": "Error obtaining files for this item", + + + // "footer.copyright": "copyright © 2002-{{ year }}", // TODO New key - Add a translation "footer.copyright": "copyright © 2002-{{ year }}", @@ -1657,6 +2291,127 @@ // TODO New key - Add a translation "footer.link.duraspace": "DuraSpace", + // "footer.link.cookies": "Cookie settings", + // TODO New key - Add a translation + "footer.link.cookies": "Cookie settings", + + // "footer.link.privacy-policy": "Privacy policy", + // TODO New key - Add a translation + "footer.link.privacy-policy": "Privacy policy", + + // "footer.link.end-user-agreement":"End User Agreement", + // TODO New key - Add a translation + "footer.link.end-user-agreement":"End User Agreement", + + + + // "forgot-email.form.header": "Forgot Password", + // TODO New key - Add a translation + "forgot-email.form.header": "Forgot Password", + + // "forgot-email.form.info": "Enter Register an account to subscribe to collections for email updates, and submit new items to DSpace.", + // TODO New key - Add a translation + "forgot-email.form.info": "Enter Register an account to subscribe to collections for email updates, and submit new items to DSpace.", + + // "forgot-email.form.email": "Email Address *", + // TODO New key - Add a translation + "forgot-email.form.email": "Email Address *", + + // "forgot-email.form.email.error.required": "Please fill in an email address", + // TODO New key - Add a translation + "forgot-email.form.email.error.required": "Please fill in an email address", + + // "forgot-email.form.email.error.pattern": "Please fill in a valid email address", + // TODO New key - Add a translation + "forgot-email.form.email.error.pattern": "Please fill in a valid email address", + + // "forgot-email.form.email.hint": "This address will be verified and used as your login name.", + // TODO New key - Add a translation + "forgot-email.form.email.hint": "This address will be verified and used as your login name.", + + // "forgot-email.form.submit": "Submit", + // TODO New key - Add a translation + "forgot-email.form.submit": "Submit", + + // "forgot-email.form.success.head": "Verification email sent", + // TODO New key - Add a translation + "forgot-email.form.success.head": "Verification email sent", + + // "forgot-email.form.success.content": "An email has been sent to {{ email }} containing a special URL and further instructions.", + // TODO New key - Add a translation + "forgot-email.form.success.content": "An email has been sent to {{ email }} containing a special URL and further instructions.", + + // "forgot-email.form.error.head": "Error when trying to register email", + // TODO New key - Add a translation + "forgot-email.form.error.head": "Error when trying to register email", + + // "forgot-email.form.error.content": "An error occured when registering the following email address: {{ email }}", + // TODO New key - Add a translation + "forgot-email.form.error.content": "An error occured when registering the following email address: {{ email }}", + + + + // "forgot-password.title": "Forgot Password", + // TODO New key - Add a translation + "forgot-password.title": "Forgot Password", + + // "forgot-password.form.head": "Forgot Password", + // TODO New key - Add a translation + "forgot-password.form.head": "Forgot Password", + + // "forgot-password.form.info": "Enter a new password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", + // TODO New key - Add a translation + "forgot-password.form.info": "Enter a new password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", + + // "forgot-password.form.card.security": "Security", + // TODO New key - Add a translation + "forgot-password.form.card.security": "Security", + + // "forgot-password.form.identification.header": "Identify", + // TODO New key - Add a translation + "forgot-password.form.identification.header": "Identify", + + // "forgot-password.form.identification.email": "Email address: ", + // TODO New key - Add a translation + "forgot-password.form.identification.email": "Email address: ", + + // "forgot-password.form.label.password": "Password", + // TODO New key - Add a translation + "forgot-password.form.label.password": "Password", + + // "forgot-password.form.label.passwordrepeat": "Retype to confirm", + // TODO New key - Add a translation + "forgot-password.form.label.passwordrepeat": "Retype to confirm", + + // "forgot-password.form.error.empty-password": "Please enter a password in the box below.", + // TODO New key - Add a translation + "forgot-password.form.error.empty-password": "Please enter a password in the box below.", + + // "forgot-password.form.error.matching-passwords": "The passwords do not match.", + // TODO New key - Add a translation + "forgot-password.form.error.matching-passwords": "The passwords do not match.", + + // "forgot-password.form.error.password-length": "The password should be at least 6 characters long.", + // TODO New key - Add a translation + "forgot-password.form.error.password-length": "The password should be at least 6 characters long.", + + // "forgot-password.form.notification.error.title": "Error when trying to submit new password", + // TODO New key - Add a translation + "forgot-password.form.notification.error.title": "Error when trying to submit new password", + + // "forgot-password.form.notification.success.content": "The password reset was successful. You have been logged in as the created user.", + // TODO New key - Add a translation + "forgot-password.form.notification.success.content": "The password reset was successful. You have been logged in as the created user.", + + // "forgot-password.form.notification.success.title": "Password reset completed", + // TODO New key - Add a translation + "forgot-password.form.notification.success.title": "Password reset completed", + + // "forgot-password.form.submit": "Submit password", + // TODO New key - Add a translation + "forgot-password.form.submit": "Submit password", + + // "form.add": "Add", // TODO New key - Add a translation @@ -1750,9 +2505,9 @@ // TODO New key - Add a translation "form.search": "Search", - // "form.search-help": "Click here to looking for an existing correspondence", + // "form.search-help": "Click here to look for an existing correspondence", // TODO New key - Add a translation - "form.search-help": "Click here to looking for an existing correspondence", + "form.search-help": "Click here to look for an existing correspondence", // "form.submit": "Submit", // TODO New key - Add a translation @@ -1764,6 +2519,10 @@ // TODO New key - Add a translation "home.description": "", + // "home.breadcrumbs": "Home", + // TODO New key - Add a translation + "home.breadcrumbs": "Home", + // "home.title": "DSpace Angular :: Home", // TODO New key - Add a translation "home.title": "DSpace Angular :: Home", @@ -1778,6 +2537,81 @@ + // "info.end-user-agreement.accept": "I have read and I agree to the End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.accept": "I have read and I agree to the End User Agreement", + + // "info.end-user-agreement.accept.error": "An error occurred accepting the End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.accept.error": "An error occurred accepting the End User Agreement", + + // "info.end-user-agreement.accept.success": "Successfully updated the End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.accept.success": "Successfully updated the End User Agreement", + + // "info.end-user-agreement.breadcrumbs": "End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.breadcrumbs": "End User Agreement", + + // "info.end-user-agreement.buttons.cancel": "Cancel", + // TODO New key - Add a translation + "info.end-user-agreement.buttons.cancel": "Cancel", + + // "info.end-user-agreement.buttons.save": "Save", + // TODO New key - Add a translation + "info.end-user-agreement.buttons.save": "Save", + + // "info.end-user-agreement.head": "End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.head": "End User Agreement", + + // "info.end-user-agreement.title": "End User Agreement", + // TODO New key - Add a translation + "info.end-user-agreement.title": "End User Agreement", + + // "info.privacy.breadcrumbs": "Privacy Statement", + // TODO New key - Add a translation + "info.privacy.breadcrumbs": "Privacy Statement", + + // "info.privacy.head": "Privacy Statement", + // TODO New key - Add a translation + "info.privacy.head": "Privacy Statement", + + // "info.privacy.title": "Privacy Statement", + // TODO New key - Add a translation + "info.privacy.title": "Privacy Statement", + + + + // "item.alerts.private": "This item is private", + // TODO New key - Add a translation + "item.alerts.private": "This item is private", + + // "item.alerts.withdrawn": "This item has been withdrawn", + // TODO New key - Add a translation + "item.alerts.withdrawn": "This item has been withdrawn", + + + + // "item.edit.authorizations.heading": "With this editor you can view and alter the policies of an item, plus alter policies of individual item components: bundles and bitstreams. Briefly, an item is a container of bundles, and bundles are containers of bitstreams. Containers usually have ADD/REMOVE/READ/WRITE policies, while bitstreams only have READ/WRITE policies.", + // TODO New key - Add a translation + "item.edit.authorizations.heading": "With this editor you can view and alter the policies of an item, plus alter policies of individual item components: bundles and bitstreams. Briefly, an item is a container of bundles, and bundles are containers of bitstreams. Containers usually have ADD/REMOVE/READ/WRITE policies, while bitstreams only have READ/WRITE policies.", + + // "item.edit.authorizations.title": "Edit item's Policies", + // TODO New key - Add a translation + "item.edit.authorizations.title": "Edit item's Policies", + + + + // "item.badge.private": "Private", + // TODO New key - Add a translation + "item.badge.private": "Private", + + // "item.badge.withdrawn": "Withdrawn", + // TODO New key - Add a translation + "item.badge.withdrawn": "Withdrawn", + + // "item.bitstreams.upload.bundle": "Bundle", // TODO New key - Add a translation @@ -1980,6 +2814,13 @@ "item.edit.breadcrumbs": "Edit Item", + // "item.edit.tabs.mapper.head": "Collection Mapper", + // TODO New key - Add a translation + "item.edit.tabs.mapper.head": "Collection Mapper", + + // "item.edit.tabs.item-mapper.title": "Item Edit - Collection Mapper", + // TODO New key - Add a translation + "item.edit.tabs.item-mapper.title": "Item Edit - Collection Mapper", // "item.edit.item-mapper.buttons.add": "Map item to selected collections", // TODO New key - Add a translation @@ -2075,6 +2916,10 @@ // TODO New key - Add a translation "item.edit.metadata.edit.buttons.unedit": "Stop editing", + // "item.edit.metadata.empty": "The item currently doesn't contain any metadata. Click Add to start adding a metadata value.", + // TODO New key - Add a translation + "item.edit.metadata.empty": "The item currently doesn't contain any metadata. Click Add to start adding a metadata value.", + // "item.edit.metadata.headers.edit": "Edit", // TODO New key - Add a translation "item.edit.metadata.headers.edit": "Edit", @@ -2103,6 +2948,10 @@ // TODO New key - Add a translation "item.edit.metadata.notifications.discarded.title": "Changed discarded", + // "item.edit.metadata.notifications.error.title": "An error occurred", + // TODO New key - Add a translation + "item.edit.metadata.notifications.error.title": "An error occurred", + // "item.edit.metadata.notifications.invalid.content": "Your changes were not saved. Please make sure all fields are valid before you save.", // TODO New key - Add a translation "item.edit.metadata.notifications.invalid.content": "Your changes were not saved. Please make sure all fields are valid before you save.", @@ -2279,6 +3128,10 @@ // TODO New key - Add a translation "item.edit.relationships.discard-button": "Discard", + // "item.edit.relationships.edit.buttons.add": "Add", + // TODO New key - Add a translation + "item.edit.relationships.edit.buttons.add": "Add", + // "item.edit.relationships.edit.buttons.remove": "Remove", // TODO New key - Add a translation "item.edit.relationships.edit.buttons.remove": "Remove", @@ -2287,6 +3140,10 @@ // TODO New key - Add a translation "item.edit.relationships.edit.buttons.undo": "Undo changes", + // "item.edit.relationships.no-relationships": "No relationships", + // TODO New key - Add a translation + "item.edit.relationships.no-relationships": "No relationships", + // "item.edit.relationships.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", // TODO New key - Add a translation "item.edit.relationships.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", @@ -2295,9 +3152,9 @@ // TODO New key - Add a translation "item.edit.relationships.notifications.discarded.title": "Changes discarded", - // "item.edit.relationships.notifications.failed.title": "Error deleting relationship", + // "item.edit.relationships.notifications.failed.title": "Error editing relationships", // TODO New key - Add a translation - "item.edit.relationships.notifications.failed.title": "Error deleting relationship", + "item.edit.relationships.notifications.failed.title": "Error editing relationships", // "item.edit.relationships.notifications.outdated.content": "The item you're currently working on has been changed by another user. Your current changes are discarded to prevent conflicts", // TODO New key - Add a translation @@ -2323,6 +3180,10 @@ // TODO New key - Add a translation "item.edit.relationships.save-button": "Save", + // "item.edit.relationships.no-entity-type": "Add 'relationship.type' metadata to enable relationships for this item", + // TODO New key - Add a translation + "item.edit.relationships.no-entity-type": "Add 'relationship.type' metadata to enable relationships for this item", + // "item.edit.tabs.bitstreams.head": "Bitstreams", @@ -2497,6 +3358,48 @@ + // "item.listelement.badge": "Item", + // TODO New key - Add a translation + "item.listelement.badge": "Item", + + // "item.page.description": "Description", + // TODO New key - Add a translation + "item.page.description": "Description", + + // "item.page.edit": "Edit this item", + // TODO New key - Add a translation + "item.page.edit": "Edit this item", + + // "item.page.journal-issn": "Journal ISSN", + // TODO New key - Add a translation + "item.page.journal-issn": "Journal ISSN", + + // "item.page.journal-title": "Journal Title", + // TODO New key - Add a translation + "item.page.journal-title": "Journal Title", + + // "item.page.publisher": "Publisher", + // TODO New key - Add a translation + "item.page.publisher": "Publisher", + + // "item.page.titleprefix": "Item: ", + // TODO New key - Add a translation + "item.page.titleprefix": "Item: ", + + // "item.page.volume-title": "Volume Title", + // TODO New key - Add a translation + "item.page.volume-title": "Volume Title", + + // "item.search.results.head": "Item Search Results", + // TODO New key - Add a translation + "item.search.results.head": "Item Search Results", + + // "item.search.title": "DSpace Angular :: Item Search", + // TODO New key - Add a translation + "item.search.title": "DSpace Angular :: Item Search", + + + // "item.page.abstract": "Abstract", // TODO New key - Add a translation "item.page.abstract": "Abstract", @@ -2517,6 +3420,10 @@ // TODO New key - Add a translation "item.page.date": "Date", + // "item.page.edit": "Edit this item", + // TODO New key - Add a translation + "item.page.edit": "Edit this item", + // "item.page.files": "Files", // TODO New key - Add a translation "item.page.files": "Files", @@ -2589,6 +3496,65 @@ // TODO New key - Add a translation "item.page.uri": "URI", + // "item.page.bitstreams.view-more": "Show more", + // TODO New key - Add a translation + "item.page.bitstreams.view-more": "Show more", + + // "item.page.bitstreams.collapse": "Collapse", + // TODO New key - Add a translation + "item.page.bitstreams.collapse": "Collapse", + + // "item.page.filesection.original.bundle" : "Original bundle", + // TODO New key - Add a translation + "item.page.filesection.original.bundle" : "Original bundle", + + // "item.page.filesection.license.bundle" : "License bundle", + // TODO New key - Add a translation + "item.page.filesection.license.bundle" : "License bundle", + + // "item.preview.dc.identifier.uri": "Identifier:", + // TODO New key - Add a translation + "item.preview.dc.identifier.uri": "Identifier:", + + // "item.preview.dc.contributor.author": "Authors:", + // TODO New key - Add a translation + "item.preview.dc.contributor.author": "Authors:", + + // "item.preview.dc.date.issued": "Published date:", + // TODO New key - Add a translation + "item.preview.dc.date.issued": "Published date:", + + // "item.preview.dc.description.abstract": "Abstract:", + // TODO New key - Add a translation + "item.preview.dc.description.abstract": "Abstract:", + + // "item.preview.dc.identifier.other": "Other identifier:", + // TODO New key - Add a translation + "item.preview.dc.identifier.other": "Other identifier:", + + // "item.preview.dc.language.iso": "Language:", + // TODO New key - Add a translation + "item.preview.dc.language.iso": "Language:", + + // "item.preview.dc.subject": "Subjects:", + // TODO New key - Add a translation + "item.preview.dc.subject": "Subjects:", + + // "item.preview.dc.title": "Title:", + // TODO New key - Add a translation + "item.preview.dc.title": "Title:", + + // "item.preview.person.familyName": "Surname:", + // TODO New key - Add a translation + "item.preview.person.familyName": "Surname:", + + // "item.preview.person.givenName": "Name:", + // TODO New key - Add a translation + "item.preview.person.givenName": "Name:", + + // "item.preview.person.identifier.orcid": "ORCID:", + // TODO New key - Add a translation + "item.preview.person.identifier.orcid": "ORCID:", // "item.select.confirm": "Confirm selected", @@ -2664,6 +3630,10 @@ // TODO New key - Add a translation "journal.page.description": "Description", + // "journal.page.edit": "Edit this item", + // TODO New key - Add a translation + "journal.page.edit": "Edit this item", + // "journal.page.editor": "Editor-in-Chief", // TODO New key - Add a translation "journal.page.editor": "Editor-in-Chief", @@ -2698,6 +3668,10 @@ // TODO New key - Add a translation "journalissue.page.description": "Description", + // "journalissue.page.edit": "Edit this item", + // TODO New key - Add a translation + "journalissue.page.edit": "Edit this item", + // "journalissue.page.issuedate": "Issue Date", // TODO New key - Add a translation "journalissue.page.issuedate": "Issue Date", @@ -2732,6 +3706,10 @@ // TODO New key - Add a translation "journalvolume.page.description": "Description", + // "journalvolume.page.edit": "Edit this item", + // TODO New key - Add a translation + "journalvolume.page.edit": "Edit this item", + // "journalvolume.page.issuedate": "Issue Date", // TODO New key - Add a translation "journalvolume.page.issuedate": "Issue Date", @@ -3042,6 +4020,10 @@ // TODO New key - Add a translation "menu.section.icon.pin": "Pin sidebar", + // "menu.section.icon.processes": "Processes menu section", + // TODO New key - Add a translation + "menu.section.icon.processes": "Processes menu section", + // "menu.section.icon.registries": "Registries menu section", // TODO New key - Add a translation "menu.section.icon.registries": "Registries menu section", @@ -3090,6 +4072,10 @@ // TODO New key - Add a translation "menu.section.new_item_version": "Item Version", + // "menu.section.new_process": "Process", + // TODO New key - Add a translation + "menu.section.new_process": "Process", + // "menu.section.pin": "Pin sidebar", @@ -3102,6 +4088,12 @@ + // "menu.section.processes": "Processes", + // TODO New key - Add a translation + "menu.section.processes": "Processes", + + + // "menu.section.registries": "Registries", // TODO New key - Add a translation "menu.section.registries": "Registries", @@ -3167,14 +4159,18 @@ "menu.section.toggle.statistics_task": "Toggle Statistics Task section", + // "menu.section.workflow": "Administer Workflow", + // TODO New key - Add a translation + "menu.section.workflow": "Administer Workflow", + // "mydspace.description": "", // TODO New key - Add a translation "mydspace.description": "", - // "mydspace.general.text-here": "HERE", + // "mydspace.general.text-here": "here", // TODO New key - Add a translation - "mydspace.general.text-here": "HERE", + "mydspace.general.text-here": "here", // "mydspace.messages.controller-help": "Select this option to send a message to item's submitter.", // TODO New key - Add a translation @@ -3232,6 +4228,14 @@ // TODO New key - Add a translation "mydspace.new-submission": "New submission", + // "mydspace.new-submission-external": "Import metadata from external source", + // TODO New key - Add a translation + "mydspace.new-submission-external": "Import metadata from external source", + + // "mydspace.new-submission-external-short": "Import metadata", + // TODO New key - Add a translation + "mydspace.new-submission-external-short": "Import metadata", + // "mydspace.results.head": "Your submissions", // TODO New key - Add a translation "mydspace.results.head": "Your submissions", @@ -3304,6 +4308,14 @@ // TODO New key - Add a translation "mydspace.upload.upload-failed": "Error creating new workspace. Please verify the content uploaded before retry.", + // "mydspace.upload.upload-failed-manyentries": "Unprocessable file. Detected too many entries but allowed only one for file.", + // TODO New key - Add a translation + "mydspace.upload.upload-failed-manyentries": "Unprocessable file. Detected too many entries but allowed only one for file.", + + // "mydspace.upload.upload-failed-moreonefile": "Unprocessable request. Only one file is allowed.", + // TODO New key - Add a translation + "mydspace.upload.upload-failed-moreonefile": "Unprocessable request. Only one file is allowed.", + // "mydspace.upload.upload-multiple-successful": "{{qty}} new workspace items created.", // TODO New key - Add a translation "mydspace.upload.upload-multiple-successful": "{{qty}} new workspace items created.", @@ -3354,6 +4366,10 @@ // TODO New key - Add a translation "nav.statistics.header": "Statistics", + // "nav.stop-impersonating": "Stop impersonating EPerson", + // TODO New key - Add a translation + "nav.stop-impersonating": "Stop impersonating EPerson", + // "orgunit.listelement.badge": "Organizational Unit", @@ -3376,6 +4392,10 @@ // TODO New key - Add a translation "orgunit.page.description": "Description", + // "orgunit.page.edit": "Edit this item", + // TODO New key - Add a translation + "orgunit.page.edit": "Edit this item", + // "orgunit.page.id": "ID", // TODO New key - Add a translation "orgunit.page.id": "ID", @@ -3408,10 +4428,18 @@ // TODO New key - Add a translation "person.listelement.badge": "Person", + // "person.listelement.no-title": "No name found", + // TODO New key - Add a translation + "person.listelement.no-title": "No name found", + // "person.page.birthdate": "Birth Date", // TODO New key - Add a translation "person.page.birthdate": "Birth Date", + // "person.page.edit": "Edit this item", + // TODO New key - Add a translation + "person.page.edit": "Edit this item", + // "person.page.email": "Email Address", // TODO New key - Add a translation "person.page.email": "Email Address", @@ -3454,6 +4482,183 @@ + // "process.new.select-parameters": "Parameters", + // TODO New key - Add a translation + "process.new.select-parameters": "Parameters", + + // "process.new.cancel": "Cancel", + // TODO New key - Add a translation + "process.new.cancel": "Cancel", + + // "process.new.submit": "Submit", + // TODO New key - Add a translation + "process.new.submit": "Submit", + + // "process.new.select-script": "Script", + // TODO New key - Add a translation + "process.new.select-script": "Script", + + // "process.new.select-script.placeholder": "Choose a script...", + // TODO New key - Add a translation + "process.new.select-script.placeholder": "Choose a script...", + + // "process.new.select-script.required": "Script is required", + // TODO New key - Add a translation + "process.new.select-script.required": "Script is required", + + // "process.new.parameter.file.upload-button": "Select file...", + // TODO New key - Add a translation + "process.new.parameter.file.upload-button": "Select file...", + + // "process.new.parameter.file.required": "Please select a file", + // TODO New key - Add a translation + "process.new.parameter.file.required": "Please select a file", + + // "process.new.parameter.string.required": "Parameter value is required", + // TODO New key - Add a translation + "process.new.parameter.string.required": "Parameter value is required", + + // "process.new.parameter.type.value": "value", + // TODO New key - Add a translation + "process.new.parameter.type.value": "value", + + // "process.new.parameter.type.file": "file", + // TODO New key - Add a translation + "process.new.parameter.type.file": "file", + + // "process.new.parameter.required.missing": "The following parameters are required but still missing:", + // TODO New key - Add a translation + "process.new.parameter.required.missing": "The following parameters are required but still missing:", + + // "process.new.notification.success.title": "Success", + // TODO New key - Add a translation + "process.new.notification.success.title": "Success", + + // "process.new.notification.success.content": "The process was successfully created", + // TODO New key - Add a translation + "process.new.notification.success.content": "The process was successfully created", + + // "process.new.notification.error.title": "Error", + // TODO New key - Add a translation + "process.new.notification.error.title": "Error", + + // "process.new.notification.error.content": "An error occurred while creating this process", + // TODO New key - Add a translation + "process.new.notification.error.content": "An error occurred while creating this process", + + // "process.new.header": "Create a new process", + // TODO New key - Add a translation + "process.new.header": "Create a new process", + + // "process.new.title": "Create a new process", + // TODO New key - Add a translation + "process.new.title": "Create a new process", + + // "process.new.breadcrumbs": "Create a new process", + // TODO New key - Add a translation + "process.new.breadcrumbs": "Create a new process", + + + + // "process.detail.arguments" : "Arguments", + // TODO New key - Add a translation + "process.detail.arguments" : "Arguments", + + // "process.detail.arguments.empty" : "This process doesn't contain any arguments", + // TODO New key - Add a translation + "process.detail.arguments.empty" : "This process doesn't contain any arguments", + + // "process.detail.back" : "Back", + // TODO New key - Add a translation + "process.detail.back" : "Back", + + // "process.detail.output" : "Process Output", + // TODO New key - Add a translation + "process.detail.output" : "Process Output", + + // "process.detail.logs.button": "Retrieve process output", + // TODO New key - Add a translation + "process.detail.logs.button": "Retrieve process output", + + // "process.detail.logs.loading": "Retrieving", + // TODO New key - Add a translation + "process.detail.logs.loading": "Retrieving", + + // "process.detail.logs.none": "This process has no output", + // TODO New key - Add a translation + "process.detail.logs.none": "This process has no output", + + // "process.detail.output-files" : "Output Files", + // TODO New key - Add a translation + "process.detail.output-files" : "Output Files", + + // "process.detail.output-files.empty" : "This process doesn't contain any output files", + // TODO New key - Add a translation + "process.detail.output-files.empty" : "This process doesn't contain any output files", + + // "process.detail.script" : "Script", + // TODO New key - Add a translation + "process.detail.script" : "Script", + + // "process.detail.title" : "Process: {{ id }} - {{ name }}", + // TODO New key - Add a translation + "process.detail.title" : "Process: {{ id }} - {{ name }}", + + // "process.detail.start-time" : "Start time", + // TODO New key - Add a translation + "process.detail.start-time" : "Start time", + + // "process.detail.end-time" : "Finish time", + // TODO New key - Add a translation + "process.detail.end-time" : "Finish time", + + // "process.detail.status" : "Status", + // TODO New key - Add a translation + "process.detail.status" : "Status", + + // "process.detail.create" : "Create similar process", + // TODO New key - Add a translation + "process.detail.create" : "Create similar process", + + + + // "process.overview.table.finish" : "Finish time", + // TODO New key - Add a translation + "process.overview.table.finish" : "Finish time", + + // "process.overview.table.id" : "Process ID", + // TODO New key - Add a translation + "process.overview.table.id" : "Process ID", + + // "process.overview.table.name" : "Name", + // TODO New key - Add a translation + "process.overview.table.name" : "Name", + + // "process.overview.table.start" : "Start time", + // TODO New key - Add a translation + "process.overview.table.start" : "Start time", + + // "process.overview.table.status" : "Status", + // TODO New key - Add a translation + "process.overview.table.status" : "Status", + + // "process.overview.table.user" : "User", + // TODO New key - Add a translation + "process.overview.table.user" : "User", + + // "process.overview.title": "Processes Overview", + // TODO New key - Add a translation + "process.overview.title": "Processes Overview", + + // "process.overview.breadcrumbs": "Processes Overview", + // TODO New key - Add a translation + "process.overview.breadcrumbs": "Processes Overview", + + // "process.overview.new": "New", + // TODO New key - Add a translation + "process.overview.new": "New", + + // "profile.breadcrumbs": "Update Profile", // TODO New key - Add a translation "profile.breadcrumbs": "Update Profile", @@ -3580,6 +4785,10 @@ // TODO New key - Add a translation "project.page.description": "Description", + // "project.page.edit": "Edit this item", + // TODO New key - Add a translation + "project.page.edit": "Edit this item", + // "project.page.expectedcompletion": "Expected Completion", // TODO New key - Add a translation "project.page.expectedcompletion": "Expected Completion", @@ -3618,6 +4827,10 @@ // TODO New key - Add a translation "publication.page.description": "Description", + // "publication.page.edit": "Edit this item", + // TODO New key - Add a translation + "publication.page.edit": "Edit this item", + // "publication.page.journal-issn": "Journal ISSN", // TODO New key - Add a translation "publication.page.journal-issn": "Journal ISSN", @@ -3647,11 +4860,165 @@ "publication.search.title": "DSpace Angular :: Publication Search", + // "register-email.title": "New user registration", + // TODO New key - Add a translation + "register-email.title": "New user registration", + + // "register-page.create-profile.header": "Create Profile", + // TODO New key - Add a translation + "register-page.create-profile.header": "Create Profile", + + // "register-page.create-profile.identification.header": "Identify", + // TODO New key - Add a translation + "register-page.create-profile.identification.header": "Identify", + + // "register-page.create-profile.identification.email": "Email Address", + // TODO New key - Add a translation + "register-page.create-profile.identification.email": "Email Address", + + // "register-page.create-profile.identification.first-name": "First Name *", + // TODO New key - Add a translation + "register-page.create-profile.identification.first-name": "First Name *", + + // "register-page.create-profile.identification.first-name.error": "Please fill in a First Name", + // TODO New key - Add a translation + "register-page.create-profile.identification.first-name.error": "Please fill in a First Name", + + // "register-page.create-profile.identification.last-name": "Last Name *", + // TODO New key - Add a translation + "register-page.create-profile.identification.last-name": "Last Name *", + + // "register-page.create-profile.identification.last-name.error": "Please fill in a Last Name", + // TODO New key - Add a translation + "register-page.create-profile.identification.last-name.error": "Please fill in a Last Name", + + // "register-page.create-profile.identification.contact": "Contact Telephone", + // TODO New key - Add a translation + "register-page.create-profile.identification.contact": "Contact Telephone", + + // "register-page.create-profile.identification.language": "Language", + // TODO New key - Add a translation + "register-page.create-profile.identification.language": "Language", + + // "register-page.create-profile.security.header": "Security", + // TODO New key - Add a translation + "register-page.create-profile.security.header": "Security", + + // "register-page.create-profile.security.info": "Please enter a password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", + // TODO New key - Add a translation + "register-page.create-profile.security.info": "Please enter a password in the box below, and confirm it by typing it again into the second box. It should be at least six characters long.", + + // "register-page.create-profile.security.label.password": "Password *", + // TODO New key - Add a translation + "register-page.create-profile.security.label.password": "Password *", + + // "register-page.create-profile.security.label.passwordrepeat": "Retype to confirm *", + // TODO New key - Add a translation + "register-page.create-profile.security.label.passwordrepeat": "Retype to confirm *", + + // "register-page.create-profile.security.error.empty-password": "Please enter a password in the box below.", + // TODO New key - Add a translation + "register-page.create-profile.security.error.empty-password": "Please enter a password in the box below.", + + // "register-page.create-profile.security.error.matching-passwords": "The passwords do not match.", + // TODO New key - Add a translation + "register-page.create-profile.security.error.matching-passwords": "The passwords do not match.", + + // "register-page.create-profile.security.error.password-length": "The password should be at least 6 characters long.", + // TODO New key - Add a translation + "register-page.create-profile.security.error.password-length": "The password should be at least 6 characters long.", + + // "register-page.create-profile.submit": "Complete Registration", + // TODO New key - Add a translation + "register-page.create-profile.submit": "Complete Registration", + + // "register-page.create-profile.submit.error.content": "Something went wrong while registering a new user.", + // TODO New key - Add a translation + "register-page.create-profile.submit.error.content": "Something went wrong while registering a new user.", + + // "register-page.create-profile.submit.error.head": "Registration failed", + // TODO New key - Add a translation + "register-page.create-profile.submit.error.head": "Registration failed", + + // "register-page.create-profile.submit.success.content": "The registration was successful. You have been logged in as the created user.", + // TODO New key - Add a translation + "register-page.create-profile.submit.success.content": "The registration was successful. You have been logged in as the created user.", + + // "register-page.create-profile.submit.success.head": "Registration completed", + // TODO New key - Add a translation + "register-page.create-profile.submit.success.head": "Registration completed", + + + // "register-page.registration.header": "New user registration", + // TODO New key - Add a translation + "register-page.registration.header": "New user registration", + + // "register-page.registration.info": "Register an account to subscribe to collections for email updates, and submit new items to DSpace.", + // TODO New key - Add a translation + "register-page.registration.info": "Register an account to subscribe to collections for email updates, and submit new items to DSpace.", + + // "register-page.registration.email": "Email Address *", + // TODO New key - Add a translation + "register-page.registration.email": "Email Address *", + + // "register-page.registration.email.error.required": "Please fill in an email address", + // TODO New key - Add a translation + "register-page.registration.email.error.required": "Please fill in an email address", + + // "register-page.registration.email.error.pattern": "Please fill in a valid email address", + // TODO New key - Add a translation + "register-page.registration.email.error.pattern": "Please fill in a valid email address", + + // "register-page.registration.email.hint": "This address will be verified and used as your login name.", + // TODO New key - Add a translation + "register-page.registration.email.hint": "This address will be verified and used as your login name.", + + // "register-page.registration.submit": "Register", + // TODO New key - Add a translation + "register-page.registration.submit": "Register", + + // "register-page.registration.success.head": "Verification email sent", + // TODO New key - Add a translation + "register-page.registration.success.head": "Verification email sent", + + // "register-page.registration.success.content": "An email has been sent to {{ email }} containing a special URL and further instructions.", + // TODO New key - Add a translation + "register-page.registration.success.content": "An email has been sent to {{ email }} containing a special URL and further instructions.", + + // "register-page.registration.error.head": "Error when trying to register email", + // TODO New key - Add a translation + "register-page.registration.error.head": "Error when trying to register email", + + // "register-page.registration.error.content": "An error occured when registering the following email address: {{ email }}", + // TODO New key - Add a translation + "register-page.registration.error.content": "An error occured when registering the following email address: {{ email }}", + + + + // "relationships.add.error.relationship-type.content": "No suitable match could be found for relationship type {{ type }} between the two items", + // TODO New key - Add a translation + "relationships.add.error.relationship-type.content": "No suitable match could be found for relationship type {{ type }} between the two items", + + // "relationships.add.error.server.content": "The server returned an error", + // TODO New key - Add a translation + "relationships.add.error.server.content": "The server returned an error", + + // "relationships.add.error.title": "Unable to add relationship", + // TODO New key - Add a translation + "relationships.add.error.title": "Unable to add relationship", // "relationships.isAuthorOf": "Authors", // TODO New key - Add a translation "relationships.isAuthorOf": "Authors", + // "relationships.isAuthorOf.Person": "Authors (persons)", + // TODO New key - Add a translation + "relationships.isAuthorOf.Person": "Authors (persons)", + + // "relationships.isAuthorOf.OrgUnit": "Authors (organizational units)", + // TODO New key - Add a translation + "relationships.isAuthorOf.OrgUnit": "Authors (organizational units)", + // "relationships.isIssueOf": "Journal Issues", // TODO New key - Add a translation "relationships.isIssueOf": "Journal Issues", @@ -3702,6 +5069,208 @@ + // "resource-policies.add.button": "Add", + // TODO New key - Add a translation + "resource-policies.add.button": "Add", + + // "resource-policies.add.for.": "Add a new policy", + // TODO New key - Add a translation + "resource-policies.add.for.": "Add a new policy", + + // "resource-policies.add.for.bitstream": "Add a new Bitstream policy", + // TODO New key - Add a translation + "resource-policies.add.for.bitstream": "Add a new Bitstream policy", + + // "resource-policies.add.for.bundle": "Add a new Bundle policy", + // TODO New key - Add a translation + "resource-policies.add.for.bundle": "Add a new Bundle policy", + + // "resource-policies.add.for.item": "Add a new Item policy", + // TODO New key - Add a translation + "resource-policies.add.for.item": "Add a new Item policy", + + // "resource-policies.add.for.community": "Add a new Community policy", + // TODO New key - Add a translation + "resource-policies.add.for.community": "Add a new Community policy", + + // "resource-policies.add.for.collection": "Add a new Collection policy", + // TODO New key - Add a translation + "resource-policies.add.for.collection": "Add a new Collection policy", + + // "resource-policies.create.page.heading": "Create new resource policy for ", + // TODO New key - Add a translation + "resource-policies.create.page.heading": "Create new resource policy for ", + + // "resource-policies.create.page.failure.content": "An error occurred while creating the resource policy.", + // TODO New key - Add a translation + "resource-policies.create.page.failure.content": "An error occurred while creating the resource policy.", + + // "resource-policies.create.page.success.content": "Operation successful", + // TODO New key - Add a translation + "resource-policies.create.page.success.content": "Operation successful", + + // "resource-policies.create.page.title": "Create new resource policy", + // TODO New key - Add a translation + "resource-policies.create.page.title": "Create new resource policy", + + // "resource-policies.delete.btn": "Delete selected", + // TODO New key - Add a translation + "resource-policies.delete.btn": "Delete selected", + + // "resource-policies.delete.btn.title": "Delete selected resource policies", + // TODO New key - Add a translation + "resource-policies.delete.btn.title": "Delete selected resource policies", + + // "resource-policies.delete.failure.content": "An error occurred while deleting selected resource policies.", + // TODO New key - Add a translation + "resource-policies.delete.failure.content": "An error occurred while deleting selected resource policies.", + + // "resource-policies.delete.success.content": "Operation successful", + // TODO New key - Add a translation + "resource-policies.delete.success.content": "Operation successful", + + // "resource-policies.edit.page.heading": "Edit resource policy ", + // TODO New key - Add a translation + "resource-policies.edit.page.heading": "Edit resource policy ", + + // "resource-policies.edit.page.failure.content": "An error occurred while editing the resource policy.", + // TODO New key - Add a translation + "resource-policies.edit.page.failure.content": "An error occurred while editing the resource policy.", + + // "resource-policies.edit.page.success.content": "Operation successful", + // TODO New key - Add a translation + "resource-policies.edit.page.success.content": "Operation successful", + + // "resource-policies.edit.page.title": "Edit resource policy", + // TODO New key - Add a translation + "resource-policies.edit.page.title": "Edit resource policy", + + // "resource-policies.form.action-type.label": "Select the action type", + // TODO New key - Add a translation + "resource-policies.form.action-type.label": "Select the action type", + + // "resource-policies.form.action-type.required": "You must select the resource policy action.", + // TODO New key - Add a translation + "resource-policies.form.action-type.required": "You must select the resource policy action.", + + // "resource-policies.form.eperson-group-list.label": "The eperson or group that will be granted the permission", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.label": "The eperson or group that will be granted the permission", + + // "resource-policies.form.eperson-group-list.select.btn": "Select", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.select.btn": "Select", + + // "resource-policies.form.eperson-group-list.tab.eperson": "Search for a ePerson", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.tab.eperson": "Search for a ePerson", + + // "resource-policies.form.eperson-group-list.tab.group": "Search for a group", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.tab.group": "Search for a group", + + // "resource-policies.form.eperson-group-list.table.headers.action": "Action", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.table.headers.action": "Action", + + // "resource-policies.form.eperson-group-list.table.headers.id": "ID", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.table.headers.id": "ID", + + // "resource-policies.form.eperson-group-list.table.headers.name": "Name", + // TODO New key - Add a translation + "resource-policies.form.eperson-group-list.table.headers.name": "Name", + + // "resource-policies.form.date.end.label": "End Date", + // TODO New key - Add a translation + "resource-policies.form.date.end.label": "End Date", + + // "resource-policies.form.date.start.label": "Start Date", + // TODO New key - Add a translation + "resource-policies.form.date.start.label": "Start Date", + + // "resource-policies.form.description.label": "Description", + // TODO New key - Add a translation + "resource-policies.form.description.label": "Description", + + // "resource-policies.form.name.label": "Name", + // TODO New key - Add a translation + "resource-policies.form.name.label": "Name", + + // "resource-policies.form.policy-type.label": "Select the policy type", + // TODO New key - Add a translation + "resource-policies.form.policy-type.label": "Select the policy type", + + // "resource-policies.form.policy-type.required": "You must select the resource policy type.", + // TODO New key - Add a translation + "resource-policies.form.policy-type.required": "You must select the resource policy type.", + + // "resource-policies.table.headers.action": "Action", + // TODO New key - Add a translation + "resource-policies.table.headers.action": "Action", + + // "resource-policies.table.headers.date.end": "End Date", + // TODO New key - Add a translation + "resource-policies.table.headers.date.end": "End Date", + + // "resource-policies.table.headers.date.start": "Start Date", + // TODO New key - Add a translation + "resource-policies.table.headers.date.start": "Start Date", + + // "resource-policies.table.headers.edit": "Edit", + // TODO New key - Add a translation + "resource-policies.table.headers.edit": "Edit", + + // "resource-policies.table.headers.edit.group": "Edit group", + // TODO New key - Add a translation + "resource-policies.table.headers.edit.group": "Edit group", + + // "resource-policies.table.headers.edit.policy": "Edit policy", + // TODO New key - Add a translation + "resource-policies.table.headers.edit.policy": "Edit policy", + + // "resource-policies.table.headers.eperson": "EPerson", + // TODO New key - Add a translation + "resource-policies.table.headers.eperson": "EPerson", + + // "resource-policies.table.headers.group": "Group", + // TODO New key - Add a translation + "resource-policies.table.headers.group": "Group", + + // "resource-policies.table.headers.id": "ID", + // TODO New key - Add a translation + "resource-policies.table.headers.id": "ID", + + // "resource-policies.table.headers.name": "Name", + // TODO New key - Add a translation + "resource-policies.table.headers.name": "Name", + + // "resource-policies.table.headers.policyType": "type", + // TODO New key - Add a translation + "resource-policies.table.headers.policyType": "type", + + // "resource-policies.table.headers.title.for.bitstream": "Policies for Bitstream", + // TODO New key - Add a translation + "resource-policies.table.headers.title.for.bitstream": "Policies for Bitstream", + + // "resource-policies.table.headers.title.for.bundle": "Policies for Bundle", + // TODO New key - Add a translation + "resource-policies.table.headers.title.for.bundle": "Policies for Bundle", + + // "resource-policies.table.headers.title.for.item": "Policies for Item", + // TODO New key - Add a translation + "resource-policies.table.headers.title.for.item": "Policies for Item", + + // "resource-policies.table.headers.title.for.community": "Policies for Community", + // TODO New key - Add a translation + "resource-policies.table.headers.title.for.community": "Policies for Community", + + // "resource-policies.table.headers.title.for.collection": "Policies for Collection", + // TODO New key - Add a translation + "resource-policies.table.headers.title.for.collection": "Policies for Collection", + + + // "search.description": "", // TODO New key - Add a translation "search.description": "", @@ -4090,6 +5659,14 @@ + // "sorting.ASC": "Ascending", + // TODO New key - Add a translation + "sorting.ASC": "Ascending", + + // "sorting.DESC": "Descending", + // TODO New key - Add a translation + "sorting.DESC": "Descending", + // "sorting.dc.title.ASC": "Title Ascending", // TODO New key - Add a translation "sorting.dc.title.ASC": "Title Ascending", @@ -4104,6 +5681,52 @@ + // "statistics.title": "Statistics", + // TODO New key - Add a translation + "statistics.title": "Statistics", + + // "statistics.header": "Statistics for {{ scope }}", + // TODO New key - Add a translation + "statistics.header": "Statistics for {{ scope }}", + + // "statistics.breadcrumbs": "Statistics", + // TODO New key - Add a translation + "statistics.breadcrumbs": "Statistics", + + // "statistics.page.no-data": "No data available", + // TODO New key - Add a translation + "statistics.page.no-data": "No data available", + + // "statistics.table.no-data": "No data available", + // TODO New key - Add a translation + "statistics.table.no-data": "No data available", + + // "statistics.table.title.TotalVisits": "Total visits", + // TODO New key - Add a translation + "statistics.table.title.TotalVisits": "Total visits", + + // "statistics.table.title.TotalVisitsPerMonth": "Total visits per month", + // TODO New key - Add a translation + "statistics.table.title.TotalVisitsPerMonth": "Total visits per month", + + // "statistics.table.title.TotalDownloads": "File Visits", + // TODO New key - Add a translation + "statistics.table.title.TotalDownloads": "File Visits", + + // "statistics.table.title.TopCountries": "Top country views", + // TODO New key - Add a translation + "statistics.table.title.TopCountries": "Top country views", + + // "statistics.table.title.TopCities": "Top city views", + // TODO New key - Add a translation + "statistics.table.title.TopCities": "Top city views", + + // "statistics.table.header.views": "Views", + // TODO New key - Add a translation + "statistics.table.header.views": "Views", + + + // "submission.edit.title": "Edit Submission", // TODO New key - Add a translation "submission.edit.title": "Edit Submission", @@ -4145,6 +5768,85 @@ "submission.general.save-later": "Save for later", + // "submission.import-external.page.title": "Import metadata from an external source", + // TODO New key - Add a translation + "submission.import-external.page.title": "Import metadata from an external source", + + // "submission.import-external.title": "Import metadata from an external source", + // TODO New key - Add a translation + "submission.import-external.title": "Import metadata from an external source", + + // "submission.import-external.page.hint": "Enter a query above to find items from the web to import in to DSpace.", + // TODO New key - Add a translation + "submission.import-external.page.hint": "Enter a query above to find items from the web to import in to DSpace.", + + // "submission.import-external.back-to-my-dspace": "Back to MyDSpace", + // TODO New key - Add a translation + "submission.import-external.back-to-my-dspace": "Back to MyDSpace", + + // "submission.import-external.search.placeholder": "Search the external source", + // TODO New key - Add a translation + "submission.import-external.search.placeholder": "Search the external source", + + // "submission.import-external.search.button": "Search", + // TODO New key - Add a translation + "submission.import-external.search.button": "Search", + + // "submission.import-external.search.button.hint": "Write some words to search", + // TODO New key - Add a translation + "submission.import-external.search.button.hint": "Write some words to search", + + // "submission.import-external.search.source.hint": "Pick an external source", + // TODO New key - Add a translation + "submission.import-external.search.source.hint": "Pick an external source", + + // "submission.import-external.source.arxiv": "arXiv", + // TODO New key - Add a translation + "submission.import-external.source.arxiv": "arXiv", + + // "submission.import-external.source.loading": "Loading ...", + // TODO New key - Add a translation + "submission.import-external.source.loading": "Loading ...", + + // "submission.import-external.source.sherpaJournal": "SHERPA Journals", + // TODO New key - Add a translation + "submission.import-external.source.sherpaJournal": "SHERPA Journals", + + // "submission.import-external.source.sherpaPublisher": "SHERPA Publishers", + // TODO New key - Add a translation + "submission.import-external.source.sherpaPublisher": "SHERPA Publishers", + + // "submission.import-external.source.orcid": "ORCID", + // TODO New key - Add a translation + "submission.import-external.source.orcid": "ORCID", + + // "submission.import-external.source.pubmed": "Pubmed", + // TODO New key - Add a translation + "submission.import-external.source.pubmed": "Pubmed", + + // "submission.import-external.source.lcname": "Library of Congress Names", + // TODO New key - Add a translation + "submission.import-external.source.lcname": "Library of Congress Names", + + // "submission.import-external.preview.title": "Item Preview", + // TODO New key - Add a translation + "submission.import-external.preview.title": "Item Preview", + + // "submission.import-external.preview.subtitle": "The metadata below was imported from an external source. It will be pre-filled when you start the submission.", + // TODO New key - Add a translation + "submission.import-external.preview.subtitle": "The metadata below was imported from an external source. It will be pre-filled when you start the submission.", + + // "submission.import-external.preview.button.import": "Start submission", + // TODO New key - Add a translation + "submission.import-external.preview.button.import": "Start submission", + + // "submission.import-external.preview.error.import.title": "Submission error", + // TODO New key - Add a translation + "submission.import-external.preview.error.import.title": "Submission error", + + // "submission.import-external.preview.error.import.body": "An error occurs during the external source entry import process.", + // TODO New key - Add a translation + "submission.import-external.preview.error.import.body": "An error occurs during the external source entry import process.", // "submission.sections.describe.relationship-lookup.close": "Close", // TODO New key - Add a translation @@ -4154,9 +5856,9 @@ // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.external-source.added": "Successfully added local entry to the selection", - // "submission.sections.describe.relationship-lookup.external-source.import-button-title.Author": "Import remote author", + // "submission.sections.describe.relationship-lookup.external-source.import-button-title.isAuthorOfPublication": "Import remote author", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-button-title.Author": "Import remote author", + "submission.sections.describe.relationship-lookup.external-source.import-button-title.isAuthorOfPublication": "Import remote author", // "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal": "Import remote journal", // TODO New key - Add a translation @@ -4170,17 +5872,17 @@ // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal Volume": "Import remote journal volume", - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.title": "Import Remote Author", + // "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.title": "Import Remote Author", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.title": "Import Remote Author", + "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.title": "Import Remote Author", - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.added.local-entity": "Successfully added local author to the selection", + // "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.added.local-entity": "Successfully added local author to the selection", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.added.local-entity": "Successfully added local author to the selection", + "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.added.local-entity": "Successfully added local author to the selection", - // "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.added.new-entity": "Successfully imported and added external author to the selection", + // "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.added.new-entity": "Successfully imported and added external author to the selection", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.external-source.import-modal.Author.added.new-entity": "Successfully imported and added external author to the selection", + "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.added.new-entity": "Successfully imported and added external author to the selection", // "submission.sections.describe.relationship-lookup.external-source.import-modal.authority": "Authority", // TODO New key - Add a translation @@ -4222,6 +5924,14 @@ // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.external-source.import-modal.head.sherpaPublisher": "Importing from Sherpa Publisher", + // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.pubmed": "Importing from PubMed", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.head.pubmed": "Importing from PubMed", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.arxiv": "Importing from arXiv", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.external-source.import-modal.head.arxiv": "Importing from arXiv", + // "submission.sections.describe.relationship-lookup.external-source.import-modal.import": "Import", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.external-source.import-modal.import": "Import", @@ -4298,21 +6008,54 @@ // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.selected": "Selected {{ size }} items", - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Author": "Local Authors ({{ count }})", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isAuthorOfPublication": "Local Authors ({{ count }})", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Author": "Local Authors ({{ count }})", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isAuthorOfPublication": "Local Authors ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalOfPublication": "Local Journals ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalOfPublication": "Local Journals ({{ count }})", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Project": "Local Projects ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.Project": "Local Projects ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Publication": "Local Publications ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.Publication": "Local Publications ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Person": "Local Authors ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.Person": "Local Authors ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.OrgUnit": "Local Organizational Units ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.OrgUnit": "Local Organizational Units ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.DataPackage": "Local Data Packages ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.DataPackage": "Local Data Packages ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.DataFile": "Local Data Files ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.DataFile": "Local Data Files ({{ count }})", // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal": "Local Journals ({{ count }})", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal": "Local Journals ({{ count }})", - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal Issue": "Local Journal Issues ({{ count }})", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalIssueOfPublication": "Local Journal Issues ({{ count }})", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal Issue": "Local Journal Issues ({{ count }})", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalIssueOfPublication": "Local Journal Issues ({{ count }})", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.JournalIssue": "Local Journal Issues ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.JournalIssue": "Local Journal Issues ({{ count }})", - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal Volume": "Local Journal Volumes ({{ count }})", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalVolumeOfPublication": "Local Journal Volumes ({{ count }})", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal Volume": "Local Journal Volumes ({{ count }})", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalVolumeOfPublication": "Local Journal Volumes ({{ count }})", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.JournalVolume": "Local Journal Volumes ({{ count }})", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.JournalVolume": "Local Journal Volumes ({{ count }})", // "submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaJournal": "Sherpa Journals ({{ count }})", // TODO New key - Add a translation @@ -4330,41 +6073,90 @@ // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.search-tab.tab-title.lcname": "LC Names ({{ count }})", - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Funding Agency": "Search for Funding Agencies", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.pubmed": "PubMed ({{ count }})", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Funding Agency": "Search for Funding Agencies", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.pubmed": "PubMed ({{ count }})", - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Funding": "Search for Funding", + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.arxiv": "arXiv ({{ count }})", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Funding": "Search for Funding", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.arxiv": "arXiv ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingAgencyOfPublication": "Search for Funding Agencies", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingAgencyOfPublication": "Search for Funding Agencies", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingOfPublication": "Search for Funding", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingOfPublication": "Search for Funding", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isChildOrgUnitOf": "Search for Organizational Units", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isChildOrgUnitOf": "Search for Organizational Units", // "submission.sections.describe.relationship-lookup.selection-tab.tab-title": "Current Selection ({{ count }})", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.selection-tab.tab-title": "Current Selection ({{ count }})", - // "submission.sections.describe.relationship-lookup.title.Journal Issue": "Journal Issues", + // "submission.sections.describe.relationship-lookup.title.isJournalIssueOfPublication": "Journal Issues", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.title.Journal Issue": "Journal Issues", + "submission.sections.describe.relationship-lookup.title.isJournalIssueOfPublication": "Journal Issues", + // "submission.sections.describe.relationship-lookup.title.JournalIssue": "Journal Issues", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.JournalIssue": "Journal Issues", - // "submission.sections.describe.relationship-lookup.title.Journal Volume": "Journal Volumes", + // "submission.sections.describe.relationship-lookup.title.isJournalVolumeOfPublication": "Journal Volumes", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.title.Journal Volume": "Journal Volumes", + "submission.sections.describe.relationship-lookup.title.isJournalVolumeOfPublication": "Journal Volumes", + // "submission.sections.describe.relationship-lookup.title.JournalVolume": "Journal Volumes", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.JournalVolume": "Journal Volumes", - // "submission.sections.describe.relationship-lookup.title.Journal": "Journals", + // "submission.sections.describe.relationship-lookup.title.isJournalOfPublication": "Journals", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.title.Journal": "Journals", + "submission.sections.describe.relationship-lookup.title.isJournalOfPublication": "Journals", - // "submission.sections.describe.relationship-lookup.title.Author": "Authors", + // "submission.sections.describe.relationship-lookup.title.isAuthorOfPublication": "Authors", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.title.Author": "Authors", + "submission.sections.describe.relationship-lookup.title.isAuthorOfPublication": "Authors", + + // "submission.sections.describe.relationship-lookup.title.isFundingAgencyOfPublication": "Funding Agency", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.isFundingAgencyOfPublication": "Funding Agency", + // "submission.sections.describe.relationship-lookup.title.Project": "Projects", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.Project": "Projects", + + // "submission.sections.describe.relationship-lookup.title.Publication": "Publications", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.Publication": "Publications", + + // "submission.sections.describe.relationship-lookup.title.Person": "Authors", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.Person": "Authors", + + // "submission.sections.describe.relationship-lookup.title.OrgUnit": "Organizational Units", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.OrgUnit": "Organizational Units", + + // "submission.sections.describe.relationship-lookup.title.DataPackage": "Data Packages", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.DataPackage": "Data Packages", + + // "submission.sections.describe.relationship-lookup.title.DataFile": "Data Files", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.DataFile": "Data Files", // "submission.sections.describe.relationship-lookup.title.Funding Agency": "Funding Agency", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.title.Funding Agency": "Funding Agency", - // "submission.sections.describe.relationship-lookup.title.Funding": "Funding", + // "submission.sections.describe.relationship-lookup.title.isFundingOfPublication": "Funding", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.title.Funding": "Funding", + "submission.sections.describe.relationship-lookup.title.isFundingOfPublication": "Funding", + + // "submission.sections.describe.relationship-lookup.title.isChildOrgUnitOf": "Parent Organizational Unit", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.title.isChildOrgUnitOf": "Parent Organizational Unit", // "submission.sections.describe.relationship-lookup.search-tab.toggle-dropdown": "Toggle dropdown", // TODO New key - Add a translation @@ -4378,21 +6170,66 @@ // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.selection-tab.no-selection": "Your selection is currently empty.", - // "submission.sections.describe.relationship-lookup.selection-tab.title.Author": "Selected Authors", + // "submission.sections.describe.relationship-lookup.selection-tab.title.isAuthorOfPublication": "Selected Authors", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.selection-tab.title.Author": "Selected Authors", + "submission.sections.describe.relationship-lookup.selection-tab.title.isAuthorOfPublication": "Selected Authors", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalOfPublication": "Selected Journals", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalOfPublication": "Selected Journals", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalVolumeOfPublication": "Selected Journal Volume", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalVolumeOfPublication": "Selected Journal Volume", + // "submission.sections.describe.relationship-lookup.selection-tab.title.Project": "Selected Projects", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.Project": "Selected Projects", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.Publication": "Selected Publications", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.Publication": "Selected Publications", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.Person": "Selected Authors", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.Person": "Selected Authors", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.OrgUnit": "Selected Organizational Units", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.OrgUnit": "Selected Organizational Units", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.DataPackage": "Selected Data Packages", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.DataPackage": "Selected Data Packages", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.DataFile": "Selected Data Files", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.DataFile": "Selected Data Files", // "submission.sections.describe.relationship-lookup.selection-tab.title.Journal": "Selected Journals", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.selection-tab.title.Journal": "Selected Journals", - // "submission.sections.describe.relationship-lookup.selection-tab.title.Journal Volume": "Selected Journal Volume", + // "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalIssueOfPublication": "Selected Issue", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.selection-tab.title.Journal Volume": "Selected Journal Volume", + "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalIssueOfPublication": "Selected Issue", + // "submission.sections.describe.relationship-lookup.selection-tab.title.JournalVolume": "Selected Journal Volume", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.JournalVolume": "Selected Journal Volume", - // "submission.sections.describe.relationship-lookup.selection-tab.title.Journal Issue": "Selected Issue", + // "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingAgencyOfPublication": "Selected Funding Agency", // TODO New key - Add a translation - "submission.sections.describe.relationship-lookup.selection-tab.title.Journal Issue": "Selected Issue", + "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingAgencyOfPublication": "Selected Funding Agency", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingOfPublication": "Selected Funding", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingOfPublication": "Selected Funding", + // "submission.sections.describe.relationship-lookup.selection-tab.title.JournalIssue": "Selected Issue", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.JournalIssue": "Selected Issue", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isChildOrgUnitOf": "Selected Organizational Unit", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.isChildOrgUnitOf": "Selected Organizational Unit", // "submission.sections.describe.relationship-lookup.selection-tab.title.sherpaJournal": "Search Results", // TODO New key - Add a translation @@ -4406,10 +6243,22 @@ // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.selection-tab.title.orcid": "Search Results", + // "submission.sections.describe.relationship-lookup.selection-tab.title.orcidv2": "Search Results", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.orcidv2": "Search Results", + // "submission.sections.describe.relationship-lookup.selection-tab.title.lcname": "Search Results", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.selection-tab.title.lcname": "Search Results", + // "submission.sections.describe.relationship-lookup.selection-tab.title.pubmed": "Search Results", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.pubmed": "Search Results", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.arxiv": "Search Results", + // TODO New key - Add a translation + "submission.sections.describe.relationship-lookup.selection-tab.title.arxiv": "Search Results", + // "submission.sections.describe.relationship-lookup.name-variant.notification.content": "Would you like to save \"{{ value }}\" as a name variant for this person so you and others can reuse it for future submissions? If you don\'t you can still use it for this submission.", // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.name-variant.notification.content": "Would you like to save \"{{ value }}\" as a name variant for this person so you and others can reuse it for future submissions? If you don\'t you can still use it for this submission.", @@ -4422,6 +6271,34 @@ // TODO New key - Add a translation "submission.sections.describe.relationship-lookup.name-variant.notification.decline": "Use only for this submission", + // "submission.sections.ccLicense.type": "License Type", + // TODO New key - Add a translation + "submission.sections.ccLicense.type": "License Type", + + // "submission.sections.ccLicense.select": "Select a license type…", + // TODO New key - Add a translation + "submission.sections.ccLicense.select": "Select a license type…", + + // "submission.sections.ccLicense.change": "Change your license type…", + // TODO New key - Add a translation + "submission.sections.ccLicense.change": "Change your license type…", + + // "submission.sections.ccLicense.none": "No licenses available", + // TODO New key - Add a translation + "submission.sections.ccLicense.none": "No licenses available", + + // "submission.sections.ccLicense.option.select": "Select an option…", + // TODO New key - Add a translation + "submission.sections.ccLicense.option.select": "Select an option…", + + // "submission.sections.ccLicense.link": "You’ve selected the following license:", + // TODO New key - Add a translation + "submission.sections.ccLicense.link": "You’ve selected the following license:", + + // "submission.sections.ccLicense.confirmation": "I grant the license above", + // TODO New key - Add a translation + "submission.sections.ccLicense.confirmation": "I grant the license above", + // "submission.sections.general.add-more": "Add more", // TODO New key - Add a translation "submission.sections.general.add-more": "Add more", @@ -4480,9 +6357,9 @@ - // "submission.sections.submit.progressbar.cclicense": "Creative commons license", + // "submission.sections.submit.progressbar.CClicense": "Creative commons license", // TODO New key - Add a translation - "submission.sections.submit.progressbar.cclicense": "Creative commons license", + "submission.sections.submit.progressbar.CClicense": "Creative commons license", // "submission.sections.submit.progressbar.describe.recycle": "Recycle", // TODO New key - Add a translation @@ -4546,9 +6423,9 @@ // TODO New key - Add a translation "submission.sections.upload.form.date-required": "Date is required.", - // "submission.sections.upload.form.from-label": "Access grant from", + // "submission.sections.upload.form.from-label": "Grant access from", // TODO New key - Add a translation - "submission.sections.upload.form.from-label": "Access grant from", + "submission.sections.upload.form.from-label": "Grant access from", // "submission.sections.upload.form.from-placeholder": "From", // TODO New key - Add a translation @@ -4562,9 +6439,9 @@ // TODO New key - Add a translation "submission.sections.upload.form.group-required": "Group is required.", - // "submission.sections.upload.form.until-label": "Access grant until", + // "submission.sections.upload.form.until-label": "Grant access until", // TODO New key - Add a translation - "submission.sections.upload.form.until-label": "Access grant until", + "submission.sections.upload.form.until-label": "Grant access until", // "submission.sections.upload.form.until-placeholder": "Until", // TODO New key - Add a translation @@ -4731,13 +6608,34 @@ "title": "DSpace", - // "administrativeView.search.results.head": "Administrative Search", - // TODO New key - Add a translation - "administrativeView.search.results.head": "Administrative Search", - // "menu.section.admin_search": "Admin Search", + // "vocabulary-treeview.header": "Hierarchical tree view", // TODO New key - Add a translation - "menu.section.admin_search": "Admin Search", + "vocabulary-treeview.header": "Hierarchical tree view", + + // "vocabulary-treeview.load-more": "Load more", + // TODO New key - Add a translation + "vocabulary-treeview.load-more": "Load more", + + // "vocabulary-treeview.search.form.reset": "Reset", + // TODO New key - Add a translation + "vocabulary-treeview.search.form.reset": "Reset", + + // "vocabulary-treeview.search.form.search": "Search", + // TODO New key - Add a translation + "vocabulary-treeview.search.form.search": "Search", + + // "vocabulary-treeview.search.no-result": "There were no items to show", + // TODO New key - Add a translation + "vocabulary-treeview.search.no-result": "There were no items to show", + + // "vocabulary-treeview.tree.description.nsi": "The Norwegian Science Index", + // TODO New key - Add a translation + "vocabulary-treeview.tree.description.nsi": "The Norwegian Science Index", + + // "vocabulary-treeview.tree.description.srsc": "Research Subject Categories", + // TODO New key - Add a translation + "vocabulary-treeview.tree.description.srsc": "Research Subject Categories", @@ -4749,9 +6647,9 @@ // TODO New key - Add a translation "uploader.drag-message": "Drag & Drop your files here", - // "uploader.or": ", or", + // "uploader.or": ", or ", // TODO New key - Add a translation - "uploader.or": ", or", + "uploader.or": ", or ", // "uploader.processing": "Processing", // TODO New key - Add a translation @@ -4774,5 +6672,77 @@ "virtual-metadata.delete-relationship.modal-head": "Select the items for which you want to save the virtual metadata as real metadata", + + // "workflowAdmin.search.results.head": "Administer Workflow", + // TODO New key - Add a translation + "workflowAdmin.search.results.head": "Administer Workflow", + + + + // "workflow-item.delete.notification.success.title": "Deleted", + // TODO New key - Add a translation + "workflow-item.delete.notification.success.title": "Deleted", + + // "workflow-item.delete.notification.success.content": "This workflow item was successfully deleted", + // TODO New key - Add a translation + "workflow-item.delete.notification.success.content": "This workflow item was successfully deleted", + + // "workflow-item.delete.notification.error.title": "Something went wrong", + // TODO New key - Add a translation + "workflow-item.delete.notification.error.title": "Something went wrong", + + // "workflow-item.delete.notification.error.content": "The workflow item could not be deleted", + // TODO New key - Add a translation + "workflow-item.delete.notification.error.content": "The workflow item could not be deleted", + + // "workflow-item.delete.title": "Delete workflow item", + // TODO New key - Add a translation + "workflow-item.delete.title": "Delete workflow item", + + // "workflow-item.delete.header": "Delete workflow item", + // TODO New key - Add a translation + "workflow-item.delete.header": "Delete workflow item", + + // "workflow-item.delete.button.cancel": "Cancel", + // TODO New key - Add a translation + "workflow-item.delete.button.cancel": "Cancel", + + // "workflow-item.delete.button.confirm": "Delete", + // TODO New key - Add a translation + "workflow-item.delete.button.confirm": "Delete", + + + // "workflow-item.send-back.notification.success.title": "Sent back to submitter", + // TODO New key - Add a translation + "workflow-item.send-back.notification.success.title": "Sent back to submitter", + + // "workflow-item.send-back.notification.success.content": "This workflow item was successfully sent back to the submitter", + // TODO New key - Add a translation + "workflow-item.send-back.notification.success.content": "This workflow item was successfully sent back to the submitter", + + // "workflow-item.send-back.notification.error.title": "Something went wrong", + // TODO New key - Add a translation + "workflow-item.send-back.notification.error.title": "Something went wrong", + + // "workflow-item.send-back.notification.error.content": "The workflow item could not be sent back to the submitter", + // TODO New key - Add a translation + "workflow-item.send-back.notification.error.content": "The workflow item could not be sent back to the submitter", + + // "workflow-item.send-back.title": "Send workflow item back to submitter", + // TODO New key - Add a translation + "workflow-item.send-back.title": "Send workflow item back to submitter", + + // "workflow-item.send-back.header": "Send workflow item back to submitter", + // TODO New key - Add a translation + "workflow-item.send-back.header": "Send workflow item back to submitter", + + // "workflow-item.send-back.button.cancel": "Cancel", + // TODO New key - Add a translation + "workflow-item.send-back.button.cancel": "Cancel", + + // "workflow-item.send-back.button.confirm": "Send back" + // TODO New key - Add a translation + "workflow-item.send-back.button.confirm": "Send back" + } \ No newline at end of file From 7b455c47c8168d0ceb8dd262d7d192272d212855 Mon Sep 17 00:00:00 2001 From: Bruno Roemers Date: Fri, 12 Mar 2021 11:06:42 +0100 Subject: [PATCH 079/106] 77643: Rename BreadcrumbsService to BreadcrumbsProviderService --- src/app/breadcrumbs/breadcrumb/breadcrumb-config.model.ts | 4 ++-- src/app/breadcrumbs/breadcrumbs.component.spec.ts | 4 ++-- .../{breadcrumbs.service.ts => breadcrumbsProviderService.ts} | 2 +- src/app/core/breadcrumbs/dso-breadcrumbs.service.ts | 4 ++-- src/app/core/breadcrumbs/i18n-breadcrumbs.service.ts | 4 ++-- src/app/process-page/process-breadcrumbs.service.ts | 4 ++-- 6 files changed, 11 insertions(+), 11 deletions(-) rename src/app/core/breadcrumbs/{breadcrumbs.service.ts => breadcrumbsProviderService.ts} (90%) diff --git a/src/app/breadcrumbs/breadcrumb/breadcrumb-config.model.ts b/src/app/breadcrumbs/breadcrumb/breadcrumb-config.model.ts index 0ff8fc5033..cc9277ee50 100644 --- a/src/app/breadcrumbs/breadcrumb/breadcrumb-config.model.ts +++ b/src/app/breadcrumbs/breadcrumb/breadcrumb-config.model.ts @@ -1,4 +1,4 @@ -import { BreadcrumbsService } from '../../core/breadcrumbs/breadcrumbs.service'; +import { BreadcrumbsProviderService } from '../../core/breadcrumbs/breadcrumbsProviderService'; /** * Interface for breadcrumb configuration objects @@ -7,7 +7,7 @@ export interface BreadcrumbConfig { /** * The service used to calculate the breadcrumb object */ - provider: BreadcrumbsService; + provider: BreadcrumbsProviderService; /** * The key that is used to calculate the breadcrumb display value diff --git a/src/app/breadcrumbs/breadcrumbs.component.spec.ts b/src/app/breadcrumbs/breadcrumbs.component.spec.ts index f7f8789144..f56e94bf44 100644 --- a/src/app/breadcrumbs/breadcrumbs.component.spec.ts +++ b/src/app/breadcrumbs/breadcrumbs.component.spec.ts @@ -7,14 +7,14 @@ import { RouterTestingModule } from '@angular/router/testing'; import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; import { TranslateLoaderMock } from '../shared/testing/translate-loader.mock'; import { BreadcrumbConfig } from './breadcrumb/breadcrumb-config.model'; -import { BreadcrumbsService } from '../core/breadcrumbs/breadcrumbs.service'; +import { BreadcrumbsProviderService } from '../core/breadcrumbs/breadcrumbsProviderService'; import { Breadcrumb } from './breadcrumb/breadcrumb.model'; import { NO_ERRORS_SCHEMA } from '@angular/core'; import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; import { VarDirective } from '../shared/utils/var.directive'; import { getTestScheduler } from 'jasmine-marbles'; -class TestBreadcrumbsService implements BreadcrumbsService { +class TestBreadcrumbsService implements BreadcrumbsProviderService { getBreadcrumbs(key: string, url: string): Observable { return observableOf([new Breadcrumb(key, url)]); } diff --git a/src/app/core/breadcrumbs/breadcrumbs.service.ts b/src/app/core/breadcrumbs/breadcrumbsProviderService.ts similarity index 90% rename from src/app/core/breadcrumbs/breadcrumbs.service.ts rename to src/app/core/breadcrumbs/breadcrumbsProviderService.ts index f274485d5d..4f5dd0a583 100644 --- a/src/app/core/breadcrumbs/breadcrumbs.service.ts +++ b/src/app/core/breadcrumbs/breadcrumbsProviderService.ts @@ -4,7 +4,7 @@ import { Observable } from 'rxjs'; /** * Service to calculate breadcrumbs for a single part of the route */ -export interface BreadcrumbsService { +export interface BreadcrumbsProviderService { /** * Method to calculate the breadcrumbs for a part of the route diff --git a/src/app/core/breadcrumbs/dso-breadcrumbs.service.ts b/src/app/core/breadcrumbs/dso-breadcrumbs.service.ts index f822a953a8..23fff18537 100644 --- a/src/app/core/breadcrumbs/dso-breadcrumbs.service.ts +++ b/src/app/core/breadcrumbs/dso-breadcrumbs.service.ts @@ -1,5 +1,5 @@ import { Breadcrumb } from '../../breadcrumbs/breadcrumb/breadcrumb.model'; -import { BreadcrumbsService } from './breadcrumbs.service'; +import { BreadcrumbsProviderService } from './breadcrumbsProviderService'; import { DSONameService } from './dso-name.service'; import { Observable, of as observableOf } from 'rxjs'; import { ChildHALResource } from '../shared/child-hal-resource.model'; @@ -18,7 +18,7 @@ import { getDSORoute } from '../../app-routing-paths'; @Injectable({ providedIn: 'root' }) -export class DSOBreadcrumbsService implements BreadcrumbsService { +export class DSOBreadcrumbsService implements BreadcrumbsProviderService { constructor( private linkService: LinkService, private dsoNameService: DSONameService diff --git a/src/app/core/breadcrumbs/i18n-breadcrumbs.service.ts b/src/app/core/breadcrumbs/i18n-breadcrumbs.service.ts index b774b58126..15563bdde8 100644 --- a/src/app/core/breadcrumbs/i18n-breadcrumbs.service.ts +++ b/src/app/core/breadcrumbs/i18n-breadcrumbs.service.ts @@ -1,5 +1,5 @@ import { Breadcrumb } from '../../breadcrumbs/breadcrumb/breadcrumb.model'; -import { BreadcrumbsService } from './breadcrumbs.service'; +import { BreadcrumbsProviderService } from './breadcrumbsProviderService'; import { Observable, of as observableOf } from 'rxjs'; import { Injectable } from '@angular/core'; @@ -14,7 +14,7 @@ export const BREADCRUMB_MESSAGE_POSTFIX = '.breadcrumbs'; @Injectable({ providedIn: 'root' }) -export class I18nBreadcrumbsService implements BreadcrumbsService { +export class I18nBreadcrumbsService implements BreadcrumbsProviderService { /** * Method to calculate the breadcrumbs diff --git a/src/app/process-page/process-breadcrumbs.service.ts b/src/app/process-page/process-breadcrumbs.service.ts index ffd289e04e..26b0787a53 100644 --- a/src/app/process-page/process-breadcrumbs.service.ts +++ b/src/app/process-page/process-breadcrumbs.service.ts @@ -1,6 +1,6 @@ import { Observable, of as observableOf } from 'rxjs'; import { Injectable } from '@angular/core'; -import { BreadcrumbsService } from '../core/breadcrumbs/breadcrumbs.service'; +import { BreadcrumbsProviderService } from '../core/breadcrumbs/breadcrumbsProviderService'; import { Breadcrumb } from '../breadcrumbs/breadcrumb/breadcrumb.model'; import { Process } from './processes/process.model'; @@ -8,7 +8,7 @@ import { Process } from './processes/process.model'; * Service to calculate process breadcrumbs for a single part of the route */ @Injectable() -export class ProcessBreadcrumbsService implements BreadcrumbsService { +export class ProcessBreadcrumbsService implements BreadcrumbsProviderService { /** * Method to calculate the breadcrumbs From c2ca35c522751294fd6bc41b165dbc0525dfdabd Mon Sep 17 00:00:00 2001 From: Bruno Roemers Date: Fri, 12 Mar 2021 15:36:00 +0100 Subject: [PATCH 080/106] 77643: WIP: Refactor BreadcrumbsComponent into service --- .../breadcrumbs/breadcrumbs.component.html | 2 +- .../breadcrumbs/breadcrumbs.component.spec.ts | 41 +++---- src/app/breadcrumbs/breadcrumbs.component.ts | 68 ++-------- .../breadcrumbs/breadcrumbs.service.spec.ts | 116 ++++++++++++++++++ src/app/breadcrumbs/breadcrumbs.service.ts | 74 +++++++++++ 5 files changed, 222 insertions(+), 79 deletions(-) create mode 100644 src/app/breadcrumbs/breadcrumbs.service.spec.ts create mode 100644 src/app/breadcrumbs/breadcrumbs.service.ts diff --git a/src/app/breadcrumbs/breadcrumbs.component.html b/src/app/breadcrumbs/breadcrumbs.component.html index 1f142526e2..a6072ed58a 100644 --- a/src/app/breadcrumbs/breadcrumbs.component.html +++ b/src/app/breadcrumbs/breadcrumbs.component.html @@ -1,5 +1,5 @@ -
diff --git a/src/app/header/themed-header.component.ts b/src/app/header/themed-header.component.ts new file mode 100644 index 0000000000..8bf43e8ea1 --- /dev/null +++ b/src/app/header/themed-header.component.ts @@ -0,0 +1,29 @@ +import { Component } from '@angular/core'; +import { Observable } from 'rxjs'; +import { MenuService } from '../shared/menu/menu.service'; +import { MenuID } from '../shared/menu/initial-menus-state'; +import { ThemedComponent } from '../shared/theme-support/themed.component'; +import { CommunityListPageComponent } from '../community-list-page/community-list-page.component'; +import { HeaderComponent } from './header.component'; + +/** + * Themed wrapper for HeaderComponent + */ +@Component({ + selector: 'ds-themed-header', + styleUrls: [], + templateUrl: '../shared/theme-support/themed.component.html', +}) +export class ThemedHeaderComponent extends ThemedComponent { + protected getComponentName(): string { + return 'HeaderComponent'; + } + + protected importThemedComponent(themeName: string): Promise { + return import(`../../themes/${themeName}/app/header/header.component`); + } + + protected importUnthemedComponent(): Promise { + return import(`./header.component`); + } +} diff --git a/src/app/navbar/navbar.module.ts b/src/app/navbar/navbar.module.ts index 5e1e11d10f..5299c6cfc3 100644 --- a/src/app/navbar/navbar.module.ts +++ b/src/app/navbar/navbar.module.ts @@ -10,6 +10,7 @@ import { ExpandableNavbarSectionComponent } from './expandable-navbar-section/ex import { NavbarComponent } from './navbar.component'; import { MenuModule } from '../shared/menu/menu.module'; import { FormsModule } from '@angular/forms'; +import { ThemedNavbarComponent } from './themed-navbar.component'; const effects = [ NavbarEffects @@ -31,6 +32,7 @@ const ENTRY_COMPONENTS = [ ], declarations: [ NavbarComponent, + ThemedNavbarComponent, NavbarSectionComponent, ExpandableNavbarSectionComponent ], @@ -42,7 +44,7 @@ const ENTRY_COMPONENTS = [ ExpandableNavbarSectionComponent ], exports: [ - NavbarComponent, + ThemedNavbarComponent, NavbarSectionComponent, ExpandableNavbarSectionComponent ] diff --git a/src/app/navbar/themed-navbar.component.ts b/src/app/navbar/themed-navbar.component.ts new file mode 100644 index 0000000000..43efdc181e --- /dev/null +++ b/src/app/navbar/themed-navbar.component.ts @@ -0,0 +1,25 @@ +import { Component } from '@angular/core'; +import { ThemedComponent } from '../shared/theme-support/themed.component'; +import { NavbarComponent } from './navbar.component'; + +/** + * Themed wrapper for NavbarComponent + */ +@Component({ + selector: 'ds-themed-navbar', + styleUrls: [], + templateUrl: '../shared/theme-support/themed.component.html', +}) +export class ThemedNavbarComponent extends ThemedComponent { + protected getComponentName(): string { + return 'NavbarComponent'; + } + + protected importThemedComponent(themeName: string): Promise { + return import(`../../themes/${themeName}/app/navbar/navbar.component`); + } + + protected importUnthemedComponent(): Promise { + return import(`./navbar.component`); + } +} diff --git a/src/app/root/root.component.html b/src/app/root/root.component.html index 96439cd999..a0aa4dc1a3 100644 --- a/src/app/root/root.component.html +++ b/src/app/root/root.component.html @@ -20,7 +20,7 @@ - + diff --git a/src/themes/custom/app/footer/footer.component.html b/src/themes/custom/app/footer/footer.component.html new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/themes/custom/app/footer/footer.component.scss b/src/themes/custom/app/footer/footer.component.scss new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/themes/custom/app/footer/footer.component.ts b/src/themes/custom/app/footer/footer.component.ts new file mode 100644 index 0000000000..de80ceb311 --- /dev/null +++ b/src/themes/custom/app/footer/footer.component.ts @@ -0,0 +1,12 @@ +import { Component } from '@angular/core'; +import { FooterComponent as BaseComponent } from '../../../../app/footer/footer.component'; + +@Component({ + selector: 'ds-footer', + // styleUrls: ['footer.component.scss'], + styleUrls: ['../../../../app/footer/footer.component.scss'], + // templateUrl: 'footer.component.html' + templateUrl: '../../../../app/footer/footer.component.html' +}) +export class FooterComponent extends BaseComponent { +} diff --git a/src/themes/custom/app/header/header.component.html b/src/themes/custom/app/header/header.component.html new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/themes/custom/app/header/header.component.scss b/src/themes/custom/app/header/header.component.scss new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/themes/custom/app/header/header.component.ts b/src/themes/custom/app/header/header.component.ts new file mode 100644 index 0000000000..866072f3b6 --- /dev/null +++ b/src/themes/custom/app/header/header.component.ts @@ -0,0 +1,15 @@ +import { Component } from '@angular/core'; +import { HeaderComponent as BaseComponent } from '../../../../app/header/header.component'; + +/** + * Represents the header with the logo and simple navigation + */ +@Component({ + selector: 'ds-header', + // styleUrls: ['header.component.scss'], + styleUrls: ['../../../../app/header/header.component.scss'], + // templateUrl: 'header.component.html', + templateUrl: '../../../../app/header/header.component.html', +}) +export class HeaderComponent extends BaseComponent { +} diff --git a/src/themes/custom/app/navbar/navbar.component.html b/src/themes/custom/app/navbar/navbar.component.html new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/themes/custom/app/navbar/navbar.component.scss b/src/themes/custom/app/navbar/navbar.component.scss new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/themes/custom/app/navbar/navbar.component.ts b/src/themes/custom/app/navbar/navbar.component.ts new file mode 100644 index 0000000000..e163f096e9 --- /dev/null +++ b/src/themes/custom/app/navbar/navbar.component.ts @@ -0,0 +1,17 @@ +import { Component } from '@angular/core'; +import { NavbarComponent as BaseComponent } from '../../../../app/navbar/navbar.component'; +import { slideMobileNav } from '../../../../app/shared/animations/slide'; + +/** + * Component representing the public navbar + */ +@Component({ + selector: 'ds-navbar', + // styleUrls: ['./navbar.component.scss'], + styleUrls: ['../../../../app/navbar/navbar.component.scss'], + // templateUrl: './navbar.component.html', + templateUrl: '../../../../app/navbar/navbar.component.html', + animations: [slideMobileNav] +}) +export class NavbarComponent extends BaseComponent { +} diff --git a/src/themes/custom/theme.module.ts b/src/themes/custom/theme.module.ts index 6192451692..0e1096f957 100644 --- a/src/themes/custom/theme.module.ts +++ b/src/themes/custom/theme.module.ts @@ -74,6 +74,9 @@ import { WorkflowItemSendBackComponent } from './app/+workflowitems-edit-page/wo import { WorkflowItemDeleteComponent } from './app/+workflowitems-edit-page/workflow-item-delete/workflow-item-delete.component'; import { SubmissionModule } from '../../app/submission/submission.module'; import { MyDSpacePageModule } from '../../app/+my-dspace-page/my-dspace-page.module'; +import { NavbarComponent } from './app/navbar/navbar.component'; +import { HeaderComponent } from './app/header/header.component'; +import { FooterComponent } from './app/footer/footer.component'; const DECLARATIONS = [ HomePageComponent, @@ -109,7 +112,10 @@ const DECLARATIONS = [ SubmissionImportExternalComponent, SubmissionSubmitComponent, WorkflowItemDeleteComponent, - WorkflowItemSendBackComponent + WorkflowItemSendBackComponent, + FooterComponent, + HeaderComponent, + NavbarComponent ]; From d50bef9c8a3a1bb018fd561b035ca48daf35bcd8 Mon Sep 17 00:00:00 2001 From: lotte Date: Wed, 17 Mar 2021 11:51:08 +0100 Subject: [PATCH 096/106] Fixed LGTM import issues --- src/app/header/themed-header.component.ts | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/app/header/themed-header.component.ts b/src/app/header/themed-header.component.ts index 8bf43e8ea1..51c817b63d 100644 --- a/src/app/header/themed-header.component.ts +++ b/src/app/header/themed-header.component.ts @@ -1,9 +1,5 @@ import { Component } from '@angular/core'; -import { Observable } from 'rxjs'; -import { MenuService } from '../shared/menu/menu.service'; -import { MenuID } from '../shared/menu/initial-menus-state'; import { ThemedComponent } from '../shared/theme-support/themed.component'; -import { CommunityListPageComponent } from '../community-list-page/community-list-page.component'; import { HeaderComponent } from './header.component'; /** From b12e616ff61651bc08ecff992da9bb08cdb511da Mon Sep 17 00:00:00 2001 From: lotte Date: Wed, 17 Mar 2021 11:51:35 +0100 Subject: [PATCH 097/106] Added themable breadcrumbs --- src/app/app.module.ts | 2 ++ .../themed-breadcrumbs.component.ts | 25 +++++++++++++++++++ src/app/root/root.component.html | 2 +- .../breadcrumbs/breadcrumbs.component.html | 0 .../breadcrumbs/breadcrumbs.component.scss | 0 .../app/breadcrumbs/breadcrumbs.component.ts | 15 +++++++++++ src/themes/custom/theme.module.ts | 5 ++-- 7 files changed, 46 insertions(+), 3 deletions(-) create mode 100644 src/app/breadcrumbs/themed-breadcrumbs.component.ts create mode 100644 src/themes/custom/app/breadcrumbs/breadcrumbs.component.html create mode 100644 src/themes/custom/app/breadcrumbs/breadcrumbs.component.scss create mode 100644 src/themes/custom/app/breadcrumbs/breadcrumbs.component.ts diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 827c837ce7..5bfa593ef1 100755 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -50,6 +50,7 @@ import { ThemedPageNotFoundComponent } from './pagenotfound/themed-pagenotfound. import { ThemedForbiddenComponent } from './forbidden/themed-forbidden.component'; import { ThemedHeaderComponent } from './header/themed-header.component'; import { ThemedFooterComponent } from './footer/themed-footer.component'; +import { ThemedBreadcrumbsComponent } from './breadcrumbs/themed-breadcrumbs.component'; export function getBase() { return environment.ui.nameSpace; @@ -144,6 +145,7 @@ const DECLARATIONS = [ NotificationsBoardComponent, SearchNavbarComponent, BreadcrumbsComponent, + ThemedBreadcrumbsComponent, ForbiddenComponent, ThemedForbiddenComponent, ]; diff --git a/src/app/breadcrumbs/themed-breadcrumbs.component.ts b/src/app/breadcrumbs/themed-breadcrumbs.component.ts new file mode 100644 index 0000000000..1869a440b9 --- /dev/null +++ b/src/app/breadcrumbs/themed-breadcrumbs.component.ts @@ -0,0 +1,25 @@ +import { Component } from '@angular/core'; +import { ThemedComponent } from '../shared/theme-support/themed.component'; +import { BreadcrumbsComponent } from './breadcrumbs.component'; + +/** + * Themed wrapper for BreadcrumbsComponent + */ +@Component({ + selector: 'ds-themed-breadcrumbs', + styleUrls: [], + templateUrl: '../shared/theme-support/themed.component.html', +}) +export class ThemedBreadcrumbsComponent extends ThemedComponent { + protected getComponentName(): string { + return 'BreadcrumbsComponent'; + } + + protected importThemedComponent(themeName: string): Promise { + return import(`../../themes/${themeName}/app/breadcrumbs/breadcrumbs.component`); + } + + protected importUnthemedComponent(): Promise { + return import(`./breadcrumbs.component`); + } +} diff --git a/src/app/root/root.component.html b/src/app/root/root.component.html index a0aa4dc1a3..af59e0d2ad 100644 --- a/src/app/root/root.component.html +++ b/src/app/root/root.component.html @@ -11,7 +11,7 @@
- +
diff --git a/src/themes/custom/app/breadcrumbs/breadcrumbs.component.html b/src/themes/custom/app/breadcrumbs/breadcrumbs.component.html new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/themes/custom/app/breadcrumbs/breadcrumbs.component.scss b/src/themes/custom/app/breadcrumbs/breadcrumbs.component.scss new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/themes/custom/app/breadcrumbs/breadcrumbs.component.ts b/src/themes/custom/app/breadcrumbs/breadcrumbs.component.ts new file mode 100644 index 0000000000..32d00fc8b6 --- /dev/null +++ b/src/themes/custom/app/breadcrumbs/breadcrumbs.component.ts @@ -0,0 +1,15 @@ +import { Component } from '@angular/core'; +import { BreadcrumbsComponent as BaseComponent } from '../../../../app/breadcrumbs/breadcrumbs.component'; + +/** + * Component representing the breadcrumbs of a page + */ +@Component({ + selector: 'ds-breadcrumbs', + // templateUrl: './breadcrumbs.component.html', + templateUrl: '../../../../app/breadcrumbs/breadcrumbs.component.html', + // styleUrls: ['./breadcrumbs.component.scss'] + styleUrls: ['../../../../app/breadcrumbs/breadcrumbs.component.scss'] +}) +export class BreadcrumbsComponent extends BaseComponent { +} diff --git a/src/themes/custom/theme.module.ts b/src/themes/custom/theme.module.ts index 0e1096f957..b9bba225a7 100644 --- a/src/themes/custom/theme.module.ts +++ b/src/themes/custom/theme.module.ts @@ -77,6 +77,7 @@ import { MyDSpacePageModule } from '../../app/+my-dspace-page/my-dspace-page.mod import { NavbarComponent } from './app/navbar/navbar.component'; import { HeaderComponent } from './app/header/header.component'; import { FooterComponent } from './app/footer/footer.component'; +import { BreadcrumbsComponent } from './app/breadcrumbs/breadcrumbs.component'; const DECLARATIONS = [ HomePageComponent, @@ -115,8 +116,8 @@ const DECLARATIONS = [ WorkflowItemSendBackComponent, FooterComponent, HeaderComponent, - NavbarComponent - + NavbarComponent, + BreadcrumbsComponent ]; @NgModule({ From c19ee0d49ebf752a5ea58e7960c659a85bdf7878 Mon Sep 17 00:00:00 2001 From: lotte Date: Wed, 17 Mar 2021 12:09:50 +0100 Subject: [PATCH 098/106] Updated TypeDoc for themed components --- .../themed-browse-by-switcher.component.ts | 6 +++--- .../+collection-page/themed-collection-page.component.ts | 7 +++---- src/app/+community-page/themed-community-page.component.ts | 7 +++---- .../objectnotfound/themed-objectnotfound.component.ts | 7 +++---- .../themed-configuration-search-page.component.ts | 7 +++---- src/app/+search-page/themed-search-page.component.ts | 7 +++---- .../themed-community-list-page.component.ts | 3 +-- src/app/forbidden/themed-forbidden.component.ts | 7 +++---- .../themed-end-user-agreement.component.ts | 7 +++---- src/app/info/privacy/themed-privacy.component.ts | 7 +++---- src/app/pagenotfound/themed-pagenotfound.component.ts | 7 +++---- .../themed-collection-statistics-page.component.ts | 7 +++---- .../themed-community-statistics-page.component.ts | 7 +++---- .../themed-item-statistics-page.component.ts | 7 +++---- .../themed-site-statistics-page.component.ts | 7 +++---- 15 files changed, 43 insertions(+), 57 deletions(-) diff --git a/src/app/+browse-by/+browse-by-switcher/themed-browse-by-switcher.component.ts b/src/app/+browse-by/+browse-by-switcher/themed-browse-by-switcher.component.ts index 9fbf1979b5..e92fe30ba9 100644 --- a/src/app/+browse-by/+browse-by-switcher/themed-browse-by-switcher.component.ts +++ b/src/app/+browse-by/+browse-by-switcher/themed-browse-by-switcher.component.ts @@ -3,14 +3,14 @@ import { Component } from '@angular/core'; import { ThemedComponent } from '../../shared/theme-support/themed.component'; import { BrowseBySwitcherComponent } from './browse-by-switcher.component'; +/** + * Themed wrapper for BrowseBySwitcherComponent + */ @Component({ selector: 'ds-themed-browse-by-switcher', styleUrls: [], templateUrl: '../../shared/theme-support/themed.component.html' }) -/** - * Component for determining what Browse-By component to use depending on the metadata (browse ID) provided - */ export class ThemedBrowseBySwitcherComponent extends ThemedComponent { protected getComponentName(): string { return 'BrowseBySwitcherComponent'; diff --git a/src/app/+collection-page/themed-collection-page.component.ts b/src/app/+collection-page/themed-collection-page.component.ts index 7bbc720e30..4ad9ed87e3 100644 --- a/src/app/+collection-page/themed-collection-page.component.ts +++ b/src/app/+collection-page/themed-collection-page.component.ts @@ -2,15 +2,14 @@ import { Component } from '@angular/core'; import { ThemedComponent } from '../shared/theme-support/themed.component'; import { CollectionPageComponent } from './collection-page.component'; +/** + * Themed wrapper for CollectionPageComponent + */ @Component({ selector: 'ds-themed-community-page', styleUrls: [], templateUrl: '../shared/theme-support/themed.component.html', }) - -/** - * Component to render the news section on the home page - */ export class ThemedCollectionPageComponent extends ThemedComponent { protected getComponentName(): string { return 'CollectionPageComponent'; diff --git a/src/app/+community-page/themed-community-page.component.ts b/src/app/+community-page/themed-community-page.component.ts index b420789c5f..97dd59821c 100644 --- a/src/app/+community-page/themed-community-page.component.ts +++ b/src/app/+community-page/themed-community-page.component.ts @@ -2,15 +2,14 @@ import { Component } from '@angular/core'; import { ThemedComponent } from '../shared/theme-support/themed.component'; import { CommunityPageComponent } from './community-page.component'; +/** + * Themed wrapper for CommunityPageComponent + */ @Component({ selector: 'ds-themed-community-page', styleUrls: [], templateUrl: '../shared/theme-support/themed.component.html', }) - -/** - * Component to render the news section on the home page - */ export class ThemedCommunityPageComponent extends ThemedComponent { protected getComponentName(): string { return 'CommunityPageComponent'; diff --git a/src/app/+lookup-by-id/objectnotfound/themed-objectnotfound.component.ts b/src/app/+lookup-by-id/objectnotfound/themed-objectnotfound.component.ts index 947a9f4eaa..e1bec33dfd 100644 --- a/src/app/+lookup-by-id/objectnotfound/themed-objectnotfound.component.ts +++ b/src/app/+lookup-by-id/objectnotfound/themed-objectnotfound.component.ts @@ -2,15 +2,14 @@ import { Component } from '@angular/core'; import { ThemedComponent } from '../../shared/theme-support/themed.component'; import { ObjectNotFoundComponent } from './objectnotfound.component'; +/** + * Themed wrapper for ObjectNotFoundComponent + */ @Component({ selector: 'ds-themed-objnotfound', styleUrls: [], templateUrl: '../../shared/theme-support/themed.component.html', }) - -/** - * Component to render the news section on the home page - */ export class ThemedObjectNotFoundComponent extends ThemedComponent { protected getComponentName(): string { return 'ObjectNotFoundComponent'; diff --git a/src/app/+search-page/themed-configuration-search-page.component.ts b/src/app/+search-page/themed-configuration-search-page.component.ts index 3528d3a326..9f7277be0e 100644 --- a/src/app/+search-page/themed-configuration-search-page.component.ts +++ b/src/app/+search-page/themed-configuration-search-page.component.ts @@ -4,15 +4,14 @@ import { ConfigurationSearchPageComponent } from './configuration-search-page.co import { Observable } from 'rxjs'; import { Context } from '../core/shared/context.model'; +/** + * Themed wrapper for ConfigurationSearchPageComponent + */ @Component({ selector: 'ds-themed-configuration-search-page', styleUrls: [], templateUrl: '../shared/theme-support/themed.component.html', }) - -/** - * Component to render the news section on the home page - */ export class ThemedConfigurationSearchPageComponent extends ThemedComponent { /** * The configuration to use for the search options diff --git a/src/app/+search-page/themed-search-page.component.ts b/src/app/+search-page/themed-search-page.component.ts index b23fff6289..0b2f673373 100644 --- a/src/app/+search-page/themed-search-page.component.ts +++ b/src/app/+search-page/themed-search-page.component.ts @@ -2,15 +2,14 @@ import { Component } from '@angular/core'; import { ThemedComponent } from '../shared/theme-support/themed.component'; import { SearchPageComponent } from './search-page.component'; +/** + * Themed wrapper for SearchPageComponent + */ @Component({ selector: 'ds-themed-search-page', styleUrls: [], templateUrl: '../shared/theme-support/themed.component.html', }) -/** - * This component represents the whole search page - * It renders search results depending on the current search options - */ export class ThemedSearchPageComponent extends ThemedComponent { protected getComponentName(): string { diff --git a/src/app/community-list-page/themed-community-list-page.component.ts b/src/app/community-list-page/themed-community-list-page.component.ts index 6b374fca90..20fa97bedd 100644 --- a/src/app/community-list-page/themed-community-list-page.component.ts +++ b/src/app/community-list-page/themed-community-list-page.component.ts @@ -3,8 +3,7 @@ import { ThemedComponent } from '../shared/theme-support/themed.component'; import { CommunityListPageComponent } from './community-list-page.component'; /** - * Page with title and the community list tree, as described in community-list.component; - * navigated to with community-list.page.routing.module + * Themed wrapper for CommunityListPageComponent */ @Component({ selector: 'ds-themed-community-list-page', diff --git a/src/app/forbidden/themed-forbidden.component.ts b/src/app/forbidden/themed-forbidden.component.ts index bb3694cae2..830529c8fa 100644 --- a/src/app/forbidden/themed-forbidden.component.ts +++ b/src/app/forbidden/themed-forbidden.component.ts @@ -2,15 +2,14 @@ import { Component } from '@angular/core'; import { ThemedComponent } from '../shared/theme-support/themed.component'; import { ForbiddenComponent } from './forbidden.component'; +/** + * Themed wrapper for ForbiddenComponent + */ @Component({ selector: 'ds-themed-forbidden', styleUrls: [], templateUrl: '../shared/theme-support/themed.component.html', }) - -/** - * Component to render the news section on the home page - */ export class ThemedForbiddenComponent extends ThemedComponent { protected getComponentName(): string { return 'ForbiddenComponent'; diff --git a/src/app/info/end-user-agreement/themed-end-user-agreement.component.ts b/src/app/info/end-user-agreement/themed-end-user-agreement.component.ts index 6c76314e06..74eb545b8a 100644 --- a/src/app/info/end-user-agreement/themed-end-user-agreement.component.ts +++ b/src/app/info/end-user-agreement/themed-end-user-agreement.component.ts @@ -2,15 +2,14 @@ import { Component } from '@angular/core'; import { ThemedComponent } from '../../shared/theme-support/themed.component'; import { EndUserAgreementComponent } from './end-user-agreement.component'; +/** + * Themed wrapper for EndUserAgreementComponent + */ @Component({ selector: 'ds-themed-end-user-agreement', styleUrls: [], templateUrl: '../../shared/theme-support/themed.component.html', }) - -/** - * Component to render the news section on the home page - */ export class ThemedEndUserAgreementComponent extends ThemedComponent { protected getComponentName(): string { diff --git a/src/app/info/privacy/themed-privacy.component.ts b/src/app/info/privacy/themed-privacy.component.ts index 5aed8d38af..7f2ee80ffc 100644 --- a/src/app/info/privacy/themed-privacy.component.ts +++ b/src/app/info/privacy/themed-privacy.component.ts @@ -2,15 +2,14 @@ import { Component } from '@angular/core'; import { ThemedComponent } from '../../shared/theme-support/themed.component'; import { PrivacyComponent } from './privacy.component'; +/** + * Themed wrapper for PrivacyComponent + */ @Component({ selector: 'ds-themed-privacy', styleUrls: [], templateUrl: '../../shared/theme-support/themed.component.html', }) - -/** - * Component to render the news section on the home page - */ export class ThemedPrivacyComponent extends ThemedComponent { protected getComponentName(): string { return 'PrivacyComponent'; diff --git a/src/app/pagenotfound/themed-pagenotfound.component.ts b/src/app/pagenotfound/themed-pagenotfound.component.ts index 68b06e2ac0..e6ef9eb700 100644 --- a/src/app/pagenotfound/themed-pagenotfound.component.ts +++ b/src/app/pagenotfound/themed-pagenotfound.component.ts @@ -2,15 +2,14 @@ import { Component } from '@angular/core'; import { ThemedComponent } from '../shared/theme-support/themed.component'; import { PageNotFoundComponent } from './pagenotfound.component'; +/** + * Themed wrapper for PageNotFoundComponent + */ @Component({ selector: 'ds-themed-search-page', styleUrls: [], templateUrl: '../shared/theme-support/themed.component.html', }) -/** - * This component represents the whole search page - * It renders search results depending on the current search options - */ export class ThemedPageNotFoundComponent extends ThemedComponent { protected getComponentName(): string { diff --git a/src/app/statistics-page/collection-statistics-page/themed-collection-statistics-page.component.ts b/src/app/statistics-page/collection-statistics-page/themed-collection-statistics-page.component.ts index 75cf60437f..dab96aef04 100644 --- a/src/app/statistics-page/collection-statistics-page/themed-collection-statistics-page.component.ts +++ b/src/app/statistics-page/collection-statistics-page/themed-collection-statistics-page.component.ts @@ -2,15 +2,14 @@ import { Component } from '@angular/core'; import { ThemedComponent } from '../../shared/theme-support/themed.component'; import { CollectionStatisticsPageComponent } from './collection-statistics-page.component'; +/** + * Themed wrapper for CollectionStatisticsPageComponent + */ @Component({ selector: 'ds-themed-collection-statistics-page', styleUrls: [], templateUrl: '../../shared/theme-support/themed.component.html', }) - -/** - * Component to render the news section on the home page - */ export class ThemedCollectionStatisticsPageComponent extends ThemedComponent { protected getComponentName(): string { return 'CollectionStatisticsPageComponent'; diff --git a/src/app/statistics-page/community-statistics-page/themed-community-statistics-page.component.ts b/src/app/statistics-page/community-statistics-page/themed-community-statistics-page.component.ts index 34dc17e1b3..17f185f786 100644 --- a/src/app/statistics-page/community-statistics-page/themed-community-statistics-page.component.ts +++ b/src/app/statistics-page/community-statistics-page/themed-community-statistics-page.component.ts @@ -2,15 +2,14 @@ import { Component } from '@angular/core'; import { ThemedComponent } from '../../shared/theme-support/themed.component'; import { CommunityStatisticsPageComponent } from './community-statistics-page.component'; +/** + * Themed wrapper for CommunityStatisticsPageComponent + */ @Component({ selector: 'ds-themed-collection-statistics-page', styleUrls: [], templateUrl: '../../shared/theme-support/themed.component.html', }) - -/** - * Component to render the news section on the home page - */ export class ThemedCommunityStatisticsPageComponent extends ThemedComponent { protected getComponentName(): string { return 'CommunityStatisticsPageComponent'; diff --git a/src/app/statistics-page/item-statistics-page/themed-item-statistics-page.component.ts b/src/app/statistics-page/item-statistics-page/themed-item-statistics-page.component.ts index 4651269c54..50e26329a9 100644 --- a/src/app/statistics-page/item-statistics-page/themed-item-statistics-page.component.ts +++ b/src/app/statistics-page/item-statistics-page/themed-item-statistics-page.component.ts @@ -2,15 +2,14 @@ import { Component } from '@angular/core'; import { ThemedComponent } from '../../shared/theme-support/themed.component'; import { ItemStatisticsPageComponent } from './item-statistics-page.component'; +/** + * Themed wrapper for ItemStatisticsPageComponent + */ @Component({ selector: 'ds-themed-item-statistics-page', styleUrls: [], templateUrl: '../../shared/theme-support/themed.component.html', }) - -/** - * Component to render the news section on the home page - */ export class ThemedItemStatisticsPageComponent extends ThemedComponent { protected getComponentName(): string { return 'ItemStatisticsPageComponent'; diff --git a/src/app/statistics-page/site-statistics-page/themed-site-statistics-page.component.ts b/src/app/statistics-page/site-statistics-page/themed-site-statistics-page.component.ts index 4238cc788a..3f841163ed 100644 --- a/src/app/statistics-page/site-statistics-page/themed-site-statistics-page.component.ts +++ b/src/app/statistics-page/site-statistics-page/themed-site-statistics-page.component.ts @@ -2,15 +2,14 @@ import { Component } from '@angular/core'; import { ThemedComponent } from '../../shared/theme-support/themed.component'; import { SiteStatisticsPageComponent } from './site-statistics-page.component'; +/** + * Themed wrapper for SiteStatisticsPageComponent + */ @Component({ selector: 'ds-themed-site-statistics-page', styleUrls: [], templateUrl: '../../shared/theme-support/themed.component.html', }) - -/** - * Component to render the news section on the home page - */ export class ThemedSiteStatisticsPageComponent extends ThemedComponent { protected getComponentName(): string { return 'SiteStatisticsPageComponent'; From b833407dd1050e919edc33322d4ce5f53f9d9ea2 Mon Sep 17 00:00:00 2001 From: lotte Date: Tue, 16 Mar 2021 16:46:58 +0100 Subject: [PATCH 099/106] 77472: Fix unclickable titles in search lists --- ...arch-result-list-element.component.spec.ts | 5 +++- ...arch-result-list-element.component.spec.ts | 5 +++- ...arch-result-list-element.component.spec.ts | 5 +++- ...in-workflow-list-element.component.spec.ts | 3 +++ ...t-admin-workflow-list-element.component.ts | 8 ++++-- .../core/breadcrumbs/dso-name.service.spec.ts | 2 +- src/app/core/breadcrumbs/dso-name.service.ts | 7 ++++- ...arch-result-list-element.component.spec.ts | 5 +++- ...arch-result-list-element.component.spec.ts | 5 +++- ...arch-result-list-element.component.spec.ts | 5 +++- ...arch-result-list-element.component.spec.ts | 5 +++- ...arch-result-list-element.component.spec.ts | 5 +++- ...arch-result-list-element.component.spec.ts | 5 +++- ...n-sidebar-search-list-element.component.ts | 7 +++-- ...-list-submission-element.component.spec.ts | 3 +++ ...esult-list-submission-element.component.ts | 8 ++++-- ...esult-list-submission-element.component.ts | 8 ++++-- src/app/shared/mocks/dso-name.service.mock.ts | 9 +++++++ ...ch-result-detail-element.component.spec.ts | 5 +++- ...ch-result-detail-element.component.spec.ts | 5 +++- ...ch-result-detail-element.component.spec.ts | 5 +++- ...arch-result-list-element.component.spec.ts | 5 +++- ...ed-search-result-list-element.component.ts | 6 +++-- ...arch-result-list-element.component.spec.ts | 5 +++- ...ed-search-result-list-element.component.ts | 6 +++-- ...arch-result-list-element.component.spec.ts | 5 +++- ...ed-search-result-list-element.component.ts | 6 +++-- ...-list-element-submission.component.spec.ts | 3 +++ ...arch-result-list-element.component.spec.ts | 5 +++- ...ol-search-result-list-element.component.ts | 6 +++-- ...arch-result-list-element.component.spec.ts | 3 +++ ...em-search-result-list-element.component.ts | 6 +++-- ...arch-result-list-element.component.spec.ts | 3 +++ ...em-search-result-list-element.component.ts | 6 +++-- ...-search-result-list-element.component.html | 4 +-- ...arch-result-list-element.component.spec.ts | 3 +++ ...-search-result-list-element.component.html | 4 +-- ...arch-result-list-element.component.spec.ts | 3 +++ ...-search-result-list-element.component.html | 8 +++--- ...arch-result-list-element.component.spec.ts | 27 ++++++++++++------- .../search-result-list-element.component.ts | 5 +++- ...ebar-search-list-element.component.spec.ts | 3 +++ .../sidebar-search-list-element.component.ts | 7 +++-- src/assets/i18n/en.json5 | 4 +++ 44 files changed, 190 insertions(+), 58 deletions(-) create mode 100644 src/app/shared/mocks/dso-name.service.mock.ts diff --git a/src/app/+admin/admin-search-page/admin-search-results/admin-search-result-list-element/collection-search-result/collection-admin-search-result-list-element.component.spec.ts b/src/app/+admin/admin-search-page/admin-search-results/admin-search-result-list-element/collection-search-result/collection-admin-search-result-list-element.component.spec.ts index 218cbc0ca2..56e25264cf 100644 --- a/src/app/+admin/admin-search-page/admin-search-results/admin-search-result-list-element/collection-search-result/collection-admin-search-result-list-element.component.spec.ts +++ b/src/app/+admin/admin-search-page/admin-search-results/admin-search-result-list-element/collection-search-result/collection-admin-search-result-list-element.component.spec.ts @@ -11,6 +11,8 @@ import { Collection } from '../../../../../core/shared/collection.model'; import { By } from '@angular/platform-browser'; import { RouterTestingModule } from '@angular/router/testing'; import { getCollectionEditRoute } from '../../../../../+collection-page/collection-page-routing-paths'; +import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; +import { DSONameServiceMock } from '../../../../../shared/mocks/dso-name.service.mock'; describe('CollectionAdminSearchResultListElementComponent', () => { let component: CollectionAdminSearchResultListElementComponent; @@ -33,7 +35,8 @@ describe('CollectionAdminSearchResultListElementComponent', () => { RouterTestingModule.withRoutes([]) ], declarations: [CollectionAdminSearchResultListElementComponent], - providers: [{ provide: TruncatableService, useValue: {} }], + providers: [{ provide: TruncatableService, useValue: {} }, + { provide: DSONameService, useClass: DSONameServiceMock }], schemas: [NO_ERRORS_SCHEMA] }) .compileComponents(); diff --git a/src/app/+admin/admin-search-page/admin-search-results/admin-search-result-list-element/community-search-result/community-admin-search-result-list-element.component.spec.ts b/src/app/+admin/admin-search-page/admin-search-results/admin-search-result-list-element/community-search-result/community-admin-search-result-list-element.component.spec.ts index 69fe8856dd..29d9925326 100644 --- a/src/app/+admin/admin-search-page/admin-search-results/admin-search-result-list-element/community-search-result/community-admin-search-result-list-element.component.spec.ts +++ b/src/app/+admin/admin-search-page/admin-search-results/admin-search-result-list-element/community-search-result/community-admin-search-result-list-element.component.spec.ts @@ -11,6 +11,8 @@ import { CommunityAdminSearchResultListElementComponent } from './community-admi import { CommunitySearchResult } from '../../../../../shared/object-collection/shared/community-search-result.model'; import { Community } from '../../../../../core/shared/community.model'; import { getCommunityEditRoute } from '../../../../../+community-page/community-page-routing-paths'; +import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; +import { DSONameServiceMock } from '../../../../../shared/mocks/dso-name.service.mock'; describe('CommunityAdminSearchResultListElementComponent', () => { let component: CommunityAdminSearchResultListElementComponent; @@ -33,7 +35,8 @@ describe('CommunityAdminSearchResultListElementComponent', () => { RouterTestingModule.withRoutes([]) ], declarations: [CommunityAdminSearchResultListElementComponent], - providers: [{ provide: TruncatableService, useValue: {} }], + providers: [{ provide: TruncatableService, useValue: {} }, + { provide: DSONameService, useClass: DSONameServiceMock }], schemas: [NO_ERRORS_SCHEMA] }) .compileComponents(); diff --git a/src/app/+admin/admin-search-page/admin-search-results/admin-search-result-list-element/item-search-result/item-admin-search-result-list-element.component.spec.ts b/src/app/+admin/admin-search-page/admin-search-results/admin-search-result-list-element/item-search-result/item-admin-search-result-list-element.component.spec.ts index 1d2f25c2eb..3774a07757 100644 --- a/src/app/+admin/admin-search-page/admin-search-results/admin-search-result-list-element/item-search-result/item-admin-search-result-list-element.component.spec.ts +++ b/src/app/+admin/admin-search-page/admin-search-results/admin-search-result-list-element/item-search-result/item-admin-search-result-list-element.component.spec.ts @@ -8,6 +8,8 @@ import { RouterTestingModule } from '@angular/router/testing'; import { ItemSearchResult } from '../../../../../shared/object-collection/shared/item-search-result.model'; import { ItemAdminSearchResultListElementComponent } from './item-admin-search-result-list-element.component'; import { Item } from '../../../../../core/shared/item.model'; +import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; +import { DSONameServiceMock } from '../../../../../shared/mocks/dso-name.service.mock'; describe('ItemAdminSearchResultListElementComponent', () => { let component: ItemAdminSearchResultListElementComponent; @@ -30,7 +32,8 @@ describe('ItemAdminSearchResultListElementComponent', () => { RouterTestingModule.withRoutes([]) ], declarations: [ItemAdminSearchResultListElementComponent], - providers: [{ provide: TruncatableService, useValue: {} }], + providers: [{ provide: TruncatableService, useValue: {} }, + { provide: DSONameService, useClass: DSONameServiceMock }], schemas: [NO_ERRORS_SCHEMA] }) .compileComponents(); diff --git a/src/app/+admin/admin-workflow-page/admin-workflow-search-results/admin-workflow-search-result-list-element/workflow-item/workflow-item-search-result-admin-workflow-list-element.component.spec.ts b/src/app/+admin/admin-workflow-page/admin-workflow-search-results/admin-workflow-search-result-list-element/workflow-item/workflow-item-search-result-admin-workflow-list-element.component.spec.ts index 47907999a2..a792a606e9 100644 --- a/src/app/+admin/admin-workflow-page/admin-workflow-search-results/admin-workflow-search-result-list-element/workflow-item/workflow-item-search-result-admin-workflow-list-element.component.spec.ts +++ b/src/app/+admin/admin-workflow-page/admin-workflow-search-results/admin-workflow-search-result-list-element/workflow-item/workflow-item-search-result-admin-workflow-list-element.component.spec.ts @@ -16,6 +16,8 @@ import { Item } from '../../../../../core/shared/item.model'; import { WorkflowItemSearchResult } from '../../../../../shared/object-collection/shared/workflow-item-search-result.model'; import { createSuccessfulRemoteDataObject$ } from '../../../../../shared/remote-data.utils'; import { getMockLinkService } from '../../../../../shared/mocks/link-service.mock'; +import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; +import { DSONameServiceMock } from '../../../../../shared/mocks/dso-name.service.mock'; describe('WorkflowItemAdminWorkflowListElementComponent', () => { let component: WorkflowItemSearchResultAdminWorkflowListElementComponent; @@ -49,6 +51,7 @@ describe('WorkflowItemAdminWorkflowListElementComponent', () => { providers: [ { provide: TruncatableService, useValue: mockTruncatableService }, { provide: LinkService, useValue: linkService }, + { provide: DSONameService, useClass: DSONameServiceMock } ], schemas: [NO_ERRORS_SCHEMA] }) diff --git a/src/app/+admin/admin-workflow-page/admin-workflow-search-results/admin-workflow-search-result-list-element/workflow-item/workflow-item-search-result-admin-workflow-list-element.component.ts b/src/app/+admin/admin-workflow-page/admin-workflow-search-results/admin-workflow-search-result-list-element/workflow-item/workflow-item-search-result-admin-workflow-list-element.component.ts index 80225db09f..3dd17faf25 100644 --- a/src/app/+admin/admin-workflow-page/admin-workflow-search-results/admin-workflow-search-result-list-element/workflow-item/workflow-item-search-result-admin-workflow-list-element.component.ts +++ b/src/app/+admin/admin-workflow-page/admin-workflow-search-results/admin-workflow-search-result-list-element/workflow-item/workflow-item-search-result-admin-workflow-list-element.component.ts @@ -12,6 +12,7 @@ import { Item } from '../../../../../core/shared/item.model'; import { SearchResultListElementComponent } from '../../../../../shared/object-list/search-result-list-element/search-result-list-element.component'; import { TruncatableService } from '../../../../../shared/truncatable/truncatable.service'; import { WorkflowItemSearchResult } from '../../../../../shared/object-collection/shared/workflow-item-search-result.model'; +import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; @listableObjectComponent(WorkflowItemSearchResult, ViewMode.ListElement, Context.AdminWorkflowSearch) @Component({ @@ -29,8 +30,11 @@ export class WorkflowItemSearchResultAdminWorkflowListElementComponent extends S */ public item$: Observable; - constructor(private linkService: LinkService, protected truncatableService: TruncatableService) { - super(truncatableService); + constructor(private linkService: LinkService, + protected truncatableService: TruncatableService, + protected dsoNameService: DSONameService + ) { + super(truncatableService, dsoNameService); } /** diff --git a/src/app/core/breadcrumbs/dso-name.service.spec.ts b/src/app/core/breadcrumbs/dso-name.service.spec.ts index 5dd02032b9..7a399ce748 100644 --- a/src/app/core/breadcrumbs/dso-name.service.spec.ts +++ b/src/app/core/breadcrumbs/dso-name.service.spec.ts @@ -45,7 +45,7 @@ describe(`DSONameService`, () => { } }); - service = new DSONameService(); + service = new DSONameService({ instant: (a) => a } as any); }); describe(`getName`, () => { diff --git a/src/app/core/breadcrumbs/dso-name.service.ts b/src/app/core/breadcrumbs/dso-name.service.ts index 7f8af2352b..38363d1989 100644 --- a/src/app/core/breadcrumbs/dso-name.service.ts +++ b/src/app/core/breadcrumbs/dso-name.service.ts @@ -1,6 +1,7 @@ import { Injectable } from '@angular/core'; import { hasValue } from '../../shared/empty.util'; import { DSpaceObject } from '../shared/dspace-object.model'; +import { TranslateService } from '@ngx-translate/core'; /** * Returns a name for a {@link DSpaceObject} based @@ -11,6 +12,10 @@ import { DSpaceObject } from '../shared/dspace-object.model'; }) export class DSONameService { + constructor(private translateService: TranslateService) { + + } + /** * Functions to generate the specific names. * @@ -29,7 +34,7 @@ export class DSONameService { }, Default: (dso: DSpaceObject): string => { // If object doesn't have dc.title metadata use name property - return dso.firstMetadataValue('dc.title') || dso.name; + return dso.firstMetadataValue('dc.title') || dso.name || this.translateService.instant('dso.name.untitled'); } }; diff --git a/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal-issue/journal-issue-search-result-list-element.component.spec.ts b/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal-issue/journal-issue-search-result-list-element.component.spec.ts index 9f15cc9816..b47a767be2 100644 --- a/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal-issue/journal-issue-search-result-list-element.component.spec.ts +++ b/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal-issue/journal-issue-search-result-list-element.component.spec.ts @@ -7,6 +7,8 @@ import { JournalIssueSearchResultListElementComponent } from './journal-issue-se import { Item } from '../../../../../core/shared/item.model'; import { TruncatePipe } from '../../../../../shared/utils/truncate.pipe'; import { TruncatableService } from '../../../../../shared/truncatable/truncatable.service'; +import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; +import { DSONameServiceMock } from '../../../../../shared/mocks/dso-name.service.mock'; let journalIssueListElementComponent: JournalIssueSearchResultListElementComponent; let fixture: ComponentFixture; @@ -60,7 +62,8 @@ describe('JournalIssueSearchResultListElementComponent', () => { TestBed.configureTestingModule({ declarations: [JournalIssueSearchResultListElementComponent, TruncatePipe], providers: [ - { provide: TruncatableService, useValue: {} } + { provide: TruncatableService, useValue: {} }, + { provide: DSONameService, useClass: DSONameServiceMock } ], schemas: [NO_ERRORS_SCHEMA] diff --git a/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal-volume/journal-volume-search-result-list-element.component.spec.ts b/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal-volume/journal-volume-search-result-list-element.component.spec.ts index b39129fbd2..d03bc29d6b 100644 --- a/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal-volume/journal-volume-search-result-list-element.component.spec.ts +++ b/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal-volume/journal-volume-search-result-list-element.component.spec.ts @@ -7,6 +7,8 @@ import { Item } from '../../../../../core/shared/item.model'; import { JournalVolumeSearchResultListElementComponent } from './journal-volume-search-result-list-element.component'; import { TruncatePipe } from '../../../../../shared/utils/truncate.pipe'; import { TruncatableService } from '../../../../../shared/truncatable/truncatable.service'; +import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; +import { DSONameServiceMock } from '../../../../../shared/mocks/dso-name.service.mock'; let journalVolumeListElementComponent: JournalVolumeSearchResultListElementComponent; let fixture: ComponentFixture; @@ -59,7 +61,8 @@ describe('JournalVolumeSearchResultListElementComponent', () => { TestBed.configureTestingModule({ declarations: [JournalVolumeSearchResultListElementComponent, TruncatePipe], providers: [ - { provide: TruncatableService, useValue: {} } + { provide: TruncatableService, useValue: {} }, + { provide: DSONameService, useClass: DSONameServiceMock }, ], schemas: [NO_ERRORS_SCHEMA] diff --git a/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal/journal-search-result-list-element.component.spec.ts b/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal/journal-search-result-list-element.component.spec.ts index 5ab60e97b7..9aca414ec6 100644 --- a/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal/journal-search-result-list-element.component.spec.ts +++ b/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal/journal-search-result-list-element.component.spec.ts @@ -7,6 +7,8 @@ import { Item } from '../../../../../core/shared/item.model'; import { TruncatePipe } from '../../../../../shared/utils/truncate.pipe'; import { TruncatableService } from '../../../../../shared/truncatable/truncatable.service'; import { ItemSearchResult } from '../../../../../shared/object-collection/shared/item-search-result.model'; +import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; +import { DSONameServiceMock } from '../../../../../shared/mocks/dso-name.service.mock'; let journalListElementComponent: JournalSearchResultListElementComponent; let fixture: ComponentFixture; @@ -55,7 +57,8 @@ describe('JournalSearchResultListElementComponent', () => { TestBed.configureTestingModule({ declarations: [JournalSearchResultListElementComponent, TruncatePipe], providers: [ - { provide: TruncatableService, useValue: {} } + { provide: TruncatableService, useValue: {} }, + { provide: DSONameService, useClass: DSONameServiceMock }, ], schemas: [NO_ERRORS_SCHEMA] diff --git a/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/org-unit/org-unit-search-result-list-element.component.spec.ts b/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/org-unit/org-unit-search-result-list-element.component.spec.ts index 29bb069121..d116b2ade7 100644 --- a/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/org-unit/org-unit-search-result-list-element.component.spec.ts +++ b/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/org-unit/org-unit-search-result-list-element.component.spec.ts @@ -7,6 +7,8 @@ import { Item } from '../../../../../core/shared/item.model'; import { TruncatePipe } from '../../../../../shared/utils/truncate.pipe'; import { TruncatableService } from '../../../../../shared/truncatable/truncatable.service'; import { ItemSearchResult } from '../../../../../shared/object-collection/shared/item-search-result.model'; +import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; +import { DSONameServiceMock } from '../../../../../shared/mocks/dso-name.service.mock'; let orgUnitListElementComponent: OrgUnitSearchResultListElementComponent; let fixture: ComponentFixture; @@ -53,7 +55,8 @@ describe('OrgUnitSearchResultListElementComponent', () => { TestBed.configureTestingModule({ declarations: [ OrgUnitSearchResultListElementComponent , TruncatePipe], providers: [ - { provide: TruncatableService, useValue: {} } + { provide: TruncatableService, useValue: {} }, + { provide: DSONameService, useClass: DSONameServiceMock } ], schemas: [ NO_ERRORS_SCHEMA ] diff --git a/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/person/person-search-result-list-element.component.spec.ts b/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/person/person-search-result-list-element.component.spec.ts index 08fdf821d3..2acb02da7d 100644 --- a/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/person/person-search-result-list-element.component.spec.ts +++ b/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/person/person-search-result-list-element.component.spec.ts @@ -7,6 +7,8 @@ import { PersonSearchResultListElementComponent } from './person-search-result-l import { Item } from '../../../../../core/shared/item.model'; import { TruncatePipe } from '../../../../../shared/utils/truncate.pipe'; import { TruncatableService } from '../../../../../shared/truncatable/truncatable.service'; +import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; +import { DSONameServiceMock } from '../../../../../shared/mocks/dso-name.service.mock'; let personListElementComponent: PersonSearchResultListElementComponent; let fixture: ComponentFixture; @@ -53,7 +55,8 @@ describe('PersonSearchResultListElementComponent', () => { TestBed.configureTestingModule({ declarations: [PersonSearchResultListElementComponent, TruncatePipe], providers: [ - { provide: TruncatableService, useValue: {} } + { provide: TruncatableService, useValue: {} }, + { provide: DSONameService, useClass: DSONameServiceMock } ], schemas: [NO_ERRORS_SCHEMA] diff --git a/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/project/project-search-result-list-element.component.spec.ts b/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/project/project-search-result-list-element.component.spec.ts index 1d45d98281..8b27a86f6d 100644 --- a/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/project/project-search-result-list-element.component.spec.ts +++ b/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/project/project-search-result-list-element.component.spec.ts @@ -6,6 +6,8 @@ import { ProjectSearchResultListElementComponent } from './project-search-result import { Item } from '../../../../../core/shared/item.model'; import { TruncatePipe } from '../../../../../shared/utils/truncate.pipe'; import { TruncatableService } from '../../../../../shared/truncatable/truncatable.service'; +import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; +import { DSONameServiceMock } from '../../../../../shared/mocks/dso-name.service.mock'; let projectListElementComponent: ProjectSearchResultListElementComponent; let fixture: ComponentFixture; @@ -53,7 +55,8 @@ describe('ProjectSearchResultListElementComponent', () => { TestBed.configureTestingModule({ declarations: [ProjectSearchResultListElementComponent, TruncatePipe], providers: [ - { provide: TruncatableService, useValue: {} } + { provide: TruncatableService, useValue: {} }, + { provide: DSONameService, useClass: DSONameServiceMock } ], schemas: [NO_ERRORS_SCHEMA] diff --git a/src/app/entity-groups/research-entities/item-list-elements/sidebar-search-list-elements/person/person-sidebar-search-list-element.component.ts b/src/app/entity-groups/research-entities/item-list-elements/sidebar-search-list-elements/person/person-sidebar-search-list-element.component.ts index ade080f2e2..281f22ddb4 100644 --- a/src/app/entity-groups/research-entities/item-list-elements/sidebar-search-list-elements/person/person-sidebar-search-list-element.component.ts +++ b/src/app/entity-groups/research-entities/item-list-elements/sidebar-search-list-elements/person/person-sidebar-search-list-element.component.ts @@ -9,6 +9,7 @@ import { isNotEmpty } from '../../../../../shared/empty.util'; import { TruncatableService } from '../../../../../shared/truncatable/truncatable.service'; import { LinkService } from '../../../../../core/cache/builders/link.service'; import { TranslateService } from '@ngx-translate/core'; +import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; @listableObjectComponent('PersonSearchResult', ViewMode.ListElement, Context.SideBarSearchModal) @listableObjectComponent('PersonSearchResult', ViewMode.ListElement, Context.SideBarSearchModalCurrent) @@ -23,8 +24,10 @@ import { TranslateService } from '@ngx-translate/core'; export class PersonSidebarSearchListElementComponent extends SidebarSearchListElementComponent { constructor(protected truncatableService: TruncatableService, protected linkService: LinkService, - protected translateService: TranslateService) { - super(truncatableService, linkService); + protected translateService: TranslateService, + protected dsoNameService: DSONameService + ) { + super(truncatableService, linkService, dsoNameService); } /** diff --git a/src/app/entity-groups/research-entities/submission/item-list-elements/org-unit/org-unit-search-result-list-submission-element.component.spec.ts b/src/app/entity-groups/research-entities/submission/item-list-elements/org-unit/org-unit-search-result-list-submission-element.component.spec.ts index ff74c6554f..13a307e18f 100644 --- a/src/app/entity-groups/research-entities/submission/item-list-elements/org-unit/org-unit-search-result-list-submission-element.component.spec.ts +++ b/src/app/entity-groups/research-entities/submission/item-list-elements/org-unit/org-unit-search-result-list-submission-element.component.spec.ts @@ -27,6 +27,8 @@ import { createSuccessfulRemoteDataObject$ } from '../../../../../shared/remote- import { TruncatableService } from '../../../../../shared/truncatable/truncatable.service'; import { TruncatePipe } from '../../../../../shared/utils/truncate.pipe'; import { OrgUnitSearchResultListSubmissionElementComponent } from './org-unit-search-result-list-submission-element.component'; +import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; +import { DSONameServiceMock } from '../../../../../shared/mocks/dso-name.service.mock'; let personListElementComponent: OrgUnitSearchResultListSubmissionElementComponent; let fixture: ComponentFixture; @@ -115,6 +117,7 @@ describe('OrgUnitSearchResultListSubmissionElementComponent', () => { { provide: DSOChangeAnalyzer, useValue: {} }, { provide: DefaultChangeAnalyzer, useValue: {} }, { provide: BitstreamDataService, useValue: mockBitstreamDataService }, + { provide: DSONameService, useClass: DSONameServiceMock } ], schemas: [NO_ERRORS_SCHEMA] diff --git a/src/app/entity-groups/research-entities/submission/item-list-elements/org-unit/org-unit-search-result-list-submission-element.component.ts b/src/app/entity-groups/research-entities/submission/item-list-elements/org-unit/org-unit-search-result-list-submission-element.component.ts index 0c6d2b450c..091549dcea 100644 --- a/src/app/entity-groups/research-entities/submission/item-list-elements/org-unit/org-unit-search-result-list-submission-element.component.ts +++ b/src/app/entity-groups/research-entities/submission/item-list-elements/org-unit/org-unit-search-result-list-submission-element.component.ts @@ -19,6 +19,8 @@ import { MetadataValue } from '../../../../../core/shared/metadata.models'; import { ItemDataService } from '../../../../../core/data/item-data.service'; import { SelectableListService } from '../../../../../shared/object-list/selectable-list/selectable-list.service'; import { NameVariantModalComponent } from '../../name-variant-modal/name-variant-modal.component'; +import { LinkService } from '../../../../../core/cache/builders/link.service'; +import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; @listableObjectComponent('OrgUnitSearchResult', ViewMode.ListElement, Context.EntitySearchModal) @listableObjectComponent('OrgUnitSearchResult', ViewMode.ListElement, Context.EntitySearchModalWithNameVariants) @@ -44,8 +46,10 @@ export class OrgUnitSearchResultListSubmissionElementComponent extends SearchRes private modalService: NgbModal, private itemDataService: ItemDataService, private bitstreamDataService: BitstreamDataService, - private selectableListService: SelectableListService) { - super(truncatableService); + private selectableListService: SelectableListService, + protected dsoNameService: DSONameService + ) { + super(truncatableService, dsoNameService); } ngOnInit() { diff --git a/src/app/entity-groups/research-entities/submission/item-list-elements/person/person-search-result-list-submission-element.component.ts b/src/app/entity-groups/research-entities/submission/item-list-elements/person/person-search-result-list-submission-element.component.ts index 96be3d1b4e..2d991d5c64 100644 --- a/src/app/entity-groups/research-entities/submission/item-list-elements/person/person-search-result-list-submission-element.component.ts +++ b/src/app/entity-groups/research-entities/submission/item-list-elements/person/person-search-result-list-submission-element.component.ts @@ -19,6 +19,8 @@ import { NameVariantModalComponent } from '../../name-variant-modal/name-variant import { MetadataValue } from '../../../../../core/shared/metadata.models'; import { ItemDataService } from '../../../../../core/data/item-data.service'; import { SelectableListService } from '../../../../../shared/object-list/selectable-list/selectable-list.service'; +import { LinkService } from '../../../../../core/cache/builders/link.service'; +import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; @listableObjectComponent('PersonSearchResult', ViewMode.ListElement, Context.EntitySearchModalWithNameVariants) @Component({ @@ -42,8 +44,10 @@ export class PersonSearchResultListSubmissionElementComponent extends SearchResu private modalService: NgbModal, private itemDataService: ItemDataService, private bitstreamDataService: BitstreamDataService, - private selectableListService: SelectableListService) { - super(truncatableService); + private selectableListService: SelectableListService, + protected dsoNameService: DSONameService + ) { + super(truncatableService, dsoNameService); } ngOnInit() { diff --git a/src/app/shared/mocks/dso-name.service.mock.ts b/src/app/shared/mocks/dso-name.service.mock.ts new file mode 100644 index 0000000000..f4947cc860 --- /dev/null +++ b/src/app/shared/mocks/dso-name.service.mock.ts @@ -0,0 +1,9 @@ +import { DSpaceObject } from '../../core/shared/dspace-object.model'; + +export const UNDEFINED_NAME = 'Undefined'; + +export class DSONameServiceMock { + public getName(dso: DSpaceObject) { + return UNDEFINED_NAME; + } +} diff --git a/src/app/shared/object-detail/my-dspace-result-detail-element/pool-search-result/pool-search-result-detail-element.component.spec.ts b/src/app/shared/object-detail/my-dspace-result-detail-element/pool-search-result/pool-search-result-detail-element.component.spec.ts index f5f19fc041..8e0458d49f 100644 --- a/src/app/shared/object-detail/my-dspace-result-detail-element/pool-search-result/pool-search-result-detail-element.component.spec.ts +++ b/src/app/shared/object-detail/my-dspace-result-detail-element/pool-search-result/pool-search-result-detail-element.component.spec.ts @@ -15,6 +15,8 @@ import { VarDirective } from '../../../utils/var.directive'; import { LinkService } from '../../../../core/cache/builders/link.service'; import { getMockLinkService } from '../../../mocks/link-service.mock'; import { By } from '@angular/platform-browser'; +import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; +import { DSONameServiceMock } from '../../../mocks/dso-name.service.mock'; let component: PoolSearchResultDetailElementComponent; let fixture: ComponentFixture; @@ -67,7 +69,8 @@ describe('PoolSearchResultDetailElementComponent', () => { providers: [ { provide: 'objectElementProvider', useValue: (mockResultObject) }, { provide: 'indexElementProvider', useValue: (compIndex) }, - { provide: LinkService, useValue: linkService } + { provide: LinkService, useValue: linkService }, + { provide: DSONameService, useClass: DSONameServiceMock }, ], schemas: [NO_ERRORS_SCHEMA] }).overrideComponent(PoolSearchResultDetailElementComponent, { diff --git a/src/app/shared/object-detail/my-dspace-result-detail-element/workflow-item-search-result/workflow-item-search-result-detail-element.component.spec.ts b/src/app/shared/object-detail/my-dspace-result-detail-element/workflow-item-search-result/workflow-item-search-result-detail-element.component.spec.ts index 8745697fbe..536bd6d0bb 100644 --- a/src/app/shared/object-detail/my-dspace-result-detail-element/workflow-item-search-result/workflow-item-search-result-detail-element.component.spec.ts +++ b/src/app/shared/object-detail/my-dspace-result-detail-element/workflow-item-search-result/workflow-item-search-result-detail-element.component.spec.ts @@ -12,6 +12,8 @@ import { createSuccessfulRemoteDataObject } from '../../../remote-data.utils'; import { WorkflowItemSearchResult } from '../../../object-collection/shared/workflow-item-search-result.model'; import { getMockLinkService } from '../../../mocks/link-service.mock'; import { LinkService } from '../../../../core/cache/builders/link.service'; +import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; +import { DSONameServiceMock } from '../../../mocks/dso-name.service.mock'; let component: WorkflowItemSearchResultDetailElementComponent; let fixture: ComponentFixture; @@ -62,7 +64,8 @@ describe('WorkflowItemSearchResultDetailElementComponent', () => { providers: [ { provide: 'objectElementProvider', useValue: (mockResultObject) }, { provide: 'indexElementProvider', useValue: (compIndex) }, - { provide: LinkService, useValue: linkService } + { provide: LinkService, useValue: linkService }, + { provide: DSONameService, useClass: DSONameServiceMock }, ], schemas: [NO_ERRORS_SCHEMA] }).overrideComponent(WorkflowItemSearchResultDetailElementComponent, { diff --git a/src/app/shared/object-detail/my-dspace-result-detail-element/workspace-item-search-result/workspace-item-search-result-detail-element.component.spec.ts b/src/app/shared/object-detail/my-dspace-result-detail-element/workspace-item-search-result/workspace-item-search-result-detail-element.component.spec.ts index 1662e033d7..00a20b006a 100644 --- a/src/app/shared/object-detail/my-dspace-result-detail-element/workspace-item-search-result/workspace-item-search-result-detail-element.component.spec.ts +++ b/src/app/shared/object-detail/my-dspace-result-detail-element/workspace-item-search-result/workspace-item-search-result-detail-element.component.spec.ts @@ -12,6 +12,8 @@ import { createSuccessfulRemoteDataObject } from '../../../remote-data.utils'; import { WorkflowItemSearchResult } from '../../../object-collection/shared/workflow-item-search-result.model'; import { getMockLinkService } from '../../../mocks/link-service.mock'; import { LinkService } from '../../../../core/cache/builders/link.service'; +import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; +import { DSONameServiceMock } from '../../../mocks/dso-name.service.mock'; let component: WorkspaceItemSearchResultDetailElementComponent; let fixture: ComponentFixture; @@ -62,7 +64,8 @@ describe('WorkspaceItemSearchResultDetailElementComponent', () => { providers: [ { provide: 'objectElementProvider', useValue: (mockResultObject) }, { provide: 'indexElementProvider', useValue: (compIndex) }, - { provide: LinkService, useValue: linkService } + { provide: LinkService, useValue: linkService }, + { provide: DSONameService, useClass: DSONameServiceMock }, ], schemas: [NO_ERRORS_SCHEMA] }).overrideComponent(WorkspaceItemSearchResultDetailElementComponent, { diff --git a/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-approved-search-result/claimed-approved-search-result-list-element.component.spec.ts b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-approved-search-result/claimed-approved-search-result-list-element.component.spec.ts index e56999472e..b85b31c8ba 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-approved-search-result/claimed-approved-search-result-list-element.component.spec.ts +++ b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-approved-search-result/claimed-approved-search-result-list-element.component.spec.ts @@ -15,6 +15,8 @@ import { LinkService } from '../../../../../core/cache/builders/link.service'; import { MyDspaceItemStatusType } from '../../../../object-collection/shared/mydspace-item-status/my-dspace-item-status-type'; import { ClaimedApprovedTaskSearchResult } from '../../../../object-collection/shared/claimed-approved-task-search-result.model'; import { ClaimedApprovedSearchResultListElementComponent } from './claimed-approved-search-result-list-element.component'; +import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; +import { DSONameServiceMock } from '../../../../mocks/dso-name.service.mock'; let component: ClaimedApprovedSearchResultListElementComponent; let fixture: ComponentFixture; @@ -64,7 +66,8 @@ describe('ClaimedApprovedSearchResultListElementComponent', () => { declarations: [ClaimedApprovedSearchResultListElementComponent, VarDirective], providers: [ { provide: TruncatableService, useValue: {} }, - { provide: LinkService, useValue: linkService } + { provide: LinkService, useValue: linkService }, + { provide: DSONameService, useClass: DSONameServiceMock } ], schemas: [NO_ERRORS_SCHEMA] }).overrideComponent(ClaimedApprovedSearchResultListElementComponent, { diff --git a/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-approved-search-result/claimed-approved-search-result-list-element.component.ts b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-approved-search-result/claimed-approved-search-result-list-element.component.ts index 36e468808a..5571782ce2 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-approved-search-result/claimed-approved-search-result-list-element.component.ts +++ b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-approved-search-result/claimed-approved-search-result-list-element.component.ts @@ -12,6 +12,7 @@ import { followLink } from '../../../../utils/follow-link-config.model'; import { SearchResultListElementComponent } from '../../../search-result-list-element/search-result-list-element.component'; import { ClaimedTaskSearchResult } from '../../../../object-collection/shared/claimed-task-search-result.model'; import { ClaimedTask } from '../../../../../core/tasks/models/claimed-task-object.model'; +import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; /** * This component renders claimed task approved object for the search result in the list view. @@ -41,9 +42,10 @@ export class ClaimedApprovedSearchResultListElementComponent extends SearchResul public constructor( protected linkService: LinkService, - protected truncatableService: TruncatableService + protected truncatableService: TruncatableService, + protected dsoNameService: DSONameService ) { - super(truncatableService); + super(truncatableService, dsoNameService); } /** diff --git a/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-declined-search-result/claimed-declided-search-result-list-element.component.spec.ts b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-declined-search-result/claimed-declided-search-result-list-element.component.spec.ts index 8a8d542063..291c8244b7 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-declined-search-result/claimed-declided-search-result-list-element.component.spec.ts +++ b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-declined-search-result/claimed-declided-search-result-list-element.component.spec.ts @@ -15,6 +15,8 @@ import { VarDirective } from '../../../../utils/var.directive'; import { TruncatableService } from '../../../../truncatable/truncatable.service'; import { LinkService } from '../../../../../core/cache/builders/link.service'; import { MyDspaceItemStatusType } from '../../../../object-collection/shared/mydspace-item-status/my-dspace-item-status-type'; +import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; +import { DSONameServiceMock } from '../../../../mocks/dso-name.service.mock'; let component: ClaimedDeclinedSearchResultListElementComponent; let fixture: ComponentFixture; @@ -64,7 +66,8 @@ describe('ClaimedDeclinedSearchResultListElementComponent', () => { declarations: [ClaimedDeclinedSearchResultListElementComponent, VarDirective], providers: [ { provide: TruncatableService, useValue: {} }, - { provide: LinkService, useValue: linkService } + { provide: LinkService, useValue: linkService }, + { provide: DSONameService, useClass: DSONameServiceMock } ], schemas: [NO_ERRORS_SCHEMA] }).overrideComponent(ClaimedDeclinedSearchResultListElementComponent, { diff --git a/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-declined-search-result/claimed-declined-search-result-list-element.component.ts b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-declined-search-result/claimed-declined-search-result-list-element.component.ts index 7db12c1725..630aa699a7 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-declined-search-result/claimed-declined-search-result-list-element.component.ts +++ b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-declined-search-result/claimed-declined-search-result-list-element.component.ts @@ -13,6 +13,7 @@ import { followLink } from '../../../../utils/follow-link-config.model'; import { SearchResultListElementComponent } from '../../../search-result-list-element/search-result-list-element.component'; import { ClaimedTaskSearchResult } from '../../../../object-collection/shared/claimed-task-search-result.model'; import { ClaimedTask } from '../../../../../core/tasks/models/claimed-task-object.model'; +import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; /** * This component renders claimed task declined object for the search result in the list view. @@ -42,9 +43,10 @@ export class ClaimedDeclinedSearchResultListElementComponent extends SearchResul public constructor( protected linkService: LinkService, - protected truncatableService: TruncatableService + protected truncatableService: TruncatableService, + protected dsoNameService: DSONameService ) { - super(truncatableService); + super(truncatableService, dsoNameService); } /** diff --git a/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-search-result-list-element.component.spec.ts b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-search-result-list-element.component.spec.ts index 5dad421f68..7896061a73 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-search-result-list-element.component.spec.ts +++ b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-search-result-list-element.component.spec.ts @@ -16,6 +16,8 @@ import { VarDirective } from '../../../utils/var.directive'; import { LinkService } from '../../../../core/cache/builders/link.service'; import { getMockLinkService } from '../../../mocks/link-service.mock'; import { By } from '@angular/platform-browser'; +import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; +import { DSONameServiceMock } from '../../../mocks/dso-name.service.mock'; let component: ClaimedSearchResultListElementComponent; let fixture: ComponentFixture; @@ -65,7 +67,8 @@ describe('ClaimedSearchResultListElementComponent', () => { declarations: [ClaimedSearchResultListElementComponent, VarDirective], providers: [ { provide: TruncatableService, useValue: {} }, - { provide: LinkService, useValue: linkService } + { provide: LinkService, useValue: linkService }, + { provide: DSONameService, useClass: DSONameServiceMock } ], schemas: [NO_ERRORS_SCHEMA] }).overrideComponent(ClaimedSearchResultListElementComponent, { diff --git a/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-search-result-list-element.component.ts b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-search-result-list-element.component.ts index cef1056401..dae3272889 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-search-result-list-element.component.ts +++ b/src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-search-result-list-element.component.ts @@ -12,6 +12,7 @@ import { WorkflowItem } from '../../../../core/submission/models/workflowitem.mo import { followLink } from '../../../utils/follow-link-config.model'; import { SearchResultListElementComponent } from '../../search-result-list-element/search-result-list-element.component'; import { ClaimedTask } from '../../../../core/tasks/models/claimed-task-object.model'; +import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; @Component({ selector: 'ds-claimed-search-result-list-element', @@ -38,9 +39,10 @@ export class ClaimedSearchResultListElementComponent extends SearchResultListEle public constructor( protected linkService: LinkService, - protected truncatableService: TruncatableService + protected truncatableService: TruncatableService, + protected dsoNameService: DSONameService ) { - super(truncatableService); + super(truncatableService, dsoNameService); } /** diff --git a/src/app/shared/object-list/my-dspace-result-list-element/item-search-result/item-search-result-list-element-submission.component.spec.ts b/src/app/shared/object-list/my-dspace-result-list-element/item-search-result/item-search-result-list-element-submission.component.spec.ts index e2017e8748..d1871d0996 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/item-search-result/item-search-result-list-element-submission.component.spec.ts +++ b/src/app/shared/object-list/my-dspace-result-list-element/item-search-result/item-search-result-list-element-submission.component.spec.ts @@ -10,6 +10,8 @@ import { ItemSearchResult } from '../../../object-collection/shared/item-search- import { ItemSearchResultListElementSubmissionComponent } from './item-search-result-list-element-submission.component'; import { TruncatableService } from '../../../truncatable/truncatable.service'; import { By } from '@angular/platform-browser'; +import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; +import { DSONameServiceMock } from '../../../mocks/dso-name.service.mock'; let component: ItemSearchResultListElementSubmissionComponent; let fixture: ComponentFixture; @@ -54,6 +56,7 @@ describe('ItemMyDSpaceResultListElementComponent', () => { declarations: [ItemSearchResultListElementSubmissionComponent], providers: [ { provide: TruncatableService, useValue: {} }, + { provide: DSONameService, useClass: DSONameServiceMock } ], schemas: [NO_ERRORS_SCHEMA] }).overrideComponent(ItemSearchResultListElementSubmissionComponent, { diff --git a/src/app/shared/object-list/my-dspace-result-list-element/pool-search-result/pool-search-result-list-element.component.spec.ts b/src/app/shared/object-list/my-dspace-result-list-element/pool-search-result/pool-search-result-list-element.component.spec.ts index e55b45aed7..18db9abd67 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/pool-search-result/pool-search-result-list-element.component.spec.ts +++ b/src/app/shared/object-list/my-dspace-result-list-element/pool-search-result/pool-search-result-list-element.component.spec.ts @@ -16,6 +16,8 @@ import { VarDirective } from '../../../utils/var.directive'; import { LinkService } from '../../../../core/cache/builders/link.service'; import { getMockLinkService } from '../../../mocks/link-service.mock'; import { By } from '@angular/platform-browser'; +import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; +import { DSONameServiceMock } from '../../../mocks/dso-name.service.mock'; let component: PoolSearchResultListElementComponent; let fixture: ComponentFixture; @@ -65,7 +67,8 @@ describe('PoolSearchResultListElementComponent', () => { declarations: [PoolSearchResultListElementComponent, VarDirective], providers: [ { provide: TruncatableService, useValue: {} }, - { provide: LinkService, useValue: linkService } + { provide: LinkService, useValue: linkService }, + { provide: DSONameService, useClass: DSONameServiceMock } ], schemas: [NO_ERRORS_SCHEMA] }).overrideComponent(PoolSearchResultListElementComponent, { diff --git a/src/app/shared/object-list/my-dspace-result-list-element/pool-search-result/pool-search-result-list-element.component.ts b/src/app/shared/object-list/my-dspace-result-list-element/pool-search-result/pool-search-result-list-element.component.ts index b130d5001c..fe4fa715ee 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/pool-search-result/pool-search-result-list-element.component.ts +++ b/src/app/shared/object-list/my-dspace-result-list-element/pool-search-result/pool-search-result-list-element.component.ts @@ -13,6 +13,7 @@ import { SearchResultListElementComponent } from '../../search-result-list-eleme import { TruncatableService } from '../../../truncatable/truncatable.service'; import { followLink } from '../../../utils/follow-link-config.model'; import { LinkService } from '../../../../core/cache/builders/link.service'; +import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; /** * This component renders pool task object for the search result in the list view. @@ -48,9 +49,10 @@ export class PoolSearchResultListElementComponent extends SearchResultListElemen constructor( protected linkService: LinkService, - protected truncatableService: TruncatableService + protected truncatableService: TruncatableService, + protected dsoNameService: DSONameService ) { - super(truncatableService); + super(truncatableService, dsoNameService); } /** diff --git a/src/app/shared/object-list/my-dspace-result-list-element/workflow-item-search-result/workflow-item-search-result-list-element.component.spec.ts b/src/app/shared/object-list/my-dspace-result-list-element/workflow-item-search-result/workflow-item-search-result-list-element.component.spec.ts index 3743a9bd22..61337b0cb3 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/workflow-item-search-result/workflow-item-search-result-list-element.component.spec.ts +++ b/src/app/shared/object-list/my-dspace-result-list-element/workflow-item-search-result/workflow-item-search-result-list-element.component.spec.ts @@ -16,6 +16,8 @@ import { createSuccessfulRemoteDataObject } from '../../../remote-data.utils'; import { TruncatableService } from '../../../truncatable/truncatable.service'; import { WorkflowItemSearchResultListElementComponent } from './workflow-item-search-result-list-element.component'; import { By } from '@angular/platform-browser'; +import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; +import { DSONameServiceMock } from '../../../mocks/dso-name.service.mock'; let component: WorkflowItemSearchResultListElementComponent; let fixture: ComponentFixture; @@ -67,6 +69,7 @@ describe('WorkflowItemSearchResultListElementComponent', () => { { provide: TruncatableService, useValue: {} }, { provide: ItemDataService, useValue: {} }, { provide: LinkService, useValue: linkService }, + { provide: DSONameService, useClass: DSONameServiceMock } ], schemas: [NO_ERRORS_SCHEMA] }).overrideComponent(WorkflowItemSearchResultListElementComponent, { diff --git a/src/app/shared/object-list/my-dspace-result-list-element/workflow-item-search-result/workflow-item-search-result-list-element.component.ts b/src/app/shared/object-list/my-dspace-result-list-element/workflow-item-search-result/workflow-item-search-result-list-element.component.ts index 432f69f28c..836a3ee268 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/workflow-item-search-result/workflow-item-search-result-list-element.component.ts +++ b/src/app/shared/object-list/my-dspace-result-list-element/workflow-item-search-result/workflow-item-search-result-list-element.component.ts @@ -15,6 +15,7 @@ import { WorkflowItemSearchResult } from '../../../object-collection/shared/work import { TruncatableService } from '../../../truncatable/truncatable.service'; import { followLink } from '../../../utils/follow-link-config.model'; import { SearchResultListElementComponent } from '../../search-result-list-element/search-result-list-element.component'; +import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; /** * This component renders workflowitem object for the search result in the list view. @@ -40,9 +41,10 @@ export class WorkflowItemSearchResultListElementComponent extends SearchResultLi constructor( protected truncatableService: TruncatableService, - protected linkService: LinkService + protected linkService: LinkService, + protected dsoNameService: DSONameService ) { - super(truncatableService); + super(truncatableService, dsoNameService); } /** diff --git a/src/app/shared/object-list/my-dspace-result-list-element/workspace-item-search-result/workspace-item-search-result-list-element.component.spec.ts b/src/app/shared/object-list/my-dspace-result-list-element/workspace-item-search-result/workspace-item-search-result-list-element.component.spec.ts index b1f2a2aeb9..87f5fd3733 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/workspace-item-search-result/workspace-item-search-result-list-element.component.spec.ts +++ b/src/app/shared/object-list/my-dspace-result-list-element/workspace-item-search-result/workspace-item-search-result-list-element.component.spec.ts @@ -16,6 +16,8 @@ import { createSuccessfulRemoteDataObject } from '../../../remote-data.utils'; import { TruncatableService } from '../../../truncatable/truncatable.service'; import { WorkspaceItemSearchResultListElementComponent } from './workspace-item-search-result-list-element.component'; import { By } from '@angular/platform-browser'; +import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; +import { DSONameServiceMock } from '../../../mocks/dso-name.service.mock'; let component: WorkspaceItemSearchResultListElementComponent; let fixture: ComponentFixture; @@ -66,6 +68,7 @@ describe('WorkspaceItemSearchResultListElementComponent', () => { { provide: TruncatableService, useValue: {} }, { provide: ItemDataService, useValue: {} }, { provide: LinkService, useValue: linkService }, + { provide: DSONameService, useClass: DSONameServiceMock } ], schemas: [NO_ERRORS_SCHEMA] }).overrideComponent(WorkspaceItemSearchResultListElementComponent, { diff --git a/src/app/shared/object-list/my-dspace-result-list-element/workspace-item-search-result/workspace-item-search-result-list-element.component.ts b/src/app/shared/object-list/my-dspace-result-list-element/workspace-item-search-result/workspace-item-search-result-list-element.component.ts index b9d89ef6ab..5edfc1929e 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/workspace-item-search-result/workspace-item-search-result-list-element.component.ts +++ b/src/app/shared/object-list/my-dspace-result-list-element/workspace-item-search-result/workspace-item-search-result-list-element.component.ts @@ -15,6 +15,7 @@ import { WorkspaceItemSearchResult } from '../../../object-collection/shared/wor import { TruncatableService } from '../../../truncatable/truncatable.service'; import { followLink } from '../../../utils/follow-link-config.model'; import { SearchResultListElementComponent } from '../../search-result-list-element/search-result-list-element.component'; +import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; /** * This component renders workspaceitem object for the search result in the list view. @@ -40,9 +41,10 @@ export class WorkspaceItemSearchResultListElementComponent extends SearchResultL constructor( protected truncatableService: TruncatableService, - protected linkService: LinkService + protected linkService: LinkService, + protected dsoNameService: DSONameService ) { - super(truncatableService); + super(truncatableService, dsoNameService); } /** diff --git a/src/app/shared/object-list/search-result-list-element/collection-search-result/collection-search-result-list-element.component.html b/src/app/shared/object-list/search-result-list-element/collection-search-result/collection-search-result-list-element.component.html index 1c081e2805..c98003cd1d 100644 --- a/src/app/shared/object-list/search-result-list-element/collection-search-result/collection-search-result-list-element.component.html +++ b/src/app/shared/object-list/search-result-list-element/collection-search-result/collection-search-result-list-element.component.html @@ -1,4 +1,4 @@ - - + +
diff --git a/src/app/shared/object-list/search-result-list-element/collection-search-result/collection-search-result-list-element.component.spec.ts b/src/app/shared/object-list/search-result-list-element/collection-search-result/collection-search-result-list-element.component.spec.ts index d50fdccb80..bdfe825c82 100644 --- a/src/app/shared/object-list/search-result-list-element/collection-search-result/collection-search-result-list-element.component.spec.ts +++ b/src/app/shared/object-list/search-result-list-element/collection-search-result/collection-search-result-list-element.component.spec.ts @@ -7,6 +7,8 @@ import { TruncatePipe } from '../../../utils/truncate.pipe'; import { Collection } from '../../../../core/shared/collection.model'; import { TruncatableService } from '../../../truncatable/truncatable.service'; import { CollectionSearchResult } from '../../../object-collection/shared/collection-search-result.model'; +import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; +import { DSONameServiceMock } from '../../../mocks/dso-name.service.mock'; let collectionSearchResultListElementComponent: CollectionSearchResultListElementComponent; let fixture: ComponentFixture; @@ -47,6 +49,7 @@ describe('CollectionSearchResultListElementComponent', () => { declarations: [CollectionSearchResultListElementComponent, TruncatePipe], providers: [ { provide: TruncatableService, useValue: truncatableServiceStub }, + { provide: DSONameService, useClass: DSONameServiceMock } ], schemas: [NO_ERRORS_SCHEMA] }).overrideComponent(CollectionSearchResultListElementComponent, { diff --git a/src/app/shared/object-list/search-result-list-element/community-search-result/community-search-result-list-element.component.html b/src/app/shared/object-list/search-result-list-element/community-search-result/community-search-result-list-element.component.html index 08b02d123a..e0f0319ffc 100644 --- a/src/app/shared/object-list/search-result-list-element/community-search-result/community-search-result-list-element.component.html +++ b/src/app/shared/object-list/search-result-list-element/community-search-result/community-search-result-list-element.component.html @@ -1,4 +1,4 @@ - - + +
diff --git a/src/app/shared/object-list/search-result-list-element/community-search-result/community-search-result-list-element.component.spec.ts b/src/app/shared/object-list/search-result-list-element/community-search-result/community-search-result-list-element.component.spec.ts index c5588f5371..529594671c 100644 --- a/src/app/shared/object-list/search-result-list-element/community-search-result/community-search-result-list-element.component.spec.ts +++ b/src/app/shared/object-list/search-result-list-element/community-search-result/community-search-result-list-element.component.spec.ts @@ -7,6 +7,8 @@ import { TruncatePipe } from '../../../utils/truncate.pipe'; import { Community } from '../../../../core/shared/community.model'; import { TruncatableService } from '../../../truncatable/truncatable.service'; import { CommunitySearchResult } from '../../../object-collection/shared/community-search-result.model'; +import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service'; +import { DSONameServiceMock } from '../../../mocks/dso-name.service.mock'; let communitySearchResultListElementComponent: CommunitySearchResultListElementComponent; let fixture: ComponentFixture; @@ -47,6 +49,7 @@ describe('CommunitySearchResultListElementComponent', () => { declarations: [CommunitySearchResultListElementComponent, TruncatePipe], providers: [ { provide: TruncatableService, useValue: truncatableServiceStub }, + { provide: DSONameService, useClass: DSONameServiceMock } ], schemas: [NO_ERRORS_SCHEMA] diff --git a/src/app/shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component.html b/src/app/shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component.html index 01a026eec9..80a4fd81fd 100644 --- a/src/app/shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component.html +++ b/src/app/shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component.html @@ -2,10 +2,10 @@ - + [routerLink]="[itemPageRoute]" class="lead item-list-title" + [innerHTML]="dsoTitle"> + diff --git a/src/app/shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component.spec.ts b/src/app/shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component.spec.ts index f8a8be415d..d32ac8058d 100644 --- a/src/app/shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component.spec.ts +++ b/src/app/shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component.spec.ts @@ -7,6 +7,8 @@ import { Item } from '../../../../../../core/shared/item.model'; import { TruncatePipe } from '../../../../../utils/truncate.pipe'; import { TruncatableService } from '../../../../../truncatable/truncatable.service'; import { ItemSearchResult } from '../../../../../object-collection/shared/item-search-result.model'; +import { DSONameService } from '../../../../../../core/breadcrumbs/dso-name.service'; +import { DSONameServiceMock, UNDEFINED_NAME } from '../../../../../mocks/dso-name.service.mock'; let publicationListElementComponent: ItemSearchResultListElementComponent; let fixture: ComponentFixture; @@ -53,23 +55,18 @@ const mockItemWithoutMetadata: ItemSearchResult = Object.assign(new ItemSearchRe indexableObject: Object.assign(new Item(), { bundles: observableOf({}), - metadata: { - 'dc.title': [ - { - language: 'en_US', - value: 'This is just another title' - } - ] - } + metadata: {} }) }); + describe('ItemListElementComponent', () => { beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ declarations: [ItemSearchResultListElementComponent, TruncatePipe], providers: [ - { provide: TruncatableService, useValue: {} } + { provide: TruncatableService, useValue: {} }, + { provide: DSONameService, useClass: DSONameServiceMock } ], schemas: [NO_ERRORS_SCHEMA] @@ -179,4 +176,16 @@ describe('ItemListElementComponent', () => { expect(abstractField).toBeNull(); }); }); + + describe('When the item has no title', () => { + beforeEach(() => { + publicationListElementComponent.object = mockItemWithoutMetadata; + fixture.detectChanges(); + }); + + it('should show the fallback untitled translation', () => { + const titleField = fixture.debugElement.query(By.css('.item-list-title')); + expect(titleField.nativeElement.textContent.trim()).toEqual(UNDEFINED_NAME); + }); + }); }); diff --git a/src/app/shared/object-list/search-result-list-element/search-result-list-element.component.ts b/src/app/shared/object-list/search-result-list-element/search-result-list-element.component.ts index 3ad4f5e7e6..afd0363e7a 100644 --- a/src/app/shared/object-list/search-result-list-element/search-result-list-element.component.ts +++ b/src/app/shared/object-list/search-result-list-element/search-result-list-element.component.ts @@ -7,6 +7,7 @@ import { hasValue } from '../../empty.util'; import { AbstractListableElementComponent } from '../../object-collection/shared/object-collection-element/abstract-listable-element.component'; import { TruncatableService } from '../../truncatable/truncatable.service'; import { Metadata } from '../../../core/shared/metadata.utils'; +import { DSONameService } from '../../../core/breadcrumbs/dso-name.service'; @Component({ selector: 'ds-search-result-list-element', @@ -17,8 +18,9 @@ export class SearchResultListElementComponent, K exten * The DSpaceObject of the search result */ dso: K; + dsoTitle: string; - public constructor(protected truncatableService: TruncatableService) { + public constructor(protected truncatableService: TruncatableService, protected dsoNameService: DSONameService) { super(); } @@ -28,6 +30,7 @@ export class SearchResultListElementComponent, K exten ngOnInit(): void { if (hasValue(this.object)) { this.dso = this.object.indexableObject; + this.dsoTitle = this.dsoNameService.getName(this.dso); } } diff --git a/src/app/shared/object-list/sidebar-search-list-element/sidebar-search-list-element.component.spec.ts b/src/app/shared/object-list/sidebar-search-list-element/sidebar-search-list-element.component.spec.ts index 3d402ca0e4..31ad68ec63 100644 --- a/src/app/shared/object-list/sidebar-search-list-element/sidebar-search-list-element.component.spec.ts +++ b/src/app/shared/object-list/sidebar-search-list-element/sidebar-search-list-element.component.spec.ts @@ -10,6 +10,8 @@ import { LinkService } from '../../../core/cache/builders/link.service'; import { createSuccessfulRemoteDataObject$ } from '../../remote-data.utils'; import { HALResource } from '../../../core/shared/hal-resource.model'; import { ChildHALResource } from '../../../core/shared/child-hal-resource.model'; +import { DSONameService } from '../../../core/breadcrumbs/dso-name.service'; +import { DSONameServiceMock } from '../../mocks/dso-name.service.mock'; export function createSidebarSearchListElementTests( componentClass: any, @@ -38,6 +40,7 @@ export function createSidebarSearchListElementTests( providers: [ { provide: TruncatableService, useValue: {} }, { provide: LinkService, useValue: linkService }, + { provide: DSONameService, useClass: DSONameServiceMock }, ...extraProviders ], schemas: [NO_ERRORS_SCHEMA] diff --git a/src/app/shared/object-list/sidebar-search-list-element/sidebar-search-list-element.component.ts b/src/app/shared/object-list/sidebar-search-list-element/sidebar-search-list-element.component.ts index 478bf50771..a0d70a43c7 100644 --- a/src/app/shared/object-list/sidebar-search-list-element/sidebar-search-list-element.component.ts +++ b/src/app/shared/object-list/sidebar-search-list-element/sidebar-search-list-element.component.ts @@ -12,6 +12,7 @@ import { followLink } from '../../utils/follow-link-config.model'; import { RemoteData } from '../../../core/data/remote-data'; import { of as observableOf } from 'rxjs'; import { Context } from '../../../core/shared/context.model'; +import { DSONameService } from '../../../core/breadcrumbs/dso-name.service'; @Component({ selector: 'ds-sidebar-search-list-element', @@ -39,8 +40,10 @@ export class SidebarSearchListElementComponent, K exte description: string; public constructor(protected truncatableService: TruncatableService, - protected linkService: LinkService) { - super(truncatableService); + protected linkService: LinkService, + protected dsoNameService: DSONameService + ) { + super(truncatableService, dsoNameService); } /** diff --git a/src/assets/i18n/en.json5 b/src/assets/i18n/en.json5 index a16d41a9e3..f60abfb253 100644 --- a/src/assets/i18n/en.json5 +++ b/src/assets/i18n/en.json5 @@ -1098,6 +1098,10 @@ + "dso.name.untitled": "Untitled", + + + "dso-selector.create.collection.head": "New collection", "dso-selector.create.collection.sub-level": "Create a new collection in", From 01def4e8e4cd99193e22cf85c9fbca8cc0c6bfc3 Mon Sep 17 00:00:00 2001 From: Raf Ponsaerts Date: Wed, 17 Mar 2021 12:35:33 +0100 Subject: [PATCH 100/106] Fixed other item types title --- ...ournal-issue-search-result-list-element.component.html | 8 ++++---- ...urnal-volume-search-result-list-element.component.html | 8 ++++---- .../journal-search-result-list-element.component.html | 8 ++++---- .../project-search-result-list-element.component.html | 8 ++++---- 4 files changed, 16 insertions(+), 16 deletions(-) diff --git a/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal-issue/journal-issue-search-result-list-element.component.html b/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal-issue/journal-issue-search-result-list-element.component.html index 0e783a4843..fa4c06d36a 100644 --- a/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal-issue/journal-issue-search-result-list-element.component.html +++ b/src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal-issue/journal-issue-search-result-list-element.component.html @@ -1,11 +1,11 @@ + [routerLink]="[itemPageRoute]" class="lead item-list-title" + [innerHTML]="dsoTitle"> + class="lead item-list-title" + [innerHTML]="dsoTitle"> + [routerLink]="[itemPageRoute]" class="lead item-list-title" + [innerHTML]="dsoTitle"> + class="lead item-list-title" + [innerHTML]="dsoTitle"> + [routerLink]="[itemPageRoute]" class="lead item-list-title" + [innerHTML]="dsoTitle"> + class="lead item-list-title" + [innerHTML]="dsoTitle"> + [routerLink]="[itemPageRoute]" class="lead item-list-title" + [innerHTML]="dsoTitle"> + class="lead item-list-title" + [innerHTML]="dsoTitle"> From 3a0dc277e48dc7ab3b4e90177646e2d68331761c Mon Sep 17 00:00:00 2001 From: Raf Ponsaerts Date: Wed, 17 Mar 2021 13:33:27 +0100 Subject: [PATCH 101/106] fix lgtm issues --- .../org-unit-search-result-list-submission-element.component.ts | 1 - .../person-search-result-list-submission-element.component.ts | 1 - 2 files changed, 2 deletions(-) diff --git a/src/app/entity-groups/research-entities/submission/item-list-elements/org-unit/org-unit-search-result-list-submission-element.component.ts b/src/app/entity-groups/research-entities/submission/item-list-elements/org-unit/org-unit-search-result-list-submission-element.component.ts index 091549dcea..e3cc8fccd3 100644 --- a/src/app/entity-groups/research-entities/submission/item-list-elements/org-unit/org-unit-search-result-list-submission-element.component.ts +++ b/src/app/entity-groups/research-entities/submission/item-list-elements/org-unit/org-unit-search-result-list-submission-element.component.ts @@ -19,7 +19,6 @@ import { MetadataValue } from '../../../../../core/shared/metadata.models'; import { ItemDataService } from '../../../../../core/data/item-data.service'; import { SelectableListService } from '../../../../../shared/object-list/selectable-list/selectable-list.service'; import { NameVariantModalComponent } from '../../name-variant-modal/name-variant-modal.component'; -import { LinkService } from '../../../../../core/cache/builders/link.service'; import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; @listableObjectComponent('OrgUnitSearchResult', ViewMode.ListElement, Context.EntitySearchModal) diff --git a/src/app/entity-groups/research-entities/submission/item-list-elements/person/person-search-result-list-submission-element.component.ts b/src/app/entity-groups/research-entities/submission/item-list-elements/person/person-search-result-list-submission-element.component.ts index 2d991d5c64..64cf73cfb9 100644 --- a/src/app/entity-groups/research-entities/submission/item-list-elements/person/person-search-result-list-submission-element.component.ts +++ b/src/app/entity-groups/research-entities/submission/item-list-elements/person/person-search-result-list-submission-element.component.ts @@ -19,7 +19,6 @@ import { NameVariantModalComponent } from '../../name-variant-modal/name-variant import { MetadataValue } from '../../../../../core/shared/metadata.models'; import { ItemDataService } from '../../../../../core/data/item-data.service'; import { SelectableListService } from '../../../../../shared/object-list/selectable-list/selectable-list.service'; -import { LinkService } from '../../../../../core/cache/builders/link.service'; import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service'; @listableObjectComponent('PersonSearchResult', ViewMode.ListElement, Context.EntitySearchModalWithNameVariants) From 2f7060a7528048b6dbf138414291ec88ee32436e Mon Sep 17 00:00:00 2001 From: Art Lowel Date: Mon, 15 Mar 2021 14:07:43 +0100 Subject: [PATCH 102/106] fix issue where stale remotedata objects could be returned first from findBy methods on dataservices --- src/app/core/data/data.service.spec.ts | 484 ++++++++++++++++++++++++- src/app/core/data/data.service.ts | 62 ++-- 2 files changed, 519 insertions(+), 27 deletions(-) diff --git a/src/app/core/data/data.service.spec.ts b/src/app/core/data/data.service.spec.ts index a8bbfa79a0..88b15754af 100644 --- a/src/app/core/data/data.service.spec.ts +++ b/src/app/core/data/data.service.spec.ts @@ -20,6 +20,9 @@ import { getMockRequestService } from '../../shared/mocks/request.service.mock'; import { HALEndpointServiceStub } from '../../shared/testing/hal-endpoint-service.stub'; import { RequestParam } from '../cache/models/request-param.model'; import { getMockRemoteDataBuildService } from '../../shared/mocks/remote-data-build.service.mock'; +import { TestScheduler } from 'rxjs/testing'; +import { RemoteData } from './remote-data'; +import { RequestEntryState } from './request.reducer'; const endpoint = 'https://rest.api/core'; @@ -63,6 +66,10 @@ describe('DataService', () => { let comparator; let objectCache; let store; + let selfLink; + let linksToFollow; + let testScheduler; + let remoteDataMocks; function initTestService(): TestService { requestService = getMockRequestService(); @@ -81,6 +88,34 @@ describe('DataService', () => { } } as any; store = {} as Store; + selfLink = 'https://rest.api/endpoint/1698f1d3-be98-4c51-9fd8-6bfedcbd59b7'; + linksToFollow = [ + followLink('a'), + followLink('b') + ]; + + testScheduler = new TestScheduler((actual, expected) => { + // asserting the two objects are equal + // e.g. using chai. + expect(actual).toEqual(expected); + }); + + const timeStamp = new Date().getTime(); + const msToLive = 15 * 60 * 1000; + const payload = { foo: 'bar' }; + const statusCodeSuccess = 200; + const statusCodeError = 404; + const errorMessage = 'not found'; + remoteDataMocks = { + RequestPending: new RemoteData(undefined, msToLive, timeStamp, RequestEntryState.RequestPending, undefined, undefined, undefined), + ResponsePending: new RemoteData(undefined, msToLive, timeStamp, RequestEntryState.ResponsePending, undefined, undefined, undefined), + Success: new RemoteData(timeStamp, msToLive, timeStamp, RequestEntryState.Success, undefined, payload, statusCodeSuccess), + SuccessStale: new RemoteData(timeStamp, msToLive, timeStamp, RequestEntryState.SuccessStale, undefined, payload, statusCodeSuccess), + Error: new RemoteData(timeStamp, msToLive, timeStamp, RequestEntryState.Error, errorMessage, undefined, statusCodeError), + ErrorStale: new RemoteData(timeStamp, msToLive, timeStamp, RequestEntryState.ErrorStale, errorMessage, undefined, statusCodeError), + }; + + return new TestService( requestService, rdbService, @@ -307,14 +342,12 @@ describe('DataService', () => { describe('update', () => { let operations; - let selfLink; let dso; let dso2; const name1 = 'random string'; const name2 = 'another random string'; beforeEach(() => { operations = [{ op: 'replace', path: '/0/value', value: name2 } as Operation]; - selfLink = 'https://rest.api/endpoint/1698f1d3-be98-4c51-9fd8-6bfedcbd59b7'; dso = Object.assign(new DSpaceObject(), { _links: { self: { href: selfLink } }, @@ -340,5 +373,452 @@ describe('DataService', () => { expect(objectCache.addPatch).not.toHaveBeenCalled(); }); }); + + describe(`reRequestStaleRemoteData`, () => { + let callback: jasmine.Spy; + + beforeEach(() => { + callback = jasmine.createSpy(); + }); + + + describe(`when shouldReRequest is false`, () => { + it(`shouldn't do anything`, () => { + testScheduler.run(({ cold, expectObservable, flush }) => { + const expected = 'a-b-c-d-e-f'; + const values = { + a: remoteDataMocks.RequestPending, + b: remoteDataMocks.ResponsePending, + c: remoteDataMocks.Success, + d: remoteDataMocks.SuccessStale, + e: remoteDataMocks.Error, + f: remoteDataMocks.ErrorStale, + }; + + expectObservable((service as any).reRequestStaleRemoteData(false, callback)(cold(expected, values))).toBe(expected, values); + // since the callback happens in a tap(), flush to ensure it has been executed + flush(); + expect(callback).not.toHaveBeenCalled(); + }); + }); + }); + + describe(`when shouldReRequest is true`, () => { + it(`should call the callback for stale RemoteData objects, but still pass the source observable unmodified`, () => { + testScheduler.run(({ cold, expectObservable, flush }) => { + const expected = 'a-b'; + const values = { + a: remoteDataMocks.SuccessStale, + b: remoteDataMocks.ErrorStale, + }; + + expectObservable((service as any).reRequestStaleRemoteData(true, callback)(cold(expected, values))).toBe(expected, values); + // since the callback happens in a tap(), flush to ensure it has been executed + flush(); + expect(callback).toHaveBeenCalledTimes(2); + }); + }); + + it(`should only call the callback for stale RemoteData objects if something is subscribed to it`, (done) => { + testScheduler.run(({ cold, expectObservable }) => { + const expected = 'a'; + const values = { + a: remoteDataMocks.SuccessStale, + }; + + const result$ = (service as any).reRequestStaleRemoteData(true, callback)(cold(expected, values)); + expectObservable(result$).toBe(expected, values); + expect(callback).not.toHaveBeenCalled(); + result$.subscribe(() => { + expect(callback).toHaveBeenCalled(); + done(); + }); + }); + }); + + it(`shouldn't do anything for RemoteData objects that aren't stale`, () => { + testScheduler.run(({ cold, expectObservable, flush }) => { + const expected = 'a-b-c-d'; + const values = { + a: remoteDataMocks.RequestPending, + b: remoteDataMocks.ResponsePending, + c: remoteDataMocks.Success, + d: remoteDataMocks.Error, + }; + + expectObservable((service as any).reRequestStaleRemoteData(true, callback)(cold(expected, values))).toBe(expected, values); + // since the callback happens in a tap(), flush to ensure it has been executed + flush(); + expect(callback).not.toHaveBeenCalled(); + }); + }); + }); + + }); + + describe(`findByHref`, () => { + beforeEach(() => { + spyOn(service as any, 'createAndSendGetRequest').and.callFake((href$) => { href$.subscribe().unsubscribe(); }); + }); + + it(`should call buildHrefFromFindOptions with href and linksToFollow`, () => { + testScheduler.run(({ cold }) => { + spyOn(service, 'buildHrefFromFindOptions').and.returnValue(selfLink); + spyOn(rdbService, 'buildSingle').and.returnValue(cold('a', { a: remoteDataMocks.Success })); + spyOn(service as any, 'reRequestStaleRemoteData').and.returnValue(() => cold('a', { a: remoteDataMocks.Success })); + + service.findByHref(selfLink, true, true, ...linksToFollow); + expect(service.buildHrefFromFindOptions).toHaveBeenCalledWith(selfLink, {}, [], ...linksToFollow); + }); + }); + + it(`should call createAndSendGetRequest with the result from buildHrefFromFindOptions and useCachedVersionIfAvailable`, () => { + testScheduler.run(({ cold, expectObservable }) => { + spyOn(service, 'buildHrefFromFindOptions').and.returnValue('bingo!'); + spyOn(rdbService, 'buildSingle').and.returnValue(cold('a', { a: remoteDataMocks.Success })); + spyOn(service as any, 'reRequestStaleRemoteData').and.returnValue(() => cold('a', { a: remoteDataMocks.Success })); + + service.findByHref(selfLink, true, true, ...linksToFollow); + expect((service as any).createAndSendGetRequest).toHaveBeenCalledWith(jasmine.anything(), true); + expectObservable(rdbService.buildSingle.calls.argsFor(0)[0]).toBe('(a|)', { a: 'bingo!' }); + + service.findByHref(selfLink, false, true, ...linksToFollow); + expect((service as any).createAndSendGetRequest).toHaveBeenCalledWith(jasmine.anything(), false); + expectObservable(rdbService.buildSingle.calls.argsFor(1)[0]).toBe('(a|)', { a: 'bingo!' }); + }); + }); + + it(`should call rdbService.buildSingle with the result from buildHrefFromFindOptions and linksToFollow`, () => { + testScheduler.run(({ cold, expectObservable }) => { + spyOn(service, 'buildHrefFromFindOptions').and.returnValue('bingo!'); + spyOn(rdbService, 'buildSingle').and.returnValue(cold('a', { a: remoteDataMocks.Success })); + spyOn(service as any, 'reRequestStaleRemoteData').and.returnValue(() => cold('a', { a: remoteDataMocks.Success })); + + service.findByHref(selfLink, true, true, ...linksToFollow); + expect(rdbService.buildSingle).toHaveBeenCalledWith(jasmine.anything() as any, ...linksToFollow); + expectObservable(rdbService.buildSingle.calls.argsFor(0)[0]).toBe('(a|)', { a: 'bingo!' }); + }); + }); + + it(`should return a the output from reRequestStaleRemoteData`, () => { + testScheduler.run(({ cold, expectObservable }) => { + spyOn(service, 'buildHrefFromFindOptions').and.returnValue(selfLink); + spyOn(rdbService, 'buildSingle').and.returnValue(cold('a', { a: remoteDataMocks.Success })); + spyOn(service as any, 'reRequestStaleRemoteData').and.returnValue(() => cold('a', { a: 'bingo!' })); + const expected = 'a'; + const values = { + a: 'bingo!', + }; + + expectObservable(service.findByHref(selfLink, true, true, ...linksToFollow)).toBe(expected, values); + }); + }); + + it(`should call reRequestStaleRemoteData with reRequestOnStale and the exact same findByHref call as a callback`, () => { + testScheduler.run(({ cold, expectObservable }) => { + spyOn(service, 'buildHrefFromFindOptions').and.returnValue(selfLink); + spyOn(rdbService, 'buildSingle').and.returnValue(cold('a', { a: remoteDataMocks.SuccessStale })); + spyOn(service as any, 'reRequestStaleRemoteData').and.returnValue(() => cold('a', { a: remoteDataMocks.SuccessStale })); + + service.findByHref(selfLink, true, true, ...linksToFollow); + expect((service as any).reRequestStaleRemoteData.calls.argsFor(0)[0]).toBeTrue(); + spyOn(service, 'findByHref').and.returnValue(cold('a', { a: remoteDataMocks.SuccessStale })); + // prove that the spy we just added hasn't been called yet + expect(service.findByHref).not.toHaveBeenCalled(); + // call the callback passed to reRequestStaleRemoteData + (service as any).reRequestStaleRemoteData.calls.argsFor(0)[1](); + // verify that findByHref _has_ been called now, with the same params as the original call + expect(service.findByHref).toHaveBeenCalledWith(jasmine.anything(), true, true, ...linksToFollow); + // ... except for selflink, which will have been turned in to an observable. + expectObservable((service.findByHref as jasmine.Spy).calls.argsFor(0)[0]).toBe('(a|)', { a: selfLink }); + }); + }); + + describe(`when useCachedVersionIfAvailable is true`, () => { + beforeEach(() => { + spyOn(service, 'buildHrefFromFindOptions').and.returnValue(selfLink); + spyOn(service as any, 'reRequestStaleRemoteData').and.callFake(() => (source) => source); + }); + + it(`should emit a cached completed RemoteData immediately, and keep emitting if it gets rerequested`, () => { + testScheduler.run(({ cold, expectObservable }) => { + spyOn(rdbService, 'buildSingle').and.returnValue(cold('a-b-c-d-e', { + a: remoteDataMocks.Success, + b: remoteDataMocks.RequestPending, + c: remoteDataMocks.ResponsePending, + d: remoteDataMocks.Success, + e: remoteDataMocks.SuccessStale, + })); + const expected = 'a-b-c-d-e'; + const values = { + a: remoteDataMocks.Success, + b: remoteDataMocks.RequestPending, + c: remoteDataMocks.ResponsePending, + d: remoteDataMocks.Success, + e: remoteDataMocks.SuccessStale, + }; + + expectObservable(service.findByHref(selfLink, true, true, ...linksToFollow)).toBe(expected, values); + }); + }); + + it(`should not emit a cached stale RemoteData, but only start emitting after the state first changes to RequestPending`, () => { + testScheduler.run(({ cold, expectObservable }) => { + spyOn(rdbService, 'buildSingle').and.returnValue(cold('a-b-c-d-e', { + a: remoteDataMocks.SuccessStale, + b: remoteDataMocks.RequestPending, + c: remoteDataMocks.ResponsePending, + d: remoteDataMocks.Success, + e: remoteDataMocks.SuccessStale, + })); + const expected = '--b-c-d-e'; + const values = { + b: remoteDataMocks.RequestPending, + c: remoteDataMocks.ResponsePending, + d: remoteDataMocks.Success, + e: remoteDataMocks.SuccessStale, + }; + + expectObservable(service.findByHref(selfLink, true, true, ...linksToFollow)).toBe(expected, values); + }); + }); + + }); + + describe(`when useCachedVersionIfAvailable is false`, () => { + beforeEach(() => { + spyOn(service, 'buildHrefFromFindOptions').and.returnValue(selfLink); + spyOn(service as any, 'reRequestStaleRemoteData').and.callFake(() => (source) => source); + }); + + + it(`should not emit a cached completed RemoteData, but only start emitting after the state first changes to RequestPending`, () => { + testScheduler.run(({ cold, expectObservable }) => { + spyOn(rdbService, 'buildSingle').and.returnValue(cold('a-b-c-d-e', { + a: remoteDataMocks.Success, + b: remoteDataMocks.RequestPending, + c: remoteDataMocks.ResponsePending, + d: remoteDataMocks.Success, + e: remoteDataMocks.SuccessStale, + })); + const expected = '--b-c-d-e'; + const values = { + b: remoteDataMocks.RequestPending, + c: remoteDataMocks.ResponsePending, + d: remoteDataMocks.Success, + e: remoteDataMocks.SuccessStale, + }; + + expectObservable(service.findByHref(selfLink, false, true, ...linksToFollow)).toBe(expected, values); + }); + }); + + it(`should not emit a cached stale RemoteData, but only start emitting after the state first changes to RequestPending`, () => { + testScheduler.run(({ cold, expectObservable }) => { + spyOn(rdbService, 'buildSingle').and.returnValue(cold('a-b-c-d-e', { + a: remoteDataMocks.SuccessStale, + b: remoteDataMocks.RequestPending, + c: remoteDataMocks.ResponsePending, + d: remoteDataMocks.Success, + e: remoteDataMocks.SuccessStale, + })); + const expected = '--b-c-d-e'; + const values = { + b: remoteDataMocks.RequestPending, + c: remoteDataMocks.ResponsePending, + d: remoteDataMocks.Success, + e: remoteDataMocks.SuccessStale, + }; + + expectObservable(service.findByHref(selfLink, false, true, ...linksToFollow)).toBe(expected, values); + }); + }); + + }); + + }); + + describe(`findAllByHref`, () => { + let findListOptions; + beforeEach(() => { + findListOptions = { currentPage: 5 }; + spyOn(service as any, 'createAndSendGetRequest').and.callFake((href$) => { href$.subscribe().unsubscribe(); }); + }); + + it(`should call buildHrefFromFindOptions with href and linksToFollow`, () => { + testScheduler.run(({ cold }) => { + spyOn(service, 'buildHrefFromFindOptions').and.returnValue(selfLink); + spyOn(rdbService, 'buildList').and.returnValue(cold('a', { a: remoteDataMocks.Success })); + spyOn(service as any, 'reRequestStaleRemoteData').and.returnValue(() => cold('a', { a: remoteDataMocks.Success })); + + service.findAllByHref(selfLink, findListOptions, true, true, ...linksToFollow); + expect(service.buildHrefFromFindOptions).toHaveBeenCalledWith(selfLink, findListOptions, [], ...linksToFollow); + }); + }); + + it(`should call createAndSendGetRequest with the result from buildHrefFromFindOptions and useCachedVersionIfAvailable`, () => { + testScheduler.run(({ cold, expectObservable }) => { + spyOn(service, 'buildHrefFromFindOptions').and.returnValue('bingo!'); + spyOn(rdbService, 'buildList').and.returnValue(cold('a', { a: remoteDataMocks.Success })); + spyOn(service as any, 'reRequestStaleRemoteData').and.returnValue(() => cold('a', { a: remoteDataMocks.Success })); + + service.findAllByHref(selfLink, findListOptions, true, true, ...linksToFollow); + expect((service as any).createAndSendGetRequest).toHaveBeenCalledWith(jasmine.anything(), true); + expectObservable(rdbService.buildList.calls.argsFor(0)[0]).toBe('(a|)', { a: 'bingo!' }); + + service.findAllByHref(selfLink, findListOptions, false, true, ...linksToFollow); + expect((service as any).createAndSendGetRequest).toHaveBeenCalledWith(jasmine.anything(), false); + expectObservable(rdbService.buildList.calls.argsFor(1)[0]).toBe('(a|)', { a: 'bingo!' }); + }); + }); + + it(`should call rdbService.buildList with the result from buildHrefFromFindOptions and linksToFollow`, () => { + testScheduler.run(({ cold, expectObservable }) => { + spyOn(service, 'buildHrefFromFindOptions').and.returnValue('bingo!'); + spyOn(rdbService, 'buildList').and.returnValue(cold('a', { a: remoteDataMocks.Success })); + spyOn(service as any, 'reRequestStaleRemoteData').and.returnValue(() => cold('a', { a: remoteDataMocks.Success })); + + service.findAllByHref(selfLink, findListOptions, true, true, ...linksToFollow); + expect(rdbService.buildList).toHaveBeenCalledWith(jasmine.anything() as any, ...linksToFollow); + expectObservable(rdbService.buildList.calls.argsFor(0)[0]).toBe('(a|)', { a: 'bingo!' }); + }); + }); + + it(`should call reRequestStaleRemoteData with reRequestOnStale and the exact same findAllByHref call as a callback`, () => { + testScheduler.run(({ cold, expectObservable }) => { + spyOn(service, 'buildHrefFromFindOptions').and.returnValue('bingo!'); + spyOn(rdbService, 'buildList').and.returnValue(cold('a', { a: remoteDataMocks.SuccessStale })); + spyOn(service as any, 'reRequestStaleRemoteData').and.returnValue(() => cold('a', { a: remoteDataMocks.SuccessStale })); + + service.findAllByHref(selfLink, findListOptions, true, true, ...linksToFollow); + expect((service as any).reRequestStaleRemoteData.calls.argsFor(0)[0]).toBeTrue(); + spyOn(service, 'findAllByHref').and.returnValue(cold('a', { a: remoteDataMocks.SuccessStale })); + // prove that the spy we just added hasn't been called yet + expect(service.findAllByHref).not.toHaveBeenCalled(); + // call the callback passed to reRequestStaleRemoteData + (service as any).reRequestStaleRemoteData.calls.argsFor(0)[1](); + // verify that findAllByHref _has_ been called now, with the same params as the original call + expect(service.findAllByHref).toHaveBeenCalledWith(jasmine.anything(), findListOptions, true, true, ...linksToFollow); + // ... except for selflink, which will have been turned in to an observable. + expectObservable((service.findAllByHref as jasmine.Spy).calls.argsFor(0)[0]).toBe('(a|)', { a: selfLink }); + }); + }); + + it(`should return a the output from reRequestStaleRemoteData`, () => { + testScheduler.run(({ cold, expectObservable }) => { + spyOn(service, 'buildHrefFromFindOptions').and.returnValue(selfLink); + spyOn(rdbService, 'buildList').and.returnValue(cold('a', { a: remoteDataMocks.Success })); + spyOn(service as any, 'reRequestStaleRemoteData').and.returnValue(() => cold('a', { a: 'bingo!' })); + const expected = 'a'; + const values = { + a: 'bingo!', + }; + + expectObservable(service.findAllByHref(selfLink, findListOptions, true, true, ...linksToFollow)).toBe(expected, values); + }); + }); + + describe(`when useCachedVersionIfAvailable is true`, () => { + beforeEach(() => { + spyOn(service, 'buildHrefFromFindOptions').and.returnValue(selfLink); + spyOn(service as any, 'reRequestStaleRemoteData').and.callFake(() => (source) => source); + }); + + it(`should emit a cached completed RemoteData immediately, and keep emitting if it gets rerequested`, () => { + testScheduler.run(({ cold, expectObservable }) => { + spyOn(rdbService, 'buildList').and.returnValue(cold('a-b-c-d-e', { + a: remoteDataMocks.Success, + b: remoteDataMocks.RequestPending, + c: remoteDataMocks.ResponsePending, + d: remoteDataMocks.Success, + e: remoteDataMocks.SuccessStale, + })); + const expected = 'a-b-c-d-e'; + const values = { + a: remoteDataMocks.Success, + b: remoteDataMocks.RequestPending, + c: remoteDataMocks.ResponsePending, + d: remoteDataMocks.Success, + e: remoteDataMocks.SuccessStale, + }; + + expectObservable(service.findAllByHref(selfLink, findListOptions, true, true, ...linksToFollow)).toBe(expected, values); + }); + }); + + it(`should not emit a cached stale RemoteData, but only start emitting after the state first changes to RequestPending`, () => { + testScheduler.run(({ cold, expectObservable }) => { + spyOn(rdbService, 'buildList').and.returnValue(cold('a-b-c-d-e', { + a: remoteDataMocks.SuccessStale, + b: remoteDataMocks.RequestPending, + c: remoteDataMocks.ResponsePending, + d: remoteDataMocks.Success, + e: remoteDataMocks.SuccessStale, + })); + const expected = '--b-c-d-e'; + const values = { + b: remoteDataMocks.RequestPending, + c: remoteDataMocks.ResponsePending, + d: remoteDataMocks.Success, + e: remoteDataMocks.SuccessStale, + }; + + expectObservable(service.findAllByHref(selfLink, findListOptions, true, true, ...linksToFollow)).toBe(expected, values); + }); + }); + + }); + + describe(`when useCachedVersionIfAvailable is false`, () => { + beforeEach(() => { + spyOn(service, 'buildHrefFromFindOptions').and.returnValue(selfLink); + spyOn(service as any, 'reRequestStaleRemoteData').and.callFake(() => (source) => source); + }); + + + it(`should not emit a cached completed RemoteData, but only start emitting after the state first changes to RequestPending`, () => { + testScheduler.run(({ cold, expectObservable }) => { + spyOn(rdbService, 'buildList').and.returnValue(cold('a-b-c-d-e', { + a: remoteDataMocks.Success, + b: remoteDataMocks.RequestPending, + c: remoteDataMocks.ResponsePending, + d: remoteDataMocks.Success, + e: remoteDataMocks.SuccessStale, + })); + const expected = '--b-c-d-e'; + const values = { + b: remoteDataMocks.RequestPending, + c: remoteDataMocks.ResponsePending, + d: remoteDataMocks.Success, + e: remoteDataMocks.SuccessStale, + }; + + expectObservable(service.findAllByHref(selfLink, findListOptions, false, true, ...linksToFollow)).toBe(expected, values); + }); + }); + + it(`should not emit a cached stale RemoteData, but only start emitting after the state first changes to RequestPending`, () => { + testScheduler.run(({ cold, expectObservable }) => { + spyOn(rdbService, 'buildList').and.returnValue(cold('a-b-c-d-e', { + a: remoteDataMocks.SuccessStale, + b: remoteDataMocks.RequestPending, + c: remoteDataMocks.ResponsePending, + d: remoteDataMocks.Success, + e: remoteDataMocks.SuccessStale, + })); + const expected = '--b-c-d-e'; + const values = { + b: remoteDataMocks.RequestPending, + c: remoteDataMocks.ResponsePending, + d: remoteDataMocks.Success, + e: remoteDataMocks.SuccessStale, + }; + + expectObservable(service.findAllByHref(selfLink, findListOptions, false, true, ...linksToFollow)).toBe(expected, values); + }); + }); + + }); + }); }); /* tslint:enable:max-classes-per-file */ diff --git a/src/app/core/data/data.service.ts b/src/app/core/data/data.service.ts index 814c281a37..6bad02e776 100644 --- a/src/app/core/data/data.service.ts +++ b/src/app/core/data/data.service.ts @@ -12,6 +12,7 @@ import { takeWhile, switchMap, tap, + skipWhile, } from 'rxjs/operators'; import { hasValue, isNotEmpty, isNotEmptyOperator } from '../../shared/empty.util'; import { NotificationOptions } from '../../shared/notifications/models/notification-options.model'; @@ -45,29 +46,6 @@ import { UpdateDataService } from './update-data.service'; import { GenericConstructor } from '../shared/generic-constructor'; import { NoContent } from '../shared/NoContent.model'; -/** - * An operator that will call the given function if the incoming RemoteData is stale and - * shouldReRequest is true - * - * @param shouldReRequest Whether or not to call the re-request function if the RemoteData is stale - * @param requestFn The function to call if the RemoteData is stale and shouldReRequest is - * true - */ -export const reRequestStaleRemoteData = (shouldReRequest: boolean, requestFn: () => Observable>) => - (source: Observable>): Observable> => { - if (shouldReRequest === true) { - return source.pipe( - tap((remoteData: RemoteData) => { - if (hasValue(remoteData) && remoteData.isStale) { - requestFn(); - } - }) - ); - } else { - return source; - } - }; - export abstract class DataService implements UpdateDataService { protected abstract requestService: RequestService; protected abstract rdbService: RemoteDataBuildService; @@ -332,6 +310,30 @@ export abstract class DataService implements UpdateDa return this.findByHref(href$, useCachedVersionIfAvailable, reRequestOnStale, ...linksToFollow); } + /** + * An operator that will call the given function if the incoming RemoteData is stale and + * shouldReRequest is true + * + * @param shouldReRequest Whether or not to call the re-request function if the RemoteData is stale + * @param requestFn The function to call if the RemoteData is stale and shouldReRequest is + * true + */ + protected reRequestStaleRemoteData(shouldReRequest: boolean, requestFn: () => Observable>) { + return (source: Observable>): Observable> => { + if (shouldReRequest === true) { + return source.pipe( + tap((remoteData: RemoteData) => { + if (hasValue(remoteData) && remoteData.isStale) { + requestFn(); + } + }) + ); + } else { + return source; + } + }; + } + /** * Returns an observable of {@link RemoteData} of an object, based on an href, with a list of * {@link FollowLinkConfig}, to automatically resolve {@link HALLink}s of the object @@ -358,7 +360,12 @@ export abstract class DataService implements UpdateDa this.createAndSendGetRequest(requestHref$, useCachedVersionIfAvailable); return this.rdbService.buildSingle(requestHref$, ...linksToFollow).pipe( - reRequestStaleRemoteData(reRequestOnStale, () => + // This skip ensures that if a stale object is present in the cache when you do a + // call it isn't immediately returned, but we wait until the remote data for the new request + // is created. If useCachedVersionIfAvailable is false it also ensures you don't get a + // cached completed object + skipWhile((rd: RemoteData) => useCachedVersionIfAvailable ? rd.isStale : rd.hasCompleted), + this.reRequestStaleRemoteData(reRequestOnStale, () => this.findByHref(href$, useCachedVersionIfAvailable, reRequestOnStale, ...linksToFollow)) ); } @@ -390,7 +397,12 @@ export abstract class DataService implements UpdateDa this.createAndSendGetRequest(requestHref$, useCachedVersionIfAvailable); return this.rdbService.buildList(requestHref$, ...linksToFollow).pipe( - reRequestStaleRemoteData(reRequestOnStale, () => + // This skip ensures that if a stale object is present in the cache when you do a + // call it isn't immediately returned, but we wait until the remote data for the new request + // is created. If useCachedVersionIfAvailable is false it also ensures you don't get a + // cached completed object + skipWhile((rd: RemoteData>) => useCachedVersionIfAvailable ? rd.isStale : rd.hasCompleted), + this.reRequestStaleRemoteData(reRequestOnStale, () => this.findAllByHref(href$, findListOptions, useCachedVersionIfAvailable, reRequestOnStale, ...linksToFollow)) ); } From 9964f07ff676dca0f0bd6ee3a0b269e614793d32 Mon Sep 17 00:00:00 2001 From: Art Lowel Date: Mon, 15 Mar 2021 13:59:29 +0100 Subject: [PATCH 103/106] rewrite community scope test that sometimes failed at random --- src/app/core/data/comcol-data.service.spec.ts | 32 +++++++++++++------ 1 file changed, 23 insertions(+), 9 deletions(-) diff --git a/src/app/core/data/comcol-data.service.spec.ts b/src/app/core/data/comcol-data.service.spec.ts index 94b050855a..b188f4b50a 100644 --- a/src/app/core/data/comcol-data.service.spec.ts +++ b/src/app/core/data/comcol-data.service.spec.ts @@ -1,6 +1,6 @@ import { HttpClient } from '@angular/common/http'; import { Store } from '@ngrx/store'; -import { cold, getTestScheduler, hot } from 'jasmine-marbles'; +import { cold, getTestScheduler } from 'jasmine-marbles'; import { Observable, of as observableOf } from 'rxjs'; import { TestScheduler } from 'rxjs/testing'; import { getMockRequestService } from '../../shared/mocks/request.service.mock'; @@ -19,10 +19,10 @@ import { RequestService } from './request.service'; import { createFailedRemoteDataObject$, createNoContentRemoteDataObject$, - createSuccessfulRemoteDataObject$ + createSuccessfulRemoteDataObject$, + createFailedRemoteDataObject } from '../../shared/remote-data.utils'; import { BitstreamDataService } from './bitstream-data.service'; -import { take } from 'rxjs/operators'; const LINK_NAME = 'test'; @@ -59,6 +59,7 @@ describe('ComColDataService', () => { let halService: any = {}; let bitstreamDataService: BitstreamDataService; let rdbService: RemoteDataBuildService; + let testScheduler: TestScheduler; const store = {} as Store; const notificationsService = {} as NotificationsService; @@ -98,8 +99,8 @@ describe('ComColDataService', () => { } function initMockCommunityDataService(): CommunityDataService { - return jasmine.createSpyObj('responseCache', { - getEndpoint: hot('--a-', { a: communitiesEndpoint }), + return jasmine.createSpyObj('cds', { + getEndpoint: cold('--a-', { a: communitiesEndpoint }), getIDHref: communityEndpoint }); } @@ -134,7 +135,14 @@ describe('ComColDataService', () => { ); } + const initTestScheduler = (): TestScheduler => { + return new TestScheduler((actual, expected) => { + expect(actual).toEqual(expected); + }); + }; + beforeEach(() => { + testScheduler = initTestScheduler(); cds = initMockCommunityDataService(); requestService = getMockRequestService(); objectCache = initMockObjectCacheService(); @@ -165,10 +173,16 @@ describe('ComColDataService', () => { describe('if the scope Community can\'t be found', () => { it('should throw an error', () => { - const result = service.getBrowseEndpoint(options).pipe(take(1)); - const expected = cold('--#-', undefined, new Error(`The Community with scope ${scopeID} couldn't be retrieved`)); - - expect(result).toBeObservable(expected); + // tslint:disable-next-line:no-shadowed-variable + testScheduler.run(({ cold, expectObservable }) => { + // spies re-defined here to use the "cold" function from rxjs's TestScheduler + // rather than the one imported from jasmine-marbles. + // Mixing the two seems to lead to unpredictable results + (cds.getEndpoint as jasmine.Spy).and.returnValue(cold('a', { a: communitiesEndpoint })); + (rdbService.buildSingle as jasmine.Spy).and.returnValue(cold('a', { a: createFailedRemoteDataObject() })); + const expectedError = new Error(`The Community with scope ${scopeID} couldn't be retrieved`); + expectObservable(service.getBrowseEndpoint(options)).toBe('#', undefined, expectedError); + }); }); }); From 4a15720b4b1c09f42a7349c4c52fded174bbcc9e Mon Sep 17 00:00:00 2001 From: Art Lowel Date: Tue, 16 Mar 2021 12:55:15 +0100 Subject: [PATCH 104/106] rewrite all comcoldataservice tests in hopes of catching the one that sometimes fails at random --- src/app/core/data/comcol-data.service.spec.ts | 178 +++++++----------- 1 file changed, 73 insertions(+), 105 deletions(-) diff --git a/src/app/core/data/comcol-data.service.spec.ts b/src/app/core/data/comcol-data.service.spec.ts index b188f4b50a..864c583dc2 100644 --- a/src/app/core/data/comcol-data.service.spec.ts +++ b/src/app/core/data/comcol-data.service.spec.ts @@ -1,6 +1,6 @@ import { HttpClient } from '@angular/common/http'; import { Store } from '@ngrx/store'; -import { cold, getTestScheduler } from 'jasmine-marbles'; +import { cold } from 'jasmine-marbles'; import { Observable, of as observableOf } from 'rxjs'; import { TestScheduler } from 'rxjs/testing'; import { getMockRequestService } from '../../shared/mocks/request.service.mock'; @@ -13,14 +13,13 @@ import { HALEndpointService } from '../shared/hal-endpoint.service'; import { ComColDataService } from './comcol-data.service'; import { CommunityDataService } from './community-data.service'; import { DSOChangeAnalyzer } from './dso-change-analyzer.service'; -import { FindListOptions, GetRequest } from './request.models'; -import { RequestEntry } from './request.reducer'; +import { FindListOptions } from './request.models'; import { RequestService } from './request.service'; import { createFailedRemoteDataObject$, - createNoContentRemoteDataObject$, createSuccessfulRemoteDataObject$, - createFailedRemoteDataObject + createFailedRemoteDataObject, + createSuccessfulRemoteDataObject } from '../../shared/remote-data.utils'; import { BitstreamDataService } from './bitstream-data.service'; @@ -50,8 +49,8 @@ class TestService extends ComColDataService { } } +// tslint:disable:no-shadowed-variable describe('ComColDataService', () => { - let scheduler: TestScheduler; let service: TestService; let requestService: RequestService; let cds: CommunityDataService; @@ -60,6 +59,7 @@ describe('ComColDataService', () => { let bitstreamDataService: BitstreamDataService; let rdbService: RemoteDataBuildService; let testScheduler: TestScheduler; + let topEndpoint: string; const store = {} as Store; const notificationsService = {} as NotificationsService; @@ -70,17 +70,9 @@ describe('ComColDataService', () => { const options = Object.assign(new FindListOptions(), { scopeID: scopeID }); - const getRequestEntry$ = (successful: boolean) => { - return observableOf({ - response: { isSuccessful: successful } as any - } as RequestEntry); - }; - const communitiesEndpoint = 'https://rest.api/core/communities'; const communityEndpoint = `${communitiesEndpoint}/${scopeID}`; const scopedEndpoint = `${communityEndpoint}/${LINK_NAME}`; - const serviceEndpoint = `https://rest.api/core/${LINK_NAME}`; - const authHeader = 'Bearer eyJhbGciOiJIUzI1NiJ9.eyJlaWQiOiJhNjA4NmIzNC0zOTE4LTQ1YjctOGRkZC05MzI5YTcwMmEyNmEiLCJzZyI6W10sImV4cCI6MTUzNDk0MDcyNX0.RV5GAtiX6cpwBN77P_v16iG9ipeyiO7faNYSNMzq_sQ'; const mockHalService = { getEndpoint: (linkPath) => observableOf(communitiesEndpoint) @@ -142,6 +134,7 @@ describe('ComColDataService', () => { }; beforeEach(() => { + topEndpoint = 'https://rest.api/core/communities/search/top'; testScheduler = initTestScheduler(); cds = initMockCommunityDataService(); requestService = getMockRequestService(); @@ -153,27 +146,20 @@ describe('ComColDataService', () => { }); describe('getBrowseEndpoint', () => { - beforeEach(() => { - scheduler = getTestScheduler(); - }); - - it('should send a new FindByIDRequest for the scope Community', () => { - cds = initMockCommunityDataService(); - requestService = getMockRequestService(getRequestEntry$(true)); - objectCache = initMockObjectCacheService(); - service = initTestService(); - - const expected = new GetRequest(requestService.generateRequestId(), communityEndpoint); - - scheduler.schedule(() => service.getBrowseEndpoint(options).subscribe()); - scheduler.flush(); - - expect(requestService.send).toHaveBeenCalledWith(expected, true); + it(`should call createAndSendGetRequest with the scope Community's self link`, () => { + testScheduler.run(({ cold, flush, expectObservable }) => { + (cds.getEndpoint as jasmine.Spy).and.returnValue(cold('a', { a: communitiesEndpoint })); + (rdbService.buildSingle as jasmine.Spy).and.returnValue(cold('a', { a: createFailedRemoteDataObject() })); + spyOn(service as any, 'createAndSendGetRequest'); + service.getBrowseEndpoint(options); + flush(); + expectObservable((service as any).createAndSendGetRequest.calls.argsFor(0)[0]).toBe('(a|)', { a: communityEndpoint }); + expect((service as any).createAndSendGetRequest.calls.argsFor(0)[1]).toBeTrue(); + }); }); describe('if the scope Community can\'t be found', () => { it('should throw an error', () => { - // tslint:disable-next-line:no-shadowed-variable testScheduler.run(({ cold, expectObservable }) => { // spies re-defined here to use the "cold" function from rxjs's TestScheduler // rather than the one imported from jasmine-marbles. @@ -186,86 +172,68 @@ describe('ComColDataService', () => { }); }); - describe('cache refresh', () => { - let communityWithoutParentHref; - let data; + }); - beforeEach(() => { - spyOn(halService, 'getEndpoint').and.returnValue(observableOf('https://rest.api/core/communities/search/top')); + describe('cache refresh', () => { + let communityWithoutParentHref; + let communityWithParentHref; + + beforeEach(() => { + communityWithParentHref = { + _links: { + parentCommunity: { + href: 'topLevel/parentCommunity' + } + } + } as Community; + communityWithoutParentHref = { + _links: {} + } as Community; + }); + + describe('cache refreshed top level community', () => { + it(`should refresh the top level community cache when the dso has a parent link that can't be resolved`, () => { + testScheduler.run(({ flush, cold }) => { + spyOn(halService, 'getEndpoint').and.returnValue(cold('a', { a: topEndpoint })); + spyOn(service, 'findByHref').and.returnValue(cold('a', { a: createSuccessfulRemoteDataObject({}) })); + service.refreshCache(communityWithParentHref); + flush(); + expect(requestService.setStaleByHrefSubstring).toHaveBeenCalledWith(topEndpoint); + }); }); - - describe('cache refreshed top level community', () => { - beforeEach(() => { - (rdbService.buildSingle as jasmine.Spy).and.returnValue(createNoContentRemoteDataObject$()); - data = { - dso: Object.assign(new Community(), { - metadata: [{ - key: 'dc.title', - value: 'top level community' - }] - }), - _links: { - parentCommunity: { - href: 'topLevel/parentCommunity' - } - } - }; - communityWithoutParentHref = { - dso: Object.assign(new Community(), { - metadata: [{ - key: 'dc.title', - value: 'top level community' - }] - }), - _links: {} - }; - }); - it('top level community cache refreshed', () => { - scheduler.schedule(() => (service as any).refreshCache(data)); - scheduler.flush(); - expect(requestService.setStaleByHrefSubstring).toHaveBeenCalledWith('https://rest.api/core/communities/search/top'); - }); - it('top level community without parent link, cache not refreshed', () => { - scheduler.schedule(() => (service as any).refreshCache(communityWithoutParentHref)); - scheduler.flush(); + it(`shouldn't do anything when the dso doesn't have a parent link`, () => { + testScheduler.run(({ flush, cold }) => { + spyOn(halService, 'getEndpoint').and.returnValue(cold('a', { a: topEndpoint })); + spyOn(service, 'findByHref').and.returnValue(cold('a', { a: createSuccessfulRemoteDataObject({}) })); + service.refreshCache(communityWithoutParentHref); + flush(); expect(requestService.setStaleByHrefSubstring).not.toHaveBeenCalled(); }); }); - - describe('cache refreshed child community', () => { - beforeEach(() => { - const parentCommunity = Object.assign(new Community(), { - uuid: 'a20da287-e174-466a-9926-f66as300d399', - id: 'a20da287-e174-466a-9926-f66as300d399', - metadata: [{ - key: 'dc.title', - value: 'parent community' - }], - _links: {} - }); - (rdbService.buildSingle as jasmine.Spy).and.returnValue(createSuccessfulRemoteDataObject$(parentCommunity)); - data = { - dso: Object.assign(new Community(), { - metadata: [{ - key: 'dc.title', - value: 'child community' - }] - }), - _links: { - parentCommunity: { - href: 'child/parentCommunity' - } - } - }; - }); - it('child level community cache refreshed', () => { - scheduler.schedule(() => (service as any).refreshCache(data)); - scheduler.flush(); - expect(requestService.setStaleByHrefSubstring).toHaveBeenCalledWith('a20da287-e174-466a-9926-f66as300d399'); - }); - }); }); + describe('cache refreshed child community', () => { + let parentCommunity: Community; + beforeEach(() => { + parentCommunity = Object.assign(new Community(), { + uuid: 'a20da287-e174-466a-9926-f66as300d399', + id: 'a20da287-e174-466a-9926-f66as300d399', + metadata: [{ + key: 'dc.title', + value: 'parent community' + }], + _links: {} + }); + }); + it('should refresh a specific cached community when the parent link can be resolved', () => { + testScheduler.run(({ flush, cold }) => { + spyOn(halService, 'getEndpoint').and.returnValue(cold('a', { a: topEndpoint })); + spyOn(service, 'findByHref').and.returnValue(cold('a', { a: createSuccessfulRemoteDataObject(parentCommunity) })); + service.refreshCache(communityWithParentHref); + flush(); + expect(requestService.setStaleByHrefSubstring).toHaveBeenCalledWith('a20da287-e174-466a-9926-f66as300d399'); + }); + }); + }); }); - }); From d7a0f27f08a5031861ae4c121360a71c0d583c57 Mon Sep 17 00:00:00 2001 From: Art Lowel Date: Thu, 25 Mar 2021 17:23:27 +0100 Subject: [PATCH 105/106] remove workaround --- src/app/core/tasks/tasks.service.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/app/core/tasks/tasks.service.ts b/src/app/core/tasks/tasks.service.ts index f23c71e65e..7aeb522170 100644 --- a/src/app/core/tasks/tasks.service.ts +++ b/src/app/core/tasks/tasks.service.ts @@ -110,7 +110,6 @@ export abstract class TasksService extends DataServic find((href: string) => hasValue(href)), mergeMap((href) => this.findByHref(href, false, true).pipe( getAllCompletedRemoteData(), - filter((rd: RemoteData) => !rd.isSuccessStale), tap(() => this.requestService.setStaleByHrefSubstring(href))) ) ); From 6cc56176b2b721ae1259be57effc0fbd0f208fbb Mon Sep 17 00:00:00 2001 From: lotte Date: Thu, 25 Mar 2021 17:27:34 +0100 Subject: [PATCH 106/106] fixed path for custom theme item-page --- src/themes/custom/app/+item-page/simple/item-page.component.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/themes/custom/app/+item-page/simple/item-page.component.ts b/src/themes/custom/app/+item-page/simple/item-page.component.ts index 1ba534972e..dfd792b3e2 100644 --- a/src/themes/custom/app/+item-page/simple/item-page.component.ts +++ b/src/themes/custom/app/+item-page/simple/item-page.component.ts @@ -9,7 +9,7 @@ import { fadeInOut } from '../../../../../app/shared/animations/fade'; */ @Component({ selector: 'ds-item-page', - // styleUrls: ['../item-page.component.scss'], + // styleUrls: ['./item-page.component.scss'], styleUrls: ['../../../../../app/+item-page/simple/item-page.component.scss'], // templateUrl: './item-page.component.html', templateUrl: '../../../../../app/+item-page/simple/item-page.component.html',