diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index d2e8b9fe5e..c856e8f5fe 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -16,6 +16,9 @@ jobs:
DSPACE_REST_PORT: 8080
DSPACE_REST_NAMESPACE: '/server'
DSPACE_REST_SSL: false
+ # When Chrome version is specified, we pin to a specific version of Chrome & ChromeDriver
+ # Comment this out to use the latest release of both.
+ CHROME_VERSION: "90.0.4430.212-1"
strategy:
# Create a matrix of Node versions to test against (in parallel)
matrix:
@@ -34,10 +37,20 @@ jobs:
with:
node-version: ${{ matrix.node-version }}
- - name: Install latest Chrome (for e2e tests)
+ # If CHROME_VERSION env variable specified above, then pin to that version.
+ # Otherwise, just install latest version of Chrome.
+ - name: Install Chrome (for e2e tests)
run: |
- sudo apt-get update
- sudo apt-get --only-upgrade install google-chrome-stable -y
+ if [[ -z "${CHROME_VERSION}" ]]
+ then
+ echo "Installing latest stable version"
+ sudo apt-get update
+ sudo apt-get --only-upgrade install google-chrome-stable -y
+ else
+ echo "Installing version ${CHROME_VERSION}"
+ wget -q "https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-stable_${CHROME_VERSION}_amd64.deb"
+ sudo dpkg -i "google-chrome-stable_${CHROME_VERSION}_amd64.deb"
+ fi
google-chrome --version
# https://github.com/actions/cache/blob/main/examples.md#node---yarn
@@ -53,8 +66,11 @@ jobs:
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: ${{ runner.os }}-yarn-
- - name: Install the latest chromedriver compatible with the installed chrome version
- run: yarn global add chromedriver --detect_chromedriver_version
+ - name: Install latest ChromeDriver compatible with installed Chrome
+ # needs to be npm, the --detect_chromedriver_version flag doesn't work with yarn global
+ run: |
+ npm install -g chromedriver --detect_chromedriver_version
+ chromedriver -v
- name: Install Yarn dependencies
run: yarn install --frozen-lockfile
diff --git a/angular.json b/angular.json
index 00799dc33c..d158577e06 100644
--- a/angular.json
+++ b/angular.json
@@ -47,6 +47,7 @@
"src/robots.txt"
],
"styles": [
+ "src/styles/startup.scss",
{
"input": "src/styles/base-theme.scss",
"inject": false,
diff --git a/src/app/+item-page/simple/field-components/specific-field/author/item-page-author-field.component.ts b/src/app/+item-page/simple/field-components/specific-field/author/item-page-author-field.component.ts
index 51941d2cc8..2da0dc154b 100644
--- a/src/app/+item-page/simple/field-components/specific-field/author/item-page-author-field.component.ts
+++ b/src/app/+item-page/simple/field-components/specific-field/author/item-page-author-field.component.ts
@@ -8,7 +8,11 @@ import { ItemPageFieldComponent } from '../item-page-field.component';
templateUrl: '../item-page-field.component.html'
})
/**
- * This component is used for displaying the author (dc.contributor.author, dc.creator and dc.contributor) metadata of an item
+ * This component is used for displaying the author (dc.contributor.author, dc.creator and
+ * dc.contributor) metadata of an item.
+ *
+ * Note that it purely deals with metadata. It won't turn related Person authors into links to their
+ * item page. For that use a {@link MetadataRepresentationListComponent} instead.
*/
export class ItemPageAuthorFieldComponent extends ItemPageFieldComponent {
diff --git a/src/app/+item-page/simple/item-types/publication/publication.component.html b/src/app/+item-page/simple/item-types/publication/publication.component.html
index 73219cbb8f..27f5ff43a1 100644
--- a/src/app/+item-page/simple/item-types/publication/publication.component.html
+++ b/src/app/+item-page/simple/item-types/publication/publication.component.html
@@ -18,7 +18,12 @@
-
+
+
@@ -37,12 +42,6 @@
-
- {
expect(fields.length).toBeGreaterThanOrEqual(1);
});
- it('should contain a component to display the author', () => {
+ it('should not contain a metadata only author field', () => {
const fields = fixture.debugElement.queryAll(By.css('ds-item-page-author-field'));
- expect(fields.length).toBeGreaterThanOrEqual(1);
+ expect(fields.length).toBe(0);
+ });
+
+ it('should contain a mixed metadata and relationship field for authors', () => {
+ const fields = fixture.debugElement.queryAll(By.css('.ds-item-page-mixed-author-field'));
+ expect(fields.length).toBe(1);
});
it('should contain a component to display the abstract', () => {
diff --git a/src/app/+item-page/simple/item-types/untyped-item/untyped-item.component.html b/src/app/+item-page/simple/item-types/untyped-item/untyped-item.component.html
index 8d46a2c5a9..89e6e7a490 100644
--- a/src/app/+item-page/simple/item-types/untyped-item/untyped-item.component.html
+++ b/src/app/+item-page/simple/item-types/untyped-item/untyped-item.component.html
@@ -18,7 +18,12 @@
-
+
+
@@ -37,12 +42,6 @@
-
- {
expect(fields.length).toBeGreaterThanOrEqual(1);
});
- it('should contain a component to display the author', () => {
+ it('should not contain a metadata only author field', () => {
const fields = fixture.debugElement.queryAll(By.css('ds-item-page-author-field'));
- expect(fields.length).toBeGreaterThanOrEqual(1);
+ expect(fields.length).toBe(0);
+ });
+
+ it('should contain a mixed metadata and relationship field for authors', () => {
+ const fields = fixture.debugElement.queryAll(By.css('.ds-item-page-mixed-author-field'));
+ expect(fields.length).toBe(1);
});
it('should contain a component to display the abstract', () => {
diff --git a/src/app/+item-page/simple/metadata-representation-list/metadata-representation-list.component.spec.ts b/src/app/+item-page/simple/metadata-representation-list/metadata-representation-list.component.spec.ts
index 25f54a3fd2..6023aa7b6d 100644
--- a/src/app/+item-page/simple/metadata-representation-list/metadata-representation-list.component.spec.ts
+++ b/src/app/+item-page/simple/metadata-representation-list/metadata-representation-list.component.spec.ts
@@ -5,13 +5,13 @@ import { MetadataRepresentationListComponent } from './metadata-representation-l
import { RelationshipService } from '../../../core/data/relationship.service';
import { Item } from '../../../core/shared/item.model';
import { Relationship } from '../../../core/shared/item-relationships/relationship.model';
-import { createSuccessfulRemoteDataObject$ } from '../../../shared/remote-data.utils';
+import { createSuccessfulRemoteDataObject$, createFailedRemoteDataObject$ } from '../../../shared/remote-data.utils';
import { TranslateModule } from '@ngx-translate/core';
import { VarDirective } from '../../../shared/utils/var.directive';
import { of as observableOf } from 'rxjs';
const itemType = 'Person';
-const metadataField = 'dc.contributor.author';
+const metadataFields = ['dc.contributor.author', 'dc.creator'];
const parentItem: Item = Object.assign(new Item(), {
id: 'parent-item',
metadata: {
@@ -28,6 +28,20 @@ const parentItem: Item = Object.assign(new Item(), {
place: 1
}
],
+ 'dc.creator': [
+ {
+ language: null,
+ value: 'Related Creator with authority',
+ authority: 'virtual::related-creator',
+ place: 3,
+ },
+ {
+ language: null,
+ value: 'Related Creator with authority - unauthorized',
+ authority: 'virtual::related-creator-unauthorized',
+ place: 4,
+ },
+ ],
'dc.title': [
{
language: null,
@@ -47,21 +61,49 @@ const relatedAuthor: Item = Object.assign(new Item(), {
]
}
});
-const relation: Relationship = Object.assign(new Relationship(), {
+const relatedCreator: Item = Object.assign(new Item(), {
+ id: 'related-creator',
+ metadata: {
+ 'dc.title': [
+ {
+ language: null,
+ value: 'Related Creator'
+ }
+ ],
+ 'dspace.entity.type': 'Person',
+ }
+});
+const authorRelation: Relationship = Object.assign(new Relationship(), {
leftItem: createSuccessfulRemoteDataObject$(parentItem),
rightItem: createSuccessfulRemoteDataObject$(relatedAuthor)
});
-let relationshipService: RelationshipService;
+const creatorRelation: Relationship = Object.assign(new Relationship(), {
+ leftItem: createSuccessfulRemoteDataObject$(parentItem),
+ rightItem: createSuccessfulRemoteDataObject$(relatedCreator),
+});
+const creatorRelationUnauthorized: Relationship = Object.assign(new Relationship(), {
+ leftItem: createSuccessfulRemoteDataObject$(parentItem),
+ rightItem: createFailedRemoteDataObject$('Unauthorized', 401),
+});
+let relationshipService;
describe('MetadataRepresentationListComponent', () => {
let comp: MetadataRepresentationListComponent;
let fixture: ComponentFixture;
- relationshipService = jasmine.createSpyObj('relationshipService',
- {
- findById: createSuccessfulRemoteDataObject$(relation)
- }
- );
+ relationshipService = {
+ findById: (id: string) => {
+ if (id === 'related-author') {
+ return createSuccessfulRemoteDataObject$(authorRelation);
+ }
+ if (id === 'related-creator') {
+ return createSuccessfulRemoteDataObject$(creatorRelation);
+ }
+ if (id === 'related-creator-unauthorized') {
+ return createSuccessfulRemoteDataObject$(creatorRelationUnauthorized);
+ }
+ },
+ };
beforeEach(waitForAsync(() => {
TestBed.configureTestingModule({
@@ -81,13 +123,13 @@ describe('MetadataRepresentationListComponent', () => {
comp = fixture.componentInstance;
comp.parentItem = parentItem;
comp.itemType = itemType;
- comp.metadataField = metadataField;
+ comp.metadataFields = metadataFields;
fixture.detectChanges();
}));
- it('should load 2 ds-metadata-representation-loader components', () => {
+ it('should load 4 ds-metadata-representation-loader components', () => {
const fields = fixture.debugElement.queryAll(By.css('ds-metadata-representation-loader'));
- expect(fields.length).toBe(2);
+ expect(fields.length).toBe(4);
});
it('should contain one page of items', () => {
diff --git a/src/app/+item-page/simple/metadata-representation-list/metadata-representation-list.component.ts b/src/app/+item-page/simple/metadata-representation-list/metadata-representation-list.component.ts
index 3db7abfe84..620c63ed62 100644
--- a/src/app/+item-page/simple/metadata-representation-list/metadata-representation-list.component.ts
+++ b/src/app/+item-page/simple/metadata-representation-list/metadata-representation-list.component.ts
@@ -42,7 +42,7 @@ export class MetadataRepresentationListComponent extends AbstractIncrementalList
/**
* The metadata field to use for fetching metadata from the item
*/
- @Input() metadataField: string;
+ @Input() metadataFields: string[];
/**
* An i18n label to use as a title for the list
@@ -70,7 +70,7 @@ export class MetadataRepresentationListComponent extends AbstractIncrementalList
* @param page The page to fetch
*/
getPage(page: number): Observable {
- const metadata = this.parentItem.findMetadataSortedByPlace(this.metadataField);
+ const metadata = this.parentItem.findMetadataSortedByPlace(this.metadataFields);
this.total = metadata.length;
return this.resolveMetadataRepresentations(metadata, page);
}
@@ -91,9 +91,11 @@ export class MetadataRepresentationListComponent extends AbstractIncrementalList
getFirstSucceededRemoteData(),
switchMap((relRD: RemoteData) =>
observableCombineLatest(relRD.payload.leftItem, relRD.payload.rightItem).pipe(
- filter(([leftItem, rightItem]) => leftItem.hasSucceeded && rightItem.hasSucceeded),
+ filter(([leftItem, rightItem]) => leftItem.hasCompleted && rightItem.hasCompleted),
map(([leftItem, rightItem]) => {
- if (leftItem.payload.id === this.parentItem.id) {
+ if (!leftItem.hasSucceeded || !rightItem.hasSucceeded) {
+ return observableOf(Object.assign(new MetadatumRepresentation(this.itemType), metadatum));
+ } else if (rightItem.hasSucceeded && leftItem.payload.id === this.parentItem.id) {
return rightItem.payload;
} else if (rightItem.payload.id === this.parentItem.id) {
return leftItem.payload;
diff --git a/src/app/app.component.html b/src/app/app.component.html
index a40e5ea163..fb9983a6ef 100644
--- a/src/app/app.component.html
+++ b/src/app/app.component.html
@@ -1 +1,3 @@
-
+
diff --git a/src/app/app.component.ts b/src/app/app.component.ts
index a596ba56cd..c9996f275a 100644
--- a/src/app/app.component.ts
+++ b/src/app/app.component.ts
@@ -1,4 +1,4 @@
-import { delay, map, distinctUntilChanged, filter, take } from 'rxjs/operators';
+import { delay, distinctUntilChanged, filter, take } from 'rxjs/operators';
import {
AfterViewInit,
ChangeDetectionStrategy,
@@ -7,6 +7,7 @@ import {
Inject,
OnInit,
Optional,
+ PLATFORM_ID,
} from '@angular/core';
import { NavigationCancel, NavigationEnd, NavigationStart, Router } from '@angular/router';
@@ -32,7 +33,7 @@ import { LocaleService } from './core/locale/locale.service';
import { hasValue, isNotEmpty } from './shared/empty.util';
import { KlaroService } from './shared/cookies/klaro.service';
import { GoogleAnalyticsService } from './statistics/google-analytics.service';
-import { DOCUMENT } from '@angular/common';
+import { DOCUMENT, isPlatformBrowser } from '@angular/common';
import { ThemeService } from './shared/theme-support/theme.service';
import { BASE_THEME_NAME } from './shared/theme-support/theme.constants';
import { DEFAULT_THEME_CONFIG } from './shared/theme-support/theme.effects';
@@ -45,7 +46,6 @@ import { BreadcrumbsService } from './breadcrumbs/breadcrumbs.service';
changeDetection: ChangeDetectionStrategy.OnPush,
})
export class AppComponent implements OnInit, AfterViewInit {
- isLoading$: BehaviorSubject = new BehaviorSubject(true);
sidebarVisible: Observable;
slideSidebarOver: Observable;
collapsedSidebarWidth: Observable;
@@ -57,11 +57,23 @@ export class AppComponent implements OnInit, AfterViewInit {
/**
* Whether or not the authentication is currently blocking the UI
*/
- isNotAuthBlocking$: Observable;
+ isAuthBlocking$: Observable;
+
+ /**
+ * Whether or not the app is in the process of rerouting
+ */
+ isRouteLoading$: BehaviorSubject = new BehaviorSubject(true);
+
+ /**
+ * Whether or not the theme is in the process of being swapped
+ */
+ isThemeLoading$: BehaviorSubject = new BehaviorSubject(false);
+
constructor(
@Inject(NativeWindowService) private _window: NativeWindowRef,
- @Inject(DOCUMENT) private document: any,
+ @Inject(DOCUMENT) private document: any,
+ @Inject(PLATFORM_ID) private platformId: any,
private themeService: ThemeService,
private translate: TranslateService,
private store: Store,
@@ -83,6 +95,10 @@ export class AppComponent implements OnInit, AfterViewInit {
this.models = models;
this.themeService.getThemeName$().subscribe((themeName: string) => {
+ if (isPlatformBrowser(this.platformId)) {
+ // the theme css will never download server side, so this should only happen on the browser
+ this.isThemeLoading$.next(true);
+ }
if (hasValue(themeName)) {
this.setThemeCss(themeName);
} else if (hasValue(DEFAULT_THEME_CONFIG)) {
@@ -118,13 +134,12 @@ export class AppComponent implements OnInit, AfterViewInit {
}
ngOnInit() {
- this.isNotAuthBlocking$ = this.store.pipe(select(isAuthenticationBlocking)).pipe(
- map((isBlocking: boolean) => isBlocking === false),
+ this.isAuthBlocking$ = this.store.pipe(select(isAuthenticationBlocking)).pipe(
distinctUntilChanged()
);
- this.isNotAuthBlocking$
+ this.isAuthBlocking$
.pipe(
- filter((notBlocking: boolean) => notBlocking),
+ filter((isBlocking: boolean) => isBlocking === false),
take(1)
).subscribe(() => this.initializeKlaro());
@@ -156,12 +171,12 @@ export class AppComponent implements OnInit, AfterViewInit {
delay(0)
).subscribe((event) => {
if (event instanceof NavigationStart) {
- this.isLoading$.next(true);
+ this.isRouteLoading$.next(true);
} else if (
event instanceof NavigationEnd ||
event instanceof NavigationCancel
) {
- this.isLoading$.next(false);
+ this.isRouteLoading$.next(false);
}
});
}
@@ -209,6 +224,8 @@ export class AppComponent implements OnInit, AfterViewInit {
}
});
}
+ // the fact that this callback is used, proves we're on the browser.
+ this.isThemeLoading$.next(false);
};
head.appendChild(link);
}
diff --git a/src/app/core/browse/browse.service.spec.ts b/src/app/core/browse/browse.service.spec.ts
index 89875b3069..a28add2e30 100644
--- a/src/app/core/browse/browse.service.spec.ts
+++ b/src/app/core/browse/browse.service.spec.ts
@@ -127,7 +127,8 @@ describe('BrowseService', () => {
});
describe('getBrowseEntriesFor and findList', () => {
- const mockAuthorName = 'Donald Smith';
+ // should contain special characters such that url encoding can be tested as well
+ const mockAuthorName = 'Donald Smith & Sons';
beforeEach(() => {
requestService = getMockRequestService(getRequestEntry$(true));
@@ -152,7 +153,7 @@ describe('BrowseService', () => {
describe('when findList is called with a valid browse definition id', () => {
it('should call hrefOnlyDataService.findAllByHref with the expected href', () => {
- const expected = browseDefinitions[1]._links.items.href + '?filterValue=' + mockAuthorName;
+ const expected = browseDefinitions[1]._links.items.href + '?filterValue=' + encodeURIComponent(mockAuthorName);
scheduler.schedule(() => service.getBrowseItemsFor(mockAuthorName, new BrowseEntrySearchOptions(browseDefinitions[1].id)).subscribe());
scheduler.flush();
diff --git a/src/app/core/browse/browse.service.ts b/src/app/core/browse/browse.service.ts
index 7e55d381a6..ffc6f313b9 100644
--- a/src/app/core/browse/browse.service.ts
+++ b/src/app/core/browse/browse.service.ts
@@ -130,7 +130,7 @@ export class BrowseService {
args.push(`startsWith=${options.startsWith}`);
}
if (isNotEmpty(filterValue)) {
- args.push(`filterValue=${filterValue}`);
+ args.push(`filterValue=${encodeURIComponent(filterValue)}`);
}
if (isNotEmpty(args)) {
href = new URLCombiner(href, `?${args.join('&')}`).toString();
diff --git a/src/app/core/shared/dspace-object.model.ts b/src/app/core/shared/dspace-object.model.ts
index 9d1fba4f86..5ea2bced3d 100644
--- a/src/app/core/shared/dspace-object.model.ts
+++ b/src/app/core/shared/dspace-object.model.ts
@@ -163,8 +163,8 @@ export class DSpaceObject extends ListableObject implements CacheableObject {
* Find metadata on a specific field and order all of them using their "place" property.
* @param key
*/
- findMetadataSortedByPlace(key: string): MetadataValue[] {
- return this.allMetadata([key]).sort((a: MetadataValue, b: MetadataValue) => {
+ findMetadataSortedByPlace(keyOrKeys: string | string[]): MetadataValue[] {
+ return this.allMetadata(keyOrKeys).sort((a: MetadataValue, b: MetadataValue) => {
if (hasNoValue(a.place) && hasNoValue(b.place)) {
return 0;
}
diff --git a/src/app/core/submission/submission-cc-license-url-data.service.ts b/src/app/core/submission/submission-cc-license-url-data.service.ts
index ba0baca2eb..0ca3853d0e 100644
--- a/src/app/core/submission/submission-cc-license-url-data.service.ts
+++ b/src/app/core/submission/submission-cc-license-url-data.service.ts
@@ -22,7 +22,7 @@ import { isNotEmpty } from '../../shared/empty.util';
@dataService(SUBMISSION_CC_LICENSE_URL)
export class SubmissionCcLicenseUrlDataService extends DataService {
- protected linkPath = 'submissioncclicenseUrl-search';
+ protected linkPath = 'submissioncclicenseUrls-search';
constructor(
protected comparator: DefaultChangeAnalyzer,
diff --git a/src/app/entity-groups/research-entities/item-pages/project/project.component.html b/src/app/entity-groups/research-entities/item-pages/project/project.component.html
index 9967b940ac..c18fed78af 100644
--- a/src/app/entity-groups/research-entities/item-pages/project/project.component.html
+++ b/src/app/entity-groups/research-entities/item-pages/project/project.component.html
@@ -18,7 +18,7 @@
+
-
+
-
+
@@ -23,8 +23,8 @@
-
-
+
+
diff --git a/src/app/root/root.component.spec.ts b/src/app/root/root.component.spec.ts
index c945a35764..81b22592d6 100644
--- a/src/app/root/root.component.spec.ts
+++ b/src/app/root/root.component.spec.ts
@@ -27,6 +27,7 @@ import { provideMockStore } from '@ngrx/store/testing';
import { RouteService } from '../core/services/route.service';
import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
import { MenuServiceStub } from '../shared/testing/menu-service.stub';
+import { NoopAnimationsModule } from '@angular/platform-browser/animations';
describe('RootComponent', () => {
let component: RootComponent;
@@ -36,6 +37,7 @@ describe('RootComponent', () => {
await TestBed.configureTestingModule({
imports: [
CommonModule,
+ NoopAnimationsModule,
StoreModule.forRoot(authReducer, storeModuleConfig),
TranslateModule.forRoot({
loader: {
diff --git a/src/app/root/root.component.ts b/src/app/root/root.component.ts
index f9c475a8fa..576a0152be 100644
--- a/src/app/root/root.component.ts
+++ b/src/app/root/root.component.ts
@@ -38,14 +38,14 @@ export class RootComponent implements OnInit {
models;
/**
- * Whether or not the authentication is currently blocking the UI
+ * Whether or not to show a full screen loader
*/
- @Input() isNotAuthBlocking: boolean;
+ @Input() shouldShowFullscreenLoader: boolean;
/**
- * Whether or not the the application is loading;
+ * Whether or not to show a loader across the router outlet
*/
- @Input() isLoading: boolean;
+ @Input() shouldShowRouteLoader: boolean;
constructor(
@Inject(NativeWindowService) private _window: NativeWindowRef,
diff --git a/src/app/root/themed-root.component.ts b/src/app/root/themed-root.component.ts
index 43aacc416f..5dfa1edf31 100644
--- a/src/app/root/themed-root.component.ts
+++ b/src/app/root/themed-root.component.ts
@@ -11,14 +11,14 @@ export class ThemedRootComponent extends ThemedComponent {
/**
* Whether or not the authentication is currently blocking the UI
*/
- @Input() isNotAuthBlocking: boolean;
+ @Input() shouldShowFullscreenLoader: boolean;
/**
* Whether or not the the application is loading;
*/
- @Input() isLoading: boolean;
+ @Input() shouldShowRouteLoader: boolean;
- protected inAndOutputNames: (keyof RootComponent & keyof this)[] = ['isLoading', 'isNotAuthBlocking'];
+ protected inAndOutputNames: (keyof RootComponent & keyof this)[] = ['shouldShowRouteLoader', 'shouldShowFullscreenLoader'];
protected getComponentName(): string {
return 'RootComponent';
diff --git a/src/assets/i18n/fr.json5 b/src/assets/i18n/fr.json5
index 982a360c7d..b5c5032260 100644
--- a/src/assets/i18n/fr.json5
+++ b/src/assets/i18n/fr.json5
@@ -1,6009 +1,5094 @@
{
-
+
// "401.help": "You're not authorized to access this page. You can use the button below to get back to the home page.",
- // TODO New key - Add a translation
- "401.help": "You're not authorized to access this page. You can use the button below to get back to the home page.",
-
+ "401.help": "Vous n'êtes pas autorisé à accéder à cette page. Vous pouvez utiliser le bouton ci-dessous pour revenir sur la page d'accueil.",
+
// "401.link.home-page": "Take me to the home page",
- // TODO New key - Add a translation
- "401.link.home-page": "Take me to the home page",
-
+ "401.link.home-page": "Retour sur la page d'accueil",
+
// "401.unauthorized": "unauthorized",
- // TODO New key - Add a translation
- "401.unauthorized": "unauthorized",
-
-
-
+ "401.unauthorized": "Accès non autorisé",
+
+
+
// "403.help": "You don't have permission to access this page. You can use the button below to get back to the home page.",
- // TODO New key - Add a translation
- "403.help": "You don't have permission to access this page. You can use the button below to get back to the home page.",
-
+ "403.help": "Vous n'avez pas les permissions requises pour accéder à cette page. Vous pouvez utiliser le bouton ci-dessous pour revenir sur la page d'accueil.",
+
// "403.link.home-page": "Take me to the home page",
- // TODO New key - Add a translation
- "403.link.home-page": "Take me to the home page",
-
+ "403.link.home-page": "Retour sur la page d'accueil",
+
// "403.forbidden": "forbidden",
- // TODO New key - Add a translation
- "403.forbidden": "forbidden",
-
-
-
+ "403.forbidden": "Accès interdit",
+
+
+
// "404.help": "We can't find the page you're looking for. The page may have been moved or deleted. You can use the button below to get back to the home page. ",
"404.help": "La page que vous recherchez n'a pas pu être localisée. Cette page pourrait avoir été déplacée ou supprimée. Vous pouvez utiliser le bouton ci-dessous pour revenir sur la page d'accueil.",
-
+
// "404.link.home-page": "Take me to the home page",
"404.link.home-page": "Retour sur la page d'accueil",
-
+
// "404.page-not-found": "page not found",
"404.page-not-found": "Page introuvable",
-
+
// "admin.curation-tasks.breadcrumbs": "System curation tasks",
- // TODO New key - Add a translation
- "admin.curation-tasks.breadcrumbs": "System curation tasks",
-
+ "admin.curation-tasks.breadcrumbs": "Tâches de conservation système",
+
// "admin.curation-tasks.title": "System curation tasks",
- // TODO New key - Add a translation
- "admin.curation-tasks.title": "System curation tasks",
-
+ "admin.curation-tasks.title": "Tâches de conservation système",
+
// "admin.curation-tasks.header": "System curation tasks",
- // TODO New key - Add a translation
- "admin.curation-tasks.header": "System curation tasks",
-
+ "admin.curation-tasks.header": "Tâches de conservation système",
+
// "admin.registries.bitstream-formats.breadcrumbs": "Format registry",
- // TODO New key - Add a translation
- "admin.registries.bitstream-formats.breadcrumbs": "Format registry",
-
+ "admin.registries.bitstream-formats.breadcrumbs": "Registre des formats",
+
// "admin.registries.bitstream-formats.create.breadcrumbs": "Bitstream format",
- // TODO New key - Add a translation
- "admin.registries.bitstream-formats.create.breadcrumbs": "Bitstream format",
-
+ "admin.registries.bitstream-formats.create.breadcrumbs": "Format Bitstream",
+
// "admin.registries.bitstream-formats.create.failure.content": "An error occurred while creating the new bitstream format.",
"admin.registries.bitstream-formats.create.failure.content": "Une erreur s'est produite lors de l'ajout du nouveau format Bitstream.",
-
+
// "admin.registries.bitstream-formats.create.failure.head": "Failure",
"admin.registries.bitstream-formats.create.failure.head": "Erreur",
-
+
// "admin.registries.bitstream-formats.create.head": "Create Bitstream format",
"admin.registries.bitstream-formats.create.head": "Ajouter un format Bistream",
-
+
// "admin.registries.bitstream-formats.create.new": "Add a new bitstream format",
"admin.registries.bitstream-formats.create.new": "Ajouter un format Bitstream",
-
+
// "admin.registries.bitstream-formats.create.success.content": "The new bitstream format was successfully created.",
"admin.registries.bitstream-formats.create.success.content": "Le nouveau format Bitstream a été ajouté avec succès.",
-
+
// "admin.registries.bitstream-formats.create.success.head": "Success",
"admin.registries.bitstream-formats.create.success.head": "Succès",
-
+
// "admin.registries.bitstream-formats.delete.failure.amount": "Failed to remove {{ amount }} format(s)",
"admin.registries.bitstream-formats.delete.failure.amount": "La suppression de {{ amount }} format(s) a échoué",
-
+
// "admin.registries.bitstream-formats.delete.failure.head": "Failure",
"admin.registries.bitstream-formats.delete.failure.head": "Échec",
-
+
// "admin.registries.bitstream-formats.delete.success.amount": "Successfully removed {{ amount }} format(s)",
"admin.registries.bitstream-formats.delete.success.amount": "{{ amount }} format(s) ajouté(s) avec succès",
-
+
// "admin.registries.bitstream-formats.delete.success.head": "Success",
"admin.registries.bitstream-formats.delete.success.head": "Succès",
-
+
// "admin.registries.bitstream-formats.description": "This list of bitstream formats provides information about known formats and their support level.",
"admin.registries.bitstream-formats.description": "Cette liste des formats Bitstream contient les informations relatives aux formats connus et leur niveau de support.",
-
+
// "admin.registries.bitstream-formats.edit.breadcrumbs": "Bitstream format",
- // TODO New key - Add a translation
- "admin.registries.bitstream-formats.edit.breadcrumbs": "Bitstream format",
-
+ "admin.registries.bitstream-formats.edit.breadcrumbs": "Format Bitstream",
+
// "admin.registries.bitstream-formats.edit.description.hint": "",
"admin.registries.bitstream-formats.edit.description.hint": "",
-
+
// "admin.registries.bitstream-formats.edit.description.label": "Description",
"admin.registries.bitstream-formats.edit.description.label": "Description",
-
+
// "admin.registries.bitstream-formats.edit.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": "Les extensions de fichier sont utilisées pour identifier le format des fichiers téléchargés. Plusieurs extensions peuvent être encodées pour chaque format.",
-
+
// "admin.registries.bitstream-formats.edit.extensions.label": "File extensions",
"admin.registries.bitstream-formats.edit.extensions.label": "Extensions de fichier",
-
+
// "admin.registries.bitstream-formats.edit.extensions.placeholder": "Enter a file extension without the dot",
- // TODO Source message changed - Revise the translation
"admin.registries.bitstream-formats.edit.extensions.placeholder": "Veuillez entrer l'extension de fichier sans point",
-
+
// "admin.registries.bitstream-formats.edit.failure.content": "An error occurred while editing the bitstream format.",
"admin.registries.bitstream-formats.edit.failure.content": "Une erreur s'est produite lors de l'édition du format Bitstream.",
-
+
// "admin.registries.bitstream-formats.edit.failure.head": "Failure",
"admin.registries.bitstream-formats.edit.failure.head": "Échec",
-
+
// "admin.registries.bitstream-formats.edit.head": "Bitstream format: {{ format }}",
"admin.registries.bitstream-formats.edit.head": "Format Bitstream: {{ format }}",
-
+
// "admin.registries.bitstream-formats.edit.internal.hint": "Formats marked as internal are hidden from the user, and used for administrative purposes.",
- // TODO Source message changed - Revise the translation
"admin.registries.bitstream-formats.edit.internal.hint": "Les formats identifiés en tant que formats internes sont cachés pour l'utilisateur et utilisés uniquement à des fins administratives.",
-
+
// "admin.registries.bitstream-formats.edit.internal.label": "Internal",
"admin.registries.bitstream-formats.edit.internal.label": "Interne",
-
+
// "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": "Le type MIME associé avec ce format ne doit pas nécessairement être unique.",
-
+
// "admin.registries.bitstream-formats.edit.mimetype.label": "MIME Type",
"admin.registries.bitstream-formats.edit.mimetype.label": "Type 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": "Nom unique pour ce format (p. ex. Microsoft Word XP or Microsoft Word 2000)",
-
+
// "admin.registries.bitstream-formats.edit.shortDescription.label": "Name",
"admin.registries.bitstream-formats.edit.shortDescription.label": "Nom",
-
+
// "admin.registries.bitstream-formats.edit.success.content": "The bitstream format was successfully edited.",
"admin.registries.bitstream-formats.edit.success.content": "Le format Bitstream a été édité avec succès.",
-
+
// "admin.registries.bitstream-formats.edit.success.head": "Success",
"admin.registries.bitstream-formats.edit.success.head": "Succès",
-
+
// "admin.registries.bitstream-formats.edit.supportLevel.hint": "The level of support your institution pledges for this format.",
"admin.registries.bitstream-formats.edit.supportLevel.hint": "Le niveau de support auquel votre institution souscrit pour ce format.",
-
+
// "admin.registries.bitstream-formats.edit.supportLevel.label": "Support level",
"admin.registries.bitstream-formats.edit.supportLevel.label": "Niveau de support",
-
+
// "admin.registries.bitstream-formats.head": "Bitstream Format Registry",
"admin.registries.bitstream-formats.head": "Registre des formats Bitstream",
-
+
// "admin.registries.bitstream-formats.no-items": "No bitstream formats to show.",
"admin.registries.bitstream-formats.no-items": "Aucun format Bitstream disponible.",
-
+
// "admin.registries.bitstream-formats.table.delete": "Delete selected",
"admin.registries.bitstream-formats.table.delete": "Supprimer les éléments sélectionnés",
-
+
// "admin.registries.bitstream-formats.table.deselect-all": "Deselect all",
"admin.registries.bitstream-formats.table.deselect-all": "Désélectionner tout",
-
+
// "admin.registries.bitstream-formats.table.internal": "internal",
"admin.registries.bitstream-formats.table.internal": "interne",
-
+
// "admin.registries.bitstream-formats.table.mimetype": "MIME Type",
"admin.registries.bitstream-formats.table.mimetype": "Type MIME",
-
+
// "admin.registries.bitstream-formats.table.name": "Name",
"admin.registries.bitstream-formats.table.name": "Nom",
-
+
// "admin.registries.bitstream-formats.table.return": "Return",
"admin.registries.bitstream-formats.table.return": "Retour",
-
+
// "admin.registries.bitstream-formats.table.supportLevel.KNOWN": "Known",
"admin.registries.bitstream-formats.table.supportLevel.KNOWN": "Connu",
-
+
// "admin.registries.bitstream-formats.table.supportLevel.SUPPORTED": "Supported",
"admin.registries.bitstream-formats.table.supportLevel.SUPPORTED": "Supporté",
-
+
// "admin.registries.bitstream-formats.table.supportLevel.UNKNOWN": "Unknown",
"admin.registries.bitstream-formats.table.supportLevel.UNKNOWN": "Inconnu",
-
+
// "admin.registries.bitstream-formats.table.supportLevel.head": "Support Level",
"admin.registries.bitstream-formats.table.supportLevel.head": "Niveau de support",
-
+
// "admin.registries.bitstream-formats.title": "DSpace Angular :: Bitstream Format Registry",
"admin.registries.bitstream-formats.title": "DSpace Angular :: Registre des formats Bitstream",
-
-
-
+
+
+
// "admin.registries.metadata.breadcrumbs": "Metadata registry",
- // TODO New key - Add a translation
- "admin.registries.metadata.breadcrumbs": "Metadata registry",
-
+ "admin.registries.metadata.breadcrumbs": "Registre de métadonnées",
+
// "admin.registries.metadata.description": "The metadata registry maintains a list of all metadata fields available in the repository. These fields may be divided amongst multiple schemas. However, DSpace requires the qualified Dublin Core schema.",
"admin.registries.metadata.description": "Le registre de métadonnées présente une liste à jour de tous les champs de métadonnées disponibles dans le dépôt. Ces champs peuvent être répartis entre plusieurs schémas. Le schéma Dublin Core qualifié est toutefois requis dans DSpace.",
-
+
// "admin.registries.metadata.form.create": "Create metadata schema",
"admin.registries.metadata.form.create": "Ajouter un schéma de métadonnées",
-
+
// "admin.registries.metadata.form.edit": "Edit metadata schema",
"admin.registries.metadata.form.edit": "Éditer un schéma de métadonnées",
-
+
// "admin.registries.metadata.form.name": "Name",
"admin.registries.metadata.form.name": "Nom",
-
+
// "admin.registries.metadata.form.namespace": "Namespace",
"admin.registries.metadata.form.namespace": "Espace de nommage",
-
+
// "admin.registries.metadata.head": "Metadata Registry",
"admin.registries.metadata.head": "Registre de métadonnées",
-
+
// "admin.registries.metadata.schemas.no-items": "No metadata schemas to show.",
"admin.registries.metadata.schemas.no-items": "Aucun schéma de métadonnées disponible.",
-
+
// "admin.registries.metadata.schemas.table.delete": "Delete selected",
"admin.registries.metadata.schemas.table.delete": "Supprimer les éléments sélectionnés",
-
+
// "admin.registries.metadata.schemas.table.id": "ID",
"admin.registries.metadata.schemas.table.id": "ID",
-
+
// "admin.registries.metadata.schemas.table.name": "Name",
"admin.registries.metadata.schemas.table.name": "Nom",
-
+
// "admin.registries.metadata.schemas.table.namespace": "Namespace",
"admin.registries.metadata.schemas.table.namespace": "Espace de nommage",
-
+
// "admin.registries.metadata.title": "DSpace Angular :: Metadata Registry",
"admin.registries.metadata.title": "DSpace Angular :: Registre de métadonnées",
-
-
-
+
+
+
// "admin.registries.schema.breadcrumbs": "Metadata schema",
- // TODO New key - Add a translation
- "admin.registries.schema.breadcrumbs": "Metadata schema",
-
+ "admin.registries.schema.breadcrumbs": "Schéma de métadonnées",
+
// "admin.registries.schema.description": "This is the metadata schema for \"{{namespace}}\".",
"admin.registries.schema.description": "Ceci est le schéma de métadonnées correspondant à l'espace de nommage « {{namespace}} ».",
-
+
// "admin.registries.schema.fields.head": "Schema metadata fields",
"admin.registries.schema.fields.head": "Champs de métadonnées du schéma",
-
+
// "admin.registries.schema.fields.no-items": "No metadata fields to show.",
"admin.registries.schema.fields.no-items": "Aucun champ de métadonnée disponible.",
-
+
// "admin.registries.schema.fields.table.delete": "Delete selected",
"admin.registries.schema.fields.table.delete": "Supprimer les éléments sélectionnés",
-
+
// "admin.registries.schema.fields.table.field": "Field",
"admin.registries.schema.fields.table.field": "Champ",
-
+
// "admin.registries.schema.fields.table.scopenote": "Scope Note",
"admin.registries.schema.fields.table.scopenote": "Note d'application",
-
+
// "admin.registries.schema.form.create": "Create metadata field",
"admin.registries.schema.form.create": "Ajouter un champ de métadonnées",
-
+
// "admin.registries.schema.form.edit": "Edit metadata field",
- "admin.registries.schema.form.edit": "Modifier champ de métadonnées",
-
+ "admin.registries.schema.form.edit": "Éditer champ de métadonnées",
+
// "admin.registries.schema.form.element": "Element",
"admin.registries.schema.form.element": "Élément",
-
+
// "admin.registries.schema.form.qualifier": "Qualifier",
"admin.registries.schema.form.qualifier": "Qualificatif",
-
+
// "admin.registries.schema.form.scopenote": "Scope Note",
"admin.registries.schema.form.scopenote": "Note d'application",
-
+
// "admin.registries.schema.head": "Metadata Schema",
"admin.registries.schema.head": "Schéma de métadonnées",
-
+
// "admin.registries.schema.notification.created": "Successfully created metadata schema \"{{prefix}}\"",
"admin.registries.schema.notification.created": "Schéma de métadonnées « {{prefix}} » créé avec succès",
-
+
// "admin.registries.schema.notification.deleted.failure": "Failed to delete {{amount}} metadata schemas",
"admin.registries.schema.notification.deleted.failure": "Erreur lors de la suppression de {{amount}} schéma(s) de métadonnées",
-
+
// "admin.registries.schema.notification.deleted.success": "Successfully deleted {{amount}} metadata schemas",
"admin.registries.schema.notification.deleted.success": "{{amount}} schéma(s) de métadonnées supprimé(s) avec succès",
-
+
// "admin.registries.schema.notification.edited": "Successfully edited metadata schema \"{{prefix}}\"",
"admin.registries.schema.notification.edited": "Schéma de métadonnées « {{prefix}} » édité avec succès",
-
+
// "admin.registries.schema.notification.failure": "Error",
"admin.registries.schema.notification.failure": "Erreur",
-
+
// "admin.registries.schema.notification.field.created": "Successfully created metadata field \"{{field}}\"",
"admin.registries.schema.notification.field.created": "Champ de métadonnée « {{field}} » créé avec succès",
-
+
// "admin.registries.schema.notification.field.deleted.failure": "Failed to delete {{amount}} metadata fields",
"admin.registries.schema.notification.field.deleted.failure": "Erreur lors de la suppression de {{amount}} champ(s) de métadonnées",
-
+
// "admin.registries.schema.notification.field.deleted.success": "Successfully deleted {{amount}} metadata fields",
"admin.registries.schema.notification.field.deleted.success": "{{amount}} champ(s) de métadonnées supprimé(s) avec succès",
-
+
// "admin.registries.schema.notification.field.edited": "Successfully edited metadata field \"{{field}}\"",
"admin.registries.schema.notification.field.edited": "Champ de métadonnée « {{field}} » édité avec succès",
-
+
// "admin.registries.schema.notification.success": "Success",
"admin.registries.schema.notification.success": "Succès",
-
+
// "admin.registries.schema.return": "Return",
"admin.registries.schema.return": "Retour",
-
+
// "admin.registries.schema.title": "DSpace Angular :: Metadata Schema Registry",
"admin.registries.schema.title": "DSpace Angular :: Registre des schémas de métadonnées",
-
-
-
+
+
+
// "admin.access-control.epeople.actions.delete": "Delete EPerson",
- // TODO New key - Add a translation
- "admin.access-control.epeople.actions.delete": "Delete EPerson",
-
+ "admin.access-control.epeople.actions.delete": "Supprimer EPerson",
+
// "admin.access-control.epeople.actions.impersonate": "Impersonate EPerson",
- // TODO New key - Add a translation
- "admin.access-control.epeople.actions.impersonate": "Impersonate EPerson",
-
+ "admin.access-control.epeople.actions.impersonate": "Se connecter en tant que cet(te) EPerson",
+
// "admin.access-control.epeople.actions.reset": "Reset password",
- // TODO New key - Add a translation
- "admin.access-control.epeople.actions.reset": "Reset password",
-
+ "admin.access-control.epeople.actions.reset": "Réinitialiser le mot de passe",
+
// "admin.access-control.epeople.actions.stop-impersonating": "Stop impersonating EPerson",
- // TODO New key - Add a translation
- "admin.access-control.epeople.actions.stop-impersonating": "Stop impersonating EPerson",
-
+ "admin.access-control.epeople.actions.stop-impersonating": "Retour à votre propre EPerson ",
+
// "admin.access-control.epeople.title": "DSpace Angular :: EPeople",
- // TODO New key - Add a translation
"admin.access-control.epeople.title": "DSpace Angular :: EPeople",
-
+
// "admin.access-control.epeople.head": "EPeople",
- // TODO New key - Add a translation
"admin.access-control.epeople.head": "EPeople",
-
+
// "admin.access-control.epeople.search.head": "Search",
- // TODO New key - Add a translation
- "admin.access-control.epeople.search.head": "Search",
-
+ "admin.access-control.epeople.search.head": "Recherche",
+
// "admin.access-control.epeople.button.see-all": "Browse All",
- // TODO New key - Add a translation
- "admin.access-control.epeople.button.see-all": "Browse All",
-
+ "admin.access-control.epeople.button.see-all": "Voir tout",
+
// "admin.access-control.epeople.search.scope.metadata": "Metadata",
- // TODO New key - Add a translation
- "admin.access-control.epeople.search.scope.metadata": "Metadata",
-
+ "admin.access-control.epeople.search.scope.metadata": "Métadonnées",
+
// "admin.access-control.epeople.search.scope.email": "E-mail (exact)",
- // TODO New key - Add a translation
"admin.access-control.epeople.search.scope.email": "E-mail (exact)",
-
+
// "admin.access-control.epeople.search.button": "Search",
- // TODO New key - Add a translation
- "admin.access-control.epeople.search.button": "Search",
-
+ "admin.access-control.epeople.search.button": "Rechercher",
+
// "admin.access-control.epeople.button.add": "Add EPerson",
- // TODO New key - Add a translation
- "admin.access-control.epeople.button.add": "Add EPerson",
-
+ "admin.access-control.epeople.button.add": "Ajouter EPerson",
+
// "admin.access-control.epeople.table.id": "ID",
- // TODO New key - Add a translation
"admin.access-control.epeople.table.id": "ID",
-
+
// "admin.access-control.epeople.table.name": "Name",
- // TODO New key - Add a translation
- "admin.access-control.epeople.table.name": "Name",
-
+ "admin.access-control.epeople.table.name": "Nom",
+
// "admin.access-control.epeople.table.email": "E-mail (exact)",
- // TODO New key - Add a translation
"admin.access-control.epeople.table.email": "E-mail (exact)",
-
+
// "admin.access-control.epeople.table.edit": "Edit",
- // TODO New key - Add a translation
- "admin.access-control.epeople.table.edit": "Edit",
-
+ "admin.access-control.epeople.table.edit": "Éditer",
+
// "admin.access-control.epeople.table.edit.buttons.edit": "Edit \"{{name}}\"",
- // TODO New key - Add a translation
- "admin.access-control.epeople.table.edit.buttons.edit": "Edit \"{{name}}\"",
-
+ "admin.access-control.epeople.table.edit.buttons.edit": "Éditer \"{{name}}\"",
+
// "admin.access-control.epeople.table.edit.buttons.remove": "Delete \"{{name}}\"",
- // TODO New key - Add a translation
- "admin.access-control.epeople.table.edit.buttons.remove": "Delete \"{{name}}\"",
-
+ "admin.access-control.epeople.table.edit.buttons.remove": "Supprimer \"{{name}}\"",
+
// "admin.access-control.epeople.no-items": "No EPeople to show.",
- // TODO New key - Add a translation
- "admin.access-control.epeople.no-items": "No EPeople to show.",
-
+ "admin.access-control.epeople.no-items": "Aucune EPerson ne correspond à votre recherche",
+
// "admin.access-control.epeople.form.create": "Create EPerson",
- // TODO New key - Add a translation
- "admin.access-control.epeople.form.create": "Create EPerson",
-
+ "admin.access-control.epeople.form.create": "Créer EPerson",
+
// "admin.access-control.epeople.form.edit": "Edit EPerson",
- // TODO New key - Add a translation
- "admin.access-control.epeople.form.edit": "Edit EPerson",
-
+ "admin.access-control.epeople.form.edit": "Éditer EPerson",
+
// "admin.access-control.epeople.form.firstName": "First name",
- // TODO New key - Add a translation
- "admin.access-control.epeople.form.firstName": "First name",
-
+ "admin.access-control.epeople.form.firstName": "Prénom",
+
// "admin.access-control.epeople.form.lastName": "Last name",
- // TODO New key - Add a translation
- "admin.access-control.epeople.form.lastName": "Last name",
-
+ "admin.access-control.epeople.form.lastName": "Nom de famille",
+
// "admin.access-control.epeople.form.email": "E-mail",
- // TODO New key - Add a translation
"admin.access-control.epeople.form.email": "E-mail",
-
+
// "admin.access-control.epeople.form.emailHint": "Must be valid e-mail address",
- // TODO New key - Add a translation
- "admin.access-control.epeople.form.emailHint": "Must be valid e-mail address",
-
+ "admin.access-control.epeople.form.emailHint": "Il doit s'agir d'une adresse mail valide",
+
// "admin.access-control.epeople.form.canLogIn": "Can log in",
- // TODO New key - Add a translation
- "admin.access-control.epeople.form.canLogIn": "Can log in",
-
+ "admin.access-control.epeople.form.canLogIn": "Peut se connecter",
+
// "admin.access-control.epeople.form.requireCertificate": "Requires certificate",
- // TODO New key - Add a translation
- "admin.access-control.epeople.form.requireCertificate": "Requires certificate",
-
+ "admin.access-control.epeople.form.requireCertificate": "Doit avoir recours à un certificat",
+
// "admin.access-control.epeople.form.notification.created.success": "Successfully created EPerson \"{{name}}\"",
- // TODO New key - Add a translation
- "admin.access-control.epeople.form.notification.created.success": "Successfully created EPerson \"{{name}}\"",
-
+ "admin.access-control.epeople.form.notification.created.success": "EPerson \"{{name}}\" créée avec succès",
+
// "admin.access-control.epeople.form.notification.created.failure": "Failed to create EPerson \"{{name}}\"",
- // TODO New key - Add a translation
- "admin.access-control.epeople.form.notification.created.failure": "Failed to create EPerson \"{{name}}\"",
-
+ "admin.access-control.epeople.form.notification.created.failure": "Erreur lors de la création de l'EPerson \"{{name}}\"",
+
// "admin.access-control.epeople.form.notification.created.failure.emailInUse": "Failed to create EPerson \"{{name}}\", email \"{{email}}\" already in use.",
- // TODO New key - Add a translation
- "admin.access-control.epeople.form.notification.created.failure.emailInUse": "Failed to create EPerson \"{{name}}\", email \"{{email}}\" already in use.",
-
+ "admin.access-control.epeople.form.notification.created.failure.emailInUse": "Erreur lors de la création de l'EPerson \"{{name}}\", l'adresse mail \"{{email}}\" est déjà utilisée.",
+
// "admin.access-control.epeople.form.notification.edited.failure.emailInUse": "Failed to edit EPerson \"{{name}}\", email \"{{email}}\" already in use.",
- // TODO New key - Add a translation
- "admin.access-control.epeople.form.notification.edited.failure.emailInUse": "Failed to edit EPerson \"{{name}}\", email \"{{email}}\" already in use.",
-
+ "admin.access-control.epeople.form.notification.edited.failure.emailInUse": "Erreur lors de la modification de l'EPerson \"{{name}}\", l'adresse mail \"{{email}}\" est déjà utilisée.",
+
// "admin.access-control.epeople.form.notification.edited.success": "Successfully edited EPerson \"{{name}}\"",
- // TODO New key - Add a translation
- "admin.access-control.epeople.form.notification.edited.success": "Successfully edited EPerson \"{{name}}\"",
-
+ "admin.access-control.epeople.form.notification.edited.success": "EPerson \"{{name}}\" modifiée avec succès",
+
// "admin.access-control.epeople.form.notification.edited.failure": "Failed to edit EPerson \"{{name}}\"",
- // TODO New key - Add a translation
- "admin.access-control.epeople.form.notification.edited.failure": "Failed to edit EPerson \"{{name}}\"",
-
+ "admin.access-control.epeople.form.notification.edited.failure": "Erreur lors de la modification de l'EPerson \"{{name}}\"",
+
// "admin.access-control.epeople.form.notification.deleted.success": "Successfully deleted EPerson \"{{name}}\"",
- // TODO New key - Add a translation
- "admin.access-control.epeople.form.notification.deleted.success": "Successfully deleted EPerson \"{{name}}\"",
-
+ "admin.access-control.epeople.form.notification.deleted.success": "EPerson \"{{name}}\" supprimée avec succès",
+
// "admin.access-control.epeople.form.notification.deleted.failure": "Failed to delete EPerson \"{{name}}\"",
- // TODO New key - Add a translation
- "admin.access-control.epeople.form.notification.deleted.failure": "Failed to delete EPerson \"{{name}}\"",
-
+ "admin.access-control.epeople.form.notification.deleted.failure": "Erreur lors de la suppression de l'EPerson \"{{name}}\"",
+
// "admin.access-control.epeople.form.groupsEPersonIsMemberOf": "Member of these groups:",
- // TODO New key - Add a translation
- "admin.access-control.epeople.form.groupsEPersonIsMemberOf": "Member of these groups:",
-
+ "admin.access-control.epeople.form.groupsEPersonIsMemberOf": "Membre des groupes suivants :",
+
// "admin.access-control.epeople.form.table.id": "ID",
- // TODO New key - Add a translation
"admin.access-control.epeople.form.table.id": "ID",
-
+
// "admin.access-control.epeople.form.table.name": "Name",
- // TODO New key - Add a translation
- "admin.access-control.epeople.form.table.name": "Name",
-
+ "admin.access-control.epeople.form.table.name": "Nom",
+
// "admin.access-control.epeople.form.memberOfNoGroups": "This EPerson is not a member of any groups",
- // TODO New key - Add a translation
- "admin.access-control.epeople.form.memberOfNoGroups": "This EPerson is not a member of any groups",
-
+ "admin.access-control.epeople.form.memberOfNoGroups": "Cette EPerson n'est membre d'aucun groupe",
+
// "admin.access-control.epeople.form.goToGroups": "Add to groups",
- // TODO New key - Add a translation
- "admin.access-control.epeople.form.goToGroups": "Add to groups",
-
+ "admin.access-control.epeople.form.goToGroups": "Ajouter groupe(s)",
+
// "admin.access-control.epeople.notification.deleted.failure": "Failed to delete EPerson: \"{{name}}\"",
- // TODO New key - Add a translation
- "admin.access-control.epeople.notification.deleted.failure": "Failed to delete EPerson: \"{{name}}\"",
-
+ "admin.access-control.epeople.notification.deleted.failure": "Erreur lors de la suppression de l'EPerson \"{{name}}\"",
+
// "admin.access-control.epeople.notification.deleted.success": "Successfully deleted EPerson: \"{{name}}\"",
- // TODO New key - Add a translation
- "admin.access-control.epeople.notification.deleted.success": "Successfully deleted EPerson: \"{{name}}\"",
-
-
-
+ "admin.access-control.epeople.notification.deleted.success": "EPerson \"{{name}}\" supprimée avec succès",
+
+
+
// "admin.access-control.groups.title": "DSpace Angular :: Groups",
- // TODO New key - Add a translation
- "admin.access-control.groups.title": "DSpace Angular :: Groups",
-
+ "admin.access-control.groups.title": "DSpace Angular :: Groupes",
+
// "admin.access-control.groups.title.singleGroup": "DSpace Angular :: Edit Group",
- // TODO New key - Add a translation
- "admin.access-control.groups.title.singleGroup": "DSpace Angular :: Edit Group",
-
+ "admin.access-control.groups.title.singleGroup": "DSpace Angular :: Éditer Groupe",
+
// "admin.access-control.groups.title.addGroup": "DSpace Angular :: New Group",
- // TODO New key - Add a translation
- "admin.access-control.groups.title.addGroup": "DSpace Angular :: New Group",
-
+ "admin.access-control.groups.title.addGroup": "DSpace Angular :: Nouveau Groupe",
+
// "admin.access-control.groups.head": "Groups",
- // TODO New key - Add a translation
- "admin.access-control.groups.head": "Groups",
-
+ "admin.access-control.groups.head": "Groupes",
+
// "admin.access-control.groups.button.add": "Add group",
- // TODO New key - Add a translation
- "admin.access-control.groups.button.add": "Add group",
-
+ "admin.access-control.groups.button.add": "Ajouter groupe",
+
// "admin.access-control.groups.search.head": "Search groups",
- // TODO New key - Add a translation
- "admin.access-control.groups.search.head": "Search groups",
-
+ "admin.access-control.groups.search.head": "Recherche",
+
// "admin.access-control.groups.button.see-all": "Browse all",
- // TODO New key - Add a translation
- "admin.access-control.groups.button.see-all": "Browse all",
-
+ "admin.access-control.groups.button.see-all": "Voir tout",
+
// "admin.access-control.groups.search.button": "Search",
- // TODO New key - Add a translation
- "admin.access-control.groups.search.button": "Search",
-
+ "admin.access-control.groups.search.button": "Rechercher",
+
// "admin.access-control.groups.table.id": "ID",
- // TODO New key - Add a translation
"admin.access-control.groups.table.id": "ID",
-
+
// "admin.access-control.groups.table.name": "Name",
- // TODO New key - Add a translation
- "admin.access-control.groups.table.name": "Name",
-
+ "admin.access-control.groups.table.name": "Nom",
+
// "admin.access-control.groups.table.members": "Members",
- // TODO New key - Add a translation
- "admin.access-control.groups.table.members": "Members",
-
+ "admin.access-control.groups.table.members": "Membres",
+
// "admin.access-control.groups.table.edit": "Edit",
- // TODO New key - Add a translation
- "admin.access-control.groups.table.edit": "Edit",
-
+ "admin.access-control.groups.table.edit": "Éditer",
+
// "admin.access-control.groups.table.edit.buttons.edit": "Edit \"{{name}}\"",
- // TODO New key - Add a translation
- "admin.access-control.groups.table.edit.buttons.edit": "Edit \"{{name}}\"",
-
+ "admin.access-control.groups.table.edit.buttons.edit": "Éditer \"{{name}}\"",
+
// "admin.access-control.groups.table.edit.buttons.remove": "Delete \"{{name}}\"",
- // TODO New key - Add a translation
- "admin.access-control.groups.table.edit.buttons.remove": "Delete \"{{name}}\"",
-
+ "admin.access-control.groups.table.edit.buttons.remove": "Supprimer \"{{name}}\"",
+
// "admin.access-control.groups.no-items": "No groups found with this in their name or this as UUID",
- // TODO New key - Add a translation
- "admin.access-control.groups.no-items": "No groups found with this in their name or this as UUID",
-
+ "admin.access-control.groups.no-items": "Aucun groupe ne correspond à ce nom ou cet identifiant UUID",
+
// "admin.access-control.groups.notification.deleted.success": "Successfully deleted group \"{{name}}\"",
- // TODO New key - Add a translation
- "admin.access-control.groups.notification.deleted.success": "Successfully deleted group \"{{name}}\"",
-
+ "admin.access-control.groups.notification.deleted.success": "Groupe \"{{name}}\" supprimé avec succès",
+
// "admin.access-control.groups.notification.deleted.failure.title": "Failed to delete group \"{{name}}\"",
- // TODO New key - Add a translation
- "admin.access-control.groups.notification.deleted.failure.title": "Failed to delete group \"{{name}}\"",
-
+ "admin.access-control.groups.notification.deleted.failure.title": "Erreur lors de la suppression du groupe \"{{name}}\"",
+
// "admin.access-control.groups.notification.deleted.failure.content": "Cause: \"{{cause}}\"",
- // TODO New key - Add a translation
- "admin.access-control.groups.notification.deleted.failure.content": "Cause: \"{{cause}}\"",
-
-
-
+ "admin.access-control.groups.notification.deleted.failure.content": "Cause : \"{{cause}}\"",
+
+
+
// "admin.access-control.groups.form.alert.permanent": "This group is permanent, so it can't be edited or deleted. You can still add and remove group members using this page.",
- // TODO New key - Add a translation
- "admin.access-control.groups.form.alert.permanent": "This group is permanent, so it can't be edited or deleted. You can still add and remove group members using this page.",
-
+ "admin.access-control.groups.form.alert.permanent": "Ce groupe est permanent et ne peut, par conséquent, être édité ou supprimé. Ici, vous pouvez cependant ajouter ou retirer des membres au groupe.",
+
// "admin.access-control.groups.form.alert.workflowGroup": "This group can’t be modified or deleted because it corresponds to a role in the submission and workflow process in the \"{{name}}\" {{comcol}}. You can delete it from the \"assign roles\" tab on the edit {{comcol}} page. You can still add and remove group members using this page.",
- // TODO New key - Add a translation
- "admin.access-control.groups.form.alert.workflowGroup": "This group can’t be modified or deleted because it corresponds to a role in the submission and workflow process in the \"{{name}}\" {{comcol}}. You can delete it from the \"assign roles\" tab on the edit {{comcol}} page. You can still add and remove group members using this page.",
-
+ "admin.access-control.groups.form.alert.workflowGroup": "Ce groupe ne peut être modifié ou supprimé car il correspond à un rôle dans le processus de dépôt et/ou de validation dans \"{{name}}\" {{comcol}}. Vous pouvez le supprimer depuis l'onglet \"Attribuer des rôles\" de la page d'édition {{comcol}}. Ici, vous pouvez cependant ajouter ou retirer des membres au groupe.",
+
// "admin.access-control.groups.form.head.create": "Create group",
- // TODO New key - Add a translation
- "admin.access-control.groups.form.head.create": "Create group",
-
+ "admin.access-control.groups.form.head.create": "Créer groupe",
+
// "admin.access-control.groups.form.head.edit": "Edit group",
- // TODO New key - Add a translation
- "admin.access-control.groups.form.head.edit": "Edit group",
-
+ "admin.access-control.groups.form.head.edit": "Éditer groupe",
+
// "admin.access-control.groups.form.groupName": "Group name",
- // TODO New key - Add a translation
- "admin.access-control.groups.form.groupName": "Group name",
-
+ "admin.access-control.groups.form.groupName": "Nom du groupe",
+
// "admin.access-control.groups.form.groupDescription": "Description",
- // TODO New key - Add a translation
"admin.access-control.groups.form.groupDescription": "Description",
-
+
// "admin.access-control.groups.form.notification.created.success": "Successfully created Group \"{{name}}\"",
- // TODO New key - Add a translation
- "admin.access-control.groups.form.notification.created.success": "Successfully created Group \"{{name}}\"",
-
+ "admin.access-control.groups.form.notification.created.success": "Groupe \"{{name}}\" créé avec succès",
+
// "admin.access-control.groups.form.notification.created.failure": "Failed to create Group \"{{name}}\"",
- // TODO New key - Add a translation
- "admin.access-control.groups.form.notification.created.failure": "Failed to create Group \"{{name}}\"",
-
+ "admin.access-control.groups.form.notification.created.failure": "Erreur lors de la création du groupe \"{{name}}\"",
+
// "admin.access-control.groups.form.notification.created.failure.groupNameInUse": "Failed to create Group with name: \"{{name}}\", make sure the name is not already in use.",
- // TODO New key - Add a translation
- "admin.access-control.groups.form.notification.created.failure.groupNameInUse": "Failed to create Group with name: \"{{name}}\", make sure the name is not already in use.",
-
+ "admin.access-control.groups.form.notification.created.failure.groupNameInUse": "Erreur lors de la création du groupe \"{{name}}\", veuillez vérifier que ce nom n'est pas déjà utilisé.",
+
// "admin.access-control.groups.form.notification.edited.failure": "Failed to edit Group \"{{name}}\"",
- // TODO New key - Add a translation
- "admin.access-control.groups.form.notification.edited.failure": "Failed to edit Group \"{{name}}\"",
-
+ "admin.access-control.groups.form.notification.edited.failure": "Erreur lors de la modification du groupe \"{{name}}\"",
+
// "admin.access-control.groups.form.notification.edited.failure.groupNameInUse": "Name \"{{name}}\" already in use!",
- // TODO New key - Add a translation
- "admin.access-control.groups.form.notification.edited.failure.groupNameInUse": "Name \"{{name}}\" already in use!",
-
+ "admin.access-control.groups.form.notification.edited.failure.groupNameInUse": "Le nom \"{{name}}\" est déjà utilisé!",
+
// "admin.access-control.groups.form.notification.edited.success": "Successfully edited Group \"{{name}}\"",
- // TODO New key - Add a translation
- "admin.access-control.groups.form.notification.edited.success": "Successfully edited Group \"{{name}}\"",
-
+ "admin.access-control.groups.form.notification.edited.success": "Groupe \"{{name}}\" édité avec succès",
+
// "admin.access-control.groups.form.actions.delete": "Delete Group",
- // TODO New key - Add a translation
- "admin.access-control.groups.form.actions.delete": "Delete Group",
-
+ "admin.access-control.groups.form.actions.delete": "Supprimer groupe",
+
// "admin.access-control.groups.form.delete-group.modal.header": "Delete Group \"{{ dsoName }}\"",
- // TODO New key - Add a translation
- "admin.access-control.groups.form.delete-group.modal.header": "Delete Group \"{{ dsoName }}\"",
-
+ "admin.access-control.groups.form.delete-group.modal.header": "Supprimer groupe \"{{ dsoName }}\"",
+
// "admin.access-control.groups.form.delete-group.modal.info": "Are you sure you want to delete Group \"{{ dsoName }}\"",
- // TODO New key - Add a translation
- "admin.access-control.groups.form.delete-group.modal.info": "Are you sure you want to delete Group \"{{ dsoName }}\"",
-
+ "admin.access-control.groups.form.delete-group.modal.info": "Êtes-vous certain de vouloir supprimer le groupe \"{{ dsoName }}\"",
+
// "admin.access-control.groups.form.delete-group.modal.cancel": "Cancel",
- // TODO New key - Add a translation
- "admin.access-control.groups.form.delete-group.modal.cancel": "Cancel",
-
+ "admin.access-control.groups.form.delete-group.modal.cancel": "Annuler",
+
// "admin.access-control.groups.form.delete-group.modal.confirm": "Delete",
- // TODO New key - Add a translation
- "admin.access-control.groups.form.delete-group.modal.confirm": "Delete",
-
+ "admin.access-control.groups.form.delete-group.modal.confirm": "Supprimer",
+
// "admin.access-control.groups.form.notification.deleted.success": "Successfully deleted group \"{{ name }}\"",
- // TODO New key - Add a translation
- "admin.access-control.groups.form.notification.deleted.success": "Successfully deleted group \"{{ name }}\"",
-
+ "admin.access-control.groups.form.notification.deleted.success": "Groupe \"{{ name }}\" supprimé avec succès",
+
// "admin.access-control.groups.form.notification.deleted.failure.title": "Failed to delete group \"{{ name }}\"",
- // TODO New key - Add a translation
- "admin.access-control.groups.form.notification.deleted.failure.title": "Failed to delete group \"{{ name }}\"",
-
+ "admin.access-control.groups.form.notification.deleted.failure.title": "Erreur lors de la suppression du groupe \"{{ name }}\"",
+
// "admin.access-control.groups.form.notification.deleted.failure.content": "Cause: \"{{ cause }}\"",
- // TODO New key - Add a translation
- "admin.access-control.groups.form.notification.deleted.failure.content": "Cause: \"{{ cause }}\"",
-
+ "admin.access-control.groups.form.notification.deleted.failure.content": "Cause : \"{{ cause }}\"",
+
// "admin.access-control.groups.form.members-list.head": "EPeople",
- // TODO New key - Add a translation
"admin.access-control.groups.form.members-list.head": "EPeople",
-
+
// "admin.access-control.groups.form.members-list.search.head": "Add EPeople",
- // TODO New key - Add a translation
- "admin.access-control.groups.form.members-list.search.head": "Add EPeople",
-
+ "admin.access-control.groups.form.members-list.search.head": "Ajouter EPeople",
+
// "admin.access-control.groups.form.members-list.button.see-all": "Browse All",
- // TODO New key - Add a translation
- "admin.access-control.groups.form.members-list.button.see-all": "Browse All",
-
+ "admin.access-control.groups.form.members-list.button.see-all": "Voir tout",
+
// "admin.access-control.groups.form.members-list.headMembers": "Current Members",
- // TODO New key - Add a translation
- "admin.access-control.groups.form.members-list.headMembers": "Current Members",
-
+ "admin.access-control.groups.form.members-list.headMembers": "Membres actuels",
+
// "admin.access-control.groups.form.members-list.search.scope.metadata": "Metadata",
- // TODO New key - Add a translation
- "admin.access-control.groups.form.members-list.search.scope.metadata": "Metadata",
-
+ "admin.access-control.groups.form.members-list.search.scope.metadata": "Métadonnées",
+
// "admin.access-control.groups.form.members-list.search.scope.email": "E-mail (exact)",
- // TODO New key - Add a translation
"admin.access-control.groups.form.members-list.search.scope.email": "E-mail (exact)",
-
+
// "admin.access-control.groups.form.members-list.search.button": "Search",
- // TODO New key - Add a translation
- "admin.access-control.groups.form.members-list.search.button": "Search",
-
+ "admin.access-control.groups.form.members-list.search.button": "Rechercher",
+
// "admin.access-control.groups.form.members-list.table.id": "ID",
- // TODO New key - Add a translation
"admin.access-control.groups.form.members-list.table.id": "ID",
-
+
// "admin.access-control.groups.form.members-list.table.name": "Name",
- // TODO New key - Add a translation
- "admin.access-control.groups.form.members-list.table.name": "Name",
-
+ "admin.access-control.groups.form.members-list.table.name": "Nom",
+
// "admin.access-control.groups.form.members-list.table.edit": "Remove / Add",
- // TODO New key - Add a translation
- "admin.access-control.groups.form.members-list.table.edit": "Remove / Add",
-
+ "admin.access-control.groups.form.members-list.table.edit": "Supprimer / Ajouter",
+
// "admin.access-control.groups.form.members-list.table.edit.buttons.remove": "Remove member with name \"{{name}}\"",
- // TODO New key - Add a translation
- "admin.access-control.groups.form.members-list.table.edit.buttons.remove": "Remove member with name \"{{name}}\"",
-
+ "admin.access-control.groups.form.members-list.table.edit.buttons.remove": "Supprimer \"{{name}}\"",
+
// "admin.access-control.groups.form.members-list.notification.success.addMember": "Successfully added member: \"{{name}}\"",
- // TODO New key - Add a translation
- "admin.access-control.groups.form.members-list.notification.success.addMember": "Successfully added member: \"{{name}}\"",
-
+ "admin.access-control.groups.form.members-list.notification.success.addMember": "Membre \"{{name}}\" ajouté avec succès",
+
// "admin.access-control.groups.form.members-list.notification.failure.addMember": "Failed to add member: \"{{name}}\"",
- // TODO New key - Add a translation
- "admin.access-control.groups.form.members-list.notification.failure.addMember": "Failed to add member: \"{{name}}\"",
-
+ "admin.access-control.groups.form.members-list.notification.failure.addMember": "Erreur lors de l'ajout de \"{{name}}\"",
+
// "admin.access-control.groups.form.members-list.notification.success.deleteMember": "Successfully deleted member: \"{{name}}\"",
- // TODO New key - Add a translation
- "admin.access-control.groups.form.members-list.notification.success.deleteMember": "Successfully deleted member: \"{{name}}\"",
-
+ "admin.access-control.groups.form.members-list.notification.success.deleteMember": "Membre \"{{name}}\" supprimé avec succès",
+
// "admin.access-control.groups.form.members-list.notification.failure.deleteMember": "Failed to delete member: \"{{name}}\"",
- // TODO New key - Add a translation
- "admin.access-control.groups.form.members-list.notification.failure.deleteMember": "Failed to delete member: \"{{name}}\"",
-
+ "admin.access-control.groups.form.members-list.notification.failure.deleteMember": "Erreur lors de la suppression de \"{{name}}\"",
+
// "admin.access-control.groups.form.members-list.table.edit.buttons.add": "Add member with name \"{{name}}\"",
- // TODO New key - Add a translation
- "admin.access-control.groups.form.members-list.table.edit.buttons.add": "Add member with name \"{{name}}\"",
-
+ "admin.access-control.groups.form.members-list.table.edit.buttons.add": "Ajouter \"{{name}}\"",
+
// "admin.access-control.groups.form.members-list.notification.failure.noActiveGroup": "No current active group, submit a name first.",
- // TODO New key - Add a translation
- "admin.access-control.groups.form.members-list.notification.failure.noActiveGroup": "No current active group, submit a name first.",
-
+ "admin.access-control.groups.form.members-list.notification.failure.noActiveGroup": "Pas de groupe actif, veuillez d'abord entrer un nom.",
+
// "admin.access-control.groups.form.members-list.no-members-yet": "No members in group yet, search and add.",
- // TODO New key - Add a translation
- "admin.access-control.groups.form.members-list.no-members-yet": "No members in group yet, search and add.",
-
+ "admin.access-control.groups.form.members-list.no-members-yet": "Ce groupe ne contient pas encore de membres, vous pouvez en rechercher et les ajouter.",
+
// "admin.access-control.groups.form.members-list.no-items": "No EPeople found in that search",
- // TODO New key - Add a translation
- "admin.access-control.groups.form.members-list.no-items": "No EPeople found in that search",
-
+ "admin.access-control.groups.form.members-list.no-items": "Aucune EPerson ne correspond à cette recherche",
+
// "admin.access-control.groups.form.subgroups-list.notification.failure": "Something went wrong: \"{{cause}}\"",
- // TODO New key - Add a translation
- "admin.access-control.groups.form.subgroups-list.notification.failure": "Something went wrong: \"{{cause}}\"",
-
+ "admin.access-control.groups.form.subgroups-list.notification.failure": "Une erreur s'est produite : \"{{cause}}\"",
+
// "admin.access-control.groups.form.subgroups-list.head": "Groups",
- // TODO New key - Add a translation
- "admin.access-control.groups.form.subgroups-list.head": "Groups",
-
+ "admin.access-control.groups.form.subgroups-list.head": "Groupes",
+
// "admin.access-control.groups.form.subgroups-list.search.head": "Add Subgroup",
- // TODO New key - Add a translation
- "admin.access-control.groups.form.subgroups-list.search.head": "Add Subgroup",
-
+ "admin.access-control.groups.form.subgroups-list.search.head": "Ajouter un sous-groupe",
+
// "admin.access-control.groups.form.subgroups-list.button.see-all": "Browse All",
- // TODO New key - Add a translation
- "admin.access-control.groups.form.subgroups-list.button.see-all": "Browse All",
-
+ "admin.access-control.groups.form.subgroups-list.button.see-all": "Parcourir tout",
+
// "admin.access-control.groups.form.subgroups-list.headSubgroups": "Current Subgroups",
- // TODO New key - Add a translation
- "admin.access-control.groups.form.subgroups-list.headSubgroups": "Current Subgroups",
-
+ "admin.access-control.groups.form.subgroups-list.headSubgroups": "Sous-groupes actuels",
+
// "admin.access-control.groups.form.subgroups-list.search.button": "Search",
- // TODO New key - Add a translation
- "admin.access-control.groups.form.subgroups-list.search.button": "Search",
-
+ "admin.access-control.groups.form.subgroups-list.search.button": "Rechercher",
+
// "admin.access-control.groups.form.subgroups-list.table.id": "ID",
- // TODO New key - Add a translation
"admin.access-control.groups.form.subgroups-list.table.id": "ID",
-
+
// "admin.access-control.groups.form.subgroups-list.table.name": "Name",
- // TODO New key - Add a translation
- "admin.access-control.groups.form.subgroups-list.table.name": "Name",
-
+ "admin.access-control.groups.form.subgroups-list.table.name": "Nom",
+
// "admin.access-control.groups.form.subgroups-list.table.edit": "Remove / Add",
- // TODO New key - Add a translation
- "admin.access-control.groups.form.subgroups-list.table.edit": "Remove / Add",
-
+ "admin.access-control.groups.form.subgroups-list.table.edit": "Supprimer / Ajouter",
+
// "admin.access-control.groups.form.subgroups-list.table.edit.buttons.remove": "Remove subgroup with name \"{{name}}\"",
- // TODO New key - Add a translation
- "admin.access-control.groups.form.subgroups-list.table.edit.buttons.remove": "Remove subgroup with name \"{{name}}\"",
-
+ "admin.access-control.groups.form.subgroups-list.table.edit.buttons.remove": "Supprimer le sous-groupe \"{{name}}\"",
+
// "admin.access-control.groups.form.subgroups-list.table.edit.buttons.add": "Add subgroup with name \"{{name}}\"",
- // TODO New key - Add a translation
- "admin.access-control.groups.form.subgroups-list.table.edit.buttons.add": "Add subgroup with name \"{{name}}\"",
-
+ "admin.access-control.groups.form.subgroups-list.table.edit.buttons.add": "Ajouter le sous-groupe \"{{name}}\"",
+
// "admin.access-control.groups.form.subgroups-list.table.edit.currentGroup": "Current group",
- // TODO New key - Add a translation
- "admin.access-control.groups.form.subgroups-list.table.edit.currentGroup": "Current group",
-
+ "admin.access-control.groups.form.subgroups-list.table.edit.currentGroup": "Groupe actuel",
+
// "admin.access-control.groups.form.subgroups-list.notification.success.addSubgroup": "Successfully added subgroup: \"{{name}}\"",
- // TODO New key - Add a translation
- "admin.access-control.groups.form.subgroups-list.notification.success.addSubgroup": "Successfully added subgroup: \"{{name}}\"",
-
+ "admin.access-control.groups.form.subgroups-list.notification.success.addSubgroup": "Sous-groupe \"{{name}}\" ajouté avec succès",
+
// "admin.access-control.groups.form.subgroups-list.notification.failure.addSubgroup": "Failed to add subgroup: \"{{name}}\"",
- // TODO New key - Add a translation
- "admin.access-control.groups.form.subgroups-list.notification.failure.addSubgroup": "Failed to add subgroup: \"{{name}}\"",
-
+ "admin.access-control.groups.form.subgroups-list.notification.failure.addSubgroup": "Erreur lors de la création du sous-groupe \"{{name}}\"",
+
// "admin.access-control.groups.form.subgroups-list.notification.success.deleteSubgroup": "Successfully deleted subgroup: \"{{name}}\"",
- // TODO New key - Add a translation
- "admin.access-control.groups.form.subgroups-list.notification.success.deleteSubgroup": "Successfully deleted subgroup: \"{{name}}\"",
-
+ "admin.access-control.groups.form.subgroups-list.notification.success.deleteSubgroup": "Sous-groupe \"{{name}}\" supprimé avec succès",
+
// "admin.access-control.groups.form.subgroups-list.notification.failure.deleteSubgroup": "Failed to delete subgroup: \"{{name}}\"",
- // TODO New key - Add a translation
- "admin.access-control.groups.form.subgroups-list.notification.failure.deleteSubgroup": "Failed to delete subgroup: \"{{name}}\"",
-
+ "admin.access-control.groups.form.subgroups-list.notification.failure.deleteSubgroup": "Erreur lors de la suppression du sous-groupe \"{{name}}\"",
+
// "admin.access-control.groups.form.subgroups-list.notification.failure.noActiveGroup": "No current active group, submit a name first.",
- // TODO New key - Add a translation
- "admin.access-control.groups.form.subgroups-list.notification.failure.noActiveGroup": "No current active group, submit a name first.",
-
+ "admin.access-control.groups.form.subgroups-list.notification.failure.noActiveGroup": "Pas de groupe actif, veuillez d'abord entrer un nom.",
+
// "admin.access-control.groups.form.subgroups-list.notification.failure.subgroupToAddIsActiveGroup": "This is the current group, can't be added.",
- // TODO New key - Add a translation
- "admin.access-control.groups.form.subgroups-list.notification.failure.subgroupToAddIsActiveGroup": "This is the current group, can't be added.",
-
+ "admin.access-control.groups.form.subgroups-list.notification.failure.subgroupToAddIsActiveGroup": "Il s'agit du groupe actuel, impossible de l'ajouter comme sous-groupe.",
+
// "admin.access-control.groups.form.subgroups-list.no-items": "No groups found with this in their name or this as UUID",
- // TODO New key - Add a translation
- "admin.access-control.groups.form.subgroups-list.no-items": "No groups found with this in their name or this as UUID",
-
+ "admin.access-control.groups.form.subgroups-list.no-items": "Aucun groupe ne correspond à ce nom ou cet identifiant UUID",
+
// "admin.access-control.groups.form.subgroups-list.no-subgroups-yet": "No subgroups in group yet.",
- // TODO New key - Add a translation
- "admin.access-control.groups.form.subgroups-list.no-subgroups-yet": "No subgroups in group yet.",
-
+ "admin.access-control.groups.form.subgroups-list.no-subgroups-yet": "Pas encore de sous-groupes liés à ce groupe.",
+
// "admin.access-control.groups.form.return": "Return to groups",
- // TODO New key - Add a translation
- "admin.access-control.groups.form.return": "Return to groups",
-
-
-
+ "admin.access-control.groups.form.return": "Retour aux groupes",
+
+
+
// "admin.search.breadcrumbs": "Administrative Search",
- // TODO New key - Add a translation
- "admin.search.breadcrumbs": "Administrative Search",
-
+ "admin.search.breadcrumbs": "Recherche Administrateur",
+
// "admin.search.collection.edit": "Edit",
- // TODO New key - Add a translation
- "admin.search.collection.edit": "Edit",
-
+ "admin.search.collection.edit": "Éditer",
+
// "admin.search.community.edit": "Edit",
- // TODO New key - Add a translation
- "admin.search.community.edit": "Edit",
-
+ "admin.search.community.edit": "Éditer",
+
// "admin.search.item.delete": "Delete",
- // TODO New key - Add a translation
- "admin.search.item.delete": "Delete",
-
+ "admin.search.item.delete": "Supprimer",
+
// "admin.search.item.edit": "Edit",
- // TODO New key - Add a translation
- "admin.search.item.edit": "Edit",
-
+ "admin.search.item.edit": "Éditer",
+
// "admin.search.item.make-private": "Make Private",
- // TODO New key - Add a translation
- "admin.search.item.make-private": "Make Private",
-
+ "admin.search.item.make-private": "Rendre privé",
+
// "admin.search.item.make-public": "Make Public",
- // TODO New key - Add a translation
- "admin.search.item.make-public": "Make Public",
-
+ "admin.search.item.make-public": "Rendre public",
+
// "admin.search.item.move": "Move",
- // TODO New key - Add a translation
- "admin.search.item.move": "Move",
-
+ "admin.search.item.move": "Déplacer",
+
// "admin.search.item.reinstate": "Reinstate",
- // TODO New key - Add a translation
- "admin.search.item.reinstate": "Reinstate",
-
+ "admin.search.item.reinstate": "Restaurer",
+
// "admin.search.item.withdraw": "Withdraw",
- // TODO New key - Add a translation
- "admin.search.item.withdraw": "Withdraw",
-
+ "admin.search.item.withdraw": "Retirer",
+
// "admin.search.title": "Administrative Search",
- // TODO New key - Add a translation
- "admin.search.title": "Administrative Search",
-
+ "admin.search.title": "Recherche Administrateur",
+
// "administrativeView.search.results.head": "Administrative Search",
- // TODO New key - Add a translation
- "administrativeView.search.results.head": "Administrative Search",
-
-
-
-
+ "administrativeView.search.results.head": "Recherche Administrateur",
+
+
// "admin.workflow.breadcrumbs": "Administer Workflow",
- // TODO New key - Add a translation
- "admin.workflow.breadcrumbs": "Administer Workflow",
-
+ "admin.workflow.breadcrumbs": "Workflow Administrateur",
+
// "admin.workflow.title": "Administer Workflow",
- // TODO New key - Add a translation
- "admin.workflow.title": "Administer Workflow",
-
+ "admin.workflow.title": "Workflow Adminisrateur",
+
// "admin.workflow.item.workflow": "Workflow",
- // TODO New key - Add a translation
"admin.workflow.item.workflow": "Workflow",
-
+
// "admin.workflow.item.delete": "Delete",
- // TODO New key - Add a translation
- "admin.workflow.item.delete": "Delete",
-
+ "admin.workflow.item.delete": "Supprimer",
+
// "admin.workflow.item.send-back": "Send back",
- // TODO New key - Add a translation
- "admin.workflow.item.send-back": "Send back",
-
-
-
+ "admin.workflow.item.send-back": "Retourner au déposant",
+
// "admin.metadata-import.breadcrumbs": "Import Metadata",
- // TODO New key - Add a translation
- "admin.metadata-import.breadcrumbs": "Import Metadata",
-
+ "admin.metadata-import.breadcrumbs": "Importer Métadonnées",
+
// "admin.metadata-import.title": "Import Metadata",
- // TODO New key - Add a translation
- "admin.metadata-import.title": "Import Metadata",
-
+ "admin.metadata-import.title": "Importer Métadonnées",
+
// "admin.metadata-import.page.header": "Import Metadata",
- // TODO New key - Add a translation
- "admin.metadata-import.page.header": "Import Metadata",
-
+ "admin.metadata-import.page.header": "Importer Métadonnées",
+
// "admin.metadata-import.page.help": "You can drop or browse CSV files that contain batch metadata operations on files here",
- // TODO New key - Add a translation
- "admin.metadata-import.page.help": "You can drop or browse CSV files that contain batch metadata operations on files here",
-
+ "admin.metadata-import.page.help": "Ici, vous pouvez glisser-déposer ou rechercher des fichiers CSV qui contiennent des opérations sur métadonnées",
+
// "admin.metadata-import.page.dropMsg": "Drop a metadata CSV to import",
- // TODO New key - Add a translation
- "admin.metadata-import.page.dropMsg": "Drop a metadata CSV to import",
-
+ "admin.metadata-import.page.dropMsg": "Déposer un fichier CSV à importer",
+
// "admin.metadata-import.page.dropMsgReplace": "Drop to replace the metadata CSV to import",
- // TODO New key - Add a translation
- "admin.metadata-import.page.dropMsgReplace": "Drop to replace the metadata CSV to import",
-
+ "admin.metadata-import.page.dropMsgReplace": "Déposer un nouveau fichier CSV pour remplacer le fichier à importer",
+
// "admin.metadata-import.page.button.return": "Return",
- // TODO New key - Add a translation
- "admin.metadata-import.page.button.return": "Return",
-
+ "admin.metadata-import.page.button.return": "Retour",
+
// "admin.metadata-import.page.button.proceed": "Proceed",
- // TODO New key - Add a translation
- "admin.metadata-import.page.button.proceed": "Proceed",
-
+ "admin.metadata-import.page.button.proceed": "Importer",
+
// "admin.metadata-import.page.error.addFile": "Select file first!",
- // TODO New key - Add a translation
- "admin.metadata-import.page.error.addFile": "Select file first!",
-
-
-
-
+ "admin.metadata-import.page.error.addFile": "Veuillez d'abord sélectionner un fichier",
+
+
+
// "auth.errors.invalid-user": "Invalid email address or password.",
"auth.errors.invalid-user": "Adresse e-mail ou mot de passe non valide.",
-
+
// "auth.messages.expired": "Your session has expired. Please log in again.",
"auth.messages.expired": "Votre session a expiré. Veuillez vous reconnecter.",
-
-
-
+
+
+
// "bitstream.edit.bitstream": "Bitstream: ",
- // TODO New key - Add a translation
"bitstream.edit.bitstream": "Bitstream: ",
-
+
// "bitstream.edit.form.description.hint": "Optionally, provide a brief description of the file, for example \"Main article\" or \"Experiment data readings\".",
- // TODO New key - Add a translation
- "bitstream.edit.form.description.hint": "Optionally, provide a brief description of the file, for example \"Main article\" or \"Experiment data readings\".",
-
+ "bitstream.edit.form.description.hint": "Il vous est possible d'entrer une description facultative pour le fichier, par exemple \"Article principal\" ou \"Données sous-jacentes\".",
+
// "bitstream.edit.form.description.label": "Description",
- // TODO New key - Add a translation
"bitstream.edit.form.description.label": "Description",
-
+
// "bitstream.edit.form.embargo.hint": "The first day from which access is allowed. This date cannot be modified on this form. To set an embargo date for a bitstream, go to the Item Status tab, click Authorizations..., create or edit the bitstream's READ policy, and set the Start Date as desired.",
- // TODO New key - Add a translation
- "bitstream.edit.form.embargo.hint": "The first day from which access is allowed. This date cannot be modified on this form. To set an embargo date for a bitstream, go to the Item Status tab, click Authorizations..., create or edit the bitstream's READ policy, and set the Start Date as desired.",
-
+ "bitstream.edit.form.embargo.hint": "Le premier jour à partir duquel l'accès est autorisé. Cette date ne peut être modifiée depuis ce formulaire. Pour définir une date d'embargo sur un fichier, aller dans l'onglet Statut Item, cliquer sur Autorisations..., créer ou éditer les politiques READ du fichier et configurer la Date de début souhaitée.",
+
// "bitstream.edit.form.embargo.label": "Embargo until specific date",
- // TODO New key - Add a translation
- "bitstream.edit.form.embargo.label": "Embargo until specific date",
-
+ "bitstream.edit.form.embargo.label": "Embargo jusqu'à une date spécifique",
+
// "bitstream.edit.form.fileName.hint": "Change the filename for the bitstream. Note that this will change the display bitstream URL, but old links will still resolve as long as the sequence ID does not change.",
- // TODO New key - Add a translation
- "bitstream.edit.form.fileName.hint": "Change the filename for the bitstream. Note that this will change the display bitstream URL, but old links will still resolve as long as the sequence ID does not change.",
-
+ "bitstream.edit.form.fileName.hint": "Changer le nom du fichier. Ceci modifiera l'URL affichée pour le fichier mais les anciens liens continuerons de fonctionner tant que le numéro de séquence n'est pas modifié.",
+
// "bitstream.edit.form.fileName.label": "Filename",
- // TODO New key - Add a translation
- "bitstream.edit.form.fileName.label": "Filename",
-
+ "bitstream.edit.form.fileName.label": "Nom du fichier",
+
// "bitstream.edit.form.newFormat.label": "Describe new format",
- // TODO New key - Add a translation
- "bitstream.edit.form.newFormat.label": "Describe new format",
-
+ "bitstream.edit.form.newFormat.label": "Décrire nouveau format",
+
// "bitstream.edit.form.newFormat.hint": "The application you used to create the file, and the version number (for example, \"ACMESoft SuperApp version 1.5\").",
- // TODO New key - Add a translation
- "bitstream.edit.form.newFormat.hint": "The application you used to create the file, and the version number (for example, \"ACMESoft SuperApp version 1.5\").",
-
+ "bitstream.edit.form.newFormat.hint": "L'application utilisée pour créer le fichier et le numéro de version (par exemple, \"ACMESoft SuperApp version 1.5\").",
+
// "bitstream.edit.form.primaryBitstream.label": "Primary bitstream",
- // TODO New key - Add a translation
- "bitstream.edit.form.primaryBitstream.label": "Primary bitstream",
-
+ "bitstream.edit.form.primaryBitstream.label": "Bitstream principal",
+
// "bitstream.edit.form.selectedFormat.hint": "If the format is not in the above list, select \"format not in list\" above and describe it under \"Describe new format\".",
- // TODO New key - Add a translation
- "bitstream.edit.form.selectedFormat.hint": "If the format is not in the above list, select \"format not in list\" above and describe it under \"Describe new format\".",
-
+ "bitstream.edit.form.selectedFormat.hint": "Si le format souhaité ne se trouve pas dans la liste ci-dessus, sélectionner \"Format non disponible dans la liste\" ci-dessus et le décrire via \"Décrire nouveau format\".",
+
// "bitstream.edit.form.selectedFormat.label": "Selected Format",
- // TODO New key - Add a translation
- "bitstream.edit.form.selectedFormat.label": "Selected Format",
-
+ "bitstream.edit.form.selectedFormat.label": "Format sélectionné",
+
// "bitstream.edit.form.selectedFormat.unknown": "Format not in list",
- // TODO New key - Add a translation
- "bitstream.edit.form.selectedFormat.unknown": "Format not in list",
-
+ "bitstream.edit.form.selectedFormat.unknown": "Format non disponible dans la liste",
+
// "bitstream.edit.notifications.error.format.title": "An error occurred saving the bitstream's format",
- // TODO New key - Add a translation
- "bitstream.edit.notifications.error.format.title": "An error occurred saving the bitstream's format",
-
+ "bitstream.edit.notifications.error.format.title": "Une erreur s'est produite lors de la sauvegarde du format bitstream",
+
// "bitstream.edit.notifications.saved.content": "Your changes to this bitstream were saved.",
- // TODO New key - Add a translation
- "bitstream.edit.notifications.saved.content": "Your changes to this bitstream were saved.",
-
+ "bitstream.edit.notifications.saved.content": "Vos changements ont bien été sauvegardés.",
+
// "bitstream.edit.notifications.saved.title": "Bitstream saved",
- // TODO New key - Add a translation
- "bitstream.edit.notifications.saved.title": "Bitstream saved",
-
+ "bitstream.edit.notifications.saved.title": "Bitstream sauvegardé",
+
// "bitstream.edit.title": "Edit bitstream",
- // TODO New key - Add a translation
- "bitstream.edit.title": "Edit bitstream",
-
-
-
+ "bitstream.edit.title": "Éditer Bitstream",
+
+
+
// "browse.comcol.by.author": "By Author",
"browse.comcol.by.author": "Auteur",
-
+
// "browse.comcol.by.dateissued": "By Issue Date",
"browse.comcol.by.dateissued": "Date de publication",
-
+
// "browse.comcol.by.subject": "By Subject",
"browse.comcol.by.subject": "Sujet",
-
+
// "browse.comcol.by.title": "By Title",
"browse.comcol.by.title": "Titre",
-
+
// "browse.comcol.head": "Browse",
"browse.comcol.head": "Parcourir par",
-
+
// "browse.empty": "No items to show.",
"browse.empty": "Aucun résultat.",
-
+
// "browse.metadata.author": "Author",
"browse.metadata.author": "Auteur",
-
+
// "browse.metadata.dateissued": "Issue Date",
"browse.metadata.dateissued": "Date de publication",
-
+
// "browse.metadata.subject": "Subject",
"browse.metadata.subject": "Sujet",
-
+
// "browse.metadata.title": "Title",
"browse.metadata.title": "Titre",
-
+
// "browse.metadata.author.breadcrumbs": "Browse by Author",
- // TODO New key - Add a translation
- "browse.metadata.author.breadcrumbs": "Browse by Author",
-
+ "browse.metadata.author.breadcrumbs": "Parcourir par Auteur",
+
// "browse.metadata.dateissued.breadcrumbs": "Browse by Date",
- // TODO New key - Add a translation
- "browse.metadata.dateissued.breadcrumbs": "Browse by Date",
-
+ "browse.metadata.dateissued.breadcrumbs": "Parcourir par Date",
+
// "browse.metadata.subject.breadcrumbs": "Browse by Subject",
- // TODO New key - Add a translation
- "browse.metadata.subject.breadcrumbs": "Browse by Subject",
-
+ "browse.metadata.subject.breadcrumbs": "Parcourir par Sujet",
+
// "browse.metadata.title.breadcrumbs": "Browse by Title",
- // TODO New key - Add a translation
- "browse.metadata.title.breadcrumbs": "Browse by Title",
-
+ "browse.metadata.title.breadcrumbs": "Parcourir par Titre",
+
// "browse.startsWith.choose_start": "(Choose start)",
"browse.startsWith.choose_start": "(Choisir point de départ)",
-
+
// "browse.startsWith.choose_year": "(Choose year)",
"browse.startsWith.choose_year": "(Choisir l'année)",
-
+
// "browse.startsWith.jump": "Jump to a point in the index:",
"browse.startsWith.jump": "Aller directement à une entrée de l'index :",
-
+
// "browse.startsWith.months.april": "April",
"browse.startsWith.months.april": "Avril",
-
+
// "browse.startsWith.months.august": "August",
"browse.startsWith.months.august": "Août",
-
+
// "browse.startsWith.months.december": "December",
"browse.startsWith.months.december": "Décembre",
-
+
// "browse.startsWith.months.february": "February",
"browse.startsWith.months.february": "Février",
-
+
// "browse.startsWith.months.january": "January",
"browse.startsWith.months.january": "Janvier",
-
+
// "browse.startsWith.months.july": "July",
"browse.startsWith.months.july": "Juillet",
-
+
// "browse.startsWith.months.june": "June",
"browse.startsWith.months.june": "Juin",
-
+
// "browse.startsWith.months.march": "March",
"browse.startsWith.months.march": "Mars",
-
+
// "browse.startsWith.months.may": "May",
"browse.startsWith.months.may": "Mai",
-
+
// "browse.startsWith.months.none": "(Choose month)",
"browse.startsWith.months.none": "(Choisir le mois)",
-
+
// "browse.startsWith.months.november": "November",
"browse.startsWith.months.november": "Novembre",
-
+
// "browse.startsWith.months.october": "October",
"browse.startsWith.months.october": "Octobre",
-
+
// "browse.startsWith.months.september": "September",
"browse.startsWith.months.september": "Septembre",
-
+
// "browse.startsWith.submit": "Go",
"browse.startsWith.submit": "Valider",
-
+
// "browse.startsWith.type_date": "Or type in a date (year-month):",
"browse.startsWith.type_date": "Ou saisir une date (année-mois) :",
-
+
// "browse.startsWith.type_text": "Or enter first few letters:",
"browse.startsWith.type_text": "Ou saisir les premières lettres :",
-
+
// "browse.title": "Browsing {{ collection }} by {{ field }} {{ value }}",
"browse.title": "Parcourir {{ collection }} par {{ field }} {{ value }}",
-
-
+
+
// "chips.remove": "Remove chip",
"chips.remove": "Supprimer fragment",
-
-
-
+
+
+
// "collection.create.head": "Create a Collection",
"collection.create.head": "Créer une Collection",
-
+
// "collection.create.notifications.success": "Successfully created the Collection",
- // TODO New key - Add a translation
- "collection.create.notifications.success": "Successfully created the Collection",
-
+ "collection.create.notifications.success": "Collection créée avec succès",
+
// "collection.create.sub-head": "Create a Collection for Community {{ parent }}",
"collection.create.sub-head": "Créer une Collection au sein de la Communauté {{ parent }}",
-
+
// "collection.curate.header": "Curate Collection: {{collection}}",
- // TODO New key - Add a translation
- "collection.curate.header": "Curate Collection: {{collection}}",
-
+ "collection.curate.header": "Gestion contenu Collection: {{collection}}",
+
// "collection.delete.cancel": "Cancel",
"collection.delete.cancel": "Annuler",
-
+
// "collection.delete.confirm": "Confirm",
"collection.delete.confirm": "Valider",
-
+
// "collection.delete.head": "Delete Collection",
"collection.delete.head": "Supprimer Collection",
-
+
// "collection.delete.notification.fail": "Collection could not be deleted",
"collection.delete.notification.fail": "La Collection n'a pas pu être supprimée",
-
+
// "collection.delete.notification.success": "Successfully deleted collection",
"collection.delete.notification.success": "Collection supprimée avec succès",
-
+
// "collection.delete.text": "Are you sure you want to delete collection \"{{ dso }}\"",
"collection.delete.text": "Êtes-vous certain de vouloir supprimer la Collection « {{ dso }} »",
-
-
-
+
+
+
// "collection.edit.delete": "Delete this collection",
"collection.edit.delete": "Supprimer cette Collection",
-
+
// "collection.edit.head": "Edit Collection",
"collection.edit.head": "Éditer Collection",
-
+
// "collection.edit.breadcrumbs": "Edit Collection",
- // TODO New key - Add a translation
- "collection.edit.breadcrumbs": "Edit Collection",
-
-
-
+ "collection.edit.breadcrumbs": "Éditer Collection",
+
// "collection.edit.tabs.mapper.head": "Item Mapper",
- // TODO New key - Add a translation
"collection.edit.tabs.mapper.head": "Item Mapper",
-
+
// "collection.edit.tabs.item-mapper.title": "Collection Edit - Item Mapper",
- // TODO New key - Add a translation
"collection.edit.tabs.item-mapper.title": "Collection Edit - Item Mapper",
-
+
// "collection.edit.item-mapper.cancel": "Cancel",
"collection.edit.item-mapper.cancel": "Annuler",
-
+
// "collection.edit.item-mapper.collection": "Collection: \"{{name}}\"",
"collection.edit.item-mapper.collection": "Collection : « {{name}} »",
-
+
// "collection.edit.item-mapper.confirm": "Map selected items",
"collection.edit.item-mapper.confirm": "Associer les Items sélectionnés",
-
+
// "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": "L'Item Mapper permet aux administrateurs de Collection d'associer des Items provenant d'autres Collections dans cette Collection. Vous pouvez rechercher des Items d'autres Collections et les associer, ou consulter la liste des Items actuellement associés.",
-
+
// "collection.edit.item-mapper.head": "Item Mapper - Map Items from Other Collections",
"collection.edit.item-mapper.head": "Item Mapper - Associer des Items provenant d'autres Collections",
-
+
// "collection.edit.item-mapper.no-search": "Please enter a query to search",
"collection.edit.item-mapper.no-search": "Veuillez entrer un élément à rechercher",
-
+
// "collection.edit.item-mapper.notifications.map.error.content": "Errors occurred for mapping of {{amount}} items.",
"collection.edit.item-mapper.notifications.map.error.content": "Des erreurs se sont produites lors de l'association de {{amount}} Item(s).",
-
+
// "collection.edit.item-mapper.notifications.map.error.head": "Mapping errors",
"collection.edit.item-mapper.notifications.map.error.head": "Erreurs d'association",
-
+
// "collection.edit.item-mapper.notifications.map.success.content": "Successfully mapped {{amount}} items.",
"collection.edit.item-mapper.notifications.map.success.content": "{{amount}} Item(s) associé(s) avec succès.",
-
+
// "collection.edit.item-mapper.notifications.map.success.head": "Mapping completed",
"collection.edit.item-mapper.notifications.map.success.head": "Association terminée",
-
+
// "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": "Des erreurs se sont produites lors de la suppression de l'association de {{amount}} Item(s).",
-
+
// "collection.edit.item-mapper.notifications.unmap.error.head": "Remove mapping errors",
"collection.edit.item-mapper.notifications.unmap.error.head": "Erreurs de suppression d'association",
-
+
// "collection.edit.item-mapper.notifications.unmap.success.content": "Successfully removed the mappings of {{amount}} items.",
"collection.edit.item-mapper.notifications.unmap.success.content": "{{amount}} association(s) supprimée(s) avec succès.",
-
+
// "collection.edit.item-mapper.notifications.unmap.success.head": "Remove mapping completed",
"collection.edit.item-mapper.notifications.unmap.success.head": "Suppression d'association terminée",
-
+
// "collection.edit.item-mapper.remove": "Remove selected item mappings",
"collection.edit.item-mapper.remove": "Supprimer les associations sélectionnées",
-
+
// "collection.edit.item-mapper.tabs.browse": "Browse mapped items",
"collection.edit.item-mapper.tabs.browse": "Parcourir les Items associés",
-
+
// "collection.edit.item-mapper.tabs.map": "Map new items",
"collection.edit.item-mapper.tabs.map": "Associer nouveaux Items",
-
-
-
+
+
+
// "collection.edit.logo.label": "Collection logo",
- // TODO New key - Add a translation
- "collection.edit.logo.label": "Collection logo",
-
+ "collection.edit.logo.label": "Logo de la Collection",
+
// "collection.edit.logo.notifications.add.error": "Uploading Collection logo failed. Please verify the content before retrying.",
- // TODO New key - Add a translation
- "collection.edit.logo.notifications.add.error": "Uploading Collection logo failed. Please verify the content before retrying.",
-
+ "collection.edit.logo.notifications.add.error": "Erreur lors du chargement du logo de la Collection. Veuillez vérifier le contenu et réessayer.",
+
// "collection.edit.logo.notifications.add.success": "Upload Collection logo successful.",
- // TODO New key - Add a translation
- "collection.edit.logo.notifications.add.success": "Upload Collection logo successful.",
-
+ "collection.edit.logo.notifications.add.success": "Logo de la Collection chargé avec succès.",
+
// "collection.edit.logo.notifications.delete.success.title": "Logo deleted",
- // TODO New key - Add a translation
- "collection.edit.logo.notifications.delete.success.title": "Logo deleted",
-
+ "collection.edit.logo.notifications.delete.success.title": "Logo supprimé",
+
// "collection.edit.logo.notifications.delete.success.content": "Successfully deleted the collection's logo",
- // TODO New key - Add a translation
- "collection.edit.logo.notifications.delete.success.content": "Successfully deleted the collection's logo",
-
+ "collection.edit.logo.notifications.delete.success.content": "Logo de la Collection supprimé avec succès",
+
// "collection.edit.logo.notifications.delete.error.title": "Error deleting logo",
- // TODO New key - Add a translation
- "collection.edit.logo.notifications.delete.error.title": "Error deleting logo",
-
+ "collection.edit.logo.notifications.delete.error.title": "Erreur lors de la suppression du logo de la Collection.",
+
// "collection.edit.logo.upload": "Drop a Collection Logo to upload",
- // TODO New key - Add a translation
- "collection.edit.logo.upload": "Drop a Collection Logo to upload",
-
-
-
+ "collection.edit.logo.upload": "Glisser-Déposer un logo à charger pour la Collection",
+
+
+
// "collection.edit.notifications.success": "Successfully edited the Collection",
- // TODO New key - Add a translation
- "collection.edit.notifications.success": "Successfully edited the Collection",
-
+ "collection.edit.notifications.success": "Collection mise à jour avec succès",
+
// "collection.edit.return": "Return",
- // TODO New key - Add a translation
- "collection.edit.return": "Return",
-
-
-
+ "collection.edit.return": "Retour",
+
+
+
// "collection.edit.tabs.curate.head": "Curate",
- // TODO New key - Add a translation
- "collection.edit.tabs.curate.head": "Curate",
-
+ "collection.edit.tabs.curate.head": "Gestion du contenu",
+
// "collection.edit.tabs.curate.title": "Collection Edit - Curate",
- // TODO New key - Add a translation
- "collection.edit.tabs.curate.title": "Collection Edit - Curate",
-
+ "collection.edit.tabs.curate.title": "Édition Collection - Gestion du contenu",
+
// "collection.edit.tabs.authorizations.head": "Authorizations",
- // TODO New key - Add a translation
- "collection.edit.tabs.authorizations.head": "Authorizations",
-
+ "collection.edit.tabs.authorizations.head": "Autorisations",
+
// "collection.edit.tabs.authorizations.title": "Collection Edit - Authorizations",
- // TODO New key - Add a translation
- "collection.edit.tabs.authorizations.title": "Collection Edit - Authorizations",
-
+ "collection.edit.tabs.authorizations.title": "Édition Collection - Autorisations",
+
// "collection.edit.tabs.metadata.head": "Edit Metadata",
- // TODO New key - Add a translation
- "collection.edit.tabs.metadata.head": "Edit Metadata",
-
+ "collection.edit.tabs.metadata.head": "Éditer Métadonnées",
+
// "collection.edit.tabs.metadata.title": "Collection Edit - Metadata",
- // TODO New key - Add a translation
- "collection.edit.tabs.metadata.title": "Collection Edit - Metadata",
-
+ "collection.edit.tabs.metadata.title": "Édition Collection - Métadonnées",
+
// "collection.edit.tabs.roles.head": "Assign Roles",
- // TODO New key - Add a translation
- "collection.edit.tabs.roles.head": "Assign Roles",
-
+ "collection.edit.tabs.roles.head": "Attribuer des rôles",
+
// "collection.edit.tabs.roles.title": "Collection Edit - Roles",
- // TODO New key - Add a translation
- "collection.edit.tabs.roles.title": "Collection Edit - Roles",
-
+ "collection.edit.tabs.roles.title": "Édition Collection - Rôles",
+
// "collection.edit.tabs.source.external": "This collection harvests its content from an external source",
- // TODO New key - Add a translation
- "collection.edit.tabs.source.external": "This collection harvests its content from an external source",
-
+ "collection.edit.tabs.source.external": "Cette Collection moissonne son contenu depuis une source externe",
+
// "collection.edit.tabs.source.form.errors.oaiSource.required": "You must provide a set id of the target collection.",
- // TODO New key - Add a translation
- "collection.edit.tabs.source.form.errors.oaiSource.required": "You must provide a set id of the target collection.",
-
+ "collection.edit.tabs.source.form.errors.oaiSource.required": "Vous devez fournir l'ID du set OAI correspondant à la Collection cible.",
+
// "collection.edit.tabs.source.form.harvestType": "Content being harvested",
- // TODO New key - Add a translation
- "collection.edit.tabs.source.form.harvestType": "Content being harvested",
-
+ "collection.edit.tabs.source.form.harvestType": "Contenu en cours de moissonnage",
+
// "collection.edit.tabs.source.form.head": "Configure an external source",
- // TODO New key - Add a translation
- "collection.edit.tabs.source.form.head": "Configure an external source",
-
+ "collection.edit.tabs.source.form.head": "Configurer une source externe",
+
// "collection.edit.tabs.source.form.metadataConfigId": "Metadata Format",
- // TODO New key - Add a translation
- "collection.edit.tabs.source.form.metadataConfigId": "Metadata Format",
-
+ "collection.edit.tabs.source.form.metadataConfigId": "Format de métadonnées",
+
// "collection.edit.tabs.source.form.oaiSetId": "OAI specific set id",
- // TODO New key - Add a translation
- "collection.edit.tabs.source.form.oaiSetId": "OAI specific set id",
-
+ "collection.edit.tabs.source.form.oaiSetId": "ID spécifique du set OAI",
+
// "collection.edit.tabs.source.form.oaiSource": "OAI Provider",
- // TODO New key - Add a translation
- "collection.edit.tabs.source.form.oaiSource": "OAI Provider",
-
+ "collection.edit.tabs.source.form.oaiSource": "Fournisseur OAI",
+
// "collection.edit.tabs.source.form.options.harvestType.METADATA_AND_BITSTREAMS": "Harvest metadata and bitstreams (requires ORE support)",
- // TODO New key - Add a translation
- "collection.edit.tabs.source.form.options.harvestType.METADATA_AND_BITSTREAMS": "Harvest metadata and bitstreams (requires ORE support)",
-
+ "collection.edit.tabs.source.form.options.harvestType.METADATA_AND_BITSTREAMS": "Moissonner métadonnées et bitstreams (le protocol ORE doit être supporté)",
+
// "collection.edit.tabs.source.form.options.harvestType.METADATA_AND_REF": "Harvest metadata and references to bitstreams (requires ORE support)",
- // TODO New key - Add a translation
- "collection.edit.tabs.source.form.options.harvestType.METADATA_AND_REF": "Harvest metadata and references to bitstreams (requires ORE support)",
-
+ "collection.edit.tabs.source.form.options.harvestType.METADATA_AND_REF": "Moissonner métadonnées et bitstreams (le protocol ORE doit être supporté)",
+
// "collection.edit.tabs.source.form.options.harvestType.METADATA_ONLY": "Harvest metadata only",
- // TODO New key - Add a translation
- "collection.edit.tabs.source.form.options.harvestType.METADATA_ONLY": "Harvest metadata only",
-
+ "collection.edit.tabs.source.form.options.harvestType.METADATA_ONLY": "Moissonner métadonnées uniquement",
+
// "collection.edit.tabs.source.head": "Content Source",
- // TODO New key - Add a translation
- "collection.edit.tabs.source.head": "Content Source",
-
+ "collection.edit.tabs.source.head": "Source de contenu",
+
// "collection.edit.tabs.source.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button",
- // TODO New key - Add a translation
- "collection.edit.tabs.source.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button",
-
+ "collection.edit.tabs.source.notifications.discarded.content": "Vos changements ont été annulés. Pour restaurer vos changements, veuillez cliquer sur le bouton 'Annuler'",
+
// "collection.edit.tabs.source.notifications.discarded.title": "Changed discarded",
- // TODO New key - Add a translation
- "collection.edit.tabs.source.notifications.discarded.title": "Changed discarded",
-
+ "collection.edit.tabs.source.notifications.discarded.title": "Changements annulés",
+
// "collection.edit.tabs.source.notifications.invalid.content": "Your changes were not saved. Please make sure all fields are valid before you save.",
- // TODO New key - Add a translation
- "collection.edit.tabs.source.notifications.invalid.content": "Your changes were not saved. Please make sure all fields are valid before you save.",
-
+ "collection.edit.tabs.source.notifications.invalid.content": "Vos changements n'ont pas été sauvegardés. Veuillez vérifier que tous les champs sont valides avant de sauvegarder.",
+
// "collection.edit.tabs.source.notifications.invalid.title": "Metadata invalid",
- // TODO New key - Add a translation
- "collection.edit.tabs.source.notifications.invalid.title": "Metadata invalid",
-
+ "collection.edit.tabs.source.notifications.invalid.title": "Metadonnée invalide",
+
// "collection.edit.tabs.source.notifications.saved.content": "Your changes to this collection's content source were saved.",
- // TODO New key - Add a translation
- "collection.edit.tabs.source.notifications.saved.content": "Your changes to this collection's content source were saved.",
-
+ "collection.edit.tabs.source.notifications.saved.content": "Les changements relatifs à la source de contenu de cette Collection ont bien été sauvegardés.",
+
// "collection.edit.tabs.source.notifications.saved.title": "Content Source saved",
- // TODO New key - Add a translation
- "collection.edit.tabs.source.notifications.saved.title": "Content Source saved",
-
+ "collection.edit.tabs.source.notifications.saved.title": "Source de contenu sauvegardée",
+
// "collection.edit.tabs.source.title": "Collection Edit - Content Source",
- // TODO New key - Add a translation
- "collection.edit.tabs.source.title": "Collection Edit - Content Source",
-
-
-
+ "collection.edit.tabs.source.title": "Édition Collection - Source de contenu",
+
+
+
// "collection.edit.template.add-button": "Add",
- // TODO New key - Add a translation
- "collection.edit.template.add-button": "Add",
-
+ "collection.edit.template.add-button": "Ajouter",
+
// "collection.edit.template.breadcrumbs": "Item template",
- // TODO New key - Add a translation
- "collection.edit.template.breadcrumbs": "Item template",
-
+ "collection.edit.template.breadcrumbs": "Template Item",
+
// "collection.edit.template.cancel": "Cancel",
- // TODO New key - Add a translation
- "collection.edit.template.cancel": "Cancel",
-
+ "collection.edit.template.cancel": "Annuler",
+
// "collection.edit.template.delete-button": "Delete",
- // TODO New key - Add a translation
- "collection.edit.template.delete-button": "Delete",
-
+ "collection.edit.template.delete-button": "Supprimer",
+
// "collection.edit.template.edit-button": "Edit",
- // TODO New key - Add a translation
- "collection.edit.template.edit-button": "Edit",
-
+ "collection.edit.template.edit-button": "Éditer",
+
// "collection.edit.template.head": "Edit Template Item for Collection \"{{ collection }}\"",
- // TODO New key - Add a translation
- "collection.edit.template.head": "Edit Template Item for Collection \"{{ collection }}\"",
-
+ "collection.edit.template.head": "Éditer le Template Item (modèle de document) pour la Collection \"{{ collection }}\"",
+
// "collection.edit.template.label": "Template item",
- // TODO New key - Add a translation
- "collection.edit.template.label": "Template item",
-
+ "collection.edit.template.label": "Template Item",
+
// "collection.edit.template.notifications.delete.error": "Failed to delete the item template",
- // TODO New key - Add a translation
- "collection.edit.template.notifications.delete.error": "Failed to delete the item template",
-
+ "collection.edit.template.notifications.delete.error": "Erreur lors de la suprresion du Template Item",
+
// "collection.edit.template.notifications.delete.success": "Successfully deleted the item template",
- // TODO New key - Add a translation
- "collection.edit.template.notifications.delete.success": "Successfully deleted the item template",
-
+ "collection.edit.template.notifications.delete.success": "Item Template supprimé avec succès",
+
// "collection.edit.template.title": "Edit Template Item",
- // TODO New key - Add a translation
- "collection.edit.template.title": "Edit Template Item",
-
-
-
+ "collection.edit.template.title": "Éditer Template Item",
+
+
+
// "collection.form.abstract": "Short Description",
"collection.form.abstract": "Description succincte",
-
+
// "collection.form.description": "Introductory text (HTML)",
"collection.form.description": "Texte d'introduction (HTML)",
-
+
// "collection.form.errors.title.required": "Please enter a collection name",
"collection.form.errors.title.required": "Veuillez entrer un nom de Collection",
-
+
// "collection.form.license": "License",
"collection.form.license": "Licence",
-
+
// "collection.form.provenance": "Provenance",
"collection.form.provenance": "Provenance",
-
+
// "collection.form.rights": "Copyright text (HTML)",
"collection.form.rights": "Texte de copyright (HTML)",
-
+
// "collection.form.tableofcontents": "News (HTML)",
"collection.form.tableofcontents": "Nouvelles (HTML)",
-
+
// "collection.form.title": "Name",
"collection.form.title": "Nom",
-
-
-
+
+
+
// "collection.listelement.badge": "Collection",
- // TODO New key - Add a translation
"collection.listelement.badge": "Collection",
-
-
-
+
+
// "collection.page.browse.recent.head": "Recent Submissions",
"collection.page.browse.recent.head": "Dépôts récents",
-
+
// "collection.page.browse.recent.empty": "No items to show",
"collection.page.browse.recent.empty": "Aucun dépôt disponible",
-
+
// "collection.page.edit": "Edit this collection",
- // TODO New key - Add a translation
- "collection.page.edit": "Edit this collection",
-
+ "collection.page.edit": "Éditer cette Collection",
+
// "collection.page.handle": "Permanent URI for this collection",
"collection.page.handle": "URI permanent de cette Collection",
-
+
// "collection.page.license": "License",
"collection.page.license": "Licence",
-
+
// "collection.page.news": "News",
"collection.page.news": "Nouvelles",
-
-
-
+
+
+
// "collection.select.confirm": "Confirm selected",
"collection.select.confirm": "Confirmer sélection",
-
+
// "collection.select.empty": "No collections to show",
"collection.select.empty": "Aucune Collection disponible",
-
+
// "collection.select.table.title": "Title",
"collection.select.table.title": "Titre",
-
-
-
+
+
+
// "collection.source.update.notifications.error.content": "The provided settings have been tested and didn't work.",
- // TODO New key - Add a translation
- "collection.source.update.notifications.error.content": "The provided settings have been tested and didn't work.",
-
+ "collection.source.update.notifications.error.content": "Les paramètres fournis sont invalides. La connection n'a pas pu être établie.",
+
// "collection.source.update.notifications.error.title": "Server Error",
- // TODO New key - Add a translation
- "collection.source.update.notifications.error.title": "Server Error",
-
-
-
+ "collection.source.update.notifications.error.title": "Erreur serveur",
+
+
// "communityList.tabTitle": "DSpace - Community List",
- // TODO New key - Add a translation
- "communityList.tabTitle": "DSpace - Community List",
-
+ "communityList.tabTitle": "DSpace - Liste des Communautés",
+
// "communityList.title": "List of Communities",
- // TODO New key - Add a translation
- "communityList.title": "List of Communities",
-
+ "communityList.title": "Liste des Communautés",
+
// "communityList.showMore": "Show More",
- // TODO New key - Add a translation
- "communityList.showMore": "Show More",
-
-
-
+ "communityList.showMore": "Voir plus",
+
+
+
// "community.create.head": "Create a Community",
"community.create.head": "Créer une Communauté",
-
+
// "community.create.notifications.success": "Successfully created the Community",
- // TODO New key - Add a translation
- "community.create.notifications.success": "Successfully created the Community",
-
+ "community.create.notifications.success": "Communauté créée avec succès",
+
// "community.create.sub-head": "Create a Sub-Community for Community {{ parent }}",
"community.create.sub-head": "Créer une Sous-Communauté pour la Communauté {{ parent }}",
-
+
// "community.curate.header": "Curate Community: {{community}}",
- // TODO New key - Add a translation
- "community.curate.header": "Curate Community: {{community}}",
-
+ "community.curate.header": "Gestion contenu Communauté : {{community}}",
+
// "community.delete.cancel": "Cancel",
"community.delete.cancel": "Annuler",
-
+
// "community.delete.confirm": "Confirm",
"community.delete.confirm": "Confirmer",
-
+
// "community.delete.head": "Delete Community",
"community.delete.head": "Supprimer Communauté",
-
+
// "community.delete.notification.fail": "Community could not be deleted",
"community.delete.notification.fail": "La Communauté n'a pas pu être supprimée",
-
+
// "community.delete.notification.success": "Successfully deleted community",
"community.delete.notification.success": "La Communauté a été supprimée avec succès",
-
+
// "community.delete.text": "Are you sure you want to delete community \"{{ dso }}\"",
"community.delete.text": "Êtes-vous sûr(e) de vouloir supprimer la Communauté « {{ dso }} »",
-
+
// "community.edit.delete": "Delete this community",
"community.edit.delete": "Supprimer cette Communauté",
-
+
// "community.edit.head": "Edit Community",
"community.edit.head": "Éditer Communauté",
-
+
// "community.edit.breadcrumbs": "Edit Community",
- // TODO New key - Add a translation
- "community.edit.breadcrumbs": "Edit Community",
-
-
+ "community.edit.breadcrumbs": "Éditer Communauté",
+
+
// "community.edit.logo.label": "Community logo",
- // TODO New key - Add a translation
- "community.edit.logo.label": "Community logo",
-
+ "community.edit.logo.label": "Logo de la Communauté",
+
// "community.edit.logo.notifications.add.error": "Uploading Community logo failed. Please verify the content before retrying.",
- // TODO New key - Add a translation
- "community.edit.logo.notifications.add.error": "Uploading Community logo failed. Please verify the content before retrying.",
-
+ "community.edit.logo.notifications.add.error": "Erreur lors du chargement du logo de la Communauté. Veuillez vérifier le contenu et réessayer.",
+
// "community.edit.logo.notifications.add.success": "Upload Community logo successful.",
- // TODO New key - Add a translation
- "community.edit.logo.notifications.add.success": "Upload Community logo successful.",
-
+ "community.edit.logo.notifications.add.success": "Logo de la Communauté chargé avec succès.",
+
// "community.edit.logo.notifications.delete.success.title": "Logo deleted",
- // TODO New key - Add a translation
- "community.edit.logo.notifications.delete.success.title": "Logo deleted",
-
+ "community.edit.logo.notifications.delete.success.title": "Logo supprimé",
+
// "community.edit.logo.notifications.delete.success.content": "Successfully deleted the community's logo",
- // TODO New key - Add a translation
- "community.edit.logo.notifications.delete.success.content": "Successfully deleted the community's logo",
-
+ "community.edit.logo.notifications.delete.success.content": "Logo de la Communauté supprimé avec succès",
+
// "community.edit.logo.notifications.delete.error.title": "Error deleting logo",
- // TODO New key - Add a translation
- "community.edit.logo.notifications.delete.error.title": "Error deleting logo",
-
+ "community.edit.logo.notifications.delete.error.title": "Erreur lors de la suppression du logo de la Communauté.",
+
// "community.edit.logo.upload": "Drop a Community Logo to upload",
- // TODO New key - Add a translation
- "community.edit.logo.upload": "Drop a Community Logo to upload",
-
-
-
+ "community.edit.logo.upload": "Glisser-Déposer un logo à charger pour la Communauté",
+
+
+
// "community.edit.notifications.success": "Successfully edited the Community",
- // TODO New key - Add a translation
- "community.edit.notifications.success": "Successfully edited the Community",
-
+ "community.edit.notifications.success": "Communauté mise à jour avec succès",
+
// "community.edit.notifications.unauthorized": "You do not have privileges to make this change",
- // TODO New key - Add a translation
- "community.edit.notifications.unauthorized": "You do not have privileges to make this change",
-
+ "community.edit.notifications.unauthorized": "Vous n'avez pas les autorisations requises pour réaliser ce changement",
+
// "community.edit.notifications.error": "An error occured while editing the Community",
- // TODO New key - Add a translation
- "community.edit.notifications.error": "An error occured while editing the Community",
-
+ "community.edit.notifications.error": "Une erreur s'est produite lors de l'édition de la Communauté",
+
// "community.edit.return": "Return",
- // TODO New key - Add a translation
- "community.edit.return": "Return",
-
-
-
+ "community.edit.return": "Retour",
+
+
+
// "community.edit.tabs.curate.head": "Curate",
- // TODO New key - Add a translation
- "community.edit.tabs.curate.head": "Curate",
-
+ "community.edit.tabs.curate.head": "Gestion du contenu",
+
// "community.edit.tabs.curate.title": "Community Edit - Curate",
- // TODO New key - Add a translation
- "community.edit.tabs.curate.title": "Community Edit - Curate",
-
+ "community.edit.tabs.curate.title": "Édition Communauté - Gestion du contenu",
+
// "community.edit.tabs.metadata.head": "Edit Metadata",
- // TODO New key - Add a translation
- "community.edit.tabs.metadata.head": "Edit Metadata",
-
+ "community.edit.tabs.metadata.head": "Éditer Métadonnées",
+
// "community.edit.tabs.metadata.title": "Community Edit - Metadata",
- // TODO New key - Add a translation
- "community.edit.tabs.metadata.title": "Community Edit - Metadata",
-
+ "community.edit.tabs.metadata.title": "Édition Communauté - Métadonnées",
+
// "community.edit.tabs.roles.head": "Assign Roles",
- // TODO New key - Add a translation
- "community.edit.tabs.roles.head": "Assign Roles",
-
+ "community.edit.tabs.roles.head": "Attribuer des rôles",
+
// "community.edit.tabs.roles.title": "Community Edit - Roles",
- // TODO New key - Add a translation
- "community.edit.tabs.roles.title": "Community Edit - Roles",
-
+ "community.edit.tabs.roles.title": "Édition Communauté - Rôles",
+
// "community.edit.tabs.authorizations.head": "Authorizations",
- // TODO New key - Add a translation
- "community.edit.tabs.authorizations.head": "Authorizations",
-
+ "community.edit.tabs.authorizations.head": "Autorisations",
+
// "community.edit.tabs.authorizations.title": "Community Edit - Authorizations",
- // TODO New key - Add a translation
- "community.edit.tabs.authorizations.title": "Community Edit - Authorizations",
-
-
-
+ "community.edit.tabs.authorizations.title": "Édition Communauté - Autorisations",
+
+
+
// "community.listelement.badge": "Community",
- // TODO New key - Add a translation
- "community.listelement.badge": "Community",
-
-
-
+ "community.listelement.badge": "Communauté",
+
+
+
// "comcol-role.edit.no-group": "None",
- // TODO New key - Add a translation
- "comcol-role.edit.no-group": "None",
-
+ "comcol-role.edit.no-group": "Aucun",
+
// "comcol-role.edit.create": "Create",
- // TODO New key - Add a translation
- "comcol-role.edit.create": "Create",
-
+ "comcol-role.edit.create": "Créer",
+
// "comcol-role.edit.restrict": "Restrict",
- // TODO New key - Add a translation
- "comcol-role.edit.restrict": "Restrict",
-
+ "comcol-role.edit.restrict": "Restreindre",
+
// "comcol-role.edit.delete": "Delete",
- // TODO New key - Add a translation
- "comcol-role.edit.delete": "Delete",
-
-
+ "comcol-role.edit.delete": "Supprimer",
+
+
// "comcol-role.edit.community-admin.name": "Administrators",
- // TODO New key - Add a translation
- "comcol-role.edit.community-admin.name": "Administrators",
-
+ "comcol-role.edit.community-admin.name": "Administrateurs",
+
// "comcol-role.edit.collection-admin.name": "Administrators",
- // TODO New key - Add a translation
- "comcol-role.edit.collection-admin.name": "Administrators",
-
-
+ "comcol-role.edit.collection-admin.name": "Administrateurs",
+
+
// "comcol-role.edit.community-admin.description": "Community administrators can create sub-communities or collections, and manage or assign management for those sub-communities or collections. In addition, they decide who can submit items to any sub-collections, edit item metadata (after submission), and add (map) existing items from other collections (subject to authorization).",
- // TODO New key - Add a translation
- "comcol-role.edit.community-admin.description": "Community administrators can create sub-communities or collections, and manage or assign management for those sub-communities or collections. In addition, they decide who can submit items to any sub-collections, edit item metadata (after submission), and add (map) existing items from other collections (subject to authorization).",
-
+ "comcol-role.edit.community-admin.description": "Les administrateurs de Communauté peuvent créer des Sous-Communautés ou Collections et gérer ou assigner la gestion de ces Sous-Communautés ou Collections. De plus, ils peuvent déterminer qui peut déposer des Items dans toutes les Collections de la Communauté, éditer les métadonnées (après dépôt) et ajouter (mapper) les Items existants dans d'autres Collections (en fonction des autorisations appropriées).",
+
// "comcol-role.edit.collection-admin.description": "Collection administrators decide who can submit items to the collection, edit item metadata (after submission), and add (map) existing items from other collections to this collection (subject to authorization for that collection).",
- // TODO New key - Add a translation
- "comcol-role.edit.collection-admin.description": "Collection administrators decide who can submit items to the collection, edit item metadata (after submission), and add (map) existing items from other collections to this collection (subject to authorization for that collection).",
-
-
+ "comcol-role.edit.collection-admin.description": "Les administrateurs de Collection peuvent déterminer qui peut déposer des Items dans la Collection, éditer les métadonnées (après dépôt) et ajouter (mapper) les Items existants dans d'autres collections (en fonction des autorisations appropriées).",
+
+
// "comcol-role.edit.submitters.name": "Submitters",
- // TODO New key - Add a translation
- "comcol-role.edit.submitters.name": "Submitters",
-
+ "comcol-role.edit.submitters.name": "Déposants",
+
// "comcol-role.edit.submitters.description": "The E-People and Groups that have permission to submit new items to this collection.",
- // TODO New key - Add a translation
- "comcol-role.edit.submitters.description": "The E-People and Groups that have permission to submit new items to this collection.",
-
-
+ "comcol-role.edit.submitters.description": "Utilisateurs E-People et Groupes qui ont la permission de dépôt dans cette Collection.",
+
+
// "comcol-role.edit.item_read.name": "Default item read access",
- // TODO New key - Add a translation
- "comcol-role.edit.item_read.name": "Default item read access",
-
+ "comcol-role.edit.item_read.name": "Accès en lecture (Item) par défaut",
+
// "comcol-role.edit.item_read.description": "E-People and Groups that can read new items submitted to this collection. Changes to this role are not retroactive. Existing items in the system will still be viewable by those who had read access at the time of their addition.",
- // TODO New key - Add a translation
- "comcol-role.edit.item_read.description": "E-People and Groups that can read new items submitted to this collection. Changes to this role are not retroactive. Existing items in the system will still be viewable by those who had read access at the time of their addition.",
-
+ "comcol-role.edit.item_read.description": "Utilisateurs E-People et Groupes qui peuvent voir les nouveaux Items déposés dans cette Collection. Les changements appliqués à ce rôle ne sont pas rétroactifs. Les Items existants dans le système resteront visibles par les utilisateurs/groupes qui disposaient des droits de lecture avant l'application du changement.",
+
// "comcol-role.edit.item_read.anonymous-group": "Default read for incoming items is currently set to Anonymous.",
- // TODO New key - Add a translation
- "comcol-role.edit.item_read.anonymous-group": "Default read for incoming items is currently set to Anonymous.",
-
-
+ "comcol-role.edit.item_read.anonymous-group": "Les droits de lecture par défaut sur les nouveaux Items sont actuellement octroyés au groupe Anonymous (correspondant aux utilisateurs non connectés).",
+
+
// "comcol-role.edit.bitstream_read.name": "Default bitstream read access",
- // TODO New key - Add a translation
- "comcol-role.edit.bitstream_read.name": "Default bitstream read access",
-
+ "comcol-role.edit.bitstream_read.name": "Droits de lecture Bitstream par défaut",
+
// "comcol-role.edit.bitstream_read.description": "Community administrators can create sub-communities or collections, and manage or assign management for those sub-communities or collections. In addition, they decide who can submit items to any sub-collections, edit item metadata (after submission), and add (map) existing items from other collections (subject to authorization).",
- // TODO New key - Add a translation
- "comcol-role.edit.bitstream_read.description": "Community administrators can create sub-communities or collections, and manage or assign management for those sub-communities or collections. In addition, they decide who can submit items to any sub-collections, edit item metadata (after submission), and add (map) existing items from other collections (subject to authorization).",
-
+ "comcol-role.edit.bitstream_read.description": "Les administrateurs de Communauté peuvent créer des Sous-Communautés ou Collections et gérer ou assigner la gestion de ces Sous-Communautés ou Collections. De plus, ils peuvent déterminer qui peut déposer des Items dans toutes les Collections de la Communauté, éditer les métadonnées (après dépôt) et ajouter (mapper) les Items existants dans d'autres Collections (en fonction des autorisations appropriées).",
+
// "comcol-role.edit.bitstream_read.anonymous-group": "Default read for incoming bitstreams is currently set to Anonymous.",
- // TODO New key - Add a translation
- "comcol-role.edit.bitstream_read.anonymous-group": "Default read for incoming bitstreams is currently set to Anonymous.",
-
-
+ "comcol-role.edit.bitstream_read.anonymous-group": "Les droits de lecture par défaut sur les nouveaux Bitstreams sont actuellement octroyés au groupe Anonymous (correspondant aux utilisateurs non connectés).",
+
+
// "comcol-role.edit.editor.name": "Editors",
- // TODO New key - Add a translation
- "comcol-role.edit.editor.name": "Editors",
-
+ "comcol-role.edit.editor.name": "Éditeurs",
+
// "comcol-role.edit.editor.description": "Editors are able to edit the metadata of incoming submissions, and then accept or reject them.",
- // TODO New key - Add a translation
- "comcol-role.edit.editor.description": "Editors are able to edit the metadata of incoming submissions, and then accept or reject them.",
-
-
+ "comcol-role.edit.editor.description": "Les éditeurs peuvent modifier les métadonnées des dépôts avant de les accepter ou de les refuser.",
+
// "comcol-role.edit.finaleditor.name": "Final editors",
- // TODO New key - Add a translation
- "comcol-role.edit.finaleditor.name": "Final editors",
-
+ "comcol-role.edit.finaleditor.name": "Éditeurs finaux",
+
// "comcol-role.edit.finaleditor.description": "Final editors are able to edit the metadata of incoming submissions, but will not be able to reject them.",
- // TODO New key - Add a translation
- "comcol-role.edit.finaleditor.description": "Final editors are able to edit the metadata of incoming submissions, but will not be able to reject them.",
-
-
+ "comcol-role.edit.finaleditor.description": "Les éditeurs finaux peuvent modifier les métadonnées des dépôts mais ne sont pas en mesure de les rejeter.",
+
// "comcol-role.edit.reviewer.name": "Reviewers",
- // TODO New key - Add a translation
- "comcol-role.edit.reviewer.name": "Reviewers",
-
+ "comcol-role.edit.reviewer.name": "Approbateur",
+
// "comcol-role.edit.reviewer.description": "Reviewers are able to accept or reject incoming submissions. However, they are not able to edit the submission's metadata.",
- // TODO New key - Add a translation
- "comcol-role.edit.reviewer.description": "Reviewers are able to accept or reject incoming submissions. However, they are not able to edit the submission's metadata.",
-
-
-
+ "comcol-role.edit.reviewer.description": "Les approbateurs peuvent accepter ou refuser les dépôts mais ne sont pas en mesure de modifier les métadonnées de ces dépôts.",
+
// "community.form.abstract": "Short Description",
"community.form.abstract": "Description succincte",
-
+
// "community.form.description": "Introductory text (HTML)",
"community.form.description": "Texte d'introduction (HTML)",
-
+
// "community.form.errors.title.required": "Please enter a community name",
"community.form.errors.title.required": "Veuillez entrer un nom de Communauté",
-
+
// "community.form.rights": "Copyright text (HTML)",
"community.form.rights": "Texte de copyright (HTML)",
-
+
// "community.form.tableofcontents": "News (HTML)",
"community.form.tableofcontents": "Nouvelles (HTML)",
-
+
// "community.form.title": "Name",
"community.form.title": "Nom",
-
+
// "community.page.edit": "Edit this community",
- // TODO New key - Add a translation
- "community.page.edit": "Edit this community",
-
+ "community.page.edit": "Éditer cette Communauté",
+
// "community.page.handle": "Permanent URI for this community",
"community.page.handle": "URI permanent de cette Communauté",
-
+
// "community.page.license": "License",
"community.page.license": "Licence",
-
+
// "community.page.news": "News",
"community.page.news": "Nouvelles",
-
+
// "community.all-lists.head": "Subcommunities and Collections",
"community.all-lists.head": "Sous-Communautés et Collections",
-
+
// "community.sub-collection-list.head": "Collections of this Community",
"community.sub-collection-list.head": "Collections au sein de cette Communauté",
-
+
// "community.sub-community-list.head": "Communities of this Community",
"community.sub-community-list.head": "Sous-Communautés au sein de cette Communauté",
-
-
-
+
+
+
// "cookies.consent.accept-all": "Accept all",
- // TODO New key - Add a translation
- "cookies.consent.accept-all": "Accept all",
-
+ "cookies.consent.accept-all": "Accepter tout",
+
// "cookies.consent.accept-selected": "Accept selected",
- // TODO New key - Add a translation
- "cookies.consent.accept-selected": "Accept selected",
-
+ "cookies.consent.accept-selected": "Accepter les entrées sélectionnées",
+
// "cookies.consent.app.opt-out.description": "This app is loaded by default (but you can opt out)",
- // TODO New key - Add a translation
- "cookies.consent.app.opt-out.description": "This app is loaded by default (but you can opt out)",
-
+ "cookies.consent.app.opt-out.description": "Cette application est chargée par défaut (mais vous pouvez choisir de la désactiver)",
+
// "cookies.consent.app.opt-out.title": "(opt-out)",
- // TODO New key - Add a translation
"cookies.consent.app.opt-out.title": "(opt-out)",
-
+
// "cookies.consent.app.purpose": "purpose",
- // TODO New key - Add a translation
- "cookies.consent.app.purpose": "purpose",
-
+ "cookies.consent.app.purpose": "usage",
+
// "cookies.consent.app.required.description": "This application is always required",
- // TODO New key - Add a translation
- "cookies.consent.app.required.description": "This application is always required",
-
+ "cookies.consent.app.required.description": "Cette application est toujours nécessaire",
+
// "cookies.consent.app.required.title": "(always required)",
- // TODO New key - Add a translation
- "cookies.consent.app.required.title": "(always required)",
-
+ "cookies.consent.app.required.title": "(toujours nécessaire)",
+
// "cookies.consent.update": "There were changes since your last visit, please update your consent.",
- // TODO New key - Add a translation
- "cookies.consent.update": "There were changes since your last visit, please update your consent.",
-
+ "cookies.consent.update": "Il y a eu des changements depuis votre dernière visite, veuillez mettre à jour votre consentement.",
+
// "cookies.consent.close": "Close",
- // TODO New key - Add a translation
- "cookies.consent.close": "Close",
-
+ "cookies.consent.close": "Fermer",
+
// "cookies.consent.decline": "Decline",
- // TODO New key - Add a translation
- "cookies.consent.decline": "Decline",
-
+ "cookies.consent.decline": "Refuser",
+
// "cookies.consent.content-notice.description": "We collect and process your personal information for the following purposes: Authentication, Preferences, Acknowledgement and Statistics. To learn more, please read our {privacyPolicy}.",
- // TODO New key - Add a translation
- "cookies.consent.content-notice.description": "We collect and process your personal information for the following purposes: Authentication, Preferences, Acknowledgement and Statistics. To learn more, please read our {privacyPolicy}.",
-
+ "cookies.consent.content-notice.description": "Vos données personnelles sont récupérées et utilisées dans les contextes suivants : Authentification, Préférences, Consentement et Statistiques. Pour plus d'informations, veuillez vous référer à la {privacyPolicy}.",
+
// "cookies.consent.content-notice.learnMore": "Customize",
- // TODO New key - Add a translation
- "cookies.consent.content-notice.learnMore": "Customize",
-
+ "cookies.consent.content-notice.learnMore": "Personnaliser",
+
// "cookies.consent.content-modal.description": "Here you can see and customize the information that we collect about you.",
- // TODO New key - Add a translation
- "cookies.consent.content-modal.description": "Here you can see and customize the information that we collect about you.",
-
+ "cookies.consent.content-modal.description": "Vous pouvez ici voir et personnaliser les informations privées que nous collectons à votre sujet.",
+
// "cookies.consent.content-modal.privacy-policy.name": "privacy policy",
- // TODO New key - Add a translation
- "cookies.consent.content-modal.privacy-policy.name": "privacy policy",
-
+ "cookies.consent.content-modal.privacy-policy.name": "politique de protection de la vie privée",
+
// "cookies.consent.content-modal.privacy-policy.text": "To learn more, please read our {privacyPolicy}.",
- // TODO New key - Add a translation
- "cookies.consent.content-modal.privacy-policy.text": "To learn more, please read our {privacyPolicy}.",
-
+ "cookies.consent.content-modal.privacy-policy.text": "Pour plus d'informations, veuillez lire notre {privacyPolicy}.",
+
// "cookies.consent.content-modal.title": "Information that we collect",
- // TODO New key - Add a translation
- "cookies.consent.content-modal.title": "Information that we collect",
-
-
-
+ "cookies.consent.content-modal.title": "Informations collectées",
+
+
// "cookies.consent.app.title.authentication": "Authentication",
- // TODO New key - Add a translation
- "cookies.consent.app.title.authentication": "Authentication",
-
+ "cookies.consent.app.title.authentication": "Authentification",
+
// "cookies.consent.app.description.authentication": "Required for signing you in",
- // TODO New key - Add a translation
- "cookies.consent.app.description.authentication": "Required for signing you in",
-
-
+ "cookies.consent.app.description.authentication": "Requis pour permettre votre connection",
+
// "cookies.consent.app.title.preferences": "Preferences",
- // TODO New key - Add a translation
- "cookies.consent.app.title.preferences": "Preferences",
-
+ "cookies.consent.app.title.preferences": "Préférences",
+
// "cookies.consent.app.description.preferences": "Required for saving your preferences",
- // TODO New key - Add a translation
- "cookies.consent.app.description.preferences": "Required for saving your preferences",
-
-
-
+ "cookies.consent.app.description.preferences": "Requis pour sauvegarder vos préférences",
+
// "cookies.consent.app.title.acknowledgement": "Acknowledgement",
- // TODO New key - Add a translation
- "cookies.consent.app.title.acknowledgement": "Acknowledgement",
-
+ "cookies.consent.app.title.acknowledgement": "Consentement",
+
// "cookies.consent.app.description.acknowledgement": "Required for saving your acknowledgements and consents",
- // TODO New key - Add a translation
- "cookies.consent.app.description.acknowledgement": "Required for saving your acknowledgements and consents",
-
-
-
+ "cookies.consent.app.description.acknowledgement": "Requis pour sauvegarder votre consentement",
+
// "cookies.consent.app.title.google-analytics": "Google Analytics",
- // TODO New key - Add a translation
"cookies.consent.app.title.google-analytics": "Google Analytics",
-
+
// "cookies.consent.app.description.google-analytics": "Allows us to track statistical data",
- // TODO New key - Add a translation
- "cookies.consent.app.description.google-analytics": "Allows us to track statistical data",
-
-
-
+ "cookies.consent.app.description.google-analytics": "Permet l'enregistrement de données statistiques",
+
// "cookies.consent.purpose.functional": "Functional",
- // TODO New key - Add a translation
- "cookies.consent.purpose.functional": "Functional",
-
+ "cookies.consent.purpose.functional": "Fonctionnel",
+
// "cookies.consent.purpose.statistical": "Statistical",
- // TODO New key - Add a translation
- "cookies.consent.purpose.statistical": "Statistical",
-
-
+ "cookies.consent.purpose.statistical": "Statistique",
+
+
// "curation-task.task.checklinks.label": "Check Links in Metadata",
- // TODO New key - Add a translation
- "curation-task.task.checklinks.label": "Check Links in Metadata",
-
+ "curation-task.task.checklinks.label": "Vérification des liens dans les métadonnées",
+
// "curation-task.task.noop.label": "NOOP",
- // TODO New key - Add a translation
"curation-task.task.noop.label": "NOOP",
-
+
// "curation-task.task.profileformats.label": "Profile Bitstream Formats",
- // TODO New key - Add a translation
- "curation-task.task.profileformats.label": "Profile Bitstream Formats",
-
+ "curation-task.task.profileformats.label": "Lister les formats Bitstreams",
+
// "curation-task.task.requiredmetadata.label": "Check for Required Metadata",
- // TODO New key - Add a translation
- "curation-task.task.requiredmetadata.label": "Check for Required Metadata",
-
+ "curation-task.task.requiredmetadata.label": "Vérificaton des métadonnées obligatoires",
+
// "curation-task.task.translate.label": "Microsoft Translator",
- // TODO New key - Add a translation
- "curation-task.task.translate.label": "Microsoft Translator",
-
+ "curation-task.task.translate.label": "Traducteur Microsoft",
+
// "curation-task.task.vscan.label": "Virus Scan",
- // TODO New key - Add a translation
"curation-task.task.vscan.label": "Virus Scan",
-
-
-
+
+
+
// "curation.form.task-select.label": "Task:",
- // TODO New key - Add a translation
- "curation.form.task-select.label": "Task:",
-
+ "curation.form.task-select.label": "Tâche :",
+
// "curation.form.submit": "Start",
- // TODO New key - Add a translation
- "curation.form.submit": "Start",
-
+ "curation.form.submit": "Démarrer",
+
// "curation.form.submit.success.head": "The curation task has been started successfully",
- // TODO New key - Add a translation
- "curation.form.submit.success.head": "The curation task has been started successfully",
-
+ "curation.form.submit.success.head": "La tâche de conservation a été lancée avec succès",
+
// "curation.form.submit.success.content": "You will be redirected to the corresponding process page.",
- // TODO New key - Add a translation
- "curation.form.submit.success.content": "You will be redirected to the corresponding process page.",
-
+ "curation.form.submit.success.content": "Vous allez être redirigé vers la page de Processus correspondante.",
+
// "curation.form.submit.error.head": "Running the curation task failed",
- // TODO New key - Add a translation
- "curation.form.submit.error.head": "Running the curation task failed",
-
+ "curation.form.submit.error.head": "L'exécution de la tâche de conservation a échoué",
+
// "curation.form.submit.error.content": "An error occured when trying to start the curation task.",
- // TODO New key - Add a translation
- "curation.form.submit.error.content": "An error occured when trying to start the curation task.",
-
+ "curation.form.submit.error.content": "Une erreur s'est produite au lancement de la tâche de conservation.",
+
// "curation.form.handle.label": "Handle:",
- // TODO New key - Add a translation
- "curation.form.handle.label": "Handle:",
-
+ "curation.form.handle.label": "Handle :",
+
// "curation.form.handle.hint": "Hint: Enter [your-handle-prefix]/0 to run a task across entire site (not all tasks may support this capability)",
- // TODO New key - Add a translation
- "curation.form.handle.hint": "Hint: Enter [your-handle-prefix]/0 to run a task across entire site (not all tasks may support this capability)",
-
-
-
+ "curation.form.handle.hint": "Aide : Entrer [votre-préfixe-handle]/0 afin de lancer une tâche de conservation sur l'entièreté du site (ceci peut ne pas être supporté pour toutes les tâches)",
+
+
+
// "dso-selector.create.collection.head": "New collection",
"dso-selector.create.collection.head": "Nouvelle Collection",
-
+
// "dso-selector.create.collection.sub-level": "Create a new collection in",
- // TODO New key - Add a translation
- "dso-selector.create.collection.sub-level": "Create a new collection in",
-
+ "dso-selector.create.collection.sub-level": "Créer une nouvelle Collection dans",
+
// "dso-selector.create.community.head": "New community",
"dso-selector.create.community.head": "Nouvelle Communauté",
-
+
// "dso-selector.create.community.sub-level": "Create a new community in",
"dso-selector.create.community.sub-level": "Créer une nouvelle Communauté dans",
-
+
// "dso-selector.create.community.top-level": "Create a new top-level community",
"dso-selector.create.community.top-level": "Créer une nouvelle Communauté de 1er niveau",
-
+
// "dso-selector.create.item.head": "New item",
"dso-selector.create.item.head": "Nouvel Item",
-
+
// "dso-selector.create.item.sub-level": "Create a new item in",
- // TODO New key - Add a translation
- "dso-selector.create.item.sub-level": "Create a new item in",
-
+ "dso-selector.create.item.sub-level": "Créer un nouvel Item dans",
+
// "dso-selector.create.submission.head": "New submission",
- // TODO New key - Add a translation
- "dso-selector.create.submission.head": "New submission",
-
+ "dso-selector.create.submission.head": "Nouveau dépôt",
+
// "dso-selector.edit.collection.head": "Edit collection",
"dso-selector.edit.collection.head": "Éditer Collection",
-
+
// "dso-selector.edit.community.head": "Edit community",
"dso-selector.edit.community.head": "Éditer Communauté",
-
+
// "dso-selector.edit.item.head": "Edit item",
"dso-selector.edit.item.head": "Éditer Item",
-
+
// "dso-selector.export-metadata.dspaceobject.head": "Export metadata from",
- // TODO New key - Add a translation
- "dso-selector.export-metadata.dspaceobject.head": "Export metadata from",
-
+ "dso-selector.export-metadata.dspaceobject.head": "Exporter les métadonnées de",
+
// "dso-selector.no-results": "No {{ type }} found",
"dso-selector.no-results": "Aucun {{ type }} trouvé",
-
+
// "dso-selector.placeholder": "Search for a {{ type }}",
"dso-selector.placeholder": "Rechercher un(e) {{ type }}",
-
-
-
+
+
// "confirmation-modal.export-metadata.header": "Export metadata for {{ dsoName }}",
- // TODO New key - Add a translation
- "confirmation-modal.export-metadata.header": "Export metadata for {{ dsoName }}",
-
+ "confirmation-modal.export-metadata.header": "Exporter métadonnées de {{ dsoName }}",
+
// "confirmation-modal.export-metadata.info": "Are you sure you want to export metadata for {{ dsoName }}",
- // TODO New key - Add a translation
- "confirmation-modal.export-metadata.info": "Are you sure you want to export metadata for {{ dsoName }}",
-
+ "confirmation-modal.export-metadata.info": "Êtes-vous certain de vouloir exporter les métadonnées de {{ dsoName }}",
+
// "confirmation-modal.export-metadata.cancel": "Cancel",
- // TODO New key - Add a translation
- "confirmation-modal.export-metadata.cancel": "Cancel",
-
+ "confirmation-modal.export-metadata.cancel": "Annuler",
+
// "confirmation-modal.export-metadata.confirm": "Export",
- // TODO New key - Add a translation
- "confirmation-modal.export-metadata.confirm": "Export",
-
+ "confirmation-modal.export-metadata.confirm": "Exporter",
+
// "confirmation-modal.delete-eperson.header": "Delete EPerson \"{{ dsoName }}\"",
- // TODO New key - Add a translation
- "confirmation-modal.delete-eperson.header": "Delete EPerson \"{{ dsoName }}\"",
-
+ "confirmation-modal.delete-eperson.header": "Supprimer EPerson \"{{ dsoName }}\"",
+
// "confirmation-modal.delete-eperson.info": "Are you sure you want to delete EPerson \"{{ dsoName }}\"",
- // TODO New key - Add a translation
- "confirmation-modal.delete-eperson.info": "Are you sure you want to delete EPerson \"{{ dsoName }}\"",
-
+ "confirmation-modal.delete-eperson.info": "Êtes-vous certain de vouloir supprimer l'EPerson \"{{ dsoName }}\"",
+
// "confirmation-modal.delete-eperson.cancel": "Cancel",
- // TODO New key - Add a translation
- "confirmation-modal.delete-eperson.cancel": "Cancel",
-
+ "confirmation-modal.delete-eperson.cancel": "Annuler",
+
// "confirmation-modal.delete-eperson.confirm": "Delete",
- // TODO New key - Add a translation
- "confirmation-modal.delete-eperson.confirm": "Delete",
-
-
+ "confirmation-modal.delete-eperson.confirm": "Supprimer",
+
// "error.bitstream": "Error fetching bitstream",
- // TODO New key - Add a translation
- "error.bitstream": "Error fetching bitstream",
-
+ "error.bitstream": "Erreur lors de la récupération du/des Bitstream(s)",
+
// "error.browse-by": "Error fetching items",
"error.browse-by": "Erreur lors de la récupération des Items",
-
+
// "error.collection": "Error fetching collection",
"error.collection": "Erreur lors de la récupération de la Collection",
-
+
// "error.collections": "Error fetching collections",
"error.collections": "Erreur lors de la récupération des Collections",
-
+
// "error.community": "Error fetching community",
"error.community": "Erreur lors de la récupération de la Communauté",
-
+
// "error.identifier": "No item found for the identifier",
- "error.identifier": "Aucun objet correspondant à cet identifiant",
-
+ "error.identifier": "Aucun Item correspondant à cet identifiant",
+
// "error.default": "Error",
"error.default": "Erreur",
-
+
// "error.item": "Error fetching item",
"error.item": "Erreur lors de la récupération de l'Item",
-
+
// "error.items": "Error fetching items",
"error.items": "Erreur lors de la récupération des Items",
-
+
// "error.objects": "Error fetching objects",
"error.objects": "Erreur lors de la récupération des Objets",
-
+
// "error.recent-submissions": "Error fetching recent submissions",
"error.recent-submissions": "Erreur lors de la récupération des dépôts récents",
-
+
// "error.search-results": "Error fetching search results",
"error.search-results": "Erreur lors de la récupération des résultats de recherche",
-
+
// "error.sub-collections": "Error fetching sub-collections",
"error.sub-collections": "Erreur lors de la récupération des Sous-Collections",
-
+
// "error.sub-communities": "Error fetching sub-communities",
"error.sub-communities": "Erreur lors de la récupération des Sous-Communautés",
-
+
// "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": "Une erreur s'est produite dans la section d'initialisation, veuillez vérifier la configuration de votre formulaire de dépôt. Plus de détails disponibles ci-dessous :
Participate in the official community Testathon
- from April 19th through May 7th. The test user accounts below have their password set to the name of
- this
+
The test user accounts below have their password set to the name of this
software in lowercase.
Demo Site Administrator = dspacedemo+admin@gmail.com