From 967f4a99b9262642c77ca2d3ba295e67f7b9c059 Mon Sep 17 00:00:00 2001 From: nikunj59 Date: Mon, 4 Jul 2022 18:29:42 +0200 Subject: [PATCH 01/23] CST-6035 handled import query error --- .../submission-import-external.component.html | 5 +- ...bmission-import-external.component.spec.ts | 332 +++++++++++++++++- src/assets/i18n/en.json5 | 1 + 3 files changed, 335 insertions(+), 3 deletions(-) diff --git a/src/app/submission/import-external/submission-import-external.component.html b/src/app/submission/import-external/submission-import-external.component.html index 19499b4be8..dc46e6758f 100644 --- a/src/app/submission/import-external/submission-import-external.component.html +++ b/src/app/submission/import-external/submission-import-external.component.html @@ -24,9 +24,12 @@ -
+
{{ 'search.results.empty' | translate }}
+
+ {{ 'search.results.response.500' | translate }} +
diff --git a/src/app/submission/import-external/submission-import-external.component.spec.ts b/src/app/submission/import-external/submission-import-external.component.spec.ts index dc53b2e45f..dbf665e297 100644 --- a/src/app/submission/import-external/submission-import-external.component.spec.ts +++ b/src/app/submission/import-external/submission-import-external.component.spec.ts @@ -19,9 +19,15 @@ import { VarDirective } from '../../shared/utils/var.directive'; import { routeServiceStub } from '../../shared/testing/route-service.stub'; import { PaginatedSearchOptions } from '../../shared/search/models/paginated-search-options.model'; import { PaginationComponentOptions } from '../../shared/pagination/pagination-component-options.model'; -import { createSuccessfulRemoteDataObject, createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; +import { + createFailedRemoteDataObject$, + createSuccessfulRemoteDataObject, + createSuccessfulRemoteDataObject$ +} from '../../shared/remote-data.utils'; import { ExternalSourceEntry } from '../../core/shared/external-source-entry.model'; import { SubmissionImportExternalPreviewComponent } from './import-external-preview/submission-import-external-preview.component'; +import { By } from '@angular/platform-browser'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; describe('SubmissionImportExternalComponent test suite', () => { let comp: SubmissionImportExternalComponent; @@ -44,7 +50,8 @@ describe('SubmissionImportExternalComponent test suite', () => { beforeEach(waitForAsync (() => { TestBed.configureTestingModule({ imports: [ - TranslateModule.forRoot() + TranslateModule.forRoot(), + BrowserAnimationsModule ], declarations: [ SubmissionImportExternalComponent, @@ -177,6 +184,327 @@ describe('SubmissionImportExternalComponent test suite', () => { }); }); + describe('handle BE response for search query', () => { + const paginatedData: any = { + 'timeCompleted': 1657009282990, + 'msToLive': 900000, + 'lastUpdated': 1657009282990, + 'state': 'Success', + 'errorMessage': null, + 'payload': { + 'type': { + 'value': 'paginated-list' + }, + 'pageInfo': { + 'elementsPerPage': 10, + 'totalElements': 11971608, + 'totalPages': 1197161, + 'currentPage': 1 + }, + '_links': { + 'first': { + 'href': 'https://dspacecris7.4science.cloud/server/api/integration/externalsources/scopus/entries?query=test&page=0&size=10&sort=id,asc' + }, + 'self': { + 'href': 'https://dspacecris7.4science.cloud/server/api/integration/externalsources/scopus/entries?sort=id,ASC&page=0&size=10&query=test' + }, + 'next': { + 'href': 'https://dspacecris7.4science.cloud/server/api/integration/externalsources/scopus/entries?query=test&page=1&size=10&sort=id,asc' + }, + 'last': { + 'href': 'https://dspacecris7.4science.cloud/server/api/integration/externalsources/scopus/entries?query=test&page=1197160&size=10&sort=id,asc' + }, + 'page': [ + { + 'href': 'https://dspacecris7.4science.cloud/server/api/integration/externalsources/scopus/entryValues/2-s2.0-85130258665' + } + ] + }, + 'page': [ + { + 'id': '2-s2.0-85130258665', + 'type': 'externalSourceEntry', + 'display': 'Biological activities of endophytic fungi isolated from Annona muricata Linnaeus: a systematic review', + 'value': 'Biological activities of endophytic fungi isolated from Annona muricata Linnaeus: a systematic review', + 'externalSource': 'scopus', + 'metadata': { + 'dc.contributor.author': [ + { + 'uuid': 'cbceba09-4c12-4968-ab02-2f77a985b422', + 'language': null, + 'value': 'Silva I.M.M.', + 'place': -1, + 'authority': null, + 'confidence': -1 + } + ], + 'dc.date.issued': [ + { + 'uuid': 'e8d3c306-ce21-43e2-8a80-5f257cc3b7ea', + 'language': null, + 'value': '2024-01-01', + 'place': -1, + 'authority': null, + 'confidence': -1 + } + ], + 'dc.description.abstract': [ + { + 'uuid': 'c9ee4076-c602-4c1d-ab1a-60bbdd0dd511', + 'language': null, + 'value': 'This systematic review integrates the data available in the literature regarding the biological activities of the extracts of endophytic fungi isolated from Annona muricata and their secondary metabolites. The search was performed using four electronic databases, and studies’ quality was evaluated using an adapted assessment tool. The initial database search yielded 436 results; ten studies were selected for inclusion. The leaf was the most studied part of the plant (in nine studies); Periconia sp. was the most tested fungus (n = 4); the most evaluated biological activity was anticancer (n = 6), followed by antiviral (n = 3). Antibacterial, antifungal, and antioxidant activities were also tested. Terpenoids or terpenoid hybrid compounds were the most abundant chemical metabolites. Phenolic compounds, esters, alkaloids, saturated and unsaturated fatty acids, aromatic compounds, and peptides were also reported. The selected studies highlighted the biotechnological potentiality of the endophytic fungi extracts from A. muricata. Consequently, it can be considered a promising source of biological compounds with antioxidant effects and active against different microorganisms and cancer cells. Further research is needed involving different plant tissues, other microorganisms, such as SARS-CoV-2, and different cancer cells.', + 'place': -1, + 'authority': null, + 'confidence': -1 + } + ], + 'dc.identifier.doi': [ + { + 'uuid': '95ec26be-c1b4-4c4a-b12d-12421a4f181d', + 'language': null, + 'value': '10.1590/1519-6984.259525', + 'place': -1, + 'authority': null, + 'confidence': -1 + } + ], + 'dc.identifier.pmid': [ + { + 'uuid': 'd6913cd6-1007-4013-b486-3f07192bc739', + 'language': null, + 'value': '35588520', + 'place': -1, + 'authority': null, + 'confidence': -1 + } + ], + 'dc.identifier.scopus': [ + { + 'uuid': '6386a1f6-84ba-431d-a583-e16d19af8db0', + 'language': null, + 'value': '2-s2.0-85130258665', + 'place': -1, + 'authority': null, + 'confidence': -1 + } + ], + 'dc.relation.grantno': [ + { + 'uuid': 'bcafd7b0-827d-4abb-8608-95dc40a8e58a', + 'language': null, + 'value': 'undefined', + 'place': -1, + 'authority': null, + 'confidence': -1 + } + ], + 'dc.relation.ispartof': [ + { + 'uuid': '680819c8-c143-405f-9d09-f84d2d5cd338', + 'language': null, + 'value': 'Brazilian Journal of Biology', + 'place': -1, + 'authority': null, + 'confidence': -1 + } + ], + 'dc.relation.ispartofseries': [ + { + 'uuid': '06634104-127b-44f6-9dcc-efae24b74bd1', + 'language': null, + 'value': 'Brazilian Journal of Biology', + 'place': -1, + 'authority': null, + 'confidence': -1 + } + ], + 'dc.relation.issn': [ + { + 'uuid': '5f6cce46-2538-49e9-8ed0-a3988dcac6c5', + 'language': null, + 'value': '15196984', + 'place': -1, + 'authority': null, + 'confidence': -1 + } + ], + 'dc.subject': [ + { + 'uuid': '0b6fbc77-de54-4f4a-b317-3d74a429f22a', + 'language': null, + 'value': 'biological products | biotechnology | mycology | soursop', + 'place': -1, + 'authority': null, + 'confidence': -1 + } + ], + 'dc.title': [ + { + 'uuid': '4c0fa3d3-1a8c-4302-a772-4a4d0408df35', + 'language': null, + 'value': 'Biological activities of endophytic fungi isolated from Annona muricata Linnaeus: a systematic review', + 'place': -1, + 'authority': null, + 'confidence': -1 + } + ], + 'dc.type': [ + { + 'uuid': '5b6e0337-6f79-4574-a720-536816d1dc6e', + 'language': null, + 'value': 'Journal', + 'place': -1, + 'authority': null, + 'confidence': -1 + } + ], + 'oaire.citation.volume': [ + { + 'uuid': 'b88b0246-61a9-4aca-917f-68afc8ead7d8', + 'language': null, + 'value': '84', + 'place': -1, + 'authority': null, + 'confidence': -1 + } + ], + 'oairecerif.affiliation.orgunit': [ + { + 'uuid': '487c0fbc-3622-4cc7-a5fa-4edf780c6a21', + 'language': null, + 'value': 'Universidade Federal do Reconcavo da Bahia', + 'place': -1, + 'authority': null, + 'confidence': -1 + } + ], + 'oairecerif.citation.number': [ + { + 'uuid': '90808bdd-f456-4ba3-91aa-b82fb3c453f6', + 'language': null, + 'value': 'e259525', + 'place': -1, + 'authority': null, + 'confidence': -1 + } + ], + 'person.identifier.orcid': [ + { + 'uuid': 'e533d0d2-cf26-4c3e-b5ae-cabf497dfb6b', + 'language': null, + 'value': '#PLACEHOLDER_PARENT_METADATA_VALUE#', + 'place': -1, + 'authority': null, + 'confidence': -1 + } + ], + 'person.identifier.scopus-author-id': [ + { + 'uuid': '4faf0be5-0226-4d4f-92a0-938397c4ec02', + 'language': null, + 'value': '42561627000', + 'place': -1, + 'authority': null, + 'confidence': -1 + } + ] + }, + '_links': { + 'self': { + 'href': 'https://dspacecris7.4science.cloud/server/api/integration/externalsources/scopus/entryValues/2-s2.0-85130258665' + } + } + } + ] + }, + 'statusCode': 200 + }; + const errorObj = { + errorMessage: 'Http failure response for ' + + 'https://dspacecris7.4science.cloud/server/api/integration/externalsources/pubmed/entries?sort=id,ASC&page=0&size=10&query=test: 500 OK', + statusCode: 500, + timeCompleted: 1656950434666, + errors: [{ + 'message': 'Internal Server Error', 'paths': ['/server/api/integration/externalsources/pubmed/entries'] + }] + }; + beforeEach(() => { + fixture = TestBed.createComponent(SubmissionImportExternalComponent); + comp = fixture.componentInstance; + compAsAny = comp; + scheduler = getTestScheduler(); + }); + + afterEach(() => { + fixture.destroy(); + comp = null; + compAsAny = null; + }); + + it('REST endpoint returns a 200 response with valid content', () => { + mockExternalSourceService.getExternalSourceEntries.and.returnValue(createSuccessfulRemoteDataObject$(paginatedData.payload)); + const expectedEntries = createSuccessfulRemoteDataObject(paginatedData.payload); + spyOn(routeServiceStub, 'getQueryParameterValue').and.callFake((param) => { + if (param === 'entity') { + return observableOf('Publication'); + } else if (param === 'sourceId') { + return observableOf('scopus'); + } else if (param === 'query') { + return observableOf('test'); + } + return observableOf({}); + }); + fixture.detectChanges(); + + expect(comp.isLoading$.value).toBe(false); + expect(comp.entriesRD$.value).toEqual(expectedEntries); + const viewableCollection = fixture.debugElement.query(By.css('ds-viewable-collection')); + expect(viewableCollection).toBeTruthy(); + }); + + it('REST endpoint returns a 200 response with no results', () => { + mockExternalSourceService.getExternalSourceEntries.and.returnValue(createSuccessfulRemoteDataObject$(createPaginatedList([]))); + const expectedEntries = createSuccessfulRemoteDataObject(createPaginatedList([])); + spyOn(routeServiceStub, 'getQueryParameterValue').and.callFake((param) => { + if (param === 'entity') { + return observableOf('Publication'); + } + return observableOf({}); + }); + fixture.detectChanges(); + + expect(comp.isLoading$.value).toBe(false); + expect(comp.entriesRD$.value).toEqual(expectedEntries); + const noDataAlert = fixture.debugElement.query(By.css('[data-test="empty-external-entry-list"]')); + expect(noDataAlert).toBeTruthy(); + }); + + it('REST endpoint returns a 500 error', () => { + mockExternalSourceService.getExternalSourceEntries.and.returnValue(createFailedRemoteDataObject$( + errorObj.errorMessage, + errorObj.statusCode, + errorObj.timeCompleted, + errorObj.errors + )); + spyOn(routeServiceStub, 'getQueryParameterValue').and.callFake((param) => { + if (param === 'entity') { + return observableOf('Publication'); + } else if (param === 'sourceId') { + return observableOf('pubmed'); + } else if (param === 'query') { + return observableOf('test'); + } + return observableOf({}); + }); + fixture.detectChanges(); + + expect(comp.isLoading$.value).toBe(false); + expect(comp.entriesRD$.value.statusCode).toEqual(500); + const noDataAlert = fixture.debugElement.query(By.css('[data-test="empty-external-error-500"]')); + expect(noDataAlert).toBeTruthy(); + }); + }); + }); // declare a test component diff --git a/src/assets/i18n/en.json5 b/src/assets/i18n/en.json5 index 57863b3a69..02fbf9dabe 100644 --- a/src/assets/i18n/en.json5 +++ b/src/assets/i18n/en.json5 @@ -3583,6 +3583,7 @@ "search.results.view-result": "View", + "search.results.response.500": "An error occurred during query execution, please try again later", "default.search.results.head": "Search Results", From a2e8b2a61c059415669e9686b6e0df1e92a22441 Mon Sep 17 00:00:00 2001 From: corrado lombardi Date: Wed, 10 Aug 2022 18:49:01 +0200 Subject: [PATCH 02/23] CST-6035 updated test --- .../submission-import-external.component.spec.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/app/submission/import-external/submission-import-external.component.spec.ts b/src/app/submission/import-external/submission-import-external.component.spec.ts index dbf665e297..7a9c71f342 100644 --- a/src/app/submission/import-external/submission-import-external.component.spec.ts +++ b/src/app/submission/import-external/submission-import-external.component.spec.ts @@ -483,8 +483,7 @@ describe('SubmissionImportExternalComponent test suite', () => { mockExternalSourceService.getExternalSourceEntries.and.returnValue(createFailedRemoteDataObject$( errorObj.errorMessage, errorObj.statusCode, - errorObj.timeCompleted, - errorObj.errors + errorObj.timeCompleted )); spyOn(routeServiceStub, 'getQueryParameterValue').and.callFake((param) => { if (param === 'entity') { From f8e1db49874762455041974391be3ccc51c1a5d3 Mon Sep 17 00:00:00 2001 From: Yana De Pauw Date: Thu, 18 Aug 2022 14:04:59 +0200 Subject: [PATCH 03/23] 93914: Add the ability to delete processes --- .../detail/process-detail.component.html | 92 ++++++++--- .../detail/process-detail.component.spec.ts | 60 ++++++- .../detail/process-detail.component.ts | 51 +++++- .../process-bulk-delete.service.spec.ts | 149 ++++++++++++++++++ .../overview/process-bulk-delete.service.ts | 118 ++++++++++++++ .../overview/process-overview.component.html | 58 ++++++- .../process-overview.component.spec.ts | 104 +++++++++++- .../overview/process-overview.component.ts | 60 ++++++- src/assets/i18n/en.json5 | 35 ++++ 9 files changed, 685 insertions(+), 42 deletions(-) create mode 100644 src/app/process-page/overview/process-bulk-delete.service.spec.ts create mode 100644 src/app/process-page/overview/process-bulk-delete.service.ts diff --git a/src/app/process-page/detail/process-detail.component.html b/src/app/process-page/detail/process-detail.component.html index 995e56e081..ae3418eafa 100644 --- a/src/app/process-page/detail/process-detail.component.html +++ b/src/app/process-page/detail/process-detail.component.html @@ -1,53 +1,99 @@
-

{{'process.detail.title' | translate:{id: process?.processId, name: process?.scriptName} }}

-
- -
+

{{'process.detail.title' | translate:{ + id: process?.processId, + name: process?.scriptName + } }}

{{ process?.scriptName }}
- +
{{ argument?.name }} {{ argument?.value }}
- - - {{getFileName(file)}} - ({{(file?.sizeBytes) | dsFileSize }}) - + + + {{getFileName(file)}} + ({{(file?.sizeBytes) | dsFileSize }}) +
- +
{{ process.startTime | date:dateFormat:'UTC' }}
- +
{{ process.endTime | date:dateFormat:'UTC' }}
- +
{{ process.processStatus }}
- - -
{{ (outputLogs$ | async) }}
-

+ {{ 'process.detail.logs.button' | translate }} + + +

{{ (outputLogs$ | async) }}
+

- {{ 'process.detail.logs.none' | translate }} -

+ {{ 'process.detail.logs.none' | translate }} +

+
+ + + +
+ + + +
+ + + + + + +
+ +
+ diff --git a/src/app/process-page/detail/process-detail.component.spec.ts b/src/app/process-page/detail/process-detail.component.spec.ts index 4a85c75f81..53e65e62eb 100644 --- a/src/app/process-page/detail/process-detail.component.spec.ts +++ b/src/app/process-page/detail/process-detail.component.spec.ts @@ -19,15 +19,23 @@ import { RouterTestingModule } from '@angular/router/testing'; import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; import { ProcessDetailFieldComponent } from './process-detail-field/process-detail-field.component'; import { Process } from '../processes/process.model'; -import { ActivatedRoute } from '@angular/router'; +import { ActivatedRoute, Router } from '@angular/router'; import { of as observableOf } from 'rxjs'; import { By } from '@angular/platform-browser'; import { FileSizePipe } from '../../shared/utils/file-size-pipe'; import { Bitstream } from '../../core/shared/bitstream.model'; import { ProcessDataService } from '../../core/data/processes/process-data.service'; import { DSONameService } from '../../core/breadcrumbs/dso-name.service'; -import { createSuccessfulRemoteDataObject, createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; +import { + createFailedRemoteDataObject$, + createSuccessfulRemoteDataObject, + createSuccessfulRemoteDataObject$ +} from '../../shared/remote-data.utils'; import { createPaginatedList } from '../../shared/testing/utils.test'; +import { NotificationsServiceStub } from '../../shared/testing/notifications-service.stub'; +import { NgbModal } from '@ng-bootstrap/ng-bootstrap'; +import { NotificationsService } from '../../shared/notifications/notifications.service'; +import { getProcessListRoute } from '../process-page-routing.paths'; describe('ProcessDetailComponent', () => { let component: ProcessDetailComponent; @@ -44,6 +52,11 @@ describe('ProcessDetailComponent', () => { let processOutput; + let modalService; + let notificationsService; + + let router; + function init() { processOutput = 'Process Started'; process = Object.assign(new Process(), { @@ -93,7 +106,8 @@ describe('ProcessDetailComponent', () => { } }); processService = jasmine.createSpyObj('processService', { - getFiles: createSuccessfulRemoteDataObject$(createPaginatedList(files)) + getFiles: createSuccessfulRemoteDataObject$(createPaginatedList(files)), + delete: createSuccessfulRemoteDataObject$(null) }); bitstreamDataService = jasmine.createSpyObj('bitstreamDataService', { findByHref: createSuccessfulRemoteDataObject$(logBitstream) @@ -104,13 +118,23 @@ describe('ProcessDetailComponent', () => { httpClient = jasmine.createSpyObj('httpClient', { get: observableOf(processOutput) }); + + modalService = jasmine.createSpyObj('modalService', { + open: {} + }); + + notificationsService = new NotificationsServiceStub(); + + router = jasmine.createSpyObj('router', { + navigateByUrl:{} + }); } beforeEach(waitForAsync(() => { init(); TestBed.configureTestingModule({ declarations: [ProcessDetailComponent, ProcessDetailFieldComponent, VarDirective, FileSizePipe], - imports: [TranslateModule.forRoot(), RouterTestingModule.withRoutes([])], + imports: [TranslateModule.forRoot()], providers: [ { provide: ActivatedRoute, @@ -121,6 +145,9 @@ describe('ProcessDetailComponent', () => { { provide: DSONameService, useValue: nameService }, { provide: AuthService, useValue: new AuthServiceMock() }, { provide: HttpClient, useValue: httpClient }, + { provide: NgbModal, useValue: modalService }, + { provide: NotificationsService, useValue: notificationsService }, + { provide: Router, useValue: router }, ], schemas: [CUSTOM_ELEMENTS_SCHEMA] }).compileComponents(); @@ -207,4 +234,29 @@ describe('ProcessDetailComponent', () => { }); }); + describe('openDeleteModal', () => { + it('should open the modal', () => { + component.openDeleteModal({}); + expect(modalService.open).toHaveBeenCalledWith({}); + }); + }); + + describe('deleteProcess', () => { + it('should delete the process and navigate back to the overview page on success', () => { + component.deleteProcess(process); + + expect(processService.delete).toHaveBeenCalledWith(process.processId); + expect(notificationsService.success).toHaveBeenCalled(); + expect(router.navigateByUrl).toHaveBeenCalledWith(getProcessListRoute()); + }); + it('should delete the process and not navigate on error', () => { + (processService.delete as jasmine.Spy).and.returnValue(createFailedRemoteDataObject$()); + component.deleteProcess(process); + + expect(processService.delete).toHaveBeenCalledWith(process.processId); + expect(notificationsService.error).toHaveBeenCalled(); + expect(router.navigateByUrl).not.toHaveBeenCalled(); + }); + }); + }); diff --git a/src/app/process-page/detail/process-detail.component.ts b/src/app/process-page/detail/process-detail.component.ts index 8a05288eb2..f9151d27b8 100644 --- a/src/app/process-page/detail/process-detail.component.ts +++ b/src/app/process-page/detail/process-detail.component.ts @@ -12,8 +12,9 @@ import { RemoteData } from '../../core/data/remote-data'; import { Bitstream } from '../../core/shared/bitstream.model'; import { DSpaceObject } from '../../core/shared/dspace-object.model'; import { - getFirstSucceededRemoteDataPayload, - getFirstSucceededRemoteData + getFirstCompletedRemoteData, + getFirstSucceededRemoteData, + getFirstSucceededRemoteDataPayload } from '../../core/shared/operators'; import { URLCombiner } from '../../core/url-combiner/url-combiner'; import { AlertType } from '../../shared/alert/aletr-type'; @@ -21,6 +22,10 @@ import { hasValue } from '../../shared/empty.util'; import { ProcessStatus } from '../processes/process-status.model'; import { Process } from '../processes/process.model'; import { redirectOn4xx } from '../../core/shared/authorized.operators'; +import { NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap'; +import { getProcessListRoute } from '../process-page-routing.paths'; +import { NotificationsService } from '../../shared/notifications/notifications.service'; +import { TranslateService } from '@ngx-translate/core'; @Component({ selector: 'ds-process-detail', @@ -71,6 +76,11 @@ export class ProcessDetailComponent implements OnInit { */ dateFormat = 'yyyy-MM-dd HH:mm:ss ZZZZ'; + /** + * Reference to NgbModal + */ + protected modalRef: NgbModalRef; + constructor(protected route: ActivatedRoute, protected router: Router, protected processService: ProcessDataService, @@ -78,7 +88,11 @@ export class ProcessDetailComponent implements OnInit { protected nameService: DSONameService, private zone: NgZone, protected authService: AuthService, - protected http: HttpClient) { + protected http: HttpClient, + protected modalService: NgbModal, + protected notificationsService: NotificationsService, + protected translateService: TranslateService + ) { } /** @@ -172,4 +186,35 @@ export class ProcessDetailComponent implements OnInit { || process.processStatus.toString() === ProcessStatus[ProcessStatus.FAILED].toString())); } + /** + * Delete the current process + * @param process + */ + deleteProcess(process: Process) { + this.processService.delete(process.processId).pipe( + getFirstCompletedRemoteData() + ).subscribe((rd) => { + if (rd.hasSucceeded) { + this.notificationsService.success(this.translateService.get('process.detail.delete.success')); + this.router.navigateByUrl(getProcessListRoute()); + } else { + this.notificationsService.error(this.translateService.get('process.detail.delete.error')); + } + }); + } + + /** + * Open a given modal. + * @param content - the modal content. + */ + openDeleteModal(content) { + this.modalRef = this.modalService.open(content); + } + /** + * Close the modal. + */ + closeModal() { + this.modalRef.close(); + } + } diff --git a/src/app/process-page/overview/process-bulk-delete.service.spec.ts b/src/app/process-page/overview/process-bulk-delete.service.spec.ts new file mode 100644 index 0000000000..5139048dd1 --- /dev/null +++ b/src/app/process-page/overview/process-bulk-delete.service.spec.ts @@ -0,0 +1,149 @@ +import { ProcessBulkDeleteService } from './process-bulk-delete.service'; +import { waitForAsync } from '@angular/core/testing'; +import { createFailedRemoteDataObject$, createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; +import { NotificationsServiceStub } from '../../shared/testing/notifications-service.stub'; +import { getMockTranslateService } from '../../shared/mocks/translate.service.mock'; + +describe('ProcessBulkDeleteService', () => { + + let service: ProcessBulkDeleteService; + let processDataService; + let notificationsService; + let mockTranslateService; + + beforeEach(waitForAsync(() => { + processDataService = jasmine.createSpyObj('processDataService', { + delete: createSuccessfulRemoteDataObject$(null) + }); + notificationsService = new NotificationsServiceStub(); + mockTranslateService = getMockTranslateService(); + service = new ProcessBulkDeleteService(processDataService, notificationsService, mockTranslateService); + })); + + describe('toggleDelete', () => { + it('should add a new value to the processesToDelete list when not yet present', () => { + service.toggleDelete('test-id-1'); + service.toggleDelete('test-id-2'); + + expect(service.processesToDelete).toEqual(['test-id-1', 'test-id-2']); + }); + it('should remove a value from the processesToDelete list when already present', () => { + service.toggleDelete('test-id-1'); + service.toggleDelete('test-id-2'); + + expect(service.processesToDelete).toEqual(['test-id-1', 'test-id-2']); + + service.toggleDelete('test-id-1'); + expect(service.processesToDelete).toEqual(['test-id-2']); + }); + }); + + describe('isToBeDeleted', () => { + it('should return true when the provided process id is present in the list', () => { + service.toggleDelete('test-id-1'); + service.toggleDelete('test-id-2'); + + expect(service.isToBeDeleted('test-id-1')).toBeTrue(); + }); + it('should return false when the provided process id is not present in the list', () => { + service.toggleDelete('test-id-1'); + service.toggleDelete('test-id-2'); + + expect(service.isToBeDeleted('test-id-3')).toBeFalse(); + }); + }); + + describe('clearAllProcesses', () => { + it('should clear the list of to be deleted processes', () => { + service.toggleDelete('test-id-1'); + service.toggleDelete('test-id-2'); + + expect(service.processesToDelete).toEqual(['test-id-1', 'test-id-2']); + + service.clearAllProcesses(); + expect(service.processesToDelete).toEqual([]); + }); + }); + describe('getAmountOfSelectedProcesses', () => { + it('should return the amount of the currently selected processes for deletion', () => { + service.toggleDelete('test-id-1'); + service.toggleDelete('test-id-2'); + + expect(service.getAmountOfSelectedProcesses()).toEqual(2); + }); + }); + describe('isProcessing$', () => { + it('should return a behavior subject containing whether a delete is currently processing or not', () => { + const result = service.isProcessing$(); + expect(result.getValue()).toBeFalse(); + + result.next(true); + expect(result.getValue()).toBeTrue(); + }); + }); + describe('hasSelected', () => { + it('should return if the list of selected processes has values', () => { + expect(service.hasSelected()).toBeFalse(); + + service.toggleDelete('test-id-1'); + service.toggleDelete('test-id-2'); + + expect(service.hasSelected()).toBeTrue(); + }); + }); + describe('deleteSelectedProcesses', () => { + it('should delete all selected processes, show an error for each failed one and a notification at the end with the amount of succeeded deletions', () => { + (processDataService.delete as jasmine.Spy).and.callFake((processId: string) => { + if (processId.includes('error')) { + return createFailedRemoteDataObject$(); + } else { + return createSuccessfulRemoteDataObject$(null); + } + }); + + service.toggleDelete('test-id-1'); + service.toggleDelete('test-id-2'); + service.toggleDelete('error-id-3'); + service.toggleDelete('test-id-4'); + service.toggleDelete('error-id-5'); + service.toggleDelete('error-id-6'); + service.toggleDelete('test-id-7'); + + + service.deleteSelectedProcesses(); + + expect(processDataService.delete).toHaveBeenCalledWith('test-id-1'); + + + expect(processDataService.delete).toHaveBeenCalledWith('test-id-2'); + + + expect(processDataService.delete).toHaveBeenCalledWith('error-id-3'); + expect(notificationsService.error).toHaveBeenCalled(); + expect(mockTranslateService.get).toHaveBeenCalledWith('process.bulk.delete.error.body', {processId: 'error-id-3'}); + + + expect(processDataService.delete).toHaveBeenCalledWith('test-id-4'); + + + expect(processDataService.delete).toHaveBeenCalledWith('error-id-5'); + expect(notificationsService.error).toHaveBeenCalled(); + expect(mockTranslateService.get).toHaveBeenCalledWith('process.bulk.delete.error.body', {processId: 'error-id-5'}); + + + expect(processDataService.delete).toHaveBeenCalledWith('error-id-6'); + expect(notificationsService.error).toHaveBeenCalled(); + expect(mockTranslateService.get).toHaveBeenCalledWith('process.bulk.delete.error.body', {processId: 'error-id-6'}); + + + expect(processDataService.delete).toHaveBeenCalledWith('test-id-7'); + + expect(notificationsService.success).toHaveBeenCalled(); + expect(mockTranslateService.get).toHaveBeenCalledWith('process.bulk.delete.success', {count: 4}); + + expect(service.processesToDelete).toEqual(['error-id-3', 'error-id-5', 'error-id-6']); + + + }); + }); +}); diff --git a/src/app/process-page/overview/process-bulk-delete.service.ts b/src/app/process-page/overview/process-bulk-delete.service.ts new file mode 100644 index 0000000000..c0943fb615 --- /dev/null +++ b/src/app/process-page/overview/process-bulk-delete.service.ts @@ -0,0 +1,118 @@ +import { Process } from '../processes/process.model'; +import { Injectable } from '@angular/core'; +import { ProcessDataService } from '../../core/data/processes/process-data.service'; +import { NotificationsService } from '../../shared/notifications/notifications.service'; +import { isNotEmpty } from '../../shared/empty.util'; +import { BehaviorSubject, count, from } from 'rxjs'; +import { getFirstCompletedRemoteData } from '../../core/shared/operators'; +import { concatMap, filter, tap } from 'rxjs/operators'; +import { RemoteData } from '../../core/data/remote-data'; +import { TranslateService } from '@ngx-translate/core'; + +@Injectable({ + providedIn: 'root' +}) +/** + * Service to facilitate removing processes in bulk. + */ +export class ProcessBulkDeleteService { + + /** + * Array to track the processes to be deleted + */ + processesToDelete: string[] = []; + + /** + * Behavior subject to track whether the delete is processing + * @protected + */ + protected isProcessingBehaviorSubject: BehaviorSubject = new BehaviorSubject(false); + + constructor( + protected processDataService: ProcessDataService, + protected notificationsService: NotificationsService, + protected translateService: TranslateService + ) { + } + + /** + * Add or remove a process id to/from the list + * If the id is already present it will be removed, otherwise it will be added. + * + * @param processId - The process id to add or remove + */ + toggleDelete(processId: string) { + if (this.isToBeDeleted(processId)) { + this.processesToDelete.splice(this.processesToDelete.indexOf(processId), 1); + } else { + this.processesToDelete.push(processId); + } + } + + /** + * Checks if the provided process id is present in the to be deleted list + * @param processId + */ + isToBeDeleted(processId: string) { + return this.processesToDelete.includes(processId); + } + + /** + * Clear the list of processes to be deleted + */ + clearAllProcesses() { + this.processesToDelete.splice(0); + } + + /** + * Get the amount of processes selected for deletion + */ + getAmountOfSelectedProcesses() { + return this.processesToDelete.length; + } + + /** + * Returns a behavior subject to indicate whether the bulk delete is processing + */ + isProcessing$() { + return this.isProcessingBehaviorSubject; + } + + /** + * Returns whether there currently are values selected for deletion + */ + hasSelected(): boolean { + return isNotEmpty(this.processesToDelete); + } + + /** + * Delete all selected processes one by one + * When the deletion for a process fails, an error notification will be shown with the process id, + * but it will continue deleting the other processes. + * At the end it will show a notification stating the amount of successful deletes + * The successfully deleted processes will be removed from the list of selected values, the failed ones will be retained. + */ + deleteSelectedProcesses() { + this.isProcessingBehaviorSubject.next(true); + + from([...this.processesToDelete]).pipe( + concatMap((processId) => { + return this.processDataService.delete(processId).pipe( + getFirstCompletedRemoteData(), + tap((rd: RemoteData) => { + if (rd.hasFailed) { + this.notificationsService.error(this.translateService.get('process.bulk.delete.error.head'), this.translateService.get('process.bulk.delete.error.body', {processId: processId})); + } else { + this.toggleDelete(processId); + } + }) + ); + }), + filter((rd: RemoteData) => rd.hasSucceeded), + count(), + ).subscribe((value) => { + this.notificationsService.success(this.translateService.get('process.bulk.delete.success', {count: value})); + this.isProcessingBehaviorSubject.next(false); + }); + } +} diff --git a/src/app/process-page/overview/process-overview.component.html b/src/app/process-page/overview/process-overview.component.html index 7d3f15f074..5bf5fee79f 100644 --- a/src/app/process-page/overview/process-overview.component.html +++ b/src/app/process-page/overview/process-overview.component.html @@ -1,7 +1,19 @@

{{'process.overview.title' | translate}}

- +
+
+ + + +
{{'process.overview.table.start' | translate}} {{'process.overview.table.finish' | translate}} {{'process.overview.table.status' | translate}} + {{'process.overview.table.actions' | translate}} - + {{process.processId}} {{process.scriptName}} {{ePersonName}} {{process.startTime | date:dateFormat:'UTC'}} {{process.endTime | date:dateFormat:'UTC'}} {{process.processStatus}} + + +
+ + + +
+ + + + +
+ + +
+ diff --git a/src/app/process-page/overview/process-overview.component.spec.ts b/src/app/process-page/overview/process-overview.component.spec.ts index c147ed00ca..94071c0e59 100644 --- a/src/app/process-page/overview/process-overview.component.spec.ts +++ b/src/app/process-page/overview/process-overview.component.spec.ts @@ -1,5 +1,5 @@ import { ProcessOverviewComponent } from './process-overview.component'; -import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { VarDirective } from '../../shared/utils/var.directive'; import { TranslateModule } from '@ngx-translate/core'; import { RouterTestingModule } from '@angular/router/testing'; @@ -13,11 +13,11 @@ import { ProcessStatus } from '../processes/process-status.model'; import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils'; import { createPaginatedList } from '../../shared/testing/utils.test'; import { PaginationService } from '../../core/pagination/pagination.service'; -import { PaginationComponentOptions } from '../../shared/pagination/pagination-component-options.model'; -import { SortDirection, SortOptions } from '../../core/cache/models/sort-options.model'; import { PaginationServiceStub } from '../../shared/testing/pagination-service.stub'; -import { FindListOptions } from '../../core/data/find-list-options.model'; import { DatePipe } from '@angular/common'; +import { BehaviorSubject } from 'rxjs'; +import { ProcessBulkDeleteService } from './process-bulk-delete.service'; +import { NgbModal } from '@ng-bootstrap/ng-bootstrap'; describe('ProcessOverviewComponent', () => { let component: ProcessOverviewComponent; @@ -30,6 +30,9 @@ describe('ProcessOverviewComponent', () => { let processes: Process[]; let ePerson: EPerson; + let processBulkDeleteService; + let modalService; + const pipe = new DatePipe('en-US'); function init() { @@ -80,6 +83,29 @@ describe('ProcessOverviewComponent', () => { }); paginationService = new PaginationServiceStub(); + + processBulkDeleteService = jasmine.createSpyObj('processBulkDeleteService', { + clearAllProcesses: {}, + deleteSelectedProcesses: {}, + isProcessing$: new BehaviorSubject(false), + hasSelected: true, + isToBeDeleted: true, + toggleDelete: {}, + getAmountOfSelectedProcesses: 5 + + }); + + (processBulkDeleteService.isToBeDeleted as jasmine.Spy).and.callFake((id) => { + if (id === 2) { + return true; + } else { + return false; + } + }); + + modalService = jasmine.createSpyObj('modalService', { + open: {} + }); } beforeEach(waitForAsync(() => { @@ -90,7 +116,9 @@ describe('ProcessOverviewComponent', () => { providers: [ { provide: ProcessDataService, useValue: processService }, { provide: EPersonDataService, useValue: ePersonService }, - { provide: PaginationService, useValue: paginationService } + { provide: PaginationService, useValue: paginationService }, + { provide: ProcessBulkDeleteService, useValue: processBulkDeleteService }, + { provide: NgbModal, useValue: modalService }, ], schemas: [NO_ERRORS_SCHEMA] }).compileComponents(); @@ -154,5 +182,71 @@ describe('ProcessOverviewComponent', () => { expect(el.textContent).toContain(processes[index].processStatus); }); }); + it('should display a delete button in the seventh column', () => { + rowElements.forEach((rowElement, index) => { + const el = rowElement.query(By.css('td:nth-child(7)')); + expect(el.nativeElement.innerHTML).toContain('fas fa-trash'); + + el.query(By.css('button')).triggerEventHandler('click', null); + expect(processBulkDeleteService.toggleDelete).toHaveBeenCalledWith(processes[index].processId); + }); + }); + it('should indicate a row that has been selected for deletion', () => { + const deleteRow = fixture.debugElement.query(By.css('.table-danger')); + expect(deleteRow.nativeElement.innerHTML).toContain('/processes/' + processes[1].processId); + }); + }); + + describe('overview buttons', () => { + it('should show a button to clear selected processes when there are selected processes', () => { + const clearButton = fixture.debugElement.query(By.css('.btn-primary')); + expect(clearButton.nativeElement.innerHTML).toContain('process.overview.delete.clear'); + + clearButton.triggerEventHandler('click', null); + expect(processBulkDeleteService.clearAllProcesses).toHaveBeenCalled(); + }); + it('should not show a button to clear selected processes when there are no selected processes', () => { + (processBulkDeleteService.hasSelected as jasmine.Spy).and.returnValue(false); + fixture.detectChanges(); + + const clearButton = fixture.debugElement.query(By.css('.btn-primary')); + expect(clearButton).toBeNull(); + }); + it('should show a button to open the delete modal when there are selected processes', () => { + spyOn(component, 'openDeleteModal'); + + const deleteButton = fixture.debugElement.query(By.css('.btn-danger')); + expect(deleteButton.nativeElement.innerHTML).toContain('process.overview.delete'); + + deleteButton.triggerEventHandler('click', null); + expect(component.openDeleteModal).toHaveBeenCalled(); + }); + it('should not show a button to clear selected processes when there are no selected processes', () => { + (processBulkDeleteService.hasSelected as jasmine.Spy).and.returnValue(false); + fixture.detectChanges(); + + const deleteButton = fixture.debugElement.query(By.css('.btn-danger')); + expect(deleteButton).toBeNull(); + }); + }); + + describe('openDeleteModal', () => { + it('should open the modal', () => { + component.openDeleteModal({}); + expect(modalService.open).toHaveBeenCalledWith({}); + }); + }); + + describe('deleteSelected', () => { + it('should call the deleteSelectedProcesses method on the processBulkDeleteService and close the modal when processing is done', () => { + spyOn(component, 'closeModal'); + spyOn(component, 'setProcesses'); + + component.deleteSelected(); + + expect(processBulkDeleteService.deleteSelectedProcesses).toHaveBeenCalled(); + expect(component.closeModal).toHaveBeenCalled(); + expect(component.setProcesses).toHaveBeenCalled(); + }); }); }); diff --git a/src/app/process-page/overview/process-overview.component.ts b/src/app/process-page/overview/process-overview.component.ts index 7afcd9cb76..749f76b1a6 100644 --- a/src/app/process-page/overview/process-overview.component.ts +++ b/src/app/process-page/overview/process-overview.component.ts @@ -1,5 +1,5 @@ -import { Component, OnInit } from '@angular/core'; -import { Observable } from 'rxjs'; +import { Component, OnDestroy, OnInit } from '@angular/core'; +import { BehaviorSubject, Observable, skipWhile, Subscription } from 'rxjs'; import { RemoteData } from '../../core/data/remote-data'; import { PaginatedList } from '../../core/data/paginated-list.model'; import { Process } from '../processes/process.model'; @@ -11,6 +11,9 @@ import { map, switchMap } from 'rxjs/operators'; import { ProcessDataService } from '../../core/data/processes/process-data.service'; import { PaginationService } from '../../core/pagination/pagination.service'; import { FindListOptions } from '../../core/data/find-list-options.model'; +import { ProcessBulkDeleteService } from './process-bulk-delete.service'; +import { NgbModal } from '@ng-bootstrap/ng-bootstrap'; +import { hasValue } from '../../shared/empty.util'; @Component({ selector: 'ds-process-overview', @@ -19,7 +22,7 @@ import { FindListOptions } from '../../core/data/find-list-options.model'; /** * Component displaying a list of all processes in a paginated table */ -export class ProcessOverviewComponent implements OnInit { +export class ProcessOverviewComponent implements OnInit, OnDestroy { /** * List of all processes @@ -46,13 +49,22 @@ export class ProcessOverviewComponent implements OnInit { */ dateFormat = 'yyyy-MM-dd HH:mm:ss'; + processesToDelete: string[] = []; + private modalRef: any; + + isProcessingSub: Subscription; + constructor(protected processService: ProcessDataService, protected paginationService: PaginationService, - protected ePersonService: EPersonDataService) { + protected ePersonService: EPersonDataService, + protected modalService: NgbModal, + public processBulkDeleteService: ProcessBulkDeleteService, + ) { } ngOnInit(): void { this.setProcesses(); + this.processBulkDeleteService.clearAllProcesses(); } /** @@ -60,7 +72,7 @@ export class ProcessOverviewComponent implements OnInit { */ setProcesses() { this.processesRD$ = this.paginationService.getFindListOptions(this.pageConfig.id, this.config).pipe( - switchMap((config) => this.processService.findAll(config)) + switchMap((config) => this.processService.findAll(config, true, false)) ); } @@ -74,8 +86,46 @@ export class ProcessOverviewComponent implements OnInit { map((eperson: EPerson) => eperson.name) ); } + ngOnDestroy(): void { this.paginationService.clearPagination(this.pageConfig.id); + if (hasValue(this.isProcessingSub)) { + this.isProcessingSub.unsubscribe(); + } } + /** + * Open a given modal. + * @param content - the modal content. + */ + openDeleteModal(content) { + this.modalRef = this.modalService.open(content); + } + + /** + * Close the modal. + */ + closeModal() { + this.modalRef.close(); + } + + /** + * Delete the previously selected processes using the processBulkDeleteService + * After the deletion has started, subscribe to the isProcessing$ and when it is set + * to false after the processing is done, close the modal and reinitialise the processes + */ + deleteSelected() { + this.processBulkDeleteService.deleteSelectedProcesses(); + + if (hasValue(this.isProcessingSub)) { + this.isProcessingSub.unsubscribe(); + } + this.isProcessingSub = this.processBulkDeleteService.isProcessing$() + .subscribe((isProcessing) => { + if (!isProcessing) { + this.closeModal(); + this.setProcesses(); + } + }); + } } diff --git a/src/assets/i18n/en.json5 b/src/assets/i18n/en.json5 index 57863b3a69..31a32e11b7 100644 --- a/src/assets/i18n/en.json5 +++ b/src/assets/i18n/en.json5 @@ -2983,6 +2983,22 @@ "process.detail.create" : "Create similar process", + "process.detail.actions": "Actions", + + "process.detail.delete.button": "Delete process", + + "process.detail.delete.header": "Delete process", + + "process.detail.delete.body": "Are you sure you want to delete the current process?", + + "process.detail.delete.cancel": "Cancel", + + "process.detail.delete.confirm": "Delete process", + + "process.detail.delete.success": "The process was successfully deleted.", + + "process.detail.delete.error": "Something went wrong when deleting the process", + "process.overview.table.finish" : "Finish time (UTC)", @@ -3003,6 +3019,25 @@ "process.overview.new": "New", + "process.overview.table.actions": "Actions", + + "process.overview.delete": "Delete {{count}} processes", + + "process.overview.delete.clear": "Clear delete selection", + + "process.overview.delete.processing": "{{count}} process(es) are being deleted. Please wait for the deletion to fully complete. Note that this can take a while.", + + "process.overview.delete.body": "Are you sure you want to delete {{count}} process(es)?", + + "process.overview.delete.header": "Delete processes", + + "process.bulk.delete.error.head": "Error on deleteing process", + + "process.bulk.delete.error.body": "The process with ID {{processId}} could not be deleted. The remaining processes will continue being deleted. ", + + "process.bulk.delete.success": "{{count}} process(es) have been succesfully deleted", + + "profile.breadcrumbs": "Update Profile", From 5ed369d097e07aab0fd5a128005a57bde6d1b280 Mon Sep 17 00:00:00 2001 From: "Mark H. Wood" Date: Fri, 19 Aug 2022 16:23:20 -0400 Subject: [PATCH 04/23] Make create, edit community/collection/item dialogs theme-able. --- src/app/menu.resolver.ts | 36 +++++++++---------- ...te-collection-parent-selector.component.ts | 28 +++++++++++++++ ...ate-community-parent-selector.component.ts | 27 ++++++++++++++ ...d-create-item-parent-selector.component.ts | 31 ++++++++++++++++ ...emed-edit-collection-selector.component.ts | 27 ++++++++++++++ ...hemed-edit-community-selector.component.ts | 27 ++++++++++++++ .../themed-edit-item-selector.component.ts | 27 ++++++++++++++ 7 files changed, 185 insertions(+), 18 deletions(-) create mode 100644 src/app/shared/dso-selector/modal-wrappers/create-collection-parent-selector/themed-create-collection-parent-selector.component.ts create mode 100644 src/app/shared/dso-selector/modal-wrappers/create-community-parent-selector/themed-create-community-parent-selector.component.ts create mode 100644 src/app/shared/dso-selector/modal-wrappers/create-item-parent-selector/themed-create-item-parent-selector.component.ts create mode 100644 src/app/shared/dso-selector/modal-wrappers/edit-collection-selector/themed-edit-collection-selector.component.ts create mode 100644 src/app/shared/dso-selector/modal-wrappers/edit-community-selector/themed-edit-community-selector.component.ts create mode 100644 src/app/shared/dso-selector/modal-wrappers/edit-item-selector/themed-edit-item-selector.component.ts diff --git a/src/app/menu.resolver.ts b/src/app/menu.resolver.ts index 4c97d3d1b3..f12079f737 100644 --- a/src/app/menu.resolver.ts +++ b/src/app/menu.resolver.ts @@ -16,24 +16,24 @@ import { filter, find, map, take } from 'rxjs/operators'; import { hasValue } from './shared/empty.util'; import { FeatureID } from './core/data/feature-authorization/feature-id'; import { - CreateCommunityParentSelectorComponent -} from './shared/dso-selector/modal-wrappers/create-community-parent-selector/create-community-parent-selector.component'; + ThemedCreateCommunityParentSelectorComponent +} from './shared/dso-selector/modal-wrappers/create-community-parent-selector/themed-create-community-parent-selector.component'; import { OnClickMenuItemModel } from './shared/menu/menu-item/models/onclick.model'; import { - CreateCollectionParentSelectorComponent -} from './shared/dso-selector/modal-wrappers/create-collection-parent-selector/create-collection-parent-selector.component'; + ThemedCreateCollectionParentSelectorComponent +} from './shared/dso-selector/modal-wrappers/create-collection-parent-selector/themed-create-collection-parent-selector.component'; import { - CreateItemParentSelectorComponent -} from './shared/dso-selector/modal-wrappers/create-item-parent-selector/create-item-parent-selector.component'; + ThemedCreateItemParentSelectorComponent +} from './shared/dso-selector/modal-wrappers/create-item-parent-selector/themed-create-item-parent-selector.component'; import { - EditCommunitySelectorComponent -} from './shared/dso-selector/modal-wrappers/edit-community-selector/edit-community-selector.component'; + ThemedEditCommunitySelectorComponent +} from './shared/dso-selector/modal-wrappers/edit-community-selector/themed-edit-community-selector.component'; import { - EditCollectionSelectorComponent -} from './shared/dso-selector/modal-wrappers/edit-collection-selector/edit-collection-selector.component'; + ThemedEditCollectionSelectorComponent +} from './shared/dso-selector/modal-wrappers/edit-collection-selector/themed-edit-collection-selector.component'; import { - EditItemSelectorComponent -} from './shared/dso-selector/modal-wrappers/edit-item-selector/edit-item-selector.component'; + ThemedEditItemSelectorComponent +} from './shared/dso-selector/modal-wrappers/edit-item-selector/themed-edit-item-selector.component'; import { ExportMetadataSelectorComponent } from './shared/dso-selector/modal-wrappers/export-metadata-selector/export-metadata-selector.component'; @@ -188,7 +188,7 @@ export class MenuResolver implements Resolve { type: MenuItemType.ONCLICK, text: 'menu.section.new_community', function: () => { - this.modalService.open(CreateCommunityParentSelectorComponent); + this.modalService.open(ThemedCreateCommunityParentSelectorComponent); } } as OnClickMenuItemModel, }, @@ -201,7 +201,7 @@ export class MenuResolver implements Resolve { type: MenuItemType.ONCLICK, text: 'menu.section.new_collection', function: () => { - this.modalService.open(CreateCollectionParentSelectorComponent); + this.modalService.open(ThemedCreateCollectionParentSelectorComponent); } } as OnClickMenuItemModel, }, @@ -214,7 +214,7 @@ export class MenuResolver implements Resolve { type: MenuItemType.ONCLICK, text: 'menu.section.new_item', function: () => { - this.modalService.open(CreateItemParentSelectorComponent); + this.modalService.open(ThemedCreateItemParentSelectorComponent); } } as OnClickMenuItemModel, }, @@ -263,7 +263,7 @@ export class MenuResolver implements Resolve { type: MenuItemType.ONCLICK, text: 'menu.section.edit_community', function: () => { - this.modalService.open(EditCommunitySelectorComponent); + this.modalService.open(ThemedEditCommunitySelectorComponent); } } as OnClickMenuItemModel, }, @@ -276,7 +276,7 @@ export class MenuResolver implements Resolve { type: MenuItemType.ONCLICK, text: 'menu.section.edit_collection', function: () => { - this.modalService.open(EditCollectionSelectorComponent); + this.modalService.open(ThemedEditCollectionSelectorComponent); } } as OnClickMenuItemModel, }, @@ -289,7 +289,7 @@ export class MenuResolver implements Resolve { type: MenuItemType.ONCLICK, text: 'menu.section.edit_item', function: () => { - this.modalService.open(EditItemSelectorComponent); + this.modalService.open(ThemedEditItemSelectorComponent); } } as OnClickMenuItemModel, }, diff --git a/src/app/shared/dso-selector/modal-wrappers/create-collection-parent-selector/themed-create-collection-parent-selector.component.ts b/src/app/shared/dso-selector/modal-wrappers/create-collection-parent-selector/themed-create-collection-parent-selector.component.ts new file mode 100644 index 0000000000..f6598aec99 --- /dev/null +++ b/src/app/shared/dso-selector/modal-wrappers/create-collection-parent-selector/themed-create-collection-parent-selector.component.ts @@ -0,0 +1,28 @@ +import {Component} from "@angular/core"; +import {CreateCollectionParentSelectorComponent} from "./create-collection-parent-selector.component"; +import {ThemedComponent} from "src/app/shared/theme-support/themed.component"; + +/** + * Themed wrapper for CreateCollectionParentSelectorComponent + */ +@Component({ + selector: 'ds-themed-create-collection-parent-selector', + styleUrls: [], + templateUrl: '../../../theme-support/themed.component.html' +}) +export class ThemedCreateCollectionParentSelectorComponent + extends ThemedComponent { + + protected getComponentName(): string { + return 'CreateCollectionParentSelectorComponent'; + } + + protected importThemedComponent(themeName: string): Promise { + return import(`../../../../../themes/${themeName}/app/shared/dso-selector/modal-wrappers/create-collection-parent-selector/create-collection-parent-selector.component`); + } + + protected importUnthemedComponent(): Promise { + return import('./create-collection-parent-selector.component'); + } + +} diff --git a/src/app/shared/dso-selector/modal-wrappers/create-community-parent-selector/themed-create-community-parent-selector.component.ts b/src/app/shared/dso-selector/modal-wrappers/create-community-parent-selector/themed-create-community-parent-selector.component.ts new file mode 100644 index 0000000000..92621978b8 --- /dev/null +++ b/src/app/shared/dso-selector/modal-wrappers/create-community-parent-selector/themed-create-community-parent-selector.component.ts @@ -0,0 +1,27 @@ +import {Component} from "@angular/core"; +import {CreateCommunityParentSelectorComponent} from "./create-community-parent-selector.component"; +import {ThemedComponent} from "src/app/shared/theme-support/themed.component"; + +/** + * Themed wrapper for CreateCommunityParentSelectorComponent + */ +@Component({ + selector: 'ds-themed-create-community-parent-selector', + styleUrls: [], + templateUrl: '../../../theme-support/themed.component.html' +}) +export class ThemedCreateCommunityParentSelectorComponent + extends ThemedComponent { + protected getComponentName(): string { + return 'CreateCommunityParentSelectorComponent'; + } + + protected importThemedComponent(themeName: string): Promise { + return import(`../../../../../themes/${themeName}/app/shared/dso-selector/modal-wrappers/create-community-parent-selector/create-community-parent-selector.component`); + } + + protected importUnthemedComponent(): Promise { + return import('./create-community-parent-selector.component'); + } + +} diff --git a/src/app/shared/dso-selector/modal-wrappers/create-item-parent-selector/themed-create-item-parent-selector.component.ts b/src/app/shared/dso-selector/modal-wrappers/create-item-parent-selector/themed-create-item-parent-selector.component.ts new file mode 100644 index 0000000000..70ab0d76ee --- /dev/null +++ b/src/app/shared/dso-selector/modal-wrappers/create-item-parent-selector/themed-create-item-parent-selector.component.ts @@ -0,0 +1,31 @@ +import {Component, Input} from "@angular/core"; +import {CreateItemParentSelectorComponent} from "./create-item-parent-selector.component"; +import {ThemedComponent} from "src/app/shared/theme-support/themed.component"; + +/** + * Themed wrapper for CreateItemParentSelectorComponent + */ +@Component({ + selector: 'ds-themed-create-item-parent-selector', + styleUrls: [], + templateUrl: '../../../theme-support/themed.component.html' +}) +export class ThemedCreateItemParentSelectorComponent + extends ThemedComponent { + @Input() entityType: string; + + protected inAndOutputNames: (keyof CreateItemParentSelectorComponent & keyof this)[] = ['entityType']; + + protected getComponentName(): string { + return 'CreateItemParentSelectorComponent'; + } + + protected importThemedComponent(themeName: string): Promise { + return import(`../../../../../themes/${themeName}/app/shared/dso-selector/modal-wrappers/create-item-parent-selector/create-item-parent-selector.component`); + } + + protected importUnthemedComponent(): Promise { + return import('./create-item-parent-selector.component'); + } + +} diff --git a/src/app/shared/dso-selector/modal-wrappers/edit-collection-selector/themed-edit-collection-selector.component.ts b/src/app/shared/dso-selector/modal-wrappers/edit-collection-selector/themed-edit-collection-selector.component.ts new file mode 100644 index 0000000000..4e3191d03b --- /dev/null +++ b/src/app/shared/dso-selector/modal-wrappers/edit-collection-selector/themed-edit-collection-selector.component.ts @@ -0,0 +1,27 @@ +import {Component} from "@angular/core"; +import {EditCollectionSelectorComponent} from "./edit-collection-selector.component"; +import {ThemedComponent} from "src/app/shared/theme-support/themed.component"; + +/** + * Themed wrapper for EditCollectionSelectorComponent + */ +@Component({ + selector: 'ds-themed-edit-collection-selector', + styleUrls: [], + templateUrl: '../../../theme-support/themed.component.html' +}) +export class ThemedEditCollectionSelectorComponent + extends ThemedComponent { + protected getComponentName(): string { + return 'EditCollectionSelectorComponent'; + } + + protected importThemedComponent(themeName: string): Promise { + return import(`../../../../../themes/${themeName}/app/shared/dso-selector/modal-wrappers/edit-collection-selector/edit-collection-selector.component`); + } + + protected importUnthemedComponent(): Promise { + return import('./edit-collection-selector.component'); + } + +} diff --git a/src/app/shared/dso-selector/modal-wrappers/edit-community-selector/themed-edit-community-selector.component.ts b/src/app/shared/dso-selector/modal-wrappers/edit-community-selector/themed-edit-community-selector.component.ts new file mode 100644 index 0000000000..d8232abcdb --- /dev/null +++ b/src/app/shared/dso-selector/modal-wrappers/edit-community-selector/themed-edit-community-selector.component.ts @@ -0,0 +1,27 @@ +import {Component} from "@angular/core"; +import {EditCommunitySelectorComponent} from "./edit-community-selector.component"; +import {ThemedComponent} from "src/app/shared/theme-support/themed.component"; + +/** + * Themed wrapper for EditCommunitySelectorComponent + */ +@Component({ + selector: 'ds-themed-edit-community-selector', + styleUrls: [], + templateUrl: '../../../theme-support/themed.component.html' +}) +export class ThemedEditCommunitySelectorComponent + extends ThemedComponent { + protected getComponentName(): string { + return 'EditCommunitySelectorComponent'; + } + + protected importThemedComponent(themeName: string): Promise { + return import(`../../../../../themes/${themeName}/app/shared/dso-selector/modal-wrappers/edit-community-selector/edit-community-selector.component`); + } + + protected importUnthemedComponent(): Promise { + return import('./edit-community-selector.component'); + } + +} diff --git a/src/app/shared/dso-selector/modal-wrappers/edit-item-selector/themed-edit-item-selector.component.ts b/src/app/shared/dso-selector/modal-wrappers/edit-item-selector/themed-edit-item-selector.component.ts new file mode 100644 index 0000000000..e1377e7fb4 --- /dev/null +++ b/src/app/shared/dso-selector/modal-wrappers/edit-item-selector/themed-edit-item-selector.component.ts @@ -0,0 +1,27 @@ +import {Component} from "@angular/core"; +import {EditItemSelectorComponent} from "./edit-item-selector.component"; +import {ThemedComponent} from "src/app/shared/theme-support/themed.component"; + +/** + * Themed wrapper for EditItemSelectorComponent + */ +@Component({ + selector: 'ds-themed-edit-item-selector', + styleUrls: [], + templateUrl: '../../../theme-support/themed.component.html' +}) +export class ThemedEditItemSelectorComponent + extends ThemedComponent { + protected getComponentName(): string { + return 'EditItemSelectorComponent'; + } + + protected importThemedComponent(themeName: string): Promise { + return import(`../../../../../themes/${themeName}/app/shared/dso-selector/modal-wrappers/edit-item-selector/edit-item-selector.component`); + } + + protected importUnthemedComponent(): Promise { + return import('./edit-item-selector.component'); + } + +} From b2feadc290c5b60dd45ac78b174902b187aae4e5 Mon Sep 17 00:00:00 2001 From: "Mark H. Wood" Date: Fri, 19 Aug 2022 16:47:10 -0400 Subject: [PATCH 05/23] Satisfy lint. --- .../themed-create-collection-parent-selector.component.ts | 6 +++--- .../themed-create-community-parent-selector.component.ts | 6 +++--- .../themed-create-item-parent-selector.component.ts | 6 +++--- .../themed-edit-collection-selector.component.ts | 6 +++--- .../themed-edit-community-selector.component.ts | 6 +++--- .../themed-edit-item-selector.component.ts | 6 +++--- 6 files changed, 18 insertions(+), 18 deletions(-) diff --git a/src/app/shared/dso-selector/modal-wrappers/create-collection-parent-selector/themed-create-collection-parent-selector.component.ts b/src/app/shared/dso-selector/modal-wrappers/create-collection-parent-selector/themed-create-collection-parent-selector.component.ts index f6598aec99..d90cd0ac0d 100644 --- a/src/app/shared/dso-selector/modal-wrappers/create-collection-parent-selector/themed-create-collection-parent-selector.component.ts +++ b/src/app/shared/dso-selector/modal-wrappers/create-collection-parent-selector/themed-create-collection-parent-selector.component.ts @@ -1,6 +1,6 @@ -import {Component} from "@angular/core"; -import {CreateCollectionParentSelectorComponent} from "./create-collection-parent-selector.component"; -import {ThemedComponent} from "src/app/shared/theme-support/themed.component"; +import {Component} from '@angular/core'; +import {CreateCollectionParentSelectorComponent} from './create-collection-parent-selector.component'; +import {ThemedComponent} from 'src/app/shared/theme-support/themed.component'; /** * Themed wrapper for CreateCollectionParentSelectorComponent diff --git a/src/app/shared/dso-selector/modal-wrappers/create-community-parent-selector/themed-create-community-parent-selector.component.ts b/src/app/shared/dso-selector/modal-wrappers/create-community-parent-selector/themed-create-community-parent-selector.component.ts index 92621978b8..24bff97254 100644 --- a/src/app/shared/dso-selector/modal-wrappers/create-community-parent-selector/themed-create-community-parent-selector.component.ts +++ b/src/app/shared/dso-selector/modal-wrappers/create-community-parent-selector/themed-create-community-parent-selector.component.ts @@ -1,6 +1,6 @@ -import {Component} from "@angular/core"; -import {CreateCommunityParentSelectorComponent} from "./create-community-parent-selector.component"; -import {ThemedComponent} from "src/app/shared/theme-support/themed.component"; +import {Component} from '@angular/core'; +import {CreateCommunityParentSelectorComponent} from './create-community-parent-selector.component'; +import {ThemedComponent} from 'src/app/shared/theme-support/themed.component'; /** * Themed wrapper for CreateCommunityParentSelectorComponent diff --git a/src/app/shared/dso-selector/modal-wrappers/create-item-parent-selector/themed-create-item-parent-selector.component.ts b/src/app/shared/dso-selector/modal-wrappers/create-item-parent-selector/themed-create-item-parent-selector.component.ts index 70ab0d76ee..49209ea63b 100644 --- a/src/app/shared/dso-selector/modal-wrappers/create-item-parent-selector/themed-create-item-parent-selector.component.ts +++ b/src/app/shared/dso-selector/modal-wrappers/create-item-parent-selector/themed-create-item-parent-selector.component.ts @@ -1,6 +1,6 @@ -import {Component, Input} from "@angular/core"; -import {CreateItemParentSelectorComponent} from "./create-item-parent-selector.component"; -import {ThemedComponent} from "src/app/shared/theme-support/themed.component"; +import {Component, Input} from '@angular/core'; +import {CreateItemParentSelectorComponent} from './create-item-parent-selector.component'; +import {ThemedComponent} from 'src/app/shared/theme-support/themed.component'; /** * Themed wrapper for CreateItemParentSelectorComponent diff --git a/src/app/shared/dso-selector/modal-wrappers/edit-collection-selector/themed-edit-collection-selector.component.ts b/src/app/shared/dso-selector/modal-wrappers/edit-collection-selector/themed-edit-collection-selector.component.ts index 4e3191d03b..999f466e75 100644 --- a/src/app/shared/dso-selector/modal-wrappers/edit-collection-selector/themed-edit-collection-selector.component.ts +++ b/src/app/shared/dso-selector/modal-wrappers/edit-collection-selector/themed-edit-collection-selector.component.ts @@ -1,6 +1,6 @@ -import {Component} from "@angular/core"; -import {EditCollectionSelectorComponent} from "./edit-collection-selector.component"; -import {ThemedComponent} from "src/app/shared/theme-support/themed.component"; +import {Component} from '@angular/core'; +import {EditCollectionSelectorComponent} from './edit-collection-selector.component'; +import {ThemedComponent} from 'src/app/shared/theme-support/themed.component'; /** * Themed wrapper for EditCollectionSelectorComponent diff --git a/src/app/shared/dso-selector/modal-wrappers/edit-community-selector/themed-edit-community-selector.component.ts b/src/app/shared/dso-selector/modal-wrappers/edit-community-selector/themed-edit-community-selector.component.ts index d8232abcdb..e067803444 100644 --- a/src/app/shared/dso-selector/modal-wrappers/edit-community-selector/themed-edit-community-selector.component.ts +++ b/src/app/shared/dso-selector/modal-wrappers/edit-community-selector/themed-edit-community-selector.component.ts @@ -1,6 +1,6 @@ -import {Component} from "@angular/core"; -import {EditCommunitySelectorComponent} from "./edit-community-selector.component"; -import {ThemedComponent} from "src/app/shared/theme-support/themed.component"; +import {Component} from '@angular/core'; +import {EditCommunitySelectorComponent} from './edit-community-selector.component'; +import {ThemedComponent} from 'src/app/shared/theme-support/themed.component'; /** * Themed wrapper for EditCommunitySelectorComponent diff --git a/src/app/shared/dso-selector/modal-wrappers/edit-item-selector/themed-edit-item-selector.component.ts b/src/app/shared/dso-selector/modal-wrappers/edit-item-selector/themed-edit-item-selector.component.ts index e1377e7fb4..6d3b5691c1 100644 --- a/src/app/shared/dso-selector/modal-wrappers/edit-item-selector/themed-edit-item-selector.component.ts +++ b/src/app/shared/dso-selector/modal-wrappers/edit-item-selector/themed-edit-item-selector.component.ts @@ -1,6 +1,6 @@ -import {Component} from "@angular/core"; -import {EditItemSelectorComponent} from "./edit-item-selector.component"; -import {ThemedComponent} from "src/app/shared/theme-support/themed.component"; +import {Component} from '@angular/core'; +import {EditItemSelectorComponent} from './edit-item-selector.component'; +import {ThemedComponent} from 'src/app/shared/theme-support/themed.component'; /** * Themed wrapper for EditItemSelectorComponent From 4b20b0cb8116a234c22fb48a79200eb0783b57a1 Mon Sep 17 00:00:00 2001 From: Art Lowel Date: Tue, 23 Aug 2022 17:50:46 +0200 Subject: [PATCH 06/23] force initservices to wait until authentication is no longer blocking --- src/app/core/auth/auth-request.service.ts | 37 ++++++++++++++--------- src/app/core/auth/auth.reducer.ts | 6 ++++ src/modules/app/browser-init.service.ts | 7 +++++ src/modules/app/server-init.service.ts | 12 ++++++-- 4 files changed, 46 insertions(+), 16 deletions(-) diff --git a/src/app/core/auth/auth-request.service.ts b/src/app/core/auth/auth-request.service.ts index 00a94822d3..bcaa5972ac 100644 --- a/src/app/core/auth/auth-request.service.ts +++ b/src/app/core/auth/auth-request.service.ts @@ -1,5 +1,5 @@ import { Observable } from 'rxjs'; -import { distinctUntilChanged, filter, map, mergeMap, switchMap, tap } from 'rxjs/operators'; +import { distinctUntilChanged, filter, map, mergeMap, switchMap, tap, take } from 'rxjs/operators'; import { HALEndpointService } from '../shared/hal-endpoint.service'; import { RequestService } from '../data/request.service'; import { isNotEmpty } from '../../shared/empty.util'; @@ -26,8 +26,8 @@ export abstract class AuthRequestService { ) { } - protected fetchRequest(request: RestRequest): Observable> { - return this.rdbService.buildFromRequestUUID(request.uuid).pipe( + protected fetchRequest(requestId: string): Observable> { + return this.rdbService.buildFromRequestUUID(requestId).pipe( getFirstCompletedRemoteData(), ); } @@ -37,27 +37,36 @@ export abstract class AuthRequestService { } public postToEndpoint(method: string, body?: any, options?: HttpOptions): Observable> { - return this.halService.getEndpoint(this.linkName).pipe( + const requestId = this.requestService.generateRequestId(); + + this.halService.getEndpoint(this.linkName).pipe( filter((href: string) => isNotEmpty(href)), map((endpointURL) => this.getEndpointByMethod(endpointURL, method)), distinctUntilChanged(), - map((endpointURL: string) => new PostRequest(this.requestService.generateRequestId(), endpointURL, body, options)), - tap((request: PostRequest) => this.requestService.send(request)), - mergeMap((request: PostRequest) => this.fetchRequest(request)), - distinctUntilChanged()); + map((endpointURL: string) => new PostRequest(requestId, endpointURL, body, options)), + take(1) + ).subscribe((request: PostRequest) => { + this.requestService.send(request); + }); + + return this.fetchRequest(requestId); } public getRequest(method: string, options?: HttpOptions): Observable> { - return this.halService.getEndpoint(this.linkName).pipe( + const requestId = this.requestService.generateRequestId(); + + this.halService.getEndpoint(this.linkName).pipe( filter((href: string) => isNotEmpty(href)), map((endpointURL) => this.getEndpointByMethod(endpointURL, method)), distinctUntilChanged(), - map((endpointURL: string) => new GetRequest(this.requestService.generateRequestId(), endpointURL, undefined, options)), - tap((request: GetRequest) => this.requestService.send(request)), - mergeMap((request: GetRequest) => this.fetchRequest(request)), - distinctUntilChanged()); - } + map((endpointURL: string) => new GetRequest(requestId, endpointURL, undefined, options)), + take(1) + ).subscribe((request: GetRequest) => { + this.requestService.send(request); + }); + return this.fetchRequest(requestId); + } /** * Factory function to create the request object to send. This needs to be a POST client side and * a GET server side. Due to CSRF validation, the server isn't allowed to send a POST, so we allow diff --git a/src/app/core/auth/auth.reducer.ts b/src/app/core/auth/auth.reducer.ts index 6f47a3c20c..acdb8ef812 100644 --- a/src/app/core/auth/auth.reducer.ts +++ b/src/app/core/auth/auth.reducer.ts @@ -17,6 +17,7 @@ import { import { AuthTokenInfo } from './models/auth-token-info.model'; import { AuthMethod } from './models/auth.method'; import { AuthMethodType } from './models/auth.method-type'; +import { StoreActionTypes } from '../../store.actions'; /** * The auth state. @@ -251,6 +252,11 @@ export function authReducer(state: any = initialState, action: AuthActions): Aut idle: false, }); + case StoreActionTypes.REHYDRATE: + return Object.assign({}, state, { + blocking: true, + }); + default: return state; } diff --git a/src/modules/app/browser-init.service.ts b/src/modules/app/browser-init.service.ts index 3980b8bc28..2d49870d58 100644 --- a/src/modules/app/browser-init.service.ts +++ b/src/modules/app/browser-init.service.ts @@ -91,6 +91,13 @@ export class BrowserInitService extends InitService { this.initKlaro(); + // wait for auth to be ready + await this.store.pipe( + select(isAuthenticationBlocking), + distinctUntilChanged(), + find((b: boolean) => b === false) + ).toPromise(); + return true; }; } diff --git a/src/modules/app/server-init.service.ts b/src/modules/app/server-init.service.ts index 803dc7a75a..fb3539ecfa 100644 --- a/src/modules/app/server-init.service.ts +++ b/src/modules/app/server-init.service.ts @@ -6,7 +6,7 @@ * http://www.dspace.org/license/ */ import { InitService } from '../../app/init.service'; -import { Store } from '@ngrx/store'; +import { Store, select } from '@ngrx/store'; import { AppState } from '../../app/app.reducer'; import { TransferState } from '@angular/platform-browser'; import { CorrelationIdService } from '../../app/correlation-id/correlation-id.service'; @@ -20,7 +20,8 @@ import { MetadataService } from '../../app/core/metadata/metadata.service'; import { BreadcrumbsService } from '../../app/breadcrumbs/breadcrumbs.service'; import { CSSVariableService } from '../../app/shared/sass-helper/sass-helper.service'; import { ThemeService } from '../../app/shared/theme-support/theme.service'; -import { take } from 'rxjs/operators'; +import { take, distinctUntilChanged, find } from 'rxjs/operators'; +import { isAuthenticationBlocking } from '../../app/core/auth/selectors'; /** * Performs server-side initialization. @@ -66,6 +67,13 @@ export class ServerInitService extends InitService { this.initRouteListeners(); this.themeService.listenForThemeChanges(false); + // wait for auth to be ready + await this.store.pipe( + select(isAuthenticationBlocking), + distinctUntilChanged(), + find((b: boolean) => b === false) + ).toPromise(); + return true; }; } From 50828e9c064965f6487270aa230e6ea277079bab Mon Sep 17 00:00:00 2001 From: Hardy Pottinger Date: Tue, 23 Aug 2022 15:17:40 -0500 Subject: [PATCH 07/23] Enable responsive font sizes - adds enable-responsive-font-sizes toggle to the main bootstrap variables scss file - [docs available](https://getbootstrap.com/docs/4.4/content/typography/#responsive-font-sizes) --- src/styles/_bootstrap_variables.scss | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/styles/_bootstrap_variables.scss b/src/styles/_bootstrap_variables.scss index 20c0b3a679..3b06efb9d5 100644 --- a/src/styles/_bootstrap_variables.scss +++ b/src/styles/_bootstrap_variables.scss @@ -12,6 +12,9 @@ $fa-font-path: "^assets/fonts" !default; /* Images */ $image-path: "../assets/images" !default; +// enable-responsive-font-sizes allows text to scale more naturally across device and viewport sizes +$enable-responsive-font-sizes: true; + /** Bootstrap Variables **/ /* Colors */ $gray-700: #495057 !default; // Bootstrap $gray-700 From 528c4c31ea3a5c495f9306340d256d73f5e8e3b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Fern=C3=A1ndez=20Celorio?= Date: Thu, 25 Aug 2022 11:41:24 +0000 Subject: [PATCH 08/23] Spanish translation updated --- src/assets/i18n/es.json5 | 8487 ++++++++++++++++++++++---------------- 1 file changed, 4950 insertions(+), 3537 deletions(-) diff --git a/src/assets/i18n/es.json5 b/src/assets/i18n/es.json5 index 5d40c501f1..b738578fc6 100644 --- a/src/assets/i18n/es.json5 +++ b/src/assets/i18n/es.json5 @@ -1,5318 +1,6265 @@ { - // "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": "No está autorizado a acceder a esta página. Puede utilizar el botón de abajo para volver a la página de inicio.", + // "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": "No está autorizado a acceder a esta página. Puede utilizar el botón de abajo para volver a la página de inicio.", - // "401.link.home-page": "Take me to the home page", - "401.link.home-page": "Llévame a la página de inicio", + // "401.link.home-page": "Take me to the home page", + "401.link.home-page": "Llévame a la página de inicio", - // "401.unauthorized": "unauthorized", - "401.unauthorized": "no autorizado", + // "401.unauthorized": "unauthorized", + "401.unauthorized": "no autorizado", + // "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": "No tiene permisos para acceder a esta página. Puede utilizar el botón de abajo para volver a la página de inicio.", - // "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": "No tiene permiso para acceder a esta página. Puede utilizar el botón de abajo para volver a la página de inicio.", + // "403.link.home-page": "Take me to the home page", + "403.link.home-page": "Llévame a la página de inicio", - // "403.link.home-page": "Take me to the home page", - "403.link.home-page": "Llévame a la página de inicio", + // "403.forbidden": "forbidden", + "403.forbidden": "prohibido", - // "403.forbidden": "forbidden", - "403.forbidden": "prohibido", + // "500.page-internal-server-error": "Service Unavailable", + "500.page-internal-server-error": "Servicio no disponible", + // "500.help": "The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.", + "500.help": "No se puede atender su petición debido a problemas de capacidad o mantenimeintos programados del servidor. Inténtelo mas adelante, por favor.", + // "500.link.home-page": "Take me to the home page", + "500.link.home-page": "Llévame a la página de inicio", - // "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 podemos encontrar la página que buscas. La página puede haber sido movida o eliminada. Puedes utilizar el botón de abajo para volver a la página de inicio. ", - // "404.link.home-page": "Take me to the home page", - "404.link.home-page": "Llévame a la página de inicio", + // "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 podemos encontrar la página que busca. La página puede haber sido movida o eliminada. Puede utilizar el botón de abajo para volver a la página de inicio. ", - // "404.page-not-found": "page not found", - "404.page-not-found": "página no encontrada", + // "404.link.home-page": "Take me to the home page", + "404.link.home-page": "Llévame a la página de inicio", - // "admin.curation-tasks.breadcrumbs": "System curation tasks", - "admin.curation-tasks.breadcrumbs": "Tareas de conservación del sistema", + // "404.page-not-found": "page not found", + "404.page-not-found": "página no encontrada", - // "admin.curation-tasks.title": "System curation tasks", - "admin.curation-tasks.title": "Tareas de conservación del sistema", + // "error-page.description.401": "unauthorized", + "error-page.description.401": "no autorizado", - // "admin.curation-tasks.header": "System curation tasks", - "admin.curation-tasks.header": "Tareas de conservación del sistema", + // "error-page.description.403": "forbidden", + "error-page.description.403": "prohibido", - // "admin.registries.bitstream-formats.breadcrumbs": "Format registry", - "admin.registries.bitstream-formats.breadcrumbs": "Registro de formato", + // "error-page.description.500": "Service Unavailable", + "error-page.description.500": "Servicio no disponible", - // "admin.registries.bitstream-formats.create.breadcrumbs": "Bitstream format", - "admin.registries.bitstream-formats.create.breadcrumbs": "Formato de archivo", + // "error-page.description.404": "page not found", + "error-page.description.404": "página no encontrada", - // "admin.registries.bitstream-formats.create.failure.content": "An error occurred while creating the new bitstream format.", - "admin.registries.bitstream-formats.create.failure.content": "Se produjo un error al crear el nuevo formato de archivo.", + // "error-page.orcid.generic-error": "An error occurred during login via ORCID. Make sure you have shared your ORCID account email address with DSpace. If the error persists, contact the administrator", + "error-page.orcid.generic-error": "Hubo un error en el login via ORCID. Asegúrese que ha compartido el correo electrónico de su cuenta ORCID con Dspace. Si continuase el error, contacte con el administrador", - // "admin.registries.bitstream-formats.create.failure.head": "Failure", - "admin.registries.bitstream-formats.create.failure.head": "Falla", + // "access-status.embargo.listelement.badge": "Embargo", + "access-status.embargo.listelement.badge": "Embargo", - // "admin.registries.bitstream-formats.create.head": "Create Bitstream format", - "admin.registries.bitstream-formats.create.head": "Crear formato Archivo", + // "access-status.metadata.only.listelement.badge": "Metadata only", + "access-status.metadata.only.listelement.badge": "Solo Metadatos", - // "admin.registries.bitstream-formats.create.new": "Add a new bitstream format", - "admin.registries.bitstream-formats.create.new": "Agregar un nuevo formato de archivo", + // "access-status.open.access.listelement.badge": "Open Access", + "access-status.open.access.listelement.badge": "Acceso Abierto", - // "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 se creó correctamente.", + // "access-status.restricted.listelement.badge": "Restricted", + "access-status.restricted.listelement.badge": "Restringido", - // "admin.registries.bitstream-formats.create.success.head": "Success", - "admin.registries.bitstream-formats.create.success.head": "Éxito", + // "access-status.unknown.listelement.badge": "Unknown", + "access-status.unknown.listelement.badge": "Desconocido", - // "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.curation-tasks.breadcrumbs": "System curation tasks", + "admin.curation-tasks.breadcrumbs": "Tareas de curación del sistema", - // "admin.registries.bitstream-formats.delete.failure.head": "Failure", - "admin.registries.bitstream-formats.delete.failure.head": "Falla", + // "admin.curation-tasks.title": "System curation tasks", + "admin.curation-tasks.title": "Tareas de conservación del sistema", - // "admin.registries.bitstream-formats.delete.success.amount": "Successfully removed {{ amount }} format(s)", - "admin.registries.bitstream-formats.delete.success.amount": "Se quitaron correctamente {{ amount }} formato(s)", + // "admin.curation-tasks.header": "System curation tasks", + "admin.curation-tasks.header": "Tareas de curación del sistema", - // "admin.registries.bitstream-formats.delete.success.head": "Success", - "admin.registries.bitstream-formats.delete.success.head": "Éxito", + // "admin.registries.bitstream-formats.breadcrumbs": "Format registry", + "admin.registries.bitstream-formats.breadcrumbs": "Registro de formatos", - // "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 archivo proporciona información sobre formatos conocidos y su nivel de soporte.", + // "admin.registries.bitstream-formats.create.breadcrumbs": "Bitstream format", + "admin.registries.bitstream-formats.create.breadcrumbs": "Formato de archivo", - // "admin.registries.bitstream-formats.edit.breadcrumbs": "Bitstream format", - "admin.registries.bitstream-formats.edit.breadcrumbs": "Formato de archivo", + // "admin.registries.bitstream-formats.create.failure.content": "An error occurred while creating the new bitstream format.", + "admin.registries.bitstream-formats.create.failure.content": "Se produjo un error al crear el nuevo formato de archivo.", - // "admin.registries.bitstream-formats.edit.description.hint": "", - "admin.registries.bitstream-formats.edit.description.hint": "", + // "admin.registries.bitstream-formats.create.failure.head": "Failure", + "admin.registries.bitstream-formats.create.failure.head": "Fallo", - // "admin.registries.bitstream-formats.edit.description.label": "Description", - "admin.registries.bitstream-formats.edit.description.label": "Descripción", + // "admin.registries.bitstream-formats.create.head": "Create Bitstream format", + "admin.registries.bitstream-formats.create.head": "Crear formato de archivo", - // "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 se utilizan para identificar automáticamente el formato de los archivos cargados. Puede introducir varias extensiones para cada formato.", + // "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.edit.extensions.label": "File extensions", - "admin.registries.bitstream-formats.edit.extensions.label": "Extensiones 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 se creó correctamente.", - // "admin.registries.bitstream-formats.edit.extensions.placeholder": "Enter a file extension without the dot", - "admin.registries.bitstream-formats.edit.extensions.placeholder": "Ingrese una extensión de archivo sin el punto", + // "admin.registries.bitstream-formats.create.success.head": "Success", + "admin.registries.bitstream-formats.create.success.head": "Éxito", - // "admin.registries.bitstream-formats.edit.failure.content": "An error occurred while editing the bitstream format.", - "admin.registries.bitstream-formats.edit.failure.content": "Se produjo un error al editar el formato de archivo.", + // "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.edit.failure.head": "Failure", - "admin.registries.bitstream-formats.edit.failure.head": "Falla", + // "admin.registries.bitstream-formats.delete.failure.head": "Failure", + "admin.registries.bitstream-formats.delete.failure.head": "Fallo", - // "admin.registries.bitstream-formats.edit.head": "Bitstream format: {{ format }}", - "admin.registries.bitstream-formats.edit.head": "Formato de archivo: {{ format }}", + // "admin.registries.bitstream-formats.delete.success.amount": "Successfully removed {{ amount }} format(s)", + "admin.registries.bitstream-formats.delete.success.amount": "Se eliminaron correctamente {{ amount }} formato(s)", - // "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": "Los formatos marcados como internos están ocultos al usuario y se utilizan con fines administrativos.", + // "admin.registries.bitstream-formats.delete.success.head": "Success", + "admin.registries.bitstream-formats.delete.success.head": "Éxito", - // "admin.registries.bitstream-formats.edit.internal.label": "Internal", - "admin.registries.bitstream-formats.edit.internal.label": "Interno", + // "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 archivo proporciona información sobre formatos conocidos y su nivel de soporte.", - // "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 por qué ser único.", + // "admin.registries.bitstream-formats.edit.breadcrumbs": "Bitstream format", + "admin.registries.bitstream-formats.edit.breadcrumbs": "Formato de archivo", - // "admin.registries.bitstream-formats.edit.mimetype.label": "MIME Type", - "admin.registries.bitstream-formats.edit.mimetype.label": "Tipo MIME", + // "admin.registries.bitstream-formats.edit.description.hint": "", + "admin.registries.bitstream-formats.edit.description.hint": "", - // "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": "Un nombre único para este formato, (por ejemplo, Microsoft Word XP o Microsoft Word 2000)", + // "admin.registries.bitstream-formats.edit.description.label": "Description", + "admin.registries.bitstream-formats.edit.description.label": "Descripción", - // "admin.registries.bitstream-formats.edit.shortDescription.label": "Name", - "admin.registries.bitstream-formats.edit.shortDescription.label": "Nombre", + // "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 se refieren a las extensiones de archivos que se utilizan para identificar automáticamente el formato de los archivos cargados. Puede introducir varias extensiones para cada formato.", - // "admin.registries.bitstream-formats.edit.success.content": "The bitstream format was successfully edited.", - "admin.registries.bitstream-formats.edit.success.content": "El formato de archivo se editó correctamente.", + // "admin.registries.bitstream-formats.edit.extensions.label": "File extensions", + "admin.registries.bitstream-formats.edit.extensions.label": "Extensiones de archivo", - // "admin.registries.bitstream-formats.edit.success.head": "Success", - "admin.registries.bitstream-formats.edit.success.head": "Éxito", + // "admin.registries.bitstream-formats.edit.extensions.placeholder": "Enter a file extension without the dot", + "admin.registries.bitstream-formats.edit.extensions.placeholder": "Introduzca una extensión de archivo (sin el punto)", - // "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 promete para este formato.", + // "admin.registries.bitstream-formats.edit.failure.content": "An error occurred while editing the bitstream format.", + "admin.registries.bitstream-formats.edit.failure.content": "Se produjo un error al editar el formato de archivo.", - // "admin.registries.bitstream-formats.edit.supportLevel.label": "Support level", - "admin.registries.bitstream-formats.edit.supportLevel.label": "Nivel de soporte", + // "admin.registries.bitstream-formats.edit.failure.head": "Failure", + "admin.registries.bitstream-formats.edit.failure.head": "Fallo", - // "admin.registries.bitstream-formats.head": "Bitstream Format Registry", - "admin.registries.bitstream-formats.head": "Registro de formato Archivo", + // "admin.registries.bitstream-formats.edit.head": "Bitstream format: {{ format }}", + "admin.registries.bitstream-formats.edit.head": "Formato de archivo: {{ format }}", - // "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.edit.internal.hint": "Formats marked as internal are hidden from the user, and used for administrative purposes.", + "admin.registries.bitstream-formats.edit.internal.hint": "Los formatos marcados como internos están ocultos al usuario y se utilizan con fines administrativos.", - // "admin.registries.bitstream-formats.table.delete": "Delete selected", - "admin.registries.bitstream-formats.table.delete": "Eliminar seleccionado", + // "admin.registries.bitstream-formats.edit.internal.label": "Internal", + "admin.registries.bitstream-formats.edit.internal.label": "Interno", - // "admin.registries.bitstream-formats.table.deselect-all": "Deselect all", - "admin.registries.bitstream-formats.table.deselect-all": "Deseleccionar todo", + // "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 por qué ser único.", - // "admin.registries.bitstream-formats.table.internal": "internal", - "admin.registries.bitstream-formats.table.internal": "interno", + // "admin.registries.bitstream-formats.edit.mimetype.label": "MIME Type", + "admin.registries.bitstream-formats.edit.mimetype.label": "Tipo MIME", - // "admin.registries.bitstream-formats.table.mimetype": "MIME Type", - "admin.registries.bitstream-formats.table.mimetype": "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": "Un nombre único para este formato, (por ejemplo, Microsoft Word XP o Microsoft Word 2000)", - // "admin.registries.bitstream-formats.table.name": "Name", - "admin.registries.bitstream-formats.table.name": "Nombre", + // "admin.registries.bitstream-formats.edit.shortDescription.label": "Name", + "admin.registries.bitstream-formats.edit.shortDescription.label": "Nombre", - // "admin.registries.bitstream-formats.table.return": "Back", - "admin.registries.bitstream-formats.table.return": "atrás", + // "admin.registries.bitstream-formats.edit.success.content": "The bitstream format was successfully edited.", + "admin.registries.bitstream-formats.edit.success.content": "El formato de archivo se editó correctamente.", - // "admin.registries.bitstream-formats.table.supportLevel.KNOWN": "Known", - "admin.registries.bitstream-formats.table.supportLevel.KNOWN": "Conocido", + // "admin.registries.bitstream-formats.edit.success.head": "Success", + "admin.registries.bitstream-formats.edit.success.head": "Éxito", - // "admin.registries.bitstream-formats.table.supportLevel.SUPPORTED": "Supported", - "admin.registries.bitstream-formats.table.supportLevel.SUPPORTED": "Soportado", + // "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 promete para este formato.", - // "admin.registries.bitstream-formats.table.supportLevel.UNKNOWN": "Unknown", - "admin.registries.bitstream-formats.table.supportLevel.UNKNOWN": "Desconocido", + // "admin.registries.bitstream-formats.edit.supportLevel.label": "Support level", + "admin.registries.bitstream-formats.edit.supportLevel.label": "Nivel de soporte", - // "admin.registries.bitstream-formats.table.supportLevel.head": "Support Level", - "admin.registries.bitstream-formats.table.supportLevel.head": "Nivel de soporte", + // "admin.registries.bitstream-formats.head": "Bitstream Format Registry", + "admin.registries.bitstream-formats.head": "Registro de formato Archivo", - // "admin.registries.bitstream-formats.title": "Bitstream Format Registry", - "admin.registries.bitstream-formats.title": "Registro de formato 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 seleccionado", + // "admin.registries.bitstream-formats.table.deselect-all": "Deselect all", + "admin.registries.bitstream-formats.table.deselect-all": "Deseleccionar todo", - // "admin.registries.metadata.breadcrumbs": "Metadata registry", - "admin.registries.metadata.breadcrumbs": "Registro de metadatos", + // "admin.registries.bitstream-formats.table.internal": "internal", + "admin.registries.bitstream-formats.table.internal": "interno", - // "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 estar divididos entre múltiples esquemas. Sin embargo, DSpace requiere el esquema calificado de Dublin Core.", + // "admin.registries.bitstream-formats.table.mimetype": "MIME Type", + "admin.registries.bitstream-formats.table.mimetype": "Tipo MIME", - // "admin.registries.metadata.form.create": "Create metadata schema", - "admin.registries.metadata.form.create": "Crear esquema de metadatos", + // "admin.registries.bitstream-formats.table.name": "Name", + "admin.registries.bitstream-formats.table.name": "Nombre", - // "admin.registries.metadata.form.edit": "Edit metadata schema", - "admin.registries.metadata.form.edit": "Editar esquema de metadatos", + // "admin.registries.bitstream-formats.table.return": "Back", + "admin.registries.bitstream-formats.table.return": "Atrás", - // "admin.registries.metadata.form.name": "Name", - "admin.registries.metadata.form.name": "Nombre", + // "admin.registries.bitstream-formats.table.supportLevel.KNOWN": "Known", + "admin.registries.bitstream-formats.table.supportLevel.KNOWN": "Conocido", - // "admin.registries.metadata.form.namespace": "Namespace", - "admin.registries.metadata.form.namespace": "Espacio de nombres", + // "admin.registries.bitstream-formats.table.supportLevel.SUPPORTED": "Supported", + "admin.registries.bitstream-formats.table.supportLevel.SUPPORTED": "Soportado", - // "admin.registries.metadata.head": "Metadata Registry", - "admin.registries.metadata.head": "Registro de metadatos", + // "admin.registries.bitstream-formats.table.supportLevel.UNKNOWN": "Unknown", + "admin.registries.bitstream-formats.table.supportLevel.UNKNOWN": "Desconocido", - // "admin.registries.metadata.schemas.no-items": "No metadata schemas to show.", - "admin.registries.metadata.schemas.no-items": "No hay esquemas de metadatos para mostrar.", + // "admin.registries.bitstream-formats.table.supportLevel.head": "Support Level", + "admin.registries.bitstream-formats.table.supportLevel.head": "Nivel de soporte", - // "admin.registries.metadata.schemas.table.delete": "Delete selected", - "admin.registries.metadata.schemas.table.delete": "Eliminar seleccionado", + // "admin.registries.bitstream-formats.title": "Bitstream Format Registry", + "admin.registries.bitstream-formats.title": "Registro de formato Archivo", - // "admin.registries.metadata.schemas.table.id": "ID", - "admin.registries.metadata.schemas.table.id": "IDENTIFICACIÓN", - // "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": "Espacio de nombres", + // "admin.registries.metadata.breadcrumbs": "Metadata registry", + "admin.registries.metadata.breadcrumbs": "Registro de metadatos", - // "admin.registries.metadata.title": "Metadata Registry", - "admin.registries.metadata.title": "Registro de metadatos", + // "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 estar divididos 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.schema.breadcrumbs": "Metadata schema", - "admin.registries.schema.breadcrumbs": "Esquema de metadatos", + // "admin.registries.metadata.form.name": "Name", + "admin.registries.metadata.form.name": "Nombre", - // "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.metadata.form.namespace": "Namespace", + "admin.registries.metadata.form.namespace": "Espacio de nombres", - // "admin.registries.schema.fields.head": "Schema metadata fields", - "admin.registries.schema.fields.head": "Campos de metadatos de esquema", + // "admin.registries.metadata.head": "Metadata Registry", + "admin.registries.metadata.head": "Registro 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.metadata.schemas.no-items": "No metadata schemas to show.", + "admin.registries.metadata.schemas.no-items": "No hay esquemas de metadatos para mostrar.", - // "admin.registries.schema.fields.table.delete": "Delete selected", - "admin.registries.schema.fields.table.delete": "Eliminar seleccionado", + // "admin.registries.metadata.schemas.table.delete": "Delete selected", + "admin.registries.metadata.schemas.table.delete": "Eliminar seleccionado", - // "admin.registries.schema.fields.table.field": "Field", - "admin.registries.schema.fields.table.field": "Campo", + // "admin.registries.metadata.schemas.table.id": "ID", + "admin.registries.metadata.schemas.table.id": "IDENTIFICACIÓN", - // "admin.registries.schema.fields.table.scopenote": "Scope Note", - "admin.registries.schema.fields.table.scopenote": "Nota de alcance", + // "admin.registries.metadata.schemas.table.name": "Name", + "admin.registries.metadata.schemas.table.name": "Nombre", - // "admin.registries.schema.form.create": "Create metadata field", - "admin.registries.schema.form.create": "Crear campo de metadatos", + // "admin.registries.metadata.schemas.table.namespace": "Namespace", + "admin.registries.metadata.schemas.table.namespace": "Espacio de nombres", - // "admin.registries.schema.form.edit": "Edit metadata field", - "admin.registries.schema.form.edit": "Editar campo de metadatos", + // "admin.registries.metadata.title": "Metadata Registry", + "admin.registries.metadata.title": "Registro de metadatos", - // "admin.registries.schema.form.element": "Element", - "admin.registries.schema.form.element": "Artículo", - // "admin.registries.schema.form.qualifier": "Qualifier", - "admin.registries.schema.form.qualifier": "Calificatorio", - // "admin.registries.schema.form.scopenote": "Scope Note", - "admin.registries.schema.form.scopenote": "Nota de alcance", + // "admin.registries.schema.breadcrumbs": "Metadata schema", + "admin.registries.schema.breadcrumbs": "Esquema de metadatos", - // "admin.registries.schema.head": "Metadata Schema", - "admin.registries.schema.head": "Esquema de metadatos", + // "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.notification.created": "Successfully created metadata schema \"{{prefix}}\"", - "admin.registries.schema.notification.created": "Esquema de metadatos creado correctamente \"{{ prefix }} \"", + // "admin.registries.schema.fields.head": "Schema metadata fields", + "admin.registries.schema.fields.head": "Campos de metadatos de esquema", - // "admin.registries.schema.notification.deleted.failure": "Failed to delete {{amount}} metadata schemas", - "admin.registries.schema.notification.deleted.failure": "Error al eliminar {{ amount }} esquemas 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.notification.deleted.success": "Successfully deleted {{amount}} metadata schemas", - "admin.registries.schema.notification.deleted.success": "{{ amount }} esquemas de metadatos eliminados correctamente", + // "admin.registries.schema.fields.table.delete": "Delete selected", + "admin.registries.schema.fields.table.delete": "Eliminar seleccionado", - // "admin.registries.schema.notification.edited": "Successfully edited metadata schema \"{{prefix}}\"", - "admin.registries.schema.notification.edited": "Esquema de metadatos editado correctamente \"{{ prefix }} \"", + // "admin.registries.schema.fields.table.field": "Field", + "admin.registries.schema.fields.table.field": "Campo", - // "admin.registries.schema.notification.failure": "Error", - "admin.registries.schema.notification.failure": "Error", + // "admin.registries.schema.fields.table.scopenote": "Scope Note", + "admin.registries.schema.fields.table.scopenote": "Nota de alcance", - // "admin.registries.schema.notification.field.created": "Successfully created metadata field \"{{field}}\"", - "admin.registries.schema.notification.field.created": "Campo de metadatos creado correctamente \"{{ field }} \"", + // "admin.registries.schema.form.create": "Create metadata field", + "admin.registries.schema.form.create": "Crear campo de metadatos", - // "admin.registries.schema.notification.field.deleted.failure": "Failed to delete {{amount}} metadata fields", - "admin.registries.schema.notification.field.deleted.failure": "No se pudieron borrar los campos de metadatos de {{ amount }}", + // "admin.registries.schema.form.edit": "Edit metadata field", + "admin.registries.schema.form.edit": "Editar campo de metadatos", - // "admin.registries.schema.notification.field.deleted.success": "Successfully deleted {{amount}} metadata fields", - "admin.registries.schema.notification.field.deleted.success": "{{ amount }} campos de metadatos eliminados correctamente", + // "admin.registries.schema.form.element": "Element", + "admin.registries.schema.form.element": "Artículo", - // "admin.registries.schema.notification.field.edited": "Successfully edited metadata field \"{{field}}\"", - "admin.registries.schema.notification.field.edited": "Campo de metadatos editado correctamente \"{{ field }} \"", + // "admin.registries.schema.form.qualifier": "Qualifier", + "admin.registries.schema.form.qualifier": "Calificatorio", - // "admin.registries.schema.notification.success": "Success", - "admin.registries.schema.notification.success": "Éxito", + // "admin.registries.schema.form.scopenote": "Scope Note", + "admin.registries.schema.form.scopenote": "Nota de alcance", - // "admin.registries.schema.return": "Back", - "admin.registries.schema.return": "atrás", + // "admin.registries.schema.head": "Metadata Schema", + "admin.registries.schema.head": "Esquema de metadatos", - // "admin.registries.schema.title": "Metadata Schema Registry", - "admin.registries.schema.title": "Registro de esquemas de metadatos", + // "admin.registries.schema.notification.created": "Successfully created metadata schema \"{{prefix}}\"", + "admin.registries.schema.notification.created": "Esquema de metadatos creado correctamente \"{{ prefix }} \"", + // "admin.registries.schema.notification.deleted.failure": "Failed to delete {{amount}} metadata schemas", + "admin.registries.schema.notification.deleted.failure": "Error al eliminar {{ amount }} esquemas de metadatos", + // "admin.registries.schema.notification.deleted.success": "Successfully deleted {{amount}} metadata schemas", + "admin.registries.schema.notification.deleted.success": "{{ amount }} esquemas de metadatos eliminados correctamente", - // "admin.access-control.epeople.actions.delete": "Delete EPerson", - "admin.access-control.epeople.actions.delete": "Eliminar EPerson", + // "admin.registries.schema.notification.edited": "Successfully edited metadata schema \"{{prefix}}\"", + "admin.registries.schema.notification.edited": "Esquema de metadatos editado correctamente \"{{ prefix }} \"", - // "admin.access-control.epeople.actions.impersonate": "Impersonate EPerson", - "admin.access-control.epeople.actions.impersonate": "Hacerse pasar por EPerson", + // "admin.registries.schema.notification.failure": "Error", + "admin.registries.schema.notification.failure": "Error", - // "admin.access-control.epeople.actions.reset": "Reset password", - "admin.access-control.epeople.actions.reset": "Restablecer la contraseña", + // "admin.registries.schema.notification.field.created": "Successfully created metadata field \"{{field}}\"", + "admin.registries.schema.notification.field.created": "Campo de metadatos creado correctamente \"{{ field }} \"", - // "admin.access-control.epeople.actions.stop-impersonating": "Stop impersonating EPerson", - "admin.access-control.epeople.actions.stop-impersonating": "Deja de hacerse pasar por EPerson", + // "admin.registries.schema.notification.field.deleted.failure": "Failed to delete {{amount}} metadata fields", + "admin.registries.schema.notification.field.deleted.failure": "No se pudieron borrar los campos de metadatos de {{ amount }}", - // "admin.access-control.epeople.breadcrumbs": "EPeople", - "admin.access-control.epeople.breadcrumbs": "EPeople", + // "admin.registries.schema.notification.field.deleted.success": "Successfully deleted {{amount}} metadata fields", + "admin.registries.schema.notification.field.deleted.success": "{{ amount }} campos de metadatos eliminados correctamente", - // "admin.access-control.epeople.title": "EPeople", - "admin.access-control.epeople.title": "EPeople", + // "admin.registries.schema.notification.field.edited": "Successfully edited metadata field \"{{field}}\"", + "admin.registries.schema.notification.field.edited": "Campo de metadatos editado correctamente \"{{ field }} \"", - // "admin.access-control.epeople.head": "EPeople", - "admin.access-control.epeople.head": "EPeople", + // "admin.registries.schema.notification.success": "Success", + "admin.registries.schema.notification.success": "Éxito", - // "admin.access-control.epeople.search.head": "Search", - "admin.access-control.epeople.search.head": "Buscar", + // "admin.registries.schema.return": "Back", + "admin.registries.schema.return": "Atrás", - // "admin.access-control.epeople.button.see-all": "Browse All", - "admin.access-control.epeople.button.see-all": "Examinar todo", + // "admin.registries.schema.title": "Metadata Schema Registry", + "admin.registries.schema.title": "Registro de esquemas de metadatos", - // "admin.access-control.epeople.search.scope.metadata": "Metadata", - "admin.access-control.epeople.search.scope.metadata": "Metadatos", - // "admin.access-control.epeople.search.scope.email": "E-mail (exact)", - "admin.access-control.epeople.search.scope.email": "Correo electrónico (exacto)", - // "admin.access-control.epeople.search.button": "Search", - "admin.access-control.epeople.search.button": "Buscar", + // "admin.access-control.epeople.actions.delete": "Delete EPerson", + "admin.access-control.epeople.actions.delete": "Eliminar EPerson", - // "admin.access-control.epeople.search.placeholder": "Search people...", - "admin.access-control.epeople.search.placeholder": "Busca gente...", + // "admin.access-control.epeople.actions.impersonate": "Impersonate EPerson", + "admin.access-control.epeople.actions.impersonate": "Hacerse pasar por EPerson", - // "admin.access-control.epeople.button.add": "Add EPerson", - "admin.access-control.epeople.button.add": "Agregar una persona", + // "admin.access-control.epeople.actions.reset": "Reset password", + "admin.access-control.epeople.actions.reset": "Restablecer la contraseña", - // "admin.access-control.epeople.table.id": "ID", - "admin.access-control.epeople.table.id": "IDENTIFICACIÓN", + // "admin.access-control.epeople.actions.stop-impersonating": "Stop impersonating EPerson", + "admin.access-control.epeople.actions.stop-impersonating": "Deja de hacerse pasar por EPerson", - // "admin.access-control.epeople.table.name": "Name", - "admin.access-control.epeople.table.name": "Nombre", + // "admin.access-control.epeople.breadcrumbs": "EPeople", + "admin.access-control.epeople.breadcrumbs": "EPeople", - // "admin.access-control.epeople.table.email": "E-mail (exact)", - "admin.access-control.epeople.table.email": "Correo electrónico (exacto)", + // "admin.access-control.epeople.title": "EPeople", + "admin.access-control.epeople.title": "EPeople", - // "admin.access-control.epeople.table.edit": "Edit", - "admin.access-control.epeople.table.edit": "Editar", + // "admin.access-control.epeople.head": "EPeople", + "admin.access-control.epeople.head": "EPeople", - // "admin.access-control.epeople.table.edit.buttons.edit": "Edit \"{{name}}\"", - "admin.access-control.epeople.table.edit.buttons.edit": "Editar \"{{ name }}\"", + // "admin.access-control.epeople.search.head": "Search", + "admin.access-control.epeople.search.head": "Buscar", - // "admin.access-control.epeople.table.edit.buttons.edit-disabled": "You are not authorized to edit this group", - "admin.access-control.epeople.table.edit.buttons.edit-disabled": "No tienes autorización para editar este grupo.", + // "admin.access-control.epeople.button.see-all": "Browse All", + "admin.access-control.epeople.button.see-all": "Examinar todo", - // "admin.access-control.epeople.table.edit.buttons.remove": "Delete \"{{name}}\"", - "admin.access-control.epeople.table.edit.buttons.remove": "Eliminar \"{{ name }} \"", + // "admin.access-control.epeople.search.scope.metadata": "Metadata", + "admin.access-control.epeople.search.scope.metadata": "Metadatos", - // "admin.access-control.epeople.no-items": "No EPeople to show.", - "admin.access-control.epeople.no-items": "No hay EPeople para mostrar.", + // "admin.access-control.epeople.search.scope.email": "E-mail (exact)", + "admin.access-control.epeople.search.scope.email": "Correo electrónico (exacto)", - // "admin.access-control.epeople.form.create": "Create EPerson", - "admin.access-control.epeople.form.create": "Crear una persona", + // "admin.access-control.epeople.search.button": "Search", + "admin.access-control.epeople.search.button": "Buscar", - // "admin.access-control.epeople.form.edit": "Edit EPerson", - "admin.access-control.epeople.form.edit": "Editar EPerson", + // "admin.access-control.epeople.search.placeholder": "Search people...", + "admin.access-control.epeople.search.placeholder": "Busca gente...", - // "admin.access-control.epeople.form.firstName": "First name", - "admin.access-control.epeople.form.firstName": "Nombre de pila", + // "admin.access-control.epeople.button.add": "Add EPerson", + "admin.access-control.epeople.button.add": "Agregar una persona", - // "admin.access-control.epeople.form.lastName": "Last name", - "admin.access-control.epeople.form.lastName": "Apellido", + // "admin.access-control.epeople.table.id": "ID", + "admin.access-control.epeople.table.id": "IDENTIFICACIÓN", - // "admin.access-control.epeople.form.email": "E-mail", - "admin.access-control.epeople.form.email": "Correo electrónico", + // "admin.access-control.epeople.table.name": "Name", + "admin.access-control.epeople.table.name": "Nombre", - // "admin.access-control.epeople.form.emailHint": "Must be valid e-mail address", - "admin.access-control.epeople.form.emailHint": "Debe ser una dirección de correo electrónico válida", + // "admin.access-control.epeople.table.email": "E-mail (exact)", + "admin.access-control.epeople.table.email": "Correo electrónico (exacto)", - // "admin.access-control.epeople.form.canLogIn": "Can log in", - "admin.access-control.epeople.form.canLogIn": "Puede iniciar sesión", + // "admin.access-control.epeople.table.edit": "Edit", + "admin.access-control.epeople.table.edit": "Editar", - // "admin.access-control.epeople.form.requireCertificate": "Requires certificate", - "admin.access-control.epeople.form.requireCertificate": "Requiere certificado", + // "admin.access-control.epeople.table.edit.buttons.edit": "Edit \"{{name}}\"", + "admin.access-control.epeople.table.edit.buttons.edit": "Editar \"{{ name }}\"", - // "admin.access-control.epeople.form.return": "Back", - "admin.access-control.epeople.form.return": "atrás", + // "admin.access-control.epeople.table.edit.buttons.edit-disabled": "You are not authorized to edit this group", + "admin.access-control.epeople.table.edit.buttons.edit-disabled": "No tienes autorización para editar este grupo.", - // "admin.access-control.epeople.form.notification.created.success": "Successfully created EPerson \"{{name}}\"", - "admin.access-control.epeople.form.notification.created.success": "EPerson \"{{ name }} \" creada correctamente", + // "admin.access-control.epeople.table.edit.buttons.remove": "Delete \"{{name}}\"", + "admin.access-control.epeople.table.edit.buttons.remove": "Eliminar \"{{ name }} \"", - // "admin.access-control.epeople.form.notification.created.failure": "Failed to create EPerson \"{{name}}\"", - "admin.access-control.epeople.form.notification.created.failure": "Error al crear EPerson \"{{ name }} \"", + // "admin.access-control.epeople.no-items": "No EPeople to show.", + "admin.access-control.epeople.no-items": "No hay EPeople para mostrar.", - // "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": "Error al crear EPerson \"{{ name }}\", el correo electrónico \"{{ email }}\" ya está en uso.", + // "admin.access-control.epeople.form.create": "Create EPerson", + "admin.access-control.epeople.form.create": "Crear una persona", - // "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": "Error al editar EPerson \"{{ name }}\", el correo electrónico \"{{ email }}\" ya está en uso.", + // "admin.access-control.epeople.form.edit": "Edit EPerson", + "admin.access-control.epeople.form.edit": "Editar EPerson", - // "admin.access-control.epeople.form.notification.edited.success": "Successfully edited EPerson \"{{name}}\"", - "admin.access-control.epeople.form.notification.edited.success": "EPerson \"{{ name }} \" editado correctamente", + // "admin.access-control.epeople.form.firstName": "First name", + "admin.access-control.epeople.form.firstName": "Nombre de pila", - // "admin.access-control.epeople.form.notification.edited.failure": "Failed to edit EPerson \"{{name}}\"", - "admin.access-control.epeople.form.notification.edited.failure": "Error al editar EPerson \"{{ name }} \"", + // "admin.access-control.epeople.form.lastName": "Last name", + "admin.access-control.epeople.form.lastName": "Apellido", - // "admin.access-control.epeople.form.notification.deleted.success": "Successfully deleted EPerson \"{{name}}\"", - "admin.access-control.epeople.form.notification.deleted.success": "EPerson \"{{ name }} \" eliminada correctamente", + // "admin.access-control.epeople.form.email": "E-mail", + "admin.access-control.epeople.form.email": "Correo electrónico", - // "admin.access-control.epeople.form.notification.deleted.failure": "Failed to delete EPerson \"{{name}}\"", - "admin.access-control.epeople.form.notification.deleted.failure": "No se pudo borrar EPerson \"{{ name }} \"", + // "admin.access-control.epeople.form.emailHint": "Must be valid e-mail address", + "admin.access-control.epeople.form.emailHint": "Debe ser una dirección de correo electrónico válida", - // "admin.access-control.epeople.form.groupsEPersonIsMemberOf": "Member of these groups:", - "admin.access-control.epeople.form.groupsEPersonIsMemberOf": "Miembro de estos grupos:", + // "admin.access-control.epeople.form.canLogIn": "Can log in", + "admin.access-control.epeople.form.canLogIn": "Puede iniciar sesión", - // "admin.access-control.epeople.form.table.id": "ID", - "admin.access-control.epeople.form.table.id": "IDENTIFICACIÓN", + // "admin.access-control.epeople.form.requireCertificate": "Requires certificate", + "admin.access-control.epeople.form.requireCertificate": "Requiere certificado", - // "admin.access-control.epeople.form.table.name": "Name", - "admin.access-control.epeople.form.table.name": "Nombre", + // "admin.access-control.epeople.form.return": "Back", + "admin.access-control.epeople.form.return": "Atrás", - // "admin.access-control.epeople.form.table.collectionOrCommunity": "Collection/Community", - "admin.access-control.epeople.form.table.collectionOrCommunity": "Colección/Comunidad", + // "admin.access-control.epeople.form.notification.created.success": "Successfully created EPerson \"{{name}}\"", + "admin.access-control.epeople.form.notification.created.success": "EPerson \"{{ name }} \" creada correctamente", - // "admin.access-control.epeople.form.memberOfNoGroups": "This EPerson is not a member of any groups", - "admin.access-control.epeople.form.memberOfNoGroups": "Esta EPerson no es miembro de ningún grupo", + // "admin.access-control.epeople.form.notification.created.failure": "Failed to create EPerson \"{{name}}\"", + "admin.access-control.epeople.form.notification.created.failure": "Error al crear EPerson \"{{ name }} \"", - // "admin.access-control.epeople.form.goToGroups": "Add to groups", - "admin.access-control.epeople.form.goToGroups": "Agregar a grupos", + // "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": "Error al crear EPerson \"{{ name }}\", el correo electrónico \"{{ email }}\" ya está en uso.", - // "admin.access-control.epeople.notification.deleted.failure": "Failed to delete EPerson: \"{{name}}\"", - "admin.access-control.epeople.notification.deleted.failure": "No se pudo borrar EPerson: \"{{ name }} \"", + // "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": "Error al editar EPerson \"{{ name }}\", el correo electrónico \"{{ email }}\" ya está en uso.", - // "admin.access-control.epeople.notification.deleted.success": "Successfully deleted EPerson: \"{{name}}\"", - "admin.access-control.epeople.notification.deleted.success": "EPerson eliminada correctamente: \"{{ name }} \"", + // "admin.access-control.epeople.form.notification.edited.success": "Successfully edited EPerson \"{{name}}\"", + "admin.access-control.epeople.form.notification.edited.success": "EPerson \"{{ name }} \" editado correctamente", + // "admin.access-control.epeople.form.notification.edited.failure": "Failed to edit EPerson \"{{name}}\"", + "admin.access-control.epeople.form.notification.edited.failure": "Error al editar EPerson \"{{ name }} \"", + // "admin.access-control.epeople.form.notification.deleted.success": "Successfully deleted EPerson \"{{name}}\"", + "admin.access-control.epeople.form.notification.deleted.success": "EPerson \"{{ name }} \" eliminada correctamente", - // "admin.access-control.groups.title": "Groups", - "admin.access-control.groups.title": "Grupos", + // "admin.access-control.epeople.form.notification.deleted.failure": "Failed to delete EPerson \"{{name}}\"", + "admin.access-control.epeople.form.notification.deleted.failure": "No se pudo borrar EPerson \"{{ name }} \"", - // "admin.access-control.groups.breadcrumbs": "Groups", - "admin.access-control.groups.breadcrumbs": "Grupos", + // "admin.access-control.epeople.form.groupsEPersonIsMemberOf": "Member of these groups:", + "admin.access-control.epeople.form.groupsEPersonIsMemberOf": "Miembro de estos grupos:", - // "admin.access-control.groups.singleGroup.breadcrumbs": "Edit Group", - "admin.access-control.groups.singleGroup.breadcrumbs": "Editar grupo", + // "admin.access-control.epeople.form.table.id": "ID", + "admin.access-control.epeople.form.table.id": "IDENTIFICACIÓN", - // "admin.access-control.groups.title.singleGroup": "Edit Group", - "admin.access-control.groups.title.singleGroup": "Editar grupo", + // "admin.access-control.epeople.form.table.name": "Name", + "admin.access-control.epeople.form.table.name": "Nombre", - // "admin.access-control.groups.title.addGroup": "New Group", - "admin.access-control.groups.title.addGroup": "Nuevo grupo", + // "admin.access-control.epeople.form.table.collectionOrCommunity": "Collection/Community", + "admin.access-control.epeople.form.table.collectionOrCommunity": "Colección/Comunidad", - // "admin.access-control.groups.addGroup.breadcrumbs": "New Group", - "admin.access-control.groups.addGroup.breadcrumbs": "Nuevo grupo", + // "admin.access-control.epeople.form.memberOfNoGroups": "This EPerson is not a member of any groups", + "admin.access-control.epeople.form.memberOfNoGroups": "Esta EPerson no es miembro de ningún grupo", - // "admin.access-control.groups.head": "Groups", - "admin.access-control.groups.head": "Grupos", + // "admin.access-control.epeople.form.goToGroups": "Add to groups", + "admin.access-control.epeople.form.goToGroups": "Agregar a grupos", - // "admin.access-control.groups.button.add": "Add group", - "admin.access-control.groups.button.add": "Añadir grupo", + // "admin.access-control.epeople.notification.deleted.failure": "Failed to delete EPerson: \"{{name}}\"", + "admin.access-control.epeople.notification.deleted.failure": "No se pudo borrar EPerson: \"{{ name }} \"", - // "admin.access-control.groups.search.head": "Search groups", - "admin.access-control.groups.search.head": "Grupos de búsqueda", + // "admin.access-control.epeople.notification.deleted.success": "Successfully deleted EPerson: \"{{name}}\"", + "admin.access-control.epeople.notification.deleted.success": "EPerson eliminada correctamente: \"{{ name }} \"", - // "admin.access-control.groups.button.see-all": "Browse all", - "admin.access-control.groups.button.see-all": "Examinar todo", - // "admin.access-control.groups.search.button": "Search", - "admin.access-control.groups.search.button": "Buscar", - // "admin.access-control.groups.search.placeholder": "Search groups...", - "admin.access-control.groups.search.placeholder": "Buscar grupos...", + // "admin.access-control.groups.title": "Groups", + "admin.access-control.groups.title": "Grupos", - // "admin.access-control.groups.table.id": "ID", - "admin.access-control.groups.table.id": "IDENTIFICACIÓN", + // "admin.access-control.groups.breadcrumbs": "Groups", + "admin.access-control.groups.breadcrumbs": "Grupos", - // "admin.access-control.groups.table.name": "Name", - "admin.access-control.groups.table.name": "Nombre", + // "admin.access-control.groups.singleGroup.breadcrumbs": "Edit Group", + "admin.access-control.groups.singleGroup.breadcrumbs": "Editar grupo", - // "admin.access-control.groups.table.collectionOrCommunity": "Collection/Community", - "admin.access-control.groups.table.collectionOrCommunity": "Colección/Comunidad", + // "admin.access-control.groups.title.singleGroup": "Edit Group", + "admin.access-control.groups.title.singleGroup": "Editar grupo", - // "admin.access-control.groups.table.members": "Members", - "admin.access-control.groups.table.members": "Miembros", + // "admin.access-control.groups.title.addGroup": "New Group", + "admin.access-control.groups.title.addGroup": "Nuevo grupo", - // "admin.access-control.groups.table.edit": "Edit", - "admin.access-control.groups.table.edit": "Editar", + // "admin.access-control.groups.addGroup.breadcrumbs": "New Group", + "admin.access-control.groups.addGroup.breadcrumbs": "Nuevo grupo", - // "admin.access-control.groups.table.edit.buttons.edit": "Edit \"{{name}}\"", - "admin.access-control.groups.table.edit.buttons.edit": "Editar \"{{ name }}\"", + // "admin.access-control.groups.head": "Groups", + "admin.access-control.groups.head": "Grupos", - // "admin.access-control.groups.table.edit.buttons.remove": "Delete \"{{name}}\"", - "admin.access-control.groups.table.edit.buttons.remove": "Eliminar \"{{ name }}\"", + // "admin.access-control.groups.button.add": "Add group", + "admin.access-control.groups.button.add": "Añadir grupo", - // "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 se encontraron grupos con esto en su nombre o esto como UUID", + // "admin.access-control.groups.search.head": "Search groups", + "admin.access-control.groups.search.head": "Grupos de búsqueda", - // "admin.access-control.groups.notification.deleted.success": "Successfully deleted group \"{{name}}\"", - "admin.access-control.groups.notification.deleted.success": "El grupo \"{{ name }}\" se eliminó correctamente", + // "admin.access-control.groups.button.see-all": "Browse all", + "admin.access-control.groups.button.see-all": "Examinar todo", - // "admin.access-control.groups.notification.deleted.failure.title": "Failed to delete group \"{{name}}\"", - "admin.access-control.groups.notification.deleted.failure.title": "No se pudo borrar el grupo \"{{ name }}\"", + // "admin.access-control.groups.search.button": "Search", + "admin.access-control.groups.search.button": "Buscar", - // "admin.access-control.groups.notification.deleted.failure.content": "Cause: \"{{cause}}\"", - "admin.access-control.groups.notification.deleted.failure.content": "Causa: \"{{ cause }} \"", + // "admin.access-control.groups.search.placeholder": "Search groups...", + "admin.access-control.groups.search.placeholder": "Buscar grupos...", + // "admin.access-control.groups.table.id": "ID", + "admin.access-control.groups.table.id": "IDENTIFICACIÓN", + // "admin.access-control.groups.table.name": "Name", + "admin.access-control.groups.table.name": "Nombre", - // "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": "Este grupo es permanente, por lo que no se puede editar ni eliminar. Sin embargo, puedes añadir y eliminar miembros del grupo utilizando esta página.", + // "admin.access-control.groups.table.collectionOrCommunity": "Collection/Community", + "admin.access-control.groups.table.collectionOrCommunity": "Colección/Comunidad", - // "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": "Este grupo no puede ser modificado o eliminado porque corresponde a un rol en el proceso de presentación y flujo de trabajo en el \"{{ name }}\" {{ comcol }}. Puede eliminarlo desde la pestaña \"asignar roles\" de la página de edición del {{ comcol }}. Todavía puede añadir y eliminar miembros del grupo utilizando esta página.", + // "admin.access-control.groups.table.members": "Members", + "admin.access-control.groups.table.members": "Miembros", - // "admin.access-control.groups.form.head.create": "Create group", - "admin.access-control.groups.form.head.create": "Crea un grupo", + // "admin.access-control.groups.table.edit": "Edit", + "admin.access-control.groups.table.edit": "Editar", - // "admin.access-control.groups.form.head.edit": "Edit group", - "admin.access-control.groups.form.head.edit": "Editar grupo", + // "admin.access-control.groups.table.edit.buttons.edit": "Edit \"{{name}}\"", + "admin.access-control.groups.table.edit.buttons.edit": "Editar \"{{ name }}\"", - // "admin.access-control.groups.form.groupName": "Group name", - "admin.access-control.groups.form.groupName": "Nombre del grupo", + // "admin.access-control.groups.table.edit.buttons.remove": "Delete \"{{name}}\"", + "admin.access-control.groups.table.edit.buttons.remove": "Eliminar \"{{ name }}\"", - // "admin.access-control.groups.form.groupCommunity": "Community or Collection", - "admin.access-control.groups.form.groupCommunity": "Comunidad o Colección", + // "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 se encontraron grupos con esto en su nombre o esto como UUID", - // "admin.access-control.groups.form.groupDescription": "Description", - "admin.access-control.groups.form.groupDescription": "Descripción", + // "admin.access-control.groups.notification.deleted.success": "Successfully deleted group \"{{name}}\"", + "admin.access-control.groups.notification.deleted.success": "El grupo \"{{ name }}\" se eliminó correctamente", - // "admin.access-control.groups.form.notification.created.success": "Successfully created Group \"{{name}}\"", - "admin.access-control.groups.form.notification.created.success": "Grupo creado con éxito \"{{ name }} \"", + // "admin.access-control.groups.notification.deleted.failure.title": "Failed to delete group \"{{name}}\"", + "admin.access-control.groups.notification.deleted.failure.title": "No se pudo borrar el grupo \"{{ name }}\"", - // "admin.access-control.groups.form.notification.created.failure": "Failed to create Group \"{{name}}\"", - "admin.access-control.groups.form.notification.created.failure": "No se pudo crear el grupo \"{{ name }} \"", + // "admin.access-control.groups.notification.deleted.failure.content": "Cause: \"{{cause}}\"", + "admin.access-control.groups.notification.deleted.failure.content": "Causa: \"{{ cause }} \"", - // "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": "No se pudo crear el grupo con el nombre: \"{{ name }}\", asegúrese de que el nombre no esté en uso.", - // "admin.access-control.groups.form.notification.edited.failure": "Failed to edit Group \"{{name}}\"", - "admin.access-control.groups.form.notification.edited.failure": "No se pudo editar el grupo \"{{ name }} \"", - // "admin.access-control.groups.form.notification.edited.failure.groupNameInUse": "Name \"{{name}}\" already in use!", - "admin.access-control.groups.form.notification.edited.failure.groupNameInUse": "¡El nombre \"{{ name }} \" ya está en uso!", + // "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": "Este grupo es permanente, por lo que no se puede editar ni eliminar. Sin embargo, puedes añadir y eliminar miembros del grupo utilizando esta página.", - // "admin.access-control.groups.form.notification.edited.success": "Successfully edited Group \"{{name}}\"", - "admin.access-control.groups.form.notification.edited.success": "Grupo editado correctamente \"{{ name }} \"", + // "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": "Este grupo no puede ser modificado o eliminado porque corresponde a un rol en el proceso de presentación y flujo de trabajo en el \"{{ name }}\" {{ comcol }}. Puede eliminarlo desde la pestaña \"asignar roles\" de la página de edición del {{ comcol }}. Todavía puede añadir y eliminar miembros del grupo utilizando esta página.", - // "admin.access-control.groups.form.actions.delete": "Delete Group", - "admin.access-control.groups.form.actions.delete": "Eliminar grupo", + // "admin.access-control.groups.form.head.create": "Create group", + "admin.access-control.groups.form.head.create": "Crea un grupo", - // "admin.access-control.groups.form.delete-group.modal.header": "Delete Group \"{{ dsoName }}\"", - "admin.access-control.groups.form.delete-group.modal.header": "Eliminar grupo \"{{ dsoName }} \"", + // "admin.access-control.groups.form.head.edit": "Edit group", + "admin.access-control.groups.form.head.edit": "Editar grupo", - // "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": "¿Está seguro de que desea eliminar el grupo \"{{ dsoName }} \"?", + // "admin.access-control.groups.form.groupName": "Group name", + "admin.access-control.groups.form.groupName": "Nombre del grupo", - // "admin.access-control.groups.form.delete-group.modal.cancel": "Cancel", - "admin.access-control.groups.form.delete-group.modal.cancel": "Cancelar", + // "admin.access-control.groups.form.groupCommunity": "Community or Collection", + "admin.access-control.groups.form.groupCommunity": "Comunidad o Colección", - // "admin.access-control.groups.form.delete-group.modal.confirm": "Delete", - "admin.access-control.groups.form.delete-group.modal.confirm": "Borrar", + // "admin.access-control.groups.form.groupDescription": "Description", + "admin.access-control.groups.form.groupDescription": "Descripción", - // "admin.access-control.groups.form.notification.deleted.success": "Successfully deleted group \"{{ name }}\"", - "admin.access-control.groups.form.notification.deleted.success": "El grupo \"{{ name }} \" se eliminó correctamente", + // "admin.access-control.groups.form.notification.created.success": "Successfully created Group \"{{name}}\"", + "admin.access-control.groups.form.notification.created.success": "Grupo creado con éxito \"{{ name }} \"", - // "admin.access-control.groups.form.notification.deleted.failure.title": "Failed to delete group \"{{ name }}\"", - "admin.access-control.groups.form.notification.deleted.failure.title": "No se pudo borrar el grupo \"{{ name }} \"", + // "admin.access-control.groups.form.notification.created.failure": "Failed to create Group \"{{name}}\"", + "admin.access-control.groups.form.notification.created.failure": "No se pudo crear el grupo \"{{ name }} \"", - // "admin.access-control.groups.form.notification.deleted.failure.content": "Cause: \"{{ cause }}\"", - "admin.access-control.groups.form.notification.deleted.failure.content": "Causa: \"{{ cause }} \"", + // "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": "No se pudo crear el grupo con el nombre: \"{{ name }}\", asegúrese de que el nombre no esté en uso.", - // "admin.access-control.groups.form.members-list.head": "EPeople", - "admin.access-control.groups.form.members-list.head": "EPeople", + // "admin.access-control.groups.form.notification.edited.failure": "Failed to edit Group \"{{name}}\"", + "admin.access-control.groups.form.notification.edited.failure": "No se pudo editar el grupo \"{{ name }} \"", - // "admin.access-control.groups.form.members-list.search.head": "Add EPeople", - "admin.access-control.groups.form.members-list.search.head": "Agregar EPeople", + // "admin.access-control.groups.form.notification.edited.failure.groupNameInUse": "Name \"{{name}}\" already in use!", + "admin.access-control.groups.form.notification.edited.failure.groupNameInUse": "¡El nombre \"{{ name }} \" ya está en uso!", - // "admin.access-control.groups.form.members-list.button.see-all": "Browse All", - "admin.access-control.groups.form.members-list.button.see-all": "Examinar todo", + // "admin.access-control.groups.form.notification.edited.success": "Successfully edited Group \"{{name}}\"", + "admin.access-control.groups.form.notification.edited.success": "Grupo editado correctamente \"{{ name }} \"", - // "admin.access-control.groups.form.members-list.headMembers": "Current Members", - "admin.access-control.groups.form.members-list.headMembers": "Miembros actuales", + // "admin.access-control.groups.form.actions.delete": "Delete Group", + "admin.access-control.groups.form.actions.delete": "Eliminar grupo", - // "admin.access-control.groups.form.members-list.search.scope.metadata": "Metadata", - "admin.access-control.groups.form.members-list.search.scope.metadata": "Metadatos", + // "admin.access-control.groups.form.delete-group.modal.header": "Delete Group \"{{ dsoName }}\"", + "admin.access-control.groups.form.delete-group.modal.header": "Eliminar grupo \"{{ dsoName }} \"", - // "admin.access-control.groups.form.members-list.search.scope.email": "E-mail (exact)", - "admin.access-control.groups.form.members-list.search.scope.email": "Correo electrónico (exacto)", + // "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": "¿Está seguro de que desea eliminar el grupo \"{{ dsoName }} \"?", - // "admin.access-control.groups.form.members-list.search.button": "Search", - "admin.access-control.groups.form.members-list.search.button": "Buscar", + // "admin.access-control.groups.form.delete-group.modal.cancel": "Cancel", + "admin.access-control.groups.form.delete-group.modal.cancel": "Cancelar", - // "admin.access-control.groups.form.members-list.table.id": "ID", - "admin.access-control.groups.form.members-list.table.id": "IDENTIFICACIÓN", + // "admin.access-control.groups.form.delete-group.modal.confirm": "Delete", + "admin.access-control.groups.form.delete-group.modal.confirm": "Borrar", - // "admin.access-control.groups.form.members-list.table.name": "Name", - "admin.access-control.groups.form.members-list.table.name": "Nombre", + // "admin.access-control.groups.form.notification.deleted.success": "Successfully deleted group \"{{ name }}\"", + "admin.access-control.groups.form.notification.deleted.success": "El grupo \"{{ name }} \" se eliminó correctamente", - // "admin.access-control.groups.form.members-list.table.identity": "Identity", - "admin.access-control.groups.form.members-list.table.identity": "Identidad", + // "admin.access-control.groups.form.notification.deleted.failure.title": "Failed to delete group \"{{ name }}\"", + "admin.access-control.groups.form.notification.deleted.failure.title": "No se pudo borrar el grupo \"{{ name }} \"", - // "admin.access-control.groups.form.members-list.table.email": "Email", - "admin.access-control.groups.form.members-list.table.email": "Correo electrónico", + // "admin.access-control.groups.form.notification.deleted.failure.content": "Cause: \"{{ cause }}\"", + "admin.access-control.groups.form.notification.deleted.failure.content": "Causa: \"{{ cause }} \"", - // "admin.access-control.groups.form.members-list.table.netid": "NetID", - "admin.access-control.groups.form.members-list.table.netid": "NetID", + // "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.table.edit": "Remove / Add", - "admin.access-control.groups.form.members-list.table.edit": "Eliminar / Agregar", + // "admin.access-control.groups.form.members-list.search.head": "Add EPeople", + "admin.access-control.groups.form.members-list.search.head": "Agregar EPeople", - // "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": "Eliminar miembro con nombre \"{{ name }} \"", + // "admin.access-control.groups.form.members-list.button.see-all": "Browse All", + "admin.access-control.groups.form.members-list.button.see-all": "Examinar todo", - // "admin.access-control.groups.form.members-list.notification.success.addMember": "Successfully added member: \"{{name}}\"", - "admin.access-control.groups.form.members-list.notification.success.addMember": "Miembro agregado exitosamente: \"{{ name }} \"", + // "admin.access-control.groups.form.members-list.headMembers": "Current Members", + "admin.access-control.groups.form.members-list.headMembers": "Miembros actuales", - // "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": "No se pudo agregar el miembro: \"{{ name }} \"", + // "admin.access-control.groups.form.members-list.search.scope.metadata": "Metadata", + "admin.access-control.groups.form.members-list.search.scope.metadata": "Metadatos", - // "admin.access-control.groups.form.members-list.notification.success.deleteMember": "Successfully deleted member: \"{{name}}\"", - "admin.access-control.groups.form.members-list.notification.success.deleteMember": "Miembro eliminado correctamente: \"{{ name }} \"", + // "admin.access-control.groups.form.members-list.search.scope.email": "E-mail (exact)", + "admin.access-control.groups.form.members-list.search.scope.email": "Correo electrónico (exacto)", - // "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": "No se pudo borrar el miembro: \"{{ name }} \"", + // "admin.access-control.groups.form.members-list.search.button": "Search", + "admin.access-control.groups.form.members-list.search.button": "Buscar", - // "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": "Agregar miembro con nombre \"{{ name }} \"", + // "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.notification.failure.noActiveGroup": "No current active group, submit a name first.", - "admin.access-control.groups.form.members-list.notification.failure.noActiveGroup": "No hay un grupo activo actual, envíe un nombre primero.", + // "admin.access-control.groups.form.members-list.table.name": "Name", + "admin.access-control.groups.form.members-list.table.name": "Nombre", - // "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ún no hay miembros en el grupo, busque y agregue.", + // "admin.access-control.groups.form.members-list.table.identity": "Identity", + "admin.access-control.groups.form.members-list.table.identity": "Identidad", - // "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 se encontraron personas en esa búsqueda", + // "admin.access-control.groups.form.members-list.table.email": "Email", + "admin.access-control.groups.form.members-list.table.email": "Correo electrónico", - // "admin.access-control.groups.form.subgroups-list.notification.failure": "Something went wrong: \"{{cause}}\"", - "admin.access-control.groups.form.subgroups-list.notification.failure": "Algo salió mal: \"{{ cause }} \"", + // "admin.access-control.groups.form.members-list.table.netid": "NetID", + "admin.access-control.groups.form.members-list.table.netid": "NetID", - // "admin.access-control.groups.form.subgroups-list.head": "Groups", - "admin.access-control.groups.form.subgroups-list.head": "Grupos", + // "admin.access-control.groups.form.members-list.table.edit": "Remove / Add", + "admin.access-control.groups.form.members-list.table.edit": "Eliminar / Agregar", - // "admin.access-control.groups.form.subgroups-list.search.head": "Add Subgroup", - "admin.access-control.groups.form.subgroups-list.search.head": "Agregar subgrupo", + // "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": "Eliminar miembro con nombre \"{{ name }} \"", - // "admin.access-control.groups.form.subgroups-list.button.see-all": "Browse All", - "admin.access-control.groups.form.subgroups-list.button.see-all": "Examinar todo", + // "admin.access-control.groups.form.members-list.notification.success.addMember": "Successfully added member: \"{{name}}\"", + "admin.access-control.groups.form.members-list.notification.success.addMember": "Miembro agregado exitosamente: \"{{ name }} \"", - // "admin.access-control.groups.form.subgroups-list.headSubgroups": "Current Subgroups", - "admin.access-control.groups.form.subgroups-list.headSubgroups": "Subgrupos actuales", + // "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": "No se pudo agregar el miembro: \"{{ name }} \"", - // "admin.access-control.groups.form.subgroups-list.search.button": "Search", - "admin.access-control.groups.form.subgroups-list.search.button": "Buscar", + // "admin.access-control.groups.form.members-list.notification.success.deleteMember": "Successfully deleted member: \"{{name}}\"", + "admin.access-control.groups.form.members-list.notification.success.deleteMember": "Miembro eliminado correctamente: \"{{ name }} \"", - // "admin.access-control.groups.form.subgroups-list.table.id": "ID", - "admin.access-control.groups.form.subgroups-list.table.id": "IDENTIFICACIÓN", + // "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": "No se pudo borrar el miembro: \"{{ name }} \"", - // "admin.access-control.groups.form.subgroups-list.table.name": "Name", - "admin.access-control.groups.form.subgroups-list.table.name": "Nombre", + // "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": "Agregar miembro con nombre \"{{ name }} \"", - // "admin.access-control.groups.form.subgroups-list.table.collectionOrCommunity": "Collection/Community", - "admin.access-control.groups.form.subgroups-list.table.collectionOrCommunity": "Colección/Comunidad", + // "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 hay un grupo activo actual, envíe un nombre primero.", - // "admin.access-control.groups.form.subgroups-list.table.edit": "Remove / Add", - "admin.access-control.groups.form.subgroups-list.table.edit": "Eliminar / Agregar", + // "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ún no hay miembros en el grupo, busque y agregue.", - // "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": "Eliminar subgrupo con nombre \"{{ name }} \"", + // "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 se encontraron E-People en esa búsqueda", - // "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": "Agregar subgrupo con el nombre \"{{ name }} \"", + // "admin.access-control.groups.form.subgroups-list.notification.failure": "Something went wrong: \"{{cause}}\"", + "admin.access-control.groups.form.subgroups-list.notification.failure": "Algo salió mal: \"{{ cause }} \"", - // "admin.access-control.groups.form.subgroups-list.table.edit.currentGroup": "Current group", - "admin.access-control.groups.form.subgroups-list.table.edit.currentGroup": "Grupo actual", + // "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.notification.success.addSubgroup": "Successfully added subgroup: \"{{name}}\"", - "admin.access-control.groups.form.subgroups-list.notification.success.addSubgroup": "Subgrupo agregado exitosamente: \"{{ name }} \"", + // "admin.access-control.groups.form.subgroups-list.search.head": "Add Subgroup", + "admin.access-control.groups.form.subgroups-list.search.head": "Agregar subgrupo", - // "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": "No se pudo agregar el subgrupo: \"{{ name }} \"", + // "admin.access-control.groups.form.subgroups-list.button.see-all": "Browse All", + "admin.access-control.groups.form.subgroups-list.button.see-all": "Examinar todo", - // "admin.access-control.groups.form.subgroups-list.notification.success.deleteSubgroup": "Successfully deleted subgroup: \"{{name}}\"", - "admin.access-control.groups.form.subgroups-list.notification.success.deleteSubgroup": "Subgrupo eliminado correctamente: \"{{ name }} \"", + // "admin.access-control.groups.form.subgroups-list.headSubgroups": "Current Subgroups", + "admin.access-control.groups.form.subgroups-list.headSubgroups": "Subgrupos actuales", - // "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": "No se pudo borrar el subgrupo: \"{{ name }} \"", + // "admin.access-control.groups.form.subgroups-list.search.button": "Search", + "admin.access-control.groups.form.subgroups-list.search.button": "Buscar", - // "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 hay un grupo activo actual, envíe un nombre primero.", + // "admin.access-control.groups.form.subgroups-list.table.id": "ID", + "admin.access-control.groups.form.subgroups-list.table.id": "IDENTIFICACIÓN", - // "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": "Este es el grupo actual, no se puede agregar.", + // "admin.access-control.groups.form.subgroups-list.table.name": "Name", + "admin.access-control.groups.form.subgroups-list.table.name": "Nombre", - // "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 se encontraron grupos con esto en su nombre o esto como UUID", + // "admin.access-control.groups.form.subgroups-list.table.collectionOrCommunity": "Collection/Community", + "admin.access-control.groups.form.subgroups-list.table.collectionOrCommunity": "Colección/Comunidad", - // "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ún no hay subgrupos en el grupo.", + // "admin.access-control.groups.form.subgroups-list.table.edit": "Remove / Add", + "admin.access-control.groups.form.subgroups-list.table.edit": "Eliminar / Agregar", - // "admin.access-control.groups.form.return": "Back", - "admin.access-control.groups.form.return": "atrá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": "Eliminar subgrupo con nombre \"{{ 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": "Agregar subgrupo con el nombre \"{{ name }} \"", + // "admin.access-control.groups.form.subgroups-list.table.edit.currentGroup": "Current group", + "admin.access-control.groups.form.subgroups-list.table.edit.currentGroup": "Grupo actual", - // "admin.search.breadcrumbs": "Administrative Search", - "admin.search.breadcrumbs": "Búsqueda administrativa", + // "admin.access-control.groups.form.subgroups-list.notification.success.addSubgroup": "Successfully added subgroup: \"{{name}}\"", + "admin.access-control.groups.form.subgroups-list.notification.success.addSubgroup": "Subgrupo agregado exitosamente: \"{{ name }} \"", - // "admin.search.collection.edit": "Edit", - "admin.search.collection.edit": "Editar", + // "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": "No se pudo agregar el subgrupo: \"{{ name }} \"", - // "admin.search.community.edit": "Edit", - "admin.search.community.edit": "Editar", + // "admin.access-control.groups.form.subgroups-list.notification.success.deleteSubgroup": "Successfully deleted subgroup: \"{{name}}\"", + "admin.access-control.groups.form.subgroups-list.notification.success.deleteSubgroup": "Subgrupo eliminado correctamente: \"{{ name }} \"", - // "admin.search.item.delete": "Delete", - "admin.search.item.delete": "Borrar", + // "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": "No se pudo borrar el subgrupo: \"{{ name }} \"", - // "admin.search.item.edit": "Edit", - "admin.search.item.edit": "Editar", + // "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 hay un grupo activo actual, envíe un nombre primero.", - // "admin.search.item.make-private": "Make Private", - "admin.search.item.make-private": "Hacerlo privado", + // "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": "Este es el grupo actual, no se puede agregar.", - // "admin.search.item.make-public": "Make Public", - "admin.search.item.make-public": "Hacer público", + // "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 se encontraron grupos con esto en su nombre o esto como UUID", - // "admin.search.item.move": "Move", - "admin.search.item.move": "Moverse", + // "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ún no hay subgrupos en el grupo.", - // "admin.search.item.reinstate": "Reinstate", - "admin.search.item.reinstate": "Reintegrar", + // "admin.access-control.groups.form.return": "Back", + "admin.access-control.groups.form.return": "Atrás", - // "admin.search.item.withdraw": "Withdraw", - "admin.search.item.withdraw": "Retirar", - // "admin.search.title": "Administrative Search", - "admin.search.title": "Búsqueda administrativa", - // "administrativeView.search.results.head": "Administrative Search", - "administrativeView.search.results.head": "Búsqueda administrativa", + // "admin.search.breadcrumbs": "Administrative Search", + "admin.search.breadcrumbs": "Búsqueda administrativa", + // "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", + "admin.search.item.delete": "Borrar", - // "admin.workflow.breadcrumbs": "Administer Workflow", - "admin.workflow.breadcrumbs": "Administrar flujo de trabajo", + // "admin.search.item.edit": "Edit", + "admin.search.item.edit": "Editar", - // "admin.workflow.title": "Administer Workflow", - "admin.workflow.title": "Administrar flujo de trabajo", + // "admin.search.item.make-private": "Make non-discoverable", + "admin.search.item.make-private": "Hacerlo privado", - // "admin.workflow.item.workflow": "Workflow", - "admin.workflow.item.workflow": "Flujo de trabajo", + // "admin.search.item.make-public": "Make discoverable", + "admin.search.item.make-public": "Hacer público", - // "admin.workflow.item.delete": "Delete", - "admin.workflow.item.delete": "Borrar", + // "admin.search.item.move": "Move", + "admin.search.item.move": "Moverse", - // "admin.workflow.item.send-back": "Send back", - "admin.workflow.item.send-back": "Enviar de vuelta", + // "admin.search.item.reinstate": "Reinstate", + "admin.search.item.reinstate": "Reintegrar", + // "admin.search.item.withdraw": "Withdraw", + "admin.search.item.withdraw": "Retirar", + // "admin.search.title": "Administrative Search", + "admin.search.title": "Búsqueda administrativa", - // "admin.metadata-import.breadcrumbs": "Import Metadata", - "admin.metadata-import.breadcrumbs": "Importar metadatos", + // "administrativeView.search.results.head": "Administrative Search", + "administrativeView.search.results.head": "Búsqueda administrativa", - // "admin.metadata-import.title": "Import Metadata", - "admin.metadata-import.title": "Importar metadatos", - // "admin.metadata-import.page.header": "Import Metadata", - "admin.metadata-import.page.header": "Importar metadatos", - // "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": "Puede soltar o explorar archivos CSV que contienen operaciones de metadatos por lotes en archivos aquí", - // "admin.metadata-import.page.dropMsg": "Drop a metadata CSV to import", - "admin.metadata-import.page.dropMsg": "Suelta un CSV de metadatos para importar", + // "admin.workflow.breadcrumbs": "Administer Workflow", + "admin.workflow.breadcrumbs": "Administrar flujo de trabajo", - // "admin.metadata-import.page.dropMsgReplace": "Drop to replace the metadata CSV to import", - "admin.metadata-import.page.dropMsgReplace": "Suelta para reemplazar el CSV de metadatos para importar", + // "admin.workflow.title": "Administer Workflow", + "admin.workflow.title": "Administrar flujo de trabajo", - // "admin.metadata-import.page.button.return": "Back", - "admin.metadata-import.page.button.return": "atrás", + // "admin.workflow.item.workflow": "Workflow", + "admin.workflow.item.workflow": "Flujo de trabajo", - // "admin.metadata-import.page.button.proceed": "Proceed", - "admin.metadata-import.page.button.proceed": "Continuar", + // "admin.workflow.item.delete": "Delete", + "admin.workflow.item.delete": "Borrar", - // "admin.metadata-import.page.error.addFile": "Select file first!", - "admin.metadata-import.page.error.addFile": "¡Seleccione el archivo primero!", + // "admin.workflow.item.send-back": "Send back", + "admin.workflow.item.send-back": "Enviar de vuelta", + // "admin.metadata-import.breadcrumbs": "Import Metadata", + "admin.metadata-import.breadcrumbs": "Importar metadatos", - // "auth.errors.invalid-user": "Invalid email address or password.", - "auth.errors.invalid-user": "Dirección de correo electrónico o contraseña no válidos.", + // "admin.metadata-import.title": "Import Metadata", + "admin.metadata-import.title": "Importar metadatos", - // "auth.messages.expired": "Your session has expired. Please log in again.", - "auth.messages.expired": "Su sesión ha caducado. Inicie sesión de nuevo.", + // "admin.metadata-import.page.header": "Import Metadata", + "admin.metadata-import.page.header": "Importar metadatos", - // "auth.messages.token-refresh-failed": "Refreshing your session token failed. Please log in again.", - "auth.messages.token-refresh-failed": "No se pudo actualizar el token de la sesión. Inicie sesión de nuevo.", + // "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": "Puede soltar o explorar archivos CSV que contienen operaciones de metadatos por lotes en archivos aquí", + // "admin.metadata-import.page.dropMsg": "Drop a metadata CSV to import", + "admin.metadata-import.page.dropMsg": "Suelta un CSV de metadatos para importar", + // "admin.metadata-import.page.dropMsgReplace": "Drop to replace the metadata CSV to import", + "admin.metadata-import.page.dropMsgReplace": "Suelta para reemplazar el CSV de metadatos para importar", - // "bitstream.download.page": "Now downloading {{bitstream}}..." , - "bitstream.download.page": "Descargando {{ bitstream }}...", + // "admin.metadata-import.page.button.return": "Back", + "admin.metadata-import.page.button.return": "Atrás", + // "admin.metadata-import.page.button.proceed": "Proceed", + "admin.metadata-import.page.button.proceed": "Continuar", + // "admin.metadata-import.page.error.addFile": "Select file first!", + "admin.metadata-import.page.error.addFile": "¡Seleccione el archivo primero!", - // "bitstream.edit.authorizations.link": "Edit bitstream's Policies", - "bitstream.edit.authorizations.link": "Editar las políticas de archivo", + // "admin.metadata-import.page.validateOnly": "Validate Only", + "admin.metadata-import.page.validateOnly": "Solo Validar", - // "bitstream.edit.authorizations.title": "Edit bitstream's Policies", - "bitstream.edit.authorizations.title": "Editar las políticas de archivo", + // "admin.metadata-import.page.validateOnly.hint": "When selected, the uploaded CSV will be validated. You will receive a report of detected changes, but no changes will be saved.", + "admin.metadata-import.page.validateOnly.hint": "Al seleccionar, se validará el CSV subido. Recibirá un informe con los cambios detectados, pero no se efectuarán dichos cambios.", - // "bitstream.edit.return": "Back", - "bitstream.edit.return": "atrás", - // "bitstream.edit.bitstream": "Bitstream: ", - "bitstream.edit.bitstream": "Archivo:", - // "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": "Opcionalmente, proporcione una breve descripción del archivo, por ejemplo \"Artículo principal\" o \"Lecturas de datos del experimento\".", - // "bitstream.edit.form.description.label": "Description", - "bitstream.edit.form.description.label": "Descripción", + // "auth.errors.invalid-user": "Invalid email address or password.", + "auth.errors.invalid-user": "Dirección de correo electrónico o contraseña no válidos.", - // "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": "El primer día a partir del cual se permite el acceso. Esta fecha no se puede modificar en este formulario. Para establecer una fecha de embargo para un archivo, vaya a la pestaña Estado del artículo , haga clic en Autorizaciones... , cree o edite la política READ del archivo y configure la Fecha de inicio como desee.", + // "auth.messages.expired": "Your session has expired. Please log in again.", + "auth.messages.expired": "Su sesión ha caducado. Inicie sesión de nuevo.", - // "bitstream.edit.form.embargo.label": "Embargo until specific date", - "bitstream.edit.form.embargo.label": "Embargo hasta fecha concreta", + // "auth.messages.token-refresh-failed": "Refreshing your session token failed. Please log in again.", + "auth.messages.token-refresh-failed": "No se pudo actualizar el token de la sesión. Inicie sesión de nuevo.", - // "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": "Cambie el nombre de archivo del archivo. Tenga en cuenta que esto cambiará la URL de archivo de visualización, pero los enlaces antiguos seguirán resolviéndose siempre que la ID de secuencia no cambie.", - // "bitstream.edit.form.fileName.label": "Filename", - "bitstream.edit.form.fileName.label": "Nombre del archivo", - // "bitstream.edit.form.newFormat.label": "Describe new format", - "bitstream.edit.form.newFormat.label": "Describe el nuevo formato", + // "bitstream.download.page": "Now downloading {{bitstream}}..." , + "bitstream.download.page": "Descargando {{ bitstream }}...", - // "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": "La aplicación que usó para crear el archivo y el número de versión (por ejemplo, \" ACMESoft SuperApp versión 1.5 \").", + // "bitstream.download.page.back": "Back" , + "bitstream.download.page.back": "Atrás" , - // "bitstream.edit.form.primaryBitstream.label": "Primary bitstream", - "bitstream.edit.form.primaryBitstream.label": "archivo primario", - // "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": "Si el formato no está en la lista anterior, seleccione \"el formato no está en la lista \" arriba y descríbalo en \"Describir el nuevo formato \".", + // "bitstream.edit.authorizations.link": "Edit bitstream's Policies", + "bitstream.edit.authorizations.link": "Editar las políticas de archivo", - // "bitstream.edit.form.selectedFormat.label": "Selected Format", - "bitstream.edit.form.selectedFormat.label": "Formato seleccionado", + // "bitstream.edit.authorizations.title": "Edit bitstream's Policies", + "bitstream.edit.authorizations.title": "Editar las políticas de archivo", - // "bitstream.edit.form.selectedFormat.unknown": "Format not in list", - "bitstream.edit.form.selectedFormat.unknown": "El formato no está en la lista", + // "bitstream.edit.return": "Back", + "bitstream.edit.return": "Atrás", - // "bitstream.edit.notifications.error.format.title": "An error occurred saving the bitstream's format", - "bitstream.edit.notifications.error.format.title": "Se produjo un error al guardar el formato del archivo.", + // "bitstream.edit.bitstream": "Bitstream: ", + "bitstream.edit.bitstream": "Archivo:", - // "bitstream.edit.notifications.saved.content": "Your changes to this bitstream were saved.", - "bitstream.edit.notifications.saved.content": "Se guardaron sus cambios en este archivo.", + // "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": "Opcionalmente, proporcione una breve descripción del archivo, por ejemplo \"Artículo principal\" o \"Lecturas de datos del experimento\".", - // "bitstream.edit.notifications.saved.title": "Bitstream saved", - "bitstream.edit.notifications.saved.title": "Archivo guardado", + // "bitstream.edit.form.description.label": "Description", + "bitstream.edit.form.description.label": "Descripción", - // "bitstream.edit.title": "Edit bitstream", - "bitstream.edit.title": "Editar archivo", + // "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": "El primer día a partir del cual se permite el acceso. Esta fecha no se puede modificar en este formulario. Para establecer una fecha de embargo para un archivo, vaya a la pestaña Estado del artículo , haga clic en Autorizaciones... , cree o edite la política READ del archivo y configure la Fecha de inicio como desee.", + // "bitstream.edit.form.embargo.label": "Embargo until specific date", + "bitstream.edit.form.embargo.label": "Embargo hasta fecha concreta", + // "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": "Cambie el nombre de archivo del archivo. Tenga en cuenta que esto cambiará la URL de archivo de visualización, pero los enlaces antiguos seguirán resolviéndose siempre que la ID de secuencia no cambie.", - // "browse.comcol.by.author": "By Author", - "browse.comcol.by.author": "Por autor", + // "bitstream.edit.form.fileName.label": "Filename", + "bitstream.edit.form.fileName.label": "Nombre del archivo", - // "browse.comcol.by.dateissued": "By Issue Date", - "browse.comcol.by.dateissued": "Por fecha de emisión", + // "bitstream.edit.form.newFormat.label": "Describe new format", + "bitstream.edit.form.newFormat.label": "Describe el nuevo formato", - // "browse.comcol.by.subject": "By Subject", - "browse.comcol.by.subject": "Por tema", + // "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": "La aplicación que usó para crear el archivo y el número de versión (por ejemplo, \" ACMESoft SuperApp versión 1.5 \").", - // "browse.comcol.by.title": "By Title", - "browse.comcol.by.title": "Por titulo", + // "bitstream.edit.form.primaryBitstream.label": "Primary bitstream", + "bitstream.edit.form.primaryBitstream.label": "archivo primario", - // "browse.comcol.head": "Browse", - "browse.comcol.head": "Examinar", + // "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": "Si el formato no está en la lista anterior, seleccione \"el formato no está en la lista \" arriba y descríbalo en \"Describir el nuevo formato \".", - // "browse.empty": "No items to show.", - "browse.empty": "No hay artículos para mostrar.", + // "bitstream.edit.form.selectedFormat.label": "Selected Format", + "bitstream.edit.form.selectedFormat.label": "Formato seleccionado", - // "browse.metadata.author": "Author", - "browse.metadata.author": "Autor", + // "bitstream.edit.form.selectedFormat.unknown": "Format not in list", + "bitstream.edit.form.selectedFormat.unknown": "El formato no está en la lista", - // "browse.metadata.dateissued": "Issue Date", - "browse.metadata.dateissued": "Fecha de asunto", + // "bitstream.edit.notifications.error.format.title": "An error occurred saving the bitstream's format", + "bitstream.edit.notifications.error.format.title": "Se produjo un error al guardar el formato del archivo.", - // "browse.metadata.subject": "Subject", - "browse.metadata.subject": "Tema", + // "bitstream.edit.form.iiifLabel.label": "IIIF Label", + "bitstream.edit.form.iiifLabel.label": "Etiqueta IIIF", - // "browse.metadata.title": "Title", - "browse.metadata.title": "Título", + // "bitstream.edit.form.iiifLabel.hint": "Canvas label for this image. If not provided default label will be used.", + "bitstream.edit.form.iiifLabel.hint": "Canvas label for this image. If not provided default label will be used.", - // "browse.metadata.author.breadcrumbs": "Browse by Author", - "browse.metadata.author.breadcrumbs": "Buscar por autor", + // "bitstream.edit.form.iiifToc.label": "IIIF Table of Contents", + "bitstream.edit.form.iiifToc.label": "Índice del IIIF", - // "browse.metadata.dateissued.breadcrumbs": "Browse by Date", - "browse.metadata.dateissued.breadcrumbs": "Examinar por fecha", + // "bitstream.edit.form.iiifToc.hint": "Adding text here makes this the start of a new table of contents range.", + "bitstream.edit.form.iiifToc.hint": "Añadir texto aquí origina un nuevo comienzo del índice.", - // "browse.metadata.subject.breadcrumbs": "Browse by Subject", - "browse.metadata.subject.breadcrumbs": "Examinar por tema", + // "bitstream.edit.form.iiifWidth.label": "IIIF Canvas Width", + "bitstream.edit.form.iiifWidth.label": "Anchura del marco IIIF", - // "browse.metadata.title.breadcrumbs": "Browse by Title", - "browse.metadata.title.breadcrumbs": "Examinar por título", + // "bitstream.edit.form.iiifWidth.hint": "The canvas width should usually match the image width.", + "bitstream.edit.form.iiifWidth.hint": "La anchura del marco normalmente debería coincidir con la anchura de la imagen.", - // "browse.next.button": "Next", - "browse.next.button": "próximo", + // "bitstream.edit.form.iiifHeight.label": "IIIF Canvas Height", + "bitstream.edit.form.iiifHeight.label": "Altura del marco IIIF", - // "browse.previous.button": "Previous", - "browse.previous.button": "Anterior", + // "bitstream.edit.form.iiifHeight.hint": "The canvas height should usually match the image height.", + "bitstream.edit.form.iiifHeight.hint": "La altura del marco normalmente debería coincidir con la altura de la imagen", - // "browse.startsWith.choose_start": "(Choose start)", - "browse.startsWith.choose_start": "(Elija inicio)", - // "browse.startsWith.choose_year": "(Choose year)", - "browse.startsWith.choose_year": "(Elegir año)", + // "bitstream.edit.notifications.saved.content": "Your changes to this bitstream were saved.", + "bitstream.edit.notifications.saved.content": "Se guardaron sus cambios en este archivo.", - // "browse.startsWith.choose_year.label": "Choose the issue year", - "browse.startsWith.choose_year.label": "Elija el año de emisión", + // "bitstream.edit.notifications.saved.title": "Bitstream saved", + "bitstream.edit.notifications.saved.title": "Archivo guardado", - // "browse.startsWith.jump": "Jump to a point in the index:", - "browse.startsWith.jump": "Saltar a un punto del índice:", + // "bitstream.edit.title": "Edit bitstream", + "bitstream.edit.title": "Editar archivo", - // "browse.startsWith.months.april": "April", - "browse.startsWith.months.april": "abril", + // "bitstream-request-a-copy.alert.canDownload1": "You already have access to this file. If you want to download the file, click ", + "bitstream-request-a-copy.alert.canDownload1": "Ya tiene acceso al fichero, si quiere descargarlo pulse ", - // "browse.startsWith.months.august": "August", - "browse.startsWith.months.august": "agosto", + // "bitstream-request-a-copy.alert.canDownload2": "here", + "bitstream-request-a-copy.alert.canDownload2": "aquí", - // "browse.startsWith.months.december": "December", - "browse.startsWith.months.december": "diciembre", + // "bitstream-request-a-copy.header": "Request a copy of the file", + "bitstream-request-a-copy.header": "Solicitar una copia del fichero", - // "browse.startsWith.months.february": "February", - "browse.startsWith.months.february": "febrero", + // "bitstream-request-a-copy.intro": "Enter the following information to request a copy for the following item: ", + "bitstream-request-a-copy.intro": "Introduzca la siguiente información para solicitar una copia del siguiente ítem: ", - // "browse.startsWith.months.january": "January", - "browse.startsWith.months.january": "enero", + // "bitstream-request-a-copy.intro.bitstream.one": "Requesting the following file: ", + "bitstream-request-a-copy.intro.bitstream.one": "Solicitando el fichero siguiente: ", + + // "bitstream-request-a-copy.intro.bitstream.all": "Requesting all files. ", + "bitstream-request-a-copy.intro.bitstream.all": "Solicitando todos los ficheros. ", - // "browse.startsWith.months.july": "July", - "browse.startsWith.months.july": "julio", + // "bitstream-request-a-copy.name.label": "Name *", + "bitstream-request-a-copy.name.label": "Nombre *", - // "browse.startsWith.months.june": "June", - "browse.startsWith.months.june": "junio", + // "bitstream-request-a-copy.name.error": "The name is required", + "bitstream-request-a-copy.name.error": "Se requiere un Nombre", - // "browse.startsWith.months.march": "March", - "browse.startsWith.months.march": "marcha", + // "bitstream-request-a-copy.email.label": "Your e-mail address *", + "bitstream-request-a-copy.email.label": "Su dirección de correo electrónico *", - // "browse.startsWith.months.may": "May", - "browse.startsWith.months.may": "Mayo", + // "bitstream-request-a-copy.email.hint": "This email address is used for sending the file.", + "bitstream-request-a-copy.email.hint": "Se enviará el fichero a esta dirección de correo electrónico.", - // "browse.startsWith.months.none": "(Choose month)", - "browse.startsWith.months.none": "(Elija mes)", + // "bitstream-request-a-copy.email.error": "Please enter a valid email address.", + "bitstream-request-a-copy.email.error": "Por favor, introduzca una dirección de correo electrónico válida.", - // "browse.startsWith.months.none.label": "Choose the issue month", - "browse.startsWith.months.none.label": "Elija el mes de emisión", + // "bitstream-request-a-copy.allfiles.label": "Files", + "bitstream-request-a-copy.allfiles.label": "Ficheros", - // "browse.startsWith.months.november": "November", - "browse.startsWith.months.november": "noviembre", + // "bitstream-request-a-copy.files-all-false.label": "Only the requested file", + "bitstream-request-a-copy.files-all-false.label": "Solo el fichero indicado", - // "browse.startsWith.months.october": "October", - "browse.startsWith.months.october": "octubre", + // "bitstream-request-a-copy.files-all-true.label": "All files (of this item) in restricted access", + "bitstream-request-a-copy.files-all-true.label": "Todos los ficheros (de este ítem) en acceso restringido", - // "browse.startsWith.months.september": "September", - "browse.startsWith.months.september": "septiembre", + // "bitstream-request-a-copy.message.label": "Message", + "bitstream-request-a-copy.message.label": "Mensaje", - // "browse.startsWith.submit": "Browse", - "browse.startsWith.submit": "Examinar", + // "bitstream-request-a-copy.return": "Back", + "bitstream-request-a-copy.return": "Atrás", - // "browse.startsWith.type_date": "Or type in a date (year-month) and click 'Browse'", - "browse.startsWith.type_date": "O escriba una fecha (año-mes) y haga clic en 'Examinar'", + // "bitstream-request-a-copy.submit": "Request copy", + "bitstream-request-a-copy.submit": "Solicitar copia", - // "browse.startsWith.type_date.label": "Or type in a date (year-month) and click on the Browse button", - "browse.startsWith.type_date.label": "O escriba una fecha (año-mes) y haga clic en el botón Examinar", + // "bitstream-request-a-copy.submit.success": "The item request was submitted successfully.", + "bitstream-request-a-copy.submit.success": "La solicitud de ítem se ha enviado.", - // "browse.startsWith.type_text": "Type the first few letters and click on the Browse button", - "browse.startsWith.type_text": "Escriba las primeras letras y haga clic en el botón Examinar", + // "bitstream-request-a-copy.submit.error": "Something went wrong with submitting the item request.", + "bitstream-request-a-copy.submit.error": "Hubo un fallo en el envío de la solicitud de ítem.", - // "browse.title": "Browsing {{ collection }} by {{ field }} {{ value }}", - "browse.title": "Examinando {{ collection }} por {{ field }} {{ value }}", + // "browse.back.all-results": "All browse results", + "browse.back.all-results": "Todos los resultados de la búsqueda", - // "chips.remove": "Remove chip", - "chips.remove": "Quitar chip", + // "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 emisión", + // "browse.comcol.by.subject": "By Subject", + "browse.comcol.by.subject": "Por materia", - // "collection.create.head": "Create a Collection", - "collection.create.head": "Crear una colección", + // "browse.comcol.by.title": "By Title", + "browse.comcol.by.title": "Por titulo", - // "collection.create.notifications.success": "Successfully created the Collection", - "collection.create.notifications.success": "Creó con éxito la colección", + // "browse.comcol.head": "Browse", + "browse.comcol.head": "Examinar", - // "collection.create.sub-head": "Create a Collection for Community {{ parent }}", - "collection.create.sub-head": "Crea una colección para la comunidad {{ parent }}", + // "browse.empty": "No items to show.", + "browse.empty": "No hay ítems para mostrar.", - // "collection.curate.header": "Curate Collection: {{collection}}", - "collection.curate.header": "Colección seleccionada: {{ collection }}", + // "browse.metadata.author": "Author", + "browse.metadata.author": "Autor", - // "collection.delete.cancel": "Cancel", - "collection.delete.cancel": "Cancelar", + // "browse.metadata.dateissued": "Issue Date", + "browse.metadata.dateissued": "Fecha de publicación", - // "collection.delete.confirm": "Confirm", - "collection.delete.confirm": "Confirmar", + // "browse.metadata.subject": "Subject", + "browse.metadata.subject": "Materia", - // "collection.delete.processing": "Deleting", - "collection.delete.processing": "Eliminando", + // "browse.metadata.title": "Title", + "browse.metadata.title": "Título", - // "collection.delete.head": "Delete Collection", - "collection.delete.head": "Eliminar colección", + // "browse.metadata.author.breadcrumbs": "Browse by Author", + "browse.metadata.author.breadcrumbs": "Buscar por autor", - // "collection.delete.notification.fail": "Collection could not be deleted", - "collection.delete.notification.fail": "No se pudo borrar la colección", + // "browse.metadata.dateissued.breadcrumbs": "Browse by Date", + "browse.metadata.dateissued.breadcrumbs": "Examinar por fecha", - // "collection.delete.notification.success": "Successfully deleted collection", - "collection.delete.notification.success": "Colección eliminada correctamente", + // "browse.metadata.subject.breadcrumbs": "Browse by Subject", + "browse.metadata.subject.breadcrumbs": "Examinar por materia", - // "collection.delete.text": "Are you sure you want to delete collection \"{{ dso }}\"", - "collection.delete.text": "¿Estás seguro de que quieres eliminar la colección \"{{ dso }} \"?", + // "browse.metadata.title.breadcrumbs": "Browse by Title", + "browse.metadata.title.breadcrumbs": "Examinar por título", + // "pagination.next.button": "Next", + "pagination.next.button": "Siguiente", + // "pagination.previous.button": "Previous", + "pagination.previous.button": "Anterior", - // "collection.edit.delete": "Delete this collection", - "collection.edit.delete": "Eliminar esta colección", + // "pagination.next.button.disabled.tooltip": "No more pages of results", + "pagination.next.button.disabled.tooltip": "No hay mas páginas de resultados", - // "collection.edit.head": "Edit Collection", - "collection.edit.head": "Editar colección", + // "browse.startsWith": ", starting with {{ startsWith }}", + "browse.startsWith": ", comenzando por {{ startsWith }}", - // "collection.edit.breadcrumbs": "Edit Collection", - "collection.edit.breadcrumbs": "Editar colección", + // "browse.startsWith.choose_start": "(Choose start)", + "browse.startsWith.choose_start": "(Elija inicio)", + // "browse.startsWith.choose_year": "(Choose year)", + "browse.startsWith.choose_year": "(Elegir año)", + // "browse.startsWith.choose_year.label": "Choose the issue year", + "browse.startsWith.choose_year.label": "Elija el año de publicación", - // "collection.edit.tabs.mapper.head": "Item Mapper", - "collection.edit.tabs.mapper.head": "Asignador de artículos", + // "browse.startsWith.jump": "Filter results by year or month", + "browse.startsWith.jump": "Filtrar resultado spor año o por mes:", - // "collection.edit.tabs.item-mapper.title": "Collection Edit - Item Mapper", - "collection.edit.tabs.item-mapper.title": "Edición de colección: mapeador de artículos", + // "browse.startsWith.months.april": "April", + "browse.startsWith.months.april": "abril", - // "collection.edit.item-mapper.cancel": "Cancel", - "collection.edit.item-mapper.cancel": "Cancelar", + // "browse.startsWith.months.august": "August", + "browse.startsWith.months.august": "agosto", - // "collection.edit.item-mapper.collection": "Collection: \"{{name}}\"", - "collection.edit.item-mapper.collection": "Colección: \"{{ name }}\"", + // "browse.startsWith.months.december": "December", + "browse.startsWith.months.december": "diciembre", - // "collection.edit.item-mapper.confirm": "Map selected items", - "collection.edit.item-mapper.confirm": "Asignar artículos seleccionados", + // "browse.startsWith.months.february": "February", + "browse.startsWith.months.february": "febrero", - // "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 artículos que permite a los administradores de colecciones asignar artículos de otras colecciones a esta colección. Puede buscar artículos de otras colecciones y mapearlos, o explorar la lista de artículos mapeados actualmente.", + // "browse.startsWith.months.january": "January", + "browse.startsWith.months.january": "enero", - // "collection.edit.item-mapper.head": "Item Mapper - Map Items from Other Collections", - "collection.edit.item-mapper.head": "Asignador de artículos: asigna artículos de otras colecciones", + // "browse.startsWith.months.july": "July", + "browse.startsWith.months.july": "julio", - // "collection.edit.item-mapper.no-search": "Please enter a query to search", - "collection.edit.item-mapper.no-search": "Ingrese una consulta para buscar", + // "browse.startsWith.months.june": "June", + "browse.startsWith.months.june": "junio", - // "collection.edit.item-mapper.notifications.map.error.content": "Errors occurred for mapping of {{amount}} items.", - "collection.edit.item-mapper.notifications.map.error.content": "Se produjeron errores en la asignación de {{ amount }} artículos.", + // "browse.startsWith.months.march": "March", + "browse.startsWith.months.march": "marzo", - // "collection.edit.item-mapper.notifications.map.error.head": "Mapping errors", - "collection.edit.item-mapper.notifications.map.error.head": "Errores de mapeo", + // "browse.startsWith.months.may": "May", + "browse.startsWith.months.may": "mayo", - // "collection.edit.item-mapper.notifications.map.success.content": "Successfully mapped {{amount}} items.", - "collection.edit.item-mapper.notifications.map.success.content": "{{ amount }} artículos asignados correctamente.", + // "browse.startsWith.months.none": "(Choose month)", + "browse.startsWith.months.none": "(Elija mes)", - // "collection.edit.item-mapper.notifications.map.success.head": "Mapping completed", - "collection.edit.item-mapper.notifications.map.success.head": "Mapeo completado", + // "browse.startsWith.months.none.label": "Choose the issue month", + "browse.startsWith.months.none.label": "Elija el mes de publicación", - // "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": "Se produjeron errores al eliminar las asignaciones de {{ amount }} artículos.", + // "browse.startsWith.months.november": "November", + "browse.startsWith.months.november": "noviembre", - // "collection.edit.item-mapper.notifications.unmap.error.head": "Remove mapping errors", - "collection.edit.item-mapper.notifications.unmap.error.head": "Eliminar errores de mapeo", + // "browse.startsWith.months.october": "October", + "browse.startsWith.months.october": "octubre", - // "collection.edit.item-mapper.notifications.unmap.success.content": "Successfully removed the mappings of {{amount}} items.", - "collection.edit.item-mapper.notifications.unmap.success.content": "Se eliminaron correctamente las asignaciones de {{ amount }} artículos.", + // "browse.startsWith.months.september": "September", + "browse.startsWith.months.september": "septiembre", - // "collection.edit.item-mapper.notifications.unmap.success.head": "Remove mapping completed", - "collection.edit.item-mapper.notifications.unmap.success.head": "Eliminar mapeo completado", + // "browse.startsWith.submit": "Browse", + "browse.startsWith.submit": "Examinar", - // "collection.edit.item-mapper.remove": "Remove selected item mappings", - "collection.edit.item-mapper.remove": "Eliminar asignaciones de artículos seleccionados", + // "browse.startsWith.type_date": "Filter results by date", + "browse.startsWith.type_date": "Resultados por fecha", - // "collection.edit.item-mapper.search-form.placeholder": "Search items...", - "collection.edit.item-mapper.search-form.placeholder": "Buscar artículos...", + // "browse.startsWith.type_date.label": "Or type in a date (year-month) and click on the Browse button", + "browse.startsWith.type_date.label": "O escriba una fecha (año-mes) y haga clic en el botón Examinar", - // "collection.edit.item-mapper.tabs.browse": "Browse mapped items", - "collection.edit.item-mapper.tabs.browse": "Examinar artículos mapeados", + // "browse.startsWith.type_text": "Filter results by typing the first few letters", + "browse.startsWith.type_text": "Seleccione resultados tecleando las primeras letras", - // "collection.edit.item-mapper.tabs.map": "Map new items", - "collection.edit.item-mapper.tabs.map": "Asignar nuevos artículos", + // "browse.title": "Browsing {{ collection }} by {{ field }}{{ startsWith }} {{ value }}", + "browse.title": "Examinando {{ collection }} por {{ field }} {{ value }}", + // "browse.title.page": "Browsing {{ collection }} by {{ field }} {{ value }}", + "browse.title.page": "Examinando {{ collection }}porby {{ field }} {{ value }}", - // "collection.edit.logo.delete.title": "Delete logo", - "collection.edit.logo.delete.title": "Eliminar logo", - // "collection.edit.logo.delete-undo.title": "Undo delete", - "collection.edit.logo.delete-undo.title": "Deshacer eliminación", + // "chips.remove": "Remove chip", + "chips.remove": "Quitar chip", - // "collection.edit.logo.label": "Collection logo", - "collection.edit.logo.label": "Logotipo de la colección", - // "collection.edit.logo.notifications.add.error": "Uploading Collection logo failed. Please verify the content before retrying.", - "collection.edit.logo.notifications.add.error": "Error al cargar el logotipo de la colección. Verifique el contenido antes de volver a intentarlo.", - // "collection.edit.logo.notifications.add.success": "Upload Collection logo successful.", - "collection.edit.logo.notifications.add.success": "Subir el logotipo de la colección correctamente.", + // "collection.create.head": "Create a Collection", + "collection.create.head": "Crear una colección", - // "collection.edit.logo.notifications.delete.success.title": "Logo deleted", - "collection.edit.logo.notifications.delete.success.title": "Logotipo eliminado", + // "collection.create.notifications.success": "Successfully created the Collection", + "collection.create.notifications.success": "Colección creada con éxito", - // "collection.edit.logo.notifications.delete.success.content": "Successfully deleted the collection's logo", - "collection.edit.logo.notifications.delete.success.content": "Se eliminó correctamente el logotipo de la colección.", + // "collection.create.sub-head": "Create a Collection for Community {{ parent }}", + "collection.create.sub-head": "Crea una colección para la comunidad {{ parent }}", - // "collection.edit.logo.notifications.delete.error.title": "Error deleting logo", - "collection.edit.logo.notifications.delete.error.title": "Error al eliminar el logotipo", + // "collection.curate.header": "Curate Collection: {{collection}}", + "collection.curate.header": "Colección seleccionada: {{ collection }}", - // "collection.edit.logo.upload": "Drop a Collection Logo to upload", - "collection.edit.logo.upload": "Suelta un logotipo de colección para cargar", + // "collection.delete.cancel": "Cancel", + "collection.delete.cancel": "Cancelar", + // "collection.delete.confirm": "Confirm", + "collection.delete.confirm": "Confirmar", + // "collection.delete.processing": "Deleting", + "collection.delete.processing": "Eliminando", - // "collection.edit.notifications.success": "Successfully edited the Collection", - "collection.edit.notifications.success": "Editó con éxito la colección", + // "collection.delete.head": "Delete Collection", + "collection.delete.head": "Eliminar colección", - // "collection.edit.return": "Back", - "collection.edit.return": "atrás", + // "collection.delete.notification.fail": "Collection could not be deleted", + "collection.delete.notification.fail": "No se pudo borrar la colección", + // "collection.delete.notification.success": "Successfully deleted collection", + "collection.delete.notification.success": "Colección eliminada correctamente", + // "collection.delete.text": "Are you sure you want to delete collection \"{{ dso }}\"", + "collection.delete.text": "¿Estás seguro de que quieres eliminar la colección \"{{ dso }} \"?", - // "collection.edit.tabs.curate.head": "Curate", - "collection.edit.tabs.curate.head": "Cura", - // "collection.edit.tabs.curate.title": "Collection Edit - Curate", - "collection.edit.tabs.curate.title": "Edición de colección - Curate", - // "collection.edit.tabs.authorizations.head": "Authorizations", - "collection.edit.tabs.authorizations.head": "Autorizaciones", + // "collection.edit.delete": "Delete this collection", + "collection.edit.delete": "Eliminar esta colección", - // "collection.edit.tabs.authorizations.title": "Collection Edit - Authorizations", - "collection.edit.tabs.authorizations.title": "Edición de colección: autorizaciones", + // "collection.edit.head": "Edit Collection", + "collection.edit.head": "Editar colección", - // "collection.edit.tabs.metadata.head": "Edit Metadata", - "collection.edit.tabs.metadata.head": "Editar metadatos", + // "collection.edit.breadcrumbs": "Edit Collection", + "collection.edit.breadcrumbs": "Editar colección", - // "collection.edit.tabs.metadata.title": "Collection Edit - Metadata", - "collection.edit.tabs.metadata.title": "Edición de colección: metadatos", - // "collection.edit.tabs.roles.head": "Assign Roles", - "collection.edit.tabs.roles.head": "Asignar roles", - // "collection.edit.tabs.roles.title": "Collection Edit - Roles", - "collection.edit.tabs.roles.title": "Edición de colección: funciones", + // "collection.edit.tabs.mapper.head": "Item Mapper", + "collection.edit.tabs.mapper.head": "Mapeo de ítems", - // "collection.edit.tabs.source.external": "This collection harvests its content from an external source", - "collection.edit.tabs.source.external": "Esta colección recolecta su contenido de una fuente externa", + // "collection.edit.tabs.item-mapper.title": "Collection Edit - Item Mapper", + "collection.edit.tabs.item-mapper.title": "Editar colección: mapeo de ítems", - // "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": "Debe proporcionar un ID de conjunto de la colección de destino.", + // "collection.edit.item-mapper.cancel": "Cancel", + "collection.edit.item-mapper.cancel": "Cancelar", - // "collection.edit.tabs.source.form.harvestType": "Content being harvested", - "collection.edit.tabs.source.form.harvestType": "Contenido que se está recolectando", + // "collection.edit.item-mapper.collection": "Collection: \"{{name}}\"", + "collection.edit.item-mapper.collection": "Colección: \"{{ name }}\"", - // "collection.edit.tabs.source.form.head": "Configure an external source", - "collection.edit.tabs.source.form.head": "Configurar una fuente externa", + // "collection.edit.item-mapper.confirm": "Map selected items", + "collection.edit.item-mapper.confirm": "Mapear ítems seleccionados", - // "collection.edit.tabs.source.form.metadataConfigId": "Metadata Format", - "collection.edit.tabs.source.form.metadataConfigId": "Formato de metadatos", + // "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 mapeo de ítems que permite a los administradores de colecciones asignar ítems de otras colecciones a esta colección. Puede buscar ítems de otras colecciones y mapearlos, o explorar la lista de ítems mapeados actualmente.", - // "collection.edit.tabs.source.form.oaiSetId": "OAI specific set id", - "collection.edit.tabs.source.form.oaiSetId": "ID de conjunto específico de OAI", + // "collection.edit.item-mapper.head": "Item Mapper - Map Items from Other Collections", + "collection.edit.item-mapper.head": "Mapeo de ítems: mapea ítems de otras colecciones", - // "collection.edit.tabs.source.form.oaiSource": "OAI Provider", - "collection.edit.tabs.source.form.oaiSource": "Proveedor OAI", + // "collection.edit.item-mapper.no-search": "Please enter a query to search", + "collection.edit.item-mapper.no-search": "Introduzca una consulta para buscar", - // "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": "Recolectar metadatos y archivos (requiere soporte ORE)", + // "collection.edit.item-mapper.notifications.map.error.content": "Errors occurred for mapping of {{amount}} items.", + "collection.edit.item-mapper.notifications.map.error.content": "Se produjeron errores en la asignación de {{ amount }} ítems.", - // "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": "Recolectar metadatos y referencias a archivos (requiere soporte ORE)", + // "collection.edit.item-mapper.notifications.map.error.head": "Mapping errors", + "collection.edit.item-mapper.notifications.map.error.head": "Errores de mapeo", - // "collection.edit.tabs.source.form.options.harvestType.METADATA_ONLY": "Harvest metadata only", - "collection.edit.tabs.source.form.options.harvestType.METADATA_ONLY": "Recolectar solo metadatos", + // "collection.edit.item-mapper.notifications.map.success.content": "Successfully mapped {{amount}} items.", + "collection.edit.item-mapper.notifications.map.success.content": "{{ amount }} ítems mapeados correctamente.", - // "collection.edit.tabs.source.head": "Content Source", - "collection.edit.tabs.source.head": "Fuente de contenido", + // "collection.edit.item-mapper.notifications.map.success.head": "Mapping completed", + "collection.edit.item-mapper.notifications.map.success.head": "Mapeo completado", - // "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": "Tus cambios fueron descartados. ", + // "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": "Se produjeron errores al eliminar los mapeos de {{ amount }} ítems.", - // "collection.edit.tabs.source.notifications.discarded.title": "Changed discarded", - "collection.edit.tabs.source.notifications.discarded.title": "Cambiado descartado", + // "collection.edit.item-mapper.notifications.unmap.error.head": "Remove mapping errors", + "collection.edit.item-mapper.notifications.unmap.error.head": "Eliminar errores de mapeo", - // "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": "Tus cambios no se guardaron. Asegúrese de que todos los campos sean válidos antes de guardar.", + // "collection.edit.item-mapper.notifications.unmap.success.content": "Successfully removed the mappings of {{amount}} items.", + "collection.edit.item-mapper.notifications.unmap.success.content": "Se eliminaron correctamente los mapeos de {{ amount }} ítems.", - // "collection.edit.tabs.source.notifications.invalid.title": "Metadata invalid", - "collection.edit.tabs.source.notifications.invalid.title": "Metadatos inválidos", + // "collection.edit.item-mapper.notifications.unmap.success.head": "Remove mapping completed", + "collection.edit.item-mapper.notifications.unmap.success.head": "Finalizada la eliminación del mapeo", - // "collection.edit.tabs.source.notifications.saved.content": "Your changes to this collection's content source were saved.", - "collection.edit.tabs.source.notifications.saved.content": "Se guardaron sus cambios en la fuente del contenido de esta colección.", + // "collection.edit.item-mapper.remove": "Remove selected item mappings", + "collection.edit.item-mapper.remove": "Eliminar los mapeos de ítems seleccionados", - // "collection.edit.tabs.source.notifications.saved.title": "Content Source saved", - "collection.edit.tabs.source.notifications.saved.title": "Fuente de contenido guardada", + // "collection.edit.item-mapper.search-form.placeholder": "Search items...", + "collection.edit.item-mapper.search-form.placeholder": "Buscar ítems...", - // "collection.edit.tabs.source.title": "Collection Edit - Content Source", - "collection.edit.tabs.source.title": "Edición de colección: fuente de contenido", + // "collection.edit.item-mapper.tabs.browse": "Browse mapped items", + "collection.edit.item-mapper.tabs.browse": "Examinar ítems mapeados", + // "collection.edit.item-mapper.tabs.map": "Map new items", + "collection.edit.item-mapper.tabs.map": "Asignar nuevos ítems", - // "collection.edit.template.add-button": "Add", - "collection.edit.template.add-button": "Agregar", + // "collection.edit.logo.delete.title": "Delete logo", + "collection.edit.logo.delete.title": "Eliminar logo", - // "collection.edit.template.breadcrumbs": "Item template", - "collection.edit.template.breadcrumbs": "Plantilla de artículo", + // "collection.edit.logo.delete-undo.title": "Undo delete", + "collection.edit.logo.delete-undo.title": "Deshacer eliminación", - // "collection.edit.template.cancel": "Cancel", - "collection.edit.template.cancel": "Cancelar", + // "collection.edit.logo.label": "Collection logo", + "collection.edit.logo.label": "Logotipo de la colección", - // "collection.edit.template.delete-button": "Delete", - "collection.edit.template.delete-button": "Borrar", + // "collection.edit.logo.notifications.add.error": "Uploading Collection logo failed. Please verify the content before retrying.", + "collection.edit.logo.notifications.add.error": "Error al cargar el logotipo de la colección. Verifique el contenido antes de volver a intentarlo.", - // "collection.edit.template.edit-button": "Edit", - "collection.edit.template.edit-button": "Editar", + // "collection.edit.logo.notifications.add.success": "Upload Collection logo successful.", + "collection.edit.logo.notifications.add.success": "Subida correcta del logotipo de la colección.", - // "collection.edit.template.error": "An error occurred retrieving the template item", - "collection.edit.template.error": "Se produjo un error al recuperar el artículo de la plantilla.", + // "collection.edit.logo.notifications.delete.success.title": "Logo deleted", + "collection.edit.logo.notifications.delete.success.title": "Logotipo eliminado", - // "collection.edit.template.head": "Edit Template Item for Collection \"{{ collection }}\"", - "collection.edit.template.head": "Editar artículo de plantilla para la colección \"{{ collection }} \"", + // "collection.edit.logo.notifications.delete.success.content": "Successfully deleted the collection's logo", + "collection.edit.logo.notifications.delete.success.content": "Se eliminó correctamente el logotipo de la colección.", - // "collection.edit.template.label": "Template item", - "collection.edit.template.label": "Artículo de plantilla", + // "collection.edit.logo.notifications.delete.error.title": "Error deleting logo", + "collection.edit.logo.notifications.delete.error.title": "Error al eliminar el logotipo", - // "collection.edit.template.loading": "Loading template item...", - "collection.edit.template.loading": "Cargando artículo de plantilla...", + // "collection.edit.logo.upload": "Drop a Collection Logo to upload", + "collection.edit.logo.upload": "Suelta un logotipo de colección para cargarlo", - // "collection.edit.template.notifications.delete.error": "Failed to delete the item template", - "collection.edit.template.notifications.delete.error": "No se pudo eliminar la plantilla del artículo.", - // "collection.edit.template.notifications.delete.success": "Successfully deleted the item template", - "collection.edit.template.notifications.delete.success": "Se eliminó correctamente la plantilla del artículo.", - // "collection.edit.template.title": "Edit Template Item", - "collection.edit.template.title": "Editar artículo de plantilla", + // "collection.edit.notifications.success": "Successfully edited the Collection", + "collection.edit.notifications.success": "Editó con éxito la colección", + // "collection.edit.return": "Back", + "collection.edit.return": "Atrás", - // "collection.form.abstract": "Short Description", - "collection.form.abstract": "Breve descripción", - // "collection.form.description": "Introductory text (HTML)", - "collection.form.description": "Texto introductorio (HTML)", + // "collection.edit.tabs.curate.head": "Curate", + "collection.edit.tabs.curate.head": "Curar", - // "collection.form.errors.title.required": "Please enter a collection name", - "collection.form.errors.title.required": "Ingrese un nombre de colección", + // "collection.edit.tabs.curate.title": "Collection Edit - Curate", + "collection.edit.tabs.curate.title": "Edición de colección - Curar", - // "collection.form.license": "License", - "collection.form.license": "Licencia", + // "collection.edit.tabs.authorizations.head": "Authorizations", + "collection.edit.tabs.authorizations.head": "Autorizaciones", - // "collection.form.provenance": "Provenance", - "collection.form.provenance": "Procedencia", + // "collection.edit.tabs.authorizations.title": "Collection Edit - Authorizations", + "collection.edit.tabs.authorizations.title": "Edición de colección: autorizaciones", - // "collection.form.rights": "Copyright text (HTML)", - "collection.form.rights": "Texto de copyright (HTML)", + // "collection.edit.item.authorizations.load-bundle-button": "Load more bundles", + "collection.edit.item.authorizations.load-bundle-button": "Cargar mas bloques", - // "collection.form.tableofcontents": "News (HTML)", - "collection.form.tableofcontents": "Noticias (HTML)", + // "collection.edit.item.authorizations.load-more-button": "Load more", + "collection.edit.item.authorizations.load-more-button": "Cargar mas", - // "collection.form.title": "Name", - "collection.form.title": "Nombre", + // "collection.edit.item.authorizations.show-bitstreams-button": "Show bitstream policies for bundle", + "collection.edit.item.authorizations.show-bitstreams-button": "Mostrar las autorizaciones de los ficheros del bloque", + // "collection.edit.tabs.metadata.head": "Edit Metadata", + "collection.edit.tabs.metadata.head": "Editar metadatos", + // "collection.edit.tabs.metadata.title": "Collection Edit - Metadata", + "collection.edit.tabs.metadata.title": "Edición de colección: metadatos", - // "collection.listelement.badge": "Collection", - "collection.listelement.badge": "Colección", + // "collection.edit.tabs.roles.head": "Assign Roles", + "collection.edit.tabs.roles.head": "Asignar roles", + // "collection.edit.tabs.roles.title": "Collection Edit - Roles", + "collection.edit.tabs.roles.title": "Edición de colección - Roles", + // "collection.edit.tabs.source.external": "This collection harvests its content from an external source", + "collection.edit.tabs.source.external": "Esta colección recolecta su contenido de una fuente externa", - // "collection.page.browse.recent.head": "Recent Submissions", - "collection.page.browse.recent.head": "Envíos recientes", + // "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": "Debe proporcionar el set-ID de la colección de destino.", - // "collection.page.browse.recent.empty": "No items to show", - "collection.page.browse.recent.empty": "No hay artículos para mostrar", + // "collection.edit.tabs.source.form.harvestType": "Content being harvested", + "collection.edit.tabs.source.form.harvestType": "Contenido que se está recolectando", - // "collection.page.edit": "Edit this collection", - "collection.page.edit": "Editar esta colección", + // "collection.edit.tabs.source.form.head": "Configure an external source", + "collection.edit.tabs.source.form.head": "Configurar una fuente externa", - // "collection.page.handle": "Permanent URI for this collection", - "collection.page.handle": "URI permanente para esta colección", + // "collection.edit.tabs.source.form.metadataConfigId": "Metadata Format", + "collection.edit.tabs.source.form.metadataConfigId": "Formato de metadatos", - // "collection.page.license": "License", - "collection.page.license": "Licencia", + // "collection.edit.tabs.source.form.oaiSetId": "OAI specific set id", + "collection.edit.tabs.source.form.oaiSetId": "ID de set específico de OAI", - // "collection.page.news": "News", - "collection.page.news": "Noticias", + // "collection.edit.tabs.source.form.oaiSource": "OAI Provider", + "collection.edit.tabs.source.form.oaiSource": "Proveedor OAI", + // "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": "Recolectar metadatos y archivos (requiere soporte ORE)", + // "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": "Recolectar metadatos y referencias a archivos (requiere soporte ORE)", - // "collection.select.confirm": "Confirm selected", - "collection.select.confirm": "Confirmar seleccionado", + // "collection.edit.tabs.source.form.options.harvestType.METADATA_ONLY": "Harvest metadata only", + "collection.edit.tabs.source.form.options.harvestType.METADATA_ONLY": "Recolectar solo metadatos", - // "collection.select.empty": "No collections to show", - "collection.select.empty": "No hay colecciones para mostrar", + // "collection.edit.tabs.source.head": "Content Source", + "collection.edit.tabs.source.head": "Origen del contenido", - // "collection.select.table.title": "Title", - "collection.select.table.title": "Título", + // "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": "Tus cambios fueron descartados. Para recuperarlos, pulse el botón 'Deshacer'", + // "collection.edit.tabs.source.notifications.discarded.title": "Changed discarded", + "collection.edit.tabs.source.notifications.discarded.title": "Cambiado descartado", + // "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": "Tus cambios no se guardaron. Asegúrese de que todos los campos sean válidos antes de guardar.", - // "collection.source.update.notifications.error.content": "The provided settings have been tested and didn't work.", - "collection.source.update.notifications.error.content": "La configuración proporcionada se ha probado y no funcionó.", + // "collection.edit.tabs.source.notifications.invalid.title": "Metadata invalid", + "collection.edit.tabs.source.notifications.invalid.title": "Metadatos inválidos", - // "collection.source.update.notifications.error.title": "Server Error", - "collection.source.update.notifications.error.title": "Error del Servidor", + // "collection.edit.tabs.source.notifications.saved.content": "Your changes to this collection's content source were saved.", + "collection.edit.tabs.source.notifications.saved.content": "Se guardaron sus cambios en la fuente de contenido de esta colección.", + // "collection.edit.tabs.source.notifications.saved.title": "Content Source saved", + "collection.edit.tabs.source.notifications.saved.title": "Fuente de contenido guardada", + // "collection.edit.tabs.source.title": "Collection Edit - Content Source", + "collection.edit.tabs.source.title": "Edición de colección: fuente de contenido", - // "communityList.breadcrumbs": "Community List", - "communityList.breadcrumbs": "Lista de la comunidad", - // "communityList.tabTitle": "Community List", - "communityList.tabTitle": "Lista de la comunidad", - // "communityList.title": "List of Communities", - "communityList.title": "Lista de comunidades", + // "collection.edit.template.add-button": "Add", + "collection.edit.template.add-button": "Agregar", - // "communityList.showMore": "Show More", - "communityList.showMore": "Mostrar más", + // "collection.edit.template.breadcrumbs": "Item template", + "collection.edit.template.breadcrumbs": "Plantilla de ítem", + // "collection.edit.template.cancel": "Cancel", + "collection.edit.template.cancel": "Cancelar", + // "collection.edit.template.delete-button": "Delete", + "collection.edit.template.delete-button": "Borrar", - // "community.create.head": "Create a Community", - "community.create.head": "Crea una comunidad", + // "collection.edit.template.edit-button": "Edit", + "collection.edit.template.edit-button": "Editar", - // "community.create.notifications.success": "Successfully created the Community", - "community.create.notifications.success": "Creó con éxito la comunidad", + // "collection.edit.template.error": "An error occurred retrieving the template item", + "collection.edit.template.error": "Se produjo un error al recuperar la plantilla del ítem.", - // "community.create.sub-head": "Create a Sub-Community for Community {{ parent }}", - "community.create.sub-head": "Cree una subcomunidad para la comunidad {{ parent }}", + // "collection.edit.template.head": "Edit Template Item for Collection \"{{ collection }}\"", + "collection.edit.template.head": "Editar plantilla del ítem para la colección \"{{ collection }} \"", - // "community.curate.header": "Curate Community: {{community}}", - "community.curate.header": "Comunidad seleccionada: {{ community }}", + // "collection.edit.template.label": "Template item", + "collection.edit.template.label": "Plantilla de ítem", - // "community.delete.cancel": "Cancel", - "community.delete.cancel": "Cancelar", + // "collection.edit.template.loading": "Loading template item...", + "collection.edit.template.loading": "Cargando plantilla de ítem...", - // "community.delete.confirm": "Confirm", - "community.delete.confirm": "Confirmar", + // "collection.edit.template.notifications.delete.error": "Failed to delete the item template", + "collection.edit.template.notifications.delete.error": "No se pudo eliminar la plantilla de ítem.", - // "community.delete.processing": "Deleting...", - "community.delete.processing": "Eliminando...", + // "collection.edit.template.notifications.delete.success": "Successfully deleted the item template", + "collection.edit.template.notifications.delete.success": "Se eliminó correctamente la plantilla de ítem.", - // "community.delete.head": "Delete Community", - "community.delete.head": "Eliminar comunidad", + // "collection.edit.template.title": "Edit Template Item", + "collection.edit.template.title": "Editar plantilla de ítem", - // "community.delete.notification.fail": "Community could not be deleted", - "community.delete.notification.fail": "No se pudo eliminar la comunidad", - // "community.delete.notification.success": "Successfully deleted community", - "community.delete.notification.success": "Comunidad eliminada con éxito", - // "community.delete.text": "Are you sure you want to delete community \"{{ dso }}\"", - "community.delete.text": "¿Estás seguro de que deseas eliminar la comunidad \"{{ dso }} \"?", + // "collection.form.abstract": "Short Description", + "collection.form.abstract": "Breve descripción", - // "community.edit.delete": "Delete this community", - "community.edit.delete": "Eliminar esta comunidad", + // "collection.form.description": "Introductory text (HTML)", + "collection.form.description": "Texto introductorio (HTML)", - // "community.edit.head": "Edit Community", - "community.edit.head": "Editar comunidad", + // "collection.form.errors.title.required": "Please enter a collection name", + "collection.form.errors.title.required": "Introduzca un nombre de colección", - // "community.edit.breadcrumbs": "Edit Community", - "community.edit.breadcrumbs": "Editar comunidad", + // "collection.form.license": "License", + "collection.form.license": "Licencia", + // "collection.form.provenance": "Provenance", + "collection.form.provenance": "Procedencia", - // "community.edit.logo.delete.title": "Delete logo", - "community.edit.logo.delete.title": "Eliminar logo", + // "collection.form.rights": "Copyright text (HTML)", + "collection.form.rights": "Texto de copyright (HTML)", - // "community.edit.logo.delete-undo.title": "Undo delete", - "community.edit.logo.delete-undo.title": "Deshacer eliminación", + // "collection.form.tableofcontents": "News (HTML)", + "collection.form.tableofcontents": "Noticias (HTML)", - // "community.edit.logo.label": "Community logo", - "community.edit.logo.label": "Logotipo de la comunidad", + // "collection.form.title": "Name", + "collection.form.title": "Nombre", - // "community.edit.logo.notifications.add.error": "Uploading Community logo failed. Please verify the content before retrying.", - "community.edit.logo.notifications.add.error": "Error al cargar el logotipo de la comunidad. Verifique el contenido antes de volver a intentarlo.", + // "collection.form.entityType": "Entity Type", + "collection.form.entityType": "Tipo de entidad", - // "community.edit.logo.notifications.add.success": "Upload Community logo successful.", - "community.edit.logo.notifications.add.success": "Subir el logotipo de la comunidad correctamente.", - // "community.edit.logo.notifications.delete.success.title": "Logo deleted", - "community.edit.logo.notifications.delete.success.title": "Logotipo eliminado", - // "community.edit.logo.notifications.delete.success.content": "Successfully deleted the community's logo", - "community.edit.logo.notifications.delete.success.content": "Se eliminó correctamente el logotipo de la comunidad.", + // "collection.listelement.badge": "Collection", + "collection.listelement.badge": "Colección", - // "community.edit.logo.notifications.delete.error.title": "Error deleting logo", - "community.edit.logo.notifications.delete.error.title": "Error al eliminar el logotipo", - // "community.edit.logo.upload": "Drop a Community Logo to upload", - "community.edit.logo.upload": "Suelta un logotipo de la comunidad para cargar", + // "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 hay ítems para mostrar", - // "community.edit.notifications.success": "Successfully edited the Community", - "community.edit.notifications.success": "Editó con éxito la comunidad", + // "collection.page.edit": "Edit this collection", + "collection.page.edit": "Editar esta colección", - // "community.edit.notifications.unauthorized": "You do not have privileges to make this change", - "community.edit.notifications.unauthorized": "No tienes privilegios para realizar este cambio", + // "collection.page.handle": "Permanent URI for this collection", + "collection.page.handle": "URI permanente para esta colección", - // "community.edit.notifications.error": "An error occured while editing the Community", - "community.edit.notifications.error": "Se produjo un error al editar la comunidad.", + // "collection.page.license": "License", + "collection.page.license": "Licencia", - // "community.edit.return": "Back", - "community.edit.return": "atrás", + // "collection.page.news": "News", + "collection.page.news": "Noticias", + // "collection.select.confirm": "Confirm selected", + "collection.select.confirm": "Confirmar seleccionado", + // "collection.select.empty": "No collections to show", + "collection.select.empty": "No hay colecciones para mostrar", - // "community.edit.tabs.curate.head": "Curate", - "community.edit.tabs.curate.head": "Cura", + // "collection.select.table.title": "Title", + "collection.select.table.title": "Título", - // "community.edit.tabs.curate.title": "Community Edit - Curate", - "community.edit.tabs.curate.title": "Edición de la comunidad - Curate", - // "community.edit.tabs.metadata.head": "Edit Metadata", - "community.edit.tabs.metadata.head": "Editar metadatos", + // "collection.source.controls.head": "Harvest Controls", + "collection.source.controls.head": "Controles de recolección", + + // "collection.source.controls.test.submit.error": "Something went wrong with initiating the testing of the settings", + "collection.source.controls.test.submit.error": "Hubo fallos al realizar las pruebas de comprobación de los ajustes", + + // "collection.source.controls.test.failed": "The script to test the settings has failed", + "collection.source.controls.test.failed": "La prueba de los ajustes ha fallado", + + // "collection.source.controls.test.completed": "The script to test the settings has successfully finished", + "collection.source.controls.test.completed": "El script de prueba de los ajustes ha terminado correctamente ", + + // "collection.source.controls.test.submit": "Test configuration", + "collection.source.controls.test.submit": "Probar la configuración", + + // "collection.source.controls.test.running": "Testing configuration...", + "collection.source.controls.test.running": "Probando la configuración...", + + // "collection.source.controls.import.submit.success": "The import has been successfully initiated", + "collection.source.controls.import.submit.success": "La importación ha comenzado correctamente", + + // "collection.source.controls.import.submit.error": "Something went wrong with initiating the import", + "collection.source.controls.import.submit.error": "Hubo algún fallo al iniciar la importación", + + // "collection.source.controls.import.submit": "Import now", + "collection.source.controls.import.submit": "Importar ahora", + + // "collection.source.controls.import.running": "Importing...", + "collection.source.controls.import.running": "Importando...", + + // "collection.source.controls.import.failed": "An error occurred during the import", + "collection.source.controls.import.failed": "Ha ocurrido un error durante la importación", + + // "collection.source.controls.import.completed": "The import completed", + "collection.source.controls.import.completed": "La importación finalizó", + + // "collection.source.controls.reset.submit.success": "The reset and reimport has been successfully initiated", + "collection.source.controls.reset.submit.success": "La restauración y reimportación ha comenzado correctamente", + + // "collection.source.controls.reset.submit.error": "Something went wrong with initiating the reset and reimport", + "collection.source.controls.reset.submit.error": "Ha ocurrido un error al iniciar la restauración y reimportación", + + // "collection.source.controls.reset.failed": "An error occurred during the reset and reimport", + "collection.source.controls.reset.failed": "Ha ocurrido un error en la restauración y reimportación", + + // "collection.source.controls.reset.completed": "The reset and reimport completed", + "collection.source.controls.reset.completed": "Restauración y reimportación finalizadas", + + // "collection.source.controls.reset.submit": "Reset and reimport", + "collection.source.controls.reset.submit": "Restauración y reimportación", + + // "collection.source.controls.reset.running": "Resetting and reimporting...", + "collection.source.controls.reset.running": "Restaurando y reimportando...", + + // "collection.source.controls.harvest.status": "Harvest status:", + "collection.source.controls.harvest.status": "Estado de la Recolección:", + + // "collection.source.controls.harvest.start": "Harvest start time:", + "collection.source.controls.harvest.start": "Comienzo de la recolección:", + + // "collection.source.controls.harvest.last": "Last time harvested:", + "collection.source.controls.harvest.last": "Fecha de la última recolección:", + + // "collection.source.controls.harvest.message": "Harvest info:", + "collection.source.controls.harvest.message": "Información de recolección:", + + // "collection.source.controls.harvest.no-information": "N/A", + "collection.source.controls.harvest.no-information": "N/A", - // "community.edit.tabs.metadata.title": "Community Edit - Metadata", - "community.edit.tabs.metadata.title": "Edición de la comunidad: metadatos", - // "community.edit.tabs.roles.head": "Assign Roles", - "community.edit.tabs.roles.head": "Asignar roles", + // "collection.source.update.notifications.error.content": "The provided settings have been tested and didn't work.", + "collection.source.update.notifications.error.content": "La configuración proporcionada se ha probado y no funcionó.", - // "community.edit.tabs.roles.title": "Community Edit - Roles", - "community.edit.tabs.roles.title": "Edición de la comunidad: funciones", + // "collection.source.update.notifications.error.title": "Server Error", + "collection.source.update.notifications.error.title": "Error del Servidor", - // "community.edit.tabs.authorizations.head": "Authorizations", - "community.edit.tabs.authorizations.head": "Autorizaciones", - // "community.edit.tabs.authorizations.title": "Community Edit - Authorizations", - "community.edit.tabs.authorizations.title": "Edición de la comunidad: autorizaciones", + // "communityList.breadcrumbs": "Community List", + "communityList.breadcrumbs": "Lista de comunidades", + // "communityList.tabTitle": "Community List", + "communityList.tabTitle": "Lista de comunidades", - // "community.listelement.badge": "Community", - "community.listelement.badge": "Comunidad", + // "communityList.title": "List of communities", + "communityList.title": "Lista de Comunidades", + // "communityList.showMore": "Show More", + "communityList.showMore": "Mostrar más", - // "comcol-role.edit.no-group": "None", - "comcol-role.edit.no-group": "Ninguno", - // "comcol-role.edit.create": "Create", - "comcol-role.edit.create": "Crear", + // "community.create.head": "Create a Community", + "community.create.head": "Crear una comunidad", - // "comcol-role.edit.restrict": "Restrict", - "comcol-role.edit.restrict": "Restringir", + // "community.create.notifications.success": "Successfully created the Community", + "community.create.notifications.success": "Creada con éxito la comunidad", - // "comcol-role.edit.delete": "Delete", - "comcol-role.edit.delete": "Borrar", + // "community.create.sub-head": "Create a Sub-Community for Community {{ parent }}", + "community.create.sub-head": "Crear una subcomunidad para la comunidad {{ parent }}", + // "community.curate.header": "Curate Community: {{community}}", + "community.curate.header": "Comunidad seleccionada: {{ community }}", - // "comcol-role.edit.community-admin.name": "Administrators", - "comcol-role.edit.community-admin.name": "Administradores", + // "community.delete.cancel": "Cancel", + "community.delete.cancel": "Cancelar", - // "comcol-role.edit.collection-admin.name": "Administrators", - "comcol-role.edit.collection-admin.name": "Administradores", + // "community.delete.confirm": "Confirm", + "community.delete.confirm": "Confirmar", + // "community.delete.processing": "Deleting...", + "community.delete.processing": "Eliminando...", - // "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": "Los administradores de la comunidad pueden crear subcomunidades o colecciones y gestionar o asignar la gestión para esas subcomunidades o colecciones. Además, deciden quién puede enviar artículos a las subcolecciones, editar los metadatos del artículo (después del envío) y agregar (mapear) artículos existentes de otras colecciones (sujeto a autorización).", + // "community.delete.head": "Delete Community", + "community.delete.head": "Eliminar comunidad", - // "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": "Los administradores de la colección deciden quién puede enviar artículos a la colección, editar los metadatos del artículo (después del envío) y agregar (mapear) artículos existentes de otras colecciones a esta colección (sujeto a autorización para esa colección).", + // "community.delete.notification.fail": "Community could not be deleted", + "community.delete.notification.fail": "No se pudo eliminar la comunidad", + // "community.delete.notification.success": "Successfully deleted community", + "community.delete.notification.success": "Comunidad eliminada con éxito", - // "comcol-role.edit.submitters.name": "Submitters", - "comcol-role.edit.submitters.name": "Remitentes", + // "community.delete.text": "Are you sure you want to delete community \"{{ dso }}\"", + "community.delete.text": "¿Está seguro de que desea eliminar la comunidad \"{{ dso }} \"?", - // "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": "Los E-People y Grupos que tienen permiso para enviar nuevos artículos a esta colección.", + // "community.edit.delete": "Delete this community", + "community.edit.delete": "Eliminar esta comunidad", + // "community.edit.head": "Edit Community", + "community.edit.head": "Editar comunidad", - // "comcol-role.edit.item_read.name": "Default item read access", - "comcol-role.edit.item_read.name": "Acceso de lectura de artículo predeterminado", + // "community.edit.breadcrumbs": "Edit Community", + "community.edit.breadcrumbs": "Editar comunidad", - // "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": "E-People y Grupos que pueden leer nuevos artículos enviados a esta colección. Los cambios en este rol no son retroactivos. Los artículos existentes en el sistema aún serán visibles para aquellos que tenían acceso de lectura en el momento de su adición.", - // "comcol-role.edit.item_read.anonymous-group": "Default read for incoming items is currently set to Anonymous.", - "comcol-role.edit.item_read.anonymous-group": "La lectura predeterminada para los artículos entrantes está configurada actualmente como Anónimo.", + // "community.edit.logo.delete.title": "Delete logo", + "community.edit.logo.delete.title": "Eliminar logo", + // "community.edit.logo.delete-undo.title": "Undo delete", + "community.edit.logo.delete-undo.title": "Deshacer eliminación", - // "comcol-role.edit.bitstream_read.name": "Default bitstream read access", - "comcol-role.edit.bitstream_read.name": "Acceso de lectura de archivo predeterminado", + // "community.edit.logo.label": "Community logo", + "community.edit.logo.label": "Logotipo de la comunidad", - // "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": "Los administradores de la comunidad pueden crear subcomunidades o colecciones y gestionar o asignar la gestión para esas subcomunidades o colecciones. Además, deciden quién puede enviar artículos a las subcolecciones, editar los metadatos del artículo (después del envío) y agregar (mapear) artículos existentes de otras colecciones (sujeto a autorización).", + // "community.edit.logo.notifications.add.error": "Uploading Community logo failed. Please verify the content before retrying.", + "community.edit.logo.notifications.add.error": "Error al cargar el logotipo de la comunidad. Verifique el contenido antes de volver a intentarlo.", - // "comcol-role.edit.bitstream_read.anonymous-group": "Default read for incoming bitstreams is currently set to Anonymous.", - "comcol-role.edit.bitstream_read.anonymous-group": "La lectura predeterminada para los archivos entrantes se establece actualmente en Anónimo.", + // "community.edit.logo.notifications.add.success": "Upload Community logo successful.", + "community.edit.logo.notifications.add.success": "Subir el logotipo de la comunidad correctamente.", + // "community.edit.logo.notifications.delete.success.title": "Logo deleted", + "community.edit.logo.notifications.delete.success.title": "Logotipo eliminado", - // "comcol-role.edit.editor.name": "Editors", - "comcol-role.edit.editor.name": "Editores", + // "community.edit.logo.notifications.delete.success.content": "Successfully deleted the community's logo", + "community.edit.logo.notifications.delete.success.content": "Se eliminó correctamente el logotipo de la comunidad.", - // "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": "Los editores pueden editar los metadatos de los envíos entrantes y luego aceptarlos o rechazarlos.", + // "community.edit.logo.notifications.delete.error.title": "Error deleting logo", + "community.edit.logo.notifications.delete.error.title": "Error al eliminar el logotipo", + // "community.edit.logo.upload": "Drop a Community Logo to upload", + "community.edit.logo.upload": "Suelta un logotipo de la comunidad para cargar", - // "comcol-role.edit.finaleditor.name": "Final editors", - "comcol-role.edit.finaleditor.name": "Editores finales", - // "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": "Los editores finales pueden editar los metadatos de los envíos entrantes, pero no podrán rechazarlos.", + // "community.edit.notifications.success": "Successfully edited the Community", + "community.edit.notifications.success": "Editó con éxito la comunidad", - // "comcol-role.edit.reviewer.name": "Reviewers", - "comcol-role.edit.reviewer.name": "Revisores", + // "community.edit.notifications.unauthorized": "You do not have privileges to make this change", + "community.edit.notifications.unauthorized": "No tienes privilegios para realizar este cambio", - // "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": "Los revisores pueden aceptar o rechazar envíos entrantes. Sin embargo, no pueden editar los metadatos del envío.", + // "community.edit.notifications.error": "An error occured while editing the Community", + "community.edit.notifications.error": "Se produjo un error al editar la comunidad.", + // "community.edit.return": "Back", + "community.edit.return": "Atrás", - // "community.form.abstract": "Short Description", - "community.form.abstract": "Breve descripción", - // "community.form.description": "Introductory text (HTML)", - "community.form.description": "Texto introductorio (HTML)", + // "community.edit.tabs.curate.head": "Curate", + "community.edit.tabs.curate.head": "Cura", - // "community.form.errors.title.required": "Please enter a community name", - "community.form.errors.title.required": "Ingrese un nombre de comunidad", + // "community.edit.tabs.curate.title": "Community Edit - Curate", + "community.edit.tabs.curate.title": "Edición de la comunidad - Curate", - // "community.form.rights": "Copyright text (HTML)", - "community.form.rights": "Texto de copyright (HTML)", + // "community.edit.tabs.metadata.head": "Edit Metadata", + "community.edit.tabs.metadata.head": "Editar metadatos", - // "community.form.tableofcontents": "News (HTML)", - "community.form.tableofcontents": "Noticias (HTML)", + // "community.edit.tabs.metadata.title": "Community Edit - Metadata", + "community.edit.tabs.metadata.title": "Edición de la comunidad: metadatos", - // "community.form.title": "Name", - "community.form.title": "Nombre", + // "community.edit.tabs.roles.head": "Assign Roles", + "community.edit.tabs.roles.head": "Asignar roles", - // "community.page.edit": "Edit this community", - "community.page.edit": "Editar esta comunidad", + // "community.edit.tabs.roles.title": "Community Edit - Roles", + "community.edit.tabs.roles.title": "Edición de la comunidad: funciones", - // "community.page.handle": "Permanent URI for this community", - "community.page.handle": "URI permanente para esta comunidad", + // "community.edit.tabs.authorizations.head": "Authorizations", + "community.edit.tabs.authorizations.head": "Autorizaciones", - // "community.page.license": "License", - "community.page.license": "Licencia", + // "community.edit.tabs.authorizations.title": "Community Edit - Authorizations", + "community.edit.tabs.authorizations.title": "Edición de la comunidad: autorizaciones", - // "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.listelement.badge": "Community", + "community.listelement.badge": "Comunidad", - // "community.sub-community-list.head": "Communities of this Community", - "community.sub-community-list.head": "Comunidades de esta comunidad", + // "comcol-role.edit.no-group": "None", + "comcol-role.edit.no-group": "Ninguno", - // "cookies.consent.accept-all": "Accept all", - "cookies.consent.accept-all": "Aceptar todo", + // "comcol-role.edit.create": "Create", + "comcol-role.edit.create": "Crear", - // "cookies.consent.accept-selected": "Accept selected", - "cookies.consent.accept-selected": "Aceptar seleccionado", + // "comcol-role.edit.create.error.title": "Failed to create a group for the '{{ role }}' role", + "comcol-role.edit.create.error.title": "Error al crear un grupo para el rol '{{ role }}'", - // "cookies.consent.app.opt-out.description": "This app is loaded by default (but you can opt out)", - "cookies.consent.app.opt-out.description": "Esta aplicación se carga de forma predeterminada (pero puede optar por no participar)", + // "comcol-role.edit.restrict": "Restrict", + "comcol-role.edit.restrict": "Restringir", - // "cookies.consent.app.opt-out.title": "(opt-out)", - "cookies.consent.app.opt-out.title": "(optar por no)", + // "comcol-role.edit.delete": "Delete", + "comcol-role.edit.delete": "Borrar", - // "cookies.consent.app.purpose": "purpose", - "cookies.consent.app.purpose": "objetivo", + // "comcol-role.edit.delete.error.title": "Failed to delete the '{{ role }}' role's group", + "comcol-role.edit.delete.error.title": "Error al borrar el grupo del rol '{{ role }}'", - // "cookies.consent.app.required.description": "This application is always required", - "cookies.consent.app.required.description": "Esta aplicación siempre es necesaria", - // "cookies.consent.app.required.title": "(always required)", - "cookies.consent.app.required.title": "(siempre requerido)", + // "comcol-role.edit.community-admin.name": "Administrators", + "comcol-role.edit.community-admin.name": "Administradores", - // "cookies.consent.update": "There were changes since your last visit, please update your consent.", - "cookies.consent.update": "Hubo cambios desde su última visita, actualice su consentimiento.", + // "comcol-role.edit.collection-admin.name": "Administrators", + "comcol-role.edit.collection-admin.name": "Administradores", - // "cookies.consent.close": "Close", - "cookies.consent.close": "Cerrar", - // "cookies.consent.decline": "Decline", - "cookies.consent.decline": "Disminución", + // "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": "Los administradores de la comunidad pueden crear subcomunidades o colecciones y gestionar o asignar la gestión para esas subcomunidades o colecciones. Además, deciden quién puede enviar artículos a las subcolecciones, editar los metadatos del artículo (después del envío) y agregar (mapear) artículos existentes de otras colecciones (sujeto a autorización).", - // "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": "Recopilamos y procesamos su información personal para los siguientes propósitos: Autenticación, Preferencias, Reconocimiento y Estadísticas .
Para obtener más información, lea nuestra {privacyPolicy}.", + // "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": "Los administradores de la colección deciden quién puede enviar artículos a la colección, editar los metadatos del artículo (después del envío) y agregar (mapear) artículos existentes de otras colecciones a esta colección (sujeto a autorización para esa colección).", - // "cookies.consent.content-notice.learnMore": "Customize", - "cookies.consent.content-notice.learnMore": "Personalizar", - // "cookies.consent.content-modal.description": "Here you can see and customize the information that we collect about you.", - "cookies.consent.content-modal.description": "Aquí puede ver y personalizar la información que recopilamos sobre usted.", + // "comcol-role.edit.submitters.name": "Submitters", + "comcol-role.edit.submitters.name": "Remitentes", - // "cookies.consent.content-modal.privacy-policy.name": "privacy policy", - "cookies.consent.content-modal.privacy-policy.name": "política de privacidad", + // "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": "Los E-People y Grupos que tienen permiso para enviar nuevos artículos a esta colección.", - // "cookies.consent.content-modal.privacy-policy.text": "To learn more, please read our {privacyPolicy}.", - "cookies.consent.content-modal.privacy-policy.text": "To learn more, please read our {privacyPolicy}.", - // "cookies.consent.content-modal.title": "Information that we collect", - "cookies.consent.content-modal.title": "Información que recopilamos", + // "comcol-role.edit.item_read.name": "Default item read access", + "comcol-role.edit.item_read.name": "Acceso de lectura de artículo predeterminado", + // "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": "E-People y Grupos que pueden leer nuevos artículos enviados a esta colección. Los cambios en este rol no son retroactivos. Los artículos existentes en el sistema aún serán visibles para aquellos que tenían acceso de lectura en el momento de su adición.", + // "comcol-role.edit.item_read.anonymous-group": "Default read for incoming items is currently set to Anonymous.", + "comcol-role.edit.item_read.anonymous-group": "La lectura predeterminada para los artículos entrantes está configurada actualmente como Anónimo.", - // "cookies.consent.app.title.authentication": "Authentication", - "cookies.consent.app.title.authentication": "Autenticación", - // "cookies.consent.app.description.authentication": "Required for signing you in", - "cookies.consent.app.description.authentication": "Requerido para iniciar sesión", + // "comcol-role.edit.bitstream_read.name": "Default bitstream read access", + "comcol-role.edit.bitstream_read.name": "Acceso de lectura de archivo predeterminado", + // "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": "Los administradores de la comunidad pueden crear subcomunidades o colecciones y gestionar o asignar la gestión para esas subcomunidades o colecciones. Además, deciden quién puede enviar artículos a las subcolecciones, editar los metadatos del artículo (después del envío) y agregar (mapear) artículos existentes de otras colecciones (sujeto a autorización).", - // "cookies.consent.app.title.preferences": "Preferences", - "cookies.consent.app.title.preferences": "Preferencias", + // "comcol-role.edit.bitstream_read.anonymous-group": "Default read for incoming bitstreams is currently set to Anonymous.", + "comcol-role.edit.bitstream_read.anonymous-group": "La lectura predeterminada para los archivos entrantes se establece actualmente en Anónimo.", - // "cookies.consent.app.description.preferences": "Required for saving your preferences", - "cookies.consent.app.description.preferences": "Requerido para guardar sus preferencias", + // "comcol-role.edit.editor.name": "Editors", + "comcol-role.edit.editor.name": "Editores", + // "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": "Los editores pueden editar los metadatos de los envíos entrantes y luego aceptarlos o rechazarlos.", - // "cookies.consent.app.title.acknowledgement": "Acknowledgement", - "cookies.consent.app.title.acknowledgement": "Reconocimiento", - // "cookies.consent.app.description.acknowledgement": "Required for saving your acknowledgements and consents", - "cookies.consent.app.description.acknowledgement": "Requerido para guardar sus reconocimientos y consentimientos", + // "comcol-role.edit.finaleditor.name": "Final editors", + "comcol-role.edit.finaleditor.name": "Editores finales", + // "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": "Los editores finales pueden editar los metadatos de los envíos entrantes, pero no podrán rechazarlos.", - // "cookies.consent.app.title.google-analytics": "Google Analytics", - "cookies.consent.app.title.google-analytics": "Google analitico", + // "comcol-role.edit.reviewer.name": "Reviewers", + "comcol-role.edit.reviewer.name": "Revisores", - // "cookies.consent.app.description.google-analytics": "Allows us to track statistical data", - "cookies.consent.app.description.google-analytics": "Nos permite rastrear datos estadísticos", + // "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": "Los revisores pueden aceptar o rechazar envíos entrantes. Sin embargo, no pueden editar los metadatos del envío.", - // "cookies.consent.purpose.functional": "Functional", - "cookies.consent.purpose.functional": "Funcional", + // "community.form.abstract": "Short Description", + "community.form.abstract": "Breve descripción", - // "cookies.consent.purpose.statistical": "Statistical", - "cookies.consent.purpose.statistical": "Estadístico", + // "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": "Introduzca un nombre de comunidad", - // "curation-task.task.checklinks.label": "Check Links in Metadata", - "curation-task.task.checklinks.label": "Comprobar enlaces en metadatos", + // "community.form.rights": "Copyright text (HTML)", + "community.form.rights": "Texto de copyright (HTML)", - // "curation-task.task.noop.label": "NOOP", - "curation-task.task.noop.label": "NOOP", + // "community.form.tableofcontents": "News (HTML)", + "community.form.tableofcontents": "Noticias (HTML)", - // "curation-task.task.profileformats.label": "Profile Bitstream Formats", - "curation-task.task.profileformats.label": "Formatos de archivo de perfil", + // "community.form.title": "Name", + "community.form.title": "Nombre", - // "curation-task.task.requiredmetadata.label": "Check for Required Metadata", - "curation-task.task.requiredmetadata.label": "Verifique los metadatos requeridos", + // "community.page.edit": "Edit this community", + "community.page.edit": "Editar esta comunidad", - // "curation-task.task.translate.label": "Microsoft Translator", - "curation-task.task.translate.label": "Traductor de Microsoft", + // "community.page.handle": "Permanent URI for this community", + "community.page.handle": "URI permanente para esta comunidad", - // "curation-task.task.vscan.label": "Virus Scan", - "curation-task.task.vscan.label": "Búsqueda de virus", + // "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", - // "curation.form.task-select.label": "Task:", - "curation.form.task-select.label": "Tarea:", + // "community.sub-collection-list.head": "Collections of this Community", + "community.sub-collection-list.head": "Colecciones de esta comunidad", - // "curation.form.submit": "Start", - "curation.form.submit": "Comienzo", + // "community.sub-community-list.head": "Communities of this Community", + "community.sub-community-list.head": "Comunidades de esta comunidad", - // "curation.form.submit.success.head": "The curation task has been started successfully", - "curation.form.submit.success.head": "La tarea de conservación se ha iniciado con éxito.", - // "curation.form.submit.success.content": "You will be redirected to the corresponding process page.", - "curation.form.submit.success.content": "Serás redirigido a la página de proceso correspondiente.", - // "curation.form.submit.error.head": "Running the curation task failed", - "curation.form.submit.error.head": "Error al ejecutar la tarea de conservación", + // "cookies.consent.accept-all": "Accept all", + "cookies.consent.accept-all": "Aceptar todo", - // "curation.form.submit.error.content": "An error occured when trying to start the curation task.", - "curation.form.submit.error.content": "Se produjo un error al intentar iniciar la tarea de conservación.", + // "cookies.consent.accept-selected": "Accept selected", + "cookies.consent.accept-selected": "Aceptar seleccionado", - // "curation.form.handle.label": "Handle:", - "curation.form.handle.label": "Resolver:", + // "cookies.consent.app.opt-out.description": "This app is loaded by default (but you can opt out)", + "cookies.consent.app.opt-out.description": "Esta aplicación se carga de forma predeterminada (pero puede optar por salir)", - // "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": "Sugerencia: ingrese [your-handle-prefix] / 0 para ejecutar una tarea en todo el sitio (no todas las tareas pueden admitir esta capacidad)", + // "cookies.consent.app.opt-out.title": "(opt-out)", + "cookies.consent.app.opt-out.title": "(optar por salir)", + // "cookies.consent.app.purpose": "purpose", + "cookies.consent.app.purpose": "objetivo", + // "cookies.consent.app.required.description": "This application is always required", + "cookies.consent.app.required.description": "Esta aplicación siempre es necesaria", - // "dso.name.untitled": "Untitled", - "dso.name.untitled": "Intitulado", + // "cookies.consent.app.required.title": "(always required)", + "cookies.consent.app.required.title": "(siempre requerido)", + // "cookies.consent.update": "There were changes since your last visit, please update your consent.", + "cookies.consent.update": "Hubo cambios desde su última visita, actualice su consentimiento.", + // "cookies.consent.close": "Close", + "cookies.consent.close": "Cerrar", - // "dso-selector.create.collection.head": "New collection", - "dso-selector.create.collection.head": "Nueva colección", + // "cookies.consent.decline": "Decline", + "cookies.consent.decline": "Disminución", - // "dso-selector.create.collection.sub-level": "Create a new collection in", - "dso-selector.create.collection.sub-level": "Crea una nueva colección en", + // "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": "Recopilamos y procesamos su información personal para los siguientes propósitos: Autenticación, Preferencias, Reconocimiento y Estadísticas .
Para obtener más información, lea nuestra {privacyPolicy}.", - // "dso-selector.create.community.head": "New community", - "dso-selector.create.community.head": "Nueva comunidad", + // "cookies.consent.content-notice.learnMore": "Customize", + "cookies.consent.content-notice.learnMore": "Personalizar", - // "dso-selector.create.community.sub-level": "Create a new community in", - "dso-selector.create.community.sub-level": "Crea una nueva comunidad en", + // "cookies.consent.content-modal.description": "Here you can see and customize the information that we collect about you.", + "cookies.consent.content-modal.description": "Aquí puede ver y personalizar la información que recopilamos sobre usted.", - // "dso-selector.create.community.top-level": "Create a new top-level community", - "dso-selector.create.community.top-level": "Crea una nueva comunidad de alto nivel", + // "cookies.consent.content-modal.privacy-policy.name": "privacy policy", + "cookies.consent.content-modal.privacy-policy.name": "política de privacidad", - // "dso-selector.create.item.head": "New item", - "dso-selector.create.item.head": "Nuevo artículo", + // "cookies.consent.content-modal.privacy-policy.text": "To learn more, please read our {privacyPolicy}.", + "cookies.consent.content-modal.privacy-policy.text": "Para mas información, lea por favor nuestra{privacyPolicy}.", - // "dso-selector.create.item.sub-level": "Create a new item in", - "dso-selector.create.item.sub-level": "Crea un nuevo artículo en", + // "cookies.consent.content-modal.title": "Information that we collect", + "cookies.consent.content-modal.title": "Información que recopilamos", - // "dso-selector.create.submission.head": "New submission", - "dso-selector.create.submission.head": "Nuevo envío", - // "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", + // "cookies.consent.app.title.authentication": "Authentication", + "cookies.consent.app.title.authentication": "Autenticación", - // "dso-selector.edit.item.head": "Edit item", - "dso-selector.edit.item.head": "Editar artículo", + // "cookies.consent.app.description.authentication": "Required for signing you in", + "cookies.consent.app.description.authentication": "Requerido para iniciar sesión", - // "dso-selector.error.title": "An error occurred searching for a {{ type }}", - "dso-selector.error.title": "Se produjo un error al buscar un {{ type }}", - // "dso-selector.export-metadata.dspaceobject.head": "Export metadata from", - "dso-selector.export-metadata.dspaceobject.head": "Exportar metadatos de", + // "cookies.consent.app.title.preferences": "Preferences", + "cookies.consent.app.title.preferences": "Preferencias", - // "dso-selector.no-results": "No {{ type }} found", - "dso-selector.no-results": "No se encontró {{ type }}", + // "cookies.consent.app.description.preferences": "Required for saving your preferences", + "cookies.consent.app.description.preferences": "Requerido para guardar sus preferencias", - // "dso-selector.placeholder": "Search for a {{ type }}", - "dso-selector.placeholder": "Busque un {{ type }}", + // "cookies.consent.app.title.acknowledgement": "Acknowledgement", + "cookies.consent.app.title.acknowledgement": "Reconocimiento", - // "confirmation-modal.export-metadata.header": "Export metadata for {{ dsoName }}", - "confirmation-modal.export-metadata.header": "Exportar metadatos para {{ dsoName }}", + // "cookies.consent.app.description.acknowledgement": "Required for saving your acknowledgements and consents", + "cookies.consent.app.description.acknowledgement": "Requerido para guardar sus reconocimientos y consentimientos", - // "confirmation-modal.export-metadata.info": "Are you sure you want to export metadata for {{ dsoName }}", - "confirmation-modal.export-metadata.info": "¿Está seguro de que desea exportar metadatos para {{ dsoName }}?", - // "confirmation-modal.export-metadata.cancel": "Cancel", - "confirmation-modal.export-metadata.cancel": "Cancelar", - // "confirmation-modal.export-metadata.confirm": "Export", - "confirmation-modal.export-metadata.confirm": "Exportar", + // "cookies.consent.app.title.google-analytics": "Google Analytics", + "cookies.consent.app.title.google-analytics": "Google Analytics", - // "confirmation-modal.delete-eperson.header": "Delete EPerson \"{{ dsoName }}\"", - "confirmation-modal.delete-eperson.header": "Eliminar EPerson \"{{ dsoName }} \"", + // "cookies.consent.app.description.google-analytics": "Allows us to track statistical data", + "cookies.consent.app.description.google-analytics": "Nos permite rastrear datos estadísticos", - // "confirmation-modal.delete-eperson.info": "Are you sure you want to delete EPerson \"{{ dsoName }}\"", - "confirmation-modal.delete-eperson.info": "¿Está seguro de que desea eliminar EPerson \"{{ dsoName }} \"?", - // "confirmation-modal.delete-eperson.cancel": "Cancel", - "confirmation-modal.delete-eperson.cancel": "Cancelar", - // "confirmation-modal.delete-eperson.confirm": "Delete", - "confirmation-modal.delete-eperson.confirm": "Borrar", + // "cookies.consent.purpose.functional": "Functional", + "cookies.consent.purpose.functional": "Funcional", + // "cookies.consent.purpose.statistical": "Statistical", + "cookies.consent.purpose.statistical": "Estadístico", - // "error.bitstream": "Error fetching bitstream", - "error.bitstream": "Error al obtener el archivo", - // "error.browse-by": "Error fetching items", - "error.browse-by": "Error al obtener artículos", + // "curation-task.task.checklinks.label": "Check Links in Metadata", + "curation-task.task.checklinks.label": "Comprobar enlaces en metadatos", - // "error.collection": "Error fetching collection", - "error.collection": "Error al recuperar la colección", + // "curation-task.task.noop.label": "NOOP", + "curation-task.task.noop.label": "NOOP", - // "error.collections": "Error fetching collections", - "error.collections": "Error al obtener colecciones", + // "curation-task.task.profileformats.label": "Profile Bitstream Formats", + "curation-task.task.profileformats.label": "Formatos de perfil de archivo de perfil", - // "error.community": "Error fetching community", - "error.community": "Error al recuperar la comunidad", + // "curation-task.task.requiredmetadata.label": "Check for Required Metadata", + "curation-task.task.requiredmetadata.label": "Comprobar los metadatos requeridos", - // "error.identifier": "No item found for the identifier", - "error.identifier": "No se encontró ningún artículo para el identificador", + // "curation-task.task.translate.label": "Microsoft Translator", + "curation-task.task.translate.label": "Traductor de Microsoft", - // "error.default": "Error", - "error.default": "Error", + // "curation-task.task.vscan.label": "Virus Scan", + "curation-task.task.vscan.label": "Búsqueda de virus", - // "error.item": "Error fetching item", - "error.item": "Error al obtener el artículo", - // "error.items": "Error fetching items", - "error.items": "Error al obtener artículos", - // "error.objects": "Error fetching objects", - "error.objects": "Error al recuperar objetos", + // "curation.form.task-select.label": "Task:", + "curation.form.task-select.label": "Tarea:", - // "error.recent-submissions": "Error fetching recent submissions", - "error.recent-submissions": "Error al obtener envíos recientes", + // "curation.form.submit": "Start", + "curation.form.submit": "Comienzo", - // "error.search-results": "Error fetching search results", - "error.search-results": "Error al obtener los resultados de la búsqueda", + // "curation.form.submit.success.head": "The curation task has been started successfully", + "curation.form.submit.success.head": "La tarea de curación se ha iniciado con éxito.", - // "error.sub-collections": "Error fetching sub-collections", - "error.sub-collections": "Error al obtener subcolecciones", + // "curation.form.submit.success.content": "You will be redirected to the corresponding process page.", + "curation.form.submit.success.content": "Será redirigido a la página del proceso correspondiente.", - // "error.sub-communities": "Error fetching sub-communities", - "error.sub-communities": "Error al obtener subcomunidades", + // "curation.form.submit.error.head": "Running the curation task failed", + "curation.form.submit.error.head": "Error al ejecutar la tarea de curación", - // "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 durante la inicialización de la sección, verifique la configuración del formulario de entrada. ", + // "curation.form.submit.error.content": "An error occured when trying to start the curation task.", + "curation.form.submit.error.content": "Se produjo un error al intentar iniciar la tarea de curación.", - // "error.top-level-communities": "Error fetching top-level communities", - "error.top-level-communities": "Error al obtener las comunidades de nivel superior", + // "curation.form.submit.error.invalid-handle": "Couldn't determine the handle for this object", + "curation.form.submit.error.invalid-handle": "No se pudo determinar el handle de este objeto", - // "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.", + // "curation.form.handle.label": "Handle:", + "curation.form.handle.label": "Handle:", - // "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 }}.", + // "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": "Sugerencia: Introduzca [su-prefijo-handle] / 0 para ejecutar una tarea en toda su instalación (no todas las tareas permiten esta opción)", - // "error.validation.filerequired": "The file upload is mandatory", - "error.validation.filerequired": "La carga del archivo es obligatoria", + // "deny-request-copy.email.message": "Dear {{ recipientName }},\nIn response to your request I regret to inform you that it's not possible to send you a copy of the file(s) you have requested, concerning the document: \"{{ itemUrl }}\" ({{ itemName }}), of which I am an author.\n\nBest regards,\n{{ authorName }} <{{ authorEmail }}>", + "deny-request-copy.email.message": "Estimado {{ recipientName }},\nrespondiendo a su solicitud, lamento informarle que noe s posible I regret to inform you that it's not possible to send you a copy of the file(s) you have requested, concerning the document: \"{{ itemUrl }}\" ({{ itemName }}), of which I am an author.\n\nBest regards,\n{{ authorName }} <{{ authorEmail }}>", + // "deny-request-copy.email.subject": "Request copy of document", + "deny-request-copy.email.subject": "Solicitar una copia del documento", - // "file-section.error.header": "Error obtaining files for this item", - "file-section.error.header": "Error al obtener archivos para este artículo", + // "deny-request-copy.error": "An error occurred", + "deny-request-copy.error": "Ha ocurrido un error", + // "deny-request-copy.header": "Deny document copy request", + "deny-request-copy.header": "Denegar copia del documento", + // "deny-request-copy.intro": "This message will be sent to the applicant of the request", + "deny-request-copy.intro": "Éste es el texto que será enviado al solicitante.", - // "footer.copyright": "copyright © 2002-{{ year }}", - "footer.copyright": "copyright © 2002 - {{ year }}", + // "deny-request-copy.success": "Successfully denied item request", + "deny-request-copy.success": "Solicitud de copia de documento denegada", - // "footer.link.dspace": "DSpace software", - "footer.link.dspace": "Software DSpace", - // "footer.link.lyrasis": "LYRASIS", - "footer.link.lyrasis": "LYRASIS", - // "footer.link.cookies": "Cookie settings", - "footer.link.cookies": "Configuración de cookies", + // "dso.name.untitled": "Untitled", + "dso.name.untitled": "Sin título", - // "footer.link.privacy-policy": "Privacy policy", - "footer.link.privacy-policy": "Política de privacidad", - // "footer.link.end-user-agreement":"End User Agreement", - "footer.link.end-user-agreement": "Acuerdo de usuario final", + // "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", + "dso-selector.create.collection.sub-level": "Crea una nueva colección en", + // "dso-selector.create.community.head": "New community", + "dso-selector.create.community.head": "Nueva comunidad", - // "forgot-email.form.header": "Forgot Password", - "forgot-email.form.header": "Has olvidado tu contraseña", + // "dso-selector.create.community.sub-level": "Create a new community in", + "dso-selector.create.community.sub-level": "Crea una nueva comunidad en", - // "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": "Ingrese Registre una cuenta para suscribirse a colecciones para recibir actualizaciones por correo electrónico y envíe nuevos artículos a DSpace.", + // "dso-selector.create.community.top-level": "Create a new top-level community", + "dso-selector.create.community.top-level": "Crea una nueva comunidad de alto nivel", - // "forgot-email.form.email": "Email Address *", - "forgot-email.form.email": "Dirección de correo electrónico *", + // "dso-selector.create.item.head": "New item", + "dso-selector.create.item.head": "Nuevo ítem", - // "forgot-email.form.email.error.required": "Please fill in an email address", - "forgot-email.form.email.error.required": "Por favor ingrese una dirección de correo electrónico", + // "dso-selector.create.item.sub-level": "Create a new item in", + "dso-selector.create.item.sub-level": "Crea un nuevo ítem en", - // "forgot-email.form.email.error.pattern": "Please fill in a valid email address", - "forgot-email.form.email.error.pattern": "Por favor ingrese una dirección de correo electrónico válida", + // "dso-selector.create.submission.head": "New submission", + "dso-selector.create.submission.head": "Nuevo envío", - // "forgot-email.form.email.hint": "This address will be verified and used as your login name.", - "forgot-email.form.email.hint": "Esta dirección será verificada y utilizada como su nombre de inicio de sesión.", + // "dso-selector.edit.collection.head": "Edit collection", + "dso-selector.edit.collection.head": "Editar colección", - // "forgot-email.form.submit": "Save", - "forgot-email.form.submit": "Guardar", + // "dso-selector.edit.community.head": "Edit community", + "dso-selector.edit.community.head": "Editar comunidad", - // "forgot-email.form.success.head": "Verification email sent", - "forgot-email.form.success.head": "El mensaje de verificación ha sido enviado", + // "dso-selector.edit.item.head": "Edit item", + "dso-selector.edit.item.head": "Editar ítem", - // "forgot-email.form.success.content": "An email has been sent to {{ email }} containing a special URL and further instructions.", - "forgot-email.form.success.content": "Se envió un correo electrónico a {{ email }} que contiene una URL especial y más instrucciones.", + // "dso-selector.error.title": "An error occurred searching for a {{ type }}", + "dso-selector.error.title": "Se ha producido un error al buscar un {{ type }}", - // "forgot-email.form.error.head": "Error when trying to register email", - "forgot-email.form.error.head": "Error al intentar registrar el correo electrónico", + // "dso-selector.export-metadata.dspaceobject.head": "Export metadata from", + "dso-selector.export-metadata.dspaceobject.head": "Exportar metadatos desde", - // "forgot-email.form.error.content": "An error occured when registering the following email address: {{ email }}", - "forgot-email.form.error.content": "Se produjo un error al registrar la siguiente dirección de correo electrónico: {{ email }}", + // "dso-selector.no-results": "No {{ type }} found", + "dso-selector.no-results": "No se encontró {{ type }}", + // "dso-selector.placeholder": "Search for a {{ type }}", + "dso-selector.placeholder": "Busque un {{ type }}", + // "dso-selector.select.collection.head": "Select a collection", + "dso-selector.select.collection.head": "Seleccione una colección", - // "forgot-password.title": "Forgot Password", - "forgot-password.title": "Has olvidado tu contraseña", + // "dso-selector.set-scope.community.head": "Select a search scope", + "dso-selector.set-scope.community.head": "Seleccione un ámbito de búsqueda", - // "forgot-password.form.head": "Forgot Password", - "forgot-password.form.head": "Has olvidado tu contraseña", + // "dso-selector.set-scope.community.button": "Search all of DSpace", + "dso-selector.set-scope.community.button": "Buscar en todo DSpace", - // "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": "Ingrese una nueva contraseña en el cuadro a continuación y confírmela escribiéndola nuevamente en el segundo cuadro. Debe tener al menos seis caracteres.", + // "dso-selector.set-scope.community.input-header": "Search for a community or collection", + "dso-selector.set-scope.community.input-header": "Busque una comunidad o colección", - // "forgot-password.form.card.security": "Security", - "forgot-password.form.card.security": "Seguridad", + // "dso-selector.claim.item.head": "Profile tips", + "dso-selector.claim.item.head": "Consejos de perfil", - // "forgot-password.form.identification.header": "Identify", - "forgot-password.form.identification.header": "Identificar", + // "dso-selector.claim.item.body": "These are existing profiles that may be related to you. If you recognize yourself in one of these profiles, select it and on the detail page, among the options, choose to claim it. Otherwise you can create a new profile from scratch using the button below.", + "dso-selector.claim.item.body": "Hay perfiles que podrían estar relacionados con usted. SI se ve reflejado en uno de ellos, selecciónelo y en la página de detalles, elija la opción de reclamarlo. Opcionalmente puede crear un nuevo perfil desde cero usando el botón inferior.", - // "forgot-password.form.identification.email": "Email address: ", - "forgot-password.form.identification.email": "Dirección de correo electrónico:", + // "dso-selector.claim.item.not-mine-label": "None of these are mine", + "dso-selector.claim.item.not-mine-label": "Ninguno de esos es mio", - // "forgot-password.form.label.password": "Password", - "forgot-password.form.label.password": "Contraseña", + // "dso-selector.claim.item.create-from-scratch": "Create a new one", + "dso-selector.claim.item.create-from-scratch": "Crear uno nuevo", - // "forgot-password.form.label.passwordrepeat": "Retype to confirm", - "forgot-password.form.label.passwordrepeat": "Rescriba para confirmar", + // "confirmation-modal.export-metadata.header": "Export metadata for {{ dsoName }}", + "confirmation-modal.export-metadata.header": "Exportar metadatos para {{ dsoName }}", - // "forgot-password.form.error.empty-password": "Please enter a password in the box below.", - "forgot-password.form.error.empty-password": "Ingrese una contraseña en el cuadro a continuación.", + // "confirmation-modal.export-metadata.info": "Are you sure you want to export metadata for {{ dsoName }}", + "confirmation-modal.export-metadata.info": "¿Está seguro de que desea exportar metadatos para {{ dsoName }}?", - // "forgot-password.form.error.matching-passwords": "The passwords do not match.", - "forgot-password.form.error.matching-passwords": "Las contraseñas no coinciden.", + // "confirmation-modal.export-metadata.cancel": "Cancel", + "confirmation-modal.export-metadata.cancel": "Cancelar", - // "forgot-password.form.error.password-length": "The password should be at least 6 characters long.", - "forgot-password.form.error.password-length": "La contraseña debe tener al menos 6 caracteres.", + // "confirmation-modal.export-metadata.confirm": "Export", + "confirmation-modal.export-metadata.confirm": "Exportar", - // "forgot-password.form.notification.error.title": "Error when trying to submit new password", - "forgot-password.form.notification.error.title": "Error al intentar enviar una nueva contraseña", + // "confirmation-modal.delete-eperson.header": "Delete EPerson \"{{ dsoName }}\"", + "confirmation-modal.delete-eperson.header": "Borrar usuario \"{{ dsoName }} \"", - // "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": "El restablecimiento de la contraseña fue exitoso. Ha iniciado sesión como el usuario creado.", + // "confirmation-modal.delete-eperson.info": "Are you sure you want to delete EPerson \"{{ dsoName }}\"", + "confirmation-modal.delete-eperson.info": "¿Está seguro de que desea eliminar al usuario \"{{ dsoName }} \"?", - // "forgot-password.form.notification.success.title": "Password reset completed", - "forgot-password.form.notification.success.title": "Se completó el restablecimiento de la contraseña", + // "confirmation-modal.delete-eperson.cancel": "Cancel", + "confirmation-modal.delete-eperson.cancel": "Cancelar", - // "forgot-password.form.submit": "Submit password", - "forgot-password.form.submit": "Enviar contraseña", + // "confirmation-modal.delete-eperson.confirm": "Delete", + "confirmation-modal.delete-eperson.confirm": "Borrar", + // "confirmation-modal.delete-profile.header": "Delete Profile", + "confirmation-modal.delete-profile.header": "Borrar Perfil", + // "confirmation-modal.delete-profile.info": "Are you sure you want to delete your profile", + "confirmation-modal.delete-profile.info": "¿Está seguro que quiere borrar su perfil?", - // "form.add": "Add more", - "form.add": "Añadir más", + // "confirmation-modal.delete-profile.cancel": "Cancel", + "confirmation-modal.delete-profile.cancel": "Cancelar", - // "form.add-help": "Click here to add the current entry and to add another one", - "form.add-help": "Haga clic aquí para agregar la entrada actual y para agregar otra", + // "confirmation-modal.delete-profile.confirm": "Delete", + "confirmation-modal.delete-profile.confirm": "Borrar", - // "form.cancel": "Cancel", - "form.cancel": "Cancelar", - // "form.clear": "Clear", - "form.clear": "Claro", + // "error.bitstream": "Error fetching bitstream", + "error.bitstream": "Error al obtener el archivo", - // "form.clear-help": "Click here to remove the selected value", - "form.clear-help": "Haga clic aquí para eliminar el valor seleccionado", + // "error.browse-by": "Error fetching items", + "error.browse-by": "Error al recuperar ítems", - // "form.discard": "Discard", - "form.discard": "Descarte", + // "error.collection": "Error fetching collection", + "error.collection": "Error al recuperar la colección", - // "form.drag": "Drag", - "form.drag": "Arrastrar", + // "error.collections": "Error fetching collections", + "error.collections": "Error al recuperar colecciones", - // "form.edit": "Edit", - "form.edit": "Editar", + // "error.community": "Error fetching community", + "error.community": "Error al recuperar la comunidad", - // "form.edit-help": "Click here to edit the selected value", - "form.edit-help": "Haga clic aquí para editar el valor seleccionado", + // "error.identifier": "No item found for the identifier", + "error.identifier": "No se encontró ningún ítem con ese identificador", - // "form.first-name": "First name", - "form.first-name": "Nombre de pila", + // "error.default": "Error", + "error.default": "Error", - // "form.group-collapse": "Collapse", - "form.group-collapse": "Colapso", + // "error.item": "Error fetching item", + "error.item": "Error al recuperar el ítem", - // "form.group-collapse-help": "Click here to collapse", - "form.group-collapse-help": "Haga clic aquí para colapsar", + // "error.items": "Error fetching items", + "error.items": "Error al recuperar ítems", - // "form.group-expand": "Expand", - "form.group-expand": "Expandir", + // "error.objects": "Error fetching objects", + "error.objects": "Error al recuperar objetos", - // "form.group-expand-help": "Click here to expand and add more elements", - "form.group-expand-help": "Haga clic aquí para expandir y agregar más artículos", + // "error.recent-submissions": "Error fetching recent submissions", + "error.recent-submissions": "Error al recuperar los envíos recientes", - // "form.last-name": "Last name", - "form.last-name": "Apellido", + // "error.search-results": "Error fetching search results", + "error.search-results": "Error al recuperar los resultados de búsqueda", - // "form.loading": "Loading...", - "form.loading": "Cargando...", + // "error.invalid-search-query": "Search query is not valid. Please check Solr query syntax best practices for further information about this error.", + "error.invalid-search-query": "La búsqueda no es válida. Revise en la sintaxis de búsquedas Solr para mas información sobre este error.", - // "form.lookup": "Lookup", - "form.lookup": "Buscar", + // "error.sub-collections": "Error fetching sub-collections", + "error.sub-collections": "Error al recuperar subcolecciones", - // "form.lookup-help": "Click here to look up an existing relation", - "form.lookup-help": "Haga clic aquí para buscar una relación existente", + // "error.sub-communities": "Error fetching sub-communities", + "error.sub-communities": "Error al recuperar subcomunidades", - // "form.no-results": "No results found", - "form.no-results": "No se han encontrado resultados", + // "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 durante la inicialización de la sección, verifique la configuración de su formulario de entrada. Se dan detalles a continuación:", - // "form.no-value": "No value entered", - "form.no-value": "No se ingresó ningún valor", + // "error.top-level-communities": "Error fetching top-level communities", + "error.top-level-communities": "Error al recuperar las comunidades de nivel superior", - // "form.other-information": {}, - "form.other-information": {}, + // "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 conceda esta licencia de depósito para completar el envío. Si no puede conceder esta licencia en este momento, puede guardar su trabajo y regresar más tarde o bien eliminar el envío.", - // "form.remove": "Remove", - "form.remove": "Eliminar", + // "error.validation.pattern": "This input is restricted by the current pattern: {{ pattern }}.", + "error.validation.pattern": "Esta entrada está restringida por este patrón actual: {{ pattern }}.", - // "form.save": "Save", - "form.save": "Guardar", + // "error.validation.filerequired": "The file upload is mandatory", + "error.validation.filerequired": "La carga de un archivo es obligatoria", - // "form.save-help": "Save changes", - "form.save-help": "Guardar cambios", + // "error.validation.required": "This field is required", + "error.validation.required": "Se requiere este campo", - // "form.search": "Search", - "form.search": "Buscar", + // "error.validation.NotValidEmail": "This E-mail is not a valid email", + "error.validation.NotValidEmail": "Este no es correo electrónico válido", - // "form.search-help": "Click here to look for an existing correspondence", - "form.search-help": "Haga clic aquí para buscar una correspondencia existente", + // "error.validation.emailTaken": "This E-mail is already taken", + "error.validation.emailTaken": "Este correo electrónico ya está en uso", - // "form.submit": "Save", - "form.submit": "Guardar", + // "error.validation.groupExists": "This group already exists", + "error.validation.groupExists": "Este grupo ya existe", - // "form.repeatable.sort.tip": "Drop the item in the new position", - "form.repeatable.sort.tip": "Suelta el artículo en la nueva posición", + // "feed.description": "Syndication feed", + "feed.description": "Hilo de sindicación", - // "home.description": "", - "home.description": "", - // "home.breadcrumbs": "Home", - "home.breadcrumbs": "Hogar", + // "file-section.error.header": "Error obtaining files for this item", + "file-section.error.header": "Error al obtener archivos para este ítem", - // "home.search-form.placeholder": "Search the repository ...", - "home.search-form.placeholder": "Buscar en el repositorio ...", - // "home.title": "Home", - "home.title": "Hogar", - // "home.top-level-communities.head": "Communities in DSpace", - "home.top-level-communities.head": "Comunidades en DSpace", + // "footer.copyright": "copyright © 2002-{{ year }}", + "footer.copyright": "copyright © 2002 - {{ year }}", - // "home.top-level-communities.help": "Select a community to browse its collections.", - "home.top-level-communities.help": "Seleccione una comunidad para explorar sus colecciones.", + // "footer.link.dspace": "DSpace software", + "footer.link.dspace": "Software DSpace", + // "footer.link.lyrasis": "LYRASIS", + "footer.link.lyrasis": "LYRASIS", + // "footer.link.cookies": "Cookie settings", + "footer.link.cookies": "Configuración de cookies", - // "info.end-user-agreement.accept": "I have read and I agree to the End User Agreement", - "info.end-user-agreement.accept": "He leído y acepto el Acuerdo de usuario final.", + // "footer.link.privacy-policy": "Privacy policy", + "footer.link.privacy-policy": "Política de privacidad", - // "info.end-user-agreement.accept.error": "An error occurred accepting the End User Agreement", - "info.end-user-agreement.accept.error": "Se produjo un error al aceptar el Acuerdo de usuario final.", + // "footer.link.end-user-agreement":"End User Agreement", + "footer.link.end-user-agreement": "Acuerdo de usuario final", - // "info.end-user-agreement.accept.success": "Successfully updated the End User Agreement", - "info.end-user-agreement.accept.success": "Se actualizó correctamente el Acuerdo de usuario final.", + // "footer.link.feedback":"Send Feedback", + "footer.link.feedback":"Enviar Sugerencias", - // "info.end-user-agreement.breadcrumbs": "End User Agreement", - "info.end-user-agreement.breadcrumbs": "Acuerdo de usuario final", - // "info.end-user-agreement.buttons.cancel": "Cancel", - "info.end-user-agreement.buttons.cancel": "Cancelar", - // "info.end-user-agreement.buttons.save": "Save", - "info.end-user-agreement.buttons.save": "Guardar", + // "forgot-email.form.header": "Forgot Password", + "forgot-email.form.header": "Olvido de contraseña", - // "info.end-user-agreement.head": "End User Agreement", - "info.end-user-agreement.head": "Acuerdo de usuario final", + // "forgot-email.form.info": "Enter the email address associated with the account.", + "forgot-email.form.info": "Introduzca la dirección de correo electrónico que proporcionó cuando se registró.", - // "info.end-user-agreement.title": "End User Agreement", - "info.end-user-agreement.title": "Acuerdo de usuario final", + // "forgot-email.form.email": "Email Address *", + "forgot-email.form.email": "Dirección de correo electrónico *", - // "info.privacy.breadcrumbs": "Privacy Statement", - "info.privacy.breadcrumbs": "Declaracion de privacidad", + // "forgot-email.form.email.error.required": "Please fill in an email address", + "forgot-email.form.email.error.required": "Por favor introduzca una dirección de correo electrónico", - // "info.privacy.head": "Privacy Statement", - "info.privacy.head": "Declaracion de privacidad", + // "forgot-email.form.email.error.pattern": "Please fill in a valid email address", + "forgot-email.form.email.error.pattern": "Por favor introduzca una dirección de correo electrónico válida", - // "info.privacy.title": "Privacy Statement", - "info.privacy.title": "Declaracion de privacidad", + // "forgot-email.form.email.hint": "An email will be sent to this address with a further instructions.", + "forgot-email.form.email.hint": "Se le enviará un mensaje a esa dirección con las instrucciones pertinentes.", + // "forgot-email.form.submit": "Reset password", + "forgot-email.form.submit": "Restablecer contraseña", + // "forgot-email.form.success.head": "Password reset email sent", + "forgot-email.form.success.head": "Se ha enviado el mensaje de restablecemieto de contraseña", - // "item.alerts.private": "This item is private", - "item.alerts.private": "Este artículo es privado", + // "forgot-email.form.success.content": "An email has been sent to {{ email }} containing a special URL and further instructions.", + "forgot-email.form.success.content": "Se ha enviado un correo a {{ email }} que contiene una URL especial e instrucciones adicionales.", - // "item.alerts.withdrawn": "This item has been withdrawn", - "item.alerts.withdrawn": "Este artículo ha sido retirado", + // "forgot-email.form.error.head": "Error when trying to reset password", + "forgot-email.form.error.head": "Error al intentar restablecer la contraseña", + // "forgot-email.form.error.content": "An error occured when attempting to reset the password for the account associated with the following email address: {{ email }}", + "forgot-email.form.error.content": "Ha ocurrido una error intentando restablecer la contraseña para la cuenta asociada al correo electrónico: {{ email }}", - // "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": "Con este editor puede ver y modificar las políticas de un artículo, además de modificar las políticas de los componentes individuales del artículo: paquetes y archivos. Brevemente, un artículo es un contenedor de paquetes y los paquetes son contenedores de archivos. Los contenedores suelen tener políticas AGREGAR/ELIMINAR/LEER/ESCRIBIR, mientras que los archivos solo tienen políticas LEER/ESCRIBIR.", - // "item.edit.authorizations.title": "Edit item's Policies", - "item.edit.authorizations.title": "Editar las políticas del artículo", + // "forgot-password.title": "Forgot Password", + "forgot-password.title": "Olvido de contraseña", + // "forgot-password.form.head": "Forgot Password", + "forgot-password.form.head": "Olvido de contraseña", + // "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": "Introduzca una nueva contraseña en el cuadro a continuación y confírmela reescribiéndola en el segundo cuadro. Debe tener al menos seis caracteres.", - // "item.badge.private": "Private", - "item.badge.private": "Privado", + // "forgot-password.form.card.security": "Security", + "forgot-password.form.card.security": "Seguridad", - // "item.badge.withdrawn": "Withdrawn", - "item.badge.withdrawn": "Retirado", + // "forgot-password.form.identification.header": "Identify", + "forgot-password.form.identification.header": "Identificar", + // "forgot-password.form.identification.email": "Email address: ", + "forgot-password.form.identification.email": "Dirección de correo electrónico:", + // "forgot-password.form.label.password": "Password", + "forgot-password.form.label.password": "Contraseña", - // "item.bitstreams.upload.bundle": "Bundle", - "item.bitstreams.upload.bundle": "Manojo", + // "forgot-password.form.label.passwordrepeat": "Retype to confirm", + "forgot-password.form.label.passwordrepeat": "Reescriba para confirmar", - // "item.bitstreams.upload.bundle.placeholder": "Select a bundle", - "item.bitstreams.upload.bundle.placeholder": "Seleccione un paquete", + // "forgot-password.form.error.empty-password": "Please enter a password in the box below.", + "forgot-password.form.error.empty-password": "Introduzca una contraseña en el cuadro a continuación.", - // "item.bitstreams.upload.bundle.new": "Create bundle", - "item.bitstreams.upload.bundle.new": "Crear paquete", + // "forgot-password.form.error.matching-passwords": "The passwords do not match.", + "forgot-password.form.error.matching-passwords": "Las contraseñas no coinciden.", - // "item.bitstreams.upload.bundles.empty": "This item doesn\'t contain any bundles to upload a bitstream to.", - "item.bitstreams.upload.bundles.empty": "Este artículo no contiene ningún paquete para cargar un archivo.", + // "forgot-password.form.error.password-length": "The password should be at least 6 characters long.", + "forgot-password.form.error.password-length": "La contraseña debe tener al menos 6 caracteres.", - // "item.bitstreams.upload.cancel": "Cancel", - "item.bitstreams.upload.cancel": "Cancelar", + // "forgot-password.form.notification.error.title": "Error when trying to submit new password", + "forgot-password.form.notification.error.title": "Error al intentar enviar una nueva contraseña", - // "item.bitstreams.upload.drop-message": "Drop a file to upload", - "item.bitstreams.upload.drop-message": "Suelta un archivo para subir", + // "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": "El restablecimiento de la contraseña fue exitoso. Ha iniciado sesión como el usuario creado.", - // "item.bitstreams.upload.item": "Item: ", - "item.bitstreams.upload.item": "Artículo:", + // "forgot-password.form.notification.success.title": "Password reset completed", + "forgot-password.form.notification.success.title": "Se completó el restablecimiento de la contraseña", - // "item.bitstreams.upload.notifications.bundle.created.content": "Successfully created new bundle.", - "item.bitstreams.upload.notifications.bundle.created.content": "Nuevo paquete creado con éxito.", + // "forgot-password.form.submit": "Submit password", + "forgot-password.form.submit": "Enviar contraseña", - // "item.bitstreams.upload.notifications.bundle.created.title": "Created bundle", - "item.bitstreams.upload.notifications.bundle.created.title": "Paquete creado", - // "item.bitstreams.upload.notifications.upload.failed": "Upload failed. Please verify the content before retrying.", - "item.bitstreams.upload.notifications.upload.failed": "Subida fallida. Verifique el contenido antes de volver a intentarlo.", - // "item.bitstreams.upload.title": "Upload bitstream", - "item.bitstreams.upload.title": "Subir archivo", + // "form.add": "Add more", + "form.add": "Añadir más", + // "form.add-help": "Click here to add the current entry and to add another one", + "form.add-help": "Haga clic aquí para agregar la entrada actual y para agregar otra", + // "form.cancel": "Cancel", + "form.cancel": "Cancelar", - // "item.edit.bitstreams.bundle.edit.buttons.upload": "Upload", - "item.edit.bitstreams.bundle.edit.buttons.upload": "Subir", + // "form.clear": "Clear", + "form.clear": "Limpiar", - // "item.edit.bitstreams.bundle.displaying": "Currently displaying {{ amount }} bitstreams of {{ total }}.", - "item.edit.bitstreams.bundle.displaying": "Actualmente se muestran {{ amount }} archivos de {{ total }}.", + // "form.clear-help": "Click here to remove the selected value", + "form.clear-help": "Haga clic aquí para eliminar el valor seleccionado", - // "item.edit.bitstreams.bundle.load.all": "Load all ({{ total }})", - "item.edit.bitstreams.bundle.load.all": "Cargar todo ({{ total }})", + // "form.discard": "Discard", + "form.discard": "Descartar", - // "item.edit.bitstreams.bundle.load.more": "Load more", - "item.edit.bitstreams.bundle.load.more": "Carga más", + // "form.drag": "Drag", + "form.drag": "Arrastrar", - // "item.edit.bitstreams.bundle.name": "BUNDLE: {{ name }}", - "item.edit.bitstreams.bundle.name": "PAQUETE: {{ name }}", + // "form.edit": "Edit", + "form.edit": "Editar", - // "item.edit.bitstreams.discard-button": "Discard", - "item.edit.bitstreams.discard-button": "Descarte", + // "form.edit-help": "Click here to edit the selected value", + "form.edit-help": "Haga clic aquí para editar el valor seleccionado", - // "item.edit.bitstreams.edit.buttons.download": "Download", - "item.edit.bitstreams.edit.buttons.download": "Descargar", + // "form.first-name": "First name", + "form.first-name": "Nombre de pila", - // "item.edit.bitstreams.edit.buttons.drag": "Drag", - "item.edit.bitstreams.edit.buttons.drag": "Arrastrar", + // "form.group-collapse": "Collapse", + "form.group-collapse": "Contraer", - // "item.edit.bitstreams.edit.buttons.edit": "Edit", - "item.edit.bitstreams.edit.buttons.edit": "Editar", + // "form.group-collapse-help": "Click here to collapse", + "form.group-collapse-help": "Haga clic aquí para contraer", - // "item.edit.bitstreams.edit.buttons.remove": "Remove", - "item.edit.bitstreams.edit.buttons.remove": "Eliminar", + // "form.group-expand": "Expand", + "form.group-expand": "Expandir", - // "item.edit.bitstreams.edit.buttons.undo": "Undo changes", - "item.edit.bitstreams.edit.buttons.undo": "Deshacer cambios", + // "form.group-expand-help": "Click here to expand and add more elements", + "form.group-expand-help": "Haga clic aquí para expandir y agregar más elementos", - // "item.edit.bitstreams.empty": "This item doesn't contain any bitstreams. Click the upload button to create one.", - "item.edit.bitstreams.empty": "Este artículo no contiene ningún archivo. Haga clic en el botón de carga para crear uno.", + // "form.last-name": "Last name", + "form.last-name": "Apellido", - // "item.edit.bitstreams.headers.actions": "Actions", - "item.edit.bitstreams.headers.actions": "Comportamiento", + // "form.loading": "Loading...", + "form.loading": "Cargando...", - // "item.edit.bitstreams.headers.bundle": "Bundle", - "item.edit.bitstreams.headers.bundle": "Manojo", + // "form.lookup": "Lookup", + "form.lookup": "Buscar", - // "item.edit.bitstreams.headers.description": "Description", - "item.edit.bitstreams.headers.description": "Descripción", + // "form.lookup-help": "Click here to look up an existing relation", + "form.lookup-help": "Haga clic aquí para buscar una relación existente", - // "item.edit.bitstreams.headers.format": "Format", - "item.edit.bitstreams.headers.format": "Formato", + // "form.no-results": "No results found", + "form.no-results": "No se han encontrado resultados", - // "item.edit.bitstreams.headers.name": "Name", - "item.edit.bitstreams.headers.name": "Nombre", + // "form.no-value": "No value entered", + "form.no-value": "No se introdujo ningún valor", - // "item.edit.bitstreams.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", - "item.edit.bitstreams.notifications.discarded.content": "Tus cambios fueron descartados. ", + // "form.other-information": {}, + "form.other-information": {}, - // "item.edit.bitstreams.notifications.discarded.title": "Changes discarded", - "item.edit.bitstreams.notifications.discarded.title": "Cambios descartados", + // "form.remove": "Remove", + "form.remove": "Eliminar", - // "item.edit.bitstreams.notifications.move.failed.title": "Error moving bitstreams", - "item.edit.bitstreams.notifications.move.failed.title": "Error al mover archivos", + // "form.save": "Save", + "form.save": "Guardar", - // "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": "Se han guardado los cambios de movimiento en los archivos y paquetes de este artículo.", + // "form.save-help": "Save changes", + "form.save-help": "Guardar cambios", - // "item.edit.bitstreams.notifications.move.saved.title": "Move changes saved", - "item.edit.bitstreams.notifications.move.saved.title": "Mover cambios guardados", + // "form.search": "Search", + "form.search": "Buscar", - // "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": "Otro usuario ha cambiado el artículo en el que está trabajando actualmente. ", + // "form.search-help": "Click here to look for an existing correspondence", + "form.search-help": "Haga clic aquí para buscar una correspondencia existente", - // "item.edit.bitstreams.notifications.outdated.title": "Changes outdated", - "item.edit.bitstreams.notifications.outdated.title": "Cambios desactualizados", + // "form.submit": "Save", + "form.submit": "Guardar", - // "item.edit.bitstreams.notifications.remove.failed.title": "Error deleting bitstream", - "item.edit.bitstreams.notifications.remove.failed.title": "Error al eliminar archivo", + // "form.repeatable.sort.tip": "Drop the item in the new position", + "form.repeatable.sort.tip": "Suelte el ítem en la nueva posición", - // "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": "Se han guardado los cambios de eliminación de los archivos de este artículo.", - // "item.edit.bitstreams.notifications.remove.saved.title": "Removal changes saved", - "item.edit.bitstreams.notifications.remove.saved.title": "Se guardaron los cambios de eliminación", + // "grant-deny-request-copy.deny": "Don't send copy", + "grant-deny-request-copy.deny": "No envíe copia", - // "item.edit.bitstreams.reinstate-button": "Undo", - "item.edit.bitstreams.reinstate-button": "Deshacer", + // "grant-deny-request-copy.email.back": "Back", + "grant-deny-request-copy.email.back": "Atrás", - // "item.edit.bitstreams.save-button": "Save", - "item.edit.bitstreams.save-button": "Guardar", + // "grant-deny-request-copy.email.message": "Message", + "grant-deny-request-copy.email.message": "Mensaje", - // "item.edit.bitstreams.upload-button": "Upload", - "item.edit.bitstreams.upload-button": "Subir", + // "grant-deny-request-copy.email.message.empty": "Please enter a message", + "grant-deny-request-copy.email.message.empty": "Por favor, introduzca un mensaje", + // "grant-deny-request-copy.email.permissions.info": "You may use this occasion to reconsider the access restrictions on the document, to avoid having to respond to these requests. If you’d like to ask the repository administrators to remove these restrictions, please check the box below.", + "grant-deny-request-copy.email.permissions.info": "Puede aprovechar la ocasión para reconsiderar las restricciones de acceso al documento (para evitar tener que responder a estas solicitudes). Para consultar con los administadores del repositorio para retirar estas resticciones, marque por favor la casilla inferior.", + // "grant-deny-request-copy.email.permissions.label": "Change to open access", + "grant-deny-request-copy.email.permissions.label": "Cambio a Acceso Abierto", - // "item.edit.delete.cancel": "Cancel", - "item.edit.delete.cancel": "Cancelar", + // "grant-deny-request-copy.email.send": "Send", + "grant-deny-request-copy.email.send": "Enviar", - // "item.edit.delete.confirm": "Delete", - "item.edit.delete.confirm": "Borrar", + // "grant-deny-request-copy.email.subject": "Subject", + "grant-deny-request-copy.email.subject": "Asunto", - // "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 artículo debería eliminarse por completo? Precaución: en la actualidad, no se dejaría ninguna lápida.", + // "grant-deny-request-copy.email.subject.empty": "Please enter a subject", + "grant-deny-request-copy.email.subject.empty": "Por favor, introduzca un asunto", - // "item.edit.delete.error": "An error occurred while deleting the item", - "item.edit.delete.error": "Se produjo un error al eliminar el artículo.", + // "grant-deny-request-copy.grant": "Send copy", + "grant-deny-request-copy.grant": "Enviar copia", - // "item.edit.delete.header": "Delete item: {{ id }}", - "item.edit.delete.header": "Eliminar artículo: {{ id }}", + // "grant-deny-request-copy.header": "Document copy request", + "grant-deny-request-copy.header": "Solciitud de copia de documento", - // "item.edit.delete.success": "The item has been deleted", - "item.edit.delete.success": "El artículo ha sido eliminado", + // "grant-deny-request-copy.home-page": "Take me to the home page", + "grant-deny-request-copy.home-page": "Llévame a la página de inicio", - // "item.edit.head": "Edit Item", - "item.edit.head": "Editar artículo", + // "grant-deny-request-copy.intro1": "If you are one of the authors of the document {{ name }}, then please use one of the options below to respond to the user's request.", + "grant-deny-request-copy.intro1": "Si usted es uno de los autores del documento {{ name }}, use los botones inferiores para responder la solicitud del usuario", - // "item.edit.breadcrumbs": "Edit Item", - "item.edit.breadcrumbs": "Editar artículo", - // "item.edit.tabs.disabled.tooltip": "You're not authorized to access this tab", - "item.edit.tabs.disabled.tooltip": "No tienes autorización para acceder a esta pestaña", + // "grant-deny-request-copy.intro2": "After choosing an option, you will be presented with a suggested email reply which you may edit.", + "grant-deny-request-copy.intro2": "Tras elegir una opción, le sugeriremos un texto de correo electrónico que usted puede editar.", - // "item.edit.tabs.mapper.head": "Collection Mapper", - "item.edit.tabs.mapper.head": "Mapeador de colecciones", + // "grant-deny-request-copy.processed": "This request has already been processed. You can use the button below to get back to the home page.", + "grant-deny-request-copy.processed": "Esta solicitud fue ya procesada. Puede usar los botones inferiores para regresas a la página de inicio", - // "item.edit.tabs.item-mapper.title": "Item Edit - Collection Mapper", - "item.edit.tabs.item-mapper.title": "Edición de artículos - Mapeador de colecciones", - // "item.edit.item-mapper.buttons.add": "Map item to selected collections", - "item.edit.item-mapper.buttons.add": "Asignar artículo a 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 artículos para las colecciones seleccionadas", + // "grant-request-copy.email.message": "Dear {{ recipientName }},\nIn response to your request I have the pleasure to send you in attachment a copy of the file(s) concerning the document: \"{{ itemUrl }}\" ({{ itemName }}), of which I am an author.\n\nBest regards,\n{{ authorName }} <{{ authorEmail }}>", + "grant-request-copy.email.message": "Estimado {{ recipientName }},\nRespondiendo a su solicitud, le envío anexada una copia del fichero correspondiente al documento: \"{{ itemUrl }}\" ({{ itemName }}), del que soy autor.\n\nUn cordial saludo,\n{{ authorName }} <{{ authorEmail }}>", - // "item.edit.item-mapper.cancel": "Cancel", - "item.edit.item-mapper.cancel": "Cancelar", + // "grant-request-copy.email.subject": "Request copy of document", + "grant-request-copy.email.subject": "Solicitar copia de documento", - // "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 artículos que permite a los administradores asignar este artículo a otras colecciones. Puede buscar colecciones y mapearlas, o explorar la lista de colecciones a las que el artículo está mapeado actualmente.", + // "grant-request-copy.error": "An error occurred", + "grant-request-copy.error": "Ocurrió un error", - // "item.edit.item-mapper.head": "Item Mapper - Map Item to Collections", - "item.edit.item-mapper.head": "Asignador de artículos: asigna artículos a colecciones", + // "grant-request-copy.header": "Grant document copy request", + "grant-request-copy.header": "Permitir solicitud de copia de documento", - // "item.edit.item-mapper.item": "Item: \"{{name}}\"", - "item.edit.item-mapper.item": "Artículo: \"{{ name }}\"", + // "grant-request-copy.intro": "This message will be sent to the applicant of the request. The requested document(s) will be attached.", + "grant-request-copy.intro": "Este mensaje se enviará al solicitante de la copia. Se le anexará una copia del documento.", - // "item.edit.item-mapper.no-search": "Please enter a query to search", - "item.edit.item-mapper.no-search": "Ingrese una consulta para buscar", + // "grant-request-copy.success": "Successfully granted item request", + "grant-request-copy.success": "Solicitud de ítem concedida exitosamente", - // "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 mapear el artículo a {{ amount }} colecciones.", - // "item.edit.item-mapper.notifications.add.error.head": "Mapping errors", - "item.edit.item-mapper.notifications.add.error.head": "Errores de mapeo", + // "health.breadcrumbs": "Health", + "health.breadcrumbs": "Chequeos", - // "item.edit.item-mapper.notifications.add.success.content": "Successfully mapped item to {{amount}} collections.", - "item.edit.item-mapper.notifications.add.success.content": "Se asignó correctamente el artículo a {{ amount }} colecciones.", + // "health-page.heading" : "Health", + "health-page.heading" : "Chequeos", - // "item.edit.item-mapper.notifications.add.success.head": "Mapping completed", - "item.edit.item-mapper.notifications.add.success.head": "Mapeo completado", + // "health-page.info-tab" : "Info", + "health-page.info-tab" : "Información", - // "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 para la eliminación de la asignación a {{ amount }} colecciones.", + // "health-page.status-tab" : "Status", + "health-page.status-tab" : "Estado", - // "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", + // "health-page.error.msg": "The health check service is temporarily unavailable", + "health-page.error.msg": "El servicio de comprobación no se encuentra temporalmente disponible", - // "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ó correctamente la asignación del artículo a {{ amount }} colecciones.", + // "health-page.property.status": "Status code", + "health-page.property.status": "Código de estado", - // "item.edit.item-mapper.notifications.remove.success.head": "Removal of mapping completed", - "item.edit.item-mapper.notifications.remove.success.head": "Eliminación del mapeo completada", + // "health-page.section.db.title": "Database", + "health-page.section.db.title": "Database", - // "item.edit.item-mapper.search-form.placeholder": "Search collections...", - "item.edit.item-mapper.search-form.placeholder": "Buscar colecciones...", + // "health-page.section.geoIp.title": "GeoIp", + "health-page.section.geoIp.title": "GeoIp", - // "item.edit.item-mapper.tabs.browse": "Browse mapped collections", - "item.edit.item-mapper.tabs.browse": "Examinar colecciones mapeadas", + // "health-page.section.solrAuthorityCore.title": "Sor: authority core", + "health-page.section.solrAuthorityCore.title": "Solr: authority core", - // "item.edit.item-mapper.tabs.map": "Map new collections", - "item.edit.item-mapper.tabs.map": "Mapear nuevas colecciones", + // "health-page.section.solrOaiCore.title": "Sor: oai core", + "health-page.section.solrOaiCore.title": "Solr: oai core", + // "health-page.section.solrSearchCore.title": "Sor: search core", + "health-page.section.solrSearchCore.title": "Solr: search core", + // "health-page.section.solrStatisticsCore.title": "Sor: statistics core", + "health-page.section.solrStatisticsCore.title": "Solr: statistics core", - // "item.edit.metadata.add-button": "Add", - "item.edit.metadata.add-button": "Agregar", + // "health-page.section-info.app.title": "Application Backend", + "health-page.section-info.app.title": "Backend de la aplicación", - // "item.edit.metadata.discard-button": "Discard", - "item.edit.metadata.discard-button": "Descarte", + // "health-page.section-info.java.title": "Java", + "health-page.section-info.java.title": "Java", - // "item.edit.metadata.edit.buttons.edit": "Edit", - "item.edit.metadata.edit.buttons.edit": "Editar", + // "health-page.status": "Status", + "health-page.status": "Estado", - // "item.edit.metadata.edit.buttons.remove": "Remove", - "item.edit.metadata.edit.buttons.remove": "Eliminar", + // "health-page.status.ok.info": "Operational", + "health-page.status.ok.info": "Operativo", - // "item.edit.metadata.edit.buttons.undo": "Undo changes", - "item.edit.metadata.edit.buttons.undo": "Deshacer cambios", + // "health-page.status.error.info": "Problems detected", + "health-page.status.error.info": "Problemas detectados", - // "item.edit.metadata.edit.buttons.unedit": "Stop editing", - "item.edit.metadata.edit.buttons.unedit": "Dejar de editar", + // "health-page.status.warning.info": "Possible issues detected", + "health-page.status.warning.info": "Detectados problemas potenciales", - // "item.edit.metadata.empty": "The item currently doesn't contain any metadata. Click Add to start adding a metadata value.", - "item.edit.metadata.empty": "Actualmente, el artículo no contiene metadatos. Haga clic en Agregar para comenzar a agregar un valor de metadatos.", + // "health-page.title": "Health", + "health-page.title": "Chequeos", - // "item.edit.metadata.headers.edit": "Edit", - "item.edit.metadata.headers.edit": "Editar", + // "health-page.section.no-issues": "No issues detected", + "health-page.section.no-issues": "No se detectaron problemas", - // "item.edit.metadata.headers.field": "Field", - "item.edit.metadata.headers.field": "Campo", - // "item.edit.metadata.headers.language": "Lang", - "item.edit.metadata.headers.language": "Lang", + // "home.description": "", + "home.description": "", - // "item.edit.metadata.headers.value": "Value", - "item.edit.metadata.headers.value": "Valor", + // "home.breadcrumbs": "Home", + "home.breadcrumbs": "Inicio", - // "item.edit.metadata.metadatafield.invalid": "Please choose a valid metadata field", - "item.edit.metadata.metadatafield.invalid": "Elija un campo de metadatos válido", + // "home.search-form.placeholder": "Search the repository ...", + "home.search-form.placeholder": "Buscar en el repositorio ...", - // "item.edit.metadata.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", - "item.edit.metadata.notifications.discarded.content": "Tus cambios fueron descartados. ", + // "home.title": "Home", + "home.title": "Inicio", - // "item.edit.metadata.notifications.discarded.title": "Changed discarded", - "item.edit.metadata.notifications.discarded.title": "Cambiado descartado", + // "home.top-level-communities.head": "Communities in DSpace", + "home.top-level-communities.head": "Comunidades en DSpace", - // "item.edit.metadata.notifications.error.title": "An error occurred", - "item.edit.metadata.notifications.error.title": "Ocurrió un error", + // "home.top-level-communities.help": "Select a community to browse its collections.", + "home.top-level-communities.help": "Seleccione una comunidad para explorar sus colecciones.", - // "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": "Tus cambios no se guardaron. 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": "Otro usuario ha cambiado el artículo en el que está trabajando actualmente. ", + // "info.end-user-agreement.accept": "I have read and I agree to the End User Agreement", + "info.end-user-agreement.accept": "He leído y acepto el Acuerdo de usuario final.", - // "item.edit.metadata.notifications.outdated.title": "Changed outdated", - "item.edit.metadata.notifications.outdated.title": "Cambiado desactualizado", + // "info.end-user-agreement.accept.error": "An error occurred accepting the End User Agreement", + "info.end-user-agreement.accept.error": "Se produjo un error al aceptar el Acuerdo de usuario final.", - // "item.edit.metadata.notifications.saved.content": "Your changes to this item's metadata were saved.", - "item.edit.metadata.notifications.saved.content": "Se guardaron sus cambios en los metadatos de este artículo.", + // "info.end-user-agreement.accept.success": "Successfully updated the End User Agreement", + "info.end-user-agreement.accept.success": "Se actualizó correctamente el Acuerdo de usuario final.", - // "item.edit.metadata.notifications.saved.title": "Metadata saved", - "item.edit.metadata.notifications.saved.title": "Metadatos guardados", + // "info.end-user-agreement.breadcrumbs": "End User Agreement", + "info.end-user-agreement.breadcrumbs": "Acuerdo de usuario final", - // "item.edit.metadata.reinstate-button": "Undo", - "item.edit.metadata.reinstate-button": "Deshacer", + // "info.end-user-agreement.buttons.cancel": "Cancel", + "info.end-user-agreement.buttons.cancel": "Cancelar", - // "item.edit.metadata.save-button": "Save", - "item.edit.metadata.save-button": "Guardar", + // "info.end-user-agreement.buttons.save": "Save", + "info.end-user-agreement.buttons.save": "Guardar", + // "info.end-user-agreement.head": "End User Agreement", + "info.end-user-agreement.head": "Acuerdo de usuario final", + // "info.end-user-agreement.title": "End User Agreement", + "info.end-user-agreement.title": "Acuerdo de usuario final", - // "item.edit.modify.overview.field": "Field", - "item.edit.modify.overview.field": "Campo", + // "info.privacy.breadcrumbs": "Privacy Statement", + "info.privacy.breadcrumbs": "Declaracion de privacidad", - // "item.edit.modify.overview.language": "Language", - "item.edit.modify.overview.language": "Idioma", + // "info.privacy.head": "Privacy Statement", + "info.privacy.head": "Declaracion de privacidad", - // "item.edit.modify.overview.value": "Value", - "item.edit.modify.overview.value": "Valor", + // "info.privacy.title": "Privacy Statement", + "info.privacy.title": "Declaracion de privacidad", + // "info.feedback.breadcrumbs": "Feedback", + "info.feedback.breadcrumbs": "Sugerencias", + // "info.feedback.head": "Feedback", + "info.feedback.head": "Sugerencias", - // "item.edit.move.cancel": "Back", - "item.edit.move.cancel": "atrás", + // "info.feedback.title": "Feedback", + "info.feedback.title": "Sugerencias", - // "item.edit.move.save-button": "Save", - "item.edit.move.save-button": "Guardar", + // "info.feedback.info": "Thanks for sharing your feedback about the DSpace system. Your comments are appreciated!", + "info.feedback.info": "Gracias por compartir sus sugerencias sobre el repositorio. ¡Tendremos en cuenta sus comentarios!", - // "item.edit.move.discard-button": "Discard", - "item.edit.move.discard-button": "Descarte", + // "info.feedback.email_help": "This address will be used to follow up on your feedback.", + "info.feedback.email_help": "Esta dirección se usará para el seguimiento de su sugerencia.", - // "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 artículo. Para reducir la lista de colecciones mostradas, puede ingresar una consulta de búsqueda en el cuadro.", + // "info.feedback.send": "Send Feedback", + "info.feedback.send": "Envíar sugerencia", - // "item.edit.move.error": "An error occurred when attempting to move the item", - "item.edit.move.error": "Se produjo un error al intentar mover el artículo.", + // "info.feedback.comments": "Comments", + "info.feedback.comments": "Comentarios", - // "item.edit.move.head": "Move item: {{id}}", - "item.edit.move.head": "Mover artículo: {{ id }}", + // "info.feedback.email-label": "Your Email", + "info.feedback.email-label": "Su correo electrónico", - // "item.edit.move.inheritpolicies.checkbox": "Inherit policies", - "item.edit.move.inheritpolicies.checkbox": "Heredar políticas", + // "info.feedback.create.success" : "Feedback Sent Successfully!", + "info.feedback.create.success" : "Envío exitoso de sugerencia", - // "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", + // "info.feedback.error.email.required" : "A valid email address is required", + "info.feedback.error.email.required" : "se requiere una dirección válida de correo electrónico", - // "item.edit.move.move": "Move", - "item.edit.move.move": "Moverse", + // "info.feedback.error.message.required" : "A comment is required", + "info.feedback.error.message.required" : "Se requiere un comentario", - // "item.edit.move.processing": "Moving...", - "item.edit.move.processing": "Moviente...", + // "info.feedback.page-label" : "Page", + "info.feedback.page-label" : "Página", - // "item.edit.move.search.placeholder": "Enter a search query to look for collections", - "item.edit.move.search.placeholder": "Ingrese una consulta de búsqueda para buscar colecciones", + // "info.feedback.page_help" : "Tha page related to your feedback", + "info.feedback.page_help" : "La página relacionada con su sugerencia", - // "item.edit.move.success": "The item has been moved successfully", - "item.edit.move.success": "El artículo se ha movido correctamente.", - // "item.edit.move.title": "Move item", - "item.edit.move.title": "Mover artículo", + // "item.alerts.private": "This item is non-discoverable", + "item.alerts.private": "Este artículo es privado", + // "item.alerts.withdrawn": "This item has been withdrawn", + "item.alerts.withdrawn": "Este artículo ha sido retirado", - // "item.edit.private.cancel": "Cancel", - "item.edit.private.cancel": "Cancelar", - // "item.edit.private.confirm": "Make it Private", - "item.edit.private.confirm": "Hacerlo privado", - // "item.edit.private.description": "Are you sure this item should be made private in the archive?", - "item.edit.private.description": "¿Estás seguro de que este artículo debe ser privado en el archivo?", + // "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": "Con este editor puede ver y modificar las políticas de un artículo, además de modificar las políticas de los componentes individuales del artículo: paquetes y archivos. Brevemente, un artículo es un contenedor de paquetes y los paquetes son contenedores de archivos. Los contenedores suelen tener políticas AGREGAR/ELIMINAR/LEER/ESCRIBIR, mientras que los archivos solo tienen políticas LEER/ESCRIBIR.", - // "item.edit.private.error": "An error occurred while making the item private", - "item.edit.private.error": "Se produjo un error al convertir el artículo en privado.", + // "item.edit.authorizations.title": "Edit item's Policies", + "item.edit.authorizations.title": "Editar las políticas del artículo", - // "item.edit.private.header": "Make item private: {{ id }}", - "item.edit.private.header": "Hacer que el artículo sea privado: {{ id }}", - // "item.edit.private.success": "The item is now private", - "item.edit.private.success": "El artículo ahora es privado", + // "item.badge.private": "Non-discoverable", + "item.badge.private": "Privado", + // "item.badge.withdrawn": "Withdrawn", + "item.badge.withdrawn": "Retirado", - // "item.edit.public.cancel": "Cancel", - "item.edit.public.cancel": "Cancelar", - // "item.edit.public.confirm": "Make it Public", - "item.edit.public.confirm": "Hágalo 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 artículo debe hacerse público en el archivo?", + // "item.bitstreams.upload.bundle": "Bundle", + "item.bitstreams.upload.bundle": "Bloque", - // "item.edit.public.error": "An error occurred while making the item public", - "item.edit.public.error": "Se produjo un error al hacer público el artículo.", + // "item.bitstreams.upload.bundle.placeholder": "Select a bundle or input new bundle name", + "item.bitstreams.upload.bundle.placeholder": "Seleccione un bloque o introduzca un nuevo nombre de bloque", - // "item.edit.public.header": "Make item public: {{ id }}", - "item.edit.public.header": "Hacer público el artículo: {{ id }}", + // "item.bitstreams.upload.bundle.new": "Create bundle", + "item.bitstreams.upload.bundle.new": "Crear bloque", - // "item.edit.public.success": "The item is now public", - "item.edit.public.success": "El artículo ahora es público", + // "item.bitstreams.upload.bundles.empty": "This item doesn\'t contain any bundles to upload a bitstream to.", + "item.bitstreams.upload.bundles.empty": "Este artículo no contiene ningún bloque para cargar un archivo.", + // "item.bitstreams.upload.cancel": "Cancel", + "item.bitstreams.upload.cancel": "Cancelar", + // "item.bitstreams.upload.drop-message": "Drop a file to upload", + "item.bitstreams.upload.drop-message": "Suelta un archivo para subir", - // "item.edit.reinstate.cancel": "Cancel", - "item.edit.reinstate.cancel": "Cancelar", + // "item.bitstreams.upload.item": "Item: ", + "item.bitstreams.upload.item": "Artículo:", - // "item.edit.reinstate.confirm": "Reinstate", - "item.edit.reinstate.confirm": "Reintegrar", + // "item.bitstreams.upload.notifications.bundle.created.content": "Successfully created new bundle.", + "item.bitstreams.upload.notifications.bundle.created.content": "Nuevo bloque creado con éxito.", - // "item.edit.reinstate.description": "Are you sure this item should be reinstated to the archive?", - "item.edit.reinstate.description": "¿Está seguro de que este artículo debe restablecerse en el archivo?", + // "item.bitstreams.upload.notifications.bundle.created.title": "Created bundle", + "item.bitstreams.upload.notifications.bundle.created.title": "Bloque creado", - // "item.edit.reinstate.error": "An error occurred while reinstating the item", - "item.edit.reinstate.error": "Ocurrió un error al reinstalar el artículo", + // "item.bitstreams.upload.notifications.upload.failed": "Upload failed. Please verify the content before retrying.", + "item.bitstreams.upload.notifications.upload.failed": "Subida fallida. Verifique el contenido antes de volver a intentarlo.", - // "item.edit.reinstate.header": "Reinstate item: {{ id }}", - "item.edit.reinstate.header": "Restablecer artículo: {{ id }}", + // "item.bitstreams.upload.title": "Upload bitstream", + "item.bitstreams.upload.title": "Subir archivo", - // "item.edit.reinstate.success": "The item was reinstated successfully", - "item.edit.reinstate.success": "El artículo se restableció correctamente", + // "item.edit.bitstreams.bundle.edit.buttons.upload": "Upload", + "item.edit.bitstreams.bundle.edit.buttons.upload": "Subir", - // "item.edit.relationships.discard-button": "Discard", - "item.edit.relationships.discard-button": "Descarte", + // "item.edit.bitstreams.bundle.displaying": "Currently displaying {{ amount }} bitstreams of {{ total }}.", + "item.edit.bitstreams.bundle.displaying": "Actualmente se muestran {{ amount }} archivos de {{ total }}.", - // "item.edit.relationships.edit.buttons.add": "Add", - "item.edit.relationships.edit.buttons.add": "Agregar", + // "item.edit.bitstreams.bundle.load.all": "Load all ({{ total }})", + "item.edit.bitstreams.bundle.load.all": "Cargar todo ({{ total }})", - // "item.edit.relationships.edit.buttons.remove": "Remove", - "item.edit.relationships.edit.buttons.remove": "Eliminar", + // "item.edit.bitstreams.bundle.load.more": "Load more", + "item.edit.bitstreams.bundle.load.more": "Carga más", - // "item.edit.relationships.edit.buttons.undo": "Undo changes", - "item.edit.relationships.edit.buttons.undo": "Deshacer cambios", + // "item.edit.bitstreams.bundle.name": "BUNDLE: {{ name }}", + "item.edit.bitstreams.bundle.name": "BLOQUE: {{ name }}", - // "item.edit.relationships.no-relationships": "No relationships", - "item.edit.relationships.no-relationships": "Sin relaciones", + // "item.edit.bitstreams.discard-button": "Discard", + "item.edit.bitstreams.discard-button": "Descarte", - // "item.edit.relationships.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", - "item.edit.relationships.notifications.discarded.content": "Tus cambios fueron descartados. ", + // "item.edit.bitstreams.edit.buttons.download": "Download", + "item.edit.bitstreams.edit.buttons.download": "Descargar", - // "item.edit.relationships.notifications.discarded.title": "Changes discarded", - "item.edit.relationships.notifications.discarded.title": "Cambios descartados", + // "item.edit.bitstreams.edit.buttons.drag": "Drag", + "item.edit.bitstreams.edit.buttons.drag": "Arrastrar", - // "item.edit.relationships.notifications.failed.title": "Error editing relationships", - "item.edit.relationships.notifications.failed.title": "Error al editar las relaciones", + // "item.edit.bitstreams.edit.buttons.edit": "Edit", + "item.edit.bitstreams.edit.buttons.edit": "Editar", - // "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": "Otro usuario ha cambiado el artículo en el que está trabajando actualmente. ", + // "item.edit.bitstreams.edit.buttons.remove": "Remove", + "item.edit.bitstreams.edit.buttons.remove": "Eliminar", - // "item.edit.relationships.notifications.outdated.title": "Changes outdated", - "item.edit.relationships.notifications.outdated.title": "Cambios desactualizados", + // "item.edit.bitstreams.edit.buttons.undo": "Undo changes", + "item.edit.bitstreams.edit.buttons.undo": "Deshacer cambios", - // "item.edit.relationships.notifications.saved.content": "Your changes to this item's relationships were saved.", - "item.edit.relationships.notifications.saved.content": "Se guardaron sus cambios en las relaciones de este artículo.", + // "item.edit.bitstreams.empty": "This item doesn't contain any bitstreams. Click the upload button to create one.", + "item.edit.bitstreams.empty": "Este artículo no contiene ningún archivo. Haga clic en el botón de carga para crear uno.", - // "item.edit.relationships.notifications.saved.title": "Relationships saved", - "item.edit.relationships.notifications.saved.title": "Relaciones guardadas", + // "item.edit.bitstreams.headers.actions": "Actions", + "item.edit.bitstreams.headers.actions": "Comportamiento", - // "item.edit.relationships.reinstate-button": "Undo", - "item.edit.relationships.reinstate-button": "Deshacer", + // "item.edit.bitstreams.headers.bundle": "Bundle", + "item.edit.bitstreams.headers.bundle": "Manojo", - // "item.edit.relationships.save-button": "Save", - "item.edit.relationships.save-button": "Guardar", + // "item.edit.bitstreams.headers.description": "Description", + "item.edit.bitstreams.headers.description": "Descripción", - // "item.edit.relationships.no-entity-type": "Add 'dspace.entity.type' metadata to enable relationships for this item", - "item.edit.relationships.no-entity-type": "Agregue metadatos 'dspace.entity.type' para habilitar las relaciones para este artículo", + // "item.edit.bitstreams.headers.format": "Format", + "item.edit.bitstreams.headers.format": "Formato", + // "item.edit.bitstreams.headers.name": "Name", + "item.edit.bitstreams.headers.name": "Nombre", - // "item.edit.return": "Back", - "item.edit.return": "atrás", + // "item.edit.bitstreams.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", + "item.edit.bitstreams.notifications.discarded.content": "Tus cambios fueron descartados. ", + // "item.edit.bitstreams.notifications.discarded.title": "Changes discarded", + "item.edit.bitstreams.notifications.discarded.title": "Cambios descartados", - // "item.edit.tabs.bitstreams.head": "Bitstreams", - "item.edit.tabs.bitstreams.head": "Archivos", + // "item.edit.bitstreams.notifications.move.failed.title": "Error moving bitstreams", + "item.edit.bitstreams.notifications.move.failed.title": "Error al mover archivos", - // "item.edit.tabs.bitstreams.title": "Item Edit - Bitstreams", - "item.edit.tabs.bitstreams.title": "Edición de artículos: archivos", + // "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": "Se han guardado los cambios de movimiento en los archivos y paquetes de este artículo.", - // "item.edit.tabs.curate.head": "Curate", - "item.edit.tabs.curate.head": "Cura", + // "item.edit.bitstreams.notifications.move.saved.title": "Move changes saved", + "item.edit.bitstreams.notifications.move.saved.title": "Mover cambios guardados", - // "item.edit.tabs.curate.title": "Item Edit - Curate", - "item.edit.tabs.curate.title": "Edición de artículo: seleccionar", + // "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": "Otro usuario ha cambiado el artículo en el que está trabajando actualmente. ", - // "item.edit.tabs.metadata.head": "Metadata", - "item.edit.tabs.metadata.head": "Metadatos", + // "item.edit.bitstreams.notifications.outdated.title": "Changes outdated", + "item.edit.bitstreams.notifications.outdated.title": "Cambios desactualizados", - // "item.edit.tabs.metadata.title": "Item Edit - Metadata", - "item.edit.tabs.metadata.title": "Edición de artículos: metadatos", + // "item.edit.bitstreams.notifications.remove.failed.title": "Error deleting bitstream", + "item.edit.bitstreams.notifications.remove.failed.title": "Error al eliminar archivo", - // "item.edit.tabs.relationships.head": "Relationships", - "item.edit.tabs.relationships.head": "Relaciones", + // "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": "Se han guardado los cambios de eliminación de los archivos de este artículo.", - // "item.edit.tabs.relationships.title": "Item Edit - Relationships", - "item.edit.tabs.relationships.title": "Edición de artículo: relaciones", + // "item.edit.bitstreams.notifications.remove.saved.title": "Removal changes saved", + "item.edit.bitstreams.notifications.remove.saved.title": "Se guardaron los cambios de eliminación", - // "item.edit.tabs.status.buttons.authorizations.button": "Authorizations...", - "item.edit.tabs.status.buttons.authorizations.button": "Autorizaciones...", + // "item.edit.bitstreams.reinstate-button": "Undo", + "item.edit.bitstreams.reinstate-button": "Deshacer", - // "item.edit.tabs.status.buttons.authorizations.label": "Edit item's authorization policies", - "item.edit.tabs.status.buttons.authorizations.label": "Editar las políticas de autorización del artículo", + // "item.edit.bitstreams.save-button": "Save", + "item.edit.bitstreams.save-button": "Guardar", - // "item.edit.tabs.status.buttons.delete.button": "Permanently delete", - "item.edit.tabs.status.buttons.delete.button": "Borrar permanentemente", + // "item.edit.bitstreams.upload-button": "Upload", + "item.edit.bitstreams.upload-button": "Subir", - // "item.edit.tabs.status.buttons.delete.label": "Completely expunge item", - "item.edit.tabs.status.buttons.delete.label": "Eliminar completamente el artículo", - // "item.edit.tabs.status.buttons.mappedCollections.button": "Mapped collections", - "item.edit.tabs.status.buttons.mappedCollections.button": "Colecciones mapeadas", - // "item.edit.tabs.status.buttons.mappedCollections.label": "Manage mapped collections", - "item.edit.tabs.status.buttons.mappedCollections.label": "Administrar colecciones mapeadas", + // "item.edit.delete.cancel": "Cancel", + "item.edit.delete.cancel": "Cancelar", - // "item.edit.tabs.status.buttons.move.button": "Move...", - "item.edit.tabs.status.buttons.move.button": "Moverse...", + // "item.edit.delete.confirm": "Delete", + "item.edit.delete.confirm": "Borrar", - // "item.edit.tabs.status.buttons.move.label": "Move item to another collection", - "item.edit.tabs.status.buttons.move.label": "Mover artículo a otra colección", + // "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 artículo debería eliminarse por completo? Precaución: en la actualidad, no se dejaría ninguna lápida.", - // "item.edit.tabs.status.buttons.private.button": "Make it private...", - "item.edit.tabs.status.buttons.private.button": "Hacerlo privado...", + // "item.edit.delete.error": "An error occurred while deleting the item", + "item.edit.delete.error": "Se produjo un error al eliminar el artículo.", - // "item.edit.tabs.status.buttons.private.label": "Make item private", - "item.edit.tabs.status.buttons.private.label": "Hacer que el artículo sea privado", + // "item.edit.delete.header": "Delete item: {{ id }}", + "item.edit.delete.header": "Eliminar artículo: {{ id }}", - // "item.edit.tabs.status.buttons.public.button": "Make it public...", - "item.edit.tabs.status.buttons.public.button": "Hacerlo público...", + // "item.edit.delete.success": "The item has been deleted", + "item.edit.delete.success": "El artículo ha sido eliminado", - // "item.edit.tabs.status.buttons.public.label": "Make item public", - "item.edit.tabs.status.buttons.public.label": "Hacer público el artículo", + // "item.edit.head": "Edit Item", + "item.edit.head": "Editar artículo", - // "item.edit.tabs.status.buttons.reinstate.button": "Reinstate...", - "item.edit.tabs.status.buttons.reinstate.button": "Reintegrar...", + // "item.edit.breadcrumbs": "Edit Item", + "item.edit.breadcrumbs": "Editar artículo", - // "item.edit.tabs.status.buttons.reinstate.label": "Reinstate item into the repository", - "item.edit.tabs.status.buttons.reinstate.label": "Restablecer el artículo en el repositorio", + // "item.edit.tabs.disabled.tooltip": "You're not authorized to access this tab", + "item.edit.tabs.disabled.tooltip": "No tienes autorización para acceder a esta pestaña", - // "item.edit.tabs.status.buttons.unauthorized": "You're not authorized to perform this action", - "item.edit.tabs.status.buttons.unauthorized": "No estás autorizado para realizar esta acción.", - // "item.edit.tabs.status.buttons.withdraw.button": "Withdraw...", - "item.edit.tabs.status.buttons.withdraw.button": "Retirar...", + // "item.edit.tabs.mapper.head": "Collection Mapper", + "item.edit.tabs.mapper.head": "Mapeador de colecciones", - // "item.edit.tabs.status.buttons.withdraw.label": "Withdraw item from the repository", - "item.edit.tabs.status.buttons.withdraw.label": "Retirar artículo del repositorio", + // "item.edit.tabs.item-mapper.title": "Item Edit - Collection Mapper", + "item.edit.tabs.item-mapper.title": "Edición de artículos - Mapeador de colecciones", - // "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 administración de artículos. Desde aquí puede retirar, restablecer, mover o eliminar el artículo. También puede actualizar o agregar nuevos metadatos / archivos en las otras pestañas.", + // "item.edit.item-mapper.buttons.add": "Map item to selected collections", + "item.edit.item-mapper.buttons.add": "Asignar artículo a colecciones seleccionadas", - // "item.edit.tabs.status.head": "Status", - "item.edit.tabs.status.head": "Estado", + // "item.edit.item-mapper.buttons.remove": "Remove item's mapping for selected collections", + "item.edit.item-mapper.buttons.remove": "Eliminar la asignación de artículos para las colecciones seleccionadas", - // "item.edit.tabs.status.labels.handle": "Handle", - "item.edit.tabs.status.labels.handle": "Resolver", + // "item.edit.item-mapper.cancel": "Cancel", + "item.edit.item-mapper.cancel": "Cancelar", - // "item.edit.tabs.status.labels.id": "Item Internal ID", - "item.edit.tabs.status.labels.id": "ID interno del artículo", + // "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 artículos que permite a los administradores asignar este artículo a otras colecciones. Puede buscar colecciones y mapearlas, o explorar la lista de colecciones a las que el artículo está mapeado actualmente.", - // "item.edit.tabs.status.labels.itemPage": "Item Page", - "item.edit.tabs.status.labels.itemPage": "Página del artículo", + // "item.edit.item-mapper.head": "Item Mapper - Map Item to Collections", + "item.edit.item-mapper.head": "Asignador de artículos: asigna artículos a colecciones", - // "item.edit.tabs.status.labels.lastModified": "Last Modified", - "item.edit.tabs.status.labels.lastModified": "Última modificación", + // "item.edit.item-mapper.item": "Item: \"{{name}}\"", + "item.edit.item-mapper.item": "Artículo: \"{{ name }}\"", - // "item.edit.tabs.status.title": "Item Edit - Status", - "item.edit.tabs.status.title": "Edición de artículo: estado", + // "item.edit.item-mapper.no-search": "Please enter a query to search", + "item.edit.item-mapper.no-search": "Introduzca una consulta para buscar", - // "item.edit.tabs.versionhistory.head": "Version History", - "item.edit.tabs.versionhistory.head": "Historial de versiones", + // "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 mapear el artículo a {{ amount }} colecciones.", - // "item.edit.tabs.versionhistory.title": "Item Edit - Version History", - "item.edit.tabs.versionhistory.title": "Edición de artículos: historial de versiones", + // "item.edit.item-mapper.notifications.add.error.head": "Mapping errors", + "item.edit.item-mapper.notifications.add.error.head": "Errores de mapeo", - // "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": "Aún no es posible editar o agregar nuevas versiones en esta interfaz de usuario.", + // "item.edit.item-mapper.notifications.add.success.content": "Successfully mapped item to {{amount}} collections.", + "item.edit.item-mapper.notifications.add.success.content": "Se asignó correctamente el artículo a {{ amount }} colecciones.", - // "item.edit.tabs.view.head": "View Item", - "item.edit.tabs.view.head": "Ver artículo", + // "item.edit.item-mapper.notifications.add.success.head": "Mapping completed", + "item.edit.item-mapper.notifications.add.success.head": "Mapeo completado", - // "item.edit.tabs.view.title": "Item Edit - View", - "item.edit.tabs.view.title": "Edición de artículo - Ver", + // "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 para la eliminación de la asignación a {{ 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ó correctamente la asignación del artículo a {{ amount }} colecciones.", - // "item.edit.withdraw.cancel": "Cancel", - "item.edit.withdraw.cancel": "Cancelar", + // "item.edit.item-mapper.notifications.remove.success.head": "Removal of mapping completed", + "item.edit.item-mapper.notifications.remove.success.head": "Eliminación del mapeo completada", - // "item.edit.withdraw.confirm": "Withdraw", - "item.edit.withdraw.confirm": "Retirar", + // "item.edit.item-mapper.search-form.placeholder": "Search collections...", + "item.edit.item-mapper.search-form.placeholder": "Buscar colecciones...", - // "item.edit.withdraw.description": "Are you sure this item should be withdrawn from the archive?", - "item.edit.withdraw.description": "¿Está seguro de que este artículo debe retirarse del archivo?", + // "item.edit.item-mapper.tabs.browse": "Browse mapped collections", + "item.edit.item-mapper.tabs.browse": "Examinar colecciones mapeadas", - // "item.edit.withdraw.error": "An error occurred while withdrawing the item", - "item.edit.withdraw.error": "Ocurrió un error al retirar el artículo", + // "item.edit.item-mapper.tabs.map": "Map new collections", + "item.edit.item-mapper.tabs.map": "Mapear nuevas colecciones", - // "item.edit.withdraw.header": "Withdraw item: {{ id }}", - "item.edit.withdraw.header": "Retirar artículo: {{ id }}", - // "item.edit.withdraw.success": "The item was withdrawn successfully", - "item.edit.withdraw.success": "El artículo se retiró con éxito", + // "item.edit.metadata.add-button": "Add", + "item.edit.metadata.add-button": "Agregar", + // "item.edit.metadata.discard-button": "Discard", + "item.edit.metadata.discard-button": "Descarte", - // "item.listelement.badge": "Item", - "item.listelement.badge": "Artículo", + // "item.edit.metadata.edit.buttons.edit": "Edit", + "item.edit.metadata.edit.buttons.edit": "Editar", - // "item.page.description": "Description", - "item.page.description": "Descripción", + // "item.edit.metadata.edit.buttons.remove": "Remove", + "item.edit.metadata.edit.buttons.remove": "Eliminar", - // "item.page.journal-issn": "Journal ISSN", - "item.page.journal-issn": "Revista ISSN", + // "item.edit.metadata.edit.buttons.undo": "Undo changes", + "item.edit.metadata.edit.buttons.undo": "Deshacer cambios", - // "item.page.journal-title": "Journal Title", - "item.page.journal-title": "Título de la revista", + // "item.edit.metadata.edit.buttons.unedit": "Stop editing", + "item.edit.metadata.edit.buttons.unedit": "Dejar de editar", - // "item.page.publisher": "Publisher", - "item.page.publisher": "Editor", + // "item.edit.metadata.empty": "The item currently doesn't contain any metadata. Click Add to start adding a metadata value.", + "item.edit.metadata.empty": "Actualmente, el artículo no contiene metadatos. Haga clic en Agregar para comenzar a agregar un valor de metadatos.", - // "item.page.titleprefix": "Item: ", - "item.page.titleprefix": "Artículo:", + // "item.edit.metadata.headers.edit": "Edit", + "item.edit.metadata.headers.edit": "Editar", - // "item.page.volume-title": "Volume Title", - "item.page.volume-title": "Título del volumen", + // "item.edit.metadata.headers.field": "Field", + "item.edit.metadata.headers.field": "Campo", - // "item.search.results.head": "Item Search Results", - "item.search.results.head": "Resultados de la búsqueda de artículos", + // "item.edit.metadata.headers.language": "Lang", + "item.edit.metadata.headers.language": "Lang", - // "item.search.title": "Item Search", - "item.search.title": "Búsqueda de artículos", + // "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": "Elija un campo de metadatos 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": "Tus cambios fueron descartados. ", - // "item.page.abstract": "Abstract", - "item.page.abstract": "Abstracto", + // "item.edit.metadata.notifications.discarded.title": "Changed discarded", + "item.edit.metadata.notifications.discarded.title": "Cambiado descartado", - // "item.page.author": "Authors", - "item.page.author": "Autores", + // "item.edit.metadata.notifications.error.title": "An error occurred", + "item.edit.metadata.notifications.error.title": "Ocurrió un error", - // "item.page.citation": "Citation", - "item.page.citation": "Citación", + // "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": "Tus cambios no se guardaron. Asegúrese de que todos los campos sean válidos antes de guardar.", - // "item.page.collections": "Collections", - "item.page.collections": "Colecciones", + // "item.edit.metadata.notifications.invalid.title": "Metadata invalid", + "item.edit.metadata.notifications.invalid.title": "Metadatos inválidos", - // "item.page.collections.loading": "Loading...", - "item.page.collections.loading": "Cargando...", + // "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": "Otro usuario ha cambiado el artículo en el que está trabajando actualmente. ", - // "item.page.collections.load-more": "Load more", - "item.page.collections.load-more": "Cargar más", + // "item.edit.metadata.notifications.outdated.title": "Changed outdated", + "item.edit.metadata.notifications.outdated.title": "Cambiado desactualizado", - // "item.page.date": "Date", - "item.page.date": "Fecha", + // "item.edit.metadata.notifications.saved.content": "Your changes to this item's metadata were saved.", + "item.edit.metadata.notifications.saved.content": "Se guardaron sus cambios en los metadatos de este artículo.", - // "item.page.edit": "Edit this item", - "item.page.edit": "Editar este artículo", + // "item.edit.metadata.notifications.saved.title": "Metadata saved", + "item.edit.metadata.notifications.saved.title": "Metadatos guardados", - // "item.page.files": "Files", - "item.page.files": "Archivos", + // "item.edit.metadata.reinstate-button": "Undo", + "item.edit.metadata.reinstate-button": "Deshacer", - // "item.page.filesection.description": "Description:", - "item.page.filesection.description": "Descripción:", + // "item.edit.metadata.save-button": "Save", + "item.edit.metadata.save-button": "Guardar", - // "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.edit.modify.overview.field": "Field", + "item.edit.modify.overview.field": "Campo", - // "item.page.filesection.size": "Size:", - "item.page.filesection.size": "Tamaño:", + // "item.edit.modify.overview.language": "Language", + "item.edit.modify.overview.language": "Idioma", - // "item.page.journal.search.title": "Articles in this journal", - "item.page.journal.search.title": "Artículos de esta revista", + // "item.edit.modify.overview.value": "Value", + "item.edit.modify.overview.value": "Valor", - // "item.page.link.full": "Full item page", - "item.page.link.full": "Página completa del artículo", - // "item.page.link.simple": "Simple item page", - "item.page.link.simple": "Página de artículo simple", - // "item.page.person.search.title": "Articles by this author", - "item.page.person.search.title": "Artículos de este autor", + // "item.edit.move.cancel": "Back", + "item.edit.move.cancel": "Atrás", - // "item.page.related-items.view-more": "Show {{ amount }} more", - "item.page.related-items.view-more": "Mostrar {{ amount }} más", + // "item.edit.move.save-button": "Save", + "item.edit.move.save-button": "Guardar", - // "item.page.related-items.view-less": "Hide last {{ amount }}", - "item.page.related-items.view-less": "Ocultar la última {{ amount }}", + // "item.edit.move.discard-button": "Discard", + "item.edit.move.discard-button": "Descarte", - // "item.page.relationships.isAuthorOfPublication": "Publications", - "item.page.relationships.isAuthorOfPublication": "Publicaciones", + // "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 artículo. Para reducir la lista de colecciones mostradas, puede introducir una consulta de búsqueda en el cuadro.", - // "item.page.relationships.isJournalOfPublication": "Publications", - "item.page.relationships.isJournalOfPublication": "Publicaciones", + // "item.edit.move.error": "An error occurred when attempting to move the item", + "item.edit.move.error": "Se produjo un error al intentar mover el artículo.", - // "item.page.relationships.isOrgUnitOfPerson": "Authors", - "item.page.relationships.isOrgUnitOfPerson": "Autores", + // "item.edit.move.head": "Move item: {{id}}", + "item.edit.move.head": "Mover artículo: {{ id }}", - // "item.page.relationships.isOrgUnitOfProject": "Research Projects", - "item.page.relationships.isOrgUnitOfProject": "Proyectos de investigación", + // "item.edit.move.inheritpolicies.checkbox": "Inherit policies", + "item.edit.move.inheritpolicies.checkbox": "Heredar políticas", - // "item.page.subject": "Keywords", - "item.page.subject": "Palabras clave", + // "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.page.uri": "URI", - "item.page.uri": "URI", + // "item.edit.move.move": "Move", + "item.edit.move.move": "Moverse", - // "item.page.bitstreams.view-more": "Show more", - "item.page.bitstreams.view-more": "Mostrar más", + // "item.edit.move.processing": "Moving...", + "item.edit.move.processing": "Moviente...", - // "item.page.bitstreams.collapse": "Collapse", - "item.page.bitstreams.collapse": "Colapso", + // "item.edit.move.search.placeholder": "Enter a search query to look for collections", + "item.edit.move.search.placeholder": "Introduzca una consulta de búsqueda para buscar colecciones", - // "item.page.filesection.original.bundle" : "Original bundle", - "item.page.filesection.original.bundle": "Paquete original", + // "item.edit.move.success": "The item has been moved successfully", + "item.edit.move.success": "El ítem se ha movido correctamente.", - // "item.page.filesection.license.bundle" : "License bundle", - "item.page.filesection.license.bundle": "Paquete de licencias", + // "item.edit.move.title": "Move item", + "item.edit.move.title": "Mover ítem", - // "item.page.return": "Back", - "item.page.return": "atrás", - // "item.preview.dc.identifier.uri": "Identifier:", - "item.preview.dc.identifier.uri": "Identificador:", - // "item.preview.dc.contributor.author": "Authors:", - "item.preview.dc.contributor.author": "Autores:", + // "item.edit.private.cancel": "Cancel", + "item.edit.private.cancel": "Cancelar", - // "item.preview.dc.date.issued": "Published date:", - "item.preview.dc.date.issued": "Fecha de Publicación:", + // "item.edit.private.confirm": "Make it non-discoverable", + "item.edit.private.confirm": "Convertirlo en privado", - // "item.preview.dc.description.abstract": "Abstract:", - "item.preview.dc.description.abstract": "Abstracto:", + // "item.edit.private.description": "Are you sure this item should be made non-discoverable in the archive?", + "item.edit.private.description": "¿Está seguro de que este ítem debe convertirse en privado?", - // "item.preview.dc.identifier.other": "Other identifier:", - "item.preview.dc.identifier.other": "Otro identificador:", + // "item.edit.private.error": "An error occurred while making the item non-discoverable", + "item.edit.private.error": "Se produjo un error al convertir el ítem en privado.", - // "item.preview.dc.language.iso": "Language:", - "item.preview.dc.language.iso": "Idioma:", + // "item.edit.private.header": "Make item non-discoverable: {{ id }}", + "item.edit.private.header": "Convertir el ítem en privado {{ id }}", - // "item.preview.dc.subject": "Subjects:", - "item.preview.dc.subject": "Asignaturas:", + // "item.edit.private.success": "The item is now non-discoverable", + "item.edit.private.success": "El ítem ahora es privado", - // "item.preview.dc.title": "Title:", - "item.preview.dc.title": "Título:", - // "item.preview.person.familyName": "Surname:", - "item.preview.person.familyName": "Apellido:", - // "item.preview.person.givenName": "Name:", - "item.preview.person.givenName": "Nombre:", + // "item.edit.public.cancel": "Cancel", + "item.edit.public.cancel": "Cancelar", - // "item.preview.person.identifier.orcid": "ORCID:", - "item.preview.person.identifier.orcid": "ORCID:", + // "item.edit.public.confirm": "Make it discoverable", + "item.edit.public.confirm": "Convertirlo en público", - // "item.preview.project.funder.name": "Funder:", - "item.preview.project.funder.name": "Financiador:", + // "item.edit.public.description": "Are you sure this item should be made discoverable in the archive?", + "item.edit.public.description": "¿Está seguro de que este ítem debe convertirse en público?", - // "item.preview.project.funder.identifier": "Funder Identifier:", - "item.preview.project.funder.identifier": "Identificador del financiador:", + // "item.edit.public.error": "An error occurred while making the item discoverable", + "item.edit.public.error": "Se produjo un error al convertir el ítem en público.", - // "item.preview.oaire.awardNumber": "Funding ID:", - "item.preview.oaire.awardNumber": "ID de financiación:", + // "item.edit.public.header": "Make item discoverable: {{ id }}", + "item.edit.public.header": "Convertir el ítem en público{{ id }}", - // "item.preview.dc.title.alternative": "Acronym:", - "item.preview.dc.title.alternative": "Acrónimo:", + // "item.edit.public.success": "The item is now discoverable", + "item.edit.public.success": "El ítem ahora es público", - // "item.preview.dc.coverage.spatial": "Jurisdiction:", - "item.preview.dc.coverage.spatial": "Jurisdicción:", - // "item.preview.oaire.fundingStream": "Funding Stream:", - "item.preview.oaire.fundingStream": "Corriente de financiación:", + // "item.edit.reinstate.cancel": "Cancel", + "item.edit.reinstate.cancel": "Cancelar", + // "item.edit.reinstate.confirm": "Reinstate", + "item.edit.reinstate.confirm": "Reintegrar", - // "item.select.confirm": "Confirm selected", - "item.select.confirm": "Confirmar seleccionado", + // "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?", - // "item.select.empty": "No items to show", - "item.select.empty": "No hay artículos para mostrar", + // "item.edit.reinstate.error": "An error occurred while reinstating the item", + "item.edit.reinstate.error": "Ocurrió un error al reintegrar el ítem", - // "item.select.table.author": "Author", - "item.select.table.author": "Autor", + // "item.edit.reinstate.header": "Reinstate item: {{ id }}", + "item.edit.reinstate.header": "Reintegrar el ítem: {{ id }}", - // "item.select.table.collection": "Collection", - "item.select.table.collection": "Colección", + // "item.edit.reinstate.success": "The item was reinstated successfully", + "item.edit.reinstate.success": "El ítem se reintegró correctamente", - // "item.select.table.title": "Title", - "item.select.table.title": "Título", - // "item.version.history.empty": "There are no other versions for this item yet.", - "item.version.history.empty": "Aún no hay otras versiones para este artículo.", + // "item.edit.relationships.discard-button": "Discard", + "item.edit.relationships.discard-button": "Descartar", - // "item.version.history.head": "Version History", - "item.version.history.head": "Historial de versiones", + // "item.edit.relationships.edit.buttons.add": "Add", + "item.edit.relationships.edit.buttons.add": "Añadir", - // "item.version.history.return": "Back", - "item.version.history.return": "atrás", + // "item.edit.relationships.edit.buttons.remove": "Remove", + "item.edit.relationships.edit.buttons.remove": "Eliminar", - // "item.version.history.selected": "Selected version", - "item.version.history.selected": "Versión seleccionada", + // "item.edit.relationships.edit.buttons.undo": "Undo changes", + "item.edit.relationships.edit.buttons.undo": "Deshacer cambios", - // "item.version.history.table.version": "Version", - "item.version.history.table.version": "Versión", + // "item.edit.relationships.no-relationships": "No relationships", + "item.edit.relationships.no-relationships": "Sin relaciones", - // "item.version.history.table.item": "Item", - "item.version.history.table.item": "Artículo", + // "item.edit.relationships.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button", + "item.edit.relationships.notifications.discarded.content": "Sus cambios fueron descartados. Para recuperar sus cambios pulse el botón 'Deshacer' ", - // "item.version.history.table.editor": "Editor", - "item.version.history.table.editor": "Editor", + // "item.edit.relationships.notifications.discarded.title": "Changes discarded", + "item.edit.relationships.notifications.discarded.title": "Cambios descartados", - // "item.version.history.table.date": "Date", - "item.version.history.table.date": "Fecha", + // "item.edit.relationships.notifications.failed.title": "Error editing relationships", + "item.edit.relationships.notifications.failed.title": "Error al editar las relaciones", - // "item.version.history.table.summary": "Summary", - "item.version.history.table.summary": "Resumen", + // "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": "Otro usuario ha cambiado el ítem en el que está trabajando actualmente. Sus cambios se descartarán para prevenir conflictos ", + // "item.edit.relationships.notifications.outdated.title": "Changes outdated", + "item.edit.relationships.notifications.outdated.title": "Cambios desactualizados", + // "item.edit.relationships.notifications.saved.content": "Your changes to this item's relationships were saved.", + "item.edit.relationships.notifications.saved.content": "Se guardaron sus cambios en las relaciones de este ítem.", - // "item.version.notice": "This is not the latest version of this item. The latest version can be found here.", - "item.version.notice": "Esta no es la última versión de este artículo. La última versión se puede encontrar aquí .", + // "item.edit.relationships.notifications.saved.title": "Relationships saved", + "item.edit.relationships.notifications.saved.title": "Relaciones guardadas", + // "item.edit.relationships.reinstate-button": "Undo", + "item.edit.relationships.reinstate-button": "Deshacer", + // "item.edit.relationships.save-button": "Save", + "item.edit.relationships.save-button": "Guardar", - // "journal.listelement.badge": "Journal", - "journal.listelement.badge": "diario", + // "item.edit.relationships.no-entity-type": "Add 'dspace.entity.type' metadata to enable relationships for this item", + "item.edit.relationships.no-entity-type": "Agregue metadatos 'dspace.entity.type' para habilitar las relaciones para este artículo", - // "journal.page.description": "Description", - "journal.page.description": "Descripción", - // "journal.page.edit": "Edit this item", - "journal.page.edit": "Editar este artículo", + // "item.edit.return": "Back", + "item.edit.return": "Atrás", - // "journal.page.editor": "Editor-in-Chief", - "journal.page.editor": "Editor en jefe", - // "journal.page.issn": "ISSN", - "journal.page.issn": "ISSN", + // "item.edit.tabs.bitstreams.head": "Bitstreams", + "item.edit.tabs.bitstreams.head": "Archivos", - // "journal.page.publisher": "Publisher", - "journal.page.publisher": "Editor", + // "item.edit.tabs.bitstreams.title": "Item Edit - Bitstreams", + "item.edit.tabs.bitstreams.title": "Edición de ítems: archivos", - // "journal.page.titleprefix": "Journal: ", - "journal.page.titleprefix": "Diario:", + // "item.edit.tabs.curate.head": "Curate", + "item.edit.tabs.curate.head": "Curar", - // "journal.search.results.head": "Journal Search Results", - "journal.search.results.head": "Resultados de la búsqueda de revistas", + // "item.edit.tabs.curate.title": "Item Edit - Curate", + "item.edit.tabs.curate.title": "Edición de ítem: Curar", - // "journal.search.title": "Journal Search", - "journal.search.title": "Búsqueda de revistas", + // "item.edit.tabs.metadata.head": "Metadata", + "item.edit.tabs.metadata.head": "Metadatos", + // "item.edit.tabs.metadata.title": "Item Edit - Metadata", + "item.edit.tabs.metadata.title": "Edición de ítem: Metadatos", + // "item.edit.tabs.relationships.head": "Relationships", + "item.edit.tabs.relationships.head": "Relaciones", - // "journalissue.listelement.badge": "Journal Issue", - "journalissue.listelement.badge": "Número de la revista", + // "item.edit.tabs.relationships.title": "Item Edit - Relationships", + "item.edit.tabs.relationships.title": "Edición de ítem: Relaciones", - // "journalissue.page.description": "Description", - "journalissue.page.description": "Descripción", + // "item.edit.tabs.status.buttons.authorizations.button": "Authorizations...", + "item.edit.tabs.status.buttons.authorizations.button": "Autorizaciones...", - // "journalissue.page.edit": "Edit this item", - "journalissue.page.edit": "Editar este artículo", + // "item.edit.tabs.status.buttons.authorizations.label": "Edit item's authorization policies", + "item.edit.tabs.status.buttons.authorizations.label": "Editar privilegios de autorización del ítem:", - // "journalissue.page.issuedate": "Issue Date", - "journalissue.page.issuedate": "Fecha de asunto", + // "item.edit.tabs.status.buttons.delete.button": "Permanently delete", + "item.edit.tabs.status.buttons.delete.button": "Borrar permanentemente", - // "journalissue.page.journal-issn": "Journal ISSN", - "journalissue.page.journal-issn": "Revista ISSN", + // "item.edit.tabs.status.buttons.delete.label": "Completely expunge item", + "item.edit.tabs.status.buttons.delete.label": "Borrar completamente el ítem:", - // "journalissue.page.journal-title": "Journal Title", - "journalissue.page.journal-title": "Título de la revista", + // "item.edit.tabs.status.buttons.mappedCollections.button": "Mapped collections", + "item.edit.tabs.status.buttons.mappedCollections.button": "Colecciones mapeadas", - // "journalissue.page.keyword": "Keywords", - "journalissue.page.keyword": "Palabras clave", + // "item.edit.tabs.status.buttons.mappedCollections.label": "Manage mapped collections", + "item.edit.tabs.status.buttons.mappedCollections.label": "Administrar colecciones mapeadas", - // "journalissue.page.number": "Number", - "journalissue.page.number": "Número", + // "item.edit.tabs.status.buttons.move.button": "Move...", + "item.edit.tabs.status.buttons.move.button": "Mover...", - // "journalissue.page.titleprefix": "Journal Issue: ", - "journalissue.page.titleprefix": "Número de la revista:", + // "item.edit.tabs.status.buttons.move.label": "Move item to another collection", + "item.edit.tabs.status.buttons.move.label": "Mover ítem a otra colección", + // "item.edit.tabs.status.buttons.private.button": "Make it non-discoverable...", + "item.edit.tabs.status.buttons.private.button": "Convertirlo en privado...", + // "item.edit.tabs.status.buttons.private.label": "Make item non-discoverable", + "item.edit.tabs.status.buttons.private.label": "Convertir el ítem en privado", - // "journalvolume.listelement.badge": "Journal Volume", - "journalvolume.listelement.badge": "Volumen de la revista", + // "item.edit.tabs.status.buttons.public.button": "Make it discoverable...", + "item.edit.tabs.status.buttons.public.button": "Convertirlo en público...", - // "journalvolume.page.description": "Description", - "journalvolume.page.description": "Descripción", + // "item.edit.tabs.status.buttons.public.label": "Make item discoverable", + "item.edit.tabs.status.buttons.public.label": "Convertir el ítem en público", - // "journalvolume.page.edit": "Edit this item", - "journalvolume.page.edit": "Editar este artículo", + // "item.edit.tabs.status.buttons.reinstate.button": "Reinstate...", + "item.edit.tabs.status.buttons.reinstate.button": "Reintegrar...", - // "journalvolume.page.issuedate": "Issue Date", - "journalvolume.page.issuedate": "Fecha de asunto", + // "item.edit.tabs.status.buttons.reinstate.label": "Reinstate item into the repository", + "item.edit.tabs.status.buttons.reinstate.label": "Restablecer el ítem en el repositorio", - // "journalvolume.page.titleprefix": "Journal Volume: ", - "journalvolume.page.titleprefix": "Volumen de la revista:", + // "item.edit.tabs.status.buttons.unauthorized": "You're not authorized to perform this action", + "item.edit.tabs.status.buttons.unauthorized": "No estás autorizado para realizar esta acción.", - // "journalvolume.page.volume": "Volume", - "journalvolume.page.volume": "Volumen", + // "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 í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 administración de artículos. Desde aquí puede retirar, restablecer, mover o eliminar el ítem. También puede actualizar o agregar nuevos metadatos / archivos en las otras pestañas.", - // "loading.bitstream": "Loading bitstream...", - "loading.bitstream": "Cargando archivo...", + // "item.edit.tabs.status.head": "Status", + "item.edit.tabs.status.head": "Estado", - // "loading.bitstreams": "Loading bitstreams...", - "loading.bitstreams": "Cargando archivos...", + // "item.edit.tabs.status.labels.handle": "Handle", + "item.edit.tabs.status.labels.handle": "Handle", - // "loading.browse-by": "Loading items...", - "loading.browse-by": "Cargando artículos...", + // "item.edit.tabs.status.labels.id": "Item Internal ID", + "item.edit.tabs.status.labels.id": "ID interno del ítem", - // "loading.browse-by-page": "Loading page...", - "loading.browse-by-page": "Cargando página...", + // "item.edit.tabs.status.labels.itemPage": "Item Page", + "item.edit.tabs.status.labels.itemPage": "Página del ítem", - // "loading.collection": "Loading collection...", - "loading.collection": "Cargando colección...", + // "item.edit.tabs.status.labels.lastModified": "Last Modified", + "item.edit.tabs.status.labels.lastModified": "Última modificación", - // "loading.collections": "Loading collections...", - "loading.collections": "Cargando colecciones...", + // "item.edit.tabs.status.title": "Item Edit - Status", + "item.edit.tabs.status.title": "Edición de ítem: Estado", - // "loading.content-source": "Loading content source...", - "loading.content-source": "Cargando fuente de contenido...", + // "item.edit.tabs.versionhistory.head": "Version History", + "item.edit.tabs.versionhistory.head": "Historial de versiones", - // "loading.community": "Loading community...", - "loading.community": "Cargando comunidad...", + // "item.edit.tabs.versionhistory.title": "Item Edit - Version History", + "item.edit.tabs.versionhistory.title": "Edición de ítems: Historial de versiones", - // "loading.default": "Loading...", - "loading.default": "Cargando...", + // "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": "Aún no es posible editar o agregar nuevas versiones en esta interfaz de usuario.", - // "loading.item": "Loading item...", - "loading.item": "Cargando artículo...", + // "item.edit.tabs.view.head": "View Item", + "item.edit.tabs.view.head": "Ver ítem", - // "loading.items": "Loading items...", - "loading.items": "Cargando artículos...", + // "item.edit.tabs.view.title": "Item Edit - View", + "item.edit.tabs.view.title": "Edición de ítem - Ver", - // "loading.mydspace-results": "Loading items...", - "loading.mydspace-results": "Cargando artículos...", - // "loading.objects": "Loading...", - "loading.objects": "Cargando...", - // "loading.recent-submissions": "Loading recent submissions...", - "loading.recent-submissions": "Cargando envíos recientes...", + // "item.edit.withdraw.cancel": "Cancel", + "item.edit.withdraw.cancel": "Cancelar", - // "loading.search-results": "Loading search results...", - "loading.search-results": "Cargando resultados de búsqueda...", + // "item.edit.withdraw.confirm": "Withdraw", + "item.edit.withdraw.confirm": "Retirar", - // "loading.sub-collections": "Loading sub-collections...", - "loading.sub-collections": "Cargando subcolecciones...", + // "item.edit.withdraw.description": "Are you sure this item should be withdrawn from the archive?", + "item.edit.withdraw.description": "¿Está seguro de que este ítem debe retirarse del archivo?", - // "loading.sub-communities": "Loading sub-communities...", - "loading.sub-communities": "Cargando subcomunidades...", + // "item.edit.withdraw.error": "An error occurred while withdrawing the item", + "item.edit.withdraw.error": "Ocurrió un error al retirar el ítem", - // "loading.top-level-communities": "Loading top-level communities...", - "loading.top-level-communities": "Cargando comunidades de nivel superior...", + // "item.edit.withdraw.header": "Withdraw item: {{ id }}", + "item.edit.withdraw.header": "Retirar ítem: {{ id }}", + // "item.edit.withdraw.success": "The item was withdrawn successfully", + "item.edit.withdraw.success": "El ítem se retiró con éxito", + // "item.orcid.return": "Back", + "item.orcid.return": "Atrás", - // "login.form.email": "Email address", - "login.form.email": "Correo electrónico", - // "login.form.forgot-password": "Have you forgotten your password?", - "login.form.forgot-password": "¿Has olvidado tu contraseña?", + // "item.listelement.badge": "Item", + "item.listelement.badge": "Ítem", - // "login.form.header": "Please log in to DSpace", - "login.form.header": "Inicie sesión en DSpace", + // "item.page.description": "Description", + "item.page.description": "Descripción", - // "login.form.new-user": "New user? Click here to register.", - "login.form.new-user": "¿Nuevo Usuario? Registrarse", + // "item.page.journal-issn": "Journal ISSN", + "item.page.journal-issn": "ISSN de la revista", - // "login.form.or-divider": "or", - "login.form.or-divider": "o", + // "item.page.journal-title": "Journal Title", + "item.page.journal-title": "Título de la revista", - // "login.form.password": "Password", - "login.form.password": "Contraseña", + // "item.page.publisher": "Publisher", + "item.page.publisher": "Editor", - // "login.form.shibboleth": "Log in with Shibboleth", - "login.form.shibboleth": "Iniciar sesión con Shibboleth", + // "item.page.titleprefix": "Item: ", + "item.page.titleprefix": "Ítem:", - // "login.form.submit": "Log in", - "login.form.submit": "Iniciar sesión", + // "item.page.volume-title": "Volume Title", + "item.page.volume-title": "Título del volumen", - // "login.title": "Login", - "login.title": "Acceso", + // "item.search.results.head": "Item Search Results", + "item.search.results.head": "Resultados de la búsqueda de ítems", - // "login.breadcrumbs": "Login", - "login.breadcrumbs": "Acceso", + // "item.search.title": "Item Search", + "item.search.title": "Búsqueda de ítems", + // "item.truncatable-part.show-more": "Show more", + "item.truncatable-part.show-more": "Mas..", + // "item.truncatable-part.show-less": "Collapse", + "item.truncatable-part.show-less": "Contraer", - // "logout.form.header": "Log out from DSpace", - "logout.form.header": "Cerrar sesión en DSpace", - // "logout.form.submit": "Log out", - "logout.form.submit": "Cerrar sesión", - // "logout.title": "Logout", - "logout.title": "Cerrar sesión", + // "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", - // "menu.header.admin": "Management", - "menu.header.admin": "Gestión", + // "item.page.collections": "Collections", + "item.page.collections": "Colecciones", - // "menu.header.image.logo": "Repository logo", - "menu.header.image.logo": "Logotipo del repositorio", + // "item.page.collections.loading": "Loading...", + "item.page.collections.loading": "Cargando...", - // "menu.header.admin.description": "Management menu", - "menu.header.admin.description": "Menú de gestión", + // "item.page.collections.load-more": "Load more", + "item.page.collections.load-more": "Cargar más", + // "item.page.date": "Date", + "item.page.date": "Fecha", + // "item.page.edit": "Edit this item", + "item.page.edit": "Editar este ítem", - // "menu.section.access_control": "Access Control", - "menu.section.access_control": "Control de acceso", + // "item.page.files": "Files", + "item.page.files": "Archivos", - // "menu.section.access_control_authorizations": "Authorizations", - "menu.section.access_control_authorizations": "Autorizaciones", + // "item.page.filesection.description": "Description:", + "item.page.filesection.description": "Descripción:", - // "menu.section.access_control_groups": "Groups", - "menu.section.access_control_groups": "Grupos", + // "item.page.filesection.download": "Download", + "item.page.filesection.download": "Descargar", - // "menu.section.access_control_people": "People", - "menu.section.access_control_people": "Gente", + // "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:", - // "menu.section.admin_search": "Admin Search", - "menu.section.admin_search": "Búsqueda de administrador", + // "item.page.journal.search.title": "Articles in this journal", + "item.page.journal.search.title": "Ítems de 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": "Vista sencilla de ítem", - // "menu.section.browse_community": "This Community", - "menu.section.browse_community": "Esta comunidad", + // "item.page.orcid.title": "ORCID", + "item.page.orcid.title": "ORCID", - // "menu.section.browse_community_by_author": "By Author", - "menu.section.browse_community_by_author": "Por autor", + // "item.page.orcid.tooltip": "Open ORCID setting page", + "item.page.orcid.tooltip": "Abrir la página de ajustes de ORCID", - // "menu.section.browse_community_by_issue_date": "By Issue Date", - "menu.section.browse_community_by_issue_date": "Por fecha de emisión", + // "item.page.person.search.title": "Articles by this author", + "item.page.person.search.title": "Ítems de este autor", - // "menu.section.browse_community_by_title": "By Title", - "menu.section.browse_community_by_title": "Por titulo", + // "item.page.related-items.view-more": "Show {{ amount }} more", + "item.page.related-items.view-more": "Mostrar {{ amount }} más", - // "menu.section.browse_global": "All of DSpace", - "menu.section.browse_global": "Todo DSpace", + // "item.page.related-items.view-less": "Hide last {{ amount }}", + "item.page.related-items.view-less": "Ocultar loa últimos {{ amount }}", - // "menu.section.browse_global_by_author": "By Author", - "menu.section.browse_global_by_author": "Por autor", + // "item.page.relationships.isAuthorOfPublication": "Publications", + "item.page.relationships.isAuthorOfPublication": "Publicaciones", - // "menu.section.browse_global_by_dateissued": "By Issue Date", - "menu.section.browse_global_by_dateissued": "Por fecha de emisión", + // "item.page.relationships.isJournalOfPublication": "Publications", + "item.page.relationships.isJournalOfPublication": "Publicaciones", - // "menu.section.browse_global_by_subject": "By Subject", - "menu.section.browse_global_by_subject": "Por tema", + // "item.page.relationships.isOrgUnitOfPerson": "Authors", + "item.page.relationships.isOrgUnitOfPerson": "Autores", - // "menu.section.browse_global_by_title": "By Title", - "menu.section.browse_global_by_title": "Por titulo", + // "item.page.relationships.isOrgUnitOfProject": "Research Projects", + "item.page.relationships.isOrgUnitOfProject": "Proyectos de investigación", - // "menu.section.browse_global_communities_and_collections": "Communities & Collections", - "menu.section.browse_global_communities_and_collections": "Comunidades", + // "item.page.subject": "Keywords", + "item.page.subject": "Palabras clave", + // "item.page.uri": "URI", + "item.page.uri": "URI", + // "item.page.bitstreams.view-more": "Show more", + "item.page.bitstreams.view-more": "Mostrar más", - // "menu.section.control_panel": "Control Panel", - "menu.section.control_panel": "Panel de control", + // "item.page.bitstreams.collapse": "Collapse", + "item.page.bitstreams.collapse": "Contraer", - // "menu.section.curation_task": "Curation Task", - "menu.section.curation_task": "Tarea de conservación", + // "item.page.filesection.original.bundle" : "Original bundle", + "item.page.filesection.original.bundle": "Bloque original", + // "item.page.filesection.license.bundle" : "License bundle", + "item.page.filesection.license.bundle": "Bloque de licencias", + // "item.page.return": "Back", + "item.page.return": "Atrás", - // "menu.section.edit": "Edit", - "menu.section.edit": "Editar", + // "item.page.version.create": "Create new version", + "item.page.version.create": "Crear una nueva version", - // "menu.section.edit_collection": "Collection", - "menu.section.edit_collection": "Colección", + // "item.page.version.hasDraft": "A new version cannot be created because there is an inprogress submission in the version history", + "item.page.version.hasDraft": "No se puede crear una nueva versión porque en el historial de versiones hay un envío en curso", - // "menu.section.edit_community": "Community", - "menu.section.edit_community": "Comunidad", + // "item.page.claim.button": "Claim", + "item.page.claim.button": "Reclamar", - // "menu.section.edit_item": "Item", - "menu.section.edit_item": "Artículo", + // "item.page.claim.tooltip": "Claim this item as profile", + "item.page.claim.tooltip": "Reclame este item como perfil", + // "item.preview.dc.identifier.uri": "Identifier:", + "item.preview.dc.identifier.uri": "Identificador:", + // "item.preview.dc.contributor.author": "Authors:", + "item.preview.dc.contributor.author": "Autores:", - // "menu.section.export": "Export", - "menu.section.export": "Exportar", + // "item.preview.dc.date.issued": "Published date:", + "item.preview.dc.date.issued": "Fecha de Publicación:", - // "menu.section.export_collection": "Collection", - "menu.section.export_collection": "Colección", + // "item.preview.dc.description.abstract": "Abstract:", + "item.preview.dc.description.abstract": "Resumen:", - // "menu.section.export_community": "Community", - "menu.section.export_community": "Comunidad", + // "item.preview.dc.identifier.other": "Other identifier:", + "item.preview.dc.identifier.other": "Otro identificador:", - // "menu.section.export_item": "Item", - "menu.section.export_item": "Artículo", + // "item.preview.dc.language.iso": "Language:", + "item.preview.dc.language.iso": "Idioma:", - // "menu.section.export_metadata": "Metadata", - "menu.section.export_metadata": "Metadatos", + // "item.preview.dc.subject": "Subjects:", + "item.preview.dc.subject": "Materias:", + // "item.preview.dc.title": "Title:", + "item.preview.dc.title": "Título:", + // "item.preview.dc.type": "Type:", + "item.preview.dc.type": "Tipo:", - // "menu.section.icon.access_control": "Access Control menu section", - "menu.section.icon.access_control": "Sección del menú de control de acceso", + // "item.preview.oaire.citation.issue" : "Issue", + "item.preview.oaire.citation.issue" : "Número", - // "menu.section.icon.admin_search": "Admin search menu section", - "menu.section.icon.admin_search": "Sección del menú de búsqueda de administrador", + // "item.preview.oaire.citation.volume" : "Volume", + "item.preview.oaire.citation.volume" : "Volumen", - // "menu.section.icon.control_panel": "Control Panel menu section", - "menu.section.icon.control_panel": "Sección del menú del panel de control", + // "item.preview.dc.relation.issn" : "ISSN", + "item.preview.dc.relation.issn" : "ISSN", - // "menu.section.icon.curation_task": "Curation Task menu section", - "menu.section.icon.curation_task": "Sección del menú de tareas de conservación", + // "item.preview.dc.identifier.isbn" : "ISBN", + "item.preview.dc.identifier.isbn" : "ISBN", - // "menu.section.icon.edit": "Edit menu section", - "menu.section.icon.edit": "Editar sección del menú", + // "item.preview.dc.identifier": "Identifier:", + "item.preview.dc.identifier": "Identificador:", - // "menu.section.icon.export": "Export menu section", - "menu.section.icon.export": "Exportar sección de menú", + // "item.preview.dc.relation.ispartof" : "Journal or Serie", + "item.preview.dc.relation.ispartof" : "Revista o Serie", - // "menu.section.icon.find": "Find menu section", - "menu.section.icon.find": "Buscar sección de menú", + // "item.preview.dc.identifier.doi" : "DOI", + "item.preview.dc.identifier.doi" : "DOI", - // "menu.section.icon.import": "Import menu section", - "menu.section.icon.import": "Importar sección de menú", + // "item.preview.person.familyName": "Surname:", + "item.preview.person.familyName": "Apellido:", - // "menu.section.icon.new": "New menu section", - "menu.section.icon.new": "Nueva sección de menú", + // "item.preview.person.givenName": "Name:", + "item.preview.person.givenName": "Nombre:", - // "menu.section.icon.pin": "Pin sidebar", - "menu.section.icon.pin": "Anclar barra lateral", + // "item.preview.person.identifier.orcid": "ORCID:", + "item.preview.person.identifier.orcid": "ORCID:", - // "menu.section.icon.processes": "Processes menu section", - "menu.section.icon.processes": "Sección del menú de procesos", + // "item.preview.project.funder.name": "Funder:", + "item.preview.project.funder.name": "Financiador:", - // "menu.section.icon.registries": "Registries menu section", - "menu.section.icon.registries": "Sección de menú de registros", + // "item.preview.project.funder.identifier": "Funder Identifier:", + "item.preview.project.funder.identifier": "Identificador del financiador:", - // "menu.section.icon.statistics_task": "Statistics Task menu section", - "menu.section.icon.statistics_task": "Sección del menú Tarea de estadísticas", + // "item.preview.oaire.awardNumber": "Funding ID:", + "item.preview.oaire.awardNumber": "ID de financiación:", - // "menu.section.icon.unpin": "Unpin sidebar", - "menu.section.icon.unpin": "Desanclar la barra lateral", + // "item.preview.dc.title.alternative": "Acronym:", + "item.preview.dc.title.alternative": "Acrónimo:", + // "item.preview.dc.coverage.spatial": "Jurisdiction:", + "item.preview.dc.coverage.spatial": "Jurisdicción:", + // "item.preview.oaire.fundingStream": "Funding Stream:", + "item.preview.oaire.fundingStream": "Línea de financiación:", - // "menu.section.import": "Import", - "menu.section.import": "Importar", - // "menu.section.import_batch": "Batch Import (ZIP)", - "menu.section.import_batch": "Importación por lotes (ZIP)", - // "menu.section.import_metadata": "Metadata", - "menu.section.import_metadata": "Metadatos", + // "item.select.confirm": "Confirm selected", + "item.select.confirm": "Confirmar seleccionado", + // "item.select.empty": "No items to show", + "item.select.empty": "No hay artículos para mostrar", + // "item.select.table.author": "Author", + "item.select.table.author": "Autor", - // "menu.section.new": "New", - "menu.section.new": "Nuevo", + // "item.select.table.collection": "Collection", + "item.select.table.collection": "Colección", - // "menu.section.new_collection": "Collection", - "menu.section.new_collection": "Colección", + // "item.select.table.title": "Title", + "item.select.table.title": "Título", - // "menu.section.new_community": "Community", - "menu.section.new_community": "Comunidad", - // "menu.section.new_item": "Item", - "menu.section.new_item": "Artículo", + // "item.version.history.empty": "There are no other versions for this item yet.", + "item.version.history.empty": "Aún no hay otras versiones para este artículo.", - // "menu.section.new_item_version": "Item Version", - "menu.section.new_item_version": "Versión del artículo", + // "item.version.history.head": "Version History", + "item.version.history.head": "Historial de versiones", - // "menu.section.new_process": "Process", - "menu.section.new_process": "Proceso", + // "item.version.history.return": "Back", + "item.version.history.return": "Atrás", + // "item.version.history.selected": "Selected version", + "item.version.history.selected": "Versión seleccionada", + // "item.version.history.selected.alert": "You are currently viewing version {{version}} of the item.", + "item.version.history.selected.alert": "Esta viendo la versión {{version}} del ítem.", - // "menu.section.pin": "Pin sidebar", - "menu.section.pin": "Anclar barra lateral", + // "item.version.history.table.version": "Version", + "item.version.history.table.version": "Versión", - // "menu.section.unpin": "Unpin sidebar", - "menu.section.unpin": "Desanclar la barra lateral", + // "item.version.history.table.item": "Item", + "item.version.history.table.item": "Artículo", + // "item.version.history.table.editor": "Editor", + "item.version.history.table.editor": "Editor", + // "item.version.history.table.date": "Date", + "item.version.history.table.date": "Fecha", - // "menu.section.processes": "Processes", - "menu.section.processes": "Procesos", + // "item.version.history.table.summary": "Summary", + "item.version.history.table.summary": "Resumen", + // "item.version.history.table.workspaceItem": "Workspace item", + "item.version.history.table.workspaceItem": "Ítem del espacio de trabajo", + // "item.version.history.table.workflowItem": "Workflow item", + "item.version.history.table.workflowItem": "Ítem del flujo de trabajo", - // "menu.section.registries": "Registries", - "menu.section.registries": "Registros", + // "item.version.history.table.actions": "Action", + "item.version.history.table.actions": "Acción", - // "menu.section.registries_format": "Format", - "menu.section.registries_format": "Formato", + // "item.version.history.table.action.editWorkspaceItem": "Edit workspace item", + "item.version.history.table.action.editWorkspaceItem": "Editar ítem del espacio de trabajo", - // "menu.section.registries_metadata": "Metadata", - "menu.section.registries_metadata": "Metadatos", + // "item.version.history.table.action.editSummary": "Edit summary", + "item.version.history.table.action.editSummary": "Editar resumen", + // "item.version.history.table.action.saveSummary": "Save summary edits", + "item.version.history.table.action.saveSummary": "Salvar resumen", + // "item.version.history.table.action.discardSummary": "Discard summary edits", + "item.version.history.table.action.discardSummary": "Desechar cambios del resumen", - // "menu.section.statistics": "Statistics", - "menu.section.statistics": "Estadísticas", + // "item.version.history.table.action.newVersion": "Create new version from this one", + "item.version.history.table.action.newVersion": "Crear nueva versión a partir de ésta", - // "menu.section.statistics_task": "Statistics Task", - "menu.section.statistics_task": "Tarea de estadísticas", + // "item.version.history.table.action.deleteVersion": "Delete version", + "item.version.history.table.action.deleteVersion": "Borrar versión", + // "item.version.history.table.action.hasDraft": "A new version cannot be created because there is an inprogress submission in the version history", + "item.version.history.table.action.hasDraft": "No es posible crear una nueva versión puesto que existe en el historial de versiones un envío pendiente", - // "menu.section.toggle.access_control": "Toggle Access Control section", - "menu.section.toggle.access_control": "Alternar sección de control de acceso", + // "item.version.notice": "This is not the latest version of this item. The latest version can be found here.", + "item.version.notice": "Esta no es la última versión de este artículo. La última versión se puede encontrar aquí .", - // "menu.section.toggle.control_panel": "Toggle Control Panel section", - "menu.section.toggle.control_panel": "Alternar la sección del Panel de control", - // "menu.section.toggle.curation_task": "Toggle Curation Task section", - "menu.section.toggle.curation_task": "Alternar la sección Tarea de conservación", + // "item.version.create.modal.header": "New version", + "item.version.create.modal.header": "Nueva versión", - // "menu.section.toggle.edit": "Toggle Edit section", - "menu.section.toggle.edit": "Alternar sección de edición", + // "item.version.create.modal.text": "Create a new version for this item", + "item.version.create.modal.text": "Crear una nueva versión de este ítem", - // "menu.section.toggle.export": "Toggle Export section", - "menu.section.toggle.export": "Alternar sección de exportación", + // "item.version.create.modal.text.startingFrom": "starting from version {{version}}", + "item.version.create.modal.text.startingFrom": "comenzando desde versión {{version}}", - // "menu.section.toggle.find": "Toggle Find section", - "menu.section.toggle.find": "Alternar sección de búsqueda", + // "item.version.create.modal.button.confirm": "Create", + "item.version.create.modal.button.confirm": "Crear", - // "menu.section.toggle.import": "Toggle Import section", - "menu.section.toggle.import": "Alternar sección de importación", + // "item.version.create.modal.button.confirm.tooltip": "Create new version", + "item.version.create.modal.button.confirm.tooltip": "Crear nueva versión", - // "menu.section.toggle.new": "Toggle New section", - "menu.section.toggle.new": "Alternar nueva sección", + // "item.version.create.modal.button.cancel": "Cancel", + "item.version.create.modal.button.cancel": "Cancelar", - // "menu.section.toggle.registries": "Toggle Registries section", - "menu.section.toggle.registries": "Alternar la sección Registros", + // "item.version.create.modal.button.cancel.tooltip": "Do not create new version", + "item.version.create.modal.button.cancel.tooltip": "No crear una nueva versión", - // "menu.section.toggle.statistics_task": "Toggle Statistics Task section", - "menu.section.toggle.statistics_task": "Alternar la sección Tarea de estadísticas", + // "item.version.create.modal.form.summary.label": "Summary", + "item.version.create.modal.form.summary.label": "Resumen", + // "item.version.create.modal.form.summary.placeholder": "Insert the summary for the new version", + "item.version.create.modal.form.summary.placeholder": "Introduzca el resumen de esta nueva versión", - // "menu.section.workflow": "Administer Workflow", - "menu.section.workflow": "Administrar flujo de trabajo", + // "item.version.create.modal.submitted.header": "Creating new version...", + "item.version.create.modal.submitted.header": "Creando nueva versión...", + // "item.version.create.modal.submitted.text": "The new version is being created. This may take some time if the item has a lot of relationships.", + "item.version.create.modal.submitted.text": "Se está creando la nueva versión. SI el ítem tiene muchas relaciones, este proceso podría tardar.", - // "mydspace.breadcrumbs": "MyDSpace", - "mydspace.breadcrumbs": "Mi DSpace", + // "item.version.create.notification.success" : "New version has been created with version number {{version}}", + "item.version.create.notification.success" : "Se ha creado una nueva versión con número {{version}}", - // "mydspace.description": "", - "mydspace.description": "", + // "item.version.create.notification.failure" : "New version has not been created", + "item.version.create.notification.failure" : "No se ha creado una nueva versión", - // "mydspace.general.text-here": "here", - "mydspace.general.text-here": "aquí", + // "item.version.create.notification.inProgress" : "A new version cannot be created because there is an inprogress submission in the version history", + "item.version.create.notification.inProgress" : "No es posible crear una nueva versión puesto que existe en el historial de versiones un envío pendiente", - // "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 artículo.", - // "mydspace.messages.description-placeholder": "Insert your message here...", - "mydspace.messages.description-placeholder": "Inserta tu mensaje aquí...", + // "item.version.delete.modal.header": "Delete version", + "item.version.delete.modal.header": "Borrar versión", - // "mydspace.messages.hide-msg": "Hide message", - "mydspace.messages.hide-msg": "Ocultar mensaje", + // "item.version.delete.modal.text": "Do you want to delete version {{version}}?", + "item.version.delete.modal.text": "Quierr borrar la versión {{version}}?", - // "mydspace.messages.mark-as-read": "Mark as read", - "mydspace.messages.mark-as-read": "Marcar como leído", + // "item.version.delete.modal.button.confirm": "Delete", + "item.version.delete.modal.button.confirm": "Borrar", - // "mydspace.messages.mark-as-unread": "Mark as unread", - "mydspace.messages.mark-as-unread": "marcar como no leído", + // "item.version.delete.modal.button.confirm.tooltip": "Delete this version", + "item.version.delete.modal.button.confirm.tooltip": "Borrar esta versión", - // "mydspace.messages.no-content": "No content.", - "mydspace.messages.no-content": "Sin contenido.", + // "item.version.delete.modal.button.cancel": "Cancel", + "item.version.delete.modal.button.cancel": "Cancelar", - // "mydspace.messages.no-messages": "No messages yet.", - "mydspace.messages.no-messages": "Aún no hay mensajes.", + // "item.version.delete.modal.button.cancel.tooltip": "Do not delete this version", + "item.version.delete.modal.button.cancel.tooltip": "No borrar esta versión", - // "mydspace.messages.send-btn": "Send", - "mydspace.messages.send-btn": "Enviar", + // "item.version.delete.notification.success" : "Version number {{version}} has been deleted", + "item.version.delete.notification.success" : "Se ha borrado la versión número{{version}}", - // "mydspace.messages.show-msg": "Show message", - "mydspace.messages.show-msg": "Mostrar mensaje", + // "item.version.delete.notification.failure" : "Version number {{version}} has not been deleted", + "item.version.delete.notification.failure" : "No se ha borrado la versión número{{version}}", - // "mydspace.messages.subject-placeholder": "Subject...", - "mydspace.messages.subject-placeholder": "Tema...", - // "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.", + // "item.version.edit.notification.success" : "The summary of version number {{version}} has been changed", + "item.version.edit.notification.success" : "Ha cambiado el resumen de la versión número {{version}}", - // "mydspace.messages.title": "Messages", - "mydspace.messages.title": "Mensajes", + // "item.version.edit.notification.failure" : "The summary of version number {{version}} has not been changed", + "item.version.edit.notification.failure" : "No ha cambiado el resumen de la versión número {{version}}", - // "mydspace.messages.to": "To", - "mydspace.messages.to": "Para", - // "mydspace.new-submission": "New submission", - "mydspace.new-submission": "Nuevo envío", + // "journal.listelement.badge": "Journal", + "journal.listelement.badge": "Revista", - // "mydspace.new-submission-external": "Import metadata from external source", - "mydspace.new-submission-external": "Importar metadatos de una fuente externa", + // "journal.page.description": "Description", + "journal.page.description": "Descripción", - // "mydspace.new-submission-external-short": "Import metadata", - "mydspace.new-submission-external-short": "Importar metadatos", + // "journal.page.edit": "Edit this item", + "journal.page.edit": "Editar este ítem", - // "mydspace.results.head": "Your submissions", - "mydspace.results.head": "Tus presentaciones", + // "journal.page.editor": "Editor-in-Chief", + "journal.page.editor": "Editor jefe", - // "mydspace.results.no-abstract": "No Abstract", - "mydspace.results.no-abstract": "Sin resumen", + // "journal.page.issn": "ISSN", + "journal.page.issn": "ISSN", - // "mydspace.results.no-authors": "No Authors", - "mydspace.results.no-authors": "Sin autores", + // "journal.page.publisher": "Publisher", + "journal.page.publisher": "Editor", - // "mydspace.results.no-collections": "No Collections", - "mydspace.results.no-collections": "No hay colecciones", + // "journal.page.titleprefix": "Journal: ", + "journal.page.titleprefix": "Revista:", - // "mydspace.results.no-date": "No Date", - "mydspace.results.no-date": "Sin fecha", + // "journal.search.results.head": "Journal Search Results", + "journal.search.results.head": "Resultados de la búsqueda de revistas", - // "mydspace.results.no-files": "No Files", - "mydspace.results.no-files": "Sin archivos", + // "journal-relationships.search.results.head": "Journal Search Results", + "journal-relationships.search.results.head": "Resultados de la búsqueda de revistas", - // "mydspace.results.no-results": "There were no items to show", - "mydspace.results.no-results": "No había artículos para mostrar", + // "journal.search.title": "Journal Search", + "journal.search.title": "Búsqueda de revistas", - // "mydspace.results.no-title": "No title", - "mydspace.results.no-title": "Sin título", - // "mydspace.results.no-uri": "No Uri", - "mydspace.results.no-uri": "No Uri", - // "mydspace.search-form.placeholder": "Search in mydspace...", - "mydspace.search-form.placeholder": "Buscar en Mi DSpace...", + // "journalissue.listelement.badge": "Journal Issue", + "journalissue.listelement.badge": "Número de la revista", - // "mydspace.show.workflow": "All tasks", - "mydspace.show.workflow": "Todas las tareas", + // "journalissue.page.description": "Description", + "journalissue.page.description": "Descripción", - // "mydspace.show.workspace": "Your Submissions", - "mydspace.show.workspace": "Tus envíos", + // "journalissue.page.edit": "Edit this item", + "journalissue.page.edit": "Editar este ítema", - // "mydspace.status.archived": "Archived", - "mydspace.status.archived": "Archivado", + // "journalissue.page.issuedate": "Issue Date", + "journalissue.page.issuedate": "Fecha de publicación", - // "mydspace.status.validation": "Validation", - "mydspace.status.validation": "Validación", + // "journalissue.page.journal-issn": "Journal ISSN", + "journalissue.page.journal-issn": "ISSN de la revista", - // "mydspace.status.waiting-for-controller": "Waiting for controller", - "mydspace.status.waiting-for-controller": "Esperando controlador", + // "journalissue.page.journal-title": "Journal Title", + "journalissue.page.journal-title": "Título de la revista", - // "mydspace.status.workflow": "Workflow", - "mydspace.status.workflow": "Flujo de trabajo", + // "journalissue.page.keyword": "Keywords", + "journalissue.page.keyword": "Palabras clave", - // "mydspace.status.workspace": "Workspace", - "mydspace.status.workspace": "Espacio de trabajo", + // "journalissue.page.number": "Number", + "journalissue.page.number": "Número", - // "mydspace.title": "MyDSpace", - "mydspace.title": "Mi DSpace", + // "journalissue.page.titleprefix": "Journal Issue: ", + "journalissue.page.titleprefix": "Número de la revista:", - // "mydspace.upload.upload-failed": "Error creating new workspace. Please verify the content uploaded before retry.", - "mydspace.upload.upload-failed": "Error al crear un nuevo espacio de trabajo. Verifique el contenido cargado antes de volver a intentarlo.", - // "mydspace.upload.upload-failed-manyentries": "Unprocessable file. Detected too many entries but allowed only one for file.", - "mydspace.upload.upload-failed-manyentries": "Archivo no procesable. Se detectaron demasiadas entradas, pero solo se permitió una para el archivo.", - // "mydspace.upload.upload-failed-moreonefile": "Unprocessable request. Only one file is allowed.", - "mydspace.upload.upload-failed-moreonefile": "Solicitud no procesable. Solo se permite un archivo.", + // "journalvolume.listelement.badge": "Journal Volume", + "journalvolume.listelement.badge": "Volumen de la revista", - // "mydspace.upload.upload-multiple-successful": "{{qty}} new workspace items created.", - "mydspace.upload.upload-multiple-successful": "Se crearon {{ qty }} nuevos artículos del espacio de trabajo.", + // "journalvolume.page.description": "Description", + "journalvolume.page.description": "Descripción", - // "mydspace.upload.upload-successful": "New workspace item created. Click {{here}} for edit it.", - "mydspace.upload.upload-successful": "Se creó un nuevo artículo de espacio de trabajo. Haga clic en {{ here }} para editarlo.", + // "journalvolume.page.edit": "Edit this item", + "journalvolume.page.edit": "Editar este ítem", - // "mydspace.view-btn": "View", - "mydspace.view-btn": "Vista", + // "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", - // "nav.browse.header": "All of DSpace", - "nav.browse.header": "Todo DSpace", - // "nav.community-browse.header": "By Community", - "nav.community-browse.header": "Por comunidad", + // "iiifsearchable.listelement.badge": "Document Media", + "iiifsearchable.listelement.badge": "Soporte (media) del documento", - // "nav.language": "Language switch", - "nav.language": "Cambio de idioma", + // "iiifsearchable.page.titleprefix": "Document: ", + "iiifsearchable.page.titleprefix": "Documento: ", - // "nav.login": "Log In", - "nav.login": "Iniciar sesión", + // "iiifsearchable.page.doi": "Permanent Link: ", + "iiifsearchable.page.doi": "Enlace permanente: ", - // "nav.logout": "User profile menu and Log Out", - "nav.logout": "Menú de perfil de usuario y cierre de sesión", + // "iiifsearchable.page.issue": "Issue: ", + "iiifsearchable.page.issue": "Número: ", - // "nav.main.description": "Main navigation bar", - "nav.main.description": "Barra de navegación principal", + // "iiifsearchable.page.description": "Description: ", + "iiifsearchable.page.description": "Descripción: ", - // "nav.mydspace": "MyDSpace", - "nav.mydspace": "Mi DSpace", + // "iiifviewer.fullscreen.notice": "Use full screen for better viewing.", + "iiifviewer.fullscreen.notice": "Para una mejor visualización, use el modo pantalla completa.", - // "nav.profile": "Profile", - "nav.profile": "Perfil", + // "iiif.listelement.badge": "Image Media", + "iiif.listelement.badge": "Image Media", - // "nav.search": "Search", - "nav.search": "Buscar", + // "iiif.page.titleprefix": "Image: ", + "iiif.page.titleprefix": "Imagen: ", - // "nav.statistics.header": "Statistics", - "nav.statistics.header": "Estadísticas", + // "iiif.page.doi": "Permanent Link: ", + "iiif.page.doi": "Enlace permanente: ", - // "nav.stop-impersonating": "Stop impersonating EPerson", - "nav.stop-impersonating": "Deja de hacerse pasar por EPerson", + // "iiif.page.issue": "Issue: ", + "iiif.page.issue": "Número: ", - // "nav.toggle" : "Toggle navigation", - "nav.toggle": "Alternar navegación", + // "iiif.page.description": "Description: ", + "iiif.page.description": "Descripción: ", - // "nav.user.description" : "User profile bar", - "nav.user.description": "Barra de perfil de usuario", + // "loading.bitstream": "Loading bitstream...", + "loading.bitstream": "Cargando archivo...", + // "loading.bitstreams": "Loading bitstreams...", + "loading.bitstreams": "Cargando archivos...", - // "orgunit.listelement.badge": "Organizational Unit", - "orgunit.listelement.badge": "Unidad organizacional", + // "loading.browse-by": "Loading items...", + "loading.browse-by": "Cargando artículos...", - // "orgunit.page.city": "City", - "orgunit.page.city": "Ciudad", + // "loading.browse-by-page": "Loading page...", + "loading.browse-by-page": "Cargando página...", - // "orgunit.page.country": "Country", - "orgunit.page.country": "País", + // "loading.collection": "Loading collection...", + "loading.collection": "Cargando colección...", - // "orgunit.page.dateestablished": "Date established", - "orgunit.page.dateestablished": "Fecha Establecida", + // "loading.collections": "Loading collections...", + "loading.collections": "Cargando colecciones...", - // "orgunit.page.description": "Description", - "orgunit.page.description": "Descripción", + // "loading.content-source": "Loading content source...", + "loading.content-source": "Cargando fuente de contenido...", - // "orgunit.page.edit": "Edit this item", - "orgunit.page.edit": "Editar este artículo", + // "loading.community": "Loading community...", + "loading.community": "Cargando comunidad...", - // "orgunit.page.id": "ID", - "orgunit.page.id": "IDENTIFICACIÓN", + // "loading.default": "Loading...", + "loading.default": "Cargando...", - // "orgunit.page.titleprefix": "Organizational Unit: ", - "orgunit.page.titleprefix": "Unidad organizacional:", + // "loading.item": "Loading item...", + "loading.item": "Cargando artículo...", + // "loading.items": "Loading items...", + "loading.items": "Cargando artículos...", + // "loading.mydspace-results": "Loading items...", + "loading.mydspace-results": "Cargando artículos...", - // "pagination.options.description": "Pagination options", - "pagination.options.description": "Opciones de paginación", + // "loading.objects": "Loading...", + "loading.objects": "Cargando...", - // "pagination.results-per-page": "Results Per Page", - "pagination.results-per-page": "Resultados por página", + // "loading.recent-submissions": "Loading recent submissions...", + "loading.recent-submissions": "Cargando envíos recientes...", - // "pagination.showing.detail": "{{ range }} of {{ total }}", - "pagination.showing.detail": "{{ range }} de {{ total }}", + // "loading.search-results": "Loading search results...", + "loading.search-results": "Cargando resultados de búsqueda...", - // "pagination.showing.label": "Now showing ", - "pagination.showing.label": "Mostrando", + // "loading.sub-collections": "Loading sub-collections...", + "loading.sub-collections": "Cargando subcolecciones...", - // "pagination.sort-direction": "Sort Options", - "pagination.sort-direction": "Opciones de clasificación", + // "loading.sub-communities": "Loading sub-communities...", + "loading.sub-communities": "Cargando subcomunidades...", + // "loading.top-level-communities": "Loading top-level communities...", + "loading.top-level-communities": "Cargando comunidades de nivel superior...", - // "person.listelement.badge": "Person", - "person.listelement.badge": "Persona", - // "person.listelement.no-title": "No name found", - "person.listelement.no-title": "No se encontró ningún nombre", + // "login.form.email": "Email address", + "login.form.email": "Correo electrónico", - // "person.page.birthdate": "Birth Date", - "person.page.birthdate": "Fecha de nacimiento", + // "login.form.forgot-password": "Have you forgotten your password?", + "login.form.forgot-password": "¿Has olvidado tu contraseña?", - // "person.page.edit": "Edit this item", - "person.page.edit": "Editar este artículo", + // "login.form.header": "Please log in to DSpace", + "login.form.header": "Inicie sesión en DSpace", - // "person.page.email": "Email Address", - "person.page.email": "Dirección de correo electrónico", + // "login.form.new-user": "New user? Click here to register.", + "login.form.new-user": "¿Nuevo Usuario? Pulse aquí para registrarse", - // "person.page.firstname": "First Name", - "person.page.firstname": "Primer nombre", + // "login.form.or-divider": "or", + "login.form.or-divider": "o", - // "person.page.jobtitle": "Job Title", - "person.page.jobtitle": "Título profesional", + // "login.form.oidc": "Log in with OIDC", + "login.form.oidc": "Iniciar sesión con OIDC", - // "person.page.lastname": "Last Name", - "person.page.lastname": "Apellido", + // "login.form.orcid": "Log in with ORCID", + "login.form.orcid": "Iniciar sesión con ORCID", - // "person.page.link.full": "Show all metadata", - "person.page.link.full": "Mostrar todos los metadatos", + // "login.form.password": "Password", + "login.form.password": "Contraseña", - // "person.page.orcid": "ORCID", - "person.page.orcid": "ORCID", + // "login.form.shibboleth": "Log in with Shibboleth", + "login.form.shibboleth": "Iniciar sesión con Shibboleth", - // "person.page.staffid": "Staff ID", - "person.page.staffid": "Identificación del personal", + // "login.form.submit": "Log in", + "login.form.submit": "Iniciar sesión", - // "person.page.titleprefix": "Person: ", - "person.page.titleprefix": "Persona:", + // "login.title": "Login", + "login.title": "Acceso", - // "person.search.results.head": "Person Search Results", - "person.search.results.head": "Resultados de búsqueda de personas", + // "login.breadcrumbs": "Login", + "login.breadcrumbs": "Acceso", - // "person.search.title": "Person Search", - "person.search.title": "Búsqueda de personas", + // "logout.form.header": "Log out from DSpace", + "logout.form.header": "Cerrar sesión en DSpace", - // "process.new.select-parameters": "Parameters", - "process.new.select-parameters": "Parámetros", + // "logout.form.submit": "Log out", + "logout.form.submit": "Cerrar sesión", - // "process.new.cancel": "Cancel", - "process.new.cancel": "Cancelar", + // "logout.title": "Logout", + "logout.title": "Cerrar sesión", - // "process.new.submit": "Save", - "process.new.submit": "Guardar", - // "process.new.select-script": "Script", - "process.new.select-script": "Texto", - // "process.new.select-script.placeholder": "Choose a script...", - "process.new.select-script.placeholder": "Elija un guión...", + // "menu.header.admin": "Management", + "menu.header.admin": "Gestión", - // "process.new.select-script.required": "Script is required", - "process.new.select-script.required": "Se requiere script", + // "menu.header.image.logo": "Repository logo", + "menu.header.image.logo": "Logotipo del repositorio", - // "process.new.parameter.file.upload-button": "Select file...", - "process.new.parameter.file.upload-button": "Seleccione Archivo...", + // "menu.header.admin.description": "Management menu", + "menu.header.admin.description": "Menú de gestión", - // "process.new.parameter.file.required": "Please select a file", - "process.new.parameter.file.required": "Por favor seleccione un archivo", - // "process.new.parameter.string.required": "Parameter value is required", - "process.new.parameter.string.required": "Se requiere el valor del parámetro", - // "process.new.parameter.type.value": "value", - "process.new.parameter.type.value": "valor", + // "menu.section.access_control": "Access Control", + "menu.section.access_control": "Control de acceso", - // "process.new.parameter.type.file": "file", - "process.new.parameter.type.file": "expediente", + // "menu.section.access_control_authorizations": "Authorizations", + "menu.section.access_control_authorizations": "Autorizaciones", - // "process.new.parameter.required.missing": "The following parameters are required but still missing:", - "process.new.parameter.required.missing": "Los siguientes parámetros son obligatorios pero aún faltan:", + // "menu.section.access_control_groups": "Groups", + "menu.section.access_control_groups": "Grupos", - // "process.new.notification.success.title": "Success", - "process.new.notification.success.title": "Éxito", + // "menu.section.access_control_people": "People", + "menu.section.access_control_people": "Gente", - // "process.new.notification.success.content": "The process was successfully created", - "process.new.notification.success.content": "El proceso fue creado con éxito", - // "process.new.notification.error.title": "Error", - "process.new.notification.error.title": "Error", - // "process.new.notification.error.content": "An error occurred while creating this process", - "process.new.notification.error.content": "Se produjo un error al crear este proceso.", + // "menu.section.admin_search": "Admin Search", + "menu.section.admin_search": "Búsqueda de administrador", - // "process.new.header": "Create a new process", - "process.new.header": "Crea un nuevo proceso", - // "process.new.title": "Create a new process", - "process.new.title": "Crea un nuevo proceso", - // "process.new.breadcrumbs": "Create a new process", - "process.new.breadcrumbs": "Crea un nuevo proceso", + // "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 emisión", - // "process.detail.arguments" : "Arguments", - "process.detail.arguments": "Argumentos", + // "menu.section.browse_community_by_title": "By Title", + "menu.section.browse_community_by_title": "Por titulo", - // "process.detail.arguments.empty" : "This process doesn't contain any arguments", - "process.detail.arguments.empty": "Este proceso no contiene ningún argumento", + // "menu.section.browse_global": "All of DSpace", + "menu.section.browse_global": "Todo DSpace", - // "process.detail.back" : "Back", - "process.detail.back": "Volver", + // "menu.section.browse_global_by_author": "By Author", + "menu.section.browse_global_by_author": "Por autor", - // "process.detail.output" : "Process Output", - "process.detail.output": "Salida del proceso", + // "menu.section.browse_global_by_dateissued": "By Issue Date", + "menu.section.browse_global_by_dateissued": "Por fecha de emisión", - // "process.detail.logs.button": "Retrieve process output", - "process.detail.logs.button": "Recuperar la salida del proceso", + // "menu.section.browse_global_by_subject": "By Subject", + "menu.section.browse_global_by_subject": "Por tema", - // "process.detail.logs.loading": "Retrieving", - "process.detail.logs.loading": "Recuperando", + // "menu.section.browse_global_by_title": "By Title", + "menu.section.browse_global_by_title": "Por titulo", - // "process.detail.logs.none": "This process has no output", - "process.detail.logs.none": "Este proceso no tiene salida", + // "menu.section.browse_global_communities_and_collections": "Communities & Collections", + "menu.section.browse_global_communities_and_collections": "Comunidades", - // "process.detail.output-files" : "Output Files", - "process.detail.output-files": "Archivos de salida", - // "process.detail.output-files.empty" : "This process doesn't contain any output files", - "process.detail.output-files.empty": "Este proceso no contiene ningún archivo de salida", - // "process.detail.script" : "Script", - "process.detail.script": "Secuencia de comandos", + // "menu.section.control_panel": "Control Panel", + "menu.section.control_panel": "Panel de control", - // "process.detail.title" : "Process: {{ id }} - {{ name }}", - "process.detail.title": "Proceso: {{ id }} - {{ name }}", + // "menu.section.curation_task": "Curation Task", + "menu.section.curation_task": "Tarea de conservación", - // "process.detail.start-time" : "Start time", - "process.detail.start-time": "Hora de inicio", - // "process.detail.end-time" : "Finish time", - "process.detail.end-time": "Hora de finalización", - // "process.detail.status" : "Status", - "process.detail.status": "Estado", + // "menu.section.edit": "Edit", + "menu.section.edit": "Editar", - // "process.detail.create" : "Create similar process", - "process.detail.create": "Crear un proceso similar", + // "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": "Artículo", - // "process.overview.table.finish" : "Finish time", - "process.overview.table.finish": "Hora de finalización", - // "process.overview.table.id" : "Process ID", - "process.overview.table.id": "ID de proceso", - // "process.overview.table.name" : "Name", - "process.overview.table.name": "Nombre", + // "menu.section.export": "Export", + "menu.section.export": "Exportar", - // "process.overview.table.start" : "Start time", - "process.overview.table.start": "Hora de inicio", + // "menu.section.export_collection": "Collection", + "menu.section.export_collection": "Colección", - // "process.overview.table.status" : "Status", - "process.overview.table.status": "Estado", + // "menu.section.export_community": "Community", + "menu.section.export_community": "Comunidad", - // "process.overview.table.user" : "User", - "process.overview.table.user": "Usuario", + // "menu.section.export_item": "Item", + "menu.section.export_item": "Artículo", - // "process.overview.title": "Processes Overview", - "process.overview.title": "Resumen de procesos", + // "menu.section.export_metadata": "Metadata", + "menu.section.export_metadata": "Metadatos", - // "process.overview.breadcrumbs": "Processes Overview", - "process.overview.breadcrumbs": "Resumen de procesos", - // "process.overview.new": "New", - "process.overview.new": "Nuevo", + // "menu.section.icon.access_control": "Access Control menu section", + "menu.section.icon.access_control": "Sección del menú de control de acceso", - // "profile.breadcrumbs": "Update Profile", - "profile.breadcrumbs": "Actualización del perfil", + // "menu.section.icon.admin_search": "Admin search menu section", + "menu.section.icon.admin_search": "Sección del menú de búsqueda de administrador", - // "profile.card.identify": "Identify", - "profile.card.identify": "Identificar", + // "menu.section.icon.control_panel": "Control Panel menu section", + "menu.section.icon.control_panel": "Sección del menú del Panel de control", - // "profile.card.security": "Security", - "profile.card.security": "Seguridad", + // "menu.section.icon.curation_tasks": "Curation Task menu section", + "menu.section.icon.curation_tasks": "Sección del menú de Tareas de curación", - // "profile.form.submit": "Save", - "profile.form.submit": "Guardar", + // "menu.section.icon.edit": "Edit menu section", + "menu.section.icon.edit": "Editar sección del menú", - // "profile.groups.head": "Authorization groups you belong to", - "profile.groups.head": "Grupos de autorización a los que pertenece", + // "menu.section.icon.export": "Export menu section", + "menu.section.icon.export": "Exportar sección de menú", - // "profile.head": "Update Profile", - "profile.head": "Actualización del perfil", + // "menu.section.icon.find": "Find menu section", + "menu.section.icon.find": "Buscar sección de menú", - // "profile.metadata.form.error.firstname.required": "First Name is required", - "profile.metadata.form.error.firstname.required": "Se requiere el primer nombre", + // "menu.section.icon.health": "Health check menu section", + "menu.section.icon.health": "Sección de menú de Chequeos", - // "profile.metadata.form.error.lastname.required": "Last Name is required", - "profile.metadata.form.error.lastname.required": "Se requiere apellido", + // "menu.section.icon.import": "Import menu section", + "menu.section.icon.import": "Importar sección de menú", - // "profile.metadata.form.label.email": "Email Address", - "profile.metadata.form.label.email": "Dirección de correo electrónico", + // "menu.section.icon.new": "New menu section", + "menu.section.icon.new": "Nueva sección de menú", - // "profile.metadata.form.label.firstname": "First Name", - "profile.metadata.form.label.firstname": "Primer nombre", + // "menu.section.icon.pin": "Pin sidebar", + "menu.section.icon.pin": "Anclar barra lateral", - // "profile.metadata.form.label.language": "Language", - "profile.metadata.form.label.language": "Idioma", + // "menu.section.icon.processes": "Processes Health", + "menu.section.icon.processes": "Sección de menú de Procesosde chequeo", - // "profile.metadata.form.label.lastname": "Last Name", - "profile.metadata.form.label.lastname": "Apellido", + // "menu.section.icon.registries": "Registries menu section", + "menu.section.icon.registries": "Sección de menu de Registros", - // "profile.metadata.form.label.phone": "Contact Telephone", - "profile.metadata.form.label.phone": "Teléfono de contacto", + // "menu.section.icon.statistics_task": "Statistics Task menu section", + "menu.section.icon.statistics_task": "Sección del menú de Tarea de estadísticas", - // "profile.metadata.form.notifications.success.content": "Your changes to the profile were saved.", - "profile.metadata.form.notifications.success.content": "Se guardaron sus cambios en el perfil.", + // "menu.section.icon.workflow": "Administer workflow menu section", + "menu.section.icon.workflow": "Sección del menú de Administración de flujos de trabajo", - // "profile.metadata.form.notifications.success.title": "Profile saved", - "profile.metadata.form.notifications.success.title": "Perfil guardado", + // "menu.section.icon.unpin": "Unpin sidebar", + "menu.section.icon.unpin": "Desanclar la barra lateral", - // "profile.notifications.warning.no-changes.content": "No changes were made to the Profile.", - "profile.notifications.warning.no-changes.content": "No se realizaron cambios en el perfil.", - // "profile.notifications.warning.no-changes.title": "No changes", - "profile.notifications.warning.no-changes.title": "Sin cambios", - // "profile.security.form.error.matching-passwords": "The passwords do not match.", - "profile.security.form.error.matching-passwords": "Las contraseñas no coinciden.", + // "menu.section.import": "Import", + "menu.section.import": "Importar", - // "profile.security.form.error.password-length": "The password should be at least 6 characters long.", - "profile.security.form.error.password-length": "La contraseña debe tener al menos 6 caracteres.", + // "menu.section.import_batch": "Batch Import (ZIP)", + "menu.section.import_batch": "Importación por lotes (ZIP)", - // "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": "Opcionalmente, puede ingresar una nueva contraseña en el cuadro a continuación y confirmarla escribiéndola nuevamente en el segundo cuadro. Debe tener al menos seis caracteres.", + // "menu.section.import_metadata": "Metadata", + "menu.section.import_metadata": "Metadatos", - // "profile.security.form.label.password": "Password", - "profile.security.form.label.password": "Contraseña", - // "profile.security.form.label.passwordrepeat": "Retype to confirm", - "profile.security.form.label.passwordrepeat": "Rescriba para confirmar", - // "profile.security.form.notifications.success.content": "Your changes to the password were saved.", - "profile.security.form.notifications.success.content": "Se guardaron sus cambios a la contraseña.", + // "menu.section.new": "New", + "menu.section.new": "Nuevo", - // "profile.security.form.notifications.success.title": "Password saved", - "profile.security.form.notifications.success.title": "Contraseña guardada", + // "menu.section.new_collection": "Collection", + "menu.section.new_collection": "Colección", - // "profile.security.form.notifications.error.title": "Error changing passwords", - "profile.security.form.notifications.error.title": "Error al cambiar las contraseñas", + // "menu.section.new_community": "Community", + "menu.section.new_community": "Comunidad", - // "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": "La contraseña debe tener al menos 6 caracteres.", + // "menu.section.new_item": "Item", + "menu.section.new_item": "Artículo", - // "profile.security.form.notifications.error.not-same": "The provided passwords are not the same.", - "profile.security.form.notifications.error.not-same": "Las contraseñas proporcionadas no son las mismas.", + // "menu.section.new_item_version": "Item Version", + "menu.section.new_item_version": "Versión del artículo", - // "profile.title": "Update Profile", - "profile.title": "Actualización del perfil", + // "menu.section.new_process": "Process", + "menu.section.new_process": "Proceso", - // "project.listelement.badge": "Research Project", - "project.listelement.badge": "Proyecto de investigación", + // "menu.section.pin": "Pin sidebar", + "menu.section.pin": "Anclar barra lateral", - // "project.page.contributor": "Contributors", - "project.page.contributor": "Colaboradores", + // "menu.section.unpin": "Unpin sidebar", + "menu.section.unpin": "Desanclar la barra lateral", - // "project.page.description": "Description", - "project.page.description": "Descripción", - // "project.page.edit": "Edit this item", - "project.page.edit": "Editar este artículo", - // "project.page.expectedcompletion": "Expected Completion", - "project.page.expectedcompletion": "Finalización prevista", + // "menu.section.processes": "Processes", + "menu.section.processes": "Procesos", - // "project.page.funder": "Funders", - "project.page.funder": "Financiadores", + // "menu.section.health": "Health", + "menu.section.health": "Chequeo", - // "project.page.id": "ID", - "project.page.id": "IDENTIFICACIÓN", - // "project.page.keyword": "Keywords", - "project.page.keyword": "Palabras clave", - // "project.page.status": "Status", - "project.page.status": "Estado", + // "menu.section.registries": "Registries", + "menu.section.registries": "Registros", - // "project.page.titleprefix": "Research Project: ", - "project.page.titleprefix": "Proyecto de investigación:", + // "menu.section.registries_format": "Format", + "menu.section.registries_format": "Formato", - // "project.search.results.head": "Project Search Results", - "project.search.results.head": "Resultados de búsqueda de proyectos", + // "menu.section.registries_metadata": "Metadata", + "menu.section.registries_metadata": "Metadatos", - // "publication.listelement.badge": "Publication", - "publication.listelement.badge": "Publicación", + // "menu.section.statistics": "Statistics", + "menu.section.statistics": "Estadísticas", - // "publication.page.description": "Description", - "publication.page.description": "Descripción", + // "menu.section.statistics_task": "Statistics Task", + "menu.section.statistics_task": "Tarea de estadísticas", - // "publication.page.edit": "Edit this item", - "publication.page.edit": "Editar este artículo", - // "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 la revista", + // "menu.section.toggle.access_control": "Toggle Access Control section", + "menu.section.toggle.access_control": "Alternar sección de control de acceso", - // "publication.page.publisher": "Publisher", - "publication.page.publisher": "Editor", + // "menu.section.toggle.control_panel": "Toggle Control Panel section", + "menu.section.toggle.control_panel": "Alternar la sección del Panel de control", - // "publication.page.titleprefix": "Publication: ", - "publication.page.titleprefix": "Publicación:", + // "menu.section.toggle.curation_task": "Toggle Curation Task section", + "menu.section.toggle.curation_task": "Alternar la sección Tarea de curación", - // "publication.page.volume-title": "Volume Title", - "publication.page.volume-title": "Título del volumen", + // "menu.section.toggle.edit": "Toggle Edit section", + "menu.section.toggle.edit": "Alternar sección de Edición", - // "publication.search.results.head": "Publication Search Results", - "publication.search.results.head": "Resultados de la búsqueda de publicaciones", + // "menu.section.toggle.export": "Toggle Export section", + "menu.section.toggle.export": "Alternar sección de Exportación", - // "publication.search.title": "Publication Search", - "publication.search.title": "Búsqueda de publicaciones", + // "menu.section.toggle.find": "Toggle Find section", + "menu.section.toggle.find": "Alternar sección de Búsqueda", + // "menu.section.toggle.import": "Toggle Import section", + "menu.section.toggle.import": "Alternar sección de Importación", - // "media-viewer.next": "Next", - "media-viewer.next": "próximo", + // "menu.section.toggle.new": "Toggle New section", + "menu.section.toggle.new": "Alternar nueva sección", - // "media-viewer.previous": "Previous", - "media-viewer.previous": "Anterior", + // "menu.section.toggle.registries": "Toggle Registries section", + "menu.section.toggle.registries": "Alternar sección de Registros", - // "media-viewer.playlist": "Playlist", - "media-viewer.playlist": "Lista de reproducción", + // "menu.section.toggle.statistics_task": "Toggle Statistics Task section", + "menu.section.toggle.statistics_task": "Alternar sección de Tarea de estadísticas", - // "register-email.title": "New user registration", - "register-email.title": "Registro de nuevo usuario", + // "menu.section.workflow": "Administer Workflow", + "menu.section.workflow": "Administrar flujo de trabajo", - // "register-page.create-profile.header": "Create Profile", - "register-page.create-profile.header": "Crear perfil", - // "register-page.create-profile.identification.header": "Identify", - "register-page.create-profile.identification.header": "Identificar", + // "metadata-export-search.tooltip": "Export search results as CSV", + "metadata-export-search.tooltip": "Exportar los resultados de búsqueda a CSV", + + // "metadata-export-search.submit.success": "The export was started successfully", + "metadata-export-search.submit.success": "La exortación ha comenzado satisfactoriamente", + + // "metadata-export-search.submit.error": "Starting the export has failed", + "metadata-export-search.submit.error": "Ha fallado el comienzo de la exportación", - // "register-page.create-profile.identification.email": "Email Address", - "register-page.create-profile.identification.email": "Dirección de correo electrónico", - // "register-page.create-profile.identification.first-name": "First Name *", - "register-page.create-profile.identification.first-name": "Primer nombre *", + // "mydspace.breadcrumbs": "MyDSpace", + "mydspace.breadcrumbs": "Mi DSpace", - // "register-page.create-profile.identification.first-name.error": "Please fill in a First Name", - "register-page.create-profile.identification.first-name.error": "Por favor ingrese un nombre", + // "mydspace.description": "", + "mydspace.description": "", - // "register-page.create-profile.identification.last-name": "Last Name *", - "register-page.create-profile.identification.last-name": "Apellido *", + // "mydspace.general.text-here": "here", + "mydspace.general.text-here": "aquí", - // "register-page.create-profile.identification.last-name.error": "Please fill in a Last Name", - "register-page.create-profile.identification.last-name.error": "Por favor ingrese un apellido", + // "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.", - // "register-page.create-profile.identification.contact": "Contact Telephone", - "register-page.create-profile.identification.contact": "Teléfono de contacto", + // "mydspace.messages.description-placeholder": "Insert your message here...", + "mydspace.messages.description-placeholder": "Inserta tu mensaje aquí...", - // "register-page.create-profile.identification.language": "Language", - "register-page.create-profile.identification.language": "Idioma", + // "mydspace.messages.hide-msg": "Hide message", + "mydspace.messages.hide-msg": "Ocultar mensaje", - // "register-page.create-profile.security.header": "Security", - "register-page.create-profile.security.header": "Seguridad", + // "mydspace.messages.mark-as-read": "Mark as read", + "mydspace.messages.mark-as-read": "Marcar como leído", - // "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": "Ingrese una contraseña en el cuadro a continuación y confírmela escribiéndola nuevamente en el segundo cuadro. Debe tener al menos seis caracteres.", + // "mydspace.messages.mark-as-unread": "Mark as unread", + "mydspace.messages.mark-as-unread": "marcar como no leído", - // "register-page.create-profile.security.label.password": "Password *", - "register-page.create-profile.security.label.password": "Contraseña *", + // "mydspace.messages.no-content": "No content.", + "mydspace.messages.no-content": "Sin contenido.", - // "register-page.create-profile.security.label.passwordrepeat": "Retype to confirm *", - "register-page.create-profile.security.label.passwordrepeat": "Rescriba para confirmar *", + // "mydspace.messages.no-messages": "No messages yet.", + "mydspace.messages.no-messages": "Aún no hay mensajes.", - // "register-page.create-profile.security.error.empty-password": "Please enter a password in the box below.", - "register-page.create-profile.security.error.empty-password": "Ingrese una contraseña en el cuadro a continuación.", + // "mydspace.messages.send-btn": "Send", + "mydspace.messages.send-btn": "Enviar", - // "register-page.create-profile.security.error.matching-passwords": "The passwords do not match.", - "register-page.create-profile.security.error.matching-passwords": "Las contraseñas no coinciden.", + // "mydspace.messages.show-msg": "Show message", + "mydspace.messages.show-msg": "Mostrar mensaje", - // "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": "La contraseña debe tener al menos 6 caracteres.", + // "mydspace.messages.subject-placeholder": "Subject...", + "mydspace.messages.subject-placeholder": "Asunto...", - // "register-page.create-profile.submit": "Complete Registration", - "register-page.create-profile.submit": "Registro completo", + // "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.", - // "register-page.create-profile.submit.error.content": "Something went wrong while registering a new user.", - "register-page.create-profile.submit.error.content": "Se produjo un error al registrar un nuevo usuario.", + // "mydspace.messages.title": "Messages", + "mydspace.messages.title": "Mensajes", - // "register-page.create-profile.submit.error.head": "Registration failed", - "register-page.create-profile.submit.error.head": "Registro fallido", + // "mydspace.messages.to": "To", + "mydspace.messages.to": "Para", - // "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": "El registro fue exitoso. Ha iniciado sesión como el usuario creado.", + // "mydspace.new-submission": "New submission", + "mydspace.new-submission": "Nuevo envío", - // "register-page.create-profile.submit.success.head": "Registration completed", - "register-page.create-profile.submit.success.head": "Registro completado", + // "mydspace.new-submission-external": "Import metadata from external source", + "mydspace.new-submission-external": "Importar metadatos de una fuente externa", + // "mydspace.new-submission-external-short": "Import metadata", + "mydspace.new-submission-external-short": "Importar metadatos", - // "register-page.registration.header": "New user registration", - "register-page.registration.header": "Registro de nuevo usuario", + // "mydspace.results.head": "Your submissions", + "mydspace.results.head": "Tus envíos", - // "register-page.registration.info": "Register an account to subscribe to collections for email updates, and submit new items to DSpace.", - "register-page.registration.info": "Registre una cuenta para suscribirse a colecciones para recibir actualizaciones por correo electrónico y envíe nuevos artículos a DSpace.", + // "mydspace.results.no-abstract": "No Abstract", + "mydspace.results.no-abstract": "Sin resumen", - // "register-page.registration.email": "Email Address *", - "register-page.registration.email": "Dirección de correo electrónico *", + // "mydspace.results.no-authors": "No Authors", + "mydspace.results.no-authors": "Sin autores", - // "register-page.registration.email.error.required": "Please fill in an email address", - "register-page.registration.email.error.required": "Por favor ingrese una dirección de correo electrónico", + // "mydspace.results.no-collections": "No Collections", + "mydspace.results.no-collections": "No hay colecciones", - // "register-page.registration.email.error.pattern": "Please fill in a valid email address", - "register-page.registration.email.error.pattern": "Por favor ingrese una dirección de correo electrónico válida", + // "mydspace.results.no-date": "No Date", + "mydspace.results.no-date": "Sin fecha", - // "register-page.registration.email.hint": "This address will be verified and used as your login name.", - "register-page.registration.email.hint": "Esta dirección será verificada y utilizada como su nombre de inicio de sesión.", + // "mydspace.results.no-files": "No Files", + "mydspace.results.no-files": "Sin archivos", - // "register-page.registration.submit": "Register", - "register-page.registration.submit": "Registrarse", + // "mydspace.results.no-results": "There were no items to show", + "mydspace.results.no-results": "No hay ítems para mostrar", - // "register-page.registration.success.head": "Verification email sent", - "register-page.registration.success.head": "El mensaje de verificación ha sido enviado", + // "mydspace.results.no-title": "No title", + "mydspace.results.no-title": "Sin título", - // "register-page.registration.success.content": "An email has been sent to {{ email }} containing a special URL and further instructions.", - "register-page.registration.success.content": "Se envió un correo electrónico a {{ email }} que contiene una URL especial y más instrucciones.", + // "mydspace.results.no-uri": "No Uri", + "mydspace.results.no-uri": "Sin Uri", - // "register-page.registration.error.head": "Error when trying to register email", - "register-page.registration.error.head": "Error al intentar registrar el correo electrónico", + // "mydspace.search-form.placeholder": "Search in mydspace...", + "mydspace.search-form.placeholder": "Buscar en Mi DSpace...", - // "register-page.registration.error.content": "An error occured when registering the following email address: {{ email }}", - "register-page.registration.error.content": "Se produjo un error al registrar la siguiente dirección de correo electrónico: {{ email }}", + // "mydspace.show.workflow": "Workflow tasks", + "mydspace.show.workflow": "Tareas del flujo de trabajo", + // "mydspace.show.workspace": "Your Submissions", + "mydspace.show.workspace": "Sus envíos", + // "mydspace.status.archived": "Archived", + "mydspace.status.archived": "Archivado", - // "relationships.add.error.relationship-type.content": "No suitable match could be found for relationship type {{ type }} between the two items", - "relationships.add.error.relationship-type.content": "No se pudo encontrar una coincidencia adecuada para el tipo de relación {{ type }} entre los dos artículos", + // "mydspace.status.validation": "Validation", + "mydspace.status.validation": "Validación", - // "relationships.add.error.server.content": "The server returned an error", - "relationships.add.error.server.content": "El servidor devolvió un error", + // "mydspace.status.waiting-for-controller": "Waiting for controller", + "mydspace.status.waiting-for-controller": "Esperando al controlador", - // "relationships.add.error.title": "Unable to add relationship", - "relationships.add.error.title": "No se puede agregar una relación", + // "mydspace.status.workflow": "Workflow", + "mydspace.status.workflow": "Flujo de trabajo", - // "relationships.isAuthorOf": "Authors", - "relationships.isAuthorOf": "Autores", + // "mydspace.status.workspace": "Workspace", + "mydspace.status.workspace": "Espacio de trabajo", - // "relationships.isAuthorOf.Person": "Authors (persons)", - "relationships.isAuthorOf.Person": "Autores (personas)", + // "mydspace.title": "MyDSpace", + "mydspace.title": "Mi DSpace", - // "relationships.isAuthorOf.OrgUnit": "Authors (organizational units)", - "relationships.isAuthorOf.OrgUnit": "Autores (unidades organizativas)", + // "mydspace.upload.upload-failed": "Error creating new workspace. Please verify the content uploaded before retry.", + "mydspace.upload.upload-failed": "Error al crear un nuevo espacio de trabajo. Verifique el contenido cargado antes de volver a intentarlo.", - // "relationships.isIssueOf": "Journal Issues", - "relationships.isIssueOf": "Problemas de la revista", + // "mydspace.upload.upload-failed-manyentries": "Unprocessable file. Detected too many entries but allowed only one for file.", + "mydspace.upload.upload-failed-manyentries": "Archivo no procesable. Se detectaron demasiadas entradas, pero solo se permitió una para el archivo.", - // "relationships.isJournalIssueOf": "Journal Issue", - "relationships.isJournalIssueOf": "Número de la revista", + // "mydspace.upload.upload-failed-moreonefile": "Unprocessable request. Only one file is allowed.", + "mydspace.upload.upload-failed-moreonefile": "Solicitud no procesable. Solo se permite un archivo.", - // "relationships.isJournalOf": "Journals", - "relationships.isJournalOf": "Revistas", + // "mydspace.upload.upload-multiple-successful": "{{qty}} new workspace items created.", + "mydspace.upload.upload-multiple-successful": "Se crearon {{ qty }} nuevos ítems del espacio de trabajo.", - // "relationships.isOrgUnitOf": "Organizational Units", - "relationships.isOrgUnitOf": "Unidades organizativas", + // "mydspace.upload.upload-successful": "New workspace item created. Click {{here}} for edit it.", + "mydspace.upload.upload-successful": "Se creó un nuevo ítems en el espacio de trabajo. Haga clic en {{ here }} para editarlo.", - // "relationships.isPersonOf": "Authors", - "relationships.isPersonOf": "Autores", + // "mydspace.view-btn": "View", + "mydspace.view-btn": "Vista", - // "relationships.isProjectOf": "Research Projects", - "relationships.isProjectOf": "Proyectos de investigación", - // "relationships.isPublicationOf": "Publications", - "relationships.isPublicationOf": "Publicaciones", - // "relationships.isPublicationOfJournalIssue": "Articles", - "relationships.isPublicationOfJournalIssue": "Artículos", + // "nav.browse.header": "All of DSpace", + "nav.browse.header": "Todo DSpace", - // "relationships.isSingleJournalOf": "Journal", - "relationships.isSingleJournalOf": "diario", + // "nav.community-browse.header": "By Community", + "nav.community-browse.header": "Por comunidad", - // "relationships.isSingleVolumeOf": "Journal Volume", - "relationships.isSingleVolumeOf": "Volumen de la revista", + // "nav.language": "Language switch", + "nav.language": "Cambio de idioma", - // "relationships.isVolumeOf": "Journal Volumes", - "relationships.isVolumeOf": "Volúmenes de revistas", + // "nav.login": "Log In", + "nav.login": "Iniciar sesión", - // "relationships.isContributorOf": "Contributors", - "relationships.isContributorOf": "Colaboradores", + // "nav.logout": "User profile menu and Log Out", + "nav.logout": "Menú de perfil de usuario y cierre de sesión", - // "relationships.isContributorOf.OrgUnit": "Contributor (Organizational Unit)", - "relationships.isContributorOf.OrgUnit": "Colaborador (Unidad organizativa)", + // "nav.main.description": "Main navigation bar", + "nav.main.description": "Barra de navegación principal", - // "relationships.isContributorOf.Person": "Contributor", - "relationships.isContributorOf.Person": "Contribuyente", + // "nav.mydspace": "MyDSpace", + "nav.mydspace": "Mi DSpace", - // "relationships.isFundingAgencyOf.OrgUnit": "Funder", - "relationships.isFundingAgencyOf.OrgUnit": "Financiador", + // "nav.profile": "Profile", + "nav.profile": "Perfil", + // "nav.search": "Search", + "nav.search": "Buscar", - // "repository.image.logo": "Repository logo", - "repository.image.logo": "Logotipo del repositorio", + // "nav.statistics.header": "Statistics", + "nav.statistics.header": "Estadísticas", - // "repository.title.prefix": "DSpace Angular :: ", - "repository.title.prefix": "DSpace Angular ::", + // "nav.stop-impersonating": "Stop impersonating EPerson", + "nav.stop-impersonating": "Dejar de impersonar a EPerson", - // "repository.title.prefixDSpace": "DSpace Angular ::", - "repository.title.prefixDSpace": "DSpace Angular ::", + // "nav.toggle" : "Toggle navigation", + "nav.toggle": "Alternar navegación", + // "nav.user.description" : "User profile bar", + "nav.user.description": "Barra de perfil de usuario", - // "resource-policies.add.button": "Add", - "resource-policies.add.button": "Agregar", + // "none.listelement.badge": "Item", + "none.listelement.badge": "Ítem", - // "resource-policies.add.for.": "Add a new policy", - "resource-policies.add.for.": "Agregar una nueva política", + // "orgunit.listelement.badge": "Organizational Unit", + "orgunit.listelement.badge": "Unidad organizativa", - // "resource-policies.add.for.bitstream": "Add a new Bitstream policy", - "resource-policies.add.for.bitstream": "Agregar una nueva política de Archivo", + // "orgunit.page.city": "City", + "orgunit.page.city": "Ciudad", - // "resource-policies.add.for.bundle": "Add a new Bundle policy", - "resource-policies.add.for.bundle": "Agregar una nueva política de paquete", + // "orgunit.page.country": "Country", + "orgunit.page.country": "País", - // "resource-policies.add.for.item": "Add a new Item policy", - "resource-policies.add.for.item": "Agregar una nueva política de artículos", + // "orgunit.page.dateestablished": "Date established", + "orgunit.page.dateestablished": "Fecha de establecimiento", - // "resource-policies.add.for.community": "Add a new Community policy", - "resource-policies.add.for.community": "Agregar una nueva política comunitaria", + // "orgunit.page.description": "Description", + "orgunit.page.description": "Descripción", - // "resource-policies.add.for.collection": "Add a new Collection policy", - "resource-policies.add.for.collection": "Agregar una nueva política de colección", + // "orgunit.page.edit": "Edit this item", + "orgunit.page.edit": "Editar este ítem", - // "resource-policies.create.page.heading": "Create new resource policy for ", - "resource-policies.create.page.heading": "Crear una nueva política de recursos para", + // "orgunit.page.id": "ID", + "orgunit.page.id": "ID", - // "resource-policies.create.page.failure.content": "An error occurred while creating the resource policy.", - "resource-policies.create.page.failure.content": "Se produjo un error al crear la política de recursos.", + // "orgunit.page.titleprefix": "Organizational Unit: ", + "orgunit.page.titleprefix": "Unidad organizativa:", - // "resource-policies.create.page.success.content": "Operation successful", - "resource-policies.create.page.success.content": "Operación exitosa", - // "resource-policies.create.page.title": "Create new resource policy", - "resource-policies.create.page.title": "Crear nueva política de recursos", + // "pagination.options.description": "Pagination options", + "pagination.options.description": "Opciones de paginación", - // "resource-policies.delete.btn": "Delete selected", - "resource-policies.delete.btn": "Eliminar seleccionado", + // "pagination.results-per-page": "Results Per Page", + "pagination.results-per-page": "Resultados por página", - // "resource-policies.delete.btn.title": "Delete selected resource policies", - "resource-policies.delete.btn.title": "Eliminar las políticas de recursos seleccionadas", + // "pagination.showing.detail": "{{ range }} of {{ total }}", + "pagination.showing.detail": "{{ range }} de {{ total }}", - // "resource-policies.delete.failure.content": "An error occurred while deleting selected resource policies.", - "resource-policies.delete.failure.content": "Se produjo un error al eliminar las políticas de recursos seleccionadas.", + // "pagination.showing.label": "Now showing ", + "pagination.showing.label": "Mostrando", - // "resource-policies.delete.success.content": "Operation successful", - "resource-policies.delete.success.content": "Operación exitosa", + // "pagination.sort-direction": "Sort Options", + "pagination.sort-direction": "Opciones de clasificación", - // "resource-policies.edit.page.heading": "Edit resource policy ", - "resource-policies.edit.page.heading": "Editar la política de recursos", - // "resource-policies.edit.page.failure.content": "An error occurred while editing the resource policy.", - "resource-policies.edit.page.failure.content": "Se produjo un error al editar la política de recursos.", - // "resource-policies.edit.page.success.content": "Operation successful", - "resource-policies.edit.page.success.content": "Operación exitosa", + // "person.listelement.badge": "Person", + "person.listelement.badge": "Persona", - // "resource-policies.edit.page.title": "Edit resource policy", - "resource-policies.edit.page.title": "Editar la política de recursos", + // "person.listelement.no-title": "No name found", + "person.listelement.no-title": "No se encontró ningún nombre", - // "resource-policies.form.action-type.label": "Select the action type", - "resource-policies.form.action-type.label": "Seleccione el tipo de acción", + // "person.page.birthdate": "Birth Date", + "person.page.birthdate": "Fecha de nacimiento", - // "resource-policies.form.action-type.required": "You must select the resource policy action.", - "resource-policies.form.action-type.required": "Debe seleccionar la acción de la política de recursos.", + // "person.page.edit": "Edit this item", + "person.page.edit": "Editar este artículo", - // "resource-policies.form.eperson-group-list.label": "The eperson or group that will be granted the permission", - "resource-policies.form.eperson-group-list.label": "La persona o grupo al que se le otorgará el permiso", + // "person.page.email": "Email Address", + "person.page.email": "Dirección de correo electrónico", - // "resource-policies.form.eperson-group-list.select.btn": "Select", - "resource-policies.form.eperson-group-list.select.btn": "Seleccione", + // "person.page.firstname": "First Name", + "person.page.firstname": "Primer nombre", - // "resource-policies.form.eperson-group-list.tab.eperson": "Search for a ePerson", - "resource-policies.form.eperson-group-list.tab.eperson": "Buscar una ePerson", + // "person.page.jobtitle": "Job Title", + "person.page.jobtitle": "Título profesional", - // "resource-policies.form.eperson-group-list.tab.group": "Search for a group", - "resource-policies.form.eperson-group-list.tab.group": "Buscar un grupo", + // "person.page.lastname": "Last Name", + "person.page.lastname": "Apellido", - // "resource-policies.form.eperson-group-list.table.headers.action": "Action", - "resource-policies.form.eperson-group-list.table.headers.action": "Acción", + // "person.page.name": "Name", + "person.page.name": "Nombre", - // "resource-policies.form.eperson-group-list.table.headers.id": "ID", - "resource-policies.form.eperson-group-list.table.headers.id": "IDENTIFICACIÓN", + // "person.page.link.full": "Show all metadata", + "person.page.link.full": "Mostrar todos los metadatos", - // "resource-policies.form.eperson-group-list.table.headers.name": "Name", - "resource-policies.form.eperson-group-list.table.headers.name": "Nombre", + // "person.page.orcid": "ORCID", + "person.page.orcid": "ORCID", - // "resource-policies.form.date.end.label": "End Date", - "resource-policies.form.date.end.label": "Fecha final", + // "person.page.staffid": "Staff ID", + "person.page.staffid": "Identificación del personal", - // "resource-policies.form.date.start.label": "Start Date", - "resource-policies.form.date.start.label": "Fecha de inicio", + // "person.page.titleprefix": "Person: ", + "person.page.titleprefix": "Persona:", - // "resource-policies.form.description.label": "Description", - "resource-policies.form.description.label": "Descripción", + // "person.search.results.head": "Person Search Results", + "person.search.results.head": "Resultados de búsqueda de personas", - // "resource-policies.form.name.label": "Name", - "resource-policies.form.name.label": "Nombre", + // "person-relationships.search.results.head": "Person Search Results", + "person-relationships.search.results.head": "Resultados de búsqueda de personas", - // "resource-policies.form.policy-type.label": "Select the policy type", - "resource-policies.form.policy-type.label": "Seleccione el tipo de póliza", + // "person.search.title": "Person Search", + "person.search.title": "Búsqueda de personas", - // "resource-policies.form.policy-type.required": "You must select the resource policy type.", - "resource-policies.form.policy-type.required": "Debe seleccionar el tipo de política de recursos.", - // "resource-policies.table.headers.action": "Action", - "resource-policies.table.headers.action": "Acción", - // "resource-policies.table.headers.date.end": "End Date", - "resource-policies.table.headers.date.end": "Fecha final", + // "process.new.select-parameters": "Parameters", + "process.new.select-parameters": "Parámetros", - // "resource-policies.table.headers.date.start": "Start Date", - "resource-policies.table.headers.date.start": "Fecha de inicio", + // "process.new.cancel": "Cancel", + "process.new.cancel": "Cancelar", - // "resource-policies.table.headers.edit": "Edit", - "resource-policies.table.headers.edit": "Editar", + // "process.new.submit": "Save", + "process.new.submit": "Guardar", - // "resource-policies.table.headers.edit.group": "Edit group", - "resource-policies.table.headers.edit.group": "Editar grupo", + // "process.new.select-script": "Script", + "process.new.select-script": "Texto", - // "resource-policies.table.headers.edit.policy": "Edit policy", - "resource-policies.table.headers.edit.policy": "Editar política", + // "process.new.select-script.placeholder": "Choose a script...", + "process.new.select-script.placeholder": "Elija un guión...", - // "resource-policies.table.headers.eperson": "EPerson", - "resource-policies.table.headers.eperson": "Epersona", + // "process.new.select-script.required": "Script is required", + "process.new.select-script.required": "Se requiere script", - // "resource-policies.table.headers.group": "Group", - "resource-policies.table.headers.group": "Grupo", + // "process.new.parameter.file.upload-button": "Select file...", + "process.new.parameter.file.upload-button": "Seleccione Archivo...", - // "resource-policies.table.headers.id": "ID", - "resource-policies.table.headers.id": "IDENTIFICACIÓN", + // "process.new.parameter.file.required": "Please select a file", + "process.new.parameter.file.required": "Por favor seleccione un archivo", - // "resource-policies.table.headers.name": "Name", - "resource-policies.table.headers.name": "Nombre", + // "process.new.parameter.string.required": "Parameter value is required", + "process.new.parameter.string.required": "Se requiere el valor del parámetro", - // "resource-policies.table.headers.policyType": "type", - "resource-policies.table.headers.policyType": "escribe", + // "process.new.parameter.type.value": "value", + "process.new.parameter.type.value": "valor", - // "resource-policies.table.headers.title.for.bitstream": "Policies for Bitstream", - "resource-policies.table.headers.title.for.bitstream": "Políticas para Archivo", + // "process.new.parameter.type.file": "file", + "process.new.parameter.type.file": "expediente", - // "resource-policies.table.headers.title.for.bundle": "Policies for Bundle", - "resource-policies.table.headers.title.for.bundle": "Políticas para el paquete", + // "process.new.parameter.required.missing": "The following parameters are required but still missing:", + "process.new.parameter.required.missing": "Los siguientes parámetros son obligatorios pero aún faltan:", - // "resource-policies.table.headers.title.for.item": "Policies for Item", - "resource-policies.table.headers.title.for.item": "Políticas para el artículo", + // "process.new.notification.success.title": "Success", + "process.new.notification.success.title": "Éxito", - // "resource-policies.table.headers.title.for.community": "Policies for Community", - "resource-policies.table.headers.title.for.community": "Políticas para la comunidad", + // "process.new.notification.success.content": "The process was successfully created", + "process.new.notification.success.content": "El proceso fue creado con éxito", - // "resource-policies.table.headers.title.for.collection": "Policies for Collection", - "resource-policies.table.headers.title.for.collection": "Políticas de cobranza", + // "process.new.notification.error.title": "Error", + "process.new.notification.error.title": "Error", + // "process.new.notification.error.content": "An error occurred while creating this process", + "process.new.notification.error.content": "Se produjo un error al crear este proceso.", + // "process.new.header": "Create a new process", + "process.new.header": "Crea un nuevo proceso", - // "search.description": "", - "search.description": "", + // "process.new.title": "Create a new process", + "process.new.title": "Crea un nuevo proceso", - // "search.switch-configuration.title": "Show", - "search.switch-configuration.title": "Show", + // "process.new.breadcrumbs": "Create a new process", + "process.new.breadcrumbs": "Crea un nuevo proceso", - // "search.title": "Search", - "search.title": "Buscar", - // "search.breadcrumbs": "Search", - "search.breadcrumbs": "Buscar", - // "search.search-form.placeholder": "Search the repository ...", - "search.search-form.placeholder": "Buscar en el repositorio ...", + // "process.detail.arguments" : "Arguments", + "process.detail.arguments": "Argumentos", + // "process.detail.arguments.empty" : "This process doesn't contain any arguments", + "process.detail.arguments.empty": "Este proceso no contiene ningún argumento", - // "search.filters.applied.f.author": "Author", - "search.filters.applied.f.author": "Autor", + // "process.detail.back" : "Back", + "process.detail.back": "Atrás", - // "search.filters.applied.f.dateIssued.max": "End date", - "search.filters.applied.f.dateIssued.max": "Fecha final", + // "process.detail.output" : "Process Output", + "process.detail.output": "Salida del proceso", - // "search.filters.applied.f.dateIssued.min": "Start date", - "search.filters.applied.f.dateIssued.min": "Fecha de inicio", + // "process.detail.logs.button": "Retrieve process output", + "process.detail.logs.button": "Recuperar la salida del proceso", - // "search.filters.applied.f.dateSubmitted": "Date submitted", - "search.filters.applied.f.dateSubmitted": "Fecha Enviado", + // "process.detail.logs.loading": "Retrieving", + "process.detail.logs.loading": "Recuperando", - // "search.filters.applied.f.discoverable": "Private", - "search.filters.applied.f.discoverable": "Privado", + // "process.detail.logs.none": "This process has no output", + "process.detail.logs.none": "Este proceso no tiene salida", - // "search.filters.applied.f.entityType": "Item Type", - "search.filters.applied.f.entityType": "Tipo de artículo", + // "process.detail.output-files" : "Output Files", + "process.detail.output-files": "Archivos de salida", - // "search.filters.applied.f.has_content_in_original_bundle": "Has files", - "search.filters.applied.f.has_content_in_original_bundle": "Tiene archivos", + // "process.detail.output-files.empty" : "This process doesn't contain any output files", + "process.detail.output-files.empty": "Este proceso no contiene ningún archivo de salida", - // "search.filters.applied.f.itemtype": "Type", - "search.filters.applied.f.itemtype": "Escribe", + // "process.detail.script" : "Script", + "process.detail.script": "Secuencia de comandos", - // "search.filters.applied.f.namedresourcetype": "Status", - "search.filters.applied.f.namedresourcetype": "Estado", + // "process.detail.title" : "Process: {{ id }} - {{ name }}", + "process.detail.title": "Proceso: {{ id }} - {{ name }}", - // "search.filters.applied.f.subject": "Subject", - "search.filters.applied.f.subject": "Tema", + // "process.detail.start-time" : "Start time", + "process.detail.start-time": "Hora de inicio", - // "search.filters.applied.f.submitter": "Submitter", - "search.filters.applied.f.submitter": "Remitente", + // "process.detail.end-time" : "Finish time", + "process.detail.end-time": "Hora de finalización", - // "search.filters.applied.f.jobTitle": "Job Title", - "search.filters.applied.f.jobTitle": "Título profesional", + // "process.detail.status" : "Status", + "process.detail.status": "Estado", - // "search.filters.applied.f.birthDate.max": "End birth date", - "search.filters.applied.f.birthDate.max": "Fecha final de nacimiento", + // "process.detail.create" : "Create similar process", + "process.detail.create": "Crear un proceso similar", - // "search.filters.applied.f.birthDate.min": "Start birth date", - "search.filters.applied.f.birthDate.min": "Fecha de inicio de nacimiento", - // "search.filters.applied.f.withdrawn": "Withdrawn", - "search.filters.applied.f.withdrawn": "Retirado", + // "process.overview.table.finish" : "Finish time (UTC)", + "process.overview.table.finish": "Hora de finalización (UTC)", + // "process.overview.table.id" : "Process ID", + "process.overview.table.id": "ID de proceso", - // "search.filters.filter.author.head": "Author", - "search.filters.filter.author.head": "Autor", + // "process.overview.table.name" : "Name", + "process.overview.table.name": "Nombre", - // "search.filters.filter.author.placeholder": "Author name", - "search.filters.filter.author.placeholder": "Nombre del autor", + // "process.overview.table.start" : "Start time (UTC)", + "process.overview.table.start": "Hora de inicio (UTC)", - // "search.filters.filter.author.label": "Search author name", - "search.filters.filter.author.label": "Buscar el nombre del autor", + // "process.overview.table.status" : "Status", + "process.overview.table.status": "Estado", - // "search.filters.filter.birthDate.head": "Birth Date", - "search.filters.filter.birthDate.head": "Fecha de nacimiento", + // "process.overview.table.user" : "User", + "process.overview.table.user": "Usuario", - // "search.filters.filter.birthDate.placeholder": "Birth Date", - "search.filters.filter.birthDate.placeholder": "Fecha de nacimiento", + // "process.overview.title": "Processes Overview", + "process.overview.title": "Resumen de procesos", - // "search.filters.filter.birthDate.label": "Search birth date", - "search.filters.filter.birthDate.label": "Buscar fecha de nacimiento", + // "process.overview.breadcrumbs": "Processes Overview", + "process.overview.breadcrumbs": "Resumen de procesos", - // "search.filters.filter.collapse": "Collapse filter", - "search.filters.filter.collapse": "Colapsar filtro", + // "process.overview.new": "New", + "process.overview.new": "Nuevo", - // "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", + // "profile.breadcrumbs": "Update Profile", + "profile.breadcrumbs": "Actualización del perfil", - // "search.filters.filter.creativeDatePublished.label": "Search date published", - "search.filters.filter.creativeDatePublished.label": "Fecha de búsqueda publicada", + // "profile.card.identify": "Identify", + "profile.card.identify": "Identificar", - // "search.filters.filter.creativeWorkEditor.head": "Editor", - "search.filters.filter.creativeWorkEditor.head": "Editor", + // "profile.card.security": "Security", + "profile.card.security": "Seguridad", - // "search.filters.filter.creativeWorkEditor.placeholder": "Editor", - "search.filters.filter.creativeWorkEditor.placeholder": "Editor", + // "profile.form.submit": "Save", + "profile.form.submit": "Guardar", - // "search.filters.filter.creativeWorkEditor.label": "Search editor", - "search.filters.filter.creativeWorkEditor.label": "Editor de búsqueda", + // "profile.groups.head": "Authorization groups you belong to", + "profile.groups.head": "Grupos de autorización a los que pertenece", - // "search.filters.filter.creativeWorkKeywords.head": "Subject", - "search.filters.filter.creativeWorkKeywords.head": "Tema", + // "profile.special.groups.head": "Authorization special groups you belong to", + "profile.special.groups.head": "Grupos especiales de autorización a los que pertenece", - // "search.filters.filter.creativeWorkKeywords.placeholder": "Subject", - "search.filters.filter.creativeWorkKeywords.placeholder": "Tema", + // "profile.head": "Update Profile", + "profile.head": "Actualización del perfil", - // "search.filters.filter.creativeWorkKeywords.label": "Search subject", - "search.filters.filter.creativeWorkKeywords.label": "Asunto de búsqueda", + // "profile.metadata.form.error.firstname.required": "First Name is required", + "profile.metadata.form.error.firstname.required": "Se requiere el nombre", - // "search.filters.filter.creativeWorkPublisher.head": "Publisher", - "search.filters.filter.creativeWorkPublisher.head": "Editor", + // "profile.metadata.form.error.lastname.required": "Last Name is required", + "profile.metadata.form.error.lastname.required": "Se requiere el apellido", - // "search.filters.filter.creativeWorkPublisher.placeholder": "Publisher", - "search.filters.filter.creativeWorkPublisher.placeholder": "Editor", + // "profile.metadata.form.label.email": "Email Address", + "profile.metadata.form.label.email": "Dirección de correo electrónico", - // "search.filters.filter.creativeWorkPublisher.label": "Search publisher", - "search.filters.filter.creativeWorkPublisher.label": "Editor de búsqueda", + // "profile.metadata.form.label.firstname": "First Name", + "profile.metadata.form.label.firstname": "Nombre¡", - // "search.filters.filter.dateIssued.head": "Date", - "search.filters.filter.dateIssued.head": "Fecha", + // "profile.metadata.form.label.language": "Language", + "profile.metadata.form.label.language": "Idioma", - // "search.filters.filter.dateIssued.max.placeholder": "Maximum Date", - "search.filters.filter.dateIssued.max.placeholder": "Fecha máxima", + // "profile.metadata.form.label.lastname": "Last Name", + "profile.metadata.form.label.lastname": "Apellido", - // "search.filters.filter.dateIssued.max.label": "End", - "search.filters.filter.dateIssued.max.label": "Fin", + // "profile.metadata.form.label.phone": "Contact Telephone", + "profile.metadata.form.label.phone": "Teléfono de contacto", - // "search.filters.filter.dateIssued.min.placeholder": "Minimum Date", - "search.filters.filter.dateIssued.min.placeholder": "Fecha mínima", + // "profile.metadata.form.notifications.success.content": "Your changes to the profile were saved.", + "profile.metadata.form.notifications.success.content": "Se guardaron sus cambios en el perfil.", - // "search.filters.filter.dateIssued.min.label": "Start", - "search.filters.filter.dateIssued.min.label": "Comienzo", + // "profile.metadata.form.notifications.success.title": "Profile saved", + "profile.metadata.form.notifications.success.title": "Perfil guardado", - // "search.filters.filter.dateSubmitted.head": "Date submitted", - "search.filters.filter.dateSubmitted.head": "Fecha Enviado", + // "profile.notifications.warning.no-changes.content": "No changes were made to the Profile.", + "profile.notifications.warning.no-changes.content": "No se realizaron cambios en el perfil.", - // "search.filters.filter.dateSubmitted.placeholder": "Date submitted", - "search.filters.filter.dateSubmitted.placeholder": "Fecha Enviado", + // "profile.notifications.warning.no-changes.title": "No changes", + "profile.notifications.warning.no-changes.title": "Sin cambios", - // "search.filters.filter.dateSubmitted.label": "Search date submitted", - "search.filters.filter.dateSubmitted.label": "Fecha de búsqueda enviada", + // "profile.security.form.error.matching-passwords": "The passwords do not match.", + "profile.security.form.error.matching-passwords": "Las contraseñas no coinciden.", - // "search.filters.filter.discoverable.head": "Private", - "search.filters.filter.discoverable.head": "Privado", + // "profile.security.form.error.password-length": "The password should be at least 6 characters long.", + "profile.security.form.error.password-length": "La contraseña debe tener al menos 6 caracteres.", - // "search.filters.filter.withdrawn.head": "Withdrawn", - "search.filters.filter.withdrawn.head": "Retirado", + // "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": "Opcionalmente, puede introducir una nueva contraseña en el cuadro a continuación y confirmarla escribiéndola nuevamente en el segundo cuadro. Debe tener al menos seis caracteres.", - // "search.filters.filter.entityType.head": "Item Type", - "search.filters.filter.entityType.head": "Tipo de artículo", + // "profile.security.form.label.password": "Password", + "profile.security.form.label.password": "Contraseña", - // "search.filters.filter.entityType.placeholder": "Item Type", - "search.filters.filter.entityType.placeholder": "Tipo de artículo", + // "profile.security.form.label.passwordrepeat": "Retype to confirm", + "profile.security.form.label.passwordrepeat": "Rescriba para confirmar", - // "search.filters.filter.entityType.label": "Search item type", - "search.filters.filter.entityType.label": "Tipo de artículo de búsqueda", + // "profile.security.form.notifications.success.content": "Your changes to the password were saved.", + "profile.security.form.notifications.success.content": "Se guardaron sus cambios a la contraseña.", - // "search.filters.filter.expand": "Expand filter", - "search.filters.filter.expand": "Expandir filtro", + // "profile.security.form.notifications.success.title": "Password saved", + "profile.security.form.notifications.success.title": "Contraseña guardada", - // "search.filters.filter.has_content_in_original_bundle.head": "Has files", - "search.filters.filter.has_content_in_original_bundle.head": "Tiene archivos", + // "profile.security.form.notifications.error.title": "Error changing passwords", + "profile.security.form.notifications.error.title": "Error al cambiar las contraseñas", - // "search.filters.filter.itemtype.head": "Type", - "search.filters.filter.itemtype.head": "Escribe", + // "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": "La contraseña debe tener al menos 6 caracteres.", - // "search.filters.filter.itemtype.placeholder": "Type", - "search.filters.filter.itemtype.placeholder": "Escribe", + // "profile.security.form.notifications.error.not-same": "The provided passwords are not the same.", + "profile.security.form.notifications.error.not-same": "Las contraseñas proporcionadas no coinciden.", - // "search.filters.filter.itemtype.label": "Search type", - "search.filters.filter.itemtype.label": "Tipo de búsqueda", + // "profile.title": "Update Profile", + "profile.title": "Actualización del perfil", - // "search.filters.filter.jobTitle.head": "Job Title", - "search.filters.filter.jobTitle.head": "Título profesional", + // "profile.card.researcher": "Researcher Profile", + "profile.card.researcher": "Perfil de Investigador", - // "search.filters.filter.jobTitle.placeholder": "Job Title", - "search.filters.filter.jobTitle.placeholder": "Título profesional", + // "project.listelement.badge": "Research Project", + "project.listelement.badge": "Proyecto de Investigación", - // "search.filters.filter.jobTitle.label": "Search job title", - "search.filters.filter.jobTitle.label": "Buscar puesto de trabajo", + // "project.page.contributor": "Contributors", + "project.page.contributor": "Colaboradores", - // "search.filters.filter.knowsLanguage.head": "Known language", - "search.filters.filter.knowsLanguage.head": "Idioma conocido", + // "project.page.description": "Description", + "project.page.description": "Descripción", - // "search.filters.filter.knowsLanguage.placeholder": "Known language", - "search.filters.filter.knowsLanguage.placeholder": "Idioma conocido", + // "project.page.edit": "Edit this item", + "project.page.edit": "Editar este ítem", - // "search.filters.filter.knowsLanguage.label": "Search known language", - "search.filters.filter.knowsLanguage.label": "Buscar idioma conocido", + // "project.page.expectedcompletion": "Expected Completion", + "project.page.expectedcompletion": "Finalización prevista", - // "search.filters.filter.namedresourcetype.head": "Status", - "search.filters.filter.namedresourcetype.head": "Estado", + // "project.page.funder": "Funders", + "project.page.funder": "Financiadores", - // "search.filters.filter.namedresourcetype.placeholder": "Status", - "search.filters.filter.namedresourcetype.placeholder": "Estado", + // "project.page.id": "ID", + "project.page.id": "ID", - // "search.filters.filter.namedresourcetype.label": "Search status", - "search.filters.filter.namedresourcetype.label": "Estado de búsqueda", + // "project.page.keyword": "Keywords", + "project.page.keyword": "Palabras clave", - // "search.filters.filter.objectpeople.head": "People", - "search.filters.filter.objectpeople.head": "Gente", + // "project.page.status": "Status", + "project.page.status": "Estado", - // "search.filters.filter.objectpeople.placeholder": "People", - "search.filters.filter.objectpeople.placeholder": "Gente", + // "project.page.titleprefix": "Research Project: ", + "project.page.titleprefix": "Proyecto de Investigación:", - // "search.filters.filter.objectpeople.label": "Search people", - "search.filters.filter.objectpeople.label": "Busca gente", + // "project.search.results.head": "Project Search Results", + "project.search.results.head": "Resultados de búsqueda de proyectos", - // "search.filters.filter.organizationAddressCountry.head": "Country", - "search.filters.filter.organizationAddressCountry.head": "País", + // "project-relationships.search.results.head": "Project Search Results", + "project-relationships.search.results.head": "Resultados de búsqueda de proyectos", - // "search.filters.filter.organizationAddressCountry.placeholder": "Country", - "search.filters.filter.organizationAddressCountry.placeholder": "País", - // "search.filters.filter.organizationAddressCountry.label": "Search country", - "search.filters.filter.organizationAddressCountry.label": "País de búsqueda", - // "search.filters.filter.organizationAddressLocality.head": "City", - "search.filters.filter.organizationAddressLocality.head": "Ciudad", + // "publication.listelement.badge": "Publication", + "publication.listelement.badge": "Publicación", - // "search.filters.filter.organizationAddressLocality.placeholder": "City", - "search.filters.filter.organizationAddressLocality.placeholder": "Ciudad", + // "publication.page.description": "Description", + "publication.page.description": "Descripción", - // "search.filters.filter.organizationAddressLocality.label": "Search city", - "search.filters.filter.organizationAddressLocality.label": "Buscar ciudad", + // "publication.page.edit": "Edit this item", + "publication.page.edit": "Editar este ítem", - // "search.filters.filter.organizationFoundingDate.head": "Date Founded", - "search.filters.filter.organizationFoundingDate.head": "Fecha de fundación", + // "publication.page.journal-issn": "Journal ISSN", + "publication.page.journal-issn": "ISSN de la revista", - // "search.filters.filter.organizationFoundingDate.placeholder": "Date Founded", - "search.filters.filter.organizationFoundingDate.placeholder": "Fecha de fundación", + // "publication.page.journal-title": "Journal Title", + "publication.page.journal-title": "Título de la revista", - // "search.filters.filter.organizationFoundingDate.label": "Search date founded", - "search.filters.filter.organizationFoundingDate.label": "Fecha de búsqueda fundada", + // "publication.page.publisher": "Publisher", + "publication.page.publisher": "Editor", - // "search.filters.filter.scope.head": "Scope", - "search.filters.filter.scope.head": "Alcance", + // "publication.page.titleprefix": "Publication: ", + "publication.page.titleprefix": "Publicación:", - // "search.filters.filter.scope.placeholder": "Scope filter", - "search.filters.filter.scope.placeholder": "Filtro de alcance", + // "publication.page.volume-title": "Volume Title", + "publication.page.volume-title": "Título del volumen", - // "search.filters.filter.scope.label": "Search scope filter", - "search.filters.filter.scope.label": "Filtro de alcance de búsqueda", + // "publication.search.results.head": "Publication Search Results", + "publication.search.results.head": "Resultados de la búsqueda de publicaciones", - // "search.filters.filter.show-less": "Collapse", - "search.filters.filter.show-less": "Colapso", + // "publication-relationships.search.results.head": "Publication Search Results", + "publication-relationships.search.results.head": "Resultados de la búsqueda de publicaciones", - // "search.filters.filter.show-more": "Show more", - "search.filters.filter.show-more": "Mostrar más", + // "publication.search.title": "Publication Search", + "publication.search.title": "Búsqueda de publicaciones", - // "search.filters.filter.subject.head": "Subject", - "search.filters.filter.subject.head": "Tema", - // "search.filters.filter.subject.placeholder": "Subject", - "search.filters.filter.subject.placeholder": "Tema", + // "media-viewer.next": "Next", + "media-viewer.next": "Siguiente", - // "search.filters.filter.subject.label": "Search subject", - "search.filters.filter.subject.label": "Asunto de búsqueda", + // "media-viewer.previous": "Previous", + "media-viewer.previous": "Anterior", - // "search.filters.filter.submitter.head": "Submitter", - "search.filters.filter.submitter.head": "Remitente", + // "media-viewer.playlist": "Playlist", + "media-viewer.playlist": "Lista de reproducción", - // "search.filters.filter.submitter.placeholder": "Submitter", - "search.filters.filter.submitter.placeholder": "Remitente", - // "search.filters.filter.submitter.label": "Search submitter", - "search.filters.filter.submitter.label": "Remitente de búsqueda", + // "register-email.title": "New user registration", + "register-email.title": "Registro de nuevo usuario", + // "register-page.create-profile.header": "Create Profile", + "register-page.create-profile.header": "Crear perfil", + // "register-page.create-profile.identification.header": "Identify", + "register-page.create-profile.identification.header": "Identificar", - // "search.filters.entityType.JournalIssue": "Journal Issue", - "search.filters.entityType.JournalIssue": "Número de la revista", + // "register-page.create-profile.identification.email": "Email Address", + "register-page.create-profile.identification.email": "Dirección de correo electrónico", - // "search.filters.entityType.JournalVolume": "Journal Volume", - "search.filters.entityType.JournalVolume": "Volumen de la revista", + // "register-page.create-profile.identification.first-name": "First Name *", + "register-page.create-profile.identification.first-name": "Nombre *", - // "search.filters.entityType.OrgUnit": "Organizational Unit", - "search.filters.entityType.OrgUnit": "Unidad organizacional", + // "register-page.create-profile.identification.first-name.error": "Please fill in a First Name", + "register-page.create-profile.identification.first-name.error": "Por favor introduzca Nombre", - // "search.filters.has_content_in_original_bundle.true": "Yes", - "search.filters.has_content_in_original_bundle.true": "sí", + // "register-page.create-profile.identification.last-name": "Last Name *", + "register-page.create-profile.identification.last-name": "Apellido *", - // "search.filters.has_content_in_original_bundle.false": "No", - "search.filters.has_content_in_original_bundle.false": "No", + // "register-page.create-profile.identification.last-name.error": "Please fill in a Last Name", + "register-page.create-profile.identification.last-name.error": "Por favor introduzca Apellido", - // "search.filters.discoverable.true": "No", - "search.filters.discoverable.true": "No", + // "register-page.create-profile.identification.contact": "Contact Telephone", + "register-page.create-profile.identification.contact": "Teléfono de contacto", - // "search.filters.discoverable.false": "Yes", - "search.filters.discoverable.false": "sí", + // "register-page.create-profile.identification.language": "Language", + "register-page.create-profile.identification.language": "Idioma", - // "search.filters.withdrawn.true": "Yes", - "search.filters.withdrawn.true": "sí", + // "register-page.create-profile.security.header": "Security", + "register-page.create-profile.security.header": "Seguridad", - // "search.filters.withdrawn.false": "No", - "search.filters.withdrawn.false": "No", + // "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": "Introduzca una contraseña en el cuadro siguiente y confírmela escribiéndola nuevamente en el segundo cuadro. Debe tener al menos seis caracteres.", + // "register-page.create-profile.security.label.password": "Password *", + "register-page.create-profile.security.label.password": "Contraseña *", - // "search.filters.head": "Filters", - "search.filters.head": "Filtros", + // "register-page.create-profile.security.label.passwordrepeat": "Retype to confirm *", + "register-page.create-profile.security.label.passwordrepeat": "Rescriba para confirmar *", - // "search.filters.reset": "Reset filters", - "search.filters.reset": "Restablecer filtros", + // "register-page.create-profile.security.error.empty-password": "Please enter a password in the box below.", + "register-page.create-profile.security.error.empty-password": "Ingrese una contraseña en el cuadro a continuación.", - // "search.filters.search.submit": "Submit", - "search.filters.search.submit": "Enviar", + // "register-page.create-profile.security.error.matching-passwords": "The passwords do not match.", + "register-page.create-profile.security.error.matching-passwords": "Las contraseñas no coinciden.", + // "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": "La contraseña debe tener al menos 6 caracteres.", + // "register-page.create-profile.submit": "Complete Registration", + "register-page.create-profile.submit": "Registro completo", - // "search.form.search": "Search", - "search.form.search": "Buscar", + // "register-page.create-profile.submit.error.content": "Something went wrong while registering a new user.", + "register-page.create-profile.submit.error.content": "Se produjo un error al registrar un nuevo usuario.", - // "search.form.search_dspace": "All repository", - "search.form.search_dspace": "Todo el repositorio", + // "register-page.create-profile.submit.error.head": "Registration failed", + "register-page.create-profile.submit.error.head": "Registro fallido", + // "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": "El registro fue exitoso. Ha iniciado sesión como el usuario creado.", + // "register-page.create-profile.submit.success.head": "Registration completed", + "register-page.create-profile.submit.success.head": "Registro completado", - // "search.results.head": "Search Results", - "search.results.head": "Resultados de la búsqueda", - // "search.results.no-results": "Your search returned no results. Having trouble finding what you're looking for? Try putting", - "search.results.no-results": "Su búsqueda no produjo resultados. ¿Tiene problemas para encontrar lo que busca? Intenta poner", + // "register-page.registration.header": "New user registration", + "register-page.registration.header": "Registro de nuevo usuario", - // "search.results.no-results-link": "quotes around it", - "search.results.no-results-link": "citas a su alrededor", + // "register-page.registration.info": "Register an account to subscribe to collections for email updates, and submit new items to DSpace.", + "register-page.registration.info": "Registre una cuenta para suscribirse a colecciones y recibir actualizaciones por correo electrónico, así como enviar nuevos ítems a DSpace.", - // "search.results.empty": "Your search returned no results.", - "search.results.empty": "Su búsqueda no produjo resultados.", + // "register-page.registration.email": "Email Address *", + "register-page.registration.email": "Dirección de correo electrónico *", + // "register-page.registration.email.error.required": "Please fill in an email address", + "register-page.registration.email.error.required": "Por favor, introduzca una dirección de correo electrónico", - // "default.search.results.head": "Search Results", - "default.search.results.head": "Resultados de la búsqueda", + // "register-page.registration.email.error.pattern": "Please fill in a valid email address", + "register-page.registration.email.error.pattern": "Por favor, introduzca una dirección de correo electrónico válida", + // "register-page.registration.email.hint": "This address will be verified and used as your login name.", + "register-page.registration.email.hint": "Esta dirección será verificada y utilizada como su nombre de inicio de sesión.", - // "search.sidebar.close": "Back to results", - "search.sidebar.close": "Volver a resultados", + // "register-page.registration.submit": "Register", + "register-page.registration.submit": "Registrarse", - // "search.sidebar.filters.title": "Filters", - "search.sidebar.filters.title": "Filtros", + // "register-page.registration.success.head": "Verification email sent", + "register-page.registration.success.head": "El mensaje de verificación ha sido enviado", - // "search.sidebar.open": "Search Tools", - "search.sidebar.open": "Herramientas de búsqueda", + // "register-page.registration.success.content": "An email has been sent to {{ email }} containing a special URL and further instructions.", + "register-page.registration.success.content": "Se envió un correo electrónico a {{ email }} que contiene una URL especial y más instrucciones.", - // "search.sidebar.results": "results", - "search.sidebar.results": "resultados", + // "register-page.registration.error.head": "Error when trying to register email", + "register-page.registration.error.head": "Error al intentar registrar el correo electrónico", - // "search.sidebar.settings.rpp": "Results per page", - "search.sidebar.settings.rpp": "resultados por página", + // "register-page.registration.error.content": "An error occured when registering the following email address: {{ email }}", + "register-page.registration.error.content": "Se produjo un error al registrar la siguiente dirección de correo electrónico: {{ email }}", - // "search.sidebar.settings.sort-by": "Sort By", - "search.sidebar.settings.sort-by": "Ordenar por", - // "search.sidebar.settings.title": "Settings", - "search.sidebar.settings.title": "Ajustes", + // "relationships.add.error.relationship-type.content": "No suitable match could be found for relationship type {{ type }} between the two items", + "relationships.add.error.relationship-type.content": "No se pudo encontrar una coincidencia adecuada para el tipo de relación {{ type }} entre los dos artículos", + // "relationships.add.error.server.content": "The server returned an error", + "relationships.add.error.server.content": "El servidor devolvió un error", - // "search.view-switch.show-detail": "Show detail", - "search.view-switch.show-detail": "Mostrar detalle", + // "relationships.add.error.title": "Unable to add relationship", + "relationships.add.error.title": "No se puede agregar una relación", - // "search.view-switch.show-grid": "Show as grid", - "search.view-switch.show-grid": "Mostrar como cuadrícula", + // "relationships.isAuthorOf": "Authors", + "relationships.isAuthorOf": "Autores", - // "search.view-switch.show-list": "Show as list", - "search.view-switch.show-list": "Mostrar como lista", + // "relationships.isAuthorOf.Person": "Authors (persons)", + "relationships.isAuthorOf.Person": "Autores (personas)", + // "relationships.isAuthorOf.OrgUnit": "Authors (organizational units)", + "relationships.isAuthorOf.OrgUnit": "Autores (unidades organizativas)", + // "relationships.isIssueOf": "Journal Issues", + "relationships.isIssueOf": "Problemas de la revista", - // "sorting.ASC": "Ascending", - "sorting.ASC": "Ascendente", + // "relationships.isJournalIssueOf": "Journal Issue", + "relationships.isJournalIssueOf": "Número de la revista", - // "sorting.DESC": "Descending", - "sorting.DESC": "Descendente", + // "relationships.isJournalOf": "Journals", + "relationships.isJournalOf": "Revistas", - // "sorting.dc.title.ASC": "Title Ascending", - "sorting.dc.title.ASC": "Título Ascendente", + // "relationships.isOrgUnitOf": "Organizational Units", + "relationships.isOrgUnitOf": "Unidades organizativas", - // "sorting.dc.title.DESC": "Title Descending", - "sorting.dc.title.DESC": "Título Descendente", + // "relationships.isPersonOf": "Authors", + "relationships.isPersonOf": "Autores", - // "sorting.score.ASC": "Least Relevant", - "sorting.score.ASC": "Menos relevante", + // "relationships.isProjectOf": "Research Projects", + "relationships.isProjectOf": "Proyectos de investigación", - // "sorting.score.DESC": "Most Relevant", - "sorting.score.DESC": "Lo más relevante", + // "relationships.isPublicationOf": "Publications", + "relationships.isPublicationOf": "Publicaciones", - // "sorting.dc.date.issued.ASC": "Date Issued Ascending", - "sorting.dc.date.issued.ASC": "Fecha de emisión Ascendente", + // "relationships.isPublicationOfJournalIssue": "Articles", + "relationships.isPublicationOfJournalIssue": "Artículos", - // "sorting.dc.date.issued.DESC": "Date Issued Descending", - "sorting.dc.date.issued.DESC": "Fecha de emisión Descendente", + // "relationships.isSingleJournalOf": "Journal", + "relationships.isSingleJournalOf": "diario", - // "sorting.dc.date.accessioned.ASC": "Accessioned Date Ascending", - "sorting.dc.date.accessioned.ASC": "Fecha de adhesión Ascendente", + // "relationships.isSingleVolumeOf": "Journal Volume", + "relationships.isSingleVolumeOf": "Volumen de la revista", - // "sorting.dc.date.accessioned.DESC": "Accessioned Date Descending", - "sorting.dc.date.accessioned.DESC": "Fecha de adhesión Descendente", + // "relationships.isVolumeOf": "Journal Volumes", + "relationships.isVolumeOf": "Volúmenes de revistas", - // "sorting.lastModified.ASC": "Last modified Ascending", - "sorting.lastModified.ASC": "Última modificación Ascendente", + // "relationships.isContributorOf": "Contributors", + "relationships.isContributorOf": "Colaboradores", - // "sorting.lastModified.DESC": "Last modified Descending", - "sorting.lastModified.DESC": "Última modificación Descendente", + // "relationships.isContributorOf.OrgUnit": "Contributor (Organizational Unit)", + "relationships.isContributorOf.OrgUnit": "Colaborador (Unidad organizativa)", + // "relationships.isContributorOf.Person": "Contributor", + "relationships.isContributorOf.Person": "Contribuyente", - // "statistics.title": "Statistics", - "statistics.title": "Estadísticas", + // "relationships.isFundingAgencyOf.OrgUnit": "Funder", + "relationships.isFundingAgencyOf.OrgUnit": "Financiador", - // "statistics.header": "Statistics for {{ scope }}", - "statistics.header": "Estadísticas de {{ scope }}", - // "statistics.breadcrumbs": "Statistics", - "statistics.breadcrumbs": "Estadísticas", + // "repository.image.logo": "Repository logo", + "repository.image.logo": "Logotipo del repositorio", - // "statistics.page.no-data": "No data available", - "statistics.page.no-data": "Datos no disponibles", + // "repository.title.prefix": "DSpace Angular :: ", + "repository.title.prefix": "DSpace Angular ::", - // "statistics.table.no-data": "No data available", - "statistics.table.no-data": "Datos no disponibles", + // "repository.title.prefixDSpace": "DSpace Angular ::", + "repository.title.prefixDSpace": "DSpace Angular ::", - // "statistics.table.title.TotalVisits": "Total visits", - "statistics.table.title.TotalVisits": "Visitas totales", - // "statistics.table.title.TotalVisitsPerMonth": "Total visits per month", - "statistics.table.title.TotalVisitsPerMonth": "Visitas totales por mes", + // "resource-policies.add.button": "Add", + "resource-policies.add.button": "Agregar", - // "statistics.table.title.TotalDownloads": "File Visits", - "statistics.table.title.TotalDownloads": "Visitas de archivo", + // "resource-policies.add.for.": "Add a new policy", + "resource-policies.add.for.": "Agregar una nueva política", - // "statistics.table.title.TopCountries": "Top country views", - "statistics.table.title.TopCountries": "Vistas principales del país", + // "resource-policies.add.for.bitstream": "Add a new Bitstream policy", + "resource-policies.add.for.bitstream": "Agregar una nueva política de Archivo", - // "statistics.table.title.TopCities": "Top city views", - "statistics.table.title.TopCities": "Mejores vistas de la ciudad", + // "resource-policies.add.for.bundle": "Add a new Bundle policy", + "resource-policies.add.for.bundle": "Agregar una nueva política de bloque", - // "statistics.table.header.views": "Views", - "statistics.table.header.views": "Puntos de vista", + // "resource-policies.add.for.item": "Add a new Item policy", + "resource-policies.add.for.item": "Agregar una nueva política de artículos", + // "resource-policies.add.for.community": "Add a new Community policy", + "resource-policies.add.for.community": "Agregar una nueva política comunitaria", + // "resource-policies.add.for.collection": "Add a new Collection policy", + "resource-policies.add.for.collection": "Agregar una nueva política de colección", - // "submission.edit.breadcrumbs": "Edit Submission", - "submission.edit.breadcrumbs": "Editar envío", + // "resource-policies.create.page.heading": "Create new resource policy for ", + "resource-policies.create.page.heading": "Crear una nueva política de recursos para", - // "submission.edit.title": "Edit Submission", - "submission.edit.title": "Editar envío", + // "resource-policies.create.page.failure.content": "An error occurred while creating the resource policy.", + "resource-policies.create.page.failure.content": "Se produjo un error al crear la política de recursos.", - // "submission.general.cancel": "Cancel", - "submission.general.cancel": "Cancelar", + // "resource-policies.create.page.success.content": "Operation successful", + "resource-policies.create.page.success.content": "Operación exitosa", - // "submission.general.cannot_submit": "You have not the privilege to make a new submission.", - "submission.general.cannot_submit": "No tiene el privilegio de realizar un nuevo envío.", + // "resource-policies.create.page.title": "Create new resource policy", + "resource-policies.create.page.title": "Crear nueva política de recursos", - // "submission.general.deposit": "Deposit", - "submission.general.deposit": "Depositar", + // "resource-policies.delete.btn": "Delete selected", + "resource-policies.delete.btn": "Eliminar seleccionado", - // "submission.general.discard.confirm.cancel": "Cancel", - "submission.general.discard.confirm.cancel": "Cancelar", + // "resource-policies.delete.btn.title": "Delete selected resource policies", + "resource-policies.delete.btn.title": "Eliminar las políticas de recursos seleccionadas", - // "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. ", + // "resource-policies.delete.failure.content": "An error occurred while deleting selected resource policies.", + "resource-policies.delete.failure.content": "Se produjo un error al eliminar las políticas de recursos seleccionadas.", - // "submission.general.discard.confirm.submit": "Yes, I'm sure", - "submission.general.discard.confirm.submit": "Sí estoy seguro", + // "resource-policies.delete.success.content": "Operation successful", + "resource-policies.delete.success.content": "Operación exitosa", - // "submission.general.discard.confirm.title": "Discard submission", - "submission.general.discard.confirm.title": "Descartar envío", + // "resource-policies.edit.page.heading": "Edit resource policy ", + "resource-policies.edit.page.heading": "Editar la política de recursos", - // "submission.general.discard.submit": "Discard", - "submission.general.discard.submit": "Descarte", + // "resource-policies.edit.page.failure.content": "An error occurred while editing the resource policy.", + "resource-policies.edit.page.failure.content": "Se produjo un error al editar la política de recursos.", - // "submission.general.info.saved": "Saved", - "submission.general.info.saved": "Salvado", + // "resource-policies.edit.page.target-failure.content": "An error occurred while editing the target (ePerson or group) of the resource policy.", + "resource-policies.edit.page.target-failure.content": "Se produjo un error al editar el destinatario (ePersona o grupo) de la política de recursos.", - // "submission.general.info.pending-changes": "Unsaved changes", - "submission.general.info.pending-changes": "Cambios no guardados", + // "resource-policies.edit.page.other-failure.content": "An error occurred while editing the resource policy. The target (ePerson or group) has been successfully updated.", + "resource-policies.edit.page.other-failure.content": "Se produjo un error al editar la política de recursos. El destinatario (Grupo o ePersona) ha sido actualizado con éxito ", - // "submission.general.save": "Save", - "submission.general.save": "Guardar", + // "resource-policies.edit.page.success.content": "Operation successful", + "resource-policies.edit.page.success.content": "Operación exitosa", - // "submission.general.save-later": "Save for later", - "submission.general.save-later": "Guardar para más adelante", + // "resource-policies.edit.page.title": "Edit resource policy", + "resource-policies.edit.page.title": "Editar la política de recursos", + // "resource-policies.form.action-type.label": "Select the action type", + "resource-policies.form.action-type.label": "Seleccione el tipo de acción", - // "submission.import-external.page.title": "Import metadata from an external source", - "submission.import-external.page.title": "Importar metadatos de una fuente externa", + // "resource-policies.form.action-type.required": "You must select the resource policy action.", + "resource-policies.form.action-type.required": "Debe seleccionar la acción de la política de recursos.", - // "submission.import-external.title": "Import metadata from an external source", - "submission.import-external.title": "Importar metadatos de una fuente externa", + // "resource-policies.form.eperson-group-list.label": "The eperson or group that will be granted the permission", + "resource-policies.form.eperson-group-list.label": "La ePersona o grupo al que se le otorgará el permiso", - // "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": "Ingrese una consulta arriba para buscar artículos de la web para importarlos a DSpace.", + // "resource-policies.form.eperson-group-list.select.btn": "Select", + "resource-policies.form.eperson-group-list.select.btn": "Seleccione", - // "submission.import-external.back-to-my-dspace": "Back to MyDSpace", - "submission.import-external.back-to-my-dspace": "Volver a Mi DSpace", + // "resource-policies.form.eperson-group-list.tab.eperson": "Search for a ePerson", + "resource-policies.form.eperson-group-list.tab.eperson": "Buscar una ePersona", - // "submission.import-external.search.placeholder": "Search the external source", - "submission.import-external.search.placeholder": "Buscar la fuente externa", + // "resource-policies.form.eperson-group-list.tab.group": "Search for a group", + "resource-policies.form.eperson-group-list.tab.group": "Buscar un grupo", - // "submission.import-external.search.button": "Search", - "submission.import-external.search.button": "Buscar", + // "resource-policies.form.eperson-group-list.table.headers.action": "Action", + "resource-policies.form.eperson-group-list.table.headers.action": "Acción", - // "submission.import-external.search.button.hint": "Write some words to search", - "submission.import-external.search.button.hint": "Escribe algunas palabras para buscar", + // "resource-policies.form.eperson-group-list.table.headers.id": "ID", + "resource-policies.form.eperson-group-list.table.headers.id": "ID", - // "submission.import-external.search.source.hint": "Pick an external source", - "submission.import-external.search.source.hint": "Elija una fuente externa", + // "resource-policies.form.eperson-group-list.table.headers.name": "Name", + "resource-policies.form.eperson-group-list.table.headers.name": "Nombre", - // "submission.import-external.source.arxiv": "arXiv", - "submission.import-external.source.arxiv": "arXiv", + // "resource-policies.form.eperson-group-list.modal.header": "Cannot change type", + "resource-policies.form.eperson-group-list.modal.header": "No puede cambiarse el tipo", - // "submission.import-external.source.loading": "Loading ...", - "submission.import-external.source.loading": "Cargando ...", + // "resource-policies.form.eperson-group-list.modal.text1.toGroup": "It is not possible to replace an ePerson with a group.", + "resource-policies.form.eperson-group-list.modal.text1.toGroup": "No es posible cambiar una ePersona por un grupo.", - // "submission.import-external.source.sherpaJournal": "SHERPA Journals", - "submission.import-external.source.sherpaJournal": "Revistas SHERPA", + // "resource-policies.form.eperson-group-list.modal.text1.toEPerson": "It is not possible to replace a group with an ePerson.", + "resource-policies.form.eperson-group-list.modal.text1.toEPerson": "No es posible cambiar un grupo por una ePersona.", - // "submission.import-external.source.sherpaJournalIssn": "SHERPA Journals by ISSN", - "submission.import-external.source.sherpaJournalIssn": "Revistas SHERPA por ISSN", + // "resource-policies.form.eperson-group-list.modal.text2": "Delete the current resource policy and create a new one with the desired type.", + "resource-policies.form.eperson-group-list.modal.text2": "Borre la política de recursos actual y cree una nueva con el tipo deseado.", - // "submission.import-external.source.sherpaPublisher": "SHERPA Publishers", - "submission.import-external.source.sherpaPublisher": "Editores SHERPA", + // "resource-policies.form.eperson-group-list.modal.close": "Ok", + "resource-policies.form.eperson-group-list.modal.close": "Ok", - // "submission.import-external.source.openAIREFunding": "Funding OpenAIRE API", - "submission.import-external.source.openAIREFunding": "Financiamiento de la API de OpenAIRE", + // "resource-policies.form.date.end.label": "End Date", + "resource-policies.form.date.end.label": "Fecha de finalización", - // "submission.import-external.source.orcid": "ORCID", - "submission.import-external.source.orcid": "ORCID", + // "resource-policies.form.date.start.label": "Start Date", + "resource-policies.form.date.start.label": "Fecha de inicio", - // "submission.import-external.source.pubmed": "Pubmed", - "submission.import-external.source.pubmed": "Pubmed", + // "resource-policies.form.description.label": "Description", + "resource-policies.form.description.label": "Descripción", - // "submission.import-external.source.lcname": "Library of Congress Names", - "submission.import-external.source.lcname": "Nombres de la Biblioteca del Congreso", + // "resource-policies.form.name.label": "Name", + "resource-policies.form.name.label": "Nombre", - // "submission.import-external.preview.title": "Item Preview", - "submission.import-external.preview.title": "Vista previa del artículo", + // "resource-policies.form.policy-type.label": "Select the policy type", + "resource-policies.form.policy-type.label": "Seleccione el tipo de política", - // "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": "Los siguientes metadatos se importaron de una fuente externa. Se completará previamente cuando inicie el envío.", + // "resource-policies.form.policy-type.required": "You must select the resource policy type.", + "resource-policies.form.policy-type.required": "Debe seleccionar el tipo de política de recursos.", - // "submission.import-external.preview.button.import": "Start submission", - "submission.import-external.preview.button.import": "Iniciar envío", + // "resource-policies.table.headers.action": "Action", + "resource-policies.table.headers.action": "Acción", - // "submission.import-external.preview.error.import.title": "Submission error", - "submission.import-external.preview.error.import.title": "Error de envío", + // "resource-policies.table.headers.date.end": "End Date", + "resource-policies.table.headers.date.end": "Fecha final", - // "submission.import-external.preview.error.import.body": "An error occurs during the external source entry import process.", - "submission.import-external.preview.error.import.body": "Se produce un error durante el proceso de importación de la entrada de fuente externa.", + // "resource-policies.table.headers.date.start": "Start Date", + "resource-policies.table.headers.date.start": "Fecha de inicio", - // "submission.sections.describe.relationship-lookup.close": "Close", - "submission.sections.describe.relationship-lookup.close": "Cerrar", + // "resource-policies.table.headers.edit": "Edit", + "resource-policies.table.headers.edit": "Editar", - // "submission.sections.describe.relationship-lookup.external-source.added": "Successfully added local entry to the selection", - "submission.sections.describe.relationship-lookup.external-source.added": "Entrada local agregada con éxito a la selección", + // "resource-policies.table.headers.edit.group": "Edit group", + "resource-policies.table.headers.edit.group": "Editar grupo", - // "submission.sections.describe.relationship-lookup.external-source.import-button-title.isAuthorOfPublication": "Import remote author", - "submission.sections.describe.relationship-lookup.external-source.import-button-title.isAuthorOfPublication": "Importar autor remoto", + // "resource-policies.table.headers.edit.policy": "Edit policy", + "resource-policies.table.headers.edit.policy": "Editar política", - // "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": "Importar diario remoto", + // "resource-policies.table.headers.eperson": "EPerson", + "resource-policies.table.headers.eperson": "EPersona", - // "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": "Importar problema de diario remoto", + // "resource-policies.table.headers.group": "Group", + "resource-policies.table.headers.group": "Grupo", - // "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": "Importar volumen de diario remoto", + // "resource-policies.table.headers.id": "ID", + "resource-policies.table.headers.id": "ID", - // "submission.sections.describe.relationship-lookup.external-source.import-button-title.isProjectOfPublication": "Project", - "submission.sections.describe.relationship-lookup.external-source.import-button-title.isProjectOfPublication": "Proyecto", + // "resource-policies.table.headers.name": "Name", + "resource-policies.table.headers.name": "Nombre", - // "submission.sections.describe.relationship-lookup.external-source.import-modal.isProjectOfPublication.added.new-entity": "New Entity Added!", - "submission.sections.describe.relationship-lookup.external-source.import-modal.isProjectOfPublication.added.new-entity": "¡Nueva entidad agregada!", + // "resource-policies.table.headers.policyType": "type", + "resource-policies.table.headers.policyType": "Tipo", - // "submission.sections.describe.relationship-lookup.external-source.import-modal.isProjectOfPublication.title": "Project", - "submission.sections.describe.relationship-lookup.external-source.import-modal.isProjectOfPublication.title": "Proyecto", + // "resource-policies.table.headers.title.for.bitstream": "Policies for Bitstream", + "resource-policies.table.headers.title.for.bitstream": "Políticas para Archivos", - // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.openAIREFunding": "Funding OpenAIRE API", - "submission.sections.describe.relationship-lookup.external-source.import-modal.head.openAIREFunding": "Financiamiento de la API de OpenAIRE", + // "resource-policies.table.headers.title.for.bundle": "Policies for Bundle", + "resource-policies.table.headers.title.for.bundle": "Políticas para el bloque", - // "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.title": "Import Remote Author", - "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.title": "Importar autor remoto", + // "resource-policies.table.headers.title.for.item": "Policies for Item", + "resource-policies.table.headers.title.for.item": "Políticas para el ítem", - // "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.local-entity": "Autor local agregado exitosamente a la selección", + // "resource-policies.table.headers.title.for.community": "Policies for Community", + "resource-policies.table.headers.title.for.community": "Políticas para la comunidad", - // "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.isAuthorOfPublication.added.new-entity": "Autor externo importado y agregado exitosamente a la selección", + // "resource-policies.table.headers.title.for.collection": "Policies for Collection", + "resource-policies.table.headers.title.for.collection": "Políticas para la colección", - // "submission.sections.describe.relationship-lookup.external-source.import-modal.authority": "Authority", - "submission.sections.describe.relationship-lookup.external-source.import-modal.authority": "Autoridad", - // "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": "Importar como una nueva entrada de autoridad local", - // "submission.sections.describe.relationship-lookup.external-source.import-modal.cancel": "Cancel", - "submission.sections.describe.relationship-lookup.external-source.import-modal.cancel": "Cancelar", + // "search.description": "", + "search.description": "", - // "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": "Seleccione una colección para importar nuevas entradas", + // "search.switch-configuration.title": "Show", + "search.switch-configuration.title": "Mostrar", - // "submission.sections.describe.relationship-lookup.external-source.import-modal.entities": "Entities", - "submission.sections.describe.relationship-lookup.external-source.import-modal.entities": "Entidades", + // "search.title": "Search", + "search.title": "Buscar", - // "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": "Importar como una nueva entidad local", + // "search.breadcrumbs": "Search", + "search.breadcrumbs": "Buscar", - // "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": "Importar desde LC Name", + // "search.search-form.placeholder": "Search the repository ...", + "search.search-form.placeholder": "Buscar en el repositorio ...", - // "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 desde 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": "Importar desde Sherpa Journal", + // "search.filters.applied.f.author": "Author", + "search.filters.applied.f.author": "Autor", - // "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": "Importar desde Sherpa Publisher", + // "search.filters.applied.f.dateIssued.max": "End date", + "search.filters.applied.f.dateIssued.max": "Fecha de finalización", - // "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": "Importar desde PubMed", + // "search.filters.applied.f.dateIssued.min": "Start date", + "search.filters.applied.f.dateIssued.min": "Fecha de inicio", - // "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": "Importando desde arXiv", + // "search.filters.applied.f.dateSubmitted": "Date submitted", + "search.filters.applied.f.dateSubmitted": "Fecha de envío", - // "submission.sections.describe.relationship-lookup.external-source.import-modal.import": "Import", - "submission.sections.describe.relationship-lookup.external-source.import-modal.import": "Importar", + // "search.filters.applied.f.discoverable": "Non-discoverable", + "search.filters.applied.f.discoverable": "Privado", - // "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": "Importar diario remoto", + // "search.filters.applied.f.entityType": "Item Type", + "search.filters.applied.f.entityType": "Tipo de ítem", - // "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": "Revista local agregada con éxito a la selección", + // "search.filters.applied.f.has_content_in_original_bundle": "Has files", + "search.filters.applied.f.has_content_in_original_bundle": "Tiene archivos", - // "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": "Revista externa importada y agregada con éxito a la selección", + // "search.filters.applied.f.itemtype": "Type", + "search.filters.applied.f.itemtype": "Tipo", - // "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": "Importar problema de diario remoto", + // "search.filters.applied.f.namedresourcetype": "Status", + "search.filters.applied.f.namedresourcetype": "Estado", - // "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": "Se agregó con éxito la edición de la revista local a la selección.", + // "search.filters.applied.f.subject": "Subject", + "search.filters.applied.f.subject": "Tema", - // "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": "Se importó con éxito y se agregó una edición de diario externo a la selección.", + // "search.filters.applied.f.submitter": "Submitter", + "search.filters.applied.f.submitter": "Remitente", - // "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": "Importar volumen de diario remoto", + // "search.filters.applied.f.jobTitle": "Job Title", + "search.filters.applied.f.jobTitle": "Título profesional", - // "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": "Se agregó con éxito el volumen de la revista local a la selección.", + // "search.filters.applied.f.birthDate.max": "End birth date", + "search.filters.applied.f.birthDate.max": "Fecha de nacimiento, final ", - // "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": "Se importó y agregó con éxito un volumen de diario externo a la selección", + // "search.filters.applied.f.birthDate.min": "Start birth date", + "search.filters.applied.f.birthDate.min": "Fecha de nacimiento, inicial", - // "submission.sections.describe.relationship-lookup.external-source.import-modal.select": "Select a local match:", - "submission.sections.describe.relationship-lookup.external-source.import-modal.select": "Seleccione una coincidencia local:", + // "search.filters.applied.f.withdrawn": "Withdrawn", + "search.filters.applied.f.withdrawn": "Retirado", - // "submission.sections.describe.relationship-lookup.search-tab.deselect-all": "Deselect all", - "submission.sections.describe.relationship-lookup.search-tab.deselect-all": "Deseleccionar todo", - // "submission.sections.describe.relationship-lookup.search-tab.deselect-page": "Deselect page", - "submission.sections.describe.relationship-lookup.search-tab.deselect-page": "Deseleccionar página", - // "submission.sections.describe.relationship-lookup.search-tab.loading": "Loading...", - "submission.sections.describe.relationship-lookup.search-tab.loading": "Cargando...", + // "search.filters.filter.author.head": "Author", + "search.filters.filter.author.head": "Autor", - // "submission.sections.describe.relationship-lookup.search-tab.placeholder": "Search query", - "submission.sections.describe.relationship-lookup.search-tab.placeholder": "Consulta de busqueda", + // "search.filters.filter.author.placeholder": "Author name", + "search.filters.filter.author.placeholder": "Nombre de autor", - // "submission.sections.describe.relationship-lookup.search-tab.search": "Go", - "submission.sections.describe.relationship-lookup.search-tab.search": "Ir", + // "search.filters.filter.author.label": "Search author name", + "search.filters.filter.author.label": "Buscar por nombre de autor", - // "submission.sections.describe.relationship-lookup.search-tab.search-form.placeholder": "Search...", - "submission.sections.describe.relationship-lookup.search-tab.search-form.placeholder": "Buscar...", + // "search.filters.filter.birthDate.head": "Birth Date", + "search.filters.filter.birthDate.head": "Fecha de nacimiento", - // "submission.sections.describe.relationship-lookup.search-tab.select-all": "Select all", - "submission.sections.describe.relationship-lookup.search-tab.select-all": "Seleccionar todo", + // "search.filters.filter.birthDate.placeholder": "Birth Date", + "search.filters.filter.birthDate.placeholder": "Fecha de nacimiento", - // "submission.sections.describe.relationship-lookup.search-tab.select-page": "Select page", - "submission.sections.describe.relationship-lookup.search-tab.select-page": "Seleccionar página", + // "search.filters.filter.birthDate.label": "Search birth date", + "search.filters.filter.birthDate.label": "Buscar fecha de nacimiento", - // "submission.sections.describe.relationship-lookup.selected": "Selected {{ size }} items", - "submission.sections.describe.relationship-lookup.selected": "Artículos {{ size }} seleccionados", + // "search.filters.filter.collapse": "Collapse filter", + "search.filters.filter.collapse": "Contraer filtro", - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isAuthorOfPublication": "Local Authors ({{ count }})", - "submission.sections.describe.relationship-lookup.search-tab.tab-title.isAuthorOfPublication": "Autores locales ({{ count }})", + // "search.filters.filter.creativeDatePublished.head": "Date Published", + "search.filters.filter.creativeDatePublished.head": "Fecha de publicación", - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalOfPublication": "Local Journals ({{ count }})", - "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalOfPublication": "Revistas locales ({{ count }})", - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Project": "Local Projects ({{ count }})", - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Project": "Proyectos locales ({{ count }})", + // "search.filters.filter.creativeDatePublished.placeholder": "Date Published", + "search.filters.filter.creativeDatePublished.placeholder": "Fecha de publicación", - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Publication": "Local Publications ({{ count }})", - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Publication": "Publicaciones locales ({{ count }})", + // "search.filters.filter.creativeDatePublished.label": "Search date published", + "search.filters.filter.creativeDatePublished.label": "Buscar por fecha de publicación", - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Person": "Local Authors ({{ count }})", - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Person": "Autores locales ({{ count }})", + // "search.filters.filter.creativeWorkEditor.head": "Editor", + "search.filters.filter.creativeWorkEditor.head": "Editor", - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.OrgUnit": "Local Organizational Units ({{ count }})", - "submission.sections.describe.relationship-lookup.search-tab.tab-title.OrgUnit": "Unidades organizativas locales ({{ count }})", + // "search.filters.filter.creativeWorkEditor.placeholder": "Editor", + "search.filters.filter.creativeWorkEditor.placeholder": "Editor", - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.DataPackage": "Local Data Packages ({{ count }})", - "submission.sections.describe.relationship-lookup.search-tab.tab-title.DataPackage": "Paquetes de datos locales ({{ count }})", + // "search.filters.filter.creativeWorkEditor.label": "Search editor", + "search.filters.filter.creativeWorkEditor.label": "Búsqueda de Editor", - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.DataFile": "Local Data Files ({{ count }})", - "submission.sections.describe.relationship-lookup.search-tab.tab-title.DataFile": "Archivos de datos locales ({{ count }})", + // "search.filters.filter.creativeWorkKeywords.head": "Subject", + "search.filters.filter.creativeWorkKeywords.head": "Materias", - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal": "Local Journals ({{ count }})", - "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal": "Revistas locales ({{ count }})", + // "search.filters.filter.creativeWorkKeywords.placeholder": "Subject", + "search.filters.filter.creativeWorkKeywords.placeholder": "Materias", - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalIssueOfPublication": "Local Journal Issues ({{ count }})", - "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalIssueOfPublication": "Problemas de revistas locales ({{ 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": "Problemas de revistas locales ({{ count }})", + // "search.filters.filter.creativeWorkKeywords.label": "Search subject", + "search.filters.filter.creativeWorkKeywords.label": "Búsqueda de Materias", - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalVolumeOfPublication": "Local Journal Volumes ({{ count }})", - "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalVolumeOfPublication": "Volúmenes de revistas locales ({{ 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": "Volúmenes de revistas locales ({{ count }})", + // "search.filters.filter.creativeWorkPublisher.head": "Publisher", + "search.filters.filter.creativeWorkPublisher.head": "Editor", - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaJournal": "Sherpa Journals ({{ count }})", - "submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaJournal": "Sherpa Journals ({{ count }})", + // "search.filters.filter.creativeWorkPublisher.placeholder": "Publisher", + "search.filters.filter.creativeWorkPublisher.placeholder": "Editor", - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaPublisher": "Sherpa Publishers ({{ count }})", - "submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaPublisher": "Editores Sherpa ({{ count }})", + // "search.filters.filter.creativeWorkPublisher.label": "Search publisher", + "search.filters.filter.creativeWorkPublisher.label": "Búsqueda de Editor", - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.orcid": "ORCID ({{ count }})", - "submission.sections.describe.relationship-lookup.search-tab.tab-title.orcid": "ORCID ({{ count }})", + // "search.filters.filter.dateIssued.head": "Date", + "search.filters.filter.dateIssued.head": "Fecha", - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.lcname": "LC Names ({{ count }})", - "submission.sections.describe.relationship-lookup.search-tab.tab-title.lcname": "Nombres LC ({{ count }})", + // "search.filters.filter.dateIssued.max.placeholder": "Maximum Date", + "search.filters.filter.dateIssued.max.placeholder": "Fecha máxima", - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.pubmed": "PubMed ({{ count }})", - "submission.sections.describe.relationship-lookup.search-tab.tab-title.pubmed": "PubMed ({{ count }})", + // "search.filters.filter.dateIssued.max.label": "End", + "search.filters.filter.dateIssued.max.label": "Fin", - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.arxiv": "arXiv ({{ count }})", - "submission.sections.describe.relationship-lookup.search-tab.tab-title.arxiv": "arXiv ({{ count }})", + // "search.filters.filter.dateIssued.min.placeholder": "Minimum Date", + "search.filters.filter.dateIssued.min.placeholder": "Fecha mínima", - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingAgencyOfPublication": "Search for Funding Agencies", - "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingAgencyOfPublication": "Búsqueda de agencias de financiación", + // "search.filters.filter.dateIssued.min.label": "Start", + "search.filters.filter.dateIssued.min.label": "Comienzo", - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingOfPublication": "Search for Funding", - "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingOfPublication": "Búsqueda de financiación", + // "search.filters.filter.dateSubmitted.head": "Date submitted", + "search.filters.filter.dateSubmitted.head": "Fecha de envío", - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isChildOrgUnitOf": "Search for Organizational Units", - "submission.sections.describe.relationship-lookup.search-tab.tab-title.isChildOrgUnitOf": "Búsqueda de unidades organizativas", + // "search.filters.filter.dateSubmitted.placeholder": "Date submitted", + "search.filters.filter.dateSubmitted.placeholder": "Fecha de envío", - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.openAIREFunding": "Funding OpenAIRE API", - "submission.sections.describe.relationship-lookup.search-tab.tab-title.openAIREFunding": "Financiamiento de la API de OpenAIRE", + // "search.filters.filter.dateSubmitted.label": "Search date submitted", + "search.filters.filter.dateSubmitted.label": "Búsqueda de Fecha de envío", - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isProjectOfPublication": "Projects", - "submission.sections.describe.relationship-lookup.search-tab.tab-title.isProjectOfPublication": "Proyectos", + // "search.filters.filter.discoverable.head": "Non-discoverable", + "search.filters.filter.discoverable.head": "Privado", - // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingAgencyOfProject": "Funder of the Project", - "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingAgencyOfProject": "Financiador del Proyecto", + // "search.filters.filter.withdrawn.head": "Withdrawn", + "search.filters.filter.withdrawn.head": "Retirado", - // "submission.sections.describe.relationship-lookup.selection-tab.title.openAIREFunding": "Funding OpenAIRE API", - "submission.sections.describe.relationship-lookup.selection-tab.title.openAIREFunding": "Financiamiento de la API de OpenAIRE", + // "search.filters.filter.entityType.head": "Item Type", + "search.filters.filter.entityType.head": "Tipo de ítem", - // "submission.sections.describe.relationship-lookup.selection-tab.title.isProjectOfPublication": "Project", - "submission.sections.describe.relationship-lookup.selection-tab.title.isProjectOfPublication": "Proyecto", + // "search.filters.filter.entityType.placeholder": "Item Type", + "search.filters.filter.entityType.placeholder": "Tipo de ítem", - // "submission.sections.describe.relationship-lookup.title.isProjectOfPublication": "Projects", - "submission.sections.describe.relationship-lookup.title.isProjectOfPublication": "Proyectos", + // "search.filters.filter.entityType.label": "Search item type", + "search.filters.filter.entityType.label": "Búsqueda de tipo de ítem", - // "submission.sections.describe.relationship-lookup.title.isFundingAgencyOfProject": "Funder of the Project", - "submission.sections.describe.relationship-lookup.title.isFundingAgencyOfProject": "Financiador del Proyecto", + // "search.filters.filter.expand": "Expand filter", + "search.filters.filter.expand": "Expandir filtro", + // "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", - // "submission.sections.describe.relationship-lookup.selection-tab.search-form.placeholder": "Search...", - "submission.sections.describe.relationship-lookup.selection-tab.search-form.placeholder": "Buscar...", + // "search.filters.filter.itemtype.label": "Search type", + "search.filters.filter.itemtype.label": "Búsqueda de Tipo", - // "submission.sections.describe.relationship-lookup.selection-tab.tab-title": "Current Selection ({{ count }})", - "submission.sections.describe.relationship-lookup.selection-tab.tab-title": "Selección actual ({{ count }})", + // "search.filters.filter.jobTitle.head": "Job Title", + "search.filters.filter.jobTitle.head": "Puesto de trabajo", - // "submission.sections.describe.relationship-lookup.title.isJournalIssueOfPublication": "Journal Issues", - "submission.sections.describe.relationship-lookup.title.isJournalIssueOfPublication": "Problemas de la revista", - // "submission.sections.describe.relationship-lookup.title.JournalIssue": "Journal Issues", - "submission.sections.describe.relationship-lookup.title.JournalIssue": "Problemas de la revista", + // "search.filters.filter.jobTitle.placeholder": "Job Title", + "search.filters.filter.jobTitle.placeholder": "Puesto de trabajo", - // "submission.sections.describe.relationship-lookup.title.isJournalVolumeOfPublication": "Journal Volumes", - "submission.sections.describe.relationship-lookup.title.isJournalVolumeOfPublication": "Volúmenes de revistas", - // "submission.sections.describe.relationship-lookup.title.JournalVolume": "Journal Volumes", - "submission.sections.describe.relationship-lookup.title.JournalVolume": "Volúmenes de revistas", + // "search.filters.filter.jobTitle.label": "Search job title", + "search.filters.filter.jobTitle.label": "Buscar por puesto de trabajo", - // "submission.sections.describe.relationship-lookup.title.isJournalOfPublication": "Journals", - "submission.sections.describe.relationship-lookup.title.isJournalOfPublication": "Revistas", + // "search.filters.filter.knowsLanguage.head": "Known language", + "search.filters.filter.knowsLanguage.head": "Idioma conocido", - // "submission.sections.describe.relationship-lookup.title.isAuthorOfPublication": "Authors", - "submission.sections.describe.relationship-lookup.title.isAuthorOfPublication": "Autores", + // "search.filters.filter.knowsLanguage.placeholder": "Known language", + "search.filters.filter.knowsLanguage.placeholder": "Idioma conocido", - // "submission.sections.describe.relationship-lookup.title.isFundingAgencyOfPublication": "Funding Agency", - "submission.sections.describe.relationship-lookup.title.isFundingAgencyOfPublication": "Agencia fundadora", - // "submission.sections.describe.relationship-lookup.title.Project": "Projects", - "submission.sections.describe.relationship-lookup.title.Project": "Proyectos", + // "search.filters.filter.knowsLanguage.label": "Search known language", + "search.filters.filter.knowsLanguage.label": "Buscar por idioma conocido", - // "submission.sections.describe.relationship-lookup.title.Publication": "Publications", - "submission.sections.describe.relationship-lookup.title.Publication": "Publicaciones", + // "search.filters.filter.namedresourcetype.head": "Status", + "search.filters.filter.namedresourcetype.head": "Estado", - // "submission.sections.describe.relationship-lookup.title.Person": "Authors", - "submission.sections.describe.relationship-lookup.title.Person": "Autores", + // "search.filters.filter.namedresourcetype.placeholder": "Status", + "search.filters.filter.namedresourcetype.placeholder": "Estado", - // "submission.sections.describe.relationship-lookup.title.OrgUnit": "Organizational Units", - "submission.sections.describe.relationship-lookup.title.OrgUnit": "Unidades organizativas", + // "search.filters.filter.namedresourcetype.label": "Search status", + "search.filters.filter.namedresourcetype.label": "Búsqueda por Estado", - // "submission.sections.describe.relationship-lookup.title.DataPackage": "Data Packages", - "submission.sections.describe.relationship-lookup.title.DataPackage": "Paquetes de datos", + // "search.filters.filter.objectpeople.head": "People", + "search.filters.filter.objectpeople.head": "Personas", - // "submission.sections.describe.relationship-lookup.title.DataFile": "Data Files", - "submission.sections.describe.relationship-lookup.title.DataFile": "Archivos de información", + // "search.filters.filter.objectpeople.placeholder": "People", + "search.filters.filter.objectpeople.placeholder": "Personas", - // "submission.sections.describe.relationship-lookup.title.Funding Agency": "Funding Agency", - "submission.sections.describe.relationship-lookup.title.Funding Agency": "Agencia fundadora", + // "search.filters.filter.objectpeople.label": "Search people", + "search.filters.filter.objectpeople.label": "Búsqueda de Personas", - // "submission.sections.describe.relationship-lookup.title.isFundingOfPublication": "Funding", - "submission.sections.describe.relationship-lookup.title.isFundingOfPublication": "Fondos", + // "search.filters.filter.organizationAddressCountry.head": "Country", + "search.filters.filter.organizationAddressCountry.head": "País", - // "submission.sections.describe.relationship-lookup.title.isChildOrgUnitOf": "Parent Organizational Unit", - "submission.sections.describe.relationship-lookup.title.isChildOrgUnitOf": "Unidad organizativa matriz", + // "search.filters.filter.organizationAddressCountry.placeholder": "Country", + "search.filters.filter.organizationAddressCountry.placeholder": "País", - // "submission.sections.describe.relationship-lookup.search-tab.toggle-dropdown": "Toggle dropdown", - "submission.sections.describe.relationship-lookup.search-tab.toggle-dropdown": "Alternar menú desplegable", + // "search.filters.filter.organizationAddressCountry.label": "Search country", + "search.filters.filter.organizationAddressCountry.label": "Búsqueda de País", - // "submission.sections.describe.relationship-lookup.selection-tab.settings": "Settings", - "submission.sections.describe.relationship-lookup.selection-tab.settings": "Ajustes", + // "search.filters.filter.organizationAddressLocality.head": "City", + "search.filters.filter.organizationAddressLocality.head": "Ciudad", - // "submission.sections.describe.relationship-lookup.selection-tab.no-selection": "Your selection is currently empty.", - "submission.sections.describe.relationship-lookup.selection-tab.no-selection": "Su selección está actualmente vacía.", + // "search.filters.filter.organizationAddressLocality.placeholder": "City", + "search.filters.filter.organizationAddressLocality.placeholder": "Ciudad", - // "submission.sections.describe.relationship-lookup.selection-tab.title.isAuthorOfPublication": "Selected Authors", - "submission.sections.describe.relationship-lookup.selection-tab.title.isAuthorOfPublication": "Autores seleccionados", + // "search.filters.filter.organizationAddressLocality.label": "Search city", + "search.filters.filter.organizationAddressLocality.label": "Búsqueda deciudad", - // "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalOfPublication": "Selected Journals", - "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalOfPublication": "Revistas seleccionadas", + // "search.filters.filter.organizationFoundingDate.head": "Date Founded", + "search.filters.filter.organizationFoundingDate.head": "Fecha de fundación", - // "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalVolumeOfPublication": "Selected Journal Volume", - "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalVolumeOfPublication": "Volumen de la revista seleccionada", - // "submission.sections.describe.relationship-lookup.selection-tab.title.Project": "Selected Projects", - "submission.sections.describe.relationship-lookup.selection-tab.title.Project": "Proyectos seleccionados", + // "search.filters.filter.organizationFoundingDate.placeholder": "Date Founded", + "search.filters.filter.organizationFoundingDate.placeholder": "Fecha de fundación", - // "submission.sections.describe.relationship-lookup.selection-tab.title.Publication": "Selected Publications", - "submission.sections.describe.relationship-lookup.selection-tab.title.Publication": "Publicaciones Seleccionadas", + // "search.filters.filter.organizationFoundingDate.label": "Search date founded", + "search.filters.filter.organizationFoundingDate.label": "Búsqueda por Fecha de fundación", - // "submission.sections.describe.relationship-lookup.selection-tab.title.Person": "Selected Authors", - "submission.sections.describe.relationship-lookup.selection-tab.title.Person": "Autores seleccionados", + // "search.filters.filter.scope.head": "Scope", + "search.filters.filter.scope.head": "Alcance", - // "submission.sections.describe.relationship-lookup.selection-tab.title.OrgUnit": "Selected Organizational Units", - "submission.sections.describe.relationship-lookup.selection-tab.title.OrgUnit": "Unidades organizativas seleccionadas", + // "search.filters.filter.scope.placeholder": "Scope filter", + "search.filters.filter.scope.placeholder": "Filtro de alcance", - // "submission.sections.describe.relationship-lookup.selection-tab.title.DataPackage": "Selected Data Packages", - "submission.sections.describe.relationship-lookup.selection-tab.title.DataPackage": "Paquetes de datos seleccionados", + // "search.filters.filter.scope.label": "Search scope filter", + "search.filters.filter.scope.label": "Filtro de alcance de búsqueda", - // "submission.sections.describe.relationship-lookup.selection-tab.title.DataFile": "Selected Data Files", - "submission.sections.describe.relationship-lookup.selection-tab.title.DataFile": "Archivos de datos seleccionados", + // "search.filters.filter.show-less": "Collapse", + "search.filters.filter.show-less": "Contraer", - // "submission.sections.describe.relationship-lookup.selection-tab.title.Journal": "Selected Journals", - "submission.sections.describe.relationship-lookup.selection-tab.title.Journal": "Revistas seleccionadas", + // "search.filters.filter.show-more": "Show more", + "search.filters.filter.show-more": "Mostrar más", - // "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalIssueOfPublication": "Selected Issue", - "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalIssueOfPublication": "Problema seleccionado", - // "submission.sections.describe.relationship-lookup.selection-tab.title.JournalVolume": "Selected Journal Volume", - "submission.sections.describe.relationship-lookup.selection-tab.title.JournalVolume": "Volumen de la revista seleccionada", + // "search.filters.filter.subject.head": "Subject", + "search.filters.filter.subject.head": "Materias", - // "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingAgencyOfPublication": "Selected Funding Agency", - "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingAgencyOfPublication": "Agencia de financiación seleccionada", + // "search.filters.filter.subject.placeholder": "Subject", + "search.filters.filter.subject.placeholder": "Materias", - // "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingOfPublication": "Selected Funding", - "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingOfPublication": "Financiamiento seleccionado", - // "submission.sections.describe.relationship-lookup.selection-tab.title.JournalIssue": "Selected Issue", - "submission.sections.describe.relationship-lookup.selection-tab.title.JournalIssue": "Problema seleccionado", + // "search.filters.filter.subject.label": "Search subject", + "search.filters.filter.subject.label": "Búsqueda de materias", - // "submission.sections.describe.relationship-lookup.selection-tab.title.isChildOrgUnitOf": "Selected Organizational Unit", - "submission.sections.describe.relationship-lookup.selection-tab.title.isChildOrgUnitOf": "Unidad organizativa seleccionada", + // "search.filters.filter.submitter.head": "Submitter", + "search.filters.filter.submitter.head": "Remitente", - // "submission.sections.describe.relationship-lookup.selection-tab.title.sherpaJournal": "Search Results", - "submission.sections.describe.relationship-lookup.selection-tab.title.sherpaJournal": "Resultados de la búsqueda", + // "search.filters.filter.submitter.placeholder": "Submitter", + "search.filters.filter.submitter.placeholder": "Remitente", - // "submission.sections.describe.relationship-lookup.selection-tab.title.sherpaPublisher": "Search Results", - "submission.sections.describe.relationship-lookup.selection-tab.title.sherpaPublisher": "Resultados de la búsqueda", + // "search.filters.filter.submitter.label": "Search submitter", + "search.filters.filter.submitter.label": "Remitente de búsqueda", - // "submission.sections.describe.relationship-lookup.selection-tab.title.orcid": "Search Results", - "submission.sections.describe.relationship-lookup.selection-tab.title.orcid": "Resultados de la búsqueda", + // "search.filters.entityType.JournalIssue": "Journal Issue", + "search.filters.entityType.JournalIssue": "Número de la revista", - // "submission.sections.describe.relationship-lookup.selection-tab.title.orcidv2": "Search Results", - "submission.sections.describe.relationship-lookup.selection-tab.title.orcidv2": "Resultados de la búsqueda", + // "search.filters.entityType.JournalVolume": "Journal Volume", + "search.filters.entityType.JournalVolume": "Volumen de la revista", - // "submission.sections.describe.relationship-lookup.selection-tab.title.lcname": "Search Results", - "submission.sections.describe.relationship-lookup.selection-tab.title.lcname": "Resultados de la búsqueda", + // "search.filters.entityType.OrgUnit": "Organizational Unit", + "search.filters.entityType.OrgUnit": "Unidad organizativa", - // "submission.sections.describe.relationship-lookup.selection-tab.title.pubmed": "Search Results", - "submission.sections.describe.relationship-lookup.selection-tab.title.pubmed": "Resultados de la búsqueda", + // "search.filters.has_content_in_original_bundle.true": "Yes", + "search.filters.has_content_in_original_bundle.true": "Sí", - // "submission.sections.describe.relationship-lookup.selection-tab.title.arxiv": "Search Results", - "submission.sections.describe.relationship-lookup.selection-tab.title.arxiv": "Resultados de la búsqueda", + // "search.filters.has_content_in_original_bundle.false": "No", + "search.filters.has_content_in_original_bundle.false": "No", - // "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": "¿Le gustaría guardar \"{{ value }}\" como una variante de nombre para esta persona para que usted y otros puedan reutilizarlo para envíos futuros? Si no lo hace, aún puede usarlo para este envío.", + // "search.filters.discoverable.true": "No", + "search.filters.discoverable.true": "No", - // "submission.sections.describe.relationship-lookup.name-variant.notification.confirm": "Save a new name variant", - "submission.sections.describe.relationship-lookup.name-variant.notification.confirm": "Guardar una nueva variante de nombre", + // "search.filters.discoverable.false": "Yes", + "search.filters.discoverable.false": "Sí", - // "submission.sections.describe.relationship-lookup.name-variant.notification.decline": "Use only for this submission", - "submission.sections.describe.relationship-lookup.name-variant.notification.decline": "Usar solo para este envío", + // "search.filters.withdrawn.true": "Yes", + "search.filters.withdrawn.true": "Sí", - // "submission.sections.ccLicense.type": "License Type", - "submission.sections.ccLicense.type": "Tipo de licencia", + // "search.filters.withdrawn.false": "No", + "search.filters.withdrawn.false": "No", - // "submission.sections.ccLicense.select": "Select a license type…", - "submission.sections.ccLicense.select": "Seleccione un tipo de licencia...", - // "submission.sections.ccLicense.change": "Change your license type…", - "submission.sections.ccLicense.change": "Cambie su tipo de licencia...", + // "search.filters.head": "Filters", + "search.filters.head": "Filtros", - // "submission.sections.ccLicense.none": "No licenses available", - "submission.sections.ccLicense.none": "No hay licencias disponibles", + // "search.filters.reset": "Reset filters", + "search.filters.reset": "Restablecer filtros", - // "submission.sections.ccLicense.option.select": "Select an option…", - "submission.sections.ccLicense.option.select": "Seleccione una opción…", + // "search.filters.search.submit": "Submit", + "search.filters.search.submit": "Enviar", - // "submission.sections.ccLicense.link": "You’ve selected the following license:", - "submission.sections.ccLicense.link": "Ha seleccionado la siguiente licencia:", - // "submission.sections.ccLicense.confirmation": "I grant the license above", - "submission.sections.ccLicense.confirmation": "Otorgo la licencia de arriba", - // "submission.sections.general.add-more": "Add more", - "submission.sections.general.add-more": "Añadir más", + // "search.form.search": "Search", + "search.form.search": "Buscar", - // "submission.sections.general.collection": "Collection", - "submission.sections.general.collection": "Colección", + // "search.form.search_dspace": "All repository", + "search.form.search_dspace": "Todo el repositorio", - // "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. Vuelve a intentarlo más tarde.", + // "search.form.scope.all": "All of DSpace", + "search.form.scope.all": "Todo DSpace", - // "submission.sections.general.deposit_success_notice": "Submission deposited successfully.", - "submission.sections.general.deposit_success_notice": "Presentación depositada con éxito.", + // "search.results.head": "Search Results", + "search.results.head": "Resultados de la búsqueda", - // "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 al descartar el artículo. Vuelve a intentarlo más tarde.", + // "search.results.no-results": "Your search returned no results. Having trouble finding what you're looking for? Try putting", + "search.results.no-results": "Su búsqueda no produjo resultados. ¿Tiene problemas para encontrar lo que busca? Intente poner", - // "submission.sections.general.discard_success_notice": "Submission discarded successfully.", - "submission.sections.general.discard_success_notice": "Envío descartado con éxito.", + // "search.results.no-results-link": "quotes around it", + "search.results.no-results-link": "citas a su alrededor", - // "submission.sections.general.metadata-extracted": "New metadata have been extracted and added to the {{sectionId}} section.", - "submission.sections.general.metadata-extracted": "Se extrajeron y agregaron nuevos metadatos a la sección {{ sectionId }} .", + // "search.results.empty": "Your search returned no results.", + "search.results.empty": "Su búsqueda no produjo resultados.", - // "submission.sections.general.metadata-extracted-new-section": "New {{sectionId}} section has been added to submission.", - "submission.sections.general.metadata-extracted-new-section": "Se ha añadido una nueva sección {{ sectionId }} al envío.", + // "search.results.view-result": "View", + "search.results.view-result": "Ver", - // "submission.sections.general.no-collection": "No collection found", - "submission.sections.general.no-collection": "No se encontró ninguna colección", - // "submission.sections.general.no-sections": "No options available", - "submission.sections.general.no-sections": "No hay opciones disponibles", + // "default.search.results.head": "Search Results", + "default.search.results.head": "Resultados de la búsqueda", - // "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 al guardar el artículo. Vuelve a intentarlo más tarde.", + // "default-relationships.search.results.head": "Search Results", + "default-relationships.search.results.head": "Resultados de la búsqueda", - // "submission.sections.general.save_success_notice": "Submission saved successfully.", - "submission.sections.general.save_success_notice": "Envío guardado con éxito.", - // "submission.sections.general.search-collection": "Search for a collection", - "submission.sections.general.search-collection": "Buscar una colección", + // "search.sidebar.close": "Back to results", + "search.sidebar.close": "Volver a resultados", - // "submission.sections.general.sections_not_valid": "There are incomplete sections.", - "submission.sections.general.sections_not_valid": "Hay secciones incompletas.", + // "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", - // "submission.sections.submit.progressbar.CClicense": "Creative commons license", - "submission.sections.submit.progressbar.CClicense": "Licencia Creative Commons", + // "search.sidebar.settings.rpp": "Results per page", + "search.sidebar.settings.rpp": "resultados por página", - // "submission.sections.submit.progressbar.describe.recycle": "Recycle", - "submission.sections.submit.progressbar.describe.recycle": "Reciclar", + // "search.sidebar.settings.sort-by": "Sort By", + "search.sidebar.settings.sort-by": "Ordenar por", - // "submission.sections.submit.progressbar.describe.stepcustom": "Describe", - "submission.sections.submit.progressbar.describe.stepcustom": "Describir", + // "search.sidebar.settings.title": "Settings", + "search.sidebar.settings.title": "Ajustes", - // "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", + // "search.view-switch.show-detail": "Show detail", + "search.view-switch.show-detail": "Mostrar detalle", - // "submission.sections.submit.progressbar.license": "Deposit license", - "submission.sections.submit.progressbar.license": "Licencia de depósito", + // "search.view-switch.show-grid": "Show as grid", + "search.view-switch.show-grid": "Mostrar como cuadrícula", - // "submission.sections.submit.progressbar.upload": "Upload files", - "submission.sections.submit.progressbar.upload": "Subir archivos", + // "search.view-switch.show-list": "Show as list", + "search.view-switch.show-list": "Mostrar como lista", - // "submission.sections.status.errors.title": "Errors", - "submission.sections.status.errors.title": "Errores", + // "sorting.ASC": "Ascending", + "sorting.ASC": "Ascendente", - // "submission.sections.status.valid.title": "Valid", - "submission.sections.status.valid.title": "Válido", + // "sorting.DESC": "Descending", + "sorting.DESC": "Descendente", - // "submission.sections.status.warnings.title": "Warnings", - "submission.sections.status.warnings.title": "Advertencias", + // "sorting.dc.title.ASC": "Title Ascending", + "sorting.dc.title.ASC": "Título Ascendente", - // "submission.sections.toggle.open": "Open section", - "submission.sections.toggle.open": "Sección abierta", + // "sorting.dc.title.DESC": "Title Descending", + "sorting.dc.title.DESC": "Título Descendente", - // "submission.sections.toggle.close": "Close section", - "submission.sections.toggle.close": "Cerrar sección", + // "sorting.score.ASC": "Least Relevant", + "sorting.score.ASC": "Menos relevante", - // "submission.sections.upload.delete.confirm.cancel": "Cancel", - "submission.sections.upload.delete.confirm.cancel": "Cancelar", + // "sorting.score.DESC": "Most Relevant", + "sorting.score.DESC": "Lo más relevante", - // "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. ", + // "sorting.dc.date.issued.ASC": "Date Issued Ascending", + "sorting.dc.date.issued.ASC": "Fecha de emisión Ascendente", - // "submission.sections.upload.delete.confirm.submit": "Yes, I'm sure", - "submission.sections.upload.delete.confirm.submit": "Sí estoy seguro", + // "sorting.dc.date.issued.DESC": "Date Issued Descending", + "sorting.dc.date.issued.DESC": "Fecha de emisión Descendente", - // "submission.sections.upload.delete.confirm.title": "Delete bitstream", - "submission.sections.upload.delete.confirm.title": "Eliminar archivo", + // "sorting.dc.date.accessioned.ASC": "Accessioned Date Ascending", + "sorting.dc.date.accessioned.ASC": "Fecha de adhesión Ascendente", - // "submission.sections.upload.delete.submit": "Delete", - "submission.sections.upload.delete.submit": "Borrar", + // "sorting.dc.date.accessioned.DESC": "Accessioned Date Descending", + "sorting.dc.date.accessioned.DESC": "Fecha de adhesión Descendente", - // "submission.sections.upload.download.title": "Download bitstream", - "submission.sections.upload.download.title": "Descarga archivo", + // "sorting.lastModified.ASC": "Last modified Ascending", + "sorting.lastModified.ASC": "Última modificación Ascendente", - // "submission.sections.upload.drop-message": "Drop files to attach them to the item", - "submission.sections.upload.drop-message": "Suelta archivos para adjuntarlos al artículo", + // "sorting.lastModified.DESC": "Last modified Descending", + "sorting.lastModified.DESC": "Última modificación Descendente", - // "submission.sections.upload.edit.title": "Edit bitstream", - "submission.sections.upload.edit.title": "Editar archivo", - // "submission.sections.upload.form.access-condition-label": "Access condition type", - "submission.sections.upload.form.access-condition-label": "Tipo de condición de acceso", + // "statistics.title": "Statistics", + "statistics.title": "Estadísticas", - // "submission.sections.upload.form.date-required": "Date is required.", - "submission.sections.upload.form.date-required": "Se requiere fecha.", + // "statistics.header": "Statistics for {{ scope }}", + "statistics.header": "Estadísticas de {{ scope }}", - // "submission.sections.upload.form.from-label": "Grant access from", - "submission.sections.upload.form.from-label": "Otorgar acceso desde", + // "statistics.breadcrumbs": "Statistics", + "statistics.breadcrumbs": "Estadísticas", - // "submission.sections.upload.form.from-placeholder": "From", - "submission.sections.upload.form.from-placeholder": "De", + // "statistics.page.no-data": "No data available", + "statistics.page.no-data": "Datos no disponibles", - // "submission.sections.upload.form.group-label": "Group", - "submission.sections.upload.form.group-label": "Grupo", + // "statistics.table.no-data": "No data available", + "statistics.table.no-data": "Datos no disponibles", - // "submission.sections.upload.form.group-required": "Group is required.", - "submission.sections.upload.form.group-required": "Se requiere grupo.", + // "statistics.table.title.TotalVisits": "Total visits", + "statistics.table.title.TotalVisits": "Visitas totales", - // "submission.sections.upload.form.until-label": "Grant access until", - "submission.sections.upload.form.until-label": "Conceder acceso hasta", + // "statistics.table.title.TotalVisitsPerMonth": "Total visits per month", + "statistics.table.title.TotalVisitsPerMonth": "Visitas totales por mes", - // "submission.sections.upload.form.until-placeholder": "Until", - "submission.sections.upload.form.until-placeholder": "Hasta que", + // "statistics.table.title.TotalDownloads": "File Visits", + "statistics.table.title.TotalDownloads": "Visitas de archivo", - // "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": "Se podrá acceder a los archivos cargados en la colección {{ collectionName }} de acuerdo con los siguientes grupos:", + // "statistics.table.title.TopCountries": "Top country views", + "statistics.table.title.TopCountries": "Vistas principales por paí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ícitamente para el archivo único, con los siguientes grupos:", + // "statistics.table.title.TopCities": "Top city views", + "statistics.table.title.TopCities": "Visitas principales por ciudad", - // "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 que se encuentran actualmente en el artículo. ", + // "statistics.table.header.views": "Views", + "statistics.table.header.views": "Visitas", - // "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": "Aún no se ha subido ningún archivo.", - // "submission.sections.upload.save-metadata": "Save metadata", - "submission.sections.upload.save-metadata": "Guardar metadatos", + // "submission.edit.breadcrumbs": "Edit Submission", + "submission.edit.breadcrumbs": "Editar envío", - // "submission.sections.upload.undo": "Cancel", - "submission.sections.upload.undo": "Cancelar", + // "submission.edit.title": "Edit Submission", + "submission.edit.title": "Editar envío", - // "submission.sections.upload.upload-failed": "Upload failed", - "submission.sections.upload.upload-failed": "Subida fallida", + // "submission.general.cancel": "Cancel", + "submission.general.cancel": "Cancelar", - // "submission.sections.upload.upload-successful": "Upload successful", - "submission.sections.upload.upload-successful": "Subida exitosa", + // "submission.general.cannot_submit": "You have not the privilege to make a new submission.", + "submission.general.cannot_submit": "No tiene los permisos para realizar 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": "Sí estoy seguro", + + // "submission.general.discard.confirm.title": "Discard submission", + "submission.general.discard.confirm.title": "Descartar envío", + + // "submission.general.discard.submit": "Discard", + "submission.general.discard.submit": "Descarte", + + // "submission.general.info.saved": "Saved", + "submission.general.info.saved": "Guardado", + + // "submission.general.info.pending-changes": "Unsaved changes", + "submission.general.info.pending-changes": "Cambios no guardados", + + // "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", + "submission.import-external.page.title": "Importar metadatos desde una fuente externa", + + // "submission.import-external.title": "Import metadata from an external source", + "submission.import-external.title": "Importar metadatos desde una fuente externa", + + // "submission.import-external.title.Journal": "Import a journal from an external source", + "submission.import-external.title.Journal": "Importar una revista desde una fuente externa", + + // "submission.import-external.title.JournalIssue": "Import a journal issue from an external source", + "submission.import-external.title.JournalIssue": "Importar un número de revista desde una fuente externa", + + // "submission.import-external.title.JournalVolume": "Import a journal volume from an external source", + "submission.import-external.title.JournalVolume": "Importar un volumen de revista desde una fuente externa", + + // "submission.import-external.title.OrgUnit": "Import a publisher from an external source", + "submission.import-external.title.OrgUnit": "Importar editor desde una fuente externa", + + // "submission.import-external.title.Person": "Import a person from an external source", + "submission.import-external.title.Person": "Importar personas desde una fuente externa", + + // "submission.import-external.title.Project": "Import a project from an external source", + "submission.import-external.title.Project": "Importar proyectos desde una fuente externa", + + // "submission.import-external.title.Publication": "Import a publication from an external source", + "submission.import-external.title.Publication": "Importar una publicación desde una fuente externa", + + // "submission.import-external.title.none": "Import metadata from an external source", + "submission.import-external.title.none": "Importar metadatos desde una fuente externa", + + // "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": "Introduzca una consulta arriba para buscar í de la web para importarlos a DSpace.", + + // "submission.import-external.back-to-my-dspace": "Back to MyDSpace", + "submission.import-external.back-to-my-dspace": "Volver a Mi DSpace", + + // "submission.import-external.search.placeholder": "Search the external source", + "submission.import-external.search.placeholder": "Buscar fuente externa", + + // "submission.import-external.search.button": "Search", + "submission.import-external.search.button": "Buscar", + + // "submission.import-external.search.button.hint": "Write some words to search", + "submission.import-external.search.button.hint": "Escriba algunas palabras para buscar", + + // "submission.import-external.search.source.hint": "Pick an external source", + "submission.import-external.search.source.hint": "Elija una fuente externa", + + // "submission.import-external.source.arxiv": "arXiv", + "submission.import-external.source.arxiv": "arXiv", + + // "submission.import-external.source.ads": "NASA/ADS", + "submission.import-external.source.ads": "NASA/ADS", + + // "submission.import-external.source.cinii": "CiNii", + "submission.import-external.source.cinii": "CiNii", + + // "submission.import-external.source.crossref": "CrossRef", + "submission.import-external.source.crossref": "CrossRef", + + // "submission.import-external.source.scielo": "SciELO", + "submission.import-external.source.scielo": "SciELO", + + // "submission.import-external.source.scopus": "Scopus", + "submission.import-external.source.scopus": "Scopus", + + // "submission.import-external.source.vufind": "VuFind", + "submission.import-external.source.vufind": "VuFind", + + // "submission.import-external.source.wos": "Web Of Science", + "submission.import-external.source.wos": "Web Of Science", + + // "submission.import-external.source.orcidWorks": "ORCID", + "submission.import-external.source.orcidWorks": "ORCID", + + // "submission.import-external.source.epo": "European Patent Office (EPO)", + "submission.import-external.source.epo": "Oficina Europea de Patentes (OEP)", + + // "submission.import-external.source.loading": "Loading ...", + "submission.import-external.source.loading": "Cargando ...", + + // "submission.import-external.source.sherpaJournal": "SHERPA Journals", + "submission.import-external.source.sherpaJournal": "Revistas SHERPA", + + // "submission.import-external.source.sherpaJournalIssn": "SHERPA Journals by ISSN", + "submission.import-external.source.sherpaJournalIssn": "Revistas SHERPA por ISSN", + + // "submission.import-external.source.sherpaPublisher": "SHERPA Publishers", + "submission.import-external.source.sherpaPublisher": "Editores SHERPA", + + // "submission.import-external.source.openAIREFunding": "Funding OpenAIRE API", + "submission.import-external.source.openAIREFunding": "API de Financiamiento de OpenAIRE", + + // "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.pubmedeu": "Pubmed Europe", + "submission.import-external.source.pubmedeu": "Pubmed Europe", + + // "submission.import-external.source.lcname": "Library of Congress Names", + "submission.import-external.source.lcname": "Nombres de la Biblioteca del Congreso", + + // "submission.import-external.preview.title": "Item Preview", + "submission.import-external.preview.title": "Vista previa del artículo", + + // "submission.import-external.preview.title.Publication": "Publication Preview", + "submission.import-external.preview.title.Publication": "Previsualización de Publicación", + + // "submission.import-external.preview.title.none": "Item Preview", + "submission.import-external.preview.title.none": "Previsualización de Ítem", + + // "submission.import-external.preview.title.Journal": "Journal Preview", + "submission.import-external.preview.title.Journal": "Previsualización de Revista", + + // "submission.import-external.preview.title.OrgUnit": "Organizational Unit Preview", + "submission.import-external.preview.title.OrgUnit": "Previsualización de Unidad organizativa ", + + // "submission.import-external.preview.title.Person": "Person Preview", + "submission.import-external.preview.title.Person": "Previsualización de Persona", + + // "submission.import-external.preview.title.Project": "Project Preview", + "submission.import-external.preview.title.Project": "Previsualización de Proyecto", + + // "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": "Los siguientes metadatos se importaron de una fuente externa. Se completará previamente cuando inicie el envío.", + + // "submission.import-external.preview.button.import": "Start submission", + "submission.import-external.preview.button.import": "Iniciar envío", + + // "submission.import-external.preview.error.import.title": "Submission error", + "submission.import-external.preview.error.import.title": "Error de envío", + + // "submission.import-external.preview.error.import.body": "An error occurs during the external source entry import process.", + "submission.import-external.preview.error.import.body": "Se produce un error durante el proceso de importación de la entrada de fuente externa.", + + // "submission.sections.describe.relationship-lookup.close": "Close", + "submission.sections.describe.relationship-lookup.close": "Cerrar", + + // "submission.sections.describe.relationship-lookup.external-source.added": "Successfully added local entry to the selection", + "submission.sections.describe.relationship-lookup.external-source.added": "Entrada local agregada con éxito a la selección", + + // "submission.sections.describe.relationship-lookup.external-source.import-button-title.isAuthorOfPublication": "Import remote author", + "submission.sections.describe.relationship-lookup.external-source.import-button-title.isAuthorOfPublication": "Importación remota de autor", + + // "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": "Importación remota de revista", + + // "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": "Importación remota de número de revista", + + // "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": "Importación remota de volumen de revista", + + // "submission.sections.describe.relationship-lookup.external-source.import-button-title.isProjectOfPublication": "Project", + "submission.sections.describe.relationship-lookup.external-source.import-button-title.isProjectOfPublication": "Proyecto", + + // "submission.sections.describe.relationship-lookup.external-source.import-button-title.none": "Import remote item", + "submission.sections.describe.relationship-lookup.external-source.import-button-title.none": "Importación remota de ítem ", + + // "submission.sections.describe.relationship-lookup.external-source.import-button-title.Event": "Import remote event", + "submission.sections.describe.relationship-lookup.external-source.import-button-title.Event": "Importación remota de evento", + + // "submission.sections.describe.relationship-lookup.external-source.import-button-title.Product": "Import remote product", + "submission.sections.describe.relationship-lookup.external-source.import-button-title.Product": "Importación remota de producto", + + // "submission.sections.describe.relationship-lookup.external-source.import-button-title.Equipment": "Import remote equipment", + "submission.sections.describe.relationship-lookup.external-source.import-button-title.Equipment": "Importación remota de equipamiento", + + // "submission.sections.describe.relationship-lookup.external-source.import-button-title.OrgUnit": "Import remote organizational unit", + "submission.sections.describe.relationship-lookup.external-source.import-button-title.OrgUnit": "Importación remota de unidad organizativa", + + // "submission.sections.describe.relationship-lookup.external-source.import-button-title.Funding": "Import remote fund", + "submission.sections.describe.relationship-lookup.external-source.import-button-title.Funding": "Importación remota de financiación", + + // "submission.sections.describe.relationship-lookup.external-source.import-button-title.Person": "Import remote person", + "submission.sections.describe.relationship-lookup.external-source.import-button-title.Person": "Importación remota de persona", + + // "submission.sections.describe.relationship-lookup.external-source.import-button-title.Patent": "Import remote patent", + "submission.sections.describe.relationship-lookup.external-source.import-button-title.Patent": "Importación remota de patente", + + // "submission.sections.describe.relationship-lookup.external-source.import-button-title.Project": "Import remote project", + "submission.sections.describe.relationship-lookup.external-source.import-button-title.Project": "Importación remota de proyecto", + + // "submission.sections.describe.relationship-lookup.external-source.import-button-title.Publication": "Import remote publication", + "submission.sections.describe.relationship-lookup.external-source.import-button-title.Publication": "Importación remota de publication", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.isProjectOfPublication.added.new-entity": "New Entity Added!", + "submission.sections.describe.relationship-lookup.external-source.import-modal.isProjectOfPublication.added.new-entity": "¡Nueva entidad agregada!", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.isProjectOfPublication.title": "Project", + "submission.sections.describe.relationship-lookup.external-source.import-modal.isProjectOfPublication.title": "Proyecto", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.head.openAIREFunding": "Funding OpenAIRE API", + "submission.sections.describe.relationship-lookup.external-source.import-modal.head.openAIREFunding": "API OpenAIRE de Financiamiento", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.title": "Import Remote Author", + "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.title": "Importación remota de autor", + + // "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.local-entity": "Autor local agregado exitosamente a la selección", + + // "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.isAuthorOfPublication.added.new-entity": "Autor externo importado y agregado exitosamente a la selección", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.authority": "Authority", + "submission.sections.describe.relationship-lookup.external-source.import-modal.authority": "Autoridad", + + // "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": "Importar como una nueva entrada de autoridad local", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.cancel": "Cancel", + "submission.sections.describe.relationship-lookup.external-source.import-modal.cancel": "Cancelar", + + // "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": "Seleccione una colección para importar nuevas entradas", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.entities": "Entities", + "submission.sections.describe.relationship-lookup.external-source.import-modal.entities": "Entidades", + + // "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": "Importar como una nueva entidad local", + + // "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": "Importar desde LCName", + + // "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 desde 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": "Importar desde Sherpa Journal", + + // "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": "Importar desde Sherpa Publisher", + + // "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": "Importar desde PubMed", + + // "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": "Importando desde arXiv", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.import": "Import", + "submission.sections.describe.relationship-lookup.external-source.import-modal.import": "Importar", + + // "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": "Importación remota de Revista", + + // "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": "Revista local agregada con éxito a la selección", + + // "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": "Revista externa importada y agregada con éxito a la selección", + + // "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": "Importación remota de numero de revista ", + + // "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": "Se agregó localmenteun número de revista a la selección.", + + // "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": "Se importó con éxito y se agregó externamente un número de revista a la selección.", + + // "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": "Importación remota de volumen de revista ", + + // "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": "Se agregó con éxito el volumen de la revista local a la selección.", + + // "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": "Se importó y agregó con éxito un volumen de revista externo a la selección", + + // "submission.sections.describe.relationship-lookup.external-source.import-modal.select": "Select a local match:", + "submission.sections.describe.relationship-lookup.external-source.import-modal.select": "Seleccione una coincidencia local:", + + // "submission.sections.describe.relationship-lookup.search-tab.deselect-all": "Deselect all", + "submission.sections.describe.relationship-lookup.search-tab.deselect-all": "Deseleccionar todo", + + // "submission.sections.describe.relationship-lookup.search-tab.deselect-page": "Deselect page", + "submission.sections.describe.relationship-lookup.search-tab.deselect-page": "Deseleccionar página", + + // "submission.sections.describe.relationship-lookup.search-tab.loading": "Loading...", + "submission.sections.describe.relationship-lookup.search-tab.loading": "Cargando...", + + // "submission.sections.describe.relationship-lookup.search-tab.placeholder": "Search query", + "submission.sections.describe.relationship-lookup.search-tab.placeholder": "Consulta de búsqueda", + + // "submission.sections.describe.relationship-lookup.search-tab.search": "Go", + "submission.sections.describe.relationship-lookup.search-tab.search": "Ir", + + // "submission.sections.describe.relationship-lookup.search-tab.search-form.placeholder": "Search...", + "submission.sections.describe.relationship-lookup.search-tab.search-form.placeholder": "Buscar...", + + // "submission.sections.describe.relationship-lookup.search-tab.select-all": "Select all", + "submission.sections.describe.relationship-lookup.search-tab.select-all": "Seleccionar todo", + + // "submission.sections.describe.relationship-lookup.search-tab.select-page": "Select page", + "submission.sections.describe.relationship-lookup.search-tab.select-page": "Seleccionar página", + + // "submission.sections.describe.relationship-lookup.selected": "Selected {{ size }} items", + "submission.sections.describe.relationship-lookup.selected": "Ítems {{ size }} seleccionados", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isAuthorOfPublication": "Local Authors ({{ count }})", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isAuthorOfPublication": "Autores locales ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalOfPublication": "Local Journals ({{ count }})", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalOfPublication": "Revistas locales ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Project": "Local Projects ({{ count }})", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.Project": "Proyectos locales ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Publication": "Local Publications ({{ count }})", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.Publication": "Publicaciones locales ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Person": "Local Authors ({{ count }})", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.Person": "Autores locales ({{ 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": "Unidades organizativas locales ({{ 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": "Paquetes de datos locales ({{ 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": "Archivos de datos locales ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal": "Local Journals ({{ count }})", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.Journal": "Revistas locales ({{ 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": "Números de revista locales ({{ 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": "Números de revista locales ({{ 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": "Volúmenes de revista locales ({{ 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": "Volúmenes de revista locales ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaJournal": "Sherpa Journals ({{ count }})", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaJournal": "Revistas Sherpa ({{ count }})", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaPublisher": "Sherpa Publishers ({{ count }})", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaPublisher": "Editores Sherpa ({{ 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": "Nombres LC ({{ 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": "Búsqueda de agencias de financiación", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingOfPublication": "Search for Funding", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingOfPublication": "Búsqueda de financiación", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isChildOrgUnitOf": "Search for Organizational Units", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isChildOrgUnitOf": "Búsqueda de unidades organizativas", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.openAIREFunding": "Funding OpenAIRE API", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.openAIREFunding": "API OpenAire de Financiamiento", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isProjectOfPublication": "Projects", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isProjectOfPublication": "Proyectos", + + // "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingAgencyOfProject": "Funder of the Project", + "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingAgencyOfProject": "Financiador del Proyecto", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.openAIREFunding": "Funding OpenAIRE API", + "submission.sections.describe.relationship-lookup.selection-tab.title.openAIREFunding": "API OpenAIRE de Financiamiento", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isProjectOfPublication": "Project", + "submission.sections.describe.relationship-lookup.selection-tab.title.isProjectOfPublication": "Proyecto", + + // "submission.sections.describe.relationship-lookup.title.isProjectOfPublication": "Projects", + "submission.sections.describe.relationship-lookup.title.isProjectOfPublication": "Proyectos", + + // "submission.sections.describe.relationship-lookup.title.isFundingAgencyOfProject": "Funder of the Project", + "submission.sections.describe.relationship-lookup.title.isFundingAgencyOfProject": "Financiador del Proyecto", + + + // "submission.sections.describe.relationship-lookup.selection-tab.search-form.placeholder": "Search...", + "submission.sections.describe.relationship-lookup.selection-tab.search-form.placeholder": "Buscar...", + + // "submission.sections.describe.relationship-lookup.selection-tab.tab-title": "Current Selection ({{ count }})", + "submission.sections.describe.relationship-lookup.selection-tab.tab-title": "Selección actual ({{ count }})", + + // "submission.sections.describe.relationship-lookup.title.isJournalIssueOfPublication": "Journal Issues", + "submission.sections.describe.relationship-lookup.title.isJournalIssueOfPublication": "Numeros de la revista", + + // "submission.sections.describe.relationship-lookup.title.JournalIssue": "Journal Issues", + "submission.sections.describe.relationship-lookup.title.JournalIssue": "Numeros de la revista", + + // "submission.sections.describe.relationship-lookup.title.isJournalVolumeOfPublication": "Journal Volumes", + "submission.sections.describe.relationship-lookup.title.isJournalVolumeOfPublication": "Volúmenes de la revista", + + // "submission.sections.describe.relationship-lookup.title.JournalVolume": "Journal Volumes", + "submission.sections.describe.relationship-lookup.title.JournalVolume": "Volúmenes de la revista", + + // "submission.sections.describe.relationship-lookup.title.isJournalOfPublication": "Journals", + "submission.sections.describe.relationship-lookup.title.isJournalOfPublication": "Revistas", + + // "submission.sections.describe.relationship-lookup.title.isAuthorOfPublication": "Authors", + "submission.sections.describe.relationship-lookup.title.isAuthorOfPublication": "Autores", + + // "submission.sections.describe.relationship-lookup.title.isFundingAgencyOfPublication": "Funding Agency", + "submission.sections.describe.relationship-lookup.title.isFundingAgencyOfPublication": "Agencia financiadora", + + // "submission.sections.describe.relationship-lookup.title.Project": "Projects", + "submission.sections.describe.relationship-lookup.title.Project": "Proyectos", + + // "submission.sections.describe.relationship-lookup.title.Publication": "Publications", + "submission.sections.describe.relationship-lookup.title.Publication": "Publicaciones", + + // "submission.sections.describe.relationship-lookup.title.Person": "Authors", + "submission.sections.describe.relationship-lookup.title.Person": "Autores", + + // "submission.sections.describe.relationship-lookup.title.OrgUnit": "Organizational Units", + "submission.sections.describe.relationship-lookup.title.OrgUnit": "Unidades organizativas", + + // "submission.sections.describe.relationship-lookup.title.DataPackage": "Data Packages", + "submission.sections.describe.relationship-lookup.title.DataPackage": "Paquetes de datos", + + // "submission.sections.describe.relationship-lookup.title.DataFile": "Data Files", + "submission.sections.describe.relationship-lookup.title.DataFile": "Archivos de información", + + // "submission.sections.describe.relationship-lookup.title.Funding Agency": "Funding Agency", + "submission.sections.describe.relationship-lookup.title.Funding Agency": "Agencia financiadora", + + // "submission.sections.describe.relationship-lookup.title.isFundingOfPublication": "Funding", + "submission.sections.describe.relationship-lookup.title.isFundingOfPublication": "Financiación", + + // "submission.sections.describe.relationship-lookup.title.isChildOrgUnitOf": "Parent Organizational Unit", + "submission.sections.describe.relationship-lookup.title.isChildOrgUnitOf": "Unidad organizativa matriz", + + // "submission.sections.describe.relationship-lookup.search-tab.toggle-dropdown": "Toggle dropdown", + "submission.sections.describe.relationship-lookup.search-tab.toggle-dropdown": "Alternar menú desplegable", + + // "submission.sections.describe.relationship-lookup.selection-tab.settings": "Settings", + "submission.sections.describe.relationship-lookup.selection-tab.settings": "Ajustes", + + // "submission.sections.describe.relationship-lookup.selection-tab.no-selection": "Your selection is currently empty.", + "submission.sections.describe.relationship-lookup.selection-tab.no-selection": "Su selección está actualmente vacía.", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isAuthorOfPublication": "Selected Authors", + "submission.sections.describe.relationship-lookup.selection-tab.title.isAuthorOfPublication": "Autores seleccionados", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalOfPublication": "Selected Journals", + "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalOfPublication": "Revistas seleccionadas", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalVolumeOfPublication": "Selected Journal Volume", + "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalVolumeOfPublication": "Volumen de revista seleccionada", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.Project": "Selected Projects", + "submission.sections.describe.relationship-lookup.selection-tab.title.Project": "Proyectos seleccionados", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.Publication": "Selected Publications", + "submission.sections.describe.relationship-lookup.selection-tab.title.Publication": "Publicaciones Seleccionadas", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.Person": "Selected Authors", + "submission.sections.describe.relationship-lookup.selection-tab.title.Person": "Autores seleccionados", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.OrgUnit": "Selected Organizational Units", + "submission.sections.describe.relationship-lookup.selection-tab.title.OrgUnit": "Unidades organizativas seleccionadas", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.DataPackage": "Selected Data Packages", + "submission.sections.describe.relationship-lookup.selection-tab.title.DataPackage": "Paquetes de datos seleccionados", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.DataFile": "Selected Data Files", + "submission.sections.describe.relationship-lookup.selection-tab.title.DataFile": "Archivos de datos seleccionados", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.Journal": "Selected Journals", + "submission.sections.describe.relationship-lookup.selection-tab.title.Journal": "Revistas seleccionadas", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalIssueOfPublication": "Selected Issue", + "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalIssueOfPublication": "Número de revista seleccionados", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.JournalVolume": "Selected Journal Volume", + "submission.sections.describe.relationship-lookup.selection-tab.title.JournalVolume": "Volúmenes de revista seleccionados ", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingAgencyOfPublication": "Selected Funding Agency", + "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingAgencyOfPublication": "Agencias de financiación seleccionadas", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingOfPublication": "Selected Funding", + "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingOfPublication": "Financiamientos seleccionados", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.JournalIssue": "Selected Issue", + "submission.sections.describe.relationship-lookup.selection-tab.title.JournalIssue": "Número seleccionado", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.isChildOrgUnitOf": "Selected Organizational Unit", + "submission.sections.describe.relationship-lookup.selection-tab.title.isChildOrgUnitOf": "Unidad organizativa seleccionada", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.sherpaJournal": "Search Results", + "submission.sections.describe.relationship-lookup.selection-tab.title.sherpaJournal": "Resultados de la búsqueda", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.sherpaPublisher": "Search Results", + "submission.sections.describe.relationship-lookup.selection-tab.title.sherpaPublisher": "Resultados de la búsqueda", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.orcid": "Search Results", + "submission.sections.describe.relationship-lookup.selection-tab.title.orcid": "Resultados de la búsqueda", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.orcidv2": "Search Results", + "submission.sections.describe.relationship-lookup.selection-tab.title.orcidv2": "Resultados de la búsqueda", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.lcname": "Search Results", + "submission.sections.describe.relationship-lookup.selection-tab.title.lcname": "Resultados de la búsqueda", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.pubmed": "Search Results", + "submission.sections.describe.relationship-lookup.selection-tab.title.pubmed": "Resultados de la búsqueda", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.arxiv": "Search Results", + "submission.sections.describe.relationship-lookup.selection-tab.title.arxiv": "Resultados de la búsqueda", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.crossref": "Search Results", + "submission.sections.describe.relationship-lookup.selection-tab.title.crossref": "Resultados de la búsqueda", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.epo": "Search Results", + "submission.sections.describe.relationship-lookup.selection-tab.title.epo": "Resultados de la búsqueda", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.scopus": "Search Results", + "submission.sections.describe.relationship-lookup.selection-tab.title.scopus": "Resultados de la búsqueda", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.scielo": "Search Results", + "submission.sections.describe.relationship-lookup.selection-tab.title.scielo": "Resultados de la búsqueda", + + // "submission.sections.describe.relationship-lookup.selection-tab.title.wos": "Search Results", + "submission.sections.describe.relationship-lookup.selection-tab.title.wos": "Resultados de la búsqueda", + + // "submission.sections.describe.relationship-lookup.selection-tab.title": "Search Results", + "submission.sections.describe.relationship-lookup.selection-tab.title": "Resultados de la búsqueda", + + // "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": "¿Le gustaría guardar \"{{ value }}\" como una variante de nombre para esta persona para que usted y otros puedan reutilizarlo para envíos futuros? Si no lo hace, aún puede usarlo para este envío.", + + // "submission.sections.describe.relationship-lookup.name-variant.notification.confirm": "Save a new name variant", + "submission.sections.describe.relationship-lookup.name-variant.notification.confirm": "Guardar una nueva variante de nombre", + + // "submission.sections.describe.relationship-lookup.name-variant.notification.decline": "Use only for this submission", + "submission.sections.describe.relationship-lookup.name-variant.notification.decline": "Usar solo para este envío", + + // "submission.sections.ccLicense.type": "License Type", + "submission.sections.ccLicense.type": "Tipo de licencia", + + // "submission.sections.ccLicense.select": "Select a license type…", + "submission.sections.ccLicense.select": "Seleccione un tipo de licencia...", + + // "submission.sections.ccLicense.change": "Change your license type…", + "submission.sections.ccLicense.change": "Cambie su tipo de licencia...", + + // "submission.sections.ccLicense.none": "No licenses available", + "submission.sections.ccLicense.none": "No hay licencias disponibles", + + // "submission.sections.ccLicense.option.select": "Select an option…", + "submission.sections.ccLicense.option.select": "Seleccione una opción…", + + // "submission.sections.ccLicense.link": "You’ve selected the following license:", + "submission.sections.ccLicense.link": "Ha seleccionado la siguiente licencia:", + + // "submission.sections.ccLicense.confirmation": "I grant the license above", + "submission.sections.ccLicense.confirmation": "Otorgo la licencia de arriba", + + // "submission.sections.general.add-more": "Add more", + "submission.sections.general.add-more": "Añadir más", + + // "submission.sections.general.cannot_deposit": "Deposit cannot be completed due to errors in the form.
Please fill out all required fields to complete the deposit.", + "submission.sections.general.cannot_deposit": "No se puede finalizar el depósito por errores en el formulario.
Por favor, complete todos los campos requeridos para finalizar el envío.", + + // "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 ítem. Vuelva a intentarlo más tarde.", + + // "submission.sections.general.deposit_success_notice": "Submission deposited successfully.", + "submission.sections.general.deposit_success_notice": "Envío depositado con éxito.", + + // "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 al descartar el ítem. Vuelva a intentarlo más tarde.", + + // "submission.sections.general.discard_success_notice": "Submission discarded successfully.", + "submission.sections.general.discard_success_notice": "Envío descartado con éxito.", + + // "submission.sections.general.metadata-extracted": "New metadata have been extracted and added to the {{sectionId}} section.", + "submission.sections.general.metadata-extracted": "Se extrajeron y agregaron nuevos metadatos 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": "Se ha añadido una nueva sección {{ sectionId }} al envío.", + + // "submission.sections.general.no-collection": "No collection found", + "submission.sections.general.no-collection": "No se encontró ninguna colección", + + // "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 al guardar el ítem. Vuelva a intentarlo más tarde.", + + // "submission.sections.general.save_success_notice": "Submission saved successfully.", + "submission.sections.general.save_success_notice": "Envío guardado con éxito.", + + // "submission.sections.general.search-collection": "Search for a collection", + "submission.sections.general.search-collection": "Buscar una colección", + + // "submission.sections.general.sections_not_valid": "There are incomplete sections.", + "submission.sections.general.sections_not_valid": "Hay secciones incompletas.", + + + // "submission.sections.submit.progressbar.accessCondition": "Item access conditions", + "submission.sections.submit.progressbar.accessCondition": "Condiciones de acceso al ítem", + + // "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.sherpapolicy": "Sherpa policies", + "submission.sections.submit.progressbar.sherpapolicy": "Políticas Sherpa", + + // "submission.sections.submit.progressbar.upload": "Upload files", + "submission.sections.submit.progressbar.upload": "Subir archivos", + + // "submission.sections.submit.progressbar.sherpaPolicies": "Publisher open access policy information", + "submission.sections.submit.progressbar.sherpaPolicies": "Información sobre políticas editoriales de acceso abierto", + + + // "submission.sections.sherpa-policy.title-empty": "No publisher policy information available. If your work has an associated ISSN, please enter it above to see any related publisher open access policies.", + "submission.sections.sherpa-policy.title-empty": "No se encuentra disponible la información sobre política editorial. Si tiene un ISSN asociado, introdúzcalo arriba para ver información sobre políticas editoriales de acceso abierto.", + + // "submission.sections.status.errors.title": "Errors", + "submission.sections.status.errors.title": "Errores", + + // "submission.sections.status.valid.title": "Valid", + "submission.sections.status.valid.title": "Válido", + + // "submission.sections.status.warnings.title": "Warnings", + "submission.sections.status.warnings.title": "Advertencias", + + // "submission.sections.status.errors.aria": "has errors", + "submission.sections.status.errors.aria": "con errores", + + // "submission.sections.status.valid.aria": "is valid", + "submission.sections.status.valid.aria": "es válido", + + // "submission.sections.status.warnings.aria": "has warnings", + "submission.sections.status.warnings.aria": "con avisos", + + // "submission.sections.status.info.title": "Additional Information", + "submission.sections.status.info.title": "Información adicional", + + // "submission.sections.status.info.aria": "Additional Information", + "submission.sections.status.info.aria": "Información adicional", + + // "submission.sections.toggle.open": "Open section", + "submission.sections.toggle.open": "Sección abierta", + + // "submission.sections.toggle.close": "Close section", + "submission.sections.toggle.close": "Cerrar sección", + + // "submission.sections.toggle.aria.open": "Expand {{sectionHeader}} section", + "submission.sections.toggle.aria.open": "Expandir {{sectionHeader}} sección", + + // "submission.sections.toggle.aria.close": "Collapse {{sectionHeader}} section", + "submission.sections.toggle.aria.close": "Contraer {{sectionHeader}} sección", + + // "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": "Sí, 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": "Borrar", + + // "submission.sections.upload.download.title": "Download bitstream", + "submission.sections.upload.download.title": "Descargar archivo", + + // "submission.sections.upload.drop-message": "Drop files to attach them to the item", + "submission.sections.upload.drop-message": "Suelte archivos para adjuntarlos al ítem", + + // "submission.sections.upload.edit.title": "Edit bitstream", + "submission.sections.upload.edit.title": "Editar archivo", + + // "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.access-condition-hint": "Select an access condition to apply on the bitstream once the item is deposited", + "submission.sections.upload.form.access-condition-hint": "Seleccione la condición de acceso que se aplicará a los ficheros una vez se deposite el ítem", + + // "submission.sections.upload.form.date-required": "Date is required.", + "submission.sections.upload.form.date-required": "Se requiere la fecha.", + + // "submission.sections.upload.form.date-required-from": "Grant access from date is required.", + "submission.sections.upload.form.date-required-from": "Para aplicar el acceso se requiere una fecha de inicio.", + + // "submission.sections.upload.form.date-required-until": "Grant access until date is required.", + "submission.sections.upload.form.date-required-until": "Para aplicar el acceso se requiere una fecha de finalización.", + + // "submission.sections.upload.form.from-label": "Grant access from", + "submission.sections.upload.form.from-label": "Permitir acceso desde", + + // "submission.sections.upload.form.from-hint": "Select the date from which the related access condition is applied", + "submission.sections.upload.form.from-hint": "Seleccione la fecha a partir de la cúal será aplicada la condición de acceso", + + // "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": "Se requiere grupo.", + + // "submission.sections.upload.form.until-label": "Grant access until", + "submission.sections.upload.form.until-label": "Conceder acceso hasta", + + // "submission.sections.upload.form.until-hint": "Select the date until which the related access condition is applied", + "submission.sections.upload.form.until-hint": "Seleccione la fecha hasta la cuál será aplicada la condición de acceso", + + // "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": "Se podrá acceder a los archivos cargados en la colección {{ collectionName }} de acuerdo con los siguientes grupos:", + + // "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ícitamente para el fichero, con los siguientes grupos:", + + // "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 que se encuentran actualmente en el ítem. Puede actualizar los metadatos del fichero y las condiciones de acceso e incluir ficheros adicionales simplemente arrastrando-y-soltando en cualquier instante en 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": "Aún no se ha subido ningún archivo.", + + // "submission.sections.upload.save-metadata": "Save metadata", + "submission.sections.upload.save-metadata": "Guardar metadatos", + + // "submission.sections.upload.undo": "Cancel", + "submission.sections.upload.undo": "Cancelar", + + // "submission.sections.upload.upload-failed": "Upload failed", + "submission.sections.upload.upload-failed": "Subida fallida", + + // "submission.sections.upload.upload-successful": "Upload successful", + "submission.sections.upload.upload-successful": "Subida exitosa", + + // "submission.sections.accesses.form.discoverable-description": "When checked, this item will be discoverable in search/browse. When unchecked, the item will only be available via a direct link and will never appear in search/browse.", + "submission.sections.accesses.form.discoverable-description": "Si lo marca, el ítem será detectable en el buscador/navegador. Si lo desmarca, el ítems solo estará disponible mediante el enlace directo, y no aparecerá en el buscador/navegador.", + + // "submission.sections.accesses.form.discoverable-label": "Discoverable", + "submission.sections.accesses.form.discoverable-label": "Detectable", + + // "submission.sections.accesses.form.access-condition-label": "Access condition type", + "submission.sections.accesses.form.access-condition-label": "Tipo de condición de acceso", + + // "submission.sections.accesses.form.access-condition-hint": "Select an access condition to apply on the item once it is deposited", + "submission.sections.accesses.form.access-condition-hint": "Seleccione la condición de acceso que se aplicará al ítem una vez depositado", + + // "submission.sections.accesses.form.date-required": "Date is required.", + "submission.sections.accesses.form.date-required": "Se requiere una fecha.", + + // "submission.sections.accesses.form.date-required-from": "Grant access from date is required.", + "submission.sections.accesses.form.date-required-from": "Para aplicar el acceso se requiere una fecha de inicio.", + + // "submission.sections.accesses.form.date-required-until": "Grant access until date is required.", + "submission.sections.accesses.form.date-required-until": "Para aplicar el acceso se requiere una fecha de finalización.", + + // "submission.sections.accesses.form.from-label": "Grant access from", + "submission.sections.accesses.form.from-label": "Permitir acceso desde", + + // "submission.sections.accesses.form.from-hint": "Select the date from which the related access condition is applied", + "submission.sections.accesses.form.from-hint": "Seleccione la fecha a partir de la cúal será aplicada la condición de acceso", + + // "submission.sections.accesses.form.from-placeholder": "From", + "submission.sections.accesses.form.from-placeholder": "Desde", + + // "submission.sections.accesses.form.group-label": "Group", + "submission.sections.accesses.form.group-label": "Grupo", + + // "submission.sections.accesses.form.group-required": "Group is required.", + "submission.sections.accesses.form.group-required": "Se requiere un grupo.", + + // "submission.sections.accesses.form.until-label": "Grant access until", + "submission.sections.accesses.form.until-label": "Permitir acceso hasta", + + // "submission.sections.accesses.form.until-hint": "Select the date until which the related access condition is applied", + "submission.sections.accesses.form.until-hint": "Seleccione la fecha hasta la cuál será aplicada la condición de acceso", + + // "submission.sections.accesses.form.until-placeholder": "Until", + "submission.sections.accesses.form.until-placeholder": "Hasta", // "submission.sections.license.granted-label": "I confirm the license above", "submission.sections.license.granted-label": "Confirmo la licencia", @@ -5323,256 +6270,722 @@ // "submission.sections.license.notgranted": "You must accept the license", "submission.sections.license.notgranted": "Debe aceptar la licencia", - // "submission.submit.breadcrumbs": "New submission", - "submission.submit.breadcrumbs": "Nuevo envío", - // "submission.submit.title": "New submission", - "submission.submit.title": "Nuevo envío", + // "submission.sections.sherpa.publication.information": "Publication information", + "submission.sections.sherpa.publication.information": "Información de la Publicac", + // "submission.sections.sherpa.publication.information.title": "Title", + "submission.sections.sherpa.publication.information.title": "Título", + // "submission.sections.sherpa.publication.information.issns": "ISSNs", + "submission.sections.sherpa.publication.information.issns": "ISSNs", - // "submission.workflow.generic.delete": "Delete", - "submission.workflow.generic.delete": "Borrar", + // "submission.sections.sherpa.publication.information.url": "URL", + "submission.sections.sherpa.publication.information.url": "URL", - // "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 artículo, seleccione \"Eliminar\". Luego se le pedirá que lo confirme.", + // "submission.sections.sherpa.publication.information.publishers": "Publisher", + "submission.sections.sherpa.publication.information.publishers": "Editor", - // "submission.workflow.generic.edit": "Edit", - "submission.workflow.generic.edit": "Editar", + // "submission.sections.sherpa.publication.information.romeoPub": "Romeo Pub", + "submission.sections.sherpa.publication.information.romeoPub": "Romeo Pub", - // "submission.workflow.generic.edit-help": "Select this option to change the item's metadata.", - "submission.workflow.generic.edit-help": "Seleccione esta opción para cambiar los metadatos del artículo.", + // "submission.sections.sherpa.publication.information.zetoPub": "Zeto Pub", + "submission.sections.sherpa.publication.information.zetoPub": "Zeto Pub", - // "submission.workflow.generic.view": "View", - "submission.workflow.generic.view": "Vista", + // "submission.sections.sherpa.publisher.policy": "Publisher Policy", + "submission.sections.sherpa.publisher.policy": "Política editorial", - // "submission.workflow.generic.view-help": "Select this option to view the item's metadata.", - "submission.workflow.generic.view-help": "Seleccione esta opción para ver los metadatos del artículo.", + // "submission.sections.sherpa.publisher.policy.description": "The below information was found via Sherpa Romeo. Based on the policies of your publisher, it provides advice regarding whether an embargo may be necessary and/or which files you are allowed to upload. If you have questions, please contact your site administrator via the feedback form in the footer.", + "submission.sections.sherpa.publisher.policy.description": "Lq siguiente informacióm se encontró via Sherpa Romeo. En base a esas políticas, se proporcionan consejos sobre las necesidad de un embargo y de aquellos ficheros que puede utilizar. Si tiene dudas, por favor, contacte con el administrador del repositorio mediante el formulario de sugerencias.", + // "submission.sections.sherpa.publisher.policy.openaccess": "Open Access pathways permitted by this journal's policy are listed below by article version. Click on a pathway for a more detailed view", + "submission.sections.sherpa.publisher.policy.openaccess": "Los caminos hacia el Acceso Abierto que esta revista permite se relacionan, por versión de artículo, abajo. Pulse en un camino para una visión mas detallada", + // "submission.sections.sherpa.publisher.policy.more.information": "For more information, please see the following links:", + "submission.sections.sherpa.publisher.policy.more.information": "Para mas información, por favor, siga los siguientes enlaces:", - // "submission.workflow.tasks.claimed.approve": "Approve", - "submission.workflow.tasks.claimed.approve": "Aprobar", + // "submission.sections.sherpa.publisher.policy.version": "Version", + "submission.sections.sherpa.publisher.policy.version": "Versión", - // "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 artículo y es adecuado para su inclusión en la colección, seleccione \"Aprobar \".", + // "submission.sections.sherpa.publisher.policy.embargo": "Embargo", + "submission.sections.sherpa.publisher.policy.embargo": "Embargo", - // "submission.workflow.tasks.claimed.edit": "Edit", - "submission.workflow.tasks.claimed.edit": "Editar", + // "submission.sections.sherpa.publisher.policy.noembargo": "No Embargo", + "submission.sections.sherpa.publisher.policy.noembargo": "Sin Embargo", - // "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 artículo.", + // "submission.sections.sherpa.publisher.policy.nolocation": "None", + "submission.sections.sherpa.publisher.policy.nolocation": "Ninguno", - // "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": "Ingrese su motivo para rechazar el envío en el cuadro a continuación, indicando si el remitente puede solucionar un problema y volver a enviarlo.", + // "submission.sections.sherpa.publisher.policy.license": "License", + "submission.sections.sherpa.publisher.policy.license": "Licencia", - // "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.sections.sherpa.publisher.policy.prerequisites": "Prerequisites", + "submission.sections.sherpa.publisher.policy.prerequisites": "Prerequisitos", - // "submission.workflow.tasks.claimed.reject.reason.submit": "Reject item", - "submission.workflow.tasks.claimed.reject.reason.submit": "Rechazar artículo", + // "submission.sections.sherpa.publisher.policy.location": "Location", + "submission.sections.sherpa.publisher.policy.location": "Lugar", - // "submission.workflow.tasks.claimed.reject.reason.title": "Reason", - "submission.workflow.tasks.claimed.reject.reason.title": "Razón", + // "submission.sections.sherpa.publisher.policy.conditions": "Conditions", + "submission.sections.sherpa.publisher.policy.conditions": "Condiciones", - // "submission.workflow.tasks.claimed.reject.submit": "Reject", - "submission.workflow.tasks.claimed.reject.submit": "Rechazar", + // "submission.sections.sherpa.publisher.policy.refresh": "Refresh", + "submission.sections.sherpa.publisher.policy.refresh": "Refrescar", - // "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 artículo y ha encontrado que no es adecuado para su inclusión en la colección, seleccione \"Rechazar\". Luego, se le pedirá que ingrese un mensaje que indique por qué el artículo no es adecuado y si el remitente debe cambiar algo y volver a enviarlo.", + // "submission.sections.sherpa.record.information": "Record Information", + "submission.sections.sherpa.record.information": "Informacion del registro", - // "submission.workflow.tasks.claimed.return": "Return to pool", - "submission.workflow.tasks.claimed.return": "Volver a la piscina", + // "submission.sections.sherpa.record.information.id": "ID", + "submission.sections.sherpa.record.information.id": "ID", - // "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": "Devuelva la tarea al grupo para que otro usuario pueda realizarla.", + // "submission.sections.sherpa.record.information.date.created": "Date Created", + "submission.sections.sherpa.record.information.date.created": "Fecha de creación", + // "submission.sections.sherpa.record.information.date.modified": "Last Modified", + "submission.sections.sherpa.record.information.date.modified": "Última modificación", + // "submission.sections.sherpa.record.information.uri": "URI", + "submission.sections.sherpa.record.information.uri": "URI", - // "submission.workflow.tasks.generic.error": "Error occurred during operation...", - "submission.workflow.tasks.generic.error": "Ocurrió un error durante la operación...", + // "submission.sections.sherpa.error.message": "There was an error retrieving sherpa informations", + "submission.sections.sherpa.error.message": "Hubo un error recuperando la información de Sherpa", - // "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.submit.breadcrumbs": "New submission", + "submission.submit.breadcrumbs": "Nuevo envío", + // "submission.submit.title": "New submission", + "submission.submit.title": "Nuevo envío", - // "submission.workflow.tasks.pool.claim": "Claim", - "submission.workflow.tasks.pool.claim": "Afirmar", - // "submission.workflow.tasks.pool.claim_help": "Assign this task to yourself.", - "submission.workflow.tasks.pool.claim_help": "Asigne esta tarea a usted mismo.", + // "submission.workflow.generic.delete": "Delete", + "submission.workflow.generic.delete": "Borrar", - // "submission.workflow.tasks.pool.hide-detail": "Hide detail", - "submission.workflow.tasks.pool.hide-detail": "Ocultar detalle", + // "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 artículo, seleccione \"Eliminar\". Luego se le pedirá que lo confirme.", - // "submission.workflow.tasks.pool.show-detail": "Show detail", - "submission.workflow.tasks.pool.show-detail": "Mostrar detalle", + // "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 esta opción para cambiar los metadatos del artículo.", + // "submission.workflow.generic.view": "View", + "submission.workflow.generic.view": "Vista", - // "thumbnail.default.alt": "Thumbnail Image", - "thumbnail.default.alt": "Imagen en miniatura", + // "submission.workflow.generic.view-help": "Select this option to view the item's metadata.", + "submission.workflow.generic.view-help": "Seleccione esta opción para ver los metadatos del artículo.", - // "thumbnail.default.placeholder": "No Thumbnail Available", - "thumbnail.default.placeholder": "No hay miniatura disponible", + // "submission.workflow.tasks.claimed.approve": "Approve", + "submission.workflow.tasks.claimed.approve": "Aprobar", - // "thumbnail.project.alt": "Project Logo", - "thumbnail.project.alt": "Logotipo del proyecto", + // "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 artículo y es adecuado para su inclusión en la colección, seleccione \"Aprobar \".", - // "thumbnail.project.placeholder": "Project Placeholder Image", - "thumbnail.project.placeholder": "Imagen de marcador de posición del proyecto", + // "submission.workflow.tasks.claimed.edit": "Edit", + "submission.workflow.tasks.claimed.edit": "Editar", - // "thumbnail.orgunit.alt": "OrgUnit Logo", - "thumbnail.orgunit.alt": "Logotipo de OrgUnit", + // "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 artículo.", - // "thumbnail.orgunit.placeholder": "OrgUnit Placeholder Image", - "thumbnail.orgunit.placeholder": "Imagen de marcador de posición de unidad organizativa", + // "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": "Introduzca su motivo para rechazar el envío en el cuadro a continuación, indicando si el remitente puede solucionar un problema y volver a enviarlo.", - // "thumbnail.person.alt": "Profile Picture", - "thumbnail.person.alt": "Foto de perfil", + // "submission.workflow.tasks.claimed.reject.reason.placeholder": "Describe the reason of reject", + "submission.workflow.tasks.claimed.reject.reason.placeholder": "Describa el motivo del rechazo.", - // "thumbnail.person.placeholder": "No Profile Picture Available", - "thumbnail.person.placeholder": "No hay imagen de perfil disponible", + // "submission.workflow.tasks.claimed.reject.reason.submit": "Reject item", + "submission.workflow.tasks.claimed.reject.reason.submit": "Rechazar el ítem", + // "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", - // "title": "DSpace", - "title": "DSpace", + // "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\". Luego, se le pedirá que introduzca un mensaje que indique por qué el artículo 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": "Volver 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": "Devuelva la tarea al pool para que otro usuario pueda realizarla.", - // "vocabulary-treeview.header": "Hierarchical tree view", - "vocabulary-treeview.header": "Vista de árbol jerárquico", - // "vocabulary-treeview.load-more": "Load more", - "vocabulary-treeview.load-more": "Carga más", - // "vocabulary-treeview.search.form.reset": "Reset", - "vocabulary-treeview.search.form.reset": "Reiniciar", + // "submission.workflow.tasks.generic.error": "Error occurred during operation...", + "submission.workflow.tasks.generic.error": "Ocurrió un error durante la operación...", - // "vocabulary-treeview.search.form.search": "Search", - "vocabulary-treeview.search.form.search": "Buscar", + // "submission.workflow.tasks.generic.processing": "Processing...", + "submission.workflow.tasks.generic.processing": "Procesando...", - // "vocabulary-treeview.search.no-result": "There were no items to show", - "vocabulary-treeview.search.no-result": "No había artículos para mostrar", + // "submission.workflow.tasks.generic.submitter": "Submitter", + "submission.workflow.tasks.generic.submitter": "Remitente", - // "vocabulary-treeview.tree.description.nsi": "The Norwegian Science Index", - "vocabulary-treeview.tree.description.nsi": "El índice científico noruego", + // "submission.workflow.tasks.generic.success": "Operation successful", + "submission.workflow.tasks.generic.success": "Operación exitosa", - // "vocabulary-treeview.tree.description.srsc": "Research Subject Categories", - "vocabulary-treeview.tree.description.srsc": "Categorías de temas de investigación", + // "submission.workflow.tasks.pool.claim": "Claim", + "submission.workflow.tasks.pool.claim": "Afirmar", - // "uploader.browse": "browse", - "uploader.browse": "examinar", + // "submission.workflow.tasks.pool.claim_help": "Assign this task to yourself.", + "submission.workflow.tasks.pool.claim_help": "Asigne esta tarea a usted mismo.", - // "uploader.drag-message": "Drag & Drop your files here", - "uploader.drag-message": "Arrastrar", + // "submission.workflow.tasks.pool.hide-detail": "Hide detail", + "submission.workflow.tasks.pool.hide-detail": "Ocultar detalle", - // "uploader.delete.btn-title": "Delete", - "uploader.delete.btn-title": "Borrar", + // "submission.workflow.tasks.pool.show-detail": "Show detail", + "submission.workflow.tasks.pool.show-detail": "Mostrar detalle", - // "uploader.or": ", or ", - "uploader.or": ", o ", - // "uploader.processing": "Processing", - "uploader.processing": "Procesando", + // "submission.workspace.generic.view": "View", + "submission.workspace.generic.view": "Ver", - // "uploader.queue-length": "Queue length", - "uploader.queue-length": "Longitud de la cola", + // "submission.workspace.generic.view-help": "Select this option to view the item's metadata.", + "submission.workspace.generic.view-help": "Seleccione esta opción para ver los metadatos del ítem.", - // "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": "Seleccione los tipos para los que desea guardar los metadatos virtuales como metadatos reales", - // "virtual-metadata.delete-item.modal-head": "The virtual metadata of this relation", - "virtual-metadata.delete-item.modal-head": "Los metadatos virtuales de esta relación", + // "thumbnail.default.alt": "Thumbnail Image", + "thumbnail.default.alt": "Miniatura", - // "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": "Seleccione los artículos para los que desea guardar los metadatos virtuales como metadatos reales", + // "thumbnail.default.placeholder": "No Thumbnail Available", + "thumbnail.default.placeholder": "No hay miniatura disponible", + // "thumbnail.project.alt": "Project Logo", + "thumbnail.project.alt": "Logotipo del proyecto", + // "thumbnail.project.placeholder": "Project Placeholder Image", + "thumbnail.project.placeholder": "Imagen del proyecto en el marcador de posición ", - // "workflowAdmin.search.results.head": "Administer Workflow", - "workflowAdmin.search.results.head": "Administrar flujo de trabajo", + // "thumbnail.orgunit.alt": "OrgUnit Logo", + "thumbnail.orgunit.alt": "Logotipo de Unidad Organizativa", + // "thumbnail.orgunit.placeholder": "OrgUnit Placeholder Image", + "thumbnail.orgunit.placeholder": "Imagen de Unidad Organizativa en el marcador de posición ", + // "thumbnail.person.alt": "Profile Picture", + "thumbnail.person.alt": "Foto de perfil", - // "workflow-item.edit.breadcrumbs": "Edit workflowitem", - "workflow-item.edit.breadcrumbs": "Editar artículo de flujo de trabajo", + // "thumbnail.person.placeholder": "No Profile Picture Available", + "thumbnail.person.placeholder": "No hay imagen de perfil disponible", - // "workflow-item.edit.title": "Edit workflowitem", - "workflow-item.edit.title": "Editar artículo de flujo de trabajo", - // "workflow-item.delete.notification.success.title": "Deleted", - "workflow-item.delete.notification.success.title": "Eliminado", - // "workflow-item.delete.notification.success.content": "This workflow item was successfully deleted", - "workflow-item.delete.notification.success.content": "Este artículo de flujo de trabajo se eliminó correctamente", + // "title": "DSpace", + "title": "DSpace", - // "workflow-item.delete.notification.error.title": "Something went wrong", - "workflow-item.delete.notification.error.title": "Algo salió mal", - // "workflow-item.delete.notification.error.content": "The workflow item could not be deleted", - "workflow-item.delete.notification.error.content": "No se pudo eliminar el artículo del flujo de trabajo", - // "workflow-item.delete.title": "Delete workflow item", - "workflow-item.delete.title": "Eliminar artículo de flujo de trabajo", + // "vocabulary-treeview.header": "Hierarchical tree view", + "vocabulary-treeview.header": "Vista de árbol jerárquico", - // "workflow-item.delete.header": "Delete workflow item", - "workflow-item.delete.header": "Eliminar artículo de flujo de trabajo", + // "vocabulary-treeview.load-more": "Load more", + "vocabulary-treeview.load-more": "Cargar más", - // "workflow-item.delete.button.cancel": "Cancel", - "workflow-item.delete.button.cancel": "Cancelar", + // "vocabulary-treeview.search.form.reset": "Reset", + "vocabulary-treeview.search.form.reset": "Reiniciar", - // "workflow-item.delete.button.confirm": "Delete", - "workflow-item.delete.button.confirm": "Borrar", + // "vocabulary-treeview.search.form.search": "Search", + "vocabulary-treeview.search.form.search": "Buscar", + // "vocabulary-treeview.search.no-result": "There were no items to show", + "vocabulary-treeview.search.no-result": "No había ítems para mostrar", - // "workflow-item.send-back.notification.success.title": "Sent back to submitter", - "workflow-item.send-back.notification.success.title": "Enviado al remitente", + // "vocabulary-treeview.tree.description.nsi": "The Norwegian Science Index", + "vocabulary-treeview.tree.description.nsi": "El Norwegian Science Index", - // "workflow-item.send-back.notification.success.content": "This workflow item was successfully sent back to the submitter", - "workflow-item.send-back.notification.success.content": "Este artículo de flujo de trabajo se envió correctamente al remitente.", + // "vocabulary-treeview.tree.description.srsc": "Research Subject Categories", + "vocabulary-treeview.tree.description.srsc": "Categorías de temas de investigación", - // "workflow-item.send-back.notification.error.title": "Something went wrong", - "workflow-item.send-back.notification.error.title": "Algo salió mal", - // "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": "El artículo del flujo de trabajo no se pudo devolver al remitente.", - // "workflow-item.send-back.title": "Send workflow item back to submitter", - "workflow-item.send-back.title": "Enviar el artículo del flujo de trabajo al remitente", + // "uploader.browse": "browse", + "uploader.browse": "examinar", - // "workflow-item.send-back.header": "Send workflow item back to submitter", - "workflow-item.send-back.header": "Enviar el artículo del flujo de trabajo al remitente", + // "uploader.drag-message": "Drag & Drop your files here", + "uploader.drag-message": "Arrastrar y soltar sus ficheros aquí", - // "workflow-item.send-back.button.cancel": "Cancel", - "workflow-item.send-back.button.cancel": "Cancelar", + // "uploader.delete.btn-title": "Delete", + "uploader.delete.btn-title": "Borrar", - // "workflow-item.send-back.button.confirm": "Send back", - "workflow-item.send-back.button.confirm": "Enviar de vuelta", + // "uploader.or": ", or ", + "uploader.or": ", o ", - // "workflow-item.view.breadcrumbs": "Workflow View", - "workflow-item.view.breadcrumbs": "Vista de flujo de trabajo", + // "uploader.processing": "Processing", + "uploader.processing": "Procesando", + // "uploader.queue-length": "Queue length", + "uploader.queue-length": "Longitud de la cola", - // "idle-modal.header": "Session will expire soon", - "idle-modal.header": "La sesión caducará pronto", + // "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": "Seleccione los tipos para los que desea guardar los metadatos virtuales como metadatos reales", - // "idle-modal.info": "For security reasons, user sessions expire after {{ timeToExpire }} minutes of inactivity. Your session will expire soon. Would you like to extend it or log out?", - "idle-modal.info": "Por razones de seguridad, las sesiones de usuario caducan después de {{ timeToExpire }} minutos de inactividad. Tu sesión caducará pronto. ¿Le gustaría extenderla o cerrar la sesión?", + // "virtual-metadata.delete-item.modal-head": "The virtual metadata of this relation", + "virtual-metadata.delete-item.modal-head": "Los metadatos virtuales de esta relación", - // "idle-modal.log-out": "Log out", - "idle-modal.log-out": "Cerrar sesión", + // "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": "Seleccione los ítems para los que desea guardar los metadatos virtuales como metadatos reales", - // "idle-modal.extend-session": "Extend session" - "idle-modal.extend-session": "Extender sesión", -} + + + // "workspace.search.results.head": "Your submissions", + "workspace.search.results.head": "Sus envíos", + + // "workflowAdmin.search.results.head": "Administer Workflow", + "workflowAdmin.search.results.head": "Administrar flujo de trabajo", + + // "workflow.search.results.head": "Workflow tasks", + "workflow.search.results.head": "Tareas del flujo de trabajo", + + + + // "workflow-item.edit.breadcrumbs": "Edit workflowitem", + "workflow-item.edit.breadcrumbs": "Editar ítem del flujo de trabajo", + + // "workflow-item.edit.title": "Edit workflowitem", + "workflow-item.edit.title": "Editar ítem del flujo de trabajo", + + // "workflow-item.delete.notification.success.title": "Deleted", + "workflow-item.delete.notification.success.title": "Eliminado", + + // "workflow-item.delete.notification.success.content": "This workflow item was successfully deleted", + "workflow-item.delete.notification.success.content": "Este ítem del flujo de trabajo se eliminó correctamente", + + // "workflow-item.delete.notification.error.title": "Something went wrong", + "workflow-item.delete.notification.error.title": "Algo salió mal", + + // "workflow-item.delete.notification.error.content": "The workflow item could not be deleted", + "workflow-item.delete.notification.error.content": "No se pudo eliminar el ítem del flujo de trabajo", + + // "workflow-item.delete.title": "Delete workflow item", + "workflow-item.delete.title": "Eliminar ítem del flujo de trabajo", + + // "workflow-item.delete.header": "Delete workflow item", + "workflow-item.delete.header": "Eliminar ítem del flujo de trabajo", + + // "workflow-item.delete.button.cancel": "Cancel", + "workflow-item.delete.button.cancel": "Cancelar", + + // "workflow-item.delete.button.confirm": "Delete", + "workflow-item.delete.button.confirm": "Borrar", + + + // "workflow-item.send-back.notification.success.title": "Sent back to submitter", + "workflow-item.send-back.notification.success.title": "Devolver al remitente", + + // "workflow-item.send-back.notification.success.content": "This workflow item was successfully sent back to the submitter", + "workflow-item.send-back.notification.success.content": "Este ítem del flujo de trabajo se devolvió correctamente al remitente.", + + // "workflow-item.send-back.notification.error.title": "Something went wrong", + "workflow-item.send-back.notification.error.title": "Algo salió mal", + + // "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": "El ítem del flujo de trabajo no se pudo devolver al remitente.", + + // "workflow-item.send-back.title": "Send workflow item back to submitter", + "workflow-item.send-back.title": "Enviar el ítem del flujo de trabajo al remitente", + + // "workflow-item.send-back.header": "Send workflow item back to submitter", + "workflow-item.send-back.header": "Enviar el ítem del flujo de trabajo al remitente", + + // "workflow-item.send-back.button.cancel": "Cancel", + "workflow-item.send-back.button.cancel": "Cancelar", + + // "workflow-item.send-back.button.confirm": "Send back", + "workflow-item.send-back.button.confirm": "Devolver", + + // "workflow-item.view.breadcrumbs": "Workflow View", + "workflow-item.view.breadcrumbs": "Vista del flujo de trabajo", + + // "workspace-item.view.breadcrumbs": "Workspace View", + "workspace-item.view.breadcrumbs": "Vista del flujo de trabajo", + + // "workspace-item.view.title": "Workspace View", + "workspace-item.view.title": "Vista del flujo de trabajo", + + // "idle-modal.header": "Session will expire soon", + "idle-modal.header": "La sesión caducará pronto", + + // "idle-modal.info": "For security reasons, user sessions expire after {{ timeToExpire }} minutes of inactivity. Your session will expire soon. Would you like to extend it or log out?", + "idle-modal.info": "Por razones de seguridad, las sesiones de usuario caducan después de {{ timeToExpire }} minutos de inactividad. Su sesión caducará pronto. ¿Le gustaría prolongarla o cerrar la sesión?", + + // "idle-modal.log-out": "Log out", + "idle-modal.log-out": "Cerrar sesión", + + // "idle-modal.extend-session": "Extend session", + "idle-modal.extend-session": "Prolongar la sesión", + + // "researcher.profile.action.processing" : "Processing...", + "researcher.profile.action.processing" : "Procesando...", + + // "researcher.profile.associated": "Researcher profile associated", + "researcher.profile.associated": "Perfil asociado de investigador", + + // "researcher.profile.change-visibility.fail": "An unexpected error occurs while changing the profile visibility", + "researcher.profile.change-visibility.fail": "Ocurrió un error al cambiar la visibilidad del perfil", + + // "researcher.profile.create.new": "Create new", + "researcher.profile.create.new": "Crear nuevo", + + // "researcher.profile.create.success": "Researcher profile created successfully", + "researcher.profile.create.success": "Perfil de investigador creado con éxito", + + // "researcher.profile.create.fail": "An error occurs during the researcher profile creation", + "researcher.profile.create.fail": "Ocurrió un error en la creación del perfil de investigador", + + // "researcher.profile.delete": "Delete", + "researcher.profile.delete": "Borrar", + + // "researcher.profile.expose": "Expose", + "researcher.profile.expose": "Mostrar", + + // "researcher.profile.hide": "Hide", + "researcher.profile.hide": "Ocultar", + + // "researcher.profile.not.associated": "Researcher profile not yet associated", + "researcher.profile.not.associated": "No hay asociado aún un perfil de investigador", + + // "researcher.profile.view": "View", + "researcher.profile.view": "Ver", + + // "researcher.profile.private.visibility" : "PRIVATE", + "researcher.profile.private.visibility" : "PRIVADO", + + // "researcher.profile.public.visibility" : "PUBLIC", + "researcher.profile.public.visibility" : "PÚBLICO", + + // "researcher.profile.status": "Status:", + "researcher.profile.status": "Estado:", + + // "researcherprofile.claim.not-authorized": "You are not authorized to claim this item. For more details contact the administrator(s).", + "researcherprofile.claim.not-authorized": "No está autorizado pare reclamar este ítem. Contacte con el administrador para mas detalles.", + + // "researcherprofile.error.claim.body" : "An error occurred while claiming the profile, please try again later", + "researcherprofile.error.claim.body" : "Hubo un error reclamando el perfil, por favor, inténtelo mas tarde", + + // "researcherprofile.error.claim.title" : "Error", + "researcherprofile.error.claim.title" : "Error", + + // "researcherprofile.success.claim.body" : "Profile claimed with success", + "researcherprofile.success.claim.body" : "Perfil reclamado con éxito", + + // "researcherprofile.success.claim.title" : "Success", + "researcherprofile.success.claim.title" : "Éxito", + + // "person.page.orcid.create": "Create an ORCID ID", + "person.page.orcid.create": "Crear un ORCID ID", + + // "person.page.orcid.granted-authorizations": "Granted authorizations", + "person.page.orcid.granted-authorizations": "Autorizaciones concedidas", + + // "person.page.orcid.grant-authorizations" : "Grant authorizations", + "person.page.orcid.grant-authorizations" : "Conceder autorizaciones", + + // "person.page.orcid.link": "Connect to ORCID ID", + "person.page.orcid.link": "Conectar con ORCID ID", + + // "person.page.orcid.link.processing": "Linking profile to ORCID...", + "person.page.orcid.link.processing": "Conectando perfil con ORCID...", + + // "person.page.orcid.link.error.message": "Something went wrong while connecting the profile with ORCID. If the problem persists, contact the administrator.", + "person.page.orcid.link.error.message": "Algo falló al conectar el perfil con ORCID. Si el problema continuase, contacte con el administrador.", + + // "person.page.orcid.orcid-not-linked-message": "The ORCID iD of this profile ({{ orcid }}) has not yet been connected to an account on the ORCID registry or the connection is expired.", + "person.page.orcid.orcid-not-linked-message": "El ORCID iD de este perfil ({{ orcid }}) no se ha conectado aún con una cuenta en el registro ORCID o la conexión caducó.", + + // "person.page.orcid.unlink": "Disconnect from ORCID", + "person.page.orcid.unlink": "Desconectar de ORCID", + + // "person.page.orcid.unlink.processing": "Processing...", + "person.page.orcid.unlink.processing": "Procesando...", + + // "person.page.orcid.missing-authorizations": "Missing authorizations", + "person.page.orcid.missing-authorizations": "Faltan autorizaciones", + + // "person.page.orcid.missing-authorizations-message": "The following authorizations are missing:", + "person.page.orcid.missing-authorizations-message": "Faltan las siguientes autorizaciones:", + + // "person.page.orcid.no-missing-authorizations-message": "Great! This box is empty, so you have granted all access rights to use all functions offers by your institution.", + "person.page.orcid.no-missing-authorizations-message": "¡Perfecto! esta caja está vacía, por lo que usted ha concedido todos los permisos de acceso para todas las funciones que usa su institución.", + + // "person.page.orcid.no-orcid-message": "No ORCID iD associated yet. By clicking on the button below it is possible to link this profile with an ORCID account.", + "person.page.orcid.no-orcid-message": "Aun no está asociado con un ORCID iD. Al pulsar en el botón inferior puede enlazar este perfil con una cuenta ORCID.", + + // "person.page.orcid.profile-preferences": "Profile preferences", + "person.page.orcid.profile-preferences": "Preferencias del perfil", + + // "person.page.orcid.funding-preferences": "Funding preferences", + "person.page.orcid.funding-preferences": "Preferencias de financiación", + + // "person.page.orcid.publications-preferences": "Publication preferences", + "person.page.orcid.publications-preferences": "Preferencias de publicación", + + // "person.page.orcid.remove-orcid-message": "If you need to remove your ORCID, please contact the repository administrator", + "person.page.orcid.remove-orcid-message": "Si necesita retirar su ORCID, contacte por favor con el administrador del repositorio", + + // "person.page.orcid.save.preference.changes": "Update settings", + "person.page.orcid.save.preference.changes": "Actualizar configuración", + + // "person.page.orcid.sync-profile.affiliation" : "Affiliation", + "person.page.orcid.sync-profile.affiliation" : "Afiliación", + + // "person.page.orcid.sync-profile.biographical" : "Biographical data", + "person.page.orcid.sync-profile.biographical" : "Biografía", + + // "person.page.orcid.sync-profile.education" : "Education", + "person.page.orcid.sync-profile.education" : "Grados", + + // "person.page.orcid.sync-profile.identifiers" : "Identifiers", + "person.page.orcid.sync-profile.identifiers" : "Identificadores", + + // "person.page.orcid.sync-fundings.all" : "All fundings", + "person.page.orcid.sync-fundings.all" : "Todas las financiaciones", + + // "person.page.orcid.sync-fundings.mine" : "My fundings", + "person.page.orcid.sync-fundings.mine" : "Mi financiación ", + + // "person.page.orcid.sync-fundings.my_selected" : "Selected fundings", + "person.page.orcid.sync-fundings.my_selected" : "Financiaciones seleccionadas", + + // "person.page.orcid.sync-fundings.disabled" : "Disabled", + "person.page.orcid.sync-fundings.disabled" : "Deshabilitado", + + // "person.page.orcid.sync-publications.all" : "All publications", + "person.page.orcid.sync-publications.all" : "Todas las publicaciones", + + // "person.page.orcid.sync-publications.mine" : "My publications", + "person.page.orcid.sync-publications.mine" : "Mis publicaciones", + + // "person.page.orcid.sync-publications.my_selected" : "Selected publications", + "person.page.orcid.sync-publications.my_selected" : "Publicaciones seleccionadas", + + // "person.page.orcid.sync-publications.disabled" : "Disabled", + "person.page.orcid.sync-publications.disabled" : "Deshabilitado", + + // "person.page.orcid.sync-queue.discard" : "Discard the change and do not synchronize with the ORCID registry", + "person.page.orcid.sync-queue.discard" : "Deshechar el cambio y no sincronizar con ORCID", + + // "person.page.orcid.sync-queue.discard.error": "The discarding of the ORCID queue record failed", + "person.page.orcid.sync-queue.discard.error": "Falló el borrado del registro ORCID en la cola", + + // "person.page.orcid.sync-queue.discard.success": "The ORCID queue record have been discarded successfully", + "person.page.orcid.sync-queue.discard.success": "El registro ORCID ha sido eliminado exitosamente de la cola", + + // "person.page.orcid.sync-queue.empty-message": "The ORCID queue registry is empty", + "person.page.orcid.sync-queue.empty-message": "La cola del registro de ORCID está vacía", + + // "person.page.orcid.sync-queue.table.header.type" : "Type", + "person.page.orcid.sync-queue.table.header.type" : "Tipo", + + // "person.page.orcid.sync-queue.table.header.description" : "Description", + "person.page.orcid.sync-queue.table.header.description" : "Descripción", + + // "person.page.orcid.sync-queue.table.header.action" : "Action", + "person.page.orcid.sync-queue.table.header.action" : "Acción", + + // "person.page.orcid.sync-queue.description.affiliation": "Affiliations", + "person.page.orcid.sync-queue.description.affiliation": "Affiliaciones", + + // "person.page.orcid.sync-queue.description.country": "Country", + "person.page.orcid.sync-queue.description.country": "Pais", + + // "person.page.orcid.sync-queue.description.education": "Educations", + "person.page.orcid.sync-queue.description.education": "Grados", + + // "person.page.orcid.sync-queue.description.external_ids": "External ids", + "person.page.orcid.sync-queue.description.external_ids": "IDs externos", + + // "person.page.orcid.sync-queue.description.other_names": "Other names", + "person.page.orcid.sync-queue.description.other_names": "Otras firmas", + + // "person.page.orcid.sync-queue.description.qualification": "Qualifications", + "person.page.orcid.sync-queue.description.qualification": "Cualificaciones", + + // "person.page.orcid.sync-queue.description.researcher_urls": "Researcher urls", + "person.page.orcid.sync-queue.description.researcher_urls": "URLs del Investigador", + + // "person.page.orcid.sync-queue.description.keywords": "Keywords", + "person.page.orcid.sync-queue.description.keywords": "Palabras clave", + + // "person.page.orcid.sync-queue.tooltip.insert": "Add a new entry in the ORCID registry", + "person.page.orcid.sync-queue.tooltip.insert": "Añadir una nueva entrada al registro ORCID", + + // "person.page.orcid.sync-queue.tooltip.update": "Update this entry on the ORCID registry", + "person.page.orcid.sync-queue.tooltip.update": "Actualizar esta entrada en el registro ORCID", + + // "person.page.orcid.sync-queue.tooltip.delete": "Remove this entry from the ORCID registry", + "person.page.orcid.sync-queue.tooltip.delete": "Retirar esta entrada del registro ORCID", + + // "person.page.orcid.sync-queue.tooltip.publication": "Publication", + "person.page.orcid.sync-queue.tooltip.publication": "Publicación", + + // "person.page.orcid.sync-queue.tooltip.project": "Project", + "person.page.orcid.sync-queue.tooltip.project": "Proyecto", + + // "person.page.orcid.sync-queue.tooltip.affiliation": "Affiliation", + "person.page.orcid.sync-queue.tooltip.affiliation": "Afiliación", + + // "person.page.orcid.sync-queue.tooltip.education": "Education", + "person.page.orcid.sync-queue.tooltip.education": "Grados", + + // "person.page.orcid.sync-queue.tooltip.qualification": "Qualification", + "person.page.orcid.sync-queue.tooltip.qualification": "Cualificación", + + // "person.page.orcid.sync-queue.tooltip.other_names": "Other name", + "person.page.orcid.sync-queue.tooltip.other_names": "Otras firmas", + + // "person.page.orcid.sync-queue.tooltip.country": "Country", + "person.page.orcid.sync-queue.tooltip.country": "País", + + // "person.page.orcid.sync-queue.tooltip.keywords": "Keyword", + "person.page.orcid.sync-queue.tooltip.keywords": "Palabras clave", + + // "person.page.orcid.sync-queue.tooltip.external_ids": "External identifier", + "person.page.orcid.sync-queue.tooltip.external_ids": "Identificador externo", + + // "person.page.orcid.sync-queue.tooltip.researcher_urls": "Researcher url", + "person.page.orcid.sync-queue.tooltip.researcher_urls": "URL del investigador", + + // "person.page.orcid.sync-queue.send" : "Synchronize with ORCID registry", + "person.page.orcid.sync-queue.send" : "Sincronizar con el registro ORCID", + + // "person.page.orcid.sync-queue.send.unauthorized-error.title": "The submission to ORCID failed for missing authorizations.", + "person.page.orcid.sync-queue.send.unauthorized-error.title": "Falló el envío a ORCID debdo a autorización insuficiente.", + + // "person.page.orcid.sync-queue.send.unauthorized-error.content": "Click here to grant again the required permissions. If the problem persists, contact the administrator", + "person.page.orcid.sync-queue.send.unauthorized-error.content": "Pulse aquí para conceder de nuevo los permisos requeridos. Si el problema continuase, contacte con el administrador", + + // "person.page.orcid.sync-queue.send.bad-request-error": "The submission to ORCID failed because the resource sent to ORCID registry is not valid", + "person.page.orcid.sync-queue.send.bad-request-error": "El envío a ORCID falló debido a que el recurso que se envión no era válido", + + // "person.page.orcid.sync-queue.send.error": "The submission to ORCID failed", + "person.page.orcid.sync-queue.send.error": "Falló el envío a ORCID", + + // "person.page.orcid.sync-queue.send.conflict-error": "The submission to ORCID failed because the resource is already present on the ORCID registry", + "person.page.orcid.sync-queue.send.conflict-error": "El envío a ORCID falló debido a que el recurso ya existía en el registro ORCID", + + // "person.page.orcid.sync-queue.send.not-found-warning": "The resource does not exists anymore on the ORCID registry.", + "person.page.orcid.sync-queue.send.not-found-warning": "El recurso no existe ya en el registro ORCID.", + + // "person.page.orcid.sync-queue.send.success": "The submission to ORCID was completed successfully", + "person.page.orcid.sync-queue.send.success": "El envío a ORCID ha sido completado con éxito", + + // "person.page.orcid.sync-queue.send.validation-error": "The data that you want to synchronize with ORCID is not valid", + "person.page.orcid.sync-queue.send.validation-error": "Los datos que quiere sincronizar con ORCID no son válidos", + + // "person.page.orcid.sync-queue.send.validation-error.amount-currency.required": "The amount's currency is required", + "person.page.orcid.sync-queue.send.validation-error.amount-currency.required": "Se requiere la divisa de la cantidad", + + // "person.page.orcid.sync-queue.send.validation-error.external-id.required": "The resource to be sent requires at least one identifier", + "person.page.orcid.sync-queue.send.validation-error.external-id.required": "El recurso que se quiere enviar necesita al menos un identificador", + + // "person.page.orcid.sync-queue.send.validation-error.title.required": "The title is required", + "person.page.orcid.sync-queue.send.validation-error.title.required": "Se requiere un título", + + // "person.page.orcid.sync-queue.send.validation-error.type.required": "The dc.type is required", + "person.page.orcid.sync-queue.send.validation-error.type.required": "Se requiere un dc.type", + + // "person.page.orcid.sync-queue.send.validation-error.start-date.required": "The start date is required", + "person.page.orcid.sync-queue.send.validation-error.start-date.required": "Se requiere una fecha de comienzo", + + // "person.page.orcid.sync-queue.send.validation-error.funder.required": "The funder is required", + "person.page.orcid.sync-queue.send.validation-error.funder.required": "Se requiere un financiador", + + // "person.page.orcid.sync-queue.send.validation-error.country.invalid": "Invalid 2 digits ISO 3166 country", + "person.page.orcid.sync-queue.send.validation-error.country.invalid": "Los 2 dígitos ISO 3166 de pais son inválidos", + + // "person.page.orcid.sync-queue.send.validation-error.organization.required": "The organization is required", + "person.page.orcid.sync-queue.send.validation-error.organization.required": "Se requiere una organización", + + // "person.page.orcid.sync-queue.send.validation-error.organization.name-required": "The organization's name is required", + "person.page.orcid.sync-queue.send.validation-error.organization.name-required": "Se requiere el nombre de la organización", + + // "person.page.orcid.sync-queue.send.validation-error.publication.date-invalid" : "The publication date must be one year after 1900", + "person.page.orcid.sync-queue.send.validation-error.publication.date-invalid" : "la fecha de la publicación debe ser posterior a 1900", + + // "person.page.orcid.sync-queue.send.validation-error.organization.address-required": "The organization to be sent requires an address", + "person.page.orcid.sync-queue.send.validation-error.organization.address-required": "Se requiere la dirección de la organización", + + // "person.page.orcid.sync-queue.send.validation-error.organization.city-required": "The address of the organization to be sent requires a city", + "person.page.orcid.sync-queue.send.validation-error.organization.city-required": "Se requiere que la dirección de la organización tenga una ciudad", + + // "person.page.orcid.sync-queue.send.validation-error.organization.country-required": "The address of the organization to be sent requires a valid 2 digits ISO 3166 country", + "person.page.orcid.sync-queue.send.validation-error.organization.country-required": "Se requiere que la dirección de la organización tenga un código de pais de 2 dígitos ISO 3166 válido", + + // "person.page.orcid.sync-queue.send.validation-error.disambiguated-organization.required": "An identifier to disambiguate organizations is required. Supported ids are GRID, Ringgold, Legal Entity identifiers (LEIs) and Crossref Funder Registry identifiers", + "person.page.orcid.sync-queue.send.validation-error.disambiguated-organization.required": "Se requiere un identificador para desambiguar la organización. Los identificadores admitidos son GRID, Ringgold, Legal Entity identifiers (LEIs) y Crossref Funder Registry", + + // "person.page.orcid.sync-queue.send.validation-error.disambiguated-organization.value-required": "The organization's identifiers requires a value", + "person.page.orcid.sync-queue.send.validation-error.disambiguated-organization.value-required": "Se requiere que los identificadores de la organización tengan un valor", + + // "person.page.orcid.sync-queue.send.validation-error.disambiguation-source.required": "The organization's identifiers requires a source", + "person.page.orcid.sync-queue.send.validation-error.disambiguation-source.required": "Se requiere que los identificadores de la organización tengan una fuente", + + // "person.page.orcid.sync-queue.send.validation-error.disambiguation-source.invalid": "The source of one of the organization identifiers is invalid. Supported sources are RINGGOLD, GRID, LEI and FUNDREF", + "person.page.orcid.sync-queue.send.validation-error.disambiguation-source.invalid": "La fuente de uno de los identificadores de organización es inválida. Las fuentes admitidas son RINGGOLD, GRID, LEI and FUNDREF", + + // "person.page.orcid.synchronization-mode": "Synchronization mode", + "person.page.orcid.synchronization-mode": "Modo sincronización", + + // "person.page.orcid.synchronization-mode.batch": "Batch", + "person.page.orcid.synchronization-mode.batch": "Batch", + + // "person.page.orcid.synchronization-mode.label": "Synchronization mode", + "person.page.orcid.synchronization-mode.label": "Modo sincronización", + + // "person.page.orcid.synchronization-mode-message": "Please select how you would like synchronization to ORCID to occur. The options include \"Manual\" (you must send your data to ORCID manually), or \"Batch\" (the system will send your data to ORCID via a scheduled script).", + "person.page.orcid.synchronization-mode-message": "Seleccione cómo prefiere realizar la sincronización con ORCID. Puede escoger \"Manual\" (usted envía los datos a ORCID manualmente), o \"Batch\" (el sistema enviará sus datos a ORCID via un programa planificado).", + + // "person.page.orcid.synchronization-mode-funding-message": "Select whether to send your linked Project entities to your ORCID record's list of funding information.", + "person.page.orcid.synchronization-mode-funding-message": "Seleccione si enviará información de sus entidades conectadas de tipo Proyecto a la información de financiación de ORCID.", + + // "person.page.orcid.synchronization-mode-publication-message": "Select whether to send your linked Publication entities to your ORCID record's list of works.", + "person.page.orcid.synchronization-mode-publication-message": "Seleccione si enviará información de sus entidades conectadas de tipo Publicación a la información de trabajos de ORCID.", + + // "person.page.orcid.synchronization-mode-profile-message": "Select whether to send your biographical data or personal identifiers to your ORCID record.", + "person.page.orcid.synchronization-mode-profile-message": "Seleccione si enviará información de sus datos biográficos o identificadores personales a ORCID", + + // "person.page.orcid.synchronization-settings-update.success": "The synchronization settings have been updated successfully", + "person.page.orcid.synchronization-settings-update.success": "Los ajustes de sincronización se han actualizado con éxito", + + // "person.page.orcid.synchronization-settings-update.error": "The update of the synchronization settings failed", + "person.page.orcid.synchronization-settings-update.error": "Ha fallado la actualización de los ajustes de sincronización", + + // "person.page.orcid.synchronization-mode.manual": "Manual", + "person.page.orcid.synchronization-mode.manual": "Manual", + + // "person.page.orcid.scope.authenticate": "Get your ORCID iD", + "person.page.orcid.scope.authenticate": "Obtenga su ORCID iD", + + // "person.page.orcid.scope.read-limited": "Read your information with visibility set to Trusted Parties", + "person.page.orcid.scope.read-limited": "Lea su información con la visibilidad ajustada a Terceros Confiables", + + // "person.page.orcid.scope.activities-update": "Add/update your research activities", + "person.page.orcid.scope.activities-update": "Añada/actualice sus actividades de investigación", + + // "person.page.orcid.scope.person-update": "Add/update other information about you", + "person.page.orcid.scope.person-update": "Añada/actualice otras informaciones sobre usted", + + // "person.page.orcid.unlink.success": "The disconnection between the profile and the ORCID registry was successful", + "person.page.orcid.unlink.success": "Se efectuó con éxito la desconexión entre el perfil y el registro de ORCID", + + // "person.page.orcid.unlink.error": "An error occurred while disconnecting between the profile and the ORCID registry. Try again", + "person.page.orcid.unlink.error": "Hubo un error en la desconexión entre el perfil y el registro de ORCID. Inténtelo de nuevo", + + // "person.orcid.sync.setting": "ORCID Synchronization settings", + "person.orcid.sync.setting": "Ajustes de sincronización de ORCID", + + // "person.orcid.registry.queue": "ORCID Registry Queue", + // TODO New key - Add a translation + "person.orcid.registry.queue": "Cola de registro de ORCID ", + + // "person.orcid.registry.auth": "ORCID Authorizations", + "person.orcid.registry.auth": "Autorizaciones ORCID ", + + + +} \ No newline at end of file From e464c0f8c7d44050fa22e32ec349894dffac9ea6 Mon Sep 17 00:00:00 2001 From: Yura Bondarenko Date: Thu, 25 Aug 2022 14:01:23 +0200 Subject: [PATCH 09/23] 92900: Move duplicate code to new InitService method --- src/app/init.service.spec.ts | 24 ++- src/app/init.service.ts | 15 ++ src/modules/app/browser-init.service.spec.ts | 155 ------------------- src/modules/app/browser-init.service.ts | 22 +-- src/modules/app/server-init.service.ts | 7 +- 5 files changed, 44 insertions(+), 179 deletions(-) delete mode 100644 src/modules/app/browser-init.service.spec.ts diff --git a/src/app/init.service.spec.ts b/src/app/init.service.spec.ts index 2c9edfd4e0..592abdfd42 100644 --- a/src/app/init.service.spec.ts +++ b/src/app/init.service.spec.ts @@ -5,7 +5,7 @@ import { inject, TestBed, waitForAsync } from '@angular/core/testing'; import { MetadataService } from './core/metadata/metadata.service'; import { BreadcrumbsService } from './breadcrumbs/breadcrumbs.service'; import { CommonModule } from '@angular/common'; -import { StoreModule } from '@ngrx/store'; +import { Store, StoreModule } from '@ngrx/store'; import { authReducer } from './core/auth/auth.reducer'; import { storeModuleConfig } from './app.reducer'; import { AngularticsProviderMock } from './shared/mocks/angulartics-provider.service.mock'; @@ -31,6 +31,7 @@ import { getMockThemeService } from './shared/mocks/theme-service.mock'; import objectContaining = jasmine.objectContaining; import createSpyObj = jasmine.createSpyObj; import SpyObj = jasmine.SpyObj; +import { getTestScheduler } from 'jasmine-marbles'; let spy: SpyObj; @@ -124,6 +125,15 @@ describe('InitService', () => { let metadataServiceSpy; let breadcrumbsServiceSpy; + const BLOCKING = { + t: { core: { auth: { blocking: true } } }, + f: { core: { auth: { blocking: false } } }, + }; + const BOOLEAN = { + t: true, + f: false, + }; + beforeEach(waitForAsync(() => { correlationIdServiceSpy = jasmine.createSpyObj('correlationIdServiceSpy', [ 'initCorrelationId', @@ -182,6 +192,18 @@ describe('InitService', () => { expect(breadcrumbsServiceSpy.listenForRouteChanges).toHaveBeenCalledTimes(1); })); }); + + describe('authenticationReady', () => { + it('should emit & complete the first time auth is unblocked', () => { + getTestScheduler().run(({ cold, expectObservable }) => { + TestBed.overrideProvider(Store, { useValue: cold('t--t--f--t--f--', BLOCKING) }); + const service = TestBed.inject(InitService); + + // @ts-ignore + expectObservable(service.authenticationReady$()).toBe('------(f|)', BOOLEAN); + }); + }); + }); }); }); diff --git a/src/app/init.service.ts b/src/app/init.service.ts index 30630e1d84..3af8b6ceb6 100644 --- a/src/app/init.service.ts +++ b/src/app/init.service.ts @@ -20,6 +20,9 @@ import { Angulartics2DSpace } from './statistics/angulartics/dspace-provider'; import { MetadataService } from './core/metadata/metadata.service'; import { BreadcrumbsService } from './breadcrumbs/breadcrumbs.service'; import { ThemeService } from './shared/theme-support/theme.service'; +import { isAuthenticationBlocking } from './core/auth/selectors'; +import { distinctUntilChanged, find } from 'rxjs/operators'; +import { Observable } from 'rxjs'; /** * Performs the initialization of the app. @@ -186,4 +189,16 @@ export abstract class InitService { this.breadcrumbsService.listenForRouteChanges(); this.themeService.listenForRouteChanges(); } + + /** + * Emits once authentication is ready (no longer blocking) + * @protected + */ + protected authenticationReady$(): Observable { + return this.store.pipe( + select(isAuthenticationBlocking), + distinctUntilChanged(), + find((b: boolean) => b === false) + ); + } } diff --git a/src/modules/app/browser-init.service.spec.ts b/src/modules/app/browser-init.service.spec.ts deleted file mode 100644 index 05da7d9d36..0000000000 --- a/src/modules/app/browser-init.service.spec.ts +++ /dev/null @@ -1,155 +0,0 @@ -import { InitService } from '../../app/init.service'; -import { APP_CONFIG } from 'src/config/app-config.interface'; -import { inject, TestBed, waitForAsync } from '@angular/core/testing'; -import { GoogleAnalyticsService } from '../../app/statistics/google-analytics.service'; -import { MetadataService } from '../../app/core/metadata/metadata.service'; -import { BreadcrumbsService } from '../../app/breadcrumbs/breadcrumbs.service'; -import { CommonModule } from '@angular/common'; -import { Store, StoreModule } from '@ngrx/store'; -import { authReducer } from '../../app/core/auth/auth.reducer'; -import { storeModuleConfig } from '../../app/app.reducer'; -import { AngularticsProviderMock } from '../../app/shared/mocks/angulartics-provider.service.mock'; -import { Angulartics2DSpace } from '../../app/statistics/angulartics/dspace-provider'; -import { AuthService } from '../../app/core/auth/auth.service'; -import { AuthServiceMock } from '../../app/shared/mocks/auth.service.mock'; -import { ActivatedRoute, Router } from '@angular/router'; -import { RouterMock } from '../../app/shared/mocks/router.mock'; -import { MockActivatedRoute } from '../../app/shared/mocks/active-router.mock'; -import { MenuService } from '../../app/shared/menu/menu.service'; -import { LocaleService } from '../../app/core/locale/locale.service'; -import { environment } from '../../environments/environment'; -import { provideMockStore } from '@ngrx/store/testing'; -import { AppComponent } from '../../app/app.component'; -import { RouteService } from '../../app/core/services/route.service'; -import { getMockLocaleService } from '../../app/app.component.spec'; -import { MenuServiceStub } from '../../app/shared/testing/menu-service.stub'; -import { CorrelationIdService } from '../../app/correlation-id/correlation-id.service'; -import { KlaroService } from '../../app/shared/cookies/klaro.service'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { TranslateLoaderMock } from '../../app/shared/mocks/translate-loader.mock'; -import { getTestScheduler } from 'jasmine-marbles'; -import { ThemeService } from '../../app/shared/theme-support/theme.service'; -import { getMockThemeService } from '../../app/shared/mocks/theme-service.mock'; -import { BrowserInitService } from './browser-init.service'; -import { TransferState } from '@angular/platform-browser'; - -const initialState = { - core: { - auth: { - loading: false, - blocking: true, - } - } -}; - -describe('BrowserInitService', () => { - describe('browser-specific initialization steps', () => { - let correlationIdServiceSpy; - let dspaceTransferStateSpy; - let transferStateSpy; - let metadataServiceSpy; - let breadcrumbsServiceSpy; - let klaroServiceSpy; - let googleAnalyticsSpy; - - beforeEach(waitForAsync(() => { - correlationIdServiceSpy = jasmine.createSpyObj('correlationIdServiceSpy', [ - 'initCorrelationId', - ]); - dspaceTransferStateSpy = jasmine.createSpyObj('dspaceTransferStateSpy', [ - 'transfer', - ]); - transferStateSpy = jasmine.createSpyObj('dspaceTransferStateSpy', [ - 'get', 'hasKey' - ]); - breadcrumbsServiceSpy = jasmine.createSpyObj('breadcrumbsServiceSpy', [ - 'listenForRouteChanges', - ]); - metadataServiceSpy = jasmine.createSpyObj('metadataService', [ - 'listenForRouteChange', - ]); - klaroServiceSpy = jasmine.createSpyObj('klaroServiceSpy', [ - 'initialize', - ]); - googleAnalyticsSpy = jasmine.createSpyObj('googleAnalyticsService', [ - 'addTrackingIdToPage', - ]); - - - TestBed.resetTestingModule(); - TestBed.configureTestingModule({ - imports: [ - CommonModule, - StoreModule.forRoot(authReducer, storeModuleConfig), - TranslateModule.forRoot({ - loader: { - provide: TranslateLoader, - useClass: TranslateLoaderMock - } - }), - ], - providers: [ - { provide: InitService, useClass: BrowserInitService }, - { provide: CorrelationIdService, useValue: correlationIdServiceSpy }, - { provide: APP_CONFIG, useValue: environment }, - { provide: LocaleService, useValue: getMockLocaleService() }, - { provide: Angulartics2DSpace, useValue: new AngularticsProviderMock() }, - { provide: MetadataService, useValue: metadataServiceSpy }, - { provide: BreadcrumbsService, useValue: breadcrumbsServiceSpy }, - { provide: AuthService, useValue: new AuthServiceMock() }, - { provide: Router, useValue: new RouterMock() }, - { provide: ActivatedRoute, useValue: new MockActivatedRoute() }, - { provide: MenuService, useValue: new MenuServiceStub() }, - { provide: KlaroService, useValue: klaroServiceSpy }, - { provide: GoogleAnalyticsService, useValue: googleAnalyticsSpy }, - { provide: ThemeService, useValue: getMockThemeService() }, - provideMockStore({ initialState }), - AppComponent, - RouteService, - { provide: TransferState, useValue: undefined }, - ] - }); - })); - - describe('initGoogleÀnalytics', () => { - it('should call googleAnalyticsService.addTrackingIdToPage()', inject([InitService], (service) => { - // @ts-ignore - service.initGoogleAnalytics(); - expect(googleAnalyticsSpy.addTrackingIdToPage).toHaveBeenCalledTimes(1); - })); - }); - - describe('initKlaro', () => { - const BLOCKING = { - t: { core: { auth: { blocking: true } } }, - f: { core: { auth: { blocking: false } } }, - }; - - it('should not initialize Klaro while auth is blocking', () => { - getTestScheduler().run(({ cold, flush}) => { - TestBed.overrideProvider(Store, { useValue: cold('t--t--t--', BLOCKING) }); - const service = TestBed.inject(InitService); - - // @ts-ignore - service.initKlaro(); - flush(); - expect(klaroServiceSpy.initialize).not.toHaveBeenCalled(); - }); - }); - - - it('should only initialize Klaro the first time auth is unblocked', () => { - getTestScheduler().run(({ cold, flush}) => { - TestBed.overrideProvider(Store, { useValue: cold('t--t--f--t--f--', BLOCKING) }); - const service = TestBed.inject(InitService); - - // @ts-ignore - service.initKlaro(); - flush(); - expect(klaroServiceSpy.initialize).toHaveBeenCalledTimes(1); - }); - }); - }); - }); -}); - diff --git a/src/modules/app/browser-init.service.ts b/src/modules/app/browser-init.service.ts index 2d49870d58..05c591b0c6 100644 --- a/src/modules/app/browser-init.service.ts +++ b/src/modules/app/browser-init.service.ts @@ -6,7 +6,7 @@ * http://www.dspace.org/license/ */ import { InitService } from '../../app/init.service'; -import { select, Store } from '@ngrx/store'; +import { Store } from '@ngrx/store'; import { AppState } from '../../app/app.reducer'; import { TransferState } from '@angular/platform-browser'; import { APP_CONFIG, APP_CONFIG_STATE, AppConfig } from '../../config/app-config.interface'; @@ -21,15 +21,13 @@ import { Angulartics2DSpace } from '../../app/statistics/angulartics/dspace-prov import { GoogleAnalyticsService } from '../../app/statistics/google-analytics.service'; import { MetadataService } from '../../app/core/metadata/metadata.service'; import { BreadcrumbsService } from '../../app/breadcrumbs/breadcrumbs.service'; -import { CSSVariableService } from '../../app/shared/sass-helper/sass-helper.service'; import { KlaroService } from '../../app/shared/cookies/klaro.service'; import { AuthService } from '../../app/core/auth/auth.service'; import { ThemeService } from '../../app/shared/theme-support/theme.service'; import { StoreAction, StoreActionTypes } from '../../app/store.actions'; import { coreSelector } from '../../app/core/core.selectors'; -import { distinctUntilChanged, filter, find, map, take } from 'rxjs/operators'; +import { find, map } from 'rxjs/operators'; import { isNotEmpty } from '../../app/shared/empty.util'; -import { isAuthenticationBlocking } from '../../app/core/auth/selectors'; /** * Performs client-side initialization. @@ -91,12 +89,7 @@ export class BrowserInitService extends InitService { this.initKlaro(); - // wait for auth to be ready - await this.store.pipe( - select(isAuthenticationBlocking), - distinctUntilChanged(), - find((b: boolean) => b === false) - ).toPromise(); + await this.authenticationReady$().toPromise(); return true; }; @@ -124,16 +117,11 @@ export class BrowserInitService extends InitService { } /** - * Initialize Klaro + * Initialize Klaro (once authentication is resolved) * @protected */ protected initKlaro() { - this.store.pipe( - select(isAuthenticationBlocking), - distinctUntilChanged(), - filter((isBlocking: boolean) => isBlocking === false), - take(1) - ).subscribe(() => { + this.authenticationReady$().subscribe(() => { this.klaroService.initialize(); }); } diff --git a/src/modules/app/server-init.service.ts b/src/modules/app/server-init.service.ts index fb3539ecfa..2e35083bf4 100644 --- a/src/modules/app/server-init.service.ts +++ b/src/modules/app/server-init.service.ts @@ -67,12 +67,7 @@ export class ServerInitService extends InitService { this.initRouteListeners(); this.themeService.listenForThemeChanges(false); - // wait for auth to be ready - await this.store.pipe( - select(isAuthenticationBlocking), - distinctUntilChanged(), - find((b: boolean) => b === false) - ).toPromise(); + await this.authenticationReady$().toPromise(); return true; }; From db169251dfadc552f9e3c516316326fd22a383b9 Mon Sep 17 00:00:00 2001 From: Yura Bondarenko Date: Thu, 25 Aug 2022 13:59:40 +0200 Subject: [PATCH 10/23] 92900: Update docs & specs for AuthRequestService --- .../core/auth/auth-request.service.spec.ts | 161 ++++++++++++++---- src/app/core/auth/auth-request.service.ts | 16 ++ 2 files changed, 146 insertions(+), 31 deletions(-) diff --git a/src/app/core/auth/auth-request.service.spec.ts b/src/app/core/auth/auth-request.service.spec.ts index 707daf9e30..2afeb26b02 100644 --- a/src/app/core/auth/auth-request.service.spec.ts +++ b/src/app/core/auth/auth-request.service.spec.ts @@ -7,57 +7,156 @@ import { TestScheduler } from 'rxjs/testing'; import { createSuccessfulRemoteDataObject } from '../../shared/remote-data.utils'; import { ShortLivedToken } from './models/short-lived-token.model'; import { RemoteData } from '../data/remote-data'; +import { HttpOptions } from '../dspace-rest/dspace-rest.service'; +import objectContaining = jasmine.objectContaining; +import { AuthStatus } from './models/auth-status.model'; +import { RestRequestMethod } from '../data/rest-request-method'; describe(`AuthRequestService`, () => { let halService: HALEndpointService; let endpointURL: string; + let requestID: string; let shortLivedToken: ShortLivedToken; let shortLivedTokenRD: RemoteData; let requestService: RequestService; let rdbService: RemoteDataBuildService; - let service: AuthRequestService; + let service; let testScheduler; - class TestAuthRequestService extends AuthRequestService { - constructor( - hes: HALEndpointService, - rs: RequestService, - rdbs: RemoteDataBuildService - ) { - super(hes, rs, rdbs); - } + const status = new AuthStatus(); - protected createShortLivedTokenRequest(href: string): PostRequest { - return new PostRequest(this.requestService.generateRequestId(), href); - } + class TestAuthRequestService extends AuthRequestService { + constructor( + hes: HALEndpointService, + rs: RequestService, + rdbs: RemoteDataBuildService + ) { + super(hes, rs, rdbs); } - const init = (cold: typeof TestScheduler.prototype.createColdObservable) => { - endpointURL = 'https://rest.api/auth'; - shortLivedToken = Object.assign(new ShortLivedToken(), { - value: 'some-token' - }); - shortLivedTokenRD = createSuccessfulRemoteDataObject(shortLivedToken); + protected createShortLivedTokenRequest(href: string): PostRequest { + return new PostRequest(this.requestService.generateRequestId(), href); + } + } - halService = jasmine.createSpyObj('halService', { - 'getEndpoint': cold('a', { a: endpointURL }) - }); - requestService = jasmine.createSpyObj('requestService', { - 'send': null - }); - rdbService = jasmine.createSpyObj('rdbService', { - 'buildFromRequestUUID': cold('a', { a: shortLivedTokenRD }) - }); + const init = (cold: typeof TestScheduler.prototype.createColdObservable) => { + endpointURL = 'https://rest.api/auth'; + requestID = 'requestID'; + shortLivedToken = Object.assign(new ShortLivedToken(), { + value: 'some-token' + }); + shortLivedTokenRD = createSuccessfulRemoteDataObject(shortLivedToken); - service = new TestAuthRequestService(halService, requestService, rdbService); - }; + halService = jasmine.createSpyObj('halService', { + 'getEndpoint': cold('a', { a: endpointURL }) + }); + requestService = jasmine.createSpyObj('requestService', { + 'generateRequestId': requestID, + 'send': null, + }); + rdbService = jasmine.createSpyObj('rdbService', { + 'buildFromRequestUUID': cold('a', { a: shortLivedTokenRD }) + }); + + service = new TestAuthRequestService(halService, requestService, rdbService); + + spyOn(service as any, 'fetchRequest').and.returnValue(cold('a', { a: createSuccessfulRemoteDataObject(status) })); + }; + + beforeEach(() => { + testScheduler = new TestScheduler((actual, expected) => { + expect(actual).toEqual(expected); + }); + }); + + describe('REST request methods', () => { + let options: HttpOptions; beforeEach(() => { - testScheduler = new TestScheduler((actual, expected) => { - expect(actual).toEqual(expected); + options = Object.create({}); + }); + + describe('GET', () => { + it('should send a GET request to the right endpoint and return the auth status', () => { + testScheduler.run(({ cold, expectObservable, flush }) => { + init(cold); + + expectObservable(service.getRequest('method', options)).toBe('a', { + a: objectContaining({ payload: status }), + }); + flush(); + + expect(requestService.send).toHaveBeenCalledWith(objectContaining({ + uuid: requestID, + href: endpointURL + '/method', + method: RestRequestMethod.GET, + body: undefined, + options, + })); + expect((service as any).fetchRequest).toHaveBeenCalledWith(requestID); + }); + }); + + it('should send the request even if caller doesn\'t subscribe to the response', () => { + testScheduler.run(({ cold, flush }) => { + init(cold); + + service.getRequest('method', options); + flush(); + + expect(requestService.send).toHaveBeenCalledWith(objectContaining({ + uuid: requestID, + href: endpointURL + '/method', + method: RestRequestMethod.GET, + body: undefined, + options, + })); + expect((service as any).fetchRequest).toHaveBeenCalledWith(requestID); + }); }); }); + describe('POST', () => { + it('should send a POST request to the right endpoint and return the auth status', () => { + testScheduler.run(({ cold, expectObservable, flush }) => { + init(cold); + + expectObservable(service.postToEndpoint('method', { content: 'something' }, options)).toBe('a', { + a: objectContaining({ payload: status }), + }); + flush(); + + expect(requestService.send).toHaveBeenCalledWith(objectContaining({ + uuid: requestID, + href: endpointURL + '/method', + method: RestRequestMethod.POST, + body: { content: 'something' }, + options, + })); + expect((service as any).fetchRequest).toHaveBeenCalledWith(requestID); + }); + }); + + it('should send the request even if caller doesn\'t subscribe to the response', () => { + testScheduler.run(({ cold, flush }) => { + init(cold); + + service.postToEndpoint('method', { content: 'something' }, options); + flush(); + + expect(requestService.send).toHaveBeenCalledWith(objectContaining({ + uuid: requestID, + href: endpointURL + '/method', + method: RestRequestMethod.POST, + body: { content: 'something' }, + options, + })); + expect((service as any).fetchRequest).toHaveBeenCalledWith(requestID); + }); + }); + }); + }); + describe(`getShortlivedToken`, () => { it(`should call createShortLivedTokenRequest with the url for the endpoint`, () => { testScheduler.run(({ cold, expectObservable, flush }) => { diff --git a/src/app/core/auth/auth-request.service.ts b/src/app/core/auth/auth-request.service.ts index bcaa5972ac..4087989a6b 100644 --- a/src/app/core/auth/auth-request.service.ts +++ b/src/app/core/auth/auth-request.service.ts @@ -26,6 +26,11 @@ export abstract class AuthRequestService { ) { } + /** + * Fetch the response to a request from the cache, once it's completed. + * @param requestId the UUID of the request for which to retrieve the response + * @protected + */ protected fetchRequest(requestId: string): Observable> { return this.rdbService.buildFromRequestUUID(requestId).pipe( getFirstCompletedRemoteData(), @@ -36,6 +41,12 @@ export abstract class AuthRequestService { return isNotEmpty(method) ? `${endpoint}/${method}` : `${endpoint}`; } + /** + * Send a POST request to an authentication endpoint + * @param method the method to send to (e.g. 'status') + * @param body the data to send (optional) + * @param options the HTTP options for the request + */ public postToEndpoint(method: string, body?: any, options?: HttpOptions): Observable> { const requestId = this.requestService.generateRequestId(); @@ -52,6 +63,11 @@ export abstract class AuthRequestService { return this.fetchRequest(requestId); } + /** + * Send a GET request to an authentication endpoint + * @param method the method to send to (e.g. 'status') + * @param options the HTTP options for the request + */ public getRequest(method: string, options?: HttpOptions): Observable> { const requestId = this.requestService.generateRequestId(); From ca341e53b44210b3b189bb91743dc8dfd3e88968 Mon Sep 17 00:00:00 2001 From: Yana De Pauw Date: Thu, 25 Aug 2022 15:33:23 +0200 Subject: [PATCH 11/23] Close modal on process delete success --- src/app/process-page/detail/process-detail.component.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/app/process-page/detail/process-detail.component.ts b/src/app/process-page/detail/process-detail.component.ts index f9151d27b8..9d92dece61 100644 --- a/src/app/process-page/detail/process-detail.component.ts +++ b/src/app/process-page/detail/process-detail.component.ts @@ -196,6 +196,7 @@ export class ProcessDetailComponent implements OnInit { ).subscribe((rd) => { if (rd.hasSucceeded) { this.notificationsService.success(this.translateService.get('process.detail.delete.success')); + this.closeModal(); this.router.navigateByUrl(getProcessListRoute()); } else { this.notificationsService.error(this.translateService.get('process.detail.delete.error')); From a77b1da804d0eb23d80cfdec4bda1242af63ffc3 Mon Sep 17 00:00:00 2001 From: Yura Bondarenko Date: Thu, 25 Aug 2022 15:40:14 +0200 Subject: [PATCH 12/23] 92900: Patch start:dev CLI arguments through to ng serve --- scripts/serve.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/serve.ts b/scripts/serve.ts index bf5506b8bd..09e517c3d4 100644 --- a/scripts/serve.ts +++ b/scripts/serve.ts @@ -7,8 +7,9 @@ const appConfig: AppConfig = buildAppConfig(); /** * Calls `ng serve` with the following arguments configured for the UI in the app config: host, port, nameSpace, ssl + * Any CLI arguments given to this script are patched through to `ng serve` as well. */ child.spawn( - `ng serve --host ${appConfig.ui.host} --port ${appConfig.ui.port} --serve-path ${appConfig.ui.nameSpace} --ssl ${appConfig.ui.ssl}`, + `ng serve --host ${appConfig.ui.host} --port ${appConfig.ui.port} --serve-path ${appConfig.ui.nameSpace} --ssl ${appConfig.ui.ssl} ${process.argv.slice(2).join(' ')}`, { stdio: 'inherit', shell: true } ); From 72852dd031060887a7112d769f51be449157ce24 Mon Sep 17 00:00:00 2001 From: Yana De Pauw Date: Thu, 25 Aug 2022 17:05:34 +0200 Subject: [PATCH 13/23] Fix test --- src/app/process-page/detail/process-detail.component.spec.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/app/process-page/detail/process-detail.component.spec.ts b/src/app/process-page/detail/process-detail.component.spec.ts index 53e65e62eb..e4ab7d1082 100644 --- a/src/app/process-page/detail/process-detail.component.spec.ts +++ b/src/app/process-page/detail/process-detail.component.spec.ts @@ -243,18 +243,23 @@ describe('ProcessDetailComponent', () => { describe('deleteProcess', () => { it('should delete the process and navigate back to the overview page on success', () => { + spyOn(component, 'closeModal'); component.deleteProcess(process); expect(processService.delete).toHaveBeenCalledWith(process.processId); expect(notificationsService.success).toHaveBeenCalled(); + expect(component.closeModal).toHaveBeenCalled(); expect(router.navigateByUrl).toHaveBeenCalledWith(getProcessListRoute()); }); it('should delete the process and not navigate on error', () => { (processService.delete as jasmine.Spy).and.returnValue(createFailedRemoteDataObject$()); + spyOn(component, 'closeModal'); + component.deleteProcess(process); expect(processService.delete).toHaveBeenCalledWith(process.processId); expect(notificationsService.error).toHaveBeenCalled(); + expect(component.closeModal).not.toHaveBeenCalled(); expect(router.navigateByUrl).not.toHaveBeenCalled(); }); }); From c5d3776df73e1a27141d124a044cb6514d8159b3 Mon Sep 17 00:00:00 2001 From: Yura Bondarenko Date: Fri, 5 Aug 2022 12:23:03 +0200 Subject: [PATCH 14/23] 93492: Fix SSR dodging pinned admin sidebar On the server, @slideSidebarPadding always resolved to 'expanded' because slideSidebarOver did not emit true This resulted in the SSR HTML leaving space for the expanded sidebar. Also got rid of the sliding animation as it would always play, even when replacing SSR HTML where the sidebar was already visible. --- .../admin-sidebar.component.html | 2 +- .../admin-sidebar/admin-sidebar.component.ts | 25 +++++-------------- src/app/root/root.component.ts | 5 ++-- src/app/shared/animations/slide.ts | 7 ------ 4 files changed, 10 insertions(+), 29 deletions(-) diff --git a/src/app/admin/admin-sidebar/admin-sidebar.component.html b/src/app/admin/admin-sidebar/admin-sidebar.component.html index 84402c64e9..ef220b834b 100644 --- a/src/app/admin/admin-sidebar/admin-sidebar.component.html +++ b/src/app/admin/admin-sidebar/admin-sidebar.component.html @@ -1,4 +1,4 @@ -