mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-07 10:04:11 +00:00
Merge branch 'main' of https://github.com/CrisGuzmanS/dspace-angular into collection-in-workflow-tasks
This commit is contained in:
@@ -121,6 +121,9 @@ languages:
|
|||||||
- code: en
|
- code: en
|
||||||
label: English
|
label: English
|
||||||
active: true
|
active: true
|
||||||
|
- code: ca
|
||||||
|
label: Català
|
||||||
|
active: true
|
||||||
- code: cs
|
- code: cs
|
||||||
label: Čeština
|
label: Čeština
|
||||||
active: true
|
active: true
|
||||||
|
@@ -65,6 +65,7 @@ export class BrowseByDatePageComponent extends BrowseByMetadataPageComponent {
|
|||||||
const searchOptions = browseParamsToOptions(params, currentPage, currentSort, this.browseId, this.fetchThumbnails);
|
const searchOptions = browseParamsToOptions(params, currentPage, currentSort, this.browseId, this.fetchThumbnails);
|
||||||
this.updatePageWithItems(searchOptions, this.value, undefined);
|
this.updatePageWithItems(searchOptions, this.value, undefined);
|
||||||
this.updateParent(params.scope);
|
this.updateParent(params.scope);
|
||||||
|
this.updateLogo();
|
||||||
this.updateStartsWithOptions(this.browseId, metadataKeys, params.scope);
|
this.updateStartsWithOptions(this.browseId, metadataKeys, params.scope);
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
|
@@ -5,6 +5,11 @@
|
|||||||
<!-- Parent Name -->
|
<!-- Parent Name -->
|
||||||
<ds-comcol-page-header [name]="parentContext.name">
|
<ds-comcol-page-header [name]="parentContext.name">
|
||||||
</ds-comcol-page-header>
|
</ds-comcol-page-header>
|
||||||
|
<!-- Collection logo -->
|
||||||
|
<ds-comcol-page-logo *ngIf="logo$"
|
||||||
|
[logo]="(logo$ | async)?.payload"
|
||||||
|
[alternateText]="'Community or Collection Logo'">
|
||||||
|
</ds-comcol-page-logo>
|
||||||
<!-- Handle -->
|
<!-- Handle -->
|
||||||
<ds-themed-comcol-page-handle
|
<ds-themed-comcol-page-handle
|
||||||
[content]="parentContext.handle"
|
[content]="parentContext.handle"
|
||||||
|
@@ -144,6 +144,9 @@ describe('BrowseByMetadataPageComponent', () => {
|
|||||||
|
|
||||||
route.params = observableOf(paramsWithValue);
|
route.params = observableOf(paramsWithValue);
|
||||||
comp.ngOnInit();
|
comp.ngOnInit();
|
||||||
|
comp.updateParent('fake-scope');
|
||||||
|
comp.updateLogo();
|
||||||
|
fixture.detectChanges();
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should fetch items', () => {
|
it('should fetch items', () => {
|
||||||
@@ -151,6 +154,10 @@ describe('BrowseByMetadataPageComponent', () => {
|
|||||||
expect(result.payload.page).toEqual(mockItems);
|
expect(result.payload.page).toEqual(mockItems);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('should fetch the logo', () => {
|
||||||
|
expect(comp.logo$).toBeTruthy();
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('when calling browseParamsToOptions', () => {
|
describe('when calling browseParamsToOptions', () => {
|
||||||
|
@@ -15,7 +15,11 @@ import { DSpaceObjectDataService } from '../../core/data/dspace-object-data.serv
|
|||||||
import { DSpaceObject } from '../../core/shared/dspace-object.model';
|
import { DSpaceObject } from '../../core/shared/dspace-object.model';
|
||||||
import { StartsWithType } from '../../shared/starts-with/starts-with-decorator';
|
import { StartsWithType } from '../../shared/starts-with/starts-with-decorator';
|
||||||
import { PaginationService } from '../../core/pagination/pagination.service';
|
import { PaginationService } from '../../core/pagination/pagination.service';
|
||||||
import { map } from 'rxjs/operators';
|
import { filter, map, mergeMap } from 'rxjs/operators';
|
||||||
|
import { followLink, FollowLinkConfig } from '../../shared/utils/follow-link-config.model';
|
||||||
|
import { Bitstream } from '../../core/shared/bitstream.model';
|
||||||
|
import { Collection } from '../../core/shared/collection.model';
|
||||||
|
import { Community } from '../../core/shared/community.model';
|
||||||
import { APP_CONFIG, AppConfig } from '../../../config/app-config.interface';
|
import { APP_CONFIG, AppConfig } from '../../../config/app-config.interface';
|
||||||
|
|
||||||
export const BBM_PAGINATION_ID = 'bbm';
|
export const BBM_PAGINATION_ID = 'bbm';
|
||||||
@@ -48,6 +52,11 @@ export class BrowseByMetadataPageComponent implements OnInit, OnDestroy {
|
|||||||
*/
|
*/
|
||||||
parent$: Observable<RemoteData<DSpaceObject>>;
|
parent$: Observable<RemoteData<DSpaceObject>>;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The logo of the current Community or Collection
|
||||||
|
*/
|
||||||
|
logo$: Observable<RemoteData<Bitstream>>;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The pagination config used to display the values
|
* The pagination config used to display the values
|
||||||
*/
|
*/
|
||||||
@@ -151,6 +160,7 @@ export class BrowseByMetadataPageComponent implements OnInit, OnDestroy {
|
|||||||
this.updatePage(browseParamsToOptions(params, currentPage, currentSort, this.browseId, false));
|
this.updatePage(browseParamsToOptions(params, currentPage, currentSort, this.browseId, false));
|
||||||
}
|
}
|
||||||
this.updateParent(params.scope);
|
this.updateParent(params.scope);
|
||||||
|
this.updateLogo();
|
||||||
}));
|
}));
|
||||||
this.updateStartsWithTextOptions();
|
this.updateStartsWithTextOptions();
|
||||||
|
|
||||||
@@ -196,12 +206,31 @@ export class BrowseByMetadataPageComponent implements OnInit, OnDestroy {
|
|||||||
*/
|
*/
|
||||||
updateParent(scope: string) {
|
updateParent(scope: string) {
|
||||||
if (hasValue(scope)) {
|
if (hasValue(scope)) {
|
||||||
this.parent$ = this.dsoService.findById(scope).pipe(
|
const linksToFollow = () => {
|
||||||
|
return [followLink('logo')];
|
||||||
|
};
|
||||||
|
this.parent$ = this.dsoService.findById(scope,
|
||||||
|
true,
|
||||||
|
true,
|
||||||
|
...linksToFollow() as FollowLinkConfig<DSpaceObject>[]).pipe(
|
||||||
getFirstSucceededRemoteData()
|
getFirstSucceededRemoteData()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update the parent Community or Collection logo
|
||||||
|
*/
|
||||||
|
updateLogo() {
|
||||||
|
if (hasValue(this.parent$)) {
|
||||||
|
this.logo$ = this.parent$.pipe(
|
||||||
|
map((rd: RemoteData<Collection | Community>) => rd.payload),
|
||||||
|
filter((collectionOrCommunity: Collection | Community) => hasValue(collectionOrCommunity.logo)),
|
||||||
|
mergeMap((collectionOrCommunity: Collection | Community) => collectionOrCommunity.logo)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Navigate to the previous page
|
* Navigate to the previous page
|
||||||
*/
|
*/
|
||||||
|
@@ -49,6 +49,7 @@ export class BrowseByTitlePageComponent extends BrowseByMetadataPageComponent {
|
|||||||
this.browseId = params.id || this.defaultBrowseId;
|
this.browseId = params.id || this.defaultBrowseId;
|
||||||
this.updatePageWithItems(browseParamsToOptions(params, currentPage, currentSort, this.browseId, this.fetchThumbnails), undefined, undefined);
|
this.updatePageWithItems(browseParamsToOptions(params, currentPage, currentSort, this.browseId, this.fetchThumbnails), undefined, undefined);
|
||||||
this.updateParent(params.scope);
|
this.updateParent(params.scope);
|
||||||
|
this.updateLogo();
|
||||||
}));
|
}));
|
||||||
this.updateStartsWithTextOptions();
|
this.updateStartsWithTextOptions();
|
||||||
}
|
}
|
||||||
|
@@ -8,7 +8,12 @@ import { Observable, of as observableOf, of } from 'rxjs';
|
|||||||
import { RemoteData } from '../data/remote-data';
|
import { RemoteData } from '../data/remote-data';
|
||||||
import { Item } from '../shared/item.model';
|
import { Item } from '../shared/item.model';
|
||||||
|
|
||||||
import { ItemMock, MockBitstream1, MockBitstream3 } from '../../shared/mocks/item.mock';
|
import {
|
||||||
|
ItemMock,
|
||||||
|
MockBitstream1,
|
||||||
|
MockBitstream3,
|
||||||
|
MockBitstream2
|
||||||
|
} from '../../shared/mocks/item.mock';
|
||||||
import { createSuccessfulRemoteDataObject, createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils';
|
import { createSuccessfulRemoteDataObject, createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils';
|
||||||
import { PaginatedList } from '../data/paginated-list.model';
|
import { PaginatedList } from '../data/paginated-list.model';
|
||||||
import { Bitstream } from '../shared/bitstream.model';
|
import { Bitstream } from '../shared/bitstream.model';
|
||||||
@@ -24,6 +29,7 @@ import { HardRedirectService } from '../services/hard-redirect.service';
|
|||||||
import { getMockStore } from '@ngrx/store/testing';
|
import { getMockStore } from '@ngrx/store/testing';
|
||||||
import { AddMetaTagAction, ClearMetaTagAction } from './meta-tag.actions';
|
import { AddMetaTagAction, ClearMetaTagAction } from './meta-tag.actions';
|
||||||
import { AuthorizationDataService } from '../data/feature-authorization/authorization-data.service';
|
import { AuthorizationDataService } from '../data/feature-authorization/authorization-data.service';
|
||||||
|
import { AppConfig } from '../../../config/app-config.interface';
|
||||||
|
|
||||||
describe('MetadataService', () => {
|
describe('MetadataService', () => {
|
||||||
let metadataService: MetadataService;
|
let metadataService: MetadataService;
|
||||||
@@ -44,6 +50,8 @@ describe('MetadataService', () => {
|
|||||||
let router: Router;
|
let router: Router;
|
||||||
let store;
|
let store;
|
||||||
|
|
||||||
|
let appConfig: AppConfig;
|
||||||
|
|
||||||
const initialState = { 'core': { metaTag: { tagsInUse: ['title', 'description'] }}};
|
const initialState = { 'core': { metaTag: { tagsInUse: ['title', 'description'] }}};
|
||||||
|
|
||||||
|
|
||||||
@@ -86,6 +94,14 @@ describe('MetadataService', () => {
|
|||||||
store = getMockStore({ initialState });
|
store = getMockStore({ initialState });
|
||||||
spyOn(store, 'dispatch');
|
spyOn(store, 'dispatch');
|
||||||
|
|
||||||
|
appConfig = {
|
||||||
|
item: {
|
||||||
|
bitstream: {
|
||||||
|
pageSize: 5
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} as any;
|
||||||
|
|
||||||
metadataService = new MetadataService(
|
metadataService = new MetadataService(
|
||||||
router,
|
router,
|
||||||
translateService,
|
translateService,
|
||||||
@@ -98,6 +114,7 @@ describe('MetadataService', () => {
|
|||||||
rootService,
|
rootService,
|
||||||
store,
|
store,
|
||||||
hardRedirectService,
|
hardRedirectService,
|
||||||
|
appConfig,
|
||||||
authorizationService
|
authorizationService
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
@@ -358,13 +375,18 @@ describe('MetadataService', () => {
|
|||||||
});
|
});
|
||||||
}));
|
}));
|
||||||
|
|
||||||
it('should link to first Bitstream with allowed format', fakeAsync(() => {
|
describe(`when there's a bitstream with an allowed format on the first page`, () => {
|
||||||
const bitstreams = [MockBitstream3, MockBitstream3, MockBitstream1];
|
let bitstreams;
|
||||||
|
|
||||||
|
beforeEach(() => {
|
||||||
|
bitstreams = [MockBitstream2, MockBitstream3, MockBitstream1];
|
||||||
(bundleDataService.findByItemAndName as jasmine.Spy).and.returnValue(mockBundleRD$(bitstreams));
|
(bundleDataService.findByItemAndName as jasmine.Spy).and.returnValue(mockBundleRD$(bitstreams));
|
||||||
(bitstreamDataService.findListByHref as jasmine.Spy).and.returnValues(
|
(bitstreamDataService.findListByHref as jasmine.Spy).and.returnValues(
|
||||||
...mockBitstreamPages$(bitstreams).map(bp => createSuccessfulRemoteDataObject$(bp)),
|
...mockBitstreamPages$(bitstreams).map(bp => createSuccessfulRemoteDataObject$(bp)),
|
||||||
);
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should link to first Bitstream with allowed format', fakeAsync(() => {
|
||||||
(metadataService as any).processRouteChange({
|
(metadataService as any).processRouteChange({
|
||||||
data: {
|
data: {
|
||||||
value: {
|
value: {
|
||||||
@@ -375,12 +397,44 @@ describe('MetadataService', () => {
|
|||||||
tick();
|
tick();
|
||||||
expect(meta.addTag).toHaveBeenCalledWith({
|
expect(meta.addTag).toHaveBeenCalledWith({
|
||||||
name: 'citation_pdf_url',
|
name: 'citation_pdf_url',
|
||||||
content: 'https://request.org/bitstreams/cf9b0c8e-a1eb-4b65-afd0-567366448713/download'
|
content: 'https://request.org/bitstreams/99b00f3c-1cc6-4689-8158-91965bee6b28/download'
|
||||||
});
|
});
|
||||||
}));
|
}));
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
describe(`when there's no bitstream with an allowed format on the first page`, () => {
|
||||||
|
let bitstreams;
|
||||||
|
|
||||||
|
beforeEach(() => {
|
||||||
|
bitstreams = [MockBitstream1, MockBitstream3, MockBitstream2];
|
||||||
|
(bundleDataService.findByItemAndName as jasmine.Spy).and.returnValue(mockBundleRD$(bitstreams));
|
||||||
|
(bitstreamDataService.findListByHref as jasmine.Spy).and.returnValues(
|
||||||
|
...mockBitstreamPages$(bitstreams).map(bp => createSuccessfulRemoteDataObject$(bp)),
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
it(`shouldn't add a citation_pdf_url meta tag`, fakeAsync(() => {
|
||||||
|
(metadataService as any).processRouteChange({
|
||||||
|
data: {
|
||||||
|
value: {
|
||||||
|
dso: createSuccessfulRemoteDataObject(ItemMock),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
tick();
|
||||||
|
expect(meta.addTag).not.toHaveBeenCalledWith({
|
||||||
|
name: 'citation_pdf_url',
|
||||||
|
content: 'https://request.org/bitstreams/99b00f3c-1cc6-4689-8158-91965bee6b28/download'
|
||||||
|
});
|
||||||
|
}));
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
describe('tagstore', () => {
|
describe('tagstore', () => {
|
||||||
beforeEach(fakeAsync(() => {
|
beforeEach(fakeAsync(() => {
|
||||||
(metadataService as any).processRouteChange({
|
(metadataService as any).processRouteChange({
|
||||||
|
@@ -1,14 +1,21 @@
|
|||||||
import { Injectable } from '@angular/core';
|
import { Injectable, Inject } from '@angular/core';
|
||||||
|
|
||||||
import { Meta, MetaDefinition, Title } from '@angular/platform-browser';
|
import { Meta, MetaDefinition, Title } from '@angular/platform-browser';
|
||||||
import { ActivatedRoute, NavigationEnd, Router } from '@angular/router';
|
import { ActivatedRoute, NavigationEnd, Router } from '@angular/router';
|
||||||
|
|
||||||
import { TranslateService } from '@ngx-translate/core';
|
import { TranslateService } from '@ngx-translate/core';
|
||||||
|
|
||||||
import { BehaviorSubject, combineLatest, EMPTY, Observable, of as observableOf } from 'rxjs';
|
import {
|
||||||
import { expand, filter, map, switchMap, take } from 'rxjs/operators';
|
BehaviorSubject,
|
||||||
|
combineLatest,
|
||||||
|
Observable,
|
||||||
|
of as observableOf,
|
||||||
|
concat as observableConcat,
|
||||||
|
EMPTY
|
||||||
|
} from 'rxjs';
|
||||||
|
import { filter, map, switchMap, take, mergeMap } from 'rxjs/operators';
|
||||||
|
|
||||||
import { hasNoValue, hasValue } from '../../shared/empty.util';
|
import { hasNoValue, hasValue, isNotEmpty } from '../../shared/empty.util';
|
||||||
import { DSONameService } from '../breadcrumbs/dso-name.service';
|
import { DSONameService } from '../breadcrumbs/dso-name.service';
|
||||||
import { BitstreamDataService } from '../data/bitstream-data.service';
|
import { BitstreamDataService } from '../data/bitstream-data.service';
|
||||||
import { BitstreamFormatDataService } from '../data/bitstream-format-data.service';
|
import { BitstreamFormatDataService } from '../data/bitstream-format-data.service';
|
||||||
@@ -37,6 +44,7 @@ import { coreSelector } from '../core.selectors';
|
|||||||
import { CoreState } from '../core-state.model';
|
import { CoreState } from '../core-state.model';
|
||||||
import { AuthorizationDataService } from '../data/feature-authorization/authorization-data.service';
|
import { AuthorizationDataService } from '../data/feature-authorization/authorization-data.service';
|
||||||
import { getDownloadableBitstream } from '../shared/bitstream.operators';
|
import { getDownloadableBitstream } from '../shared/bitstream.operators';
|
||||||
|
import { APP_CONFIG, AppConfig } from '../../../config/app-config.interface';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The base selector function to select the metaTag section in the store
|
* The base selector function to select the metaTag section in the store
|
||||||
@@ -87,6 +95,7 @@ export class MetadataService {
|
|||||||
private rootService: RootDataService,
|
private rootService: RootDataService,
|
||||||
private store: Store<CoreState>,
|
private store: Store<CoreState>,
|
||||||
private hardRedirectService: HardRedirectService,
|
private hardRedirectService: HardRedirectService,
|
||||||
|
@Inject(APP_CONFIG) private appConfig: AppConfig,
|
||||||
private authorizationService: AuthorizationDataService
|
private authorizationService: AuthorizationDataService
|
||||||
) {
|
) {
|
||||||
}
|
}
|
||||||
@@ -298,7 +307,13 @@ export class MetadataService {
|
|||||||
true,
|
true,
|
||||||
true,
|
true,
|
||||||
followLink('primaryBitstream'),
|
followLink('primaryBitstream'),
|
||||||
followLink('bitstreams', {}, followLink('format')),
|
followLink('bitstreams', {
|
||||||
|
findListOptions: {
|
||||||
|
// limit the number of bitstreams used to find the citation pdf url to the number
|
||||||
|
// shown by default on an item page
|
||||||
|
elementsPerPage: this.appConfig.item.bitstream.pageSize
|
||||||
|
}
|
||||||
|
}, followLink('format')),
|
||||||
).pipe(
|
).pipe(
|
||||||
getFirstSucceededRemoteDataPayload(),
|
getFirstSucceededRemoteDataPayload(),
|
||||||
switchMap((bundle: Bundle) =>
|
switchMap((bundle: Bundle) =>
|
||||||
@@ -363,53 +378,30 @@ export class MetadataService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* For Items with more than one Bitstream (and no primary Bitstream), link to the first Bitstream with a MIME type
|
* For Items with more than one Bitstream (and no primary Bitstream), link to the first Bitstream
|
||||||
|
* with a MIME type.
|
||||||
|
*
|
||||||
|
* Note this will only check the current page (page size determined item.bitstream.pageSize in the
|
||||||
|
* config) of bitstreams for performance reasons.
|
||||||
|
* See https://github.com/DSpace/DSpace/issues/8648 for more info
|
||||||
|
*
|
||||||
* included in {@linkcode CITATION_PDF_URL_MIMETYPES}
|
* included in {@linkcode CITATION_PDF_URL_MIMETYPES}
|
||||||
* @param bitstreamRd
|
* @param bitstreamRd
|
||||||
* @private
|
* @private
|
||||||
*/
|
*/
|
||||||
private getFirstAllowedFormatBitstreamLink(bitstreamRd: RemoteData<PaginatedList<Bitstream>>): Observable<string> {
|
private getFirstAllowedFormatBitstreamLink(bitstreamRd: RemoteData<PaginatedList<Bitstream>>): Observable<string> {
|
||||||
return observableOf(bitstreamRd.payload).pipe(
|
if (hasValue(bitstreamRd.payload) && isNotEmpty(bitstreamRd.payload.page)) {
|
||||||
// Because there can be more than one page of bitstreams, this expand operator
|
// Retrieve the formats of all bitstreams in the page sequentially
|
||||||
// will retrieve them in turn. Due to the take(1) at the bottom, it will only
|
return observableConcat(
|
||||||
// retrieve pages until a match is found
|
...bitstreamRd.payload.page.map((bitstream: Bitstream) => bitstream.format.pipe(
|
||||||
expand((paginatedList: PaginatedList<Bitstream>) => {
|
|
||||||
if (hasNoValue(paginatedList.next)) {
|
|
||||||
// If there's no next page, stop.
|
|
||||||
return EMPTY;
|
|
||||||
} else {
|
|
||||||
// Otherwise retrieve the next page
|
|
||||||
return this.bitstreamDataService.findListByHref(
|
|
||||||
paginatedList.next,
|
|
||||||
undefined,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
followLink('format')
|
|
||||||
).pipe(
|
|
||||||
getFirstCompletedRemoteData(),
|
|
||||||
map((next: RemoteData<PaginatedList<Bitstream>>) => {
|
|
||||||
if (hasValue(next.payload)) {
|
|
||||||
return next.payload;
|
|
||||||
} else {
|
|
||||||
return EMPTY;
|
|
||||||
}
|
|
||||||
})
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}),
|
|
||||||
// Return the array of bitstreams inside each paginated list
|
|
||||||
map((paginatedList: PaginatedList<Bitstream>) => paginatedList.page),
|
|
||||||
// Emit the bitstreams in the list one at a time
|
|
||||||
switchMap((bitstreams: Bitstream[]) => bitstreams),
|
|
||||||
// Retrieve the format for each bitstream
|
|
||||||
switchMap((bitstream: Bitstream) => bitstream.format.pipe(
|
|
||||||
getFirstSucceededRemoteDataPayload(),
|
getFirstSucceededRemoteDataPayload(),
|
||||||
// Keep the original bitstream, because it, not the format, is what we'll need
|
// Keep the original bitstream, because it, not the format, is what we'll need
|
||||||
// for the link at the end
|
// for the link at the end
|
||||||
map((format: BitstreamFormat) => [bitstream, format])
|
map((format: BitstreamFormat) => [bitstream, format])
|
||||||
)),
|
))
|
||||||
// Check if bitstream downloadable
|
).pipe(
|
||||||
switchMap(([bitstream, format]: [Bitstream, BitstreamFormat]) => observableOf(bitstream).pipe(
|
// Verify that the bitstream is downloadable
|
||||||
|
mergeMap(([bitstream, format]: [Bitstream, BitstreamFormat]) => observableOf(bitstream).pipe(
|
||||||
getDownloadableBitstream(this.authorizationService),
|
getDownloadableBitstream(this.authorizationService),
|
||||||
map((bit: Bitstream) => [bit, format])
|
map((bit: Bitstream) => [bit, format])
|
||||||
)),
|
)),
|
||||||
@@ -419,8 +411,12 @@ export class MetadataService {
|
|||||||
// We only need 1
|
// We only need 1
|
||||||
take(1),
|
take(1),
|
||||||
// Emit the link of the match
|
// Emit the link of the match
|
||||||
|
// tap((v) => console.log('result', v)),
|
||||||
map(([bitstream, ]: [Bitstream, BitstreamFormat]) => getBitstreamDownloadRoute(bitstream))
|
map(([bitstream, ]: [Bitstream, BitstreamFormat]) => getBitstreamDownloadRoute(bitstream))
|
||||||
);
|
);
|
||||||
|
} else {
|
||||||
|
return EMPTY;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -5,12 +5,12 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="col-9 float-left action-button">
|
<div class="col-9 float-left action-button">
|
||||||
<span *ngIf="operation.authorized">
|
<span *ngIf="operation.authorized">
|
||||||
<button class="btn btn-outline-primary" [disabled]="operation.disabled" [routerLink]="operation.operationUrl">
|
<button class="btn btn-outline-primary" [disabled]="operation.disabled" [routerLink]="operation.operationUrl" [attr.aria-label]="'item.edit.tabs.status.buttons.' + operation.operationKey + '.button' | translate">
|
||||||
{{'item.edit.tabs.status.buttons.' + operation.operationKey + '.button' | translate}}
|
{{'item.edit.tabs.status.buttons.' + operation.operationKey + '.button' | translate}}
|
||||||
</button>
|
</button>
|
||||||
</span>
|
</span>
|
||||||
<span *ngIf="!operation.authorized" [ngbTooltip]="'item.edit.tabs.status.buttons.unauthorized' | translate">
|
<span *ngIf="!operation.authorized" [ngbTooltip]="'item.edit.tabs.status.buttons.unauthorized' | translate">
|
||||||
<button class="btn btn-outline-primary" [disabled]="true">
|
<button class="btn btn-outline-primary" [disabled]="true" [attr.aria-label]="'item.edit.tabs.status.buttons.' + operation.operationKey + '.button' | translate">
|
||||||
{{'item.edit.tabs.status.buttons.' + operation.operationKey + '.button' | translate}}
|
{{'item.edit.tabs.status.buttons.' + operation.operationKey + '.button' | translate}}
|
||||||
</button>
|
</button>
|
||||||
</span>
|
</span>
|
||||||
|
@@ -3246,9 +3246,9 @@
|
|||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"item.edit.tabs.status.buttons.mappedCollections.label": "Manage mapped collections",
|
"item.edit.tabs.status.buttons.mappedCollections.label": "Manage mapped collections",
|
||||||
|
|
||||||
// "item.edit.tabs.status.buttons.move.button": "Move...",
|
// "item.edit.tabs.status.buttons.move.button": "Move this Item to a different Collection",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"item.edit.tabs.status.buttons.move.button": "Move...",
|
"item.edit.tabs.status.buttons.move.button": "Mover éste ítem a una colección distinta",
|
||||||
|
|
||||||
// "item.edit.tabs.status.buttons.move.label": "Move item to another collection",
|
// "item.edit.tabs.status.buttons.move.label": "Move item to another collection",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
@@ -3278,9 +3278,9 @@
|
|||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"item.edit.tabs.status.buttons.reinstate.label": "Reinstate item into the repository",
|
"item.edit.tabs.status.buttons.reinstate.label": "Reinstate item into the repository",
|
||||||
|
|
||||||
// "item.edit.tabs.status.buttons.withdraw.button": "Withdraw...",
|
// "item.edit.tabs.status.buttons.withdraw.button": "Withdraw this item",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"item.edit.tabs.status.buttons.withdraw.button": "Withdraw...",
|
"item.edit.tabs.status.buttons.withdraw.button": "Retirar éste ítem",
|
||||||
|
|
||||||
// "item.edit.tabs.status.buttons.withdraw.label": "Withdraw item from the repository",
|
// "item.edit.tabs.status.buttons.withdraw.label": "Withdraw item from the repository",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
|
@@ -2908,7 +2908,7 @@
|
|||||||
// "item.edit.tabs.status.buttons.mappedCollections.label": "Manage mapped collections",
|
// "item.edit.tabs.status.buttons.mappedCollections.label": "Manage mapped collections",
|
||||||
"item.edit.tabs.status.buttons.mappedCollections.label": "ম্যাপড সংগ্রহ পরিচালনা করুন",
|
"item.edit.tabs.status.buttons.mappedCollections.label": "ম্যাপড সংগ্রহ পরিচালনা করুন",
|
||||||
|
|
||||||
// "item.edit.tabs.status.buttons.move.button": "Move...",
|
// "item.edit.tabs.status.buttons.move.button": "Move this Item to a different Collection",
|
||||||
"item.edit.tabs.status.buttons.move.button": "সরানো ...",
|
"item.edit.tabs.status.buttons.move.button": "সরানো ...",
|
||||||
|
|
||||||
// "item.edit.tabs.status.buttons.move.label": "Move item to another collection",
|
// "item.edit.tabs.status.buttons.move.label": "Move item to another collection",
|
||||||
@@ -2935,8 +2935,8 @@
|
|||||||
// "item.edit.tabs.status.buttons.unauthorized": "You're not authorized to perform this action",
|
// "item.edit.tabs.status.buttons.unauthorized": "You're not authorized to perform this action",
|
||||||
"item.edit.tabs.status.buttons.unauthorized": "আপনি এই অ্যাকশন সঞ্চালন করার জন্য অনুমোদিত না",
|
"item.edit.tabs.status.buttons.unauthorized": "আপনি এই অ্যাকশন সঞ্চালন করার জন্য অনুমোদিত না",
|
||||||
|
|
||||||
// "item.edit.tabs.status.buttons.withdraw.button": "Withdraw...",
|
// "item.edit.tabs.status.buttons.withdraw.button": "Withdraw this item",
|
||||||
"item.edit.tabs.status.buttons.withdraw.button": "প্রত্যাহার ...",
|
"item.edit.tabs.status.buttons.withdraw.button": "এই আইটেম প্রত্যাহার করুন",
|
||||||
|
|
||||||
// "item.edit.tabs.status.buttons.withdraw.label": "Withdraw item from the repository",
|
// "item.edit.tabs.status.buttons.withdraw.label": "Withdraw item from the repository",
|
||||||
"item.edit.tabs.status.buttons.withdraw.label": "সংগ্রহস্থল থেকে আইটেম প্রত্যাহার",
|
"item.edit.tabs.status.buttons.withdraw.label": "সংগ্রহস্থল থেকে আইটেম প্রত্যাহার",
|
||||||
|
7155
src/assets/i18n/ca.json5
Normal file
7155
src/assets/i18n/ca.json5
Normal file
File diff suppressed because it is too large
Load Diff
@@ -3186,9 +3186,9 @@
|
|||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"item.edit.tabs.status.buttons.mappedCollections.label": "Manage mapped collections",
|
"item.edit.tabs.status.buttons.mappedCollections.label": "Manage mapped collections",
|
||||||
|
|
||||||
// "item.edit.tabs.status.buttons.move.button": "Move...",
|
// "item.edit.tabs.status.buttons.move.button": "Move this Item to a different Collection",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"item.edit.tabs.status.buttons.move.button": "Move...",
|
"item.edit.tabs.status.buttons.move.button": "Move this Item to a different Collection",
|
||||||
|
|
||||||
// "item.edit.tabs.status.buttons.move.label": "Move item to another collection",
|
// "item.edit.tabs.status.buttons.move.label": "Move item to another collection",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
@@ -3218,9 +3218,9 @@
|
|||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"item.edit.tabs.status.buttons.reinstate.label": "Reinstate item into the repository",
|
"item.edit.tabs.status.buttons.reinstate.label": "Reinstate item into the repository",
|
||||||
|
|
||||||
// "item.edit.tabs.status.buttons.withdraw.button": "Withdraw...",
|
// "item.edit.tabs.status.buttons.withdraw.button": "Withdraw this item",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"item.edit.tabs.status.buttons.withdraw.button": "Withdraw...",
|
"item.edit.tabs.status.buttons.withdraw.button": "Withdraw this item",
|
||||||
|
|
||||||
// "item.edit.tabs.status.buttons.withdraw.label": "Withdraw item from the repository",
|
// "item.edit.tabs.status.buttons.withdraw.label": "Withdraw item from the repository",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
|
@@ -2698,8 +2698,8 @@
|
|||||||
// "item.edit.tabs.status.buttons.mappedCollections.label": "Manage mapped collections",
|
// "item.edit.tabs.status.buttons.mappedCollections.label": "Manage mapped collections",
|
||||||
"item.edit.tabs.status.buttons.mappedCollections.label": "Gespiegelte Sammlungen bearbeiten",
|
"item.edit.tabs.status.buttons.mappedCollections.label": "Gespiegelte Sammlungen bearbeiten",
|
||||||
|
|
||||||
// "item.edit.tabs.status.buttons.move.button": "Move...",
|
// "item.edit.tabs.status.buttons.move.button": "Move this Item to a different Collection",
|
||||||
"item.edit.tabs.status.buttons.move.button": "Verschieben...",
|
"item.edit.tabs.status.buttons.move.button": "Verschieben Sie diesen Artikel in eine andere Sammlung",
|
||||||
|
|
||||||
// "item.edit.tabs.status.buttons.move.label": "Move item to another collection",
|
// "item.edit.tabs.status.buttons.move.label": "Move item to another collection",
|
||||||
"item.edit.tabs.status.buttons.move.label": "Item in eine andere Sammlung verschieben",
|
"item.edit.tabs.status.buttons.move.label": "Item in eine andere Sammlung verschieben",
|
||||||
@@ -2722,8 +2722,8 @@
|
|||||||
// "item.edit.tabs.status.buttons.reinstate.label": "Reinstate item into the repository",
|
// "item.edit.tabs.status.buttons.reinstate.label": "Reinstate item into the repository",
|
||||||
"item.edit.tabs.status.buttons.reinstate.label": "Item im Repositorium wiederherstellen",
|
"item.edit.tabs.status.buttons.reinstate.label": "Item im Repositorium wiederherstellen",
|
||||||
|
|
||||||
// "item.edit.tabs.status.buttons.withdraw.button": "Withdraw...",
|
// "item.edit.tabs.status.buttons.withdraw.button": "Withdraw this item",
|
||||||
"item.edit.tabs.status.buttons.withdraw.button": "Zurückziehen...",
|
"item.edit.tabs.status.buttons.withdraw.button": "Ziehen Sie diesen Artikel zurück",
|
||||||
|
|
||||||
// "item.edit.tabs.status.buttons.withdraw.label": "Withdraw item from the repository",
|
// "item.edit.tabs.status.buttons.withdraw.label": "Withdraw item from the repository",
|
||||||
"item.edit.tabs.status.buttons.withdraw.label": "Item aus dem Repositorium zurückziehen",
|
"item.edit.tabs.status.buttons.withdraw.label": "Item aus dem Repositorium zurückziehen",
|
||||||
|
@@ -2140,7 +2140,7 @@
|
|||||||
|
|
||||||
"item.edit.tabs.status.buttons.mappedCollections.label": "Manage mapped collections",
|
"item.edit.tabs.status.buttons.mappedCollections.label": "Manage mapped collections",
|
||||||
|
|
||||||
"item.edit.tabs.status.buttons.move.button": "Move...",
|
"item.edit.tabs.status.buttons.move.button": "Move this Item to a different Collection",
|
||||||
|
|
||||||
"item.edit.tabs.status.buttons.move.label": "Move item to another collection",
|
"item.edit.tabs.status.buttons.move.label": "Move item to another collection",
|
||||||
|
|
||||||
@@ -2158,7 +2158,7 @@
|
|||||||
|
|
||||||
"item.edit.tabs.status.buttons.unauthorized": "You're not authorized to perform this action",
|
"item.edit.tabs.status.buttons.unauthorized": "You're not authorized to perform this action",
|
||||||
|
|
||||||
"item.edit.tabs.status.buttons.withdraw.button": "Withdraw...",
|
"item.edit.tabs.status.buttons.withdraw.button": "Withdraw this item",
|
||||||
|
|
||||||
"item.edit.tabs.status.buttons.withdraw.label": "Withdraw item from the repository",
|
"item.edit.tabs.status.buttons.withdraw.label": "Withdraw item from the repository",
|
||||||
|
|
||||||
|
File diff suppressed because it is too large
Load Diff
@@ -2470,8 +2470,8 @@
|
|||||||
// "item.edit.tabs.status.buttons.mappedCollections.label": "Manage mapped collections",
|
// "item.edit.tabs.status.buttons.mappedCollections.label": "Manage mapped collections",
|
||||||
"item.edit.tabs.status.buttons.mappedCollections.label": "Hallinnoi liitettyjä kokoelmia",
|
"item.edit.tabs.status.buttons.mappedCollections.label": "Hallinnoi liitettyjä kokoelmia",
|
||||||
|
|
||||||
// "item.edit.tabs.status.buttons.move.button": "Move...",
|
// "item.edit.tabs.status.buttons.move.button": "Move this Item to a different Collection",
|
||||||
"item.edit.tabs.status.buttons.move.button": "Siirrä...",
|
"item.edit.tabs.status.buttons.move.button": "Siirrä tämä kohde toiseen kokoelmaan",
|
||||||
|
|
||||||
// "item.edit.tabs.status.buttons.move.label": "Move item to another collection",
|
// "item.edit.tabs.status.buttons.move.label": "Move item to another collection",
|
||||||
"item.edit.tabs.status.buttons.move.label": "Siirrä tietue toiseen kokoelmaan",
|
"item.edit.tabs.status.buttons.move.label": "Siirrä tietue toiseen kokoelmaan",
|
||||||
@@ -2494,8 +2494,8 @@
|
|||||||
// "item.edit.tabs.status.buttons.reinstate.label": "Reinstate item into the repository",
|
// "item.edit.tabs.status.buttons.reinstate.label": "Reinstate item into the repository",
|
||||||
"item.edit.tabs.status.buttons.reinstate.label": "Palauta tietue arkistoon",
|
"item.edit.tabs.status.buttons.reinstate.label": "Palauta tietue arkistoon",
|
||||||
|
|
||||||
// "item.edit.tabs.status.buttons.withdraw.button": "Withdraw...",
|
// "item.edit.tabs.status.buttons.withdraw.button": "Withdraw this item",
|
||||||
"item.edit.tabs.status.buttons.withdraw.button": "Poista käytöstä...",
|
"item.edit.tabs.status.buttons.withdraw.button": "poista tämä kohde",
|
||||||
|
|
||||||
// "item.edit.tabs.status.buttons.withdraw.label": "Withdraw item from the repository",
|
// "item.edit.tabs.status.buttons.withdraw.label": "Withdraw item from the repository",
|
||||||
"item.edit.tabs.status.buttons.withdraw.label": "Poista tietue käytöstä",
|
"item.edit.tabs.status.buttons.withdraw.label": "Poista tietue käytöstä",
|
||||||
|
@@ -2811,8 +2811,8 @@
|
|||||||
// "item.edit.tabs.status.buttons.mappedCollections.label": "Manage mapped collections",
|
// "item.edit.tabs.status.buttons.mappedCollections.label": "Manage mapped collections",
|
||||||
"item.edit.tabs.status.buttons.mappedCollections.label": "Gérer les collections associées",
|
"item.edit.tabs.status.buttons.mappedCollections.label": "Gérer les collections associées",
|
||||||
|
|
||||||
// "item.edit.tabs.status.buttons.move.button": "Move...",
|
// "item.edit.tabs.status.buttons.move.button": "Move this Item to a different Collection",
|
||||||
"item.edit.tabs.status.buttons.move.button": "Déplacer...",
|
"item.edit.tabs.status.buttons.move.button": "Déplacer cet élément vers une autre collection",
|
||||||
|
|
||||||
// "item.edit.tabs.status.buttons.move.label": "Move item to another collection",
|
// "item.edit.tabs.status.buttons.move.label": "Move item to another collection",
|
||||||
"item.edit.tabs.status.buttons.move.label": "Déplacer l'Item dans une autre collection",
|
"item.edit.tabs.status.buttons.move.label": "Déplacer l'Item dans une autre collection",
|
||||||
@@ -2838,8 +2838,8 @@
|
|||||||
// "item.edit.tabs.status.buttons.unauthorized": "You're not authorized to perform this action",
|
// "item.edit.tabs.status.buttons.unauthorized": "You're not authorized to perform this action",
|
||||||
"item.edit.tabs.status.buttons.unauthorized": "Vous n'êtes pas autorisé à effectuer cette action",
|
"item.edit.tabs.status.buttons.unauthorized": "Vous n'êtes pas autorisé à effectuer cette action",
|
||||||
|
|
||||||
// "item.edit.tabs.status.buttons.withdraw.button": "Withdraw...",
|
// "item.edit.tabs.status.buttons.withdraw.button": "Withdraw this item",
|
||||||
"item.edit.tabs.status.buttons.withdraw.button": "Retirer...",
|
"item.edit.tabs.status.buttons.withdraw.button": "Retirer cet article",
|
||||||
|
|
||||||
// "item.edit.tabs.status.buttons.withdraw.label": "Withdraw item from the repository",
|
// "item.edit.tabs.status.buttons.withdraw.label": "Withdraw item from the repository",
|
||||||
"item.edit.tabs.status.buttons.withdraw.label": "Retirer l'Item du dépôt",
|
"item.edit.tabs.status.buttons.withdraw.label": "Retirer l'Item du dépôt",
|
||||||
|
@@ -2892,8 +2892,8 @@
|
|||||||
// "item.edit.tabs.status.buttons.mappedCollections.label": "Manage mapped collections",
|
// "item.edit.tabs.status.buttons.mappedCollections.label": "Manage mapped collections",
|
||||||
"item.edit.tabs.status.buttons.mappedCollections.label": "Manaids cruinneachaidhean mapaichte",
|
"item.edit.tabs.status.buttons.mappedCollections.label": "Manaids cruinneachaidhean mapaichte",
|
||||||
|
|
||||||
// "item.edit.tabs.status.buttons.move.button": "Move...",
|
// "item.edit.tabs.status.buttons.move.button": "Move this Item to a different Collection",
|
||||||
"item.edit.tabs.status.buttons.move.button": "Gluais...",
|
"item.edit.tabs.status.buttons.move.button": "Helyezze át ezt az elemet egy másik gyűjteménybe",
|
||||||
|
|
||||||
// "item.edit.tabs.status.buttons.move.label": "Move item to another collection",
|
// "item.edit.tabs.status.buttons.move.label": "Move item to another collection",
|
||||||
"item.edit.tabs.status.buttons.move.label": "Gluais nì gu cruinneachadh eile",
|
"item.edit.tabs.status.buttons.move.label": "Gluais nì gu cruinneachadh eile",
|
||||||
@@ -2919,8 +2919,8 @@
|
|||||||
// "item.edit.tabs.status.buttons.unauthorized": "You're not authorized to perform this action",
|
// "item.edit.tabs.status.buttons.unauthorized": "You're not authorized to perform this action",
|
||||||
"item.edit.tabs.status.buttons.unauthorized": "Chan eil cead agad an gnìomh seo a dhèanamh",
|
"item.edit.tabs.status.buttons.unauthorized": "Chan eil cead agad an gnìomh seo a dhèanamh",
|
||||||
|
|
||||||
// "item.edit.tabs.status.buttons.withdraw.button": "Withdraw...",
|
// "item.edit.tabs.status.buttons.withdraw.button": "Withdraw this item",
|
||||||
"item.edit.tabs.status.buttons.withdraw.button": "Thoir air falbh...",
|
"item.edit.tabs.status.buttons.withdraw.button": "Thoir air falbh",
|
||||||
|
|
||||||
// "item.edit.tabs.status.buttons.withdraw.label": "Withdraw item from the repository",
|
// "item.edit.tabs.status.buttons.withdraw.label": "Withdraw item from the repository",
|
||||||
"item.edit.tabs.status.buttons.withdraw.label": "Thoir nì air falbh bhon ionad-tasgaidh",
|
"item.edit.tabs.status.buttons.withdraw.label": "Thoir nì air falbh bhon ionad-tasgaidh",
|
||||||
|
@@ -2481,7 +2481,7 @@
|
|||||||
// "item.edit.tabs.status.buttons.mappedCollections.label": "Manage mapped collections",
|
// "item.edit.tabs.status.buttons.mappedCollections.label": "Manage mapped collections",
|
||||||
"item.edit.tabs.status.buttons.mappedCollections.label": "Térképezett gyűjtemények szervezése",
|
"item.edit.tabs.status.buttons.mappedCollections.label": "Térképezett gyűjtemények szervezése",
|
||||||
|
|
||||||
// "item.edit.tabs.status.buttons.move.button": "Move...",
|
// "item.edit.tabs.status.buttons.move.button": "Move this Item to a different Collection",
|
||||||
"item.edit.tabs.status.buttons.move.button": "Elmozdítás...",
|
"item.edit.tabs.status.buttons.move.button": "Elmozdítás...",
|
||||||
|
|
||||||
// "item.edit.tabs.status.buttons.move.label": "Move item to another collection",
|
// "item.edit.tabs.status.buttons.move.label": "Move item to another collection",
|
||||||
@@ -2505,8 +2505,8 @@
|
|||||||
// "item.edit.tabs.status.buttons.reinstate.label": "Reinstate item into the repository",
|
// "item.edit.tabs.status.buttons.reinstate.label": "Reinstate item into the repository",
|
||||||
"item.edit.tabs.status.buttons.reinstate.label": "Tárgy visszaállítása az adattárba",
|
"item.edit.tabs.status.buttons.reinstate.label": "Tárgy visszaállítása az adattárba",
|
||||||
|
|
||||||
// "item.edit.tabs.status.buttons.withdraw.button": "Withdraw...",
|
// "item.edit.tabs.status.buttons.withdraw.button": "Withdraw this item",
|
||||||
"item.edit.tabs.status.buttons.withdraw.button": "Visszavonás...",
|
"item.edit.tabs.status.buttons.withdraw.button": "Vedd vissza ezt az elemet",
|
||||||
|
|
||||||
// "item.edit.tabs.status.buttons.withdraw.label": "Withdraw item from the repository",
|
// "item.edit.tabs.status.buttons.withdraw.label": "Withdraw item from the repository",
|
||||||
"item.edit.tabs.status.buttons.withdraw.label": "Tárgy visszavonása az adattárból",
|
"item.edit.tabs.status.buttons.withdraw.label": "Tárgy visszavonása az adattárból",
|
||||||
|
@@ -3246,9 +3246,9 @@
|
|||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"item.edit.tabs.status.buttons.mappedCollections.label": "Manage mapped collections",
|
"item.edit.tabs.status.buttons.mappedCollections.label": "Manage mapped collections",
|
||||||
|
|
||||||
// "item.edit.tabs.status.buttons.move.button": "Move...",
|
// "item.edit.tabs.status.buttons.move.button": "Move this Item to a different Collection",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"item.edit.tabs.status.buttons.move.button": "Move...",
|
"item.edit.tabs.status.buttons.move.button": "Verplaats dit item naar een andere collectie",
|
||||||
|
|
||||||
// "item.edit.tabs.status.buttons.move.label": "Move item to another collection",
|
// "item.edit.tabs.status.buttons.move.label": "Move item to another collection",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
@@ -3278,9 +3278,9 @@
|
|||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"item.edit.tabs.status.buttons.reinstate.label": "Reinstate item into the repository",
|
"item.edit.tabs.status.buttons.reinstate.label": "Reinstate item into the repository",
|
||||||
|
|
||||||
// "item.edit.tabs.status.buttons.withdraw.button": "Withdraw...",
|
// "item.edit.tabs.status.buttons.withdraw.button": "Withdraw this item",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"item.edit.tabs.status.buttons.withdraw.button": "Withdraw...",
|
"item.edit.tabs.status.buttons.withdraw.button": "Withdraw this item",
|
||||||
|
|
||||||
// "item.edit.tabs.status.buttons.withdraw.label": "Withdraw item from the repository",
|
// "item.edit.tabs.status.buttons.withdraw.label": "Withdraw item from the repository",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
|
@@ -3094,7 +3094,7 @@
|
|||||||
// "item.edit.tabs.status.buttons.mappedCollections.label": "Manage mapped collections",
|
// "item.edit.tabs.status.buttons.mappedCollections.label": "Manage mapped collections",
|
||||||
"item.edit.tabs.status.buttons.mappedCollections.label": "Салыстырмалы коллекцияларды басқару",
|
"item.edit.tabs.status.buttons.mappedCollections.label": "Салыстырмалы коллекцияларды басқару",
|
||||||
|
|
||||||
// "item.edit.tabs.status.buttons.move.button": "Move...",
|
// "item.edit.tabs.status.buttons.move.button": "Move this Item to a different Collection",
|
||||||
"item.edit.tabs.status.buttons.move.button": "Ысыру...",
|
"item.edit.tabs.status.buttons.move.button": "Ысыру...",
|
||||||
|
|
||||||
// "item.edit.tabs.status.buttons.move.label": "Move item to another collection",
|
// "item.edit.tabs.status.buttons.move.label": "Move item to another collection",
|
||||||
@@ -3121,11 +3121,11 @@
|
|||||||
// "item.edit.tabs.status.buttons.unauthorized": "You're not authorized to perform this action",
|
// "item.edit.tabs.status.buttons.unauthorized": "You're not authorized to perform this action",
|
||||||
"item.edit.tabs.status.buttons.unauthorized": "Сіз бұл әрекетті орындауға құқығыңыз жоқ",
|
"item.edit.tabs.status.buttons.unauthorized": "Сіз бұл әрекетті орындауға құқығыңыз жоқ",
|
||||||
|
|
||||||
// "item.edit.tabs.status.buttons.withdraw.button": "Withdraw...",
|
// "item.edit.tabs.status.buttons.withdraw.button": "Withdraw this item",
|
||||||
"item.edit.tabs.status.buttons.withdraw.button": "Шегінуге...",
|
"item.edit.tabs.status.buttons.withdraw.button": "бұл тармақты алып тастаңыз",
|
||||||
|
|
||||||
// "item.edit.tabs.status.buttons.withdraw.label": "Withdraw item from the repository",
|
// "item.edit.tabs.status.buttons.withdraw.label": "Withdraw item from the repository",
|
||||||
"item.edit.tabs.status.buttons.withdraw.label": "Қоймадан тауарды алып қою",
|
"item.edit.tabs.status.buttons.withdraw.label": "Бұл элементті алып тастаңыз",
|
||||||
|
|
||||||
// "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": "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": "Тауарларды басқару бетіне қош келдіңіз. Осы жерден элементті алып тастауға, қалпына келтіруге, жылжытуға немесе жоюға болады. Басқа қойындыларда жаңа метадеректерді / бит ағындарын жаңартуға немесе қосуға болады.",
|
"item.edit.tabs.status.description": "Тауарларды басқару бетіне қош келдіңіз. Осы жерден элементті алып тастауға, қалпына келтіруге, жылжытуға немесе жоюға болады. Басқа қойындыларда жаңа метадеректерді / бит ағындарын жаңартуға немесе қосуға болады.",
|
||||||
|
@@ -2672,7 +2672,7 @@
|
|||||||
// "item.edit.tabs.status.buttons.mappedCollections.label": "Manage mapped collections",
|
// "item.edit.tabs.status.buttons.mappedCollections.label": "Manage mapped collections",
|
||||||
"item.edit.tabs.status.buttons.mappedCollections.label": "Pārvaldīt piesaistītās kolekcijas",
|
"item.edit.tabs.status.buttons.mappedCollections.label": "Pārvaldīt piesaistītās kolekcijas",
|
||||||
|
|
||||||
// "item.edit.tabs.status.buttons.move.button": "Move...",
|
// "item.edit.tabs.status.buttons.move.button": "Move this Item to a different Collection",
|
||||||
"item.edit.tabs.status.buttons.move.button": "Pārvieto...",
|
"item.edit.tabs.status.buttons.move.button": "Pārvieto...",
|
||||||
|
|
||||||
// "item.edit.tabs.status.buttons.move.label": "Move item to another collection",
|
// "item.edit.tabs.status.buttons.move.label": "Move item to another collection",
|
||||||
@@ -2696,8 +2696,8 @@
|
|||||||
// "item.edit.tabs.status.buttons.reinstate.label": "Reinstate item into the repository",
|
// "item.edit.tabs.status.buttons.reinstate.label": "Reinstate item into the repository",
|
||||||
"item.edit.tabs.status.buttons.reinstate.label": "Atjaunot materiālu repozitorijā",
|
"item.edit.tabs.status.buttons.reinstate.label": "Atjaunot materiālu repozitorijā",
|
||||||
|
|
||||||
// "item.edit.tabs.status.buttons.withdraw.button": "Withdraw...",
|
// "item.edit.tabs.status.buttons.withdraw.button": "Withdraw this item",
|
||||||
"item.edit.tabs.status.buttons.withdraw.button": "Atsaukt...",
|
"item.edit.tabs.status.buttons.withdraw.button": "Izņemiet šo vienumu",
|
||||||
|
|
||||||
// "item.edit.tabs.status.buttons.withdraw.label": "Withdraw item from the repository",
|
// "item.edit.tabs.status.buttons.withdraw.label": "Withdraw item from the repository",
|
||||||
"item.edit.tabs.status.buttons.withdraw.label": "Izņemiet materiālu no repozitorijas",
|
"item.edit.tabs.status.buttons.withdraw.label": "Izņemiet materiālu no repozitorijas",
|
||||||
|
@@ -2915,7 +2915,7 @@
|
|||||||
// "item.edit.tabs.status.buttons.mappedCollections.label": "Manage mapped collections",
|
// "item.edit.tabs.status.buttons.mappedCollections.label": "Manage mapped collections",
|
||||||
"item.edit.tabs.status.buttons.mappedCollections.label": "Beheer gemapte collecties",
|
"item.edit.tabs.status.buttons.mappedCollections.label": "Beheer gemapte collecties",
|
||||||
|
|
||||||
// "item.edit.tabs.status.buttons.move.button": "Move...",
|
// "item.edit.tabs.status.buttons.move.button": "Move this Item to a different Collection",
|
||||||
"item.edit.tabs.status.buttons.move.button": "Verplaats ..",
|
"item.edit.tabs.status.buttons.move.button": "Verplaats ..",
|
||||||
|
|
||||||
// "item.edit.tabs.status.buttons.move.label": "Move item to another collection",
|
// "item.edit.tabs.status.buttons.move.label": "Move item to another collection",
|
||||||
@@ -2939,8 +2939,8 @@
|
|||||||
// "item.edit.tabs.status.buttons.reinstate.label": "Reinstate item into the repository",
|
// "item.edit.tabs.status.buttons.reinstate.label": "Reinstate item into the repository",
|
||||||
"item.edit.tabs.status.buttons.reinstate.label": "Zet het item terug in het repository",
|
"item.edit.tabs.status.buttons.reinstate.label": "Zet het item terug in het repository",
|
||||||
|
|
||||||
// "item.edit.tabs.status.buttons.withdraw.button": "Withdraw...",
|
// "item.edit.tabs.status.buttons.withdraw.button": "Withdraw this item",
|
||||||
"item.edit.tabs.status.buttons.withdraw.button": "Trek terug ...",
|
"item.edit.tabs.status.buttons.withdraw.button": "onttrek hierdie item",
|
||||||
|
|
||||||
// "item.edit.tabs.status.buttons.withdraw.label": "Withdraw item from the repository",
|
// "item.edit.tabs.status.buttons.withdraw.label": "Withdraw item from the repository",
|
||||||
"item.edit.tabs.status.buttons.withdraw.label": "Trek het item terug uit het repository",
|
"item.edit.tabs.status.buttons.withdraw.label": "Trek het item terug uit het repository",
|
||||||
|
@@ -2994,8 +2994,8 @@
|
|||||||
// "item.edit.tabs.status.buttons.mappedCollections.label": "Manage mapped collections",
|
// "item.edit.tabs.status.buttons.mappedCollections.label": "Manage mapped collections",
|
||||||
"item.edit.tabs.status.buttons.mappedCollections.label": "Gerenciar coleções mapeadas",
|
"item.edit.tabs.status.buttons.mappedCollections.label": "Gerenciar coleções mapeadas",
|
||||||
|
|
||||||
// "item.edit.tabs.status.buttons.move.button": "Move...",
|
// "item.edit.tabs.status.buttons.move.button": "Move this Item to a different Collection",
|
||||||
"item.edit.tabs.status.buttons.move.button": "Mover...",
|
"item.edit.tabs.status.buttons.move.button": "Mova este item para uma coleção diferente",
|
||||||
|
|
||||||
// "item.edit.tabs.status.buttons.move.label": "Move item to another collection",
|
// "item.edit.tabs.status.buttons.move.label": "Move item to another collection",
|
||||||
"item.edit.tabs.status.buttons.move.label": "Mover item para outra coleção",
|
"item.edit.tabs.status.buttons.move.label": "Mover item para outra coleção",
|
||||||
@@ -3021,8 +3021,8 @@
|
|||||||
// "item.edit.tabs.status.buttons.unauthorized": "You're not authorized to perform this action",
|
// "item.edit.tabs.status.buttons.unauthorized": "You're not authorized to perform this action",
|
||||||
"item.edit.tabs.status.buttons.unauthorized": "Você não está autorizado a realizar esta ação",
|
"item.edit.tabs.status.buttons.unauthorized": "Você não está autorizado a realizar esta ação",
|
||||||
|
|
||||||
// "item.edit.tabs.status.buttons.withdraw.button": "Withdraw...",
|
// "item.edit.tabs.status.buttons.withdraw.button": "Withdraw this item",
|
||||||
"item.edit.tabs.status.buttons.withdraw.button": "Retirar...",
|
"item.edit.tabs.status.buttons.withdraw.button": "retirar este item",
|
||||||
|
|
||||||
// "item.edit.tabs.status.buttons.withdraw.label": "Withdraw item from the repository",
|
// "item.edit.tabs.status.buttons.withdraw.label": "Withdraw item from the repository",
|
||||||
"item.edit.tabs.status.buttons.withdraw.label": "Retirar item do repositório",
|
"item.edit.tabs.status.buttons.withdraw.label": "Retirar item do repositório",
|
||||||
|
@@ -2676,8 +2676,8 @@
|
|||||||
// "item.edit.tabs.status.buttons.mappedCollections.label": "Manage mapped collections",
|
// "item.edit.tabs.status.buttons.mappedCollections.label": "Manage mapped collections",
|
||||||
"item.edit.tabs.status.buttons.mappedCollections.label": "Gerenciar coleções mapeadas",
|
"item.edit.tabs.status.buttons.mappedCollections.label": "Gerenciar coleções mapeadas",
|
||||||
|
|
||||||
// "item.edit.tabs.status.buttons.move.button": "Move...",
|
// "item.edit.tabs.status.buttons.move.button": "Move this Item to a different Collection",
|
||||||
"item.edit.tabs.status.buttons.move.button": "Mover...",
|
"item.edit.tabs.status.buttons.move.button": "Mova este item para uma coleção diferente",
|
||||||
|
|
||||||
// "item.edit.tabs.status.buttons.move.label": "Move item to another collection",
|
// "item.edit.tabs.status.buttons.move.label": "Move item to another collection",
|
||||||
"item.edit.tabs.status.buttons.move.label": "Mover item para outra coleção",
|
"item.edit.tabs.status.buttons.move.label": "Mover item para outra coleção",
|
||||||
@@ -2700,8 +2700,8 @@
|
|||||||
// "item.edit.tabs.status.buttons.reinstate.label": "Reinstate item into the repository",
|
// "item.edit.tabs.status.buttons.reinstate.label": "Reinstate item into the repository",
|
||||||
"item.edit.tabs.status.buttons.reinstate.label": "Restabelecer item no repositório",
|
"item.edit.tabs.status.buttons.reinstate.label": "Restabelecer item no repositório",
|
||||||
|
|
||||||
// "item.edit.tabs.status.buttons.withdraw.button": "Withdraw...",
|
// "item.edit.tabs.status.buttons.withdraw.button": "Withdraw this item",
|
||||||
"item.edit.tabs.status.buttons.withdraw.button": "Retirar...",
|
"item.edit.tabs.status.buttons.withdraw.button": "retirar este item",
|
||||||
|
|
||||||
// "item.edit.tabs.status.buttons.withdraw.label": "Withdraw item from the repository",
|
// "item.edit.tabs.status.buttons.withdraw.label": "Withdraw item from the repository",
|
||||||
"item.edit.tabs.status.buttons.withdraw.label": "Retirar item do repositório",
|
"item.edit.tabs.status.buttons.withdraw.label": "Retirar item do repositório",
|
||||||
|
@@ -2936,8 +2936,8 @@
|
|||||||
// "item.edit.tabs.status.buttons.mappedCollections.label": "Manage mapped collections",
|
// "item.edit.tabs.status.buttons.mappedCollections.label": "Manage mapped collections",
|
||||||
"item.edit.tabs.status.buttons.mappedCollections.label": "Hantera mappade samlingar",
|
"item.edit.tabs.status.buttons.mappedCollections.label": "Hantera mappade samlingar",
|
||||||
|
|
||||||
// "item.edit.tabs.status.buttons.move.button": "Move...",
|
// "item.edit.tabs.status.buttons.move.button": "Move this Item to a different Collection",
|
||||||
"item.edit.tabs.status.buttons.move.button": "Flytta...",
|
"item.edit.tabs.status.buttons.move.button": "Flytta detta föremål till en annan samling",
|
||||||
|
|
||||||
// "item.edit.tabs.status.buttons.move.label": "Move item to another collection",
|
// "item.edit.tabs.status.buttons.move.label": "Move item to another collection",
|
||||||
"item.edit.tabs.status.buttons.move.label": "Flytta post till en annan samling",
|
"item.edit.tabs.status.buttons.move.label": "Flytta post till en annan samling",
|
||||||
@@ -2963,8 +2963,8 @@
|
|||||||
// "item.edit.tabs.status.buttons.unauthorized": "You're not authorized to perform this action",
|
// "item.edit.tabs.status.buttons.unauthorized": "You're not authorized to perform this action",
|
||||||
"item.edit.tabs.status.buttons.unauthorized": "Du saknar behörighet att utföra detta",
|
"item.edit.tabs.status.buttons.unauthorized": "Du saknar behörighet att utföra detta",
|
||||||
|
|
||||||
// "item.edit.tabs.status.buttons.withdraw.button": "Withdraw...",
|
// "item.edit.tabs.status.buttons.withdraw.button": "Withdraw this item",
|
||||||
"item.edit.tabs.status.buttons.withdraw.button": "Återkalla...",
|
"item.edit.tabs.status.buttons.withdraw.button": "dra tillbaka den här artikeln",
|
||||||
|
|
||||||
// "item.edit.tabs.status.buttons.withdraw.label": "Withdraw item from the repository",
|
// "item.edit.tabs.status.buttons.withdraw.label": "Withdraw item from the repository",
|
||||||
"item.edit.tabs.status.buttons.withdraw.label": "Återkalla post från arkivet",
|
"item.edit.tabs.status.buttons.withdraw.label": "Återkalla post från arkivet",
|
||||||
|
@@ -3246,9 +3246,9 @@
|
|||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"item.edit.tabs.status.buttons.mappedCollections.label": "Manage mapped collections",
|
"item.edit.tabs.status.buttons.mappedCollections.label": "Manage mapped collections",
|
||||||
|
|
||||||
// "item.edit.tabs.status.buttons.move.button": "Move...",
|
// "item.edit.tabs.status.buttons.move.button": "Move this Item to a different Collection",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"item.edit.tabs.status.buttons.move.button": "Move...",
|
"item.edit.tabs.status.buttons.move.button": "Bu Öğeyi farklı bir Koleksiyona taşıyın",
|
||||||
|
|
||||||
// "item.edit.tabs.status.buttons.move.label": "Move item to another collection",
|
// "item.edit.tabs.status.buttons.move.label": "Move item to another collection",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
@@ -3278,9 +3278,9 @@
|
|||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"item.edit.tabs.status.buttons.reinstate.label": "Reinstate item into the repository",
|
"item.edit.tabs.status.buttons.reinstate.label": "Reinstate item into the repository",
|
||||||
|
|
||||||
// "item.edit.tabs.status.buttons.withdraw.button": "Withdraw...",
|
// "item.edit.tabs.status.buttons.withdraw.button": "Withdraw this item",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"item.edit.tabs.status.buttons.withdraw.button": "Withdraw...",
|
"item.edit.tabs.status.buttons.withdraw.button": "Withdraw this item",
|
||||||
|
|
||||||
// "item.edit.tabs.status.buttons.withdraw.label": "Withdraw item from the repository",
|
// "item.edit.tabs.status.buttons.withdraw.label": "Withdraw item from the repository",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
|
@@ -2472,7 +2472,7 @@
|
|||||||
// "item.edit.tabs.status.buttons.mappedCollections.label": "Manage mapped collections",
|
// "item.edit.tabs.status.buttons.mappedCollections.label": "Manage mapped collections",
|
||||||
"item.edit.tabs.status.buttons.mappedCollections.label": "Eşlenen koleksiyonları yönetin",
|
"item.edit.tabs.status.buttons.mappedCollections.label": "Eşlenen koleksiyonları yönetin",
|
||||||
|
|
||||||
// "item.edit.tabs.status.buttons.move.button": "Move...",
|
// "item.edit.tabs.status.buttons.move.button": "Move this Item to a different Collection",
|
||||||
"item.edit.tabs.status.buttons.move.button": "Taşınıyor...",
|
"item.edit.tabs.status.buttons.move.button": "Taşınıyor...",
|
||||||
|
|
||||||
// "item.edit.tabs.status.buttons.move.label": "Move item to another collection",
|
// "item.edit.tabs.status.buttons.move.label": "Move item to another collection",
|
||||||
@@ -2496,8 +2496,8 @@
|
|||||||
// "item.edit.tabs.status.buttons.reinstate.label": "Reinstate item into the repository",
|
// "item.edit.tabs.status.buttons.reinstate.label": "Reinstate item into the repository",
|
||||||
"item.edit.tabs.status.buttons.reinstate.label": "Öğeyi depoya geri yükle",
|
"item.edit.tabs.status.buttons.reinstate.label": "Öğeyi depoya geri yükle",
|
||||||
|
|
||||||
// "item.edit.tabs.status.buttons.withdraw.button": "Withdraw...",
|
// "item.edit.tabs.status.buttons.withdraw.button": "Withdraw this item",
|
||||||
"item.edit.tabs.status.buttons.withdraw.button": "Çıkar...",
|
"item.edit.tabs.status.buttons.withdraw.button": "bu öğeyi geri çek",
|
||||||
|
|
||||||
// "item.edit.tabs.status.buttons.withdraw.label": "Withdraw item from the repository",
|
// "item.edit.tabs.status.buttons.withdraw.label": "Withdraw item from the repository",
|
||||||
"item.edit.tabs.status.buttons.withdraw.label": "Depodan öğeyi çıkar",
|
"item.edit.tabs.status.buttons.withdraw.label": "Depodan öğeyi çıkar",
|
||||||
|
@@ -2590,8 +2590,8 @@
|
|||||||
// "item.edit.tabs.status.buttons.mappedCollections.label": "Manage mapped collections",
|
// "item.edit.tabs.status.buttons.mappedCollections.label": "Manage mapped collections",
|
||||||
"item.edit.tabs.status.buttons.mappedCollections.label": "Керувати прив'язаними зібраннями",
|
"item.edit.tabs.status.buttons.mappedCollections.label": "Керувати прив'язаними зібраннями",
|
||||||
|
|
||||||
// "item.edit.tabs.status.buttons.move.button": "Move...",
|
// "item.edit.tabs.status.buttons.move.button": "Move this Item to a different Collection",
|
||||||
"item.edit.tabs.status.buttons.move.button": "Перемістити...",
|
"item.edit.tabs.status.buttons.move.button": "Перемістити цей елемент до іншої колекції",
|
||||||
|
|
||||||
// "item.edit.tabs.status.buttons.move.label": "Move item to another collection",
|
// "item.edit.tabs.status.buttons.move.label": "Move item to another collection",
|
||||||
"item.edit.tabs.status.buttons.move.label": "Перемістити документ до іншого зібрання",
|
"item.edit.tabs.status.buttons.move.label": "Перемістити документ до іншого зібрання",
|
||||||
@@ -2614,8 +2614,8 @@
|
|||||||
// "item.edit.tabs.status.buttons.reinstate.label": "Reinstate item into the repository",
|
// "item.edit.tabs.status.buttons.reinstate.label": "Reinstate item into the repository",
|
||||||
"item.edit.tabs.status.buttons.reinstate.label": "Відновити документ в репозиторій",
|
"item.edit.tabs.status.buttons.reinstate.label": "Відновити документ в репозиторій",
|
||||||
|
|
||||||
// "item.edit.tabs.status.buttons.withdraw.button": "Withdraw...",
|
// "item.edit.tabs.status.buttons.withdraw.button": "Withdraw this item",
|
||||||
"item.edit.tabs.status.buttons.withdraw.button": "Вилучити...",
|
"item.edit.tabs.status.buttons.withdraw.button": "вилучити цей предмет",
|
||||||
|
|
||||||
// "item.edit.tabs.status.buttons.withdraw.label": "Withdraw item from the repository",
|
// "item.edit.tabs.status.buttons.withdraw.label": "Withdraw item from the repository",
|
||||||
"item.edit.tabs.status.buttons.withdraw.label": "Вилучити документ з репозиторію",
|
"item.edit.tabs.status.buttons.withdraw.label": "Вилучити документ з репозиторію",
|
||||||
|
@@ -190,6 +190,7 @@ export class DefaultAppConfig implements AppConfig {
|
|||||||
// When set to active, users will be able to switch to the use of this language in the user interface.
|
// When set to active, users will be able to switch to the use of this language in the user interface.
|
||||||
languages: LangConfig[] = [
|
languages: LangConfig[] = [
|
||||||
{ code: 'en', label: 'English', active: true },
|
{ code: 'en', label: 'English', active: true },
|
||||||
|
{ code: 'ca', label: 'Català', active: true },
|
||||||
{ code: 'cs', label: 'Čeština', active: true },
|
{ code: 'cs', label: 'Čeština', active: true },
|
||||||
{ code: 'de', label: 'Deutsch', active: true },
|
{ code: 'de', label: 'Deutsch', active: true },
|
||||||
{ code: 'es', label: 'Español', active: true },
|
{ code: 'es', label: 'Español', active: true },
|
||||||
|
Reference in New Issue
Block a user