mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-07 01:54:15 +00:00
Merge remote-tracking branch 'origin/main' into retrieve-name-with-dsonameservice-main
# Conflicts: # src/app/item-page/media-viewer/media-viewer-video/media-viewer-video.component.ts
This commit is contained in:
@@ -15,3 +15,6 @@ trim_trailing_whitespace = false
|
|||||||
|
|
||||||
[*.ts]
|
[*.ts]
|
||||||
quote_type = single
|
quote_type = single
|
||||||
|
|
||||||
|
[*.json5]
|
||||||
|
ij_json_keep_blank_lines_in_code = 3
|
||||||
|
@@ -7,7 +7,8 @@
|
|||||||
"eslint-plugin-jsdoc",
|
"eslint-plugin-jsdoc",
|
||||||
"eslint-plugin-deprecation",
|
"eslint-plugin-deprecation",
|
||||||
"unused-imports",
|
"unused-imports",
|
||||||
"eslint-plugin-lodash"
|
"eslint-plugin-lodash",
|
||||||
|
"eslint-plugin-jsonc"
|
||||||
],
|
],
|
||||||
"overrides": [
|
"overrides": [
|
||||||
{
|
{
|
||||||
@@ -224,6 +225,42 @@
|
|||||||
"@angular-eslint/template/no-negated-async": "off",
|
"@angular-eslint/template/no-negated-async": "off",
|
||||||
"@angular-eslint/template/eqeqeq": "off"
|
"@angular-eslint/template/eqeqeq": "off"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"files": [
|
||||||
|
"*.json5"
|
||||||
|
],
|
||||||
|
"extends": [
|
||||||
|
"plugin:jsonc/recommended-with-jsonc"
|
||||||
|
],
|
||||||
|
"rules": {
|
||||||
|
"no-irregular-whitespace": "error",
|
||||||
|
"no-trailing-spaces": "error",
|
||||||
|
"jsonc/comma-dangle": [
|
||||||
|
"error",
|
||||||
|
"always-multiline"
|
||||||
|
],
|
||||||
|
"jsonc/indent": [
|
||||||
|
"error",
|
||||||
|
2
|
||||||
|
],
|
||||||
|
"jsonc/key-spacing": [
|
||||||
|
"error",
|
||||||
|
{
|
||||||
|
"beforeColon": false,
|
||||||
|
"afterColon": true,
|
||||||
|
"mode": "strict"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"jsonc/no-dupe-keys": "off",
|
||||||
|
"jsonc/quotes": [
|
||||||
|
"error",
|
||||||
|
"double",
|
||||||
|
{
|
||||||
|
"avoidEscape": false
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
50
.github/workflows/build.yml
vendored
50
.github/workflows/build.yml
vendored
@@ -68,7 +68,7 @@ jobs:
|
|||||||
# https://github.com/actions/cache/blob/main/examples.md#node---yarn
|
# https://github.com/actions/cache/blob/main/examples.md#node---yarn
|
||||||
- name: Get Yarn cache directory
|
- name: Get Yarn cache directory
|
||||||
id: yarn-cache-dir-path
|
id: yarn-cache-dir-path
|
||||||
run: echo "::set-output name=dir::$(yarn cache dir)"
|
run: echo "dir=$(yarn cache dir)" >> $GITHUB_OUTPUT
|
||||||
- name: Cache Yarn dependencies
|
- name: Cache Yarn dependencies
|
||||||
uses: actions/cache@v3
|
uses: actions/cache@v3
|
||||||
with:
|
with:
|
||||||
@@ -93,12 +93,16 @@ jobs:
|
|||||||
- name: Run specs (unit tests)
|
- name: Run specs (unit tests)
|
||||||
run: yarn run test:headless
|
run: yarn run test:headless
|
||||||
|
|
||||||
|
# Upload code coverage report to artifact (for one version of Node only),
|
||||||
|
# so that it can be shared with the 'codecov' job (see below)
|
||||||
# NOTE: Angular CLI only supports code coverage for specs. See https://github.com/angular/angular-cli/issues/6286
|
# NOTE: Angular CLI only supports code coverage for specs. See https://github.com/angular/angular-cli/issues/6286
|
||||||
# Upload coverage reports to Codecov (for one version of Node only)
|
- name: Upload code coverage report to Artifact
|
||||||
# https://github.com/codecov/codecov-action
|
uses: actions/upload-artifact@v3
|
||||||
- name: Upload coverage to Codecov.io
|
if: matrix.node-version == '18.x'
|
||||||
uses: codecov/codecov-action@v3
|
with:
|
||||||
if: matrix.node-version == '16.x'
|
name: dspace-angular coverage report
|
||||||
|
path: 'coverage/dspace-angular/lcov.info'
|
||||||
|
retention-days: 14
|
||||||
|
|
||||||
# Using docker-compose start backend using CI configuration
|
# Using docker-compose start backend using CI configuration
|
||||||
# and load assetstore from a cached copy
|
# and load assetstore from a cached copy
|
||||||
@@ -112,11 +116,10 @@ jobs:
|
|||||||
# https://github.com/cypress-io/github-action
|
# https://github.com/cypress-io/github-action
|
||||||
# (NOTE: to run these e2e tests locally, just use 'ng e2e')
|
# (NOTE: to run these e2e tests locally, just use 'ng e2e')
|
||||||
- name: Run e2e tests (integration tests)
|
- name: Run e2e tests (integration tests)
|
||||||
uses: cypress-io/github-action@v4
|
uses: cypress-io/github-action@v5
|
||||||
with:
|
with:
|
||||||
# Run tests in Chrome, headless mode
|
# Run tests in Chrome, headless mode (default)
|
||||||
browser: chrome
|
browser: chrome
|
||||||
headless: true
|
|
||||||
# Start app before running tests (will be stopped automatically after tests finish)
|
# Start app before running tests (will be stopped automatically after tests finish)
|
||||||
start: yarn run serve:ssr
|
start: yarn run serve:ssr
|
||||||
# Wait for backend & frontend to be available
|
# Wait for backend & frontend to be available
|
||||||
@@ -176,3 +179,32 @@ jobs:
|
|||||||
|
|
||||||
- name: Shutdown Docker containers
|
- name: Shutdown Docker containers
|
||||||
run: docker-compose -f ./docker/docker-compose-ci.yml down
|
run: docker-compose -f ./docker/docker-compose-ci.yml down
|
||||||
|
|
||||||
|
# Codecov upload is a separate job in order to allow us to restart this separate from the entire build/test
|
||||||
|
# job above. This is necessary because Codecov uploads seem to randomly fail at times.
|
||||||
|
# See https://community.codecov.com/t/upload-issues-unable-to-locate-build-via-github-actions-api/3954
|
||||||
|
codecov:
|
||||||
|
# Must run after 'tests' job above
|
||||||
|
needs: tests
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
# Download artifacts from previous 'tests' job
|
||||||
|
- name: Download coverage artifacts
|
||||||
|
uses: actions/download-artifact@v3
|
||||||
|
|
||||||
|
# Now attempt upload to Codecov using its action.
|
||||||
|
# NOTE: We use a retry action to retry the Codecov upload if it fails the first time.
|
||||||
|
#
|
||||||
|
# Retry action: https://github.com/marketplace/actions/retry-action
|
||||||
|
# Codecov action: https://github.com/codecov/codecov-action
|
||||||
|
- name: Upload coverage to Codecov.io
|
||||||
|
uses: Wandalen/wretry.action@v1.0.36
|
||||||
|
with:
|
||||||
|
action: codecov/codecov-action@v3
|
||||||
|
# Try upload 5 times max
|
||||||
|
attempt_limit: 5
|
||||||
|
# Run again in 30 seconds
|
||||||
|
attempt_delay: 30000
|
||||||
|
30
.github/workflows/docker.yml
vendored
30
.github/workflows/docker.yml
vendored
@@ -88,3 +88,33 @@ jobs:
|
|||||||
# Use tags / labels provided by 'docker/metadata-action' above
|
# Use tags / labels provided by 'docker/metadata-action' above
|
||||||
tags: ${{ steps.meta_build.outputs.tags }}
|
tags: ${{ steps.meta_build.outputs.tags }}
|
||||||
labels: ${{ steps.meta_build.outputs.labels }}
|
labels: ${{ steps.meta_build.outputs.labels }}
|
||||||
|
|
||||||
|
#####################################################
|
||||||
|
# Build/Push the 'dspace/dspace-angular' image ('-dist' tag)
|
||||||
|
#####################################################
|
||||||
|
# https://github.com/docker/metadata-action
|
||||||
|
# Get Metadata for docker_build_dist step below
|
||||||
|
- name: Sync metadata (tags, labels) from GitHub to Docker for 'dspace-angular-dist' image
|
||||||
|
id: meta_build_dist
|
||||||
|
uses: docker/metadata-action@v4
|
||||||
|
with:
|
||||||
|
images: dspace/dspace-angular
|
||||||
|
tags: ${{ env.IMAGE_TAGS }}
|
||||||
|
# As this is a "dist" image, its tags are all suffixed with "-dist". Otherwise, it uses the same
|
||||||
|
# tagging logic as the primary 'dspace/dspace-angular' image above.
|
||||||
|
flavor: ${{ env.TAGS_FLAVOR }}
|
||||||
|
suffix=-dist
|
||||||
|
|
||||||
|
- name: Build and push 'dspace-angular-dist' image
|
||||||
|
id: docker_build_dist
|
||||||
|
uses: docker/build-push-action@v3
|
||||||
|
with:
|
||||||
|
context: .
|
||||||
|
file: ./Dockerfile.dist
|
||||||
|
platforms: ${{ env.PLATFORMS }}
|
||||||
|
# For pull requests, we run the Docker build (to ensure no PR changes break the build),
|
||||||
|
# but we ONLY do an image push to DockerHub if it's NOT a PR
|
||||||
|
push: ${{ github.event_name != 'pull_request' }}
|
||||||
|
# Use tags / labels provided by 'docker/metadata-action' above
|
||||||
|
tags: ${{ steps.meta_build_dist.outputs.tags }}
|
||||||
|
labels: ${{ steps.meta_build_dist.outputs.labels }}
|
||||||
|
2
.github/workflows/issue_opened.yml
vendored
2
.github/workflows/issue_opened.yml
vendored
@@ -16,7 +16,7 @@ jobs:
|
|||||||
# Only add to project board if issue is flagged as "needs triage" or has no labels
|
# Only add to project board if issue is flagged as "needs triage" or has no labels
|
||||||
# NOTE: By default we flag new issues as "needs triage" in our issue template
|
# NOTE: By default we flag new issues as "needs triage" in our issue template
|
||||||
if: (contains(github.event.issue.labels.*.name, 'needs triage') || join(github.event.issue.labels.*.name) == '')
|
if: (contains(github.event.issue.labels.*.name, 'needs triage') || join(github.event.issue.labels.*.name) == '')
|
||||||
uses: actions/add-to-project@v0.3.0
|
uses: actions/add-to-project@v0.5.0
|
||||||
# Note, the authentication token below is an ORG level Secret.
|
# Note, the authentication token below is an ORG level Secret.
|
||||||
# It must be created/recreated manually via a personal access token with admin:org, project, public_repo permissions
|
# It must be created/recreated manually via a personal access token with admin:org, project, public_repo permissions
|
||||||
# See: https://docs.github.com/en/actions/configuring-and-managing-workflows/authenticating-with-the-github_token#permissions-for-the-github_token
|
# See: https://docs.github.com/en/actions/configuring-and-managing-workflows/authenticating-with-the-github_token#permissions-for-the-github_token
|
||||||
|
2
.github/workflows/label_merge_conflicts.yml
vendored
2
.github/workflows/label_merge_conflicts.yml
vendored
@@ -23,7 +23,7 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
# See: https://github.com/prince-chrismc/label-merge-conflicts-action
|
# See: https://github.com/prince-chrismc/label-merge-conflicts-action
|
||||||
- name: Auto-label PRs with merge conflicts
|
- name: Auto-label PRs with merge conflicts
|
||||||
uses: prince-chrismc/label-merge-conflicts-action@v2
|
uses: prince-chrismc/label-merge-conflicts-action@v3
|
||||||
# Add "merge conflict" label if a merge conflict is detected. Remove it when resolved.
|
# Add "merge conflict" label if a merge conflict is detected. Remove it when resolved.
|
||||||
# Note, the authentication token is created automatically
|
# Note, the authentication token is created automatically
|
||||||
# See: https://docs.github.com/en/actions/configuring-and-managing-workflows/authenticating-with-the-github_token
|
# See: https://docs.github.com/en/actions/configuring-and-managing-workflows/authenticating-with-the-github_token
|
||||||
|
15
Dockerfile
15
Dockerfile
@@ -2,20 +2,27 @@
|
|||||||
# See https://github.com/DSpace/dspace-angular/tree/main/docker for usage details
|
# See https://github.com/DSpace/dspace-angular/tree/main/docker for usage details
|
||||||
|
|
||||||
FROM node:18-alpine
|
FROM node:18-alpine
|
||||||
WORKDIR /app
|
|
||||||
ADD . /app/
|
|
||||||
EXPOSE 4000
|
|
||||||
|
|
||||||
# Ensure Python and other build tools are available
|
# Ensure Python and other build tools are available
|
||||||
# These are needed to install some node modules, especially on linux/arm64
|
# These are needed to install some node modules, especially on linux/arm64
|
||||||
RUN apk add --update python3 make g++ && rm -rf /var/cache/apk/*
|
RUN apk add --update python3 make g++ && rm -rf /var/cache/apk/*
|
||||||
|
|
||||||
|
WORKDIR /app
|
||||||
|
ADD . /app/
|
||||||
|
EXPOSE 4000
|
||||||
|
|
||||||
# We run yarn install with an increased network timeout (5min) to avoid "ESOCKETTIMEDOUT" errors from hub.docker.com
|
# We run yarn install with an increased network timeout (5min) to avoid "ESOCKETTIMEDOUT" errors from hub.docker.com
|
||||||
# See, for example https://github.com/yarnpkg/yarn/issues/5540
|
# See, for example https://github.com/yarnpkg/yarn/issues/5540
|
||||||
RUN yarn install --network-timeout 300000
|
RUN yarn install --network-timeout 300000
|
||||||
|
|
||||||
|
# When running in dev mode, 4GB of memory is required to build & launch the app.
|
||||||
|
# This default setting can be overridden as needed in your shell, via an env file or in docker-compose.
|
||||||
|
# See Docker environment var precedence: https://docs.docker.com/compose/environment-variables/envvars-precedence/
|
||||||
|
ENV NODE_OPTIONS="--max_old_space_size=4096"
|
||||||
|
|
||||||
# On startup, run in DEVELOPMENT mode (this defaults to live reloading enabled, etc).
|
# On startup, run in DEVELOPMENT mode (this defaults to live reloading enabled, etc).
|
||||||
# Listen / accept connections from all IP addresses.
|
# Listen / accept connections from all IP addresses.
|
||||||
# NOTE: At this time it is only possible to run Docker container in Production mode
|
# NOTE: At this time it is only possible to run Docker container in Production mode
|
||||||
# if you have a public IP. See https://github.com/DSpace/dspace-angular/issues/1485
|
# if you have a public URL. See https://github.com/DSpace/dspace-angular/issues/1485
|
||||||
|
ENV NODE_ENV development
|
||||||
CMD yarn serve --host 0.0.0.0
|
CMD yarn serve --host 0.0.0.0
|
||||||
|
31
Dockerfile.dist
Normal file
31
Dockerfile.dist
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
# This image will be published as dspace/dspace-angular:$DSPACE_VERSION-dist
|
||||||
|
# See https://github.com/DSpace/dspace-angular/tree/main/docker for usage details
|
||||||
|
|
||||||
|
# Test build:
|
||||||
|
# docker build -f Dockerfile.dist -t dspace/dspace-angular:dspace-7_x-dist .
|
||||||
|
|
||||||
|
FROM node:18-alpine as build
|
||||||
|
|
||||||
|
# Ensure Python and other build tools are available
|
||||||
|
# These are needed to install some node modules, especially on linux/arm64
|
||||||
|
RUN apk add --update python3 make g++ && rm -rf /var/cache/apk/*
|
||||||
|
|
||||||
|
WORKDIR /app
|
||||||
|
COPY package.json yarn.lock ./
|
||||||
|
RUN yarn install --network-timeout 300000
|
||||||
|
|
||||||
|
ADD . /app/
|
||||||
|
RUN yarn build:prod
|
||||||
|
|
||||||
|
FROM node:18-alpine
|
||||||
|
RUN npm install --global pm2
|
||||||
|
|
||||||
|
COPY --chown=node:node --from=build /app/dist /app/dist
|
||||||
|
COPY --chown=node:node config /app/config
|
||||||
|
COPY --chown=node:node docker/dspace-ui.json /app/dspace-ui.json
|
||||||
|
|
||||||
|
WORKDIR /app
|
||||||
|
USER node
|
||||||
|
ENV NODE_ENV production
|
||||||
|
EXPOSE 4000
|
||||||
|
CMD pm2-runtime start dspace-ui.json --json
|
@@ -266,7 +266,8 @@
|
|||||||
"options": {
|
"options": {
|
||||||
"lintFilePatterns": [
|
"lintFilePatterns": [
|
||||||
"src/**/*.ts",
|
"src/**/*.ts",
|
||||||
"src/**/*.html"
|
"src/**/*.html",
|
||||||
|
"src/**/*.json5"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -122,8 +122,6 @@ describe('New Submission page', () => {
|
|||||||
|
|
||||||
// Wait for upload to complete before proceeding
|
// Wait for upload to complete before proceeding
|
||||||
cy.wait('@upload');
|
cy.wait('@upload');
|
||||||
// Close the upload success notice
|
|
||||||
cy.get('[data-dismiss="alert"]').click({multiple: true});
|
|
||||||
|
|
||||||
// Wait for deposit button to not be disabled & click it.
|
// Wait for deposit button to not be disabled & click it.
|
||||||
cy.get('button#deposit').should('not.be.disabled').click();
|
cy.get('button#deposit').should('not.be.disabled').click();
|
||||||
|
@@ -6,7 +6,20 @@
|
|||||||
If you wish to run DSpace on Docker in production, we recommend building your own Docker images. You are welcome to borrow ideas/concepts from the below images in doing so. But, the below images should not be used "as is" in any production scenario.
|
If you wish to run DSpace on Docker in production, we recommend building your own Docker images. You are welcome to borrow ideas/concepts from the below images in doing so. But, the below images should not be used "as is" in any production scenario.
|
||||||
***
|
***
|
||||||
|
|
||||||
## 'Dockerfile' in root directory
|
## Overview
|
||||||
|
The scripts in this directory can be used to start the DSpace User Interface (frontend) in Docker.
|
||||||
|
Optionally, the backend (REST API) might also be started in Docker.
|
||||||
|
|
||||||
|
For additional options/settings in starting the backend (REST API) in Docker, see the Docker Compose
|
||||||
|
documentation for the backend: https://github.com/DSpace/DSpace/blob/main/dspace/src/main/docker-compose/README.md
|
||||||
|
|
||||||
|
## Root directory
|
||||||
|
|
||||||
|
The root directory of this project contains all the Dockerfiles which may be referenced by
|
||||||
|
the Docker compose scripts in this 'docker' folder.
|
||||||
|
|
||||||
|
### Dockerfile
|
||||||
|
|
||||||
This Dockerfile is used to build a *development* DSpace 7 Angular UI image, published as 'dspace/dspace-angular'
|
This Dockerfile is used to build a *development* DSpace 7 Angular UI image, published as 'dspace/dspace-angular'
|
||||||
|
|
||||||
```
|
```
|
||||||
@@ -20,7 +33,18 @@ Admins to our DockerHub repo can manually publish with the following command.
|
|||||||
docker push dspace/dspace-angular:dspace-7_x
|
docker push dspace/dspace-angular:dspace-7_x
|
||||||
```
|
```
|
||||||
|
|
||||||
## docker directory
|
### Dockerfile.dist
|
||||||
|
|
||||||
|
The `Dockerfile.dist` is used to generate a *production* build and runtime environment.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# build the latest image
|
||||||
|
docker build -f Dockerfile.dist -t dspace/dspace-angular:dspace-7_x-dist .
|
||||||
|
```
|
||||||
|
|
||||||
|
A default/demo version of this image is built *automatically*.
|
||||||
|
|
||||||
|
## 'docker' directory
|
||||||
- docker-compose.yml
|
- docker-compose.yml
|
||||||
- Starts DSpace Angular with Docker Compose from the current branch. This file assumes that a DSpace 7 REST instance will also be started in Docker.
|
- Starts DSpace Angular with Docker Compose from the current branch. This file assumes that a DSpace 7 REST instance will also be started in Docker.
|
||||||
- docker-compose-rest.yml
|
- docker-compose-rest.yml
|
||||||
@@ -45,23 +69,47 @@ docker-compose -f docker/docker-compose.yml build
|
|||||||
|
|
||||||
## To start DSpace (REST and Angular) from your branch
|
## To start DSpace (REST and Angular) from your branch
|
||||||
|
|
||||||
|
This command provides a quick way to start both the frontend & backend from this single codebase
|
||||||
```
|
```
|
||||||
docker-compose -p d7 -f docker/docker-compose.yml -f docker/docker-compose-rest.yml up -d
|
docker-compose -p d7 -f docker/docker-compose.yml -f docker/docker-compose-rest.yml up -d
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Keep in mind, you may also start the backend by cloning the 'DSpace/DSpace' GitHub repository separately. See the next section.
|
||||||
|
|
||||||
|
|
||||||
## Run DSpace REST and DSpace Angular from local branches.
|
## Run DSpace REST and DSpace Angular from local branches.
|
||||||
|
|
||||||
|
This section assumes that you have clones *both* the 'DSpace/DSpace' and 'DSpace/dspace-angular' GitHub
|
||||||
|
repositories. When both are available locally, you can spin up both in Docker and have them work together.
|
||||||
|
|
||||||
_The system will be started in 2 steps. Each step shares the same docker network._
|
_The system will be started in 2 steps. Each step shares the same docker network._
|
||||||
|
|
||||||
From DSpace/DSpace (build as needed)
|
From 'DSpace/DSpace' clone (build first as needed):
|
||||||
```
|
```
|
||||||
docker-compose -p d7 up -d
|
docker-compose -p d7 up -d
|
||||||
```
|
```
|
||||||
|
|
||||||
From DSpace/DSpace-angular
|
NOTE: More detailed instructions on starting the backend via Docker can be found in the [Docker Compose instructions for the Backend](https://github.com/DSpace/DSpace/blob/main/dspace/src/main/docker-compose/README.md).
|
||||||
|
|
||||||
|
From 'DSpace/dspace-angular' clone (build first as needed)
|
||||||
```
|
```
|
||||||
docker-compose -p d7 -f docker/docker-compose.yml up -d
|
docker-compose -p d7 -f docker/docker-compose.yml up -d
|
||||||
```
|
```
|
||||||
|
|
||||||
|
At this point, you should be able to access the UI from http://localhost:4000,
|
||||||
|
and the backend at http://localhost:8080/server/
|
||||||
|
|
||||||
|
## Run DSpace Angular dist build with DSpace Demo site backend
|
||||||
|
|
||||||
|
This allows you to run the Angular UI in *production* mode, pointing it at the demo backend
|
||||||
|
(https://api7.dspace.org/server/).
|
||||||
|
|
||||||
|
```
|
||||||
|
docker-compose -f docker/docker-compose-dist.yml pull
|
||||||
|
docker-compose -f docker/docker-compose-dist.yml build
|
||||||
|
docker-compose -p d7 -f docker/docker-compose-dist.yml up -d
|
||||||
|
```
|
||||||
|
|
||||||
## Ingest test data from AIPDIR
|
## Ingest test data from AIPDIR
|
||||||
|
|
||||||
Create an administrator
|
Create an administrator
|
||||||
@@ -87,9 +135,10 @@ Load assetstore content and trigger a re-index of the repository
|
|||||||
docker-compose -p d7 -f docker/cli.yml -f docker/cli.assetstore.yml run --rm dspace-cli
|
docker-compose -p d7 -f docker/cli.yml -f docker/cli.assetstore.yml run --rm dspace-cli
|
||||||
```
|
```
|
||||||
|
|
||||||
## End to end testing of the rest api (runs in travis).
|
## End to end testing of the REST API (runs in GitHub Actions CI).
|
||||||
_In this instance, only the REST api runs in Docker using the Entities dataset. Travis will perform CI testing of Angular using Node to drive the tests._
|
_In this instance, only the REST api runs in Docker using the Entities dataset. GitHub Actions will perform CI testing of Angular using Node to drive the tests. See `.github/workflows/build.yml` for more details._
|
||||||
|
|
||||||
|
This command is only really useful for testing our Continuous Integration process.
|
||||||
```
|
```
|
||||||
docker-compose -p d7ci -f docker/docker-compose-travis.yml up -d
|
docker-compose -p d7ci -f docker/docker-compose-ci.yml up -d
|
||||||
```
|
```
|
||||||
|
40
docker/docker-compose-dist.yml
Normal file
40
docker/docker-compose-dist.yml
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
#
|
||||||
|
# The contents of this file are subject to the license and copyright
|
||||||
|
# detailed in the LICENSE and NOTICE files at the root of the source
|
||||||
|
# tree and available online at
|
||||||
|
#
|
||||||
|
# http://www.dspace.org/license/
|
||||||
|
#
|
||||||
|
|
||||||
|
# Docker Compose for running the DSpace Angular UI dist build
|
||||||
|
# for previewing with the DSpace Demo site backend
|
||||||
|
version: '3.7'
|
||||||
|
networks:
|
||||||
|
dspacenet:
|
||||||
|
services:
|
||||||
|
dspace-angular:
|
||||||
|
container_name: dspace-angular
|
||||||
|
environment:
|
||||||
|
DSPACE_UI_SSL: 'false'
|
||||||
|
DSPACE_UI_HOST: dspace-angular
|
||||||
|
DSPACE_UI_PORT: '4000'
|
||||||
|
DSPACE_UI_NAMESPACE: /
|
||||||
|
# NOTE: When running the UI in production mode (which the -dist image does),
|
||||||
|
# these DSPACE_REST_* variables MUST point at a public, HTTPS URL.
|
||||||
|
# This is because Server Side Rendering (SSR) currently requires a public URL,
|
||||||
|
# see this bug: https://github.com/DSpace/dspace-angular/issues/1485
|
||||||
|
DSPACE_REST_SSL: 'true'
|
||||||
|
DSPACE_REST_HOST: api7.dspace.org
|
||||||
|
DSPACE_REST_PORT: 443
|
||||||
|
DSPACE_REST_NAMESPACE: /server
|
||||||
|
image: dspace/dspace-angular:dspace-7_x-dist
|
||||||
|
build:
|
||||||
|
context: ..
|
||||||
|
dockerfile: Dockerfile.dist
|
||||||
|
networks:
|
||||||
|
dspacenet:
|
||||||
|
ports:
|
||||||
|
- published: 4000
|
||||||
|
target: 4000
|
||||||
|
stdin_open: true
|
||||||
|
tty: true
|
@@ -39,7 +39,7 @@ services:
|
|||||||
# proxies.trusted.ipranges: This setting is required for a REST API running in Docker to trust requests
|
# proxies.trusted.ipranges: This setting is required for a REST API running in Docker to trust requests
|
||||||
# from the host machine. This IP range MUST correspond to the 'dspacenet' subnet defined above.
|
# from the host machine. This IP range MUST correspond to the 'dspacenet' subnet defined above.
|
||||||
proxies__P__trusted__P__ipranges: '172.23.0'
|
proxies__P__trusted__P__ipranges: '172.23.0'
|
||||||
image: dspace/dspace:dspace-7_x-test
|
image: "${DOCKER_OWNER:-dspace}/dspace:${DSPACE_VER:-dspace-7_x-test}"
|
||||||
depends_on:
|
depends_on:
|
||||||
- dspacedb
|
- dspacedb
|
||||||
networks:
|
networks:
|
||||||
@@ -82,8 +82,7 @@ services:
|
|||||||
# DSpace Solr container
|
# DSpace Solr container
|
||||||
dspacesolr:
|
dspacesolr:
|
||||||
container_name: dspacesolr
|
container_name: dspacesolr
|
||||||
# Uses official Solr image at https://hub.docker.com/_/solr/
|
image: "${DOCKER_OWNER:-dspace}/dspace-solr:${DSPACE_VER:-dspace-7_x}"
|
||||||
image: solr:8.11-slim
|
|
||||||
# Needs main 'dspace' container to start first to guarantee access to solr_configs
|
# Needs main 'dspace' container to start first to guarantee access to solr_configs
|
||||||
depends_on:
|
depends_on:
|
||||||
- dspace
|
- dspace
|
||||||
@@ -96,28 +95,26 @@ services:
|
|||||||
tty: true
|
tty: true
|
||||||
working_dir: /var/solr/data
|
working_dir: /var/solr/data
|
||||||
volumes:
|
volumes:
|
||||||
# Mount our "solr_configs" volume available under the Solr's configsets folder (in a 'dspace' subfolder)
|
|
||||||
# This copies the Solr configs from main 'dspace' container into 'dspacesolr' via that volume
|
|
||||||
- solr_configs:/opt/solr/server/solr/configsets/dspace
|
|
||||||
# Keep Solr data directory between reboots
|
# Keep Solr data directory between reboots
|
||||||
- solr_data:/var/solr/data
|
- solr_data:/var/solr/data
|
||||||
# Initialize all DSpace Solr cores using the mounted local configsets (see above), then start Solr
|
# Initialize all DSpace Solr cores using the mounted local configsets (see above), then start Solr
|
||||||
# * First, run precreate-core to create the core (if it doesn't yet exist). If exists already, this is a no-op
|
# * First, run precreate-core to create the core (if it doesn't yet exist). If exists already, this is a no-op
|
||||||
# * Second, copy updated configs from mounted configsets to this core. If it already existed, this updates core
|
# * Second, copy configsets to this core:
|
||||||
# to the latest configs. If it's a newly created core, this is a no-op.
|
# Updates to Solr configs require the container to be rebuilt/restarted:
|
||||||
|
# `docker-compose -p d7 -f docker/docker-compose.yml -f docker/docker-compose-rest.yml up -d --build dspacesolr`
|
||||||
entrypoint:
|
entrypoint:
|
||||||
- /bin/bash
|
- /bin/bash
|
||||||
- '-c'
|
- '-c'
|
||||||
- |
|
- |
|
||||||
init-var-solr
|
init-var-solr
|
||||||
precreate-core authority /opt/solr/server/solr/configsets/dspace/authority
|
precreate-core authority /opt/solr/server/solr/configsets/authority
|
||||||
cp -r -u /opt/solr/server/solr/configsets/dspace/authority/* authority
|
cp -r /opt/solr/server/solr/configsets/authority/* authority
|
||||||
precreate-core oai /opt/solr/server/solr/configsets/dspace/oai
|
precreate-core oai /opt/solr/server/solr/configsets/oai
|
||||||
cp -r -u /opt/solr/server/solr/configsets/dspace/oai/* oai
|
cp -r /opt/solr/server/solr/configsets/oai/* oai
|
||||||
precreate-core search /opt/solr/server/solr/configsets/dspace/search
|
precreate-core search /opt/solr/server/solr/configsets/search
|
||||||
cp -r -u /opt/solr/server/solr/configsets/dspace/search/* search
|
cp -r /opt/solr/server/solr/configsets/search/* search
|
||||||
precreate-core statistics /opt/solr/server/solr/configsets/dspace/statistics
|
precreate-core statistics /opt/solr/server/solr/configsets/statistics
|
||||||
cp -r -u /opt/solr/server/solr/configsets/dspace/statistics/* statistics
|
cp -r /opt/solr/server/solr/configsets/statistics/* statistics
|
||||||
exec solr -f
|
exec solr -f
|
||||||
volumes:
|
volumes:
|
||||||
assetstore:
|
assetstore:
|
||||||
|
11
docker/dspace-ui.json
Normal file
11
docker/dspace-ui.json
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"apps": [
|
||||||
|
{
|
||||||
|
"name": "dspace-ui",
|
||||||
|
"cwd": "/app",
|
||||||
|
"script": "dist/server/main.js",
|
||||||
|
"instances": "max",
|
||||||
|
"exec_mode": "cluster"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@@ -163,13 +163,14 @@
|
|||||||
"compression-webpack-plugin": "^9.2.0",
|
"compression-webpack-plugin": "^9.2.0",
|
||||||
"copy-webpack-plugin": "^6.4.1",
|
"copy-webpack-plugin": "^6.4.1",
|
||||||
"cross-env": "^7.0.3",
|
"cross-env": "^7.0.3",
|
||||||
"cypress": "^12.0.1",
|
"cypress": "12.9.0",
|
||||||
"cypress-axe": "^1.1.0",
|
"cypress-axe": "^1.1.0",
|
||||||
"deep-freeze": "0.0.1",
|
"deep-freeze": "0.0.1",
|
||||||
"eslint": "^8.2.0",
|
"eslint": "^8.2.0",
|
||||||
"eslint-plugin-deprecation": "^1.3.2",
|
"eslint-plugin-deprecation": "^1.3.2",
|
||||||
"eslint-plugin-import": "^2.25.4",
|
"eslint-plugin-import": "^2.25.4",
|
||||||
"eslint-plugin-jsdoc": "^39.6.4",
|
"eslint-plugin-jsdoc": "^39.6.4",
|
||||||
|
"eslint-plugin-jsonc": "^2.6.0",
|
||||||
"eslint-plugin-lodash": "^7.4.0",
|
"eslint-plugin-lodash": "^7.4.0",
|
||||||
"eslint-plugin-unused-imports": "^2.0.0",
|
"eslint-plugin-unused-imports": "^2.0.0",
|
||||||
"express-static-gzip": "^2.1.5",
|
"express-static-gzip": "^2.1.5",
|
||||||
|
@@ -97,9 +97,15 @@ export class BatchImportPageComponent {
|
|||||||
this.router.navigateByUrl(getProcessDetailRoute(rd.payload.processId));
|
this.router.navigateByUrl(getProcessDetailRoute(rd.payload.processId));
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
const title = this.translate.get('process.new.notification.error.title');
|
if (rd.statusCode === 413) {
|
||||||
const content = this.translate.get('process.new.notification.error.content');
|
const title = this.translate.get('process.new.notification.error.title');
|
||||||
this.notificationsService.error(title, content);
|
const content = this.translate.get('process.new.notification.error.max-upload.content');
|
||||||
|
this.notificationsService.error(title, content);
|
||||||
|
} else {
|
||||||
|
const title = this.translate.get('process.new.notification.error.title');
|
||||||
|
const content = this.translate.get('process.new.notification.error.content');
|
||||||
|
this.notificationsService.error(title, content);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@@ -17,6 +17,7 @@ export const AuthActionTypes = {
|
|||||||
AUTHENTICATED_SUCCESS: type('dspace/auth/AUTHENTICATED_SUCCESS'),
|
AUTHENTICATED_SUCCESS: type('dspace/auth/AUTHENTICATED_SUCCESS'),
|
||||||
CHECK_AUTHENTICATION_TOKEN: type('dspace/auth/CHECK_AUTHENTICATION_TOKEN'),
|
CHECK_AUTHENTICATION_TOKEN: type('dspace/auth/CHECK_AUTHENTICATION_TOKEN'),
|
||||||
CHECK_AUTHENTICATION_TOKEN_COOKIE: type('dspace/auth/CHECK_AUTHENTICATION_TOKEN_COOKIE'),
|
CHECK_AUTHENTICATION_TOKEN_COOKIE: type('dspace/auth/CHECK_AUTHENTICATION_TOKEN_COOKIE'),
|
||||||
|
SET_AUTH_COOKIE_STATUS: type('dspace/auth/SET_AUTH_COOKIE_STATUS'),
|
||||||
RETRIEVE_AUTH_METHODS: type('dspace/auth/RETRIEVE_AUTH_METHODS'),
|
RETRIEVE_AUTH_METHODS: type('dspace/auth/RETRIEVE_AUTH_METHODS'),
|
||||||
RETRIEVE_AUTH_METHODS_SUCCESS: type('dspace/auth/RETRIEVE_AUTH_METHODS_SUCCESS'),
|
RETRIEVE_AUTH_METHODS_SUCCESS: type('dspace/auth/RETRIEVE_AUTH_METHODS_SUCCESS'),
|
||||||
RETRIEVE_AUTH_METHODS_ERROR: type('dspace/auth/RETRIEVE_AUTH_METHODS_ERROR'),
|
RETRIEVE_AUTH_METHODS_ERROR: type('dspace/auth/RETRIEVE_AUTH_METHODS_ERROR'),
|
||||||
@@ -150,6 +151,19 @@ export class CheckAuthenticationTokenCookieAction implements Action {
|
|||||||
public type: string = AuthActionTypes.CHECK_AUTHENTICATION_TOKEN_COOKIE;
|
public type: string = AuthActionTypes.CHECK_AUTHENTICATION_TOKEN_COOKIE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the authentication cookie status to flag an external authentication response.
|
||||||
|
*/
|
||||||
|
export class SetAuthCookieStatus implements Action {
|
||||||
|
public type: string = AuthActionTypes.SET_AUTH_COOKIE_STATUS;
|
||||||
|
|
||||||
|
payload = false;
|
||||||
|
|
||||||
|
constructor(exists: boolean) {
|
||||||
|
this.payload = exists;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sign out.
|
* Sign out.
|
||||||
* @class LogOutAction
|
* @class LogOutAction
|
||||||
@@ -425,6 +439,7 @@ export type AuthActions
|
|||||||
| AuthenticationSuccessAction
|
| AuthenticationSuccessAction
|
||||||
| CheckAuthenticationTokenAction
|
| CheckAuthenticationTokenAction
|
||||||
| CheckAuthenticationTokenCookieAction
|
| CheckAuthenticationTokenCookieAction
|
||||||
|
| SetAuthCookieStatus
|
||||||
| RedirectWhenAuthenticationIsRequiredAction
|
| RedirectWhenAuthenticationIsRequiredAction
|
||||||
| RedirectWhenTokenExpiredAction
|
| RedirectWhenTokenExpiredAction
|
||||||
| AddAuthenticationMessageAction
|
| AddAuthenticationMessageAction
|
||||||
|
@@ -214,12 +214,15 @@ describe('AuthEffects', () => {
|
|||||||
authenticated: true
|
authenticated: true
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
|
spyOn((authEffects as any).authService, 'setExternalAuthStatus');
|
||||||
actions = hot('--a-', { a: { type: AuthActionTypes.CHECK_AUTHENTICATION_TOKEN_COOKIE } });
|
actions = hot('--a-', { a: { type: AuthActionTypes.CHECK_AUTHENTICATION_TOKEN_COOKIE } });
|
||||||
|
|
||||||
const expected = cold('--b-', { b: new RetrieveTokenAction() });
|
const expected = cold('--b-', { b: new RetrieveTokenAction() });
|
||||||
|
|
||||||
expect(authEffects.checkTokenCookie$).toBeObservable(expected);
|
expect(authEffects.checkTokenCookie$).toBeObservable(expected);
|
||||||
authEffects.checkTokenCookie$.subscribe(() => {
|
authEffects.checkTokenCookie$.subscribe(() => {
|
||||||
|
expect(authServiceStub.setExternalAuthStatus).toHaveBeenCalled();
|
||||||
|
expect(authServiceStub.isExternalAuthentication).toBeTrue();
|
||||||
expect((authEffects as any).authorizationsService.invalidateAuthorizationsRequestCache).toHaveBeenCalled();
|
expect((authEffects as any).authorizationsService.invalidateAuthorizationsRequestCache).toHaveBeenCalled();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@@ -153,6 +153,7 @@ export class AuthEffects {
|
|||||||
return this.authService.checkAuthenticationCookie().pipe(
|
return this.authService.checkAuthenticationCookie().pipe(
|
||||||
map((response: AuthStatus) => {
|
map((response: AuthStatus) => {
|
||||||
if (response.authenticated) {
|
if (response.authenticated) {
|
||||||
|
this.authService.setExternalAuthStatus(true);
|
||||||
this.authorizationsService.invalidateAuthorizationsRequestCache();
|
this.authorizationsService.invalidateAuthorizationsRequestCache();
|
||||||
return new RetrieveTokenAction();
|
return new RetrieveTokenAction();
|
||||||
} else {
|
} else {
|
||||||
|
@@ -8,6 +8,7 @@ import {
|
|||||||
AuthenticationErrorAction,
|
AuthenticationErrorAction,
|
||||||
AuthenticationSuccessAction,
|
AuthenticationSuccessAction,
|
||||||
CheckAuthenticationTokenAction,
|
CheckAuthenticationTokenAction,
|
||||||
|
SetAuthCookieStatus,
|
||||||
CheckAuthenticationTokenCookieAction,
|
CheckAuthenticationTokenCookieAction,
|
||||||
LogOutAction,
|
LogOutAction,
|
||||||
LogOutErrorAction,
|
LogOutErrorAction,
|
||||||
@@ -219,6 +220,28 @@ describe('authReducer', () => {
|
|||||||
expect(newState).toEqual(state);
|
expect(newState).toEqual(state);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('should set the authentication cookie status in response to a SET_AUTH_COOKIE_STATUS action', () => {
|
||||||
|
initialState = {
|
||||||
|
authenticated: true,
|
||||||
|
loaded: false,
|
||||||
|
blocking: false,
|
||||||
|
loading: true,
|
||||||
|
externalAuth: false,
|
||||||
|
idle: false
|
||||||
|
};
|
||||||
|
const action = new SetAuthCookieStatus(true);
|
||||||
|
const newState = authReducer(initialState, action);
|
||||||
|
state = {
|
||||||
|
authenticated: true,
|
||||||
|
loaded: false,
|
||||||
|
blocking: false,
|
||||||
|
loading: true,
|
||||||
|
externalAuth: true,
|
||||||
|
idle: false
|
||||||
|
};
|
||||||
|
expect(newState).toEqual(state);
|
||||||
|
});
|
||||||
|
|
||||||
it('should properly set the state, in response to a LOG_OUT action', () => {
|
it('should properly set the state, in response to a LOG_OUT action', () => {
|
||||||
initialState = {
|
initialState = {
|
||||||
authenticated: true,
|
authenticated: true,
|
||||||
|
@@ -10,7 +10,7 @@ import {
|
|||||||
RedirectWhenTokenExpiredAction,
|
RedirectWhenTokenExpiredAction,
|
||||||
RefreshTokenSuccessAction,
|
RefreshTokenSuccessAction,
|
||||||
RetrieveAuthenticatedEpersonSuccessAction,
|
RetrieveAuthenticatedEpersonSuccessAction,
|
||||||
RetrieveAuthMethodsSuccessAction,
|
RetrieveAuthMethodsSuccessAction, SetAuthCookieStatus,
|
||||||
SetRedirectUrlAction
|
SetRedirectUrlAction
|
||||||
} from './auth.actions';
|
} from './auth.actions';
|
||||||
// import models
|
// import models
|
||||||
@@ -59,6 +59,8 @@ export interface AuthState {
|
|||||||
// all authentication Methods enabled at the backend
|
// all authentication Methods enabled at the backend
|
||||||
authMethods?: AuthMethod[];
|
authMethods?: AuthMethod[];
|
||||||
|
|
||||||
|
externalAuth?: boolean,
|
||||||
|
|
||||||
// true when the current user is idle
|
// true when the current user is idle
|
||||||
idle: boolean;
|
idle: boolean;
|
||||||
|
|
||||||
@@ -73,6 +75,7 @@ const initialState: AuthState = {
|
|||||||
blocking: true,
|
blocking: true,
|
||||||
loading: false,
|
loading: false,
|
||||||
authMethods: [],
|
authMethods: [],
|
||||||
|
externalAuth: false,
|
||||||
idle: false
|
idle: false
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -104,6 +107,11 @@ export function authReducer(state: any = initialState, action: AuthActions): Aut
|
|||||||
loading: true,
|
loading: true,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
case AuthActionTypes.SET_AUTH_COOKIE_STATUS:
|
||||||
|
return Object.assign({}, state, {
|
||||||
|
externalAuth: (action as SetAuthCookieStatus).payload
|
||||||
|
});
|
||||||
|
|
||||||
case AuthActionTypes.AUTHENTICATED_ERROR:
|
case AuthActionTypes.AUTHENTICATED_ERROR:
|
||||||
case AuthActionTypes.RETRIEVE_AUTHENTICATED_EPERSON_ERROR:
|
case AuthActionTypes.RETRIEVE_AUTHENTICATED_EPERSON_ERROR:
|
||||||
return Object.assign({}, state, {
|
return Object.assign({}, state, {
|
||||||
|
@@ -25,7 +25,7 @@ import {
|
|||||||
import { CookieService } from '../services/cookie.service';
|
import { CookieService } from '../services/cookie.service';
|
||||||
import {
|
import {
|
||||||
getAuthenticatedUserId,
|
getAuthenticatedUserId,
|
||||||
getAuthenticationToken,
|
getAuthenticationToken, getExternalAuthCookieStatus,
|
||||||
getRedirectUrl,
|
getRedirectUrl,
|
||||||
isAuthenticated,
|
isAuthenticated,
|
||||||
isAuthenticatedLoaded,
|
isAuthenticatedLoaded,
|
||||||
@@ -36,7 +36,7 @@ import { AppState } from '../../app.reducer';
|
|||||||
import {
|
import {
|
||||||
CheckAuthenticationTokenAction,
|
CheckAuthenticationTokenAction,
|
||||||
RefreshTokenAction,
|
RefreshTokenAction,
|
||||||
ResetAuthenticationMessagesAction,
|
ResetAuthenticationMessagesAction, SetAuthCookieStatus,
|
||||||
SetRedirectUrlAction,
|
SetRedirectUrlAction,
|
||||||
SetUserAsIdleAction,
|
SetUserAsIdleAction,
|
||||||
UnsetUserAsIdleAction
|
UnsetUserAsIdleAction
|
||||||
@@ -156,6 +156,24 @@ export class AuthService {
|
|||||||
return this.store.pipe(select(isAuthenticatedLoaded));
|
return this.store.pipe(select(isAuthenticatedLoaded));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Used to set the external authentication status when authenticating via an
|
||||||
|
* external authentication system (e.g. Shibboleth).
|
||||||
|
* @param external
|
||||||
|
*/
|
||||||
|
public setExternalAuthStatus(external: boolean) {
|
||||||
|
this.store.dispatch(new SetAuthCookieStatus(external));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns true if an external authentication system (e.g. Shibboleth) is being used
|
||||||
|
* for authentication. Returns false otherwise.
|
||||||
|
*/
|
||||||
|
public isExternalAuthentication(): Observable<boolean> {
|
||||||
|
return this.store.pipe(
|
||||||
|
select(getExternalAuthCookieStatus));
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the href link to authenticated user
|
* Returns the href link to authenticated user
|
||||||
* @returns {string}
|
* @returns {string}
|
||||||
|
@@ -116,6 +116,8 @@ const _getRedirectUrl = (state: AuthState) => state.redirectUrl;
|
|||||||
|
|
||||||
const _getAuthenticationMethods = (state: AuthState) => state.authMethods;
|
const _getAuthenticationMethods = (state: AuthState) => state.authMethods;
|
||||||
|
|
||||||
|
const _getExternalAuthCookieStatus = (state: AuthState) => state.externalAuth;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns true if the user is idle.
|
* Returns true if the user is idle.
|
||||||
* @function _isIdle
|
* @function _isIdle
|
||||||
@@ -178,6 +180,16 @@ export const isAuthenticated = createSelector(getAuthState, _isAuthenticated);
|
|||||||
*/
|
*/
|
||||||
export const isAuthenticatedLoaded = createSelector(getAuthState, _isAuthenticatedLoaded);
|
export const isAuthenticatedLoaded = createSelector(getAuthState, _isAuthenticatedLoaded);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the authentication cookie status. Expect to be true when external authentication
|
||||||
|
* is used.
|
||||||
|
* @function getExternalAuthCookieStatus
|
||||||
|
* @param {AuthState} state
|
||||||
|
* @param {any} props
|
||||||
|
* @return {boolean}
|
||||||
|
*/
|
||||||
|
export const getExternalAuthCookieStatus = createSelector(getAuthState, _getExternalAuthCookieStatus);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns true if the authentication request is loading.
|
* Returns true if the authentication request is loading.
|
||||||
* @function isAuthenticationLoading
|
* @function isAuthenticationLoading
|
||||||
|
@@ -176,6 +176,7 @@ import { VocabularyEntryDetailsDataService } from './submission/vocabularies/voc
|
|||||||
import { IdentifierData } from '../shared/object-list/identifier-data/identifier-data.model';
|
import { IdentifierData } from '../shared/object-list/identifier-data/identifier-data.model';
|
||||||
import { Subscription } from '../shared/subscriptions/models/subscription.model';
|
import { Subscription } from '../shared/subscriptions/models/subscription.model';
|
||||||
import { SupervisionOrderDataService } from './supervision-order/supervision-order-data.service';
|
import { SupervisionOrderDataService } from './supervision-order/supervision-order-data.service';
|
||||||
|
import { ItemRequest } from './shared/item-request.model';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* When not in production, endpoint responses can be mocked for testing purposes
|
* When not in production, endpoint responses can be mocked for testing purposes
|
||||||
@@ -369,6 +370,7 @@ export const models =
|
|||||||
AccessStatusObject,
|
AccessStatusObject,
|
||||||
IdentifierData,
|
IdentifierData,
|
||||||
Subscription,
|
Subscription,
|
||||||
|
ItemRequest,
|
||||||
];
|
];
|
||||||
|
|
||||||
@NgModule({
|
@NgModule({
|
||||||
|
@@ -246,10 +246,10 @@ export abstract class BaseItemDataService extends IdentifiableDataService<Item>
|
|||||||
* Get the endpoint to move the item
|
* Get the endpoint to move the item
|
||||||
* @param itemId
|
* @param itemId
|
||||||
*/
|
*/
|
||||||
public getMoveItemEndpoint(itemId: string): Observable<string> {
|
public getMoveItemEndpoint(itemId: string, inheritPolicies: boolean): Observable<string> {
|
||||||
return this.halService.getEndpoint(this.linkPath).pipe(
|
return this.halService.getEndpoint(this.linkPath).pipe(
|
||||||
map((endpoint: string) => this.getIDHref(endpoint, itemId)),
|
map((endpoint: string) => this.getIDHref(endpoint, itemId)),
|
||||||
map((endpoint: string) => `${endpoint}/owningCollection`),
|
map((endpoint: string) => `${endpoint}/owningCollection?inheritPolicies=${inheritPolicies}`)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -258,14 +258,14 @@ export abstract class BaseItemDataService extends IdentifiableDataService<Item>
|
|||||||
* @param itemId
|
* @param itemId
|
||||||
* @param collection
|
* @param collection
|
||||||
*/
|
*/
|
||||||
public moveToCollection(itemId: string, collection: Collection): Observable<RemoteData<any>> {
|
public moveToCollection(itemId: string, collection: Collection, inheritPolicies: boolean): Observable<RemoteData<any>> {
|
||||||
const options: HttpOptions = Object.create({});
|
const options: HttpOptions = Object.create({});
|
||||||
let headers = new HttpHeaders();
|
let headers = new HttpHeaders();
|
||||||
headers = headers.append('Content-Type', 'text/uri-list');
|
headers = headers.append('Content-Type', 'text/uri-list');
|
||||||
options.headers = headers;
|
options.headers = headers;
|
||||||
|
|
||||||
const requestId = this.requestService.generateRequestId();
|
const requestId = this.requestService.generateRequestId();
|
||||||
const hrefObs = this.getMoveItemEndpoint(itemId);
|
const hrefObs = this.getMoveItemEndpoint(itemId, inheritPolicies);
|
||||||
|
|
||||||
hrefObs.pipe(
|
hrefObs.pipe(
|
||||||
find((href: string) => hasValue(href)),
|
find((href: string) => hasValue(href)),
|
||||||
|
@@ -7,7 +7,7 @@ import { FooterComponent } from './footer.component';
|
|||||||
*/
|
*/
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'ds-themed-footer',
|
selector: 'ds-themed-footer',
|
||||||
styleUrls: ['footer.component.scss'],
|
styleUrls: [],
|
||||||
templateUrl: '../shared/theme-support/themed.component.html',
|
templateUrl: '../shared/theme-support/themed.component.html',
|
||||||
})
|
})
|
||||||
export class ThemedFooterComponent extends ThemedComponent<FooterComponent> {
|
export class ThemedFooterComponent extends ThemedComponent<FooterComponent> {
|
||||||
@@ -20,6 +20,6 @@ export class ThemedFooterComponent extends ThemedComponent<FooterComponent> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected importUnthemedComponent(): Promise<any> {
|
protected importUnthemedComponent(): Promise<any> {
|
||||||
return import(`./footer.component`);
|
return import('./footer.component');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -3,11 +3,11 @@ import { ThemedComponent } from '../shared/theme-support/themed.component';
|
|||||||
import { HeaderNavbarWrapperComponent } from './header-navbar-wrapper.component';
|
import { HeaderNavbarWrapperComponent } from './header-navbar-wrapper.component';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Themed wrapper for BreadcrumbsComponent
|
* Themed wrapper for {@link HeaderNavbarWrapperComponent}
|
||||||
*/
|
*/
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'ds-themed-header-navbar-wrapper',
|
selector: 'ds-themed-header-navbar-wrapper',
|
||||||
styleUrls: ['./themed-header-navbar-wrapper.component.scss'],
|
styleUrls: [],
|
||||||
templateUrl: '../shared/theme-support/themed.component.html',
|
templateUrl: '../shared/theme-support/themed.component.html',
|
||||||
})
|
})
|
||||||
export class ThemedHeaderNavbarWrapperComponent extends ThemedComponent<HeaderNavbarWrapperComponent> {
|
export class ThemedHeaderNavbarWrapperComponent extends ThemedComponent<HeaderNavbarWrapperComponent> {
|
||||||
@@ -20,6 +20,6 @@ export class ThemedHeaderNavbarWrapperComponent extends ThemedComponent<HeaderNa
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected importUnthemedComponent(): Promise<any> {
|
protected importUnthemedComponent(): Promise<any> {
|
||||||
return import(`./header-navbar-wrapper.component`);
|
return import('./header-navbar-wrapper.component');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -8,8 +8,6 @@ import { Component } from '@angular/core';
|
|||||||
templateUrl: '../shared/theme-support/themed.component.html',
|
templateUrl: '../shared/theme-support/themed.component.html',
|
||||||
})
|
})
|
||||||
export class ThemedHomePageComponent extends ThemedComponent<HomePageComponent> {
|
export class ThemedHomePageComponent extends ThemedComponent<HomePageComponent> {
|
||||||
protected inAndOutputNames: (keyof HomePageComponent & keyof this)[];
|
|
||||||
|
|
||||||
|
|
||||||
protected getComponentName(): string {
|
protected getComponentName(): string {
|
||||||
return 'HomePageComponent';
|
return 'HomePageComponent';
|
||||||
|
@@ -134,9 +134,10 @@ describe('ItemMoveComponent', () => {
|
|||||||
});
|
});
|
||||||
comp.selectedCollectionName = 'selected-collection-id';
|
comp.selectedCollectionName = 'selected-collection-id';
|
||||||
comp.selectedCollection = collection1;
|
comp.selectedCollection = collection1;
|
||||||
|
comp.inheritPolicies = false;
|
||||||
comp.moveToCollection();
|
comp.moveToCollection();
|
||||||
|
|
||||||
expect(itemDataService.moveToCollection).toHaveBeenCalledWith('item-id', collection1);
|
expect(itemDataService.moveToCollection).toHaveBeenCalledWith('item-id', collection1, false);
|
||||||
});
|
});
|
||||||
it('should call notificationsService success message on success', () => {
|
it('should call notificationsService success message on success', () => {
|
||||||
comp.moveToCollection();
|
comp.moveToCollection();
|
||||||
|
@@ -106,7 +106,7 @@ export class ItemMoveComponent implements OnInit {
|
|||||||
*/
|
*/
|
||||||
moveToCollection() {
|
moveToCollection() {
|
||||||
this.processing = true;
|
this.processing = true;
|
||||||
const move$ = this.itemDataService.moveToCollection(this.item.id, this.selectedCollection)
|
const move$ = this.itemDataService.moveToCollection(this.item.id, this.selectedCollection, this.inheritPolicies)
|
||||||
.pipe(getFirstCompletedRemoteData());
|
.pipe(getFirstCompletedRemoteData());
|
||||||
|
|
||||||
move$.subscribe((response: RemoteData<any>) => {
|
move$.subscribe((response: RemoteData<any>) => {
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
import { Component, Input, OnInit } from '@angular/core';
|
import { Component, Input, OnChanges, OnInit } from '@angular/core';
|
||||||
import { NgxGalleryImage, NgxGalleryOptions } from '@kolkov/ngx-gallery';
|
import { NgxGalleryImage, NgxGalleryOptions } from '@kolkov/ngx-gallery';
|
||||||
import { MediaViewerItem } from '../../../core/shared/media-viewer-item.model';
|
import { MediaViewerItem } from '../../../core/shared/media-viewer-item.model';
|
||||||
import { NgxGalleryAnimation } from '@kolkov/ngx-gallery';
|
import { NgxGalleryAnimation } from '@kolkov/ngx-gallery';
|
||||||
@@ -13,15 +13,16 @@ import { AuthService } from '../../../core/auth/auth.service';
|
|||||||
templateUrl: './media-viewer-image.component.html',
|
templateUrl: './media-viewer-image.component.html',
|
||||||
styleUrls: ['./media-viewer-image.component.scss'],
|
styleUrls: ['./media-viewer-image.component.scss'],
|
||||||
})
|
})
|
||||||
export class MediaViewerImageComponent implements OnInit {
|
export class MediaViewerImageComponent implements OnChanges, OnInit {
|
||||||
@Input() images: MediaViewerItem[];
|
@Input() images: MediaViewerItem[];
|
||||||
@Input() preview?: boolean;
|
@Input() preview?: boolean;
|
||||||
@Input() image?: string;
|
@Input() image?: string;
|
||||||
|
|
||||||
thumbnailPlaceholder = './assets/images/replacement_image.svg';
|
thumbnailPlaceholder = './assets/images/replacement_image.svg';
|
||||||
|
|
||||||
galleryOptions: NgxGalleryOptions[];
|
galleryOptions: NgxGalleryOptions[] = [];
|
||||||
galleryImages: NgxGalleryImage[];
|
|
||||||
|
galleryImages: NgxGalleryImage[] = [];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Whether or not the current user is authenticated
|
* Whether or not the current user is authenticated
|
||||||
@@ -33,11 +34,7 @@ export class MediaViewerImageComponent implements OnInit {
|
|||||||
) {
|
) {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
ngOnChanges(): void {
|
||||||
* Thi method sets up the gallery settings and data
|
|
||||||
*/
|
|
||||||
ngOnInit(): void {
|
|
||||||
this.isAuthenticated$ = this.authService.isAuthenticated();
|
|
||||||
this.galleryOptions = [
|
this.galleryOptions = [
|
||||||
{
|
{
|
||||||
preview: this.preview !== undefined ? this.preview : true,
|
preview: this.preview !== undefined ? this.preview : true,
|
||||||
@@ -53,7 +50,6 @@ export class MediaViewerImageComponent implements OnInit {
|
|||||||
previewFullscreen: true,
|
previewFullscreen: true,
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
if (this.image) {
|
if (this.image) {
|
||||||
this.galleryImages = [
|
this.galleryImages = [
|
||||||
{
|
{
|
||||||
@@ -67,6 +63,11 @@ export class MediaViewerImageComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ngOnInit(): void {
|
||||||
|
this.isAuthenticated$ = this.authService.isAuthenticated();
|
||||||
|
this.ngOnChanges();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This method convert an array of MediaViewerItem into NgxGalleryImage array
|
* This method convert an array of MediaViewerItem into NgxGalleryImage array
|
||||||
* @param medias input NgxGalleryImage array
|
* @param medias input NgxGalleryImage array
|
||||||
|
@@ -1,23 +1,22 @@
|
|||||||
<video
|
<video
|
||||||
crossorigin="anonymous"
|
crossorigin="anonymous"
|
||||||
#media
|
[src]="medias[currentIndex].bitstream._links.content.href"
|
||||||
[src]="filteredMedias[currentIndex].bitstream._links.content.href"
|
|
||||||
id="singleVideo"
|
id="singleVideo"
|
||||||
[poster]="
|
[poster]="
|
||||||
filteredMedias[currentIndex].thumbnail ||
|
medias[currentIndex].thumbnail ||
|
||||||
replacements[filteredMedias[currentIndex].format]
|
replacements[medias[currentIndex].format]
|
||||||
"
|
"
|
||||||
preload="none"
|
preload="none"
|
||||||
controls
|
controls
|
||||||
>
|
>
|
||||||
<ng-container *ngIf="getMediaCap(filteredMedias[currentIndex].bitstream.name) as capInfos">
|
<ng-container *ngIf="getMediaCap(medias[currentIndex].bitstream.name, captions) as capInfos">
|
||||||
<ng-container *ngFor="let capInfo of capInfos">
|
<ng-container *ngFor="let capInfo of capInfos">
|
||||||
<track [src]="capInfo.src" [label]="capInfo.langLabel" [srclang]="capInfo.srclang" />
|
<track [src]="capInfo.src" [label]="capInfo.langLabel" [srclang]="capInfo.srclang" />
|
||||||
</ng-container>
|
</ng-container>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
||||||
</video>
|
</video>
|
||||||
<div class="buttons" *ngIf="filteredMedias?.length > 1">
|
<div class="buttons" *ngIf="medias?.length > 1">
|
||||||
<button
|
<button
|
||||||
class="btn btn-primary previous"
|
class="btn btn-primary previous"
|
||||||
[disabled]="currentIndex === 0"
|
[disabled]="currentIndex === 0"
|
||||||
@@ -28,7 +27,7 @@
|
|||||||
|
|
||||||
<button
|
<button
|
||||||
class="btn btn-primary next"
|
class="btn btn-primary next"
|
||||||
[disabled]="currentIndex === filteredMedias.length - 1"
|
[disabled]="currentIndex === medias.length - 1"
|
||||||
(click)="nextMedia()"
|
(click)="nextMedia()"
|
||||||
>
|
>
|
||||||
{{ "media-viewer.next" | translate }}
|
{{ "media-viewer.next" | translate }}
|
||||||
@@ -44,7 +43,7 @@
|
|||||||
<div ngbDropdownMenu aria-labelledby="dropdownBasic1">
|
<div ngbDropdownMenu aria-labelledby="dropdownBasic1">
|
||||||
<button
|
<button
|
||||||
ngbDropdownItem
|
ngbDropdownItem
|
||||||
*ngFor="let item of filteredMedias; index as indexOfelement"
|
*ngFor="let item of medias; index as indexOfelement"
|
||||||
class="list-element"
|
class="list-element"
|
||||||
(click)="selectedMedia(indexOfelement)"
|
(click)="selectedMedia(indexOfelement)"
|
||||||
>
|
>
|
||||||
|
@@ -83,7 +83,6 @@ describe('MediaViewerVideoComponent', () => {
|
|||||||
fixture = TestBed.createComponent(MediaViewerVideoComponent);
|
fixture = TestBed.createComponent(MediaViewerVideoComponent);
|
||||||
component = fixture.componentInstance;
|
component = fixture.componentInstance;
|
||||||
component.medias = mockMediaViewerItem;
|
component.medias = mockMediaViewerItem;
|
||||||
component.filteredMedias = mockMediaViewerItem;
|
|
||||||
fixture.detectChanges();
|
fixture.detectChanges();
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -94,7 +93,6 @@ describe('MediaViewerVideoComponent', () => {
|
|||||||
describe('should show controller buttons when the having mode then one video', () => {
|
describe('should show controller buttons when the having mode then one video', () => {
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
component.medias = mockMediaViewerItems;
|
component.medias = mockMediaViewerItems;
|
||||||
component.filteredMedias = mockMediaViewerItems;
|
|
||||||
fixture.detectChanges();
|
fixture.detectChanges();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@@ -1,8 +1,9 @@
|
|||||||
import { Component, Input, OnInit } from '@angular/core';
|
import { Component, Input } from '@angular/core';
|
||||||
import { MediaViewerItem } from '../../../core/shared/media-viewer-item.model';
|
import { MediaViewerItem } from '../../../core/shared/media-viewer-item.model';
|
||||||
import { DSONameService } from '../../../core/breadcrumbs/dso-name.service';
|
import { DSONameService } from '../../../core/breadcrumbs/dso-name.service';
|
||||||
import { languageHelper } from './language-helper';
|
import { languageHelper } from './language-helper';
|
||||||
import { CaptionInfo} from './caption-info';
|
import { CaptionInfo } from './caption-info';
|
||||||
|
import { Bitstream } from 'src/app/core/shared/bitstream.model';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This component renders a video viewer and playlist for the media viewer
|
* This component renders a video viewer and playlist for the media viewer
|
||||||
@@ -12,12 +13,13 @@ import { CaptionInfo} from './caption-info';
|
|||||||
templateUrl: './media-viewer-video.component.html',
|
templateUrl: './media-viewer-video.component.html',
|
||||||
styleUrls: ['./media-viewer-video.component.scss'],
|
styleUrls: ['./media-viewer-video.component.scss'],
|
||||||
})
|
})
|
||||||
export class MediaViewerVideoComponent implements OnInit {
|
export class MediaViewerVideoComponent {
|
||||||
@Input() medias: MediaViewerItem[];
|
@Input() medias: MediaViewerItem[];
|
||||||
|
|
||||||
filteredMedias: MediaViewerItem[];
|
@Input() captions: Bitstream[] = [];
|
||||||
|
|
||||||
|
isCollapsed = false;
|
||||||
|
|
||||||
isCollapsed: boolean;
|
|
||||||
currentIndex = 0;
|
currentIndex = 0;
|
||||||
|
|
||||||
replacements = {
|
replacements = {
|
||||||
@@ -30,11 +32,6 @@ export class MediaViewerVideoComponent implements OnInit {
|
|||||||
) {
|
) {
|
||||||
}
|
}
|
||||||
|
|
||||||
ngOnInit() {
|
|
||||||
this.isCollapsed = false;
|
|
||||||
this.filteredMedias = this.medias.filter((media) => media.format === 'audio' || media.format === 'video');
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This method check if there is caption file for the media
|
* This method check if there is caption file for the media
|
||||||
* The caption file name is the media name plus "-" following two letter
|
* The caption file name is the media name plus "-" following two letter
|
||||||
@@ -45,29 +42,24 @@ export class MediaViewerVideoComponent implements OnInit {
|
|||||||
* Two letter language code reference
|
* Two letter language code reference
|
||||||
* https://www.w3schools.com/tags/ref_language_codes.asp
|
* https://www.w3schools.com/tags/ref_language_codes.asp
|
||||||
*/
|
*/
|
||||||
getMediaCap(name: string): CaptionInfo[] {
|
getMediaCap(name: string, captions: Bitstream[]): CaptionInfo[] {
|
||||||
let filteredCapMedias: MediaViewerItem[];
|
const capInfos: CaptionInfo[] = [];
|
||||||
let capInfos: CaptionInfo[] = [];
|
const filteredCapMedias: Bitstream[] = captions
|
||||||
filteredCapMedias = this.medias
|
.filter((media: Bitstream) => media.name.substring(0, (media.name.length - 7)).toLowerCase() === name.toLowerCase());
|
||||||
.filter((media) => media.mimetype === 'text/vtt')
|
|
||||||
.filter((media) => media.bitstream.name.substring(0, (media.bitstream.name.length - 7) ).toLowerCase() === name.toLowerCase());
|
|
||||||
|
|
||||||
if (filteredCapMedias) {
|
for (const media of filteredCapMedias) {
|
||||||
filteredCapMedias
|
let srclang: string = media.name.slice(-6, -4).toLowerCase();
|
||||||
.forEach((media, index) => {
|
capInfos.push(new CaptionInfo(
|
||||||
let srclang: string = media.bitstream.name.slice(-6, -4).toLowerCase();
|
media._links.content.href,
|
||||||
capInfos.push(new CaptionInfo(
|
srclang,
|
||||||
media.bitstream._links.content.href,
|
languageHelper[srclang],
|
||||||
srclang,
|
));
|
||||||
languageHelper[srclang]
|
|
||||||
));
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
return capInfos;
|
return capInfos;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This method sets the reviced index into currentIndex
|
* This method sets the received index into currentIndex
|
||||||
* @param index Selected index
|
* @param index Selected index
|
||||||
*/
|
*/
|
||||||
selectedMedia(index: number) {
|
selectedMedia(index: number) {
|
||||||
@@ -75,14 +67,14 @@ export class MediaViewerVideoComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This method increade the number of the currentIndex
|
* This method increases the number of the currentIndex
|
||||||
*/
|
*/
|
||||||
nextMedia() {
|
nextMedia() {
|
||||||
this.currentIndex++;
|
this.currentIndex++;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This method decrese the number of the currentIndex
|
* This method decreases the number of the currentIndex
|
||||||
*/
|
*/
|
||||||
prevMedia() {
|
prevMedia() {
|
||||||
this.currentIndex--;
|
this.currentIndex--;
|
||||||
|
@@ -2,6 +2,7 @@ import { Component, Input } from '@angular/core';
|
|||||||
import { ThemedComponent } from '../../../shared/theme-support/themed.component';
|
import { ThemedComponent } from '../../../shared/theme-support/themed.component';
|
||||||
import { MediaViewerItem } from '../../../core/shared/media-viewer-item.model';
|
import { MediaViewerItem } from '../../../core/shared/media-viewer-item.model';
|
||||||
import { MediaViewerVideoComponent } from './media-viewer-video.component';
|
import { MediaViewerVideoComponent } from './media-viewer-video.component';
|
||||||
|
import { Bitstream } from '../../../core/shared/bitstream.model';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Themed wrapper for {@link MediaViewerVideoComponent}.
|
* Themed wrapper for {@link MediaViewerVideoComponent}.
|
||||||
@@ -15,8 +16,11 @@ export class ThemedMediaViewerVideoComponent extends ThemedComponent<MediaViewer
|
|||||||
|
|
||||||
@Input() medias: MediaViewerItem[];
|
@Input() medias: MediaViewerItem[];
|
||||||
|
|
||||||
|
@Input() captions: Bitstream[];
|
||||||
|
|
||||||
protected inAndOutputNames: (keyof MediaViewerVideoComponent & keyof this)[] = [
|
protected inAndOutputNames: (keyof MediaViewerVideoComponent & keyof this)[] = [
|
||||||
'medias',
|
'medias',
|
||||||
|
'captions',
|
||||||
];
|
];
|
||||||
|
|
||||||
protected getComponentName(): string {
|
protected getComponentName(): string {
|
||||||
|
@@ -5,32 +5,23 @@
|
|||||||
[showMessage]="false"
|
[showMessage]="false"
|
||||||
></ds-themed-loading>
|
></ds-themed-loading>
|
||||||
<div class="media-viewer" *ngIf="!isLoading">
|
<div class="media-viewer" *ngIf="!isLoading">
|
||||||
<ng-container *ngIf="mediaList.length > 0">
|
<ng-container *ngIf="mediaList.length > 0; else showThumbnail">
|
||||||
<ng-container *ngIf="videoOptions">
|
<ng-container *ngVar="mediaOptions.video && ['audio', 'video'].includes(mediaList[0]?.format) as showVideo">
|
||||||
<ng-container
|
<ng-container *ngVar="mediaOptions.image && mediaList[0]?.format === 'image' as showImage">
|
||||||
*ngIf="
|
<ds-themed-media-viewer-video *ngIf="showVideo" [medias]="mediaList" [captions]="captions$ | async"></ds-themed-media-viewer-video>
|
||||||
mediaList[0]?.format === 'video' || mediaList[0]?.format === 'audio'
|
<ds-themed-media-viewer-image *ngIf="showImage" [images]="mediaList"></ds-themed-media-viewer-image>
|
||||||
"
|
<ng-container *ngIf="showImage || showVideo; else showThumbnail"></ng-container>
|
||||||
>
|
|
||||||
<ds-themed-media-viewer-video [medias]="mediaList"></ds-themed-media-viewer-video>
|
|
||||||
</ng-container>
|
</ng-container>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
<ng-container *ngIf="mediaList[0]?.format === 'image'">
|
|
||||||
<ds-themed-media-viewer-image [images]="mediaList"></ds-themed-media-viewer-image>
|
|
||||||
</ng-container>
|
|
||||||
</ng-container>
|
|
||||||
<ng-container
|
|
||||||
*ngIf="
|
|
||||||
((mediaList[0]?.format !== 'image') &&
|
|
||||||
(!videoOptions || mediaList[0]?.format !== 'video') &&
|
|
||||||
(!videoOptions || mediaList[0]?.format !== 'audio')) ||
|
|
||||||
mediaList.length === 0
|
|
||||||
"
|
|
||||||
>
|
|
||||||
<ds-themed-media-viewer-image
|
|
||||||
[image]="mediaList[0]?.thumbnail || thumbnailPlaceholder"
|
|
||||||
[preview]="false"
|
|
||||||
></ds-themed-media-viewer-image>
|
|
||||||
</ng-container>
|
</ng-container>
|
||||||
</div>
|
</div>
|
||||||
|
<ng-template #showThumbnail>
|
||||||
|
<ds-themed-media-viewer-image *ngIf="mediaOptions.image && mediaOptions.video"
|
||||||
|
[image]="(thumbnailsRD$ | async)?.payload?.page[0]?._links.content.href || thumbnailPlaceholder"
|
||||||
|
[preview]="false"
|
||||||
|
></ds-themed-media-viewer-image>
|
||||||
|
<ds-thumbnail *ngIf="!(mediaOptions.image && mediaOptions.video)"
|
||||||
|
[thumbnail]="(thumbnailsRD$ | async)?.payload?.page[0]">
|
||||||
|
</ds-thumbnail>
|
||||||
|
</ng-template>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
@@ -61,7 +61,7 @@ describe('MediaViewerComponent', () => {
|
|||||||
);
|
);
|
||||||
|
|
||||||
beforeEach(waitForAsync(() => {
|
beforeEach(waitForAsync(() => {
|
||||||
TestBed.configureTestingModule({
|
return TestBed.configureTestingModule({
|
||||||
imports: [
|
imports: [
|
||||||
TranslateModule.forRoot({
|
TranslateModule.forRoot({
|
||||||
loader: {
|
loader: {
|
||||||
@@ -94,7 +94,10 @@ describe('MediaViewerComponent', () => {
|
|||||||
describe('when the bitstreams are loading', () => {
|
describe('when the bitstreams are loading', () => {
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
comp.mediaList$.next([mockMediaViewerItem]);
|
comp.mediaList$.next([mockMediaViewerItem]);
|
||||||
comp.videoOptions = true;
|
comp.mediaOptions = {
|
||||||
|
image: true,
|
||||||
|
video: true,
|
||||||
|
};
|
||||||
comp.isLoading = true;
|
comp.isLoading = true;
|
||||||
fixture.detectChanges();
|
fixture.detectChanges();
|
||||||
});
|
});
|
||||||
@@ -118,7 +121,10 @@ describe('MediaViewerComponent', () => {
|
|||||||
describe('when the bitstreams loading is failed', () => {
|
describe('when the bitstreams loading is failed', () => {
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
comp.mediaList$.next([]);
|
comp.mediaList$.next([]);
|
||||||
comp.videoOptions = true;
|
comp.mediaOptions = {
|
||||||
|
image: true,
|
||||||
|
video: true,
|
||||||
|
};
|
||||||
comp.isLoading = false;
|
comp.isLoading = false;
|
||||||
fixture.detectChanges();
|
fixture.detectChanges();
|
||||||
});
|
});
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
import { Component, Input, OnInit } from '@angular/core';
|
import { Component, Input, OnDestroy, OnInit } from '@angular/core';
|
||||||
import { BehaviorSubject, Observable } from 'rxjs';
|
import { BehaviorSubject, Observable } from 'rxjs';
|
||||||
import { filter, take } from 'rxjs/operators';
|
import { filter, take } from 'rxjs/operators';
|
||||||
import { BitstreamDataService } from '../../core/data/bitstream-data.service';
|
import { BitstreamDataService } from '../../core/data/bitstream-data.service';
|
||||||
@@ -11,6 +11,9 @@ import { MediaViewerItem } from '../../core/shared/media-viewer-item.model';
|
|||||||
import { getFirstSucceededRemoteDataPayload } from '../../core/shared/operators';
|
import { getFirstSucceededRemoteDataPayload } from '../../core/shared/operators';
|
||||||
import { hasValue } from '../../shared/empty.util';
|
import { hasValue } from '../../shared/empty.util';
|
||||||
import { followLink } from '../../shared/utils/follow-link-config.model';
|
import { followLink } from '../../shared/utils/follow-link-config.model';
|
||||||
|
import { MediaViewerConfig } from '../../../config/media-viewer-config.interface';
|
||||||
|
import { environment } from '../../../environments/environment';
|
||||||
|
import { Subscription } from 'rxjs/internal/Subscription';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This component renders the media viewers
|
* This component renders the media viewers
|
||||||
@@ -20,51 +23,71 @@ import { followLink } from '../../shared/utils/follow-link-config.model';
|
|||||||
templateUrl: './media-viewer.component.html',
|
templateUrl: './media-viewer.component.html',
|
||||||
styleUrls: ['./media-viewer.component.scss'],
|
styleUrls: ['./media-viewer.component.scss'],
|
||||||
})
|
})
|
||||||
export class MediaViewerComponent implements OnInit {
|
export class MediaViewerComponent implements OnDestroy, OnInit {
|
||||||
@Input() item: Item;
|
@Input() item: Item;
|
||||||
@Input() videoOptions: boolean;
|
|
||||||
|
|
||||||
mediaList$: BehaviorSubject<MediaViewerItem[]>;
|
@Input() mediaOptions: MediaViewerConfig = environment.mediaViewer;
|
||||||
|
|
||||||
isLoading: boolean;
|
mediaList$: BehaviorSubject<MediaViewerItem[]> = new BehaviorSubject([]);
|
||||||
|
|
||||||
|
captions$: BehaviorSubject<Bitstream[]> = new BehaviorSubject([]);
|
||||||
|
|
||||||
|
isLoading = true;
|
||||||
|
|
||||||
thumbnailPlaceholder = './assets/images/replacement_document.svg';
|
thumbnailPlaceholder = './assets/images/replacement_document.svg';
|
||||||
|
|
||||||
constructor(protected bitstreamDataService: BitstreamDataService) {}
|
thumbnailsRD$: Observable<RemoteData<PaginatedList<Bitstream>>>;
|
||||||
|
|
||||||
|
subs: Subscription[] = [];
|
||||||
|
|
||||||
|
constructor(
|
||||||
|
protected bitstreamDataService: BitstreamDataService,
|
||||||
|
) {
|
||||||
|
}
|
||||||
|
|
||||||
|
ngOnDestroy(): void {
|
||||||
|
this.subs.forEach((subscription: Subscription) => subscription.unsubscribe());
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This metod loads all the Bitstreams and Thumbnails and contert it to media item
|
* This method loads all the Bitstreams and Thumbnails and converts it to {@link MediaViewerItem}s
|
||||||
*/
|
*/
|
||||||
ngOnInit(): void {
|
ngOnInit(): void {
|
||||||
this.mediaList$ = new BehaviorSubject([]);
|
const types: string[] = [
|
||||||
this.isLoading = true;
|
...(this.mediaOptions.image ? ['image'] : []),
|
||||||
this.loadRemoteData('ORIGINAL').subscribe((bitstreamsRD) => {
|
...(this.mediaOptions.video ? ['audio', 'video'] : []),
|
||||||
|
];
|
||||||
|
this.thumbnailsRD$ = this.loadRemoteData('THUMBNAIL');
|
||||||
|
this.subs.push(this.loadRemoteData('ORIGINAL').subscribe((bitstreamsRD: RemoteData<PaginatedList<Bitstream>>) => {
|
||||||
if (bitstreamsRD.payload.page.length === 0) {
|
if (bitstreamsRD.payload.page.length === 0) {
|
||||||
this.isLoading = false;
|
this.isLoading = false;
|
||||||
this.mediaList$.next([]);
|
this.mediaList$.next([]);
|
||||||
} else {
|
} else {
|
||||||
this.loadRemoteData('THUMBNAIL').subscribe((thumbnailsRD) => {
|
this.subs.push(this.thumbnailsRD$.subscribe((thumbnailsRD: RemoteData<PaginatedList<Bitstream>>) => {
|
||||||
for (
|
for (
|
||||||
let index = 0;
|
let index = 0;
|
||||||
index < bitstreamsRD.payload.page.length;
|
index < bitstreamsRD.payload.page.length;
|
||||||
index++
|
index++
|
||||||
) {
|
) {
|
||||||
bitstreamsRD.payload.page[index].format
|
this.subs.push(bitstreamsRD.payload.page[index].format
|
||||||
.pipe(getFirstSucceededRemoteDataPayload())
|
.pipe(getFirstSucceededRemoteDataPayload())
|
||||||
.subscribe((format) => {
|
.subscribe((format: BitstreamFormat) => {
|
||||||
const current = this.mediaList$.getValue();
|
|
||||||
const mediaItem = this.createMediaViewerItem(
|
const mediaItem = this.createMediaViewerItem(
|
||||||
bitstreamsRD.payload.page[index],
|
bitstreamsRD.payload.page[index],
|
||||||
format,
|
format,
|
||||||
thumbnailsRD.payload && thumbnailsRD.payload.page[index]
|
thumbnailsRD.payload && thumbnailsRD.payload.page[index]
|
||||||
);
|
);
|
||||||
this.mediaList$.next([...current, mediaItem]);
|
if (types.includes(mediaItem.format)) {
|
||||||
});
|
this.mediaList$.next([...this.mediaList$.getValue(), mediaItem]);
|
||||||
|
} else if (format.mimetype === 'text/vtt') {
|
||||||
|
this.captions$.next([...this.captions$.getValue(), bitstreamsRD.payload.page[index]]);
|
||||||
|
}
|
||||||
|
}));
|
||||||
}
|
}
|
||||||
this.isLoading = false;
|
this.isLoading = false;
|
||||||
});
|
}));
|
||||||
}
|
}
|
||||||
});
|
}));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -94,16 +117,12 @@ export class MediaViewerComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This method create MediaViewerItem from incoming bitstreams
|
* This method creates a {@link MediaViewerItem} from incoming {@link Bitstream}s
|
||||||
* @param original original remote data bitstream
|
* @param original original bitstream
|
||||||
* @param format original bitstream format
|
* @param format original bitstream format
|
||||||
* @param thumbnail trunbnail remote data bitstream
|
* @param thumbnail thumbnail bitstream
|
||||||
*/
|
*/
|
||||||
createMediaViewerItem(
|
createMediaViewerItem(original: Bitstream, format: BitstreamFormat, thumbnail: Bitstream): MediaViewerItem {
|
||||||
original: Bitstream,
|
|
||||||
format: BitstreamFormat,
|
|
||||||
thumbnail: Bitstream
|
|
||||||
): MediaViewerItem {
|
|
||||||
const mediaItem = new MediaViewerItem();
|
const mediaItem = new MediaViewerItem();
|
||||||
mediaItem.bitstream = original;
|
mediaItem.bitstream = original;
|
||||||
mediaItem.format = format.mimetype.split('/')[0];
|
mediaItem.format = format.mimetype.split('/')[0];
|
||||||
|
@@ -2,6 +2,7 @@ import { Component, Input } from '@angular/core';
|
|||||||
import { ThemedComponent } from '../../shared/theme-support/themed.component';
|
import { ThemedComponent } from '../../shared/theme-support/themed.component';
|
||||||
import { MediaViewerComponent } from './media-viewer.component';
|
import { MediaViewerComponent } from './media-viewer.component';
|
||||||
import { Item } from '../../core/shared/item.model';
|
import { Item } from '../../core/shared/item.model';
|
||||||
|
import { MediaViewerConfig } from '../../../config/media-viewer-config.interface';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Themed wrapper for {@link MediaViewerComponent}.
|
* Themed wrapper for {@link MediaViewerComponent}.
|
||||||
@@ -14,11 +15,11 @@ import { Item } from '../../core/shared/item.model';
|
|||||||
export class ThemedMediaViewerComponent extends ThemedComponent<MediaViewerComponent> {
|
export class ThemedMediaViewerComponent extends ThemedComponent<MediaViewerComponent> {
|
||||||
|
|
||||||
@Input() item: Item;
|
@Input() item: Item;
|
||||||
@Input() videoOptions: boolean;
|
@Input() mediaOptions: MediaViewerConfig;
|
||||||
|
|
||||||
protected inAndOutputNames: (keyof MediaViewerComponent & keyof this)[] = [
|
protected inAndOutputNames: (keyof MediaViewerComponent & keyof this)[] = [
|
||||||
'item',
|
'item',
|
||||||
'videoOptions',
|
'mediaOptions',
|
||||||
];
|
];
|
||||||
|
|
||||||
protected getComponentName(): string {
|
protected getComponentName(): string {
|
||||||
|
@@ -15,13 +15,13 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-xs-12 col-md-4">
|
<div class="col-xs-12 col-md-4">
|
||||||
<ng-container *ngIf="!mediaViewer.image">
|
<ng-container *ngIf="!(mediaViewer.image || mediaViewer.video)">
|
||||||
<ds-metadata-field-wrapper [hideIfNoTextContent]="false">
|
<ds-metadata-field-wrapper [hideIfNoTextContent]="false">
|
||||||
<ds-thumbnail [thumbnail]="object?.thumbnail | async"></ds-thumbnail>
|
<ds-thumbnail [thumbnail]="object?.thumbnail | async"></ds-thumbnail>
|
||||||
</ds-metadata-field-wrapper>
|
</ds-metadata-field-wrapper>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
<div *ngIf="mediaViewer.image" class="mb-2">
|
<div *ngIf="mediaViewer.image || mediaViewer.video" class="mb-2">
|
||||||
<ds-themed-media-viewer [item]="object" [videoOptions]="mediaViewer.video"></ds-themed-media-viewer>
|
<ds-themed-media-viewer [item]="object"></ds-themed-media-viewer>
|
||||||
</div>
|
</div>
|
||||||
<ds-themed-item-page-file-section [item]="object"></ds-themed-item-page-file-section>
|
<ds-themed-item-page-file-section [item]="object"></ds-themed-item-page-file-section>
|
||||||
<ds-item-page-date-field [item]="object"></ds-item-page-date-field>
|
<ds-item-page-date-field [item]="object"></ds-item-page-date-field>
|
||||||
|
@@ -16,13 +16,13 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-xs-12 col-md-4">
|
<div class="col-xs-12 col-md-4">
|
||||||
<ng-container *ngIf="!mediaViewer.image">
|
<ng-container *ngIf="!(mediaViewer.image || mediaViewer.video)">
|
||||||
<ds-metadata-field-wrapper [hideIfNoTextContent]="false">
|
<ds-metadata-field-wrapper [hideIfNoTextContent]="false">
|
||||||
<ds-thumbnail [thumbnail]="object?.thumbnail | async"></ds-thumbnail>
|
<ds-thumbnail [thumbnail]="object?.thumbnail | async"></ds-thumbnail>
|
||||||
</ds-metadata-field-wrapper>
|
</ds-metadata-field-wrapper>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
<div *ngIf="mediaViewer.image" class="mb-2">
|
<div *ngIf="mediaViewer.image || mediaViewer.video" class="mb-2">
|
||||||
<ds-themed-media-viewer [item]="object" [videoOptions]="mediaViewer.video"></ds-themed-media-viewer>
|
<ds-themed-media-viewer [item]="object"></ds-themed-media-viewer>
|
||||||
</div>
|
</div>
|
||||||
<ds-themed-item-page-file-section [item]="object"></ds-themed-item-page-file-section>
|
<ds-themed-item-page-file-section [item]="object"></ds-themed-item-page-file-section>
|
||||||
<ds-item-page-date-field [item]="object"></ds-item-page-date-field>
|
<ds-item-page-date-field [item]="object"></ds-item-page-date-field>
|
||||||
|
@@ -19,7 +19,7 @@ export class ThemedMetadataRepresentationListComponent extends ThemedComponent<M
|
|||||||
|
|
||||||
@Input() label: string;
|
@Input() label: string;
|
||||||
|
|
||||||
@Input() incrementBy = 10;
|
@Input() incrementBy: number;
|
||||||
|
|
||||||
protected getComponentName(): string {
|
protected getComponentName(): string {
|
||||||
return 'MetadataRepresentationListComponent';
|
return 'MetadataRepresentationListComponent';
|
||||||
|
@@ -11,7 +11,6 @@ import { MyDSpacePageComponent } from './my-dspace-page.component';
|
|||||||
templateUrl: './../shared/theme-support/themed.component.html'
|
templateUrl: './../shared/theme-support/themed.component.html'
|
||||||
})
|
})
|
||||||
export class ThemedMyDSpacePageComponent extends ThemedComponent<MyDSpacePageComponent> {
|
export class ThemedMyDSpacePageComponent extends ThemedComponent<MyDSpacePageComponent> {
|
||||||
protected inAndOutputNames: (keyof MyDSpacePageComponent & keyof this)[];
|
|
||||||
|
|
||||||
protected getComponentName(): string {
|
protected getComponentName(): string {
|
||||||
return 'MyDSpacePageComponent';
|
return 'MyDSpacePageComponent';
|
||||||
|
@@ -28,19 +28,18 @@ export class ThemedConfigurationSearchPageComponent extends ThemedComponent<Conf
|
|||||||
/**
|
/**
|
||||||
* True when the search component should show results on the current page
|
* True when the search component should show results on the current page
|
||||||
*/
|
*/
|
||||||
@Input() inPlaceSearch = true;
|
@Input() inPlaceSearch: boolean;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Whether or not the search bar should be visible
|
* Whether or not the search bar should be visible
|
||||||
*/
|
*/
|
||||||
@Input()
|
@Input() searchEnabled: boolean;
|
||||||
searchEnabled = true;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The width of the sidebar (bootstrap columns)
|
* The width of the sidebar (bootstrap columns)
|
||||||
*/
|
*/
|
||||||
@Input()
|
@Input()
|
||||||
sideBarWidth = 3;
|
sideBarWidth: number;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The currently applied configuration (determines title of search)
|
* The currently applied configuration (determines title of search)
|
||||||
@@ -66,7 +65,7 @@ export class ThemedConfigurationSearchPageComponent extends ThemedComponent<Conf
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected importUnthemedComponent(): Promise<any> {
|
protected importUnthemedComponent(): Promise<any> {
|
||||||
return import(`./configuration-search-page.component`);
|
return import('./configuration-search-page.component');
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -11,11 +11,11 @@ export class ThemedCollectionDropdownComponent extends ThemedComponent<Collectio
|
|||||||
|
|
||||||
@Input() entityType: string;
|
@Input() entityType: string;
|
||||||
|
|
||||||
@Output() searchComplete = new EventEmitter<any>();
|
@Output() searchComplete: EventEmitter<any> = new EventEmitter();
|
||||||
|
|
||||||
@Output() theOnlySelectable = new EventEmitter<CollectionListEntry>();
|
@Output() theOnlySelectable: EventEmitter<CollectionListEntry> = new EventEmitter();
|
||||||
|
|
||||||
@Output() selectionChange = new EventEmitter<CollectionListEntry>();
|
@Output() selectionChange = new EventEmitter();
|
||||||
|
|
||||||
protected inAndOutputNames: (keyof CollectionDropdownComponent & keyof this)[] = ['entityType', 'searchComplete', 'theOnlySelectable', 'selectionChange'];
|
protected inAndOutputNames: (keyof CollectionDropdownComponent & keyof this)[] = ['entityType', 'searchComplete', 'theOnlySelectable', 'selectionChange'];
|
||||||
|
|
||||||
|
@@ -9,7 +9,7 @@ import {
|
|||||||
import {
|
import {
|
||||||
DsoEditMenuExpandableSectionComponent
|
DsoEditMenuExpandableSectionComponent
|
||||||
} from '../dso-page/dso-edit-menu/dso-edit-expandable-menu-section/dso-edit-menu-expandable-section.component';
|
} from '../dso-page/dso-edit-menu/dso-edit-expandable-menu-section/dso-edit-menu-expandable-section.component';
|
||||||
import { NgbTooltipModule } from '@ng-bootstrap/ng-bootstrap';
|
import { NgbDropdownModule, NgbTooltipModule } from '@ng-bootstrap/ng-bootstrap';
|
||||||
|
|
||||||
const COMPONENTS = [
|
const COMPONENTS = [
|
||||||
DsoEditMenuComponent,
|
DsoEditMenuComponent,
|
||||||
@@ -25,6 +25,7 @@ const MODULES = [
|
|||||||
RouterModule,
|
RouterModule,
|
||||||
CommonModule,
|
CommonModule,
|
||||||
NgbTooltipModule,
|
NgbTooltipModule,
|
||||||
|
NgbDropdownModule,
|
||||||
];
|
];
|
||||||
const PROVIDERS = [
|
const PROVIDERS = [
|
||||||
|
|
||||||
|
@@ -16,7 +16,7 @@
|
|||||||
<ng-container #componentViewContainer></ng-container>
|
<ng-container #componentViewContainer></ng-container>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<small *ngIf="hasHint && ((!model.repeatable && (isRelationship === false || value?.value === null)) || (model.repeatable === true && context?.index === context?.context?.groups?.length - 1)) && (!showErrorMessages || errorMessages.length === 0)"
|
<small *ngIf="hasHint && (formBuilderService.hasArrayGroupValue(model) || (!model.repeatable && (isRelationship === false || value?.value === null)) || (model.repeatable === true && context?.index === context?.context?.groups?.length - 1)) && (!showErrorMessages || errorMessages.length === 0)"
|
||||||
class="text-muted ds-hint" [innerHTML]="model.hint | translate" [ngClass]="getClass('element', 'hint')"></small>
|
class="text-muted ds-hint" [innerHTML]="model.hint | translate" [ngClass]="getClass('element', 'hint')"></small>
|
||||||
<!-- In case of repeatable fields show empty space for all elements except the first -->
|
<!-- In case of repeatable fields show empty space for all elements except the first -->
|
||||||
<div *ngIf="context?.index !== null
|
<div *ngIf="context?.index !== null
|
||||||
|
@@ -147,12 +147,14 @@ describe('DsDynamicFormControlContainerComponent test suite', () => {
|
|||||||
new DynamicListCheckboxGroupModel({
|
new DynamicListCheckboxGroupModel({
|
||||||
id: 'checkboxList',
|
id: 'checkboxList',
|
||||||
vocabularyOptions: vocabularyOptions,
|
vocabularyOptions: vocabularyOptions,
|
||||||
repeatable: true
|
repeatable: true,
|
||||||
|
required: false,
|
||||||
}),
|
}),
|
||||||
new DynamicListRadioGroupModel({
|
new DynamicListRadioGroupModel({
|
||||||
id: 'radioList',
|
id: 'radioList',
|
||||||
vocabularyOptions: vocabularyOptions,
|
vocabularyOptions: vocabularyOptions,
|
||||||
repeatable: false
|
repeatable: false,
|
||||||
|
required: false,
|
||||||
}),
|
}),
|
||||||
new DynamicRelationGroupModel({
|
new DynamicRelationGroupModel({
|
||||||
submissionId: '1234',
|
submissionId: '1234',
|
||||||
|
@@ -259,7 +259,7 @@ export class DsDynamicFormControlContainerComponent extends DynamicFormControlCo
|
|||||||
private submissionObjectService: SubmissionObjectDataService,
|
private submissionObjectService: SubmissionObjectDataService,
|
||||||
private ref: ChangeDetectorRef,
|
private ref: ChangeDetectorRef,
|
||||||
private formService: FormService,
|
private formService: FormService,
|
||||||
private formBuilderService: FormBuilderService,
|
public formBuilderService: FormBuilderService,
|
||||||
private submissionService: SubmissionService,
|
private submissionService: SubmissionService,
|
||||||
@Inject(APP_CONFIG) protected appConfig: AppConfig,
|
@Inject(APP_CONFIG) protected appConfig: AppConfig,
|
||||||
) {
|
) {
|
||||||
|
@@ -15,8 +15,10 @@ export interface DynamicListCheckboxGroupModelConfig extends DynamicFormGroupMod
|
|||||||
vocabularyOptions: VocabularyOptions;
|
vocabularyOptions: VocabularyOptions;
|
||||||
groupLength?: number;
|
groupLength?: number;
|
||||||
repeatable: boolean;
|
repeatable: boolean;
|
||||||
value?: any;
|
value?: VocabularyEntry[];
|
||||||
typeBindRelations?: DynamicFormControlRelation[];
|
typeBindRelations?: DynamicFormControlRelation[];
|
||||||
|
required: boolean;
|
||||||
|
hint?: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
export class DynamicListCheckboxGroupModel extends DynamicCheckboxGroupModel {
|
export class DynamicListCheckboxGroupModel extends DynamicCheckboxGroupModel {
|
||||||
@@ -26,6 +28,8 @@ export class DynamicListCheckboxGroupModel extends DynamicCheckboxGroupModel {
|
|||||||
@serializable() groupLength: number;
|
@serializable() groupLength: number;
|
||||||
@serializable() _value: VocabularyEntry[];
|
@serializable() _value: VocabularyEntry[];
|
||||||
@serializable() typeBindRelations: DynamicFormControlRelation[];
|
@serializable() typeBindRelations: DynamicFormControlRelation[];
|
||||||
|
@serializable() required: boolean;
|
||||||
|
@serializable() hint: string;
|
||||||
isListGroup = true;
|
isListGroup = true;
|
||||||
valueUpdates: Subject<any>;
|
valueUpdates: Subject<any>;
|
||||||
|
|
||||||
@@ -36,6 +40,8 @@ export class DynamicListCheckboxGroupModel extends DynamicCheckboxGroupModel {
|
|||||||
this.groupLength = config.groupLength || 5;
|
this.groupLength = config.groupLength || 5;
|
||||||
this._value = [];
|
this._value = [];
|
||||||
this.repeatable = config.repeatable;
|
this.repeatable = config.repeatable;
|
||||||
|
this.required = config.required;
|
||||||
|
this.hint = config.hint;
|
||||||
|
|
||||||
this.valueUpdates = new Subject<any>();
|
this.valueUpdates = new Subject<any>();
|
||||||
this.valueUpdates.subscribe((value: VocabularyEntry | VocabularyEntry[]) => this.value = value);
|
this.valueUpdates.subscribe((value: VocabularyEntry | VocabularyEntry[]) => this.value = value);
|
||||||
@@ -56,9 +62,8 @@ export class DynamicListCheckboxGroupModel extends DynamicCheckboxGroupModel {
|
|||||||
if (Array.isArray(value)) {
|
if (Array.isArray(value)) {
|
||||||
this._value = value;
|
this._value = value;
|
||||||
} else {
|
} else {
|
||||||
// _value is non extendible so assign it a new array
|
// _value is non-extendable so assign it a new array
|
||||||
const newValue = (this.value as VocabularyEntry[]).concat([value]);
|
this._value = (this.value as VocabularyEntry[]).concat([value]);
|
||||||
this._value = newValue;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -6,12 +6,15 @@ import {
|
|||||||
} from '@ng-dynamic-forms/core';
|
} from '@ng-dynamic-forms/core';
|
||||||
import { VocabularyOptions } from '../../../../../../core/submission/vocabularies/models/vocabulary-options.model';
|
import { VocabularyOptions } from '../../../../../../core/submission/vocabularies/models/vocabulary-options.model';
|
||||||
import { hasValue } from '../../../../../empty.util';
|
import { hasValue } from '../../../../../empty.util';
|
||||||
|
import { VocabularyEntry } from '../../../../../../core/submission/vocabularies/models/vocabulary-entry.model';
|
||||||
|
|
||||||
export interface DynamicListModelConfig extends DynamicRadioGroupModelConfig<any> {
|
export interface DynamicListModelConfig extends DynamicRadioGroupModelConfig<any> {
|
||||||
vocabularyOptions: VocabularyOptions;
|
vocabularyOptions: VocabularyOptions;
|
||||||
groupLength?: number;
|
groupLength?: number;
|
||||||
repeatable: boolean;
|
repeatable: boolean;
|
||||||
value?: any;
|
value?: VocabularyEntry[];
|
||||||
|
required: boolean;
|
||||||
|
hint?: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
export class DynamicListRadioGroupModel extends DynamicRadioGroupModel<any> {
|
export class DynamicListRadioGroupModel extends DynamicRadioGroupModel<any> {
|
||||||
@@ -19,6 +22,8 @@ export class DynamicListRadioGroupModel extends DynamicRadioGroupModel<any> {
|
|||||||
@serializable() vocabularyOptions: VocabularyOptions;
|
@serializable() vocabularyOptions: VocabularyOptions;
|
||||||
@serializable() repeatable: boolean;
|
@serializable() repeatable: boolean;
|
||||||
@serializable() groupLength: number;
|
@serializable() groupLength: number;
|
||||||
|
@serializable() required: boolean;
|
||||||
|
@serializable() hint: string;
|
||||||
isListGroup = true;
|
isListGroup = true;
|
||||||
|
|
||||||
constructor(config: DynamicListModelConfig, layout?: DynamicFormControlLayout) {
|
constructor(config: DynamicListModelConfig, layout?: DynamicFormControlLayout) {
|
||||||
@@ -27,6 +32,8 @@ export class DynamicListRadioGroupModel extends DynamicRadioGroupModel<any> {
|
|||||||
this.vocabularyOptions = config.vocabularyOptions;
|
this.vocabularyOptions = config.vocabularyOptions;
|
||||||
this.groupLength = config.groupLength || 5;
|
this.groupLength = config.groupLength || 5;
|
||||||
this.repeatable = config.repeatable;
|
this.repeatable = config.repeatable;
|
||||||
|
this.required = config.required;
|
||||||
|
this.hint = config.hint;
|
||||||
this.value = config.value;
|
this.value = config.value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -17,7 +17,6 @@
|
|||||||
[id]="item.id"
|
[id]="item.id"
|
||||||
[formControlName]="item.id"
|
[formControlName]="item.id"
|
||||||
[name]="model.name"
|
[name]="model.name"
|
||||||
[required]="model.required"
|
|
||||||
[value]="item.value"
|
[value]="item.value"
|
||||||
(blur)="onBlur($event)"
|
(blur)="onBlur($event)"
|
||||||
(change)="onChange($event)"
|
(change)="onChange($event)"
|
||||||
|
@@ -1,6 +1,5 @@
|
|||||||
import { ChangeDetectorRef, Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
|
import { ChangeDetectorRef, Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
|
||||||
import { FormGroup } from '@angular/forms';
|
import { FormGroup, ValidatorFn, ValidationErrors, AbstractControl } from '@angular/forms';
|
||||||
|
|
||||||
import {
|
import {
|
||||||
DynamicCheckboxModel,
|
DynamicCheckboxModel,
|
||||||
DynamicFormControlComponent,
|
DynamicFormControlComponent,
|
||||||
@@ -110,6 +109,9 @@ export class DsDynamicListComponent extends DynamicFormControlComponent implemen
|
|||||||
protected setOptionsFromVocabulary() {
|
protected setOptionsFromVocabulary() {
|
||||||
if (this.model.vocabularyOptions.name && this.model.vocabularyOptions.name.length > 0) {
|
if (this.model.vocabularyOptions.name && this.model.vocabularyOptions.name.length > 0) {
|
||||||
const listGroup = this.group.controls[this.model.id] as FormGroup;
|
const listGroup = this.group.controls[this.model.id] as FormGroup;
|
||||||
|
if (this.model.repeatable && this.model.required) {
|
||||||
|
listGroup.addValidators(this.hasAtLeastOneVocabularyEntry());
|
||||||
|
}
|
||||||
const pageInfo: PageInfo = new PageInfo({
|
const pageInfo: PageInfo = new PageInfo({
|
||||||
elementsPerPage: 9999, currentPage: 1
|
elementsPerPage: 9999, currentPage: 1
|
||||||
} as PageInfo);
|
} as PageInfo);
|
||||||
@@ -121,7 +123,7 @@ export class DsDynamicListComponent extends DynamicFormControlComponent implemen
|
|||||||
let tempList: ListItem[] = [];
|
let tempList: ListItem[] = [];
|
||||||
this.optionsList = entries.page;
|
this.optionsList = entries.page;
|
||||||
// Make a list of available options (checkbox/radio) and split in groups of 'model.groupLength'
|
// Make a list of available options (checkbox/radio) and split in groups of 'model.groupLength'
|
||||||
entries.page.forEach((option, key) => {
|
entries.page.forEach((option: VocabularyEntry, key: number) => {
|
||||||
const value = option.authority || option.value;
|
const value = option.authority || option.value;
|
||||||
const checked: boolean = isNotEmpty(findKey(
|
const checked: boolean = isNotEmpty(findKey(
|
||||||
this.model.value,
|
this.model.value,
|
||||||
@@ -156,4 +158,13 @@ export class DsDynamicListComponent extends DynamicFormControlComponent implemen
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks if at least one {@link VocabularyEntry} has been selected.
|
||||||
|
*/
|
||||||
|
hasAtLeastOneVocabularyEntry(): ValidatorFn {
|
||||||
|
return (control: AbstractControl): ValidationErrors | null => {
|
||||||
|
return control && control.value && Object.values(control.value).find((checked: boolean) => checked === true) ? null : this.model.errorMessages;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -4,27 +4,14 @@ import { RelationshipOptions } from '../../../models/relationship-options.model'
|
|||||||
import { ListableObject } from '../../../../../object-collection/shared/listable-object.model';
|
import { ListableObject } from '../../../../../object-collection/shared/listable-object.model';
|
||||||
import { Context } from '../../../../../../core/shared/context.model';
|
import { Context } from '../../../../../../core/shared/context.model';
|
||||||
import { Item } from '../../../../../../core/shared/item.model';
|
import { Item } from '../../../../../../core/shared/item.model';
|
||||||
import { SEARCH_CONFIG_SERVICE } from '../../../../../../my-dspace-page/my-dspace-page.component';
|
|
||||||
import { SearchConfigurationService } from '../../../../../../core/shared/search/search-configuration.service';
|
|
||||||
import { Collection } from '../../../../../../core/shared/collection.model';
|
import { Collection } from '../../../../../../core/shared/collection.model';
|
||||||
import { ExternalSource } from '../../../../../../core/shared/external-source.model';
|
import { ExternalSource } from '../../../../../../core/shared/external-source.model';
|
||||||
import { DsDynamicLookupRelationExternalSourceTabComponent } from './dynamic-lookup-relation-external-source-tab.component';
|
import { DsDynamicLookupRelationExternalSourceTabComponent } from './dynamic-lookup-relation-external-source-tab.component';
|
||||||
import { fadeIn, fadeInOut } from '../../../../../animations/fade';
|
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'ds-themed-dynamic-lookup-relation-external-source-tab',
|
selector: 'ds-themed-dynamic-lookup-relation-external-source-tab',
|
||||||
styleUrls: [],
|
styleUrls: [],
|
||||||
templateUrl: '../../../../../theme-support/themed.component.html',
|
templateUrl: '../../../../../theme-support/themed.component.html',
|
||||||
providers: [
|
|
||||||
{
|
|
||||||
provide: SEARCH_CONFIG_SERVICE,
|
|
||||||
useClass: SearchConfigurationService
|
|
||||||
}
|
|
||||||
],
|
|
||||||
animations: [
|
|
||||||
fadeIn,
|
|
||||||
fadeInOut
|
|
||||||
]
|
|
||||||
})
|
})
|
||||||
export class ThemedDynamicLookupRelationExternalSourceTabComponent extends ThemedComponent<DsDynamicLookupRelationExternalSourceTabComponent> {
|
export class ThemedDynamicLookupRelationExternalSourceTabComponent extends ThemedComponent<DsDynamicLookupRelationExternalSourceTabComponent> {
|
||||||
protected inAndOutputNames: (keyof DsDynamicLookupRelationExternalSourceTabComponent & keyof this)[] = ['label', 'listId',
|
protected inAndOutputNames: (keyof DsDynamicLookupRelationExternalSourceTabComponent & keyof this)[] = ['label', 'listId',
|
||||||
@@ -44,7 +31,7 @@ export class ThemedDynamicLookupRelationExternalSourceTabComponent extends Theme
|
|||||||
|
|
||||||
@Input() repeatable: boolean;
|
@Input() repeatable: boolean;
|
||||||
|
|
||||||
@Output() importedObject: EventEmitter<ListableObject> = new EventEmitter<ListableObject>();
|
@Output() importedObject: EventEmitter<ListableObject> = new EventEmitter();
|
||||||
|
|
||||||
@Input() externalSource: ExternalSource;
|
@Input() externalSource: ExternalSource;
|
||||||
|
|
||||||
|
@@ -10,19 +10,11 @@ import { Item } from '../../../../../../core/shared/item.model';
|
|||||||
import { SearchResult } from '../../../../../search/models/search-result.model';
|
import { SearchResult } from '../../../../../search/models/search-result.model';
|
||||||
import { SearchObjects } from '../../../../../search/models/search-objects.model';
|
import { SearchObjects } from '../../../../../search/models/search-objects.model';
|
||||||
import { DSpaceObject } from '../../../../../../core/shared/dspace-object.model';
|
import { DSpaceObject } from '../../../../../../core/shared/dspace-object.model';
|
||||||
import { SEARCH_CONFIG_SERVICE } from '../../../../../../my-dspace-page/my-dspace-page.component';
|
|
||||||
import { SearchConfigurationService } from '../../../../../../core/shared/search/search-configuration.service';
|
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'ds-themed-dynamic-lookup-relation-search-tab',
|
selector: 'ds-themed-dynamic-lookup-relation-search-tab',
|
||||||
styleUrls: [],
|
styleUrls: [],
|
||||||
templateUrl: '../../../../../theme-support/themed.component.html',
|
templateUrl: '../../../../../theme-support/themed.component.html',
|
||||||
providers: [
|
|
||||||
{
|
|
||||||
provide: SEARCH_CONFIG_SERVICE,
|
|
||||||
useClass: SearchConfigurationService
|
|
||||||
}
|
|
||||||
]
|
|
||||||
})
|
})
|
||||||
export class ThemedDynamicLookupRelationSearchTabComponent extends ThemedComponent<DsDynamicLookupRelationSearchTabComponent> {
|
export class ThemedDynamicLookupRelationSearchTabComponent extends ThemedComponent<DsDynamicLookupRelationSearchTabComponent> {
|
||||||
protected inAndOutputNames: (keyof DsDynamicLookupRelationSearchTabComponent & keyof this)[] = ['relationship', 'listId',
|
protected inAndOutputNames: (keyof DsDynamicLookupRelationSearchTabComponent & keyof this)[] = ['relationship', 'listId',
|
||||||
@@ -51,11 +43,11 @@ export class ThemedDynamicLookupRelationSearchTabComponent extends ThemedCompone
|
|||||||
|
|
||||||
@Input() isEditRelationship: boolean;
|
@Input() isEditRelationship: boolean;
|
||||||
|
|
||||||
@Output() deselectObject: EventEmitter<ListableObject> = new EventEmitter<ListableObject>();
|
@Output() deselectObject: EventEmitter<ListableObject> = new EventEmitter();
|
||||||
|
|
||||||
@Output() selectObject: EventEmitter<ListableObject> = new EventEmitter<ListableObject>();
|
@Output() selectObject: EventEmitter<ListableObject> = new EventEmitter();
|
||||||
|
|
||||||
@Output() resultFound: EventEmitter<SearchObjects<DSpaceObject>> = new EventEmitter<SearchObjects<DSpaceObject>>();
|
@Output() resultFound: EventEmitter<SearchObjects<DSpaceObject>> = new EventEmitter();
|
||||||
|
|
||||||
protected getComponentName(): string {
|
protected getComponentName(): string {
|
||||||
return 'DsDynamicLookupRelationSearchTabComponent';
|
return 'DsDynamicLookupRelationSearchTabComponent';
|
||||||
|
@@ -235,10 +235,16 @@ describe('FormBuilderService test suite', () => {
|
|||||||
new DynamicListCheckboxGroupModel({
|
new DynamicListCheckboxGroupModel({
|
||||||
id: 'testCheckboxList',
|
id: 'testCheckboxList',
|
||||||
vocabularyOptions: vocabularyOptions,
|
vocabularyOptions: vocabularyOptions,
|
||||||
repeatable: true
|
repeatable: true,
|
||||||
|
required: false,
|
||||||
}),
|
}),
|
||||||
|
|
||||||
new DynamicListRadioGroupModel({ id: 'testRadioList', vocabularyOptions: vocabularyOptions, repeatable: false }),
|
new DynamicListRadioGroupModel({
|
||||||
|
id: 'testRadioList',
|
||||||
|
vocabularyOptions: vocabularyOptions,
|
||||||
|
repeatable: false,
|
||||||
|
required: false,
|
||||||
|
}),
|
||||||
|
|
||||||
new DynamicRelationGroupModel({
|
new DynamicRelationGroupModel({
|
||||||
submissionId,
|
submissionId,
|
||||||
|
@@ -14,8 +14,8 @@ import { ThemeService } from '../theme-support/theme.service';
|
|||||||
export class ThemedLoadingComponent extends ThemedComponent<LoadingComponent> {
|
export class ThemedLoadingComponent extends ThemedComponent<LoadingComponent> {
|
||||||
|
|
||||||
@Input() message: string;
|
@Input() message: string;
|
||||||
@Input() showMessage = true;
|
@Input() showMessage: boolean;
|
||||||
@Input() spinner = false;
|
@Input() spinner: boolean;
|
||||||
|
|
||||||
protected inAndOutputNames: (keyof LoadingComponent & keyof this)[] = ['message', 'showMessage', 'spinner'];
|
protected inAndOutputNames: (keyof LoadingComponent & keyof this)[] = ['message', 'showMessage', 'spinner'];
|
||||||
|
|
||||||
|
@@ -1,11 +1,10 @@
|
|||||||
import { ChangeDetectorRef, Component, ComponentFactoryResolver, Input } from '@angular/core';
|
import { Component, Input } from '@angular/core';
|
||||||
import { ThemedComponent } from '../../../theme-support/themed.component';
|
import { ThemedComponent } from '../../../theme-support/themed.component';
|
||||||
import { ItemListPreviewComponent } from './item-list-preview.component';
|
import { ItemListPreviewComponent } from './item-list-preview.component';
|
||||||
import { Item } from '../../../../core/shared/item.model';
|
import { Item } from '../../../../core/shared/item.model';
|
||||||
import { MyDspaceItemStatusType } from '../../../object-collection/shared/mydspace-item-status/my-dspace-item-status-type';
|
import { MyDspaceItemStatusType } from '../../../object-collection/shared/mydspace-item-status/my-dspace-item-status-type';
|
||||||
import { SearchResult } from '../../../search/models/search-result.model';
|
import { SearchResult } from '../../../search/models/search-result.model';
|
||||||
import { WorkflowItem } from 'src/app/core/submission/models/workflowitem.model';
|
import { WorkflowItem } from 'src/app/core/submission/models/workflowitem.model';
|
||||||
import { ThemeService } from 'src/app/shared/theme-support/theme.service';
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Themed wrapper for ItemListPreviewComponent
|
* Themed wrapper for ItemListPreviewComponent
|
||||||
@@ -24,22 +23,10 @@ export class ThemedItemListPreviewComponent extends ThemedComponent<ItemListPrev
|
|||||||
|
|
||||||
@Input() status: MyDspaceItemStatusType;
|
@Input() status: MyDspaceItemStatusType;
|
||||||
|
|
||||||
@Input() showSubmitter = false;
|
@Input() showSubmitter: boolean;
|
||||||
|
|
||||||
@Input() workflowItem: WorkflowItem;
|
@Input() workflowItem: WorkflowItem;
|
||||||
|
|
||||||
constructor(
|
|
||||||
protected resolver: ComponentFactoryResolver,
|
|
||||||
protected cdr: ChangeDetectorRef,
|
|
||||||
protected themeService: ThemeService,
|
|
||||||
) {
|
|
||||||
super(resolver, cdr, themeService);
|
|
||||||
}
|
|
||||||
|
|
||||||
ngOnInit() {
|
|
||||||
super.ngOnInit();
|
|
||||||
}
|
|
||||||
|
|
||||||
protected getComponentName(): string {
|
protected getComponentName(): string {
|
||||||
return 'ItemListPreviewComponent';
|
return 'ItemListPreviewComponent';
|
||||||
}
|
}
|
||||||
|
@@ -1,7 +1,6 @@
|
|||||||
import {Component, EventEmitter, Input, Output} from '@angular/core';
|
import {Component, EventEmitter, Input, Output} from '@angular/core';
|
||||||
import { ObjectListComponent } from './object-list.component';
|
import { ObjectListComponent } from './object-list.component';
|
||||||
import { ThemedComponent } from '../theme-support/themed.component';
|
import { ThemedComponent } from '../theme-support/themed.component';
|
||||||
import {ViewMode} from '../../core/shared/view-mode.model';
|
|
||||||
import {PaginationComponentOptions} from '../pagination/pagination-component-options.model';
|
import {PaginationComponentOptions} from '../pagination/pagination-component-options.model';
|
||||||
import {SortDirection, SortOptions} from '../../core/cache/models/sort-options.model';
|
import {SortDirection, SortOptions} from '../../core/cache/models/sort-options.model';
|
||||||
import {CollectionElementLinkType} from '../object-collection/collection-element-link.type';
|
import {CollectionElementLinkType} from '../object-collection/collection-element-link.type';
|
||||||
@@ -19,10 +18,6 @@ import {ListableObject} from '../object-collection/shared/listable-object.model'
|
|||||||
templateUrl: '../theme-support/themed.component.html',
|
templateUrl: '../theme-support/themed.component.html',
|
||||||
})
|
})
|
||||||
export class ThemedObjectListComponent extends ThemedComponent<ObjectListComponent> {
|
export class ThemedObjectListComponent extends ThemedComponent<ObjectListComponent> {
|
||||||
/**
|
|
||||||
* The view mode of the this component
|
|
||||||
*/
|
|
||||||
viewMode = ViewMode.ListElement;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The current pagination configuration
|
* The current pagination configuration
|
||||||
@@ -37,18 +32,20 @@ export class ThemedObjectListComponent extends ThemedComponent<ObjectListCompone
|
|||||||
/**
|
/**
|
||||||
* Whether or not the list elements have a border
|
* Whether or not the list elements have a border
|
||||||
*/
|
*/
|
||||||
@Input() hasBorder = false;
|
@Input() hasBorder: boolean;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The whether or not the gear is hidden
|
* The whether or not the gear is hidden
|
||||||
*/
|
*/
|
||||||
@Input() hideGear = false;
|
@Input() hideGear: boolean;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Whether or not the pager is visible when there is only a single page of results
|
* Whether or not the pager is visible when there is only a single page of results
|
||||||
*/
|
*/
|
||||||
@Input() hidePagerWhenSinglePage = true;
|
@Input() hidePagerWhenSinglePage: boolean;
|
||||||
@Input() selectable = false;
|
|
||||||
|
@Input() selectable: boolean;
|
||||||
|
|
||||||
@Input() selectionConfig: { repeatable: boolean, listId: string };
|
@Input() selectionConfig: { repeatable: boolean, listId: string };
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -64,12 +61,12 @@ export class ThemedObjectListComponent extends ThemedComponent<ObjectListCompone
|
|||||||
/**
|
/**
|
||||||
* Option for hiding the pagination detail
|
* Option for hiding the pagination detail
|
||||||
*/
|
*/
|
||||||
@Input() hidePaginationDetail = false;
|
@Input() hidePaginationDetail: boolean;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Whether or not to add an import button to the object
|
* Whether or not to add an import button to the object
|
||||||
*/
|
*/
|
||||||
@Input() importable = false;
|
@Input() importable: boolean;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Config used for the import button
|
* Config used for the import button
|
||||||
@@ -79,42 +76,24 @@ export class ThemedObjectListComponent extends ThemedComponent<ObjectListCompone
|
|||||||
/**
|
/**
|
||||||
* Whether or not the pagination should be rendered as simple previous and next buttons instead of the normal pagination
|
* Whether or not the pagination should be rendered as simple previous and next buttons instead of the normal pagination
|
||||||
*/
|
*/
|
||||||
@Input() showPaginator = true;
|
@Input() showPaginator: boolean;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Emit when one of the listed object has changed.
|
* Emit when one of the listed object has changed.
|
||||||
*/
|
*/
|
||||||
@Output() contentChange = new EventEmitter<any>();
|
@Output() contentChange: EventEmitter<any> = new EventEmitter();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* If showPaginator is set to true, emit when the previous button is clicked
|
* If showPaginator is set to true, emit when the previous button is clicked
|
||||||
*/
|
*/
|
||||||
@Output() prev = new EventEmitter<boolean>();
|
@Output() prev: EventEmitter<boolean> = new EventEmitter();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* If showPaginator is set to true, emit when the next button is clicked
|
* If showPaginator is set to true, emit when the next button is clicked
|
||||||
*/
|
*/
|
||||||
@Output() next = new EventEmitter<boolean>();
|
@Output() next: EventEmitter<boolean> = new EventEmitter();
|
||||||
|
|
||||||
/**
|
@Input() objects: RemoteData<PaginatedList<ListableObject>>;
|
||||||
* The current listable objects
|
|
||||||
*/
|
|
||||||
private _objects: RemoteData<PaginatedList<ListableObject>>;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Setter for the objects
|
|
||||||
* @param objects The new objects
|
|
||||||
*/
|
|
||||||
@Input() set objects(objects: RemoteData<PaginatedList<ListableObject>>) {
|
|
||||||
this._objects = objects;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Getter to return the current objects
|
|
||||||
*/
|
|
||||||
get objects() {
|
|
||||||
return this._objects;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An event fired when the page is changed.
|
* An event fired when the page is changed.
|
||||||
@@ -123,48 +102,45 @@ export class ThemedObjectListComponent extends ThemedComponent<ObjectListCompone
|
|||||||
@Output() change: EventEmitter<{
|
@Output() change: EventEmitter<{
|
||||||
pagination: PaginationComponentOptions,
|
pagination: PaginationComponentOptions,
|
||||||
sort: SortOptions
|
sort: SortOptions
|
||||||
}> = new EventEmitter<{
|
}> = new EventEmitter();
|
||||||
pagination: PaginationComponentOptions,
|
|
||||||
sort: SortOptions
|
|
||||||
}>();
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An event fired when the page is changed.
|
* An event fired when the page is changed.
|
||||||
* Event's payload equals to the newly selected page.
|
* Event's payload equals to the newly selected page.
|
||||||
*/
|
*/
|
||||||
@Output() pageChange: EventEmitter<number> = new EventEmitter<number>();
|
@Output() pageChange: EventEmitter<number> = new EventEmitter();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An event fired when the page wsize is changed.
|
* An event fired when the page wsize is changed.
|
||||||
* Event's payload equals to the newly selected page size.
|
* Event's payload equals to the newly selected page size.
|
||||||
*/
|
*/
|
||||||
@Output() pageSizeChange: EventEmitter<number> = new EventEmitter<number>();
|
@Output() pageSizeChange: EventEmitter<number> = new EventEmitter();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An event fired when the sort direction is changed.
|
* An event fired when the sort direction is changed.
|
||||||
* Event's payload equals to the newly selected sort direction.
|
* Event's payload equals to the newly selected sort direction.
|
||||||
*/
|
*/
|
||||||
@Output() sortDirectionChange: EventEmitter<SortDirection> = new EventEmitter<SortDirection>();
|
@Output() sortDirectionChange: EventEmitter<SortDirection> = new EventEmitter();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An event fired when on of the pagination parameters changes
|
* An event fired when on of the pagination parameters changes
|
||||||
*/
|
*/
|
||||||
@Output() paginationChange: EventEmitter<any> = new EventEmitter<any>();
|
@Output() paginationChange: EventEmitter<any> = new EventEmitter();
|
||||||
|
|
||||||
@Output() deselectObject: EventEmitter<ListableObject> = new EventEmitter<ListableObject>();
|
@Output() deselectObject: EventEmitter<ListableObject> = new EventEmitter();
|
||||||
|
|
||||||
@Output() selectObject: EventEmitter<ListableObject> = new EventEmitter<ListableObject>();
|
@Output() selectObject: EventEmitter<ListableObject> = new EventEmitter();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Send an import event to the parent component
|
* Send an import event to the parent component
|
||||||
*/
|
*/
|
||||||
@Output() importObject: EventEmitter<ListableObject> = new EventEmitter<ListableObject>();
|
@Output() importObject: EventEmitter<ListableObject> = new EventEmitter();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An event fired when the sort field is changed.
|
* An event fired when the sort field is changed.
|
||||||
* Event's payload equals to the newly selected sort field.
|
* Event's payload equals to the newly selected sort field.
|
||||||
*/
|
*/
|
||||||
@Output() sortFieldChange: EventEmitter<string> = new EventEmitter<string>();
|
@Output() sortFieldChange: EventEmitter<string> = new EventEmitter();
|
||||||
|
|
||||||
inAndOutputNames: (keyof ObjectListComponent & keyof this)[] = [
|
inAndOutputNames: (keyof ObjectListComponent & keyof this)[] = [
|
||||||
'config',
|
'config',
|
||||||
|
@@ -29,7 +29,7 @@ export class ThemedSearchResultsComponent extends ThemedComponent<SearchResultsC
|
|||||||
|
|
||||||
@Input() searchConfig: PaginatedSearchOptions;
|
@Input() searchConfig: PaginatedSearchOptions;
|
||||||
|
|
||||||
@Input() showCsvExport = false;
|
@Input() showCsvExport: boolean;
|
||||||
|
|
||||||
@Input() sortConfig: SortOptions;
|
@Input() sortConfig: SortOptions;
|
||||||
|
|
||||||
@@ -37,21 +37,21 @@ export class ThemedSearchResultsComponent extends ThemedComponent<SearchResultsC
|
|||||||
|
|
||||||
@Input() configuration: string;
|
@Input() configuration: string;
|
||||||
|
|
||||||
@Input() disableHeader = false;
|
@Input() disableHeader: boolean;
|
||||||
|
|
||||||
@Input() selectable = false;
|
@Input() selectable: boolean;
|
||||||
|
|
||||||
@Input() context: Context;
|
@Input() context: Context;
|
||||||
|
|
||||||
@Input() hidePaginationDetail = false;
|
@Input() hidePaginationDetail: boolean;
|
||||||
|
|
||||||
@Input() selectionConfig: SelectionConfig = null;
|
@Input() selectionConfig: SelectionConfig;
|
||||||
|
|
||||||
@Output() contentChange: EventEmitter<ListableObject> = new EventEmitter<ListableObject>();
|
@Output() contentChange: EventEmitter<ListableObject> = new EventEmitter();
|
||||||
|
|
||||||
@Output() deselectObject: EventEmitter<ListableObject> = new EventEmitter<ListableObject>();
|
@Output() deselectObject: EventEmitter<ListableObject> = new EventEmitter();
|
||||||
|
|
||||||
@Output() selectObject: EventEmitter<ListableObject> = new EventEmitter<ListableObject>();
|
@Output() selectObject: EventEmitter<ListableObject> = new EventEmitter();
|
||||||
|
|
||||||
protected getComponentName(): string {
|
protected getComponentName(): string {
|
||||||
return 'SearchResultsComponent';
|
return 'SearchResultsComponent';
|
||||||
|
@@ -136,7 +136,7 @@ export class SearchComponent implements OnInit {
|
|||||||
/**
|
/**
|
||||||
* List of available view mode
|
* List of available view mode
|
||||||
*/
|
*/
|
||||||
@Input() useUniquePageId: false;
|
@Input() useUniquePageId: boolean;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* List of available view mode
|
* List of available view mode
|
||||||
|
@@ -11,7 +11,7 @@ import { DSpaceObject } from '../../core/shared/dspace-object.model';
|
|||||||
import { ListableObject } from '../object-collection/shared/listable-object.model';
|
import { ListableObject } from '../object-collection/shared/listable-object.model';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Themed wrapper for SearchComponent
|
* Themed wrapper for {@link SearchComponent}
|
||||||
*/
|
*/
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'ds-themed-search',
|
selector: 'ds-themed-search',
|
||||||
@@ -21,53 +21,53 @@ import { ListableObject } from '../object-collection/shared/listable-object.mode
|
|||||||
export class ThemedSearchComponent extends ThemedComponent<SearchComponent> {
|
export class ThemedSearchComponent extends ThemedComponent<SearchComponent> {
|
||||||
protected inAndOutputNames: (keyof SearchComponent & keyof this)[] = ['configurationList', 'context', 'configuration', 'fixedFilterQuery', 'useCachedVersionIfAvailable', 'inPlaceSearch', 'linkType', 'paginationId', 'searchEnabled', 'sideBarWidth', 'searchFormPlaceholder', 'selectable', 'selectionConfig', 'showCsvExport', 'showSidebar', 'showViewModes', 'useUniquePageId', 'viewModeList', 'showScopeSelector', 'resultFound', 'deselectObject', 'selectObject', 'trackStatistics', 'query'];
|
protected inAndOutputNames: (keyof SearchComponent & keyof this)[] = ['configurationList', 'context', 'configuration', 'fixedFilterQuery', 'useCachedVersionIfAvailable', 'inPlaceSearch', 'linkType', 'paginationId', 'searchEnabled', 'sideBarWidth', 'searchFormPlaceholder', 'selectable', 'selectionConfig', 'showCsvExport', 'showSidebar', 'showViewModes', 'useUniquePageId', 'viewModeList', 'showScopeSelector', 'resultFound', 'deselectObject', 'selectObject', 'trackStatistics', 'query'];
|
||||||
|
|
||||||
@Input() configurationList: SearchConfigurationOption[] = [];
|
@Input() configurationList: SearchConfigurationOption[];
|
||||||
|
|
||||||
@Input() context: Context = Context.Search;
|
@Input() context: Context;
|
||||||
|
|
||||||
@Input() configuration = 'default';
|
@Input() configuration: string;
|
||||||
|
|
||||||
@Input() fixedFilterQuery: string;
|
@Input() fixedFilterQuery: string;
|
||||||
|
|
||||||
@Input() useCachedVersionIfAvailable = true;
|
@Input() useCachedVersionIfAvailable: boolean;
|
||||||
|
|
||||||
@Input() inPlaceSearch = true;
|
@Input() inPlaceSearch: boolean;
|
||||||
|
|
||||||
@Input() linkType: CollectionElementLinkType;
|
@Input() linkType: CollectionElementLinkType;
|
||||||
|
|
||||||
@Input() paginationId = 'spc';
|
@Input() paginationId: string;
|
||||||
|
|
||||||
@Input() searchEnabled = true;
|
@Input() searchEnabled: boolean;
|
||||||
|
|
||||||
@Input() sideBarWidth = 3;
|
@Input() sideBarWidth: number;
|
||||||
|
|
||||||
@Input() searchFormPlaceholder = 'search.search-form.placeholder';
|
@Input() searchFormPlaceholder: string;
|
||||||
|
|
||||||
@Input() selectable = false;
|
@Input() selectable: boolean;
|
||||||
|
|
||||||
@Input() selectionConfig: SelectionConfig;
|
@Input() selectionConfig: SelectionConfig;
|
||||||
|
|
||||||
@Input() showCsvExport = false;
|
@Input() showCsvExport: boolean;
|
||||||
|
|
||||||
@Input() showSidebar = true;
|
@Input() showSidebar: boolean;
|
||||||
|
|
||||||
@Input() showViewModes = true;
|
@Input() showViewModes: boolean;
|
||||||
|
|
||||||
@Input() useUniquePageId: false;
|
@Input() useUniquePageId: boolean;
|
||||||
|
|
||||||
@Input() viewModeList: ViewMode[];
|
@Input() viewModeList: ViewMode[];
|
||||||
|
|
||||||
@Input() showScopeSelector = true;
|
@Input() showScopeSelector: boolean;
|
||||||
|
|
||||||
@Input() trackStatistics = false;
|
@Input() trackStatistics: boolean;
|
||||||
|
|
||||||
@Input() query: string;
|
@Input() query: string;
|
||||||
|
|
||||||
@Output() resultFound: EventEmitter<SearchObjects<DSpaceObject>> = new EventEmitter<SearchObjects<DSpaceObject>>();
|
@Output() resultFound: EventEmitter<SearchObjects<DSpaceObject>> = new EventEmitter();
|
||||||
|
|
||||||
@Output() deselectObject: EventEmitter<ListableObject> = new EventEmitter<ListableObject>();
|
@Output() deselectObject: EventEmitter<ListableObject> = new EventEmitter();
|
||||||
|
|
||||||
@Output() selectObject: EventEmitter<ListableObject> = new EventEmitter<ListableObject>();
|
@Output() selectObject: EventEmitter<ListableObject> = new EventEmitter();
|
||||||
|
|
||||||
protected getComponentName(): string {
|
protected getComponentName(): string {
|
||||||
return 'SearchComponent';
|
return 'SearchComponent';
|
||||||
|
@@ -17,6 +17,7 @@ export class AuthServiceStub {
|
|||||||
token: AuthTokenInfo = new AuthTokenInfo('token_test');
|
token: AuthTokenInfo = new AuthTokenInfo('token_test');
|
||||||
impersonating: string;
|
impersonating: string;
|
||||||
private _tokenExpired = false;
|
private _tokenExpired = false;
|
||||||
|
private _isExternalAuth = false;
|
||||||
private redirectUrl;
|
private redirectUrl;
|
||||||
|
|
||||||
constructor() {
|
constructor() {
|
||||||
@@ -122,6 +123,13 @@ export class AuthServiceStub {
|
|||||||
checkAuthenticationCookie() {
|
checkAuthenticationCookie() {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
setExternalAuthStatus(externalCookie: boolean) {
|
||||||
|
this._isExternalAuth = externalCookie;
|
||||||
|
}
|
||||||
|
|
||||||
|
isExternalAuthentication(): Observable<boolean> {
|
||||||
|
return observableOf(this._isExternalAuth);
|
||||||
|
}
|
||||||
|
|
||||||
retrieveAuthMethodsFromAuthStatus(status: AuthStatus) {
|
retrieveAuthMethodsFromAuthStatus(status: AuthStatus) {
|
||||||
return observableOf(authMethodsMock);
|
return observableOf(authMethodsMock);
|
||||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -130,7 +130,7 @@
|
|||||||
"admin.registries.bitstream-formats.table.mimetype": "MIME Type",
|
"admin.registries.bitstream-formats.table.mimetype": "MIME Type",
|
||||||
|
|
||||||
"admin.registries.bitstream-formats.table.name": "Name",
|
"admin.registries.bitstream-formats.table.name": "Name",
|
||||||
"admin.registries.bitstream-formats.table.id" : "ID",
|
"admin.registries.bitstream-formats.table.id": "ID",
|
||||||
|
|
||||||
"admin.registries.bitstream-formats.table.return": "Back",
|
"admin.registries.bitstream-formats.table.return": "Back",
|
||||||
|
|
||||||
@@ -185,7 +185,7 @@
|
|||||||
"admin.registries.schema.fields.table.delete": "Delete selected",
|
"admin.registries.schema.fields.table.delete": "Delete selected",
|
||||||
|
|
||||||
"admin.registries.schema.fields.table.field": "Field",
|
"admin.registries.schema.fields.table.field": "Field",
|
||||||
"admin.registries.schema.fields.table.id" : "ID",
|
"admin.registries.schema.fields.table.id": "ID",
|
||||||
|
|
||||||
"admin.registries.schema.fields.table.scopenote": "Scope Note",
|
"admin.registries.schema.fields.table.scopenote": "Scope Note",
|
||||||
|
|
||||||
@@ -1394,9 +1394,9 @@
|
|||||||
|
|
||||||
"cookies.consent.purpose.sharing": "Sharing",
|
"cookies.consent.purpose.sharing": "Sharing",
|
||||||
|
|
||||||
"curation-task.task.citationpage.label": "Generate Citation Page",
|
"curation-task.task.citationpage.label": "Generate Citation Page",
|
||||||
|
|
||||||
"curation-task.task.checklinks.label": "Check Links in Metadata",
|
"curation-task.task.checklinks.label": "Check Links in Metadata",
|
||||||
|
|
||||||
"curation-task.task.noop.label": "NOOP",
|
"curation-task.task.noop.label": "NOOP",
|
||||||
|
|
||||||
@@ -1532,7 +1532,7 @@
|
|||||||
|
|
||||||
"supervision-group-selector.notification.create.failure.title": "Error",
|
"supervision-group-selector.notification.create.failure.title": "Error",
|
||||||
|
|
||||||
"supervision-group-selector.notification.create.already-existing" : "A supervision order already exists on this item for selected group",
|
"supervision-group-selector.notification.create.already-existing": "A supervision order already exists on this item for selected group",
|
||||||
|
|
||||||
"confirmation-modal.export-metadata.header": "Export metadata for {{ dsoName }}",
|
"confirmation-modal.export-metadata.header": "Export metadata for {{ dsoName }}",
|
||||||
|
|
||||||
@@ -1640,9 +1640,9 @@
|
|||||||
|
|
||||||
"footer.link.privacy-policy": "Privacy policy",
|
"footer.link.privacy-policy": "Privacy policy",
|
||||||
|
|
||||||
"footer.link.end-user-agreement":"End User Agreement",
|
"footer.link.end-user-agreement": "End User Agreement",
|
||||||
|
|
||||||
"footer.link.feedback":"Send Feedback",
|
"footer.link.feedback": "Send Feedback",
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1806,11 +1806,11 @@
|
|||||||
|
|
||||||
"health.breadcrumbs": "Health",
|
"health.breadcrumbs": "Health",
|
||||||
|
|
||||||
"health-page.heading" : "Health",
|
"health-page.heading": "Health",
|
||||||
|
|
||||||
"health-page.info-tab" : "Info",
|
"health-page.info-tab": "Info",
|
||||||
|
|
||||||
"health-page.status-tab" : "Status",
|
"health-page.status-tab": "Status",
|
||||||
|
|
||||||
"health-page.error.msg": "The health check service is temporarily unavailable",
|
"health-page.error.msg": "The health check service is temporarily unavailable",
|
||||||
|
|
||||||
@@ -1897,15 +1897,15 @@
|
|||||||
|
|
||||||
"info.feedback.email-label": "Your Email",
|
"info.feedback.email-label": "Your Email",
|
||||||
|
|
||||||
"info.feedback.create.success" : "Feedback Sent Successfully!",
|
"info.feedback.create.success": "Feedback Sent Successfully!",
|
||||||
|
|
||||||
"info.feedback.error.email.required" : "A valid email address is required",
|
"info.feedback.error.email.required": "A valid email address is required",
|
||||||
|
|
||||||
"info.feedback.error.message.required" : "A comment is required",
|
"info.feedback.error.message.required": "A comment is required",
|
||||||
|
|
||||||
"info.feedback.page-label" : "Page",
|
"info.feedback.page-label": "Page",
|
||||||
|
|
||||||
"info.feedback.page_help" : "Tha page related to your feedback",
|
"info.feedback.page_help": "Tha page related to your feedback",
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1933,7 +1933,7 @@
|
|||||||
|
|
||||||
"item.bitstreams.upload.bundle.new": "Create bundle",
|
"item.bitstreams.upload.bundle.new": "Create bundle",
|
||||||
|
|
||||||
"item.bitstreams.upload.bundles.empty": "This item doesn\'t contain any bundles to upload a bitstream to.",
|
"item.bitstreams.upload.bundles.empty": "This item doesn't contain any bundles to upload a bitstream to.",
|
||||||
|
|
||||||
"item.bitstreams.upload.cancel": "Cancel",
|
"item.bitstreams.upload.cancel": "Cancel",
|
||||||
|
|
||||||
@@ -2477,9 +2477,9 @@
|
|||||||
|
|
||||||
"item.page.bitstreams.collapse": "Collapse",
|
"item.page.bitstreams.collapse": "Collapse",
|
||||||
|
|
||||||
"item.page.filesection.original.bundle" : "Original bundle",
|
"item.page.filesection.original.bundle": "Original bundle",
|
||||||
|
|
||||||
"item.page.filesection.license.bundle" : "License bundle",
|
"item.page.filesection.license.bundle": "License bundle",
|
||||||
|
|
||||||
"item.page.return": "Back",
|
"item.page.return": "Back",
|
||||||
|
|
||||||
@@ -2509,19 +2509,19 @@
|
|||||||
|
|
||||||
"item.preview.dc.type": "Type:",
|
"item.preview.dc.type": "Type:",
|
||||||
|
|
||||||
"item.preview.oaire.citation.issue" : "Issue",
|
"item.preview.oaire.citation.issue": "Issue",
|
||||||
|
|
||||||
"item.preview.oaire.citation.volume" : "Volume",
|
"item.preview.oaire.citation.volume": "Volume",
|
||||||
|
|
||||||
"item.preview.dc.relation.issn" : "ISSN",
|
"item.preview.dc.relation.issn": "ISSN",
|
||||||
|
|
||||||
"item.preview.dc.identifier.isbn" : "ISBN",
|
"item.preview.dc.identifier.isbn": "ISBN",
|
||||||
|
|
||||||
"item.preview.dc.identifier": "Identifier:",
|
"item.preview.dc.identifier": "Identifier:",
|
||||||
|
|
||||||
"item.preview.dc.relation.ispartof" : "Journal or Serie",
|
"item.preview.dc.relation.ispartof": "Journal or Serie",
|
||||||
|
|
||||||
"item.preview.dc.identifier.doi" : "DOI",
|
"item.preview.dc.identifier.doi": "DOI",
|
||||||
|
|
||||||
"item.preview.person.familyName": "Surname:",
|
"item.preview.person.familyName": "Surname:",
|
||||||
|
|
||||||
@@ -2620,11 +2620,11 @@
|
|||||||
|
|
||||||
"item.version.create.modal.submitted.text": "The new version is being created. This may take some time if the item has a lot of relationships.",
|
"item.version.create.modal.submitted.text": "The new version is being created. This may take some time if the item has a lot of relationships.",
|
||||||
|
|
||||||
"item.version.create.notification.success" : "New version has been created with version number {{version}}",
|
"item.version.create.notification.success": "New version has been created with version number {{version}}",
|
||||||
|
|
||||||
"item.version.create.notification.failure" : "New version has not been created",
|
"item.version.create.notification.failure": "New version has not been created",
|
||||||
|
|
||||||
"item.version.create.notification.inProgress" : "A new version cannot be created because there is an inprogress submission in the version history",
|
"item.version.create.notification.inProgress": "A new version cannot be created because there is an inprogress submission in the version history",
|
||||||
|
|
||||||
|
|
||||||
"item.version.delete.modal.header": "Delete version",
|
"item.version.delete.modal.header": "Delete version",
|
||||||
@@ -2639,14 +2639,14 @@
|
|||||||
|
|
||||||
"item.version.delete.modal.button.cancel.tooltip": "Do not delete this version",
|
"item.version.delete.modal.button.cancel.tooltip": "Do not delete this version",
|
||||||
|
|
||||||
"item.version.delete.notification.success" : "Version number {{version}} has been deleted",
|
"item.version.delete.notification.success": "Version number {{version}} has been deleted",
|
||||||
|
|
||||||
"item.version.delete.notification.failure" : "Version number {{version}} has not been deleted",
|
"item.version.delete.notification.failure": "Version number {{version}} has not been deleted",
|
||||||
|
|
||||||
|
|
||||||
"item.version.edit.notification.success" : "The summary of version number {{version}} has been changed",
|
"item.version.edit.notification.success": "The summary of version number {{version}} has been changed",
|
||||||
|
|
||||||
"item.version.edit.notification.failure" : "The summary of version number {{version}} has not been changed",
|
"item.version.edit.notification.failure": "The summary of version number {{version}} has not been changed",
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -3152,11 +3152,11 @@
|
|||||||
|
|
||||||
"nav.stop-impersonating": "Stop impersonating EPerson",
|
"nav.stop-impersonating": "Stop impersonating EPerson",
|
||||||
|
|
||||||
"nav.subscriptions" : "Subscriptions",
|
"nav.subscriptions": "Subscriptions",
|
||||||
|
|
||||||
"nav.toggle" : "Toggle navigation",
|
"nav.toggle": "Toggle navigation",
|
||||||
|
|
||||||
"nav.user.description" : "User profile bar",
|
"nav.user.description": "User profile bar",
|
||||||
|
|
||||||
"none.listelement.badge": "Item",
|
"none.listelement.badge": "Item",
|
||||||
|
|
||||||
@@ -3259,6 +3259,8 @@
|
|||||||
|
|
||||||
"process.new.notification.error.content": "An error occurred while creating this process",
|
"process.new.notification.error.content": "An error occurred while creating this process",
|
||||||
|
|
||||||
|
"process.new.notification.error.max-upload.content": "The file exceeds the maximum upload size",
|
||||||
|
|
||||||
"process.new.header": "Create a new process",
|
"process.new.header": "Create a new process",
|
||||||
|
|
||||||
"process.new.title": "Create a new process",
|
"process.new.title": "Create a new process",
|
||||||
@@ -3267,13 +3269,13 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
"process.detail.arguments" : "Arguments",
|
"process.detail.arguments": "Arguments",
|
||||||
|
|
||||||
"process.detail.arguments.empty" : "This process doesn't contain any arguments",
|
"process.detail.arguments.empty": "This process doesn't contain any arguments",
|
||||||
|
|
||||||
"process.detail.back" : "Back",
|
"process.detail.back": "Back",
|
||||||
|
|
||||||
"process.detail.output" : "Process Output",
|
"process.detail.output": "Process Output",
|
||||||
|
|
||||||
"process.detail.logs.button": "Retrieve process output",
|
"process.detail.logs.button": "Retrieve process output",
|
||||||
|
|
||||||
@@ -3281,21 +3283,21 @@
|
|||||||
|
|
||||||
"process.detail.logs.none": "This process has no output",
|
"process.detail.logs.none": "This process has no output",
|
||||||
|
|
||||||
"process.detail.output-files" : "Output Files",
|
"process.detail.output-files": "Output Files",
|
||||||
|
|
||||||
"process.detail.output-files.empty" : "This process doesn't contain any output files",
|
"process.detail.output-files.empty": "This process doesn't contain any output files",
|
||||||
|
|
||||||
"process.detail.script" : "Script",
|
"process.detail.script": "Script",
|
||||||
|
|
||||||
"process.detail.title" : "Process: {{ id }} - {{ name }}",
|
"process.detail.title": "Process: {{ id }} - {{ name }}",
|
||||||
|
|
||||||
"process.detail.start-time" : "Start time",
|
"process.detail.start-time": "Start time",
|
||||||
|
|
||||||
"process.detail.end-time" : "Finish time",
|
"process.detail.end-time": "Finish time",
|
||||||
|
|
||||||
"process.detail.status" : "Status",
|
"process.detail.status": "Status",
|
||||||
|
|
||||||
"process.detail.create" : "Create similar process",
|
"process.detail.create": "Create similar process",
|
||||||
|
|
||||||
"process.detail.actions": "Actions",
|
"process.detail.actions": "Actions",
|
||||||
|
|
||||||
@@ -3315,17 +3317,17 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
"process.overview.table.finish" : "Finish time (UTC)",
|
"process.overview.table.finish": "Finish time (UTC)",
|
||||||
|
|
||||||
"process.overview.table.id" : "Process ID",
|
"process.overview.table.id": "Process ID",
|
||||||
|
|
||||||
"process.overview.table.name" : "Name",
|
"process.overview.table.name": "Name",
|
||||||
|
|
||||||
"process.overview.table.start" : "Start time (UTC)",
|
"process.overview.table.start": "Start time (UTC)",
|
||||||
|
|
||||||
"process.overview.table.status" : "Status",
|
"process.overview.table.status": "Status",
|
||||||
|
|
||||||
"process.overview.table.user" : "User",
|
"process.overview.table.user": "User",
|
||||||
|
|
||||||
"process.overview.title": "Processes Overview",
|
"process.overview.title": "Processes Overview",
|
||||||
|
|
||||||
@@ -4428,7 +4430,7 @@
|
|||||||
|
|
||||||
"submission.sections.describe.relationship-lookup.selection-tab.title": "Search Results",
|
"submission.sections.describe.relationship-lookup.selection-tab.title": "Search Results",
|
||||||
|
|
||||||
"submission.sections.describe.relationship-lookup.name-variant.notification.content": "Would you like to save \"{{ value }}\" as a name variant for this person so you and others can reuse it for future submissions? If you don\'t you can still use it for this submission.",
|
"submission.sections.describe.relationship-lookup.name-variant.notification.content": "Would you like to save \"{{ value }}\" as a name variant for this person so you and others can reuse it for future submissions? If you don't you can still use it for this submission.",
|
||||||
|
|
||||||
"submission.sections.describe.relationship-lookup.name-variant.notification.confirm": "Save a new name variant",
|
"submission.sections.describe.relationship-lookup.name-variant.notification.confirm": "Save a new name variant",
|
||||||
|
|
||||||
@@ -4635,7 +4637,7 @@
|
|||||||
|
|
||||||
"submission.sections.license.required": "You must accept the license",
|
"submission.sections.license.required": "You must accept the license",
|
||||||
|
|
||||||
"submission.sections.license.notgranted": "You must accept the license",
|
"submission.sections.license.notgranted": "You must accept the license",
|
||||||
|
|
||||||
|
|
||||||
"submission.sections.sherpa.publication.information": "Publication information",
|
"submission.sections.sherpa.publication.information": "Publication information",
|
||||||
@@ -5004,7 +5006,7 @@
|
|||||||
|
|
||||||
"idle-modal.extend-session": "Extend session",
|
"idle-modal.extend-session": "Extend session",
|
||||||
|
|
||||||
"researcher.profile.action.processing" : "Processing...",
|
"researcher.profile.action.processing": "Processing...",
|
||||||
|
|
||||||
"researcher.profile.associated": "Researcher profile associated",
|
"researcher.profile.associated": "Researcher profile associated",
|
||||||
|
|
||||||
@@ -5026,27 +5028,27 @@
|
|||||||
|
|
||||||
"researcher.profile.view": "View",
|
"researcher.profile.view": "View",
|
||||||
|
|
||||||
"researcher.profile.private.visibility" : "PRIVATE",
|
"researcher.profile.private.visibility": "PRIVATE",
|
||||||
|
|
||||||
"researcher.profile.public.visibility" : "PUBLIC",
|
"researcher.profile.public.visibility": "PUBLIC",
|
||||||
|
|
||||||
"researcher.profile.status": "Status:",
|
"researcher.profile.status": "Status:",
|
||||||
|
|
||||||
"researcherprofile.claim.not-authorized": "You are not authorized to claim this item. For more details contact the administrator(s).",
|
"researcherprofile.claim.not-authorized": "You are not authorized to claim this item. For more details contact the administrator(s).",
|
||||||
|
|
||||||
"researcherprofile.error.claim.body" : "An error occurred while claiming the profile, please try again later",
|
"researcherprofile.error.claim.body": "An error occurred while claiming the profile, please try again later",
|
||||||
|
|
||||||
"researcherprofile.error.claim.title" : "Error",
|
"researcherprofile.error.claim.title": "Error",
|
||||||
|
|
||||||
"researcherprofile.success.claim.body" : "Profile claimed with success",
|
"researcherprofile.success.claim.body": "Profile claimed with success",
|
||||||
|
|
||||||
"researcherprofile.success.claim.title" : "Success",
|
"researcherprofile.success.claim.title": "Success",
|
||||||
|
|
||||||
"person.page.orcid.create": "Create an ORCID ID",
|
"person.page.orcid.create": "Create an ORCID ID",
|
||||||
|
|
||||||
"person.page.orcid.granted-authorizations": "Granted authorizations",
|
"person.page.orcid.granted-authorizations": "Granted authorizations",
|
||||||
|
|
||||||
"person.page.orcid.grant-authorizations" : "Grant authorizations",
|
"person.page.orcid.grant-authorizations": "Grant authorizations",
|
||||||
|
|
||||||
"person.page.orcid.link": "Connect to ORCID ID",
|
"person.page.orcid.link": "Connect to ORCID ID",
|
||||||
|
|
||||||
@@ -5078,31 +5080,31 @@
|
|||||||
|
|
||||||
"person.page.orcid.save.preference.changes": "Update settings",
|
"person.page.orcid.save.preference.changes": "Update settings",
|
||||||
|
|
||||||
"person.page.orcid.sync-profile.affiliation" : "Affiliation",
|
"person.page.orcid.sync-profile.affiliation": "Affiliation",
|
||||||
|
|
||||||
"person.page.orcid.sync-profile.biographical" : "Biographical data",
|
"person.page.orcid.sync-profile.biographical": "Biographical data",
|
||||||
|
|
||||||
"person.page.orcid.sync-profile.education" : "Education",
|
"person.page.orcid.sync-profile.education": "Education",
|
||||||
|
|
||||||
"person.page.orcid.sync-profile.identifiers" : "Identifiers",
|
"person.page.orcid.sync-profile.identifiers": "Identifiers",
|
||||||
|
|
||||||
"person.page.orcid.sync-fundings.all" : "All fundings",
|
"person.page.orcid.sync-fundings.all": "All fundings",
|
||||||
|
|
||||||
"person.page.orcid.sync-fundings.mine" : "My fundings",
|
"person.page.orcid.sync-fundings.mine": "My fundings",
|
||||||
|
|
||||||
"person.page.orcid.sync-fundings.my_selected" : "Selected fundings",
|
"person.page.orcid.sync-fundings.my_selected": "Selected fundings",
|
||||||
|
|
||||||
"person.page.orcid.sync-fundings.disabled" : "Disabled",
|
"person.page.orcid.sync-fundings.disabled": "Disabled",
|
||||||
|
|
||||||
"person.page.orcid.sync-publications.all" : "All publications",
|
"person.page.orcid.sync-publications.all": "All publications",
|
||||||
|
|
||||||
"person.page.orcid.sync-publications.mine" : "My publications",
|
"person.page.orcid.sync-publications.mine": "My publications",
|
||||||
|
|
||||||
"person.page.orcid.sync-publications.my_selected" : "Selected publications",
|
"person.page.orcid.sync-publications.my_selected": "Selected publications",
|
||||||
|
|
||||||
"person.page.orcid.sync-publications.disabled" : "Disabled",
|
"person.page.orcid.sync-publications.disabled": "Disabled",
|
||||||
|
|
||||||
"person.page.orcid.sync-queue.discard" : "Discard the change and do not synchronize with the ORCID registry",
|
"person.page.orcid.sync-queue.discard": "Discard the change and do not synchronize with the ORCID registry",
|
||||||
|
|
||||||
"person.page.orcid.sync-queue.discard.error": "The discarding of the ORCID queue record failed",
|
"person.page.orcid.sync-queue.discard.error": "The discarding of the ORCID queue record failed",
|
||||||
|
|
||||||
@@ -5110,11 +5112,11 @@
|
|||||||
|
|
||||||
"person.page.orcid.sync-queue.empty-message": "The ORCID queue registry is empty",
|
"person.page.orcid.sync-queue.empty-message": "The ORCID queue registry is empty",
|
||||||
|
|
||||||
"person.page.orcid.sync-queue.table.header.type" : "Type",
|
"person.page.orcid.sync-queue.table.header.type": "Type",
|
||||||
|
|
||||||
"person.page.orcid.sync-queue.table.header.description" : "Description",
|
"person.page.orcid.sync-queue.table.header.description": "Description",
|
||||||
|
|
||||||
"person.page.orcid.sync-queue.table.header.action" : "Action",
|
"person.page.orcid.sync-queue.table.header.action": "Action",
|
||||||
|
|
||||||
"person.page.orcid.sync-queue.description.affiliation": "Affiliations",
|
"person.page.orcid.sync-queue.description.affiliation": "Affiliations",
|
||||||
|
|
||||||
@@ -5158,7 +5160,7 @@
|
|||||||
|
|
||||||
"person.page.orcid.sync-queue.tooltip.researcher_urls": "Researcher url",
|
"person.page.orcid.sync-queue.tooltip.researcher_urls": "Researcher url",
|
||||||
|
|
||||||
"person.page.orcid.sync-queue.send" : "Synchronize with ORCID registry",
|
"person.page.orcid.sync-queue.send": "Synchronize with ORCID registry",
|
||||||
|
|
||||||
"person.page.orcid.sync-queue.send.unauthorized-error.title": "The submission to ORCID failed for missing authorizations.",
|
"person.page.orcid.sync-queue.send.unauthorized-error.title": "The submission to ORCID failed for missing authorizations.",
|
||||||
|
|
||||||
@@ -5194,7 +5196,7 @@
|
|||||||
|
|
||||||
"person.page.orcid.sync-queue.send.validation-error.organization.name-required": "The organization's name is required",
|
"person.page.orcid.sync-queue.send.validation-error.organization.name-required": "The organization's name is required",
|
||||||
|
|
||||||
"person.page.orcid.sync-queue.send.validation-error.publication.date-invalid" : "The publication date must be one year after 1900",
|
"person.page.orcid.sync-queue.send.validation-error.publication.date-invalid": "The publication date must be one year after 1900",
|
||||||
|
|
||||||
"person.page.orcid.sync-queue.send.validation-error.organization.address-required": "The organization to be sent requires an address",
|
"person.page.orcid.sync-queue.send.validation-error.organization.address-required": "The organization to be sent requires an address",
|
||||||
|
|
||||||
|
@@ -195,7 +195,7 @@
|
|||||||
// "admin.registries.bitstream-formats.table.name": "Name",
|
// "admin.registries.bitstream-formats.table.name": "Name",
|
||||||
"admin.registries.bitstream-formats.table.name": "Nombre",
|
"admin.registries.bitstream-formats.table.name": "Nombre",
|
||||||
// "admin.registries.bitstream-formats.table.id" : "ID",
|
// "admin.registries.bitstream-formats.table.id" : "ID",
|
||||||
"admin.registries.bitstream-formats.table.id" : "ID",
|
"admin.registries.bitstream-formats.table.id": "ID",
|
||||||
|
|
||||||
// "admin.registries.bitstream-formats.table.return": "Back",
|
// "admin.registries.bitstream-formats.table.return": "Back",
|
||||||
"admin.registries.bitstream-formats.table.return": "Atrás",
|
"admin.registries.bitstream-formats.table.return": "Atrás",
|
||||||
@@ -276,7 +276,7 @@
|
|||||||
// "admin.registries.schema.fields.table.field": "Field",
|
// "admin.registries.schema.fields.table.field": "Field",
|
||||||
"admin.registries.schema.fields.table.field": "Campo",
|
"admin.registries.schema.fields.table.field": "Campo",
|
||||||
// "admin.registries.schema.fields.table.id" : "ID",
|
// "admin.registries.schema.fields.table.id" : "ID",
|
||||||
"admin.registries.schema.fields.table.id" : "ID",
|
"admin.registries.schema.fields.table.id": "ID",
|
||||||
|
|
||||||
// "admin.registries.schema.fields.table.scopenote": "Scope Note",
|
// "admin.registries.schema.fields.table.scopenote": "Scope Note",
|
||||||
"admin.registries.schema.fields.table.scopenote": "Nota de alcance",
|
"admin.registries.schema.fields.table.scopenote": "Nota de alcance",
|
||||||
@@ -752,8 +752,8 @@
|
|||||||
// "admin.access-control.groups.form.tooltip.editGroup.addEpeople": "To add or remove an EPerson to/from this group, either click the 'Browse All' button or use the search bar below to search for users (use the dropdown to the left of the search bar to choose whether to search by metadata or by email). Then click the plus icon for each user you wish to add in the list below, or the trash can icon for each user you wish to remove. The list below may have several pages: use the page controls below the list to navigate to the next pages. Once you are ready, save your changes by clicking the 'Save' button in the top section.",
|
// "admin.access-control.groups.form.tooltip.editGroup.addEpeople": "To add or remove an EPerson to/from this group, either click the 'Browse All' button or use the search bar below to search for users (use the dropdown to the left of the search bar to choose whether to search by metadata or by email). Then click the plus icon for each user you wish to add in the list below, or the trash can icon for each user you wish to remove. The list below may have several pages: use the page controls below the list to navigate to the next pages. Once you are ready, save your changes by clicking the 'Save' button in the top section.",
|
||||||
"admin.access-control.groups.form.tooltip.editGroup.addEpeople": "Para agregar o remover una persona en este grupo, pulse el botón ‘Examinar todo’ o utilice la barra de búsqueda de abajo para buscar los usuario (Use el desplegable que se encuentra a la derecha de la barra de búsqueda para seleccionar entre buscar por metadato o por correo electrónico). Posteriormente pulse el botón con el icono más por cada usuario que desea agregar a la lista, o el icono de papelera por cada usuario que desea remover. La lista puede contener varias páginas: utilice los controles de paginación debajo de la lista, para navegar a las siguientes páginas. Cuando haya finalizado, guarde sus cambios pulsando el botón ‘Guardar’ ubicado en la parte superior de la sección.",
|
"admin.access-control.groups.form.tooltip.editGroup.addEpeople": "Para agregar o remover una persona en este grupo, pulse el botón ‘Examinar todo’ o utilice la barra de búsqueda de abajo para buscar los usuario (Use el desplegable que se encuentra a la derecha de la barra de búsqueda para seleccionar entre buscar por metadato o por correo electrónico). Posteriormente pulse el botón con el icono más por cada usuario que desea agregar a la lista, o el icono de papelera por cada usuario que desea remover. La lista puede contener varias páginas: utilice los controles de paginación debajo de la lista, para navegar a las siguientes páginas. Cuando haya finalizado, guarde sus cambios pulsando el botón ‘Guardar’ ubicado en la parte superior de la sección.",
|
||||||
|
|
||||||
// "admin.access-control.groups.form.tooltip.editGroup.addSubgroups": "To add or remove a Subgroup to/from this group, either click the 'Browse All' button or use the search bar below to search for subgroups. Then click the plus icon for each subgroup you wish to add in the list below, or the trash can icon for each subgroup you wish to remove. The list below may have several pages: use the page controls below the list to navigate to the next pages. Once you are ready, save your changes by clicking the 'Save' button in the top section.",
|
// "admin.access-control.groups.form.tooltip.editGroup.addSubgroups": "To add or remove a Subgroup to/from this group, either click the 'Browse All' button or use the search bar below to search for users. Then click the plus icon for each user you wish to add in the list below, or the trash can icon for each user you wish to remove. The list below may have several pages: use the page controls below the list to navigate to the next pages. Once you are ready, save your changes by clicking the 'Save' button in the top section.",
|
||||||
"admin.access-control.groups.form.tooltip.editGroup.addSubgroups": "Para agregar o remover un sub-grupo en este grupo, pulse el botón ‘Examinar todo’ o utilice la barra de búsqueda de abajo para buscar los subgrupos- Posteriormente pulse el botón con el icono más por cada sub-grupo que desea agregar a la lista, o el icono de papelera por cada sub-grupo que desea remover. La lista puede contener varias páginas: utilice los controles de paginación debajo de la lista, para navegar a las siguientes páginas. Cuando haya finalizado, guarde sus cambios pulsando el botón ‘Guardar’ ubicado en la parte superior de la sección.",
|
"admin.access-control.groups.form.tooltip.editGroup.addSubgroups": "Para agregar o remover un sub-grupo en este grupo, pulse el botón 'Examinar todo' o utilice la barra de búsqueda de abajo para buscar los subgrupos- Posteriormente pulse el botón con el icono más por cada sub-grupo que desea agregar a la lista, o el icono de papelera por cada sub-grupo que desea remover. La lista puede contener varias páginas: utilice los controles de paginación debajo de la lista, para navegar a las siguientes páginas. Cuando haya finalizado, guarde sus cambios pulsando el botón ‘Guardar’ ubicado en la parte superior de la sección.",
|
||||||
|
|
||||||
// "admin.search.breadcrumbs": "Administrative Search",
|
// "admin.search.breadcrumbs": "Administrative Search",
|
||||||
"admin.search.breadcrumbs": "Búsqueda administrativa",
|
"admin.search.breadcrumbs": "Búsqueda administrativa",
|
||||||
@@ -1891,12 +1891,10 @@
|
|||||||
|
|
||||||
|
|
||||||
// "comcol-role.edit.scorereviewers.name": "Score Reviewers",
|
// "comcol-role.edit.scorereviewers.name": "Score Reviewers",
|
||||||
// TODO New key - Add a translation
|
"comcol-role.edit.scorereviewers.name": "Revisores de puntuación",
|
||||||
"comcol-role.edit.scorereviewers.name": "Score Reviewers",
|
|
||||||
|
|
||||||
// "comcol-role.edit.scorereviewers.description": "Reviewers are able to give a score to incoming submissions, this will define whether the submission will be rejected or not.",
|
// "comcol-role.edit.scorereviewers.description": "Reviewers are able to give a score to incoming submissions, this will define whether the submission will be rejected or not.",
|
||||||
// TODO New key - Add a translation
|
"comcol-role.edit.scorereviewers.description": "Los revisores pueden dar una puntuación a un envío entrante, esto definirá si el envío será rechazado o no.",
|
||||||
"comcol-role.edit.scorereviewers.description": "Reviewers are able to give a score to incoming submissions, this will define whether the submission will be rejected or not.",
|
|
||||||
|
|
||||||
// "community.form.abstract": "Short Description",
|
// "community.form.abstract": "Short Description",
|
||||||
"community.form.abstract": "Breve descripción",
|
"community.form.abstract": "Breve descripción",
|
||||||
@@ -2062,7 +2060,7 @@
|
|||||||
"cookies.consent.purpose.sharing": "Compartición",
|
"cookies.consent.purpose.sharing": "Compartición",
|
||||||
|
|
||||||
// "curation-task.task.citationpage.label": "Generate Citation Page",
|
// "curation-task.task.citationpage.label": "Generate Citation Page",
|
||||||
"curation-task.task.citationpage.label": "Generar página de cita",
|
"curation-task.task.citationpage.label": "Generar página de cita",
|
||||||
|
|
||||||
// "curation-task.task.checklinks.label": "Check Links in Metadata",
|
// "curation-task.task.checklinks.label": "Check Links in Metadata",
|
||||||
"curation-task.task.checklinks.label": "Comprobar enlaces en metadatos",
|
"curation-task.task.checklinks.label": "Comprobar enlaces en metadatos",
|
||||||
@@ -2262,7 +2260,7 @@
|
|||||||
"supervision-group-selector.notification.create.failure.title": "Error",
|
"supervision-group-selector.notification.create.failure.title": "Error",
|
||||||
|
|
||||||
// "supervision-group-selector.notification.create.already-existing" : "A supervision order already exists on this item for selected group",
|
// "supervision-group-selector.notification.create.already-existing" : "A supervision order already exists on this item for selected group",
|
||||||
"supervision-group-selector.notification.create.already-existing" : "Ya existe una orden de supervisión para este ítem en el grupo selecionado",
|
"supervision-group-selector.notification.create.already-existing": "Ya existe una orden de supervisión para este ítem en el grupo selecionado",
|
||||||
|
|
||||||
// "confirmation-modal.export-metadata.header": "Export metadata for {{ dsoName }}",
|
// "confirmation-modal.export-metadata.header": "Export metadata for {{ dsoName }}",
|
||||||
"confirmation-modal.export-metadata.header": "Exportar metadatos para {{ dsoName }}",
|
"confirmation-modal.export-metadata.header": "Exportar metadatos para {{ dsoName }}",
|
||||||
@@ -2425,7 +2423,7 @@
|
|||||||
"footer.link.end-user-agreement": "Acuerdo de usuario final",
|
"footer.link.end-user-agreement": "Acuerdo de usuario final",
|
||||||
|
|
||||||
// "footer.link.feedback":"Send Feedback",
|
// "footer.link.feedback":"Send Feedback",
|
||||||
"footer.link.feedback":"Enviar Sugerencias",
|
"footer.link.feedback": "Enviar Sugerencias",
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -2588,6 +2586,9 @@
|
|||||||
// "form.submit": "Save",
|
// "form.submit": "Save",
|
||||||
"form.submit": "Guardar",
|
"form.submit": "Guardar",
|
||||||
|
|
||||||
|
// "form.create": "Create",
|
||||||
|
"form.create": "Crear",
|
||||||
|
|
||||||
// "form.repeatable.sort.tip": "Drop the item in the new position",
|
// "form.repeatable.sort.tip": "Drop the item in the new position",
|
||||||
"form.repeatable.sort.tip": "Suelte el ítem en la nueva posición",
|
"form.repeatable.sort.tip": "Suelte el ítem en la nueva posición",
|
||||||
|
|
||||||
@@ -2663,13 +2664,13 @@
|
|||||||
"health.breadcrumbs": "Chequeos",
|
"health.breadcrumbs": "Chequeos",
|
||||||
|
|
||||||
// "health-page.heading" : "Health",
|
// "health-page.heading" : "Health",
|
||||||
"health-page.heading" : "Chequeos",
|
"health-page.heading": "Chequeos",
|
||||||
|
|
||||||
// "health-page.info-tab" : "Info",
|
// "health-page.info-tab" : "Info",
|
||||||
"health-page.info-tab" : "Información",
|
"health-page.info-tab": "Información",
|
||||||
|
|
||||||
// "health-page.status-tab" : "Status",
|
// "health-page.status-tab" : "Status",
|
||||||
"health-page.status-tab" : "Estado",
|
"health-page.status-tab": "Estado",
|
||||||
|
|
||||||
// "health-page.error.msg": "The health check service is temporarily unavailable",
|
// "health-page.error.msg": "The health check service is temporarily unavailable",
|
||||||
"health-page.error.msg": "El servicio de comprobación no se encuentra temporalmente disponible",
|
"health-page.error.msg": "El servicio de comprobación no se encuentra temporalmente disponible",
|
||||||
@@ -2798,19 +2799,19 @@
|
|||||||
"info.feedback.email-label": "Su correo electrónico",
|
"info.feedback.email-label": "Su correo electrónico",
|
||||||
|
|
||||||
// "info.feedback.create.success" : "Feedback Sent Successfully!",
|
// "info.feedback.create.success" : "Feedback Sent Successfully!",
|
||||||
"info.feedback.create.success" : "Envío exitoso de sugerencia",
|
"info.feedback.create.success": "Envío exitoso de sugerencia",
|
||||||
|
|
||||||
// "info.feedback.error.email.required" : "A valid email address is required",
|
// "info.feedback.error.email.required" : "A valid email address is required",
|
||||||
"info.feedback.error.email.required" : "se requiere una dirección válida de correo electrónico",
|
"info.feedback.error.email.required": "se requiere una dirección válida de correo electrónico",
|
||||||
|
|
||||||
// "info.feedback.error.message.required" : "A comment is required",
|
// "info.feedback.error.message.required" : "A comment is required",
|
||||||
"info.feedback.error.message.required" : "Se requiere un comentario",
|
"info.feedback.error.message.required": "Se requiere un comentario",
|
||||||
|
|
||||||
// "info.feedback.page-label" : "Page",
|
// "info.feedback.page-label" : "Page",
|
||||||
"info.feedback.page-label" : "Página",
|
"info.feedback.page-label": "Página",
|
||||||
|
|
||||||
// "info.feedback.page_help" : "Tha page related to your feedback",
|
// "info.feedback.page_help" : "Tha page related to your feedback",
|
||||||
"info.feedback.page_help" : "La página relacionada con su sugerencia",
|
"info.feedback.page_help": "La página relacionada con su sugerencia",
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -2847,7 +2848,7 @@
|
|||||||
// "item.bitstreams.upload.bundle.new": "Create bundle",
|
// "item.bitstreams.upload.bundle.new": "Create bundle",
|
||||||
"item.bitstreams.upload.bundle.new": "Crear bloque",
|
"item.bitstreams.upload.bundle.new": "Crear bloque",
|
||||||
|
|
||||||
// "item.bitstreams.upload.bundles.empty": "This item doesn\'t contain any bundles to upload a bitstream to.",
|
// "item.bitstreams.upload.bundles.empty": "This item doesn't contain any bundles to upload a bitstream to.",
|
||||||
"item.bitstreams.upload.bundles.empty": "Este ítem no contiene ningún bloque para cargar un archivo.",
|
"item.bitstreams.upload.bundles.empty": "Este ítem no contiene ningún bloque para cargar un archivo.",
|
||||||
|
|
||||||
// "item.bitstreams.upload.cancel": "Cancel",
|
// "item.bitstreams.upload.cancel": "Cancel",
|
||||||
@@ -3547,10 +3548,10 @@
|
|||||||
"workflow-item.search.result.delete-supervision.modal.confirm": "Borrar",
|
"workflow-item.search.result.delete-supervision.modal.confirm": "Borrar",
|
||||||
|
|
||||||
// "workflow-item.search.result.notification.deleted.success": "Successfully deleted supervision order \"{{name}}\"",
|
// "workflow-item.search.result.notification.deleted.success": "Successfully deleted supervision order \"{{name}}\"",
|
||||||
"workflow-item.search.result.notification.deleted.success": "La orden de supervisión \”{{ name }}”\ ha sido borrada exitosamente",
|
"workflow-item.search.result.notification.deleted.success": "La orden de supervisión \"{{ name }}\" ha sido borrada exitosamente",
|
||||||
|
|
||||||
// "workflow-item.search.result.notification.deleted.failure": "Failed to delete supervision order \"{{name}}\"",
|
// "workflow-item.search.result.notification.deleted.failure": "Failed to delete supervision order \"{{name}}\"",
|
||||||
"workflow-item.search.result.notification.deleted.failure": "Error al borrar la orden de supervisión \”{{ name }}\”",
|
"workflow-item.search.result.notification.deleted.failure": "Error al borrar la orden de supervisión \"{{ name }}\"",
|
||||||
|
|
||||||
// "workflow-item.search.result.list.element.supervised-by": "Supervised by:",
|
// "workflow-item.search.result.list.element.supervised-by": "Supervised by:",
|
||||||
"workflow-item.search.result.list.element.supervised-by": "Supervisado por:",
|
"workflow-item.search.result.list.element.supervised-by": "Supervisado por:",
|
||||||
@@ -3699,25 +3700,25 @@
|
|||||||
"item.preview.dc.type": "Tipo:",
|
"item.preview.dc.type": "Tipo:",
|
||||||
|
|
||||||
// "item.preview.oaire.citation.issue" : "Issue",
|
// "item.preview.oaire.citation.issue" : "Issue",
|
||||||
"item.preview.oaire.citation.issue" : "Número",
|
"item.preview.oaire.citation.issue": "Número",
|
||||||
|
|
||||||
// "item.preview.oaire.citation.volume" : "Volume",
|
// "item.preview.oaire.citation.volume" : "Volume",
|
||||||
"item.preview.oaire.citation.volume" : "Volumen",
|
"item.preview.oaire.citation.volume": "Volumen",
|
||||||
|
|
||||||
// "item.preview.dc.relation.issn" : "ISSN",
|
// "item.preview.dc.relation.issn" : "ISSN",
|
||||||
"item.preview.dc.relation.issn" : "ISSN",
|
"item.preview.dc.relation.issn": "ISSN",
|
||||||
|
|
||||||
// "item.preview.dc.identifier.isbn" : "ISBN",
|
// "item.preview.dc.identifier.isbn" : "ISBN",
|
||||||
"item.preview.dc.identifier.isbn" : "ISBN",
|
"item.preview.dc.identifier.isbn": "ISBN",
|
||||||
|
|
||||||
// "item.preview.dc.identifier": "Identifier:",
|
// "item.preview.dc.identifier": "Identifier:",
|
||||||
"item.preview.dc.identifier": "Identificador:",
|
"item.preview.dc.identifier": "Identificador:",
|
||||||
|
|
||||||
// "item.preview.dc.relation.ispartof" : "Journal or Serie",
|
// "item.preview.dc.relation.ispartof" : "Journal or Serie",
|
||||||
"item.preview.dc.relation.ispartof" : "Revista o Serie",
|
"item.preview.dc.relation.ispartof": "Revista o Serie",
|
||||||
|
|
||||||
// "item.preview.dc.identifier.doi" : "DOI",
|
// "item.preview.dc.identifier.doi" : "DOI",
|
||||||
"item.preview.dc.identifier.doi" : "DOI",
|
"item.preview.dc.identifier.doi": "DOI",
|
||||||
|
|
||||||
// "item.preview.person.familyName": "Surname:",
|
// "item.preview.person.familyName": "Surname:",
|
||||||
"item.preview.person.familyName": "Apellido:",
|
"item.preview.person.familyName": "Apellido:",
|
||||||
@@ -3863,13 +3864,13 @@
|
|||||||
"item.version.create.modal.submitted.text": "Se está creando la nueva versión. Si el ítem tiene muchas relaciones, este proceso podría tardar.",
|
"item.version.create.modal.submitted.text": "Se está creando la nueva versión. Si el ítem tiene muchas relaciones, este proceso podría tardar.",
|
||||||
|
|
||||||
// "item.version.create.notification.success" : "New version has been created with version number {{version}}",
|
// "item.version.create.notification.success" : "New version has been created with version number {{version}}",
|
||||||
"item.version.create.notification.success" : "Se ha creado una nueva versión con número {{version}}",
|
"item.version.create.notification.success": "Se ha creado una nueva versión con número {{version}}",
|
||||||
|
|
||||||
// "item.version.create.notification.failure" : "New version has not been created",
|
// "item.version.create.notification.failure" : "New version has not been created",
|
||||||
"item.version.create.notification.failure" : "No se ha creado una nueva versión",
|
"item.version.create.notification.failure": "No se ha creado una nueva versión",
|
||||||
|
|
||||||
// "item.version.create.notification.inProgress" : "A new version cannot be created because there is an inprogress submission in the version history",
|
// "item.version.create.notification.inProgress" : "A new version cannot be created because there is an inprogress submission in the version history",
|
||||||
"item.version.create.notification.inProgress" : "No es posible crear una nueva versión puesto que existe en el historial de versiones un envío pendiente",
|
"item.version.create.notification.inProgress": "No es posible crear una nueva versión puesto que existe en el historial de versiones un envío pendiente",
|
||||||
|
|
||||||
|
|
||||||
// "item.version.delete.modal.header": "Delete version",
|
// "item.version.delete.modal.header": "Delete version",
|
||||||
@@ -3891,17 +3892,17 @@
|
|||||||
"item.version.delete.modal.button.cancel.tooltip": "No borrar esta versión",
|
"item.version.delete.modal.button.cancel.tooltip": "No borrar esta versión",
|
||||||
|
|
||||||
// "item.version.delete.notification.success" : "Version number {{version}} has been deleted",
|
// "item.version.delete.notification.success" : "Version number {{version}} has been deleted",
|
||||||
"item.version.delete.notification.success" : "Se ha borrado la versión número {{version}}",
|
"item.version.delete.notification.success": "Se ha borrado la versión número {{version}}",
|
||||||
|
|
||||||
// "item.version.delete.notification.failure" : "Version number {{version}} has not been deleted",
|
// "item.version.delete.notification.failure" : "Version number {{version}} has not been deleted",
|
||||||
"item.version.delete.notification.failure" : "No se ha borrado la versión número {{version}}",
|
"item.version.delete.notification.failure": "No se ha borrado la versión número {{version}}",
|
||||||
|
|
||||||
|
|
||||||
// "item.version.edit.notification.success" : "The summary of version number {{version}} has been changed",
|
// "item.version.edit.notification.success" : "The summary of version number {{version}} has been changed",
|
||||||
"item.version.edit.notification.success" : "Ha cambiado el resumen de la versión número {{version}}",
|
"item.version.edit.notification.success": "Ha cambiado el resumen de la versión número {{version}}",
|
||||||
|
|
||||||
// "item.version.edit.notification.failure" : "The summary of version number {{version}} has not been changed",
|
// "item.version.edit.notification.failure" : "The summary of version number {{version}} has not been changed",
|
||||||
"item.version.edit.notification.failure" : "No ha cambiado el resumen de la versión número {{version}}",
|
"item.version.edit.notification.failure": "No ha cambiado el resumen de la versión número {{version}}",
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -3953,8 +3954,8 @@
|
|||||||
// "itemtemplate.edit.metadata.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button",
|
// "itemtemplate.edit.metadata.notifications.discarded.content": "Your changes were discarded. To reinstate your changes click the 'Undo' button",
|
||||||
"itemtemplate.edit.metadata.notifications.discarded.content": "Sus cambios fueron descartados. Para recuperar sus cambios pulse el botón 'Deshacer'",
|
"itemtemplate.edit.metadata.notifications.discarded.content": "Sus cambios fueron descartados. Para recuperar sus cambios pulse el botón 'Deshacer'",
|
||||||
|
|
||||||
// "itemtemplate.edit.metadata.notifications.discarded.title": "Changed discarded",
|
// "itemtemplate.edit.metadata.notifications.discarded.title": "Changes discarded",
|
||||||
"itemtemplate.edit.metadata.notifications.discarded.title": "Cambio descartado",
|
"itemtemplate.edit.metadata.notifications.discarded.title": "Cambios descartados",
|
||||||
|
|
||||||
// "itemtemplate.edit.metadata.notifications.error.title": "An error occurred",
|
// "itemtemplate.edit.metadata.notifications.error.title": "An error occurred",
|
||||||
"itemtemplate.edit.metadata.notifications.error.title": "Ocurrió un error",
|
"itemtemplate.edit.metadata.notifications.error.title": "Ocurrió un error",
|
||||||
@@ -3968,8 +3969,8 @@
|
|||||||
// "itemtemplate.edit.metadata.notifications.outdated.content": "The item template you're currently working on has been changed by another user. Your current changes are discarded to prevent conflicts",
|
// "itemtemplate.edit.metadata.notifications.outdated.content": "The item template you're currently working on has been changed by another user. Your current changes are discarded to prevent conflicts",
|
||||||
"itemtemplate.edit.metadata.notifications.outdated.content": "La plantilla de ítem en la que usted esta trabajando actualmente ha sido cambiada por otro usuario. Sus cambios han sido descartados para evitar conflictos",
|
"itemtemplate.edit.metadata.notifications.outdated.content": "La plantilla de ítem en la que usted esta trabajando actualmente ha sido cambiada por otro usuario. Sus cambios han sido descartados para evitar conflictos",
|
||||||
|
|
||||||
// "itemtemplate.edit.metadata.notifications.outdated.title": "Changed outdated",
|
// "itemtemplate.edit.metadata.notifications.outdated.title": "Changes outdated",
|
||||||
"itemtemplate.edit.metadata.notifications.outdated.title": "Cambiado obsoleto",
|
"itemtemplate.edit.metadata.notifications.outdated.title": "Cambios obsoletos",
|
||||||
|
|
||||||
// "itemtemplate.edit.metadata.notifications.saved.content": "Your changes to this item template's metadata were saved.",
|
// "itemtemplate.edit.metadata.notifications.saved.content": "Your changes to this item template's metadata were saved.",
|
||||||
"itemtemplate.edit.metadata.notifications.saved.content": "Sus cambios a los metadatos de esta plantilla de ítem han sido guardados.",
|
"itemtemplate.edit.metadata.notifications.saved.content": "Sus cambios a los metadatos de esta plantilla de ítem han sido guardados.",
|
||||||
@@ -4637,7 +4638,7 @@
|
|||||||
"nav.stop-impersonating": "Dejar de hacerse pasar por usuario",
|
"nav.stop-impersonating": "Dejar de hacerse pasar por usuario",
|
||||||
|
|
||||||
// "nav.subscriptions" : "Subscriptions",
|
// "nav.subscriptions" : "Subscriptions",
|
||||||
"nav.subscriptions" : "Suscripciones",
|
"nav.subscriptions": "Suscripciones",
|
||||||
|
|
||||||
// "nav.toggle" : "Toggle navigation",
|
// "nav.toggle" : "Toggle navigation",
|
||||||
"nav.toggle": "Alternar navegación",
|
"nav.toggle": "Alternar navegación",
|
||||||
@@ -5211,7 +5212,6 @@
|
|||||||
|
|
||||||
// "register-page.registration.google-recaptcha.must-accept-cookies": "In order to register you must accept the <b>Registration and Password recovery</b> (Google reCaptcha) cookies.",
|
// "register-page.registration.google-recaptcha.must-accept-cookies": "In order to register you must accept the <b>Registration and Password recovery</b> (Google reCaptcha) cookies.",
|
||||||
"register-page.registration.google-recaptcha.must-accept-cookies": "Para registrarse debe aceptar las cookies de <b>Registro y recuperación de contraseña</b> (Google reCaptcha).",
|
"register-page.registration.google-recaptcha.must-accept-cookies": "Para registrarse debe aceptar las cookies de <b>Registro y recuperación de contraseña</b> (Google reCaptcha).",
|
||||||
|
|
||||||
// "register-page.registration.error.maildomain": "This email address is not on the list of domains who can register. Allowed domains are {{ domains }}",
|
// "register-page.registration.error.maildomain": "This email address is not on the list of domains who can register. Allowed domains are {{ domains }}",
|
||||||
"register-page.registration.error.maildomain": "Este correo electrónico no esta en la lista de dominios que pueden registrarse. Los dominios permitidos son {{ domains }}",
|
"register-page.registration.error.maildomain": "Este correo electrónico no esta en la lista de dominios que pueden registrarse. Los dominios permitidos son {{ domains }}",
|
||||||
|
|
||||||
@@ -5226,7 +5226,6 @@
|
|||||||
|
|
||||||
// "register-page.registration.google-recaptcha.notification.message.expired": "Verification expired. Please verify again.",
|
// "register-page.registration.google-recaptcha.notification.message.expired": "Verification expired. Please verify again.",
|
||||||
"register-page.registration.google-recaptcha.notification.message.expired": "Verificación caducada. Verifique de nuevo.",
|
"register-page.registration.google-recaptcha.notification.message.expired": "Verificación caducada. Verifique de nuevo.",
|
||||||
|
|
||||||
// "register-page.registration.info.maildomain": "Accounts can be registered for mail addresses of the domains",
|
// "register-page.registration.info.maildomain": "Accounts can be registered for mail addresses of the domains",
|
||||||
"register-page.registration.info.maildomain": "Las cuentas pueden registrarse para las direcciones de correo de los dominios",
|
"register-page.registration.info.maildomain": "Las cuentas pueden registrarse para las direcciones de correo de los dominios",
|
||||||
|
|
||||||
@@ -5943,6 +5942,8 @@
|
|||||||
// "statistics.table.header.views": "Views",
|
// "statistics.table.header.views": "Views",
|
||||||
"statistics.table.header.views": "Visitas",
|
"statistics.table.header.views": "Visitas",
|
||||||
|
|
||||||
|
// "statistics.table.no-name": "(object name could not be loaded)",
|
||||||
|
"statistics.table.no-name": "(el nombre del objeto no pudo ser cargado)",
|
||||||
|
|
||||||
|
|
||||||
// "submission.edit.breadcrumbs": "Edit Submission",
|
// "submission.edit.breadcrumbs": "Edit Submission",
|
||||||
@@ -6531,7 +6532,7 @@
|
|||||||
// "submission.sections.describe.relationship-lookup.selection-tab.title": "Search Results",
|
// "submission.sections.describe.relationship-lookup.selection-tab.title": "Search Results",
|
||||||
"submission.sections.describe.relationship-lookup.selection-tab.title": "Resultados de la búsqueda",
|
"submission.sections.describe.relationship-lookup.selection-tab.title": "Resultados de la búsqueda",
|
||||||
|
|
||||||
// "submission.sections.describe.relationship-lookup.name-variant.notification.content": "Would you like to save \"{{ value }}\" as a name variant for this person so you and others can reuse it for future submissions? If you don\'t you can still use it for this submission.",
|
// "submission.sections.describe.relationship-lookup.name-variant.notification.content": "Would you like to save \"{{ value }}\" as a name variant for this person so you and others can reuse it for future submissions? If you don't you can still use it for this submission.",
|
||||||
"submission.sections.describe.relationship-lookup.name-variant.notification.content": "¿Le gustaría guardar \"{{ value }}\" como una variante de nombre para esta persona para que usted y otros puedan reutilizarlo para envíos futuros? Si no lo hace, aún puede usarlo para este envío.",
|
"submission.sections.describe.relationship-lookup.name-variant.notification.content": "¿Le gustaría guardar \"{{ value }}\" como una variante de nombre para esta persona para que usted y otros puedan reutilizarlo para envíos futuros? Si no lo hace, aún puede usarlo para este envío.",
|
||||||
|
|
||||||
// "submission.sections.describe.relationship-lookup.name-variant.notification.confirm": "Save a new name variant",
|
// "submission.sections.describe.relationship-lookup.name-variant.notification.confirm": "Save a new name variant",
|
||||||
@@ -6842,7 +6843,7 @@
|
|||||||
"submission.sections.license.required": "Debe aceptar la licencia",
|
"submission.sections.license.required": "Debe aceptar la licencia",
|
||||||
|
|
||||||
// "submission.sections.license.notgranted": "You must accept the license",
|
// "submission.sections.license.notgranted": "You must accept the license",
|
||||||
"submission.sections.license.notgranted": "Debe aceptar la licencia",
|
"submission.sections.license.notgranted": "Debe aceptar la licencia",
|
||||||
|
|
||||||
|
|
||||||
// "submission.sections.sherpa.publication.information": "Publication information",
|
// "submission.sections.sherpa.publication.information": "Publication information",
|
||||||
@@ -6936,8 +6937,8 @@
|
|||||||
// "submission.workflow.generic.delete": "Delete",
|
// "submission.workflow.generic.delete": "Delete",
|
||||||
"submission.workflow.generic.delete": "Eliminar",
|
"submission.workflow.generic.delete": "Eliminar",
|
||||||
|
|
||||||
// "submission.workflow.generic.delete-help": "If you would to discard this item, select \"Delete\". You will then be asked to confirm it.",
|
// "submission.workflow.generic.delete-help": "Select this option to discard this item. You will then be asked to confirm it.",
|
||||||
"submission.workflow.generic.delete-help": "Si desea descartar este ítem, seleccione \"Eliminar\". Luego se le pedirá que lo confirme.",
|
"submission.workflow.generic.delete-help": "Seleccione esta opción para descartar este ítem. A contunuación se le pedirá confirmación.",
|
||||||
|
|
||||||
// "submission.workflow.generic.edit": "Edit",
|
// "submission.workflow.generic.edit": "Edit",
|
||||||
"submission.workflow.generic.edit": "Editar",
|
"submission.workflow.generic.edit": "Editar",
|
||||||
@@ -7084,12 +7085,12 @@
|
|||||||
"subscriptions.modal.close": "Cerrar",
|
"subscriptions.modal.close": "Cerrar",
|
||||||
|
|
||||||
// "subscriptions.modal.delete-info": "To remove this subscription, please visit the \"Subscriptions\" page under your user profile",
|
// "subscriptions.modal.delete-info": "To remove this subscription, please visit the \"Subscriptions\" page under your user profile",
|
||||||
"subscriptions.modal.delete-info": "Para eliminar esta suscripción, por favor visite la página \”Suscripciones”\ en su perfil de usuario",
|
"subscriptions.modal.delete-info": "Para eliminar esta suscripción, por favor visite la página \"Suscripciones\" en su perfil de usuario",
|
||||||
|
|
||||||
// "subscriptions.modal.new-subscription-form.type.content": "Content",
|
// "subscriptions.modal.new-subscription-form.type.content": "Content",
|
||||||
"subscriptions.modal.new-subscription-form.type.content": "Contenido",
|
"subscriptions.modal.new-subscription-form.type.content": "Contenido",
|
||||||
|
|
||||||
// "subscriptions.modal.new-subscription-form.frequency.D": "Diario",
|
// "subscriptions.modal.new-subscription-form.frequency.D": "Daily",
|
||||||
"subscriptions.modal.new-subscription-form.frequency.D": "Diario",
|
"subscriptions.modal.new-subscription-form.frequency.D": "Diario",
|
||||||
|
|
||||||
// "subscriptions.modal.new-subscription-form.frequency.W": "Weekly",
|
// "subscriptions.modal.new-subscription-form.frequency.W": "Weekly",
|
||||||
@@ -7345,8 +7346,8 @@
|
|||||||
"workflow-item.selectrevieweraction.button.confirm": "Confirmar",
|
"workflow-item.selectrevieweraction.button.confirm": "Confirmar",
|
||||||
|
|
||||||
|
|
||||||
// "workflow-item.scorereviewaction.notification.success.title": "Revisar evaluación",
|
// "workflow-item.scorereviewaction.notification.success.title": "Rating review",
|
||||||
"workflow-item.scorereviewaction.notification.success.title": "Revisar evaluación",
|
"workflow-item.scorereviewaction.notification.success.title": "Revisión de evaluación",
|
||||||
|
|
||||||
// "workflow-item.scorereviewaction.notification.success.content": "The rating for this item workflow item has been successfully submitted",
|
// "workflow-item.scorereviewaction.notification.success.content": "The rating for this item workflow item has been successfully submitted",
|
||||||
"workflow-item.scorereviewaction.notification.success.content": "La evaluación para este ítem ha sido enviada exitosamente",
|
"workflow-item.scorereviewaction.notification.success.content": "La evaluación para este ítem ha sido enviada exitosamente",
|
||||||
@@ -7382,7 +7383,7 @@
|
|||||||
"idle-modal.extend-session": "Prolongar la sesión",
|
"idle-modal.extend-session": "Prolongar la sesión",
|
||||||
|
|
||||||
// "researcher.profile.action.processing" : "Processing...",
|
// "researcher.profile.action.processing" : "Processing...",
|
||||||
"researcher.profile.action.processing" : "Procesando...",
|
"researcher.profile.action.processing": "Procesando...",
|
||||||
|
|
||||||
// "researcher.profile.associated": "Researcher profile associated",
|
// "researcher.profile.associated": "Researcher profile associated",
|
||||||
"researcher.profile.associated": "Perfil asociado de investigador",
|
"researcher.profile.associated": "Perfil asociado de investigador",
|
||||||
@@ -7415,10 +7416,10 @@
|
|||||||
"researcher.profile.view": "Ver",
|
"researcher.profile.view": "Ver",
|
||||||
|
|
||||||
// "researcher.profile.private.visibility" : "PRIVATE",
|
// "researcher.profile.private.visibility" : "PRIVATE",
|
||||||
"researcher.profile.private.visibility" : "PRIVADO",
|
"researcher.profile.private.visibility": "PRIVADO",
|
||||||
|
|
||||||
// "researcher.profile.public.visibility" : "PUBLIC",
|
// "researcher.profile.public.visibility" : "PUBLIC",
|
||||||
"researcher.profile.public.visibility" : "PÚBLICO",
|
"researcher.profile.public.visibility": "PÚBLICO",
|
||||||
|
|
||||||
// "researcher.profile.status": "Status:",
|
// "researcher.profile.status": "Status:",
|
||||||
"researcher.profile.status": "Estado:",
|
"researcher.profile.status": "Estado:",
|
||||||
@@ -7427,16 +7428,16 @@
|
|||||||
"researcherprofile.claim.not-authorized": "No está autorizado pare reclamar este ítem. Contacte con el administrador para mas detalles.",
|
"researcherprofile.claim.not-authorized": "No está autorizado pare reclamar este ítem. Contacte con el administrador para mas detalles.",
|
||||||
|
|
||||||
// "researcherprofile.error.claim.body" : "An error occurred while claiming the profile, please try again later",
|
// "researcherprofile.error.claim.body" : "An error occurred while claiming the profile, please try again later",
|
||||||
"researcherprofile.error.claim.body" : "Hubo un error reclamando el perfil, por favor, inténtelo mas tarde",
|
"researcherprofile.error.claim.body": "Hubo un error reclamando el perfil, por favor, inténtelo mas tarde",
|
||||||
|
|
||||||
// "researcherprofile.error.claim.title" : "Error",
|
// "researcherprofile.error.claim.title" : "Error",
|
||||||
"researcherprofile.error.claim.title" : "Error",
|
"researcherprofile.error.claim.title": "Error",
|
||||||
|
|
||||||
// "researcherprofile.success.claim.body" : "Profile claimed with success",
|
// "researcherprofile.success.claim.body" : "Profile claimed with success",
|
||||||
"researcherprofile.success.claim.body" : "Perfil reclamado con éxito",
|
"researcherprofile.success.claim.body": "Perfil reclamado con éxito",
|
||||||
|
|
||||||
// "researcherprofile.success.claim.title" : "Success",
|
// "researcherprofile.success.claim.title" : "Success",
|
||||||
"researcherprofile.success.claim.title" : "Éxito",
|
"researcherprofile.success.claim.title": "Éxito",
|
||||||
|
|
||||||
// "person.page.orcid.create": "Create an ORCID ID",
|
// "person.page.orcid.create": "Create an ORCID ID",
|
||||||
"person.page.orcid.create": "Crear un ORCID ID",
|
"person.page.orcid.create": "Crear un ORCID ID",
|
||||||
@@ -7445,7 +7446,7 @@
|
|||||||
"person.page.orcid.granted-authorizations": "Autorizaciones concedidas",
|
"person.page.orcid.granted-authorizations": "Autorizaciones concedidas",
|
||||||
|
|
||||||
// "person.page.orcid.grant-authorizations" : "Grant authorizations",
|
// "person.page.orcid.grant-authorizations" : "Grant authorizations",
|
||||||
"person.page.orcid.grant-authorizations" : "Conceder autorizaciones",
|
"person.page.orcid.grant-authorizations": "Conceder autorizaciones",
|
||||||
|
|
||||||
// "person.page.orcid.link": "Connect to ORCID ID",
|
// "person.page.orcid.link": "Connect to ORCID ID",
|
||||||
"person.page.orcid.link": "Conectar con ORCID ID",
|
"person.page.orcid.link": "Conectar con ORCID ID",
|
||||||
@@ -7493,43 +7494,43 @@
|
|||||||
"person.page.orcid.save.preference.changes": "Actualizar configuración",
|
"person.page.orcid.save.preference.changes": "Actualizar configuración",
|
||||||
|
|
||||||
// "person.page.orcid.sync-profile.affiliation" : "Affiliation",
|
// "person.page.orcid.sync-profile.affiliation" : "Affiliation",
|
||||||
"person.page.orcid.sync-profile.affiliation" : "Afiliación",
|
"person.page.orcid.sync-profile.affiliation": "Afiliación",
|
||||||
|
|
||||||
// "person.page.orcid.sync-profile.biographical" : "Biographical data",
|
// "person.page.orcid.sync-profile.biographical" : "Biographical data",
|
||||||
"person.page.orcid.sync-profile.biographical" : "Biografía",
|
"person.page.orcid.sync-profile.biographical": "Biografía",
|
||||||
|
|
||||||
// "person.page.orcid.sync-profile.education" : "Education",
|
// "person.page.orcid.sync-profile.education" : "Education",
|
||||||
"person.page.orcid.sync-profile.education" : "Grados",
|
"person.page.orcid.sync-profile.education": "Grados",
|
||||||
|
|
||||||
// "person.page.orcid.sync-profile.identifiers" : "Identifiers",
|
// "person.page.orcid.sync-profile.identifiers" : "Identifiers",
|
||||||
"person.page.orcid.sync-profile.identifiers" : "Identificadores",
|
"person.page.orcid.sync-profile.identifiers": "Identificadores",
|
||||||
|
|
||||||
// "person.page.orcid.sync-fundings.all" : "All fundings",
|
// "person.page.orcid.sync-fundings.all" : "All fundings",
|
||||||
"person.page.orcid.sync-fundings.all" : "Todas las financiaciones",
|
"person.page.orcid.sync-fundings.all": "Todas las financiaciones",
|
||||||
|
|
||||||
// "person.page.orcid.sync-fundings.mine" : "My fundings",
|
// "person.page.orcid.sync-fundings.mine" : "My fundings",
|
||||||
"person.page.orcid.sync-fundings.mine" : "Mi financiación",
|
"person.page.orcid.sync-fundings.mine": "Mi financiación",
|
||||||
|
|
||||||
// "person.page.orcid.sync-fundings.my_selected" : "Selected fundings",
|
// "person.page.orcid.sync-fundings.my_selected" : "Selected fundings",
|
||||||
"person.page.orcid.sync-fundings.my_selected" : "Financiaciones seleccionadas",
|
"person.page.orcid.sync-fundings.my_selected": "Financiaciones seleccionadas",
|
||||||
|
|
||||||
// "person.page.orcid.sync-fundings.disabled" : "Disabled",
|
// "person.page.orcid.sync-fundings.disabled" : "Disabled",
|
||||||
"person.page.orcid.sync-fundings.disabled" : "Deshabilitado",
|
"person.page.orcid.sync-fundings.disabled": "Deshabilitado",
|
||||||
|
|
||||||
// "person.page.orcid.sync-publications.all" : "All publications",
|
// "person.page.orcid.sync-publications.all" : "All publications",
|
||||||
"person.page.orcid.sync-publications.all" : "Todas las publicaciones",
|
"person.page.orcid.sync-publications.all": "Todas las publicaciones",
|
||||||
|
|
||||||
// "person.page.orcid.sync-publications.mine" : "My publications",
|
// "person.page.orcid.sync-publications.mine" : "My publications",
|
||||||
"person.page.orcid.sync-publications.mine" : "Mis publicaciones",
|
"person.page.orcid.sync-publications.mine": "Mis publicaciones",
|
||||||
|
|
||||||
// "person.page.orcid.sync-publications.my_selected" : "Selected publications",
|
// "person.page.orcid.sync-publications.my_selected" : "Selected publications",
|
||||||
"person.page.orcid.sync-publications.my_selected" : "Publicaciones seleccionadas",
|
"person.page.orcid.sync-publications.my_selected": "Publicaciones seleccionadas",
|
||||||
|
|
||||||
// "person.page.orcid.sync-publications.disabled" : "Disabled",
|
// "person.page.orcid.sync-publications.disabled" : "Disabled",
|
||||||
"person.page.orcid.sync-publications.disabled" : "Deshabilitado",
|
"person.page.orcid.sync-publications.disabled": "Deshabilitado",
|
||||||
|
|
||||||
// "person.page.orcid.sync-queue.discard" : "Discard the change and do not synchronize with the ORCID registry",
|
// "person.page.orcid.sync-queue.discard" : "Discard the change and do not synchronize with the ORCID registry",
|
||||||
"person.page.orcid.sync-queue.discard" : "Deshechar el cambio y no sincronizar con ORCID",
|
"person.page.orcid.sync-queue.discard": "Deshechar el cambio y no sincronizar con ORCID",
|
||||||
|
|
||||||
// "person.page.orcid.sync-queue.discard.error": "The discarding of the ORCID queue record failed",
|
// "person.page.orcid.sync-queue.discard.error": "The discarding of the ORCID queue record failed",
|
||||||
"person.page.orcid.sync-queue.discard.error": "Falló el borrado del registro ORCID en la cola",
|
"person.page.orcid.sync-queue.discard.error": "Falló el borrado del registro ORCID en la cola",
|
||||||
@@ -7541,13 +7542,13 @@
|
|||||||
"person.page.orcid.sync-queue.empty-message": "La cola del registro de ORCID está vacía",
|
"person.page.orcid.sync-queue.empty-message": "La cola del registro de ORCID está vacía",
|
||||||
|
|
||||||
// "person.page.orcid.sync-queue.table.header.type" : "Type",
|
// "person.page.orcid.sync-queue.table.header.type" : "Type",
|
||||||
"person.page.orcid.sync-queue.table.header.type" : "Tipo",
|
"person.page.orcid.sync-queue.table.header.type": "Tipo",
|
||||||
|
|
||||||
// "person.page.orcid.sync-queue.table.header.description" : "Description",
|
// "person.page.orcid.sync-queue.table.header.description" : "Description",
|
||||||
"person.page.orcid.sync-queue.table.header.description" : "Descripción",
|
"person.page.orcid.sync-queue.table.header.description": "Descripción",
|
||||||
|
|
||||||
// "person.page.orcid.sync-queue.table.header.action" : "Action",
|
// "person.page.orcid.sync-queue.table.header.action" : "Action",
|
||||||
"person.page.orcid.sync-queue.table.header.action" : "Acción",
|
"person.page.orcid.sync-queue.table.header.action": "Acción",
|
||||||
|
|
||||||
// "person.page.orcid.sync-queue.description.affiliation": "Affiliations",
|
// "person.page.orcid.sync-queue.description.affiliation": "Affiliations",
|
||||||
"person.page.orcid.sync-queue.description.affiliation": "Affiliaciones",
|
"person.page.orcid.sync-queue.description.affiliation": "Affiliaciones",
|
||||||
@@ -7613,7 +7614,7 @@
|
|||||||
"person.page.orcid.sync-queue.tooltip.researcher_urls": "URL del investigador",
|
"person.page.orcid.sync-queue.tooltip.researcher_urls": "URL del investigador",
|
||||||
|
|
||||||
// "person.page.orcid.sync-queue.send" : "Synchronize with ORCID registry",
|
// "person.page.orcid.sync-queue.send" : "Synchronize with ORCID registry",
|
||||||
"person.page.orcid.sync-queue.send" : "Sincronizar con el registro ORCID",
|
"person.page.orcid.sync-queue.send": "Sincronizar con el registro ORCID",
|
||||||
|
|
||||||
// "person.page.orcid.sync-queue.send.unauthorized-error.title": "The submission to ORCID failed for missing authorizations.",
|
// "person.page.orcid.sync-queue.send.unauthorized-error.title": "The submission to ORCID failed for missing authorizations.",
|
||||||
"person.page.orcid.sync-queue.send.unauthorized-error.title": "Falló el envío a ORCID debdo a autorización insuficiente.",
|
"person.page.orcid.sync-queue.send.unauthorized-error.title": "Falló el envío a ORCID debdo a autorización insuficiente.",
|
||||||
@@ -7667,7 +7668,7 @@
|
|||||||
"person.page.orcid.sync-queue.send.validation-error.organization.name-required": "Se requiere el nombre de la organización",
|
"person.page.orcid.sync-queue.send.validation-error.organization.name-required": "Se requiere el nombre de la organización",
|
||||||
|
|
||||||
// "person.page.orcid.sync-queue.send.validation-error.publication.date-invalid" : "The publication date must be one year after 1900",
|
// "person.page.orcid.sync-queue.send.validation-error.publication.date-invalid" : "The publication date must be one year after 1900",
|
||||||
"person.page.orcid.sync-queue.send.validation-error.publication.date-invalid" : "la fecha de la publicación debe ser posterior a 1900",
|
"person.page.orcid.sync-queue.send.validation-error.publication.date-invalid": "la fecha de la publicación debe ser posterior a 1900",
|
||||||
|
|
||||||
// "person.page.orcid.sync-queue.send.validation-error.organization.address-required": "The organization to be sent requires an address",
|
// "person.page.orcid.sync-queue.send.validation-error.organization.address-required": "The organization to be sent requires an address",
|
||||||
"person.page.orcid.sync-queue.send.validation-error.organization.address-required": "Se requiere la dirección de la organización",
|
"person.page.orcid.sync-queue.send.validation-error.organization.address-required": "Se requiere la dirección de la organización",
|
||||||
|
@@ -158,7 +158,7 @@
|
|||||||
"admin.registries.bitstream-formats.table.name": "Nimi",
|
"admin.registries.bitstream-formats.table.name": "Nimi",
|
||||||
|
|
||||||
// "admin.registries.bitstream-formats.table.id" : "ID",
|
// "admin.registries.bitstream-formats.table.id" : "ID",
|
||||||
"admin.registries.bitstream-formats.table.id" : "ID",
|
"admin.registries.bitstream-formats.table.id": "ID",
|
||||||
|
|
||||||
// "admin.registries.bitstream-formats.table.return": "Return",
|
// "admin.registries.bitstream-formats.table.return": "Return",
|
||||||
"admin.registries.bitstream-formats.table.return": "Palaa",
|
"admin.registries.bitstream-formats.table.return": "Palaa",
|
||||||
@@ -239,8 +239,8 @@
|
|||||||
// "admin.registries.schema.fields.table.field": "Field",
|
// "admin.registries.schema.fields.table.field": "Field",
|
||||||
"admin.registries.schema.fields.table.field": "Kenttä",
|
"admin.registries.schema.fields.table.field": "Kenttä",
|
||||||
|
|
||||||
// "admin.registries.schema.fields.table.id" : "ID",
|
// "admin.registries.schema.fields.table.id": "ID",
|
||||||
"admin.registries.schema.fields.table.id" : "ID",
|
"admin.registries.schema.fields.table.id": "ID",
|
||||||
|
|
||||||
// "admin.registries.schema.fields.table.scopenote": "Scope Note",
|
// "admin.registries.schema.fields.table.scopenote": "Scope Note",
|
||||||
"admin.registries.schema.fields.table.scopenote": "Soveltamisala",
|
"admin.registries.schema.fields.table.scopenote": "Soveltamisala",
|
||||||
@@ -1562,7 +1562,7 @@
|
|||||||
|
|
||||||
|
|
||||||
// "curation-task.task.checklinks.label": "Check Links in Metadata",
|
// "curation-task.task.checklinks.label": "Check Links in Metadata",
|
||||||
"curation-task.task.checklinks.label": "Tarkista metadatan linkit",
|
"curation-task.task.checklinks.label": "Tarkista metadatan linkit",
|
||||||
|
|
||||||
// "curation-task.task.noop.label": "NOOP",
|
// "curation-task.task.noop.label": "NOOP",
|
||||||
"curation-task.task.noop.label": "Ei toimintaa",
|
"curation-task.task.noop.label": "Ei toimintaa",
|
||||||
@@ -1756,7 +1756,7 @@
|
|||||||
"footer.link.privacy-policy": "Yksilönsuoja",
|
"footer.link.privacy-policy": "Yksilönsuoja",
|
||||||
|
|
||||||
// "footer.link.end-user-agreement":"End User Agreement",
|
// "footer.link.end-user-agreement":"End User Agreement",
|
||||||
"footer.link.end-user-agreement":"Käyttöehdot",
|
"footer.link.end-user-agreement": "Käyttöehdot",
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -2006,7 +2006,7 @@
|
|||||||
// "item.bitstreams.upload.bundle.new": "Create bundle",
|
// "item.bitstreams.upload.bundle.new": "Create bundle",
|
||||||
"item.bitstreams.upload.bundle.new": "Luo nippu",
|
"item.bitstreams.upload.bundle.new": "Luo nippu",
|
||||||
|
|
||||||
// "item.bitstreams.upload.bundles.empty": "This item doesn\'t contain any bundles to upload a bitstream to.",
|
// "item.bitstreams.upload.bundles.empty": "This item doesn't contain any bundles to upload a bitstream to.",
|
||||||
"item.bitstreams.upload.bundles.empty": "Tällä tietueella ei ole nippua, johon tiedoston voisi ladata.",
|
"item.bitstreams.upload.bundles.empty": "Tällä tietueella ei ole nippua, johon tiedoston voisi ladata.",
|
||||||
|
|
||||||
// "item.bitstreams.upload.cancel": "Cancel",
|
// "item.bitstreams.upload.cancel": "Cancel",
|
||||||
@@ -2566,9 +2566,6 @@
|
|||||||
// "item.page.description": "Description",
|
// "item.page.description": "Description",
|
||||||
"item.page.description": "Kuvaus",
|
"item.page.description": "Kuvaus",
|
||||||
|
|
||||||
// "item.page.edit": "Edit this item",
|
|
||||||
"item.page.edit": "Muokkaa tietuetta",
|
|
||||||
|
|
||||||
// "item.page.journal-issn": "Journal ISSN",
|
// "item.page.journal-issn": "Journal ISSN",
|
||||||
"item.page.journal-issn": "Kausijulkaisun ISSN",
|
"item.page.journal-issn": "Kausijulkaisun ISSN",
|
||||||
|
|
||||||
@@ -2671,10 +2668,10 @@
|
|||||||
"item.page.bitstreams.collapse": "Sulje",
|
"item.page.bitstreams.collapse": "Sulje",
|
||||||
|
|
||||||
// "item.page.filesection.original.bundle" : "Original bundle",
|
// "item.page.filesection.original.bundle" : "Original bundle",
|
||||||
"item.page.filesection.original.bundle" : "Alkuperäinen nippu",
|
"item.page.filesection.original.bundle": "Alkuperäinen nippu",
|
||||||
|
|
||||||
// "item.page.filesection.license.bundle" : "License bundle",
|
// "item.page.filesection.license.bundle" : "License bundle",
|
||||||
"item.page.filesection.license.bundle" : "Lisenssinippu",
|
"item.page.filesection.license.bundle": "Lisenssinippu",
|
||||||
|
|
||||||
// "item.preview.dc.identifier.uri": "Identifier:",
|
// "item.preview.dc.identifier.uri": "Identifier:",
|
||||||
"item.preview.dc.identifier.uri": "Tunnus:",
|
"item.preview.dc.identifier.uri": "Tunnus:",
|
||||||
@@ -3286,7 +3283,7 @@
|
|||||||
"mydspace.upload.upload-failed": "Virhe uutta työtilaa luotaessa. Tarkista ladattava sisältö ennen kuin yrität uudelleen.",
|
"mydspace.upload.upload-failed": "Virhe uutta työtilaa luotaessa. Tarkista ladattava sisältö ennen kuin yrität uudelleen.",
|
||||||
|
|
||||||
// "mydspace.upload.upload-failed-manyentries": "Unprocessable file. Detected too many entries but allowed only one for file.",
|
// "mydspace.upload.upload-failed-manyentries": "Unprocessable file. Detected too many entries but allowed only one for file.",
|
||||||
"mydspace.upload.upload-failed-manyentries": "Tiedostoa ei voida käsitellä. Vain yksi kohde on sallittu, mutta niitä on useita.",
|
"mydspace.upload.upload-failed-manyentries": "Tiedostoa ei voida käsitellä. Vain yksi kohde on sallittu, mutta niitä on useita.",
|
||||||
|
|
||||||
// "mydspace.upload.upload-failed-moreonefile": "Unprocessable request. Only one file is allowed.",
|
// "mydspace.upload.upload-failed-moreonefile": "Unprocessable request. Only one file is allowed.",
|
||||||
"mydspace.upload.upload-failed-moreonefile": "Pyyntöä ei voida käsitellä. Vain yksi tiedosto sallittu.",
|
"mydspace.upload.upload-failed-moreonefile": "Pyyntöä ei voida käsitellä. Vain yksi tiedosto sallittu.",
|
||||||
@@ -3478,16 +3475,16 @@
|
|||||||
|
|
||||||
|
|
||||||
// "process.detail.arguments" : "Arguments",
|
// "process.detail.arguments" : "Arguments",
|
||||||
"process.detail.arguments" : "Muuttujat",
|
"process.detail.arguments": "Muuttujat",
|
||||||
|
|
||||||
// "process.detail.arguments.empty" : "This process doesn't contain any arguments",
|
// "process.detail.arguments.empty" : "This process doesn't contain any arguments",
|
||||||
"process.detail.arguments.empty" : "Prosessiin ei liity muuttujia",
|
"process.detail.arguments.empty": "Prosessiin ei liity muuttujia",
|
||||||
|
|
||||||
// "process.detail.back" : "Back",
|
// "process.detail.back" : "Back",
|
||||||
"process.detail.back" : "Paluu",
|
"process.detail.back": "Paluu",
|
||||||
|
|
||||||
// "process.detail.output" : "Process Output",
|
// "process.detail.output" : "Process Output",
|
||||||
"process.detail.output" : "Prosessin tulos",
|
"process.detail.output": "Prosessin tulos",
|
||||||
|
|
||||||
// "process.detail.logs.button": "Retrieve process output",
|
// "process.detail.logs.button": "Retrieve process output",
|
||||||
"process.detail.logs.button": "Nouda prosessin tulos",
|
"process.detail.logs.button": "Nouda prosessin tulos",
|
||||||
@@ -3499,48 +3496,48 @@
|
|||||||
"process.detail.logs.none": "Prosessilla ei tulosta",
|
"process.detail.logs.none": "Prosessilla ei tulosta",
|
||||||
|
|
||||||
// "process.detail.output-files" : "Output Files",
|
// "process.detail.output-files" : "Output Files",
|
||||||
"process.detail.output-files" : "Tulostiedostot",
|
"process.detail.output-files": "Tulostiedostot",
|
||||||
|
|
||||||
// "process.detail.output-files.empty" : "This process doesn't contain any output files",
|
// "process.detail.output-files.empty" : "This process doesn't contain any output files",
|
||||||
"process.detail.output-files.empty" : "Prosessilla ei ole tulostiedostoja",
|
"process.detail.output-files.empty": "Prosessilla ei ole tulostiedostoja",
|
||||||
|
|
||||||
// "process.detail.script" : "Script",
|
// "process.detail.script" : "Script",
|
||||||
"process.detail.script" : "Skripti",
|
"process.detail.script": "Skripti",
|
||||||
|
|
||||||
// "process.detail.title" : "Process: {{ id }} - {{ name }}",
|
// "process.detail.title" : "Process: {{ id }} - {{ name }}",
|
||||||
"process.detail.title" : "Prosessi: {{ id }} - {{ name }}",
|
"process.detail.title": "Prosessi: {{ id }} - {{ name }}",
|
||||||
|
|
||||||
// "process.detail.start-time" : "Start time",
|
// "process.detail.start-time" : "Start time",
|
||||||
"process.detail.start-time" : "Aloitusaika",
|
"process.detail.start-time": "Aloitusaika",
|
||||||
|
|
||||||
// "process.detail.end-time" : "Finish time",
|
// "process.detail.end-time" : "Finish time",
|
||||||
"process.detail.end-time" : "Lopetusaika",
|
"process.detail.end-time": "Lopetusaika",
|
||||||
|
|
||||||
// "process.detail.status" : "Status",
|
// "process.detail.status" : "Status",
|
||||||
"process.detail.status" : "Tila",
|
"process.detail.status": "Tila",
|
||||||
|
|
||||||
// "process.detail.create" : "Create similar process",
|
// "process.detail.create" : "Create similar process",
|
||||||
"process.detail.create" : "Luo vastaava prosessi",
|
"process.detail.create": "Luo vastaava prosessi",
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// "process.overview.table.finish" : "Finish time",
|
// "process.overview.table.finish" : "Finish time",
|
||||||
"process.overview.table.finish" : "Lopetusaika",
|
"process.overview.table.finish": "Lopetusaika",
|
||||||
|
|
||||||
// "process.overview.table.id" : "Process ID",
|
// "process.overview.table.id" : "Process ID",
|
||||||
"process.overview.table.id" : "Prosessin ID",
|
"process.overview.table.id": "Prosessin ID",
|
||||||
|
|
||||||
// "process.overview.table.name" : "Name",
|
// "process.overview.table.name" : "Name",
|
||||||
"process.overview.table.name" : "Nimi",
|
"process.overview.table.name": "Nimi",
|
||||||
|
|
||||||
// "process.overview.table.start" : "Start time",
|
// "process.overview.table.start" : "Start time",
|
||||||
"process.overview.table.start" : "Aloitusaika",
|
"process.overview.table.start": "Aloitusaika",
|
||||||
|
|
||||||
// "process.overview.table.status" : "Status",
|
// "process.overview.table.status" : "Status",
|
||||||
"process.overview.table.status" : "Tila",
|
"process.overview.table.status": "Tila",
|
||||||
|
|
||||||
// "process.overview.table.user" : "User",
|
// "process.overview.table.user" : "User",
|
||||||
"process.overview.table.user" : "Käyttäjä",
|
"process.overview.table.user": "Käyttäjä",
|
||||||
|
|
||||||
// "process.overview.title": "Processes Overview",
|
// "process.overview.title": "Processes Overview",
|
||||||
"process.overview.title": "Prosessien yleiskatsaukset",
|
"process.overview.title": "Prosessien yleiskatsaukset",
|
||||||
@@ -4768,7 +4765,7 @@
|
|||||||
// "submission.sections.describe.relationship-lookup.selection-tab.title.arxiv": "Search Results",
|
// "submission.sections.describe.relationship-lookup.selection-tab.title.arxiv": "Search Results",
|
||||||
"submission.sections.describe.relationship-lookup.selection-tab.title.arxiv": "Hakutulokset",
|
"submission.sections.describe.relationship-lookup.selection-tab.title.arxiv": "Hakutulokset",
|
||||||
|
|
||||||
// "submission.sections.describe.relationship-lookup.name-variant.notification.content": "Would you like to save \"{{ value }}\" as a name variant for this person so you and others can reuse it for future submissions? If you don\'t you can still use it for this submission.",
|
// "submission.sections.describe.relationship-lookup.name-variant.notification.content": "Would you like to save \"{{ value }}\" as a name variant for this person so you and others can reuse it for future submissions? If you don't you can still use it for this submission.",
|
||||||
"submission.sections.describe.relationship-lookup.name-variant.notification.content": "Haluatko tallentaa nimen \"{{ value }}\" käyttäjän vaihtoehtoiseksi nimeksi, jota muutkin voivat käyttää uudelleen myös tulevissa tallennuksissa? Ellet tallenna nimeä, voit silti käyttää sitä tässä tallennuksessa.",
|
"submission.sections.describe.relationship-lookup.name-variant.notification.content": "Haluatko tallentaa nimen \"{{ value }}\" käyttäjän vaihtoehtoiseksi nimeksi, jota muutkin voivat käyttää uudelleen myös tulevissa tallennuksissa? Ellet tallenna nimeä, voit silti käyttää sitä tässä tallennuksessa.",
|
||||||
|
|
||||||
// "submission.sections.describe.relationship-lookup.name-variant.notification.confirm": "Save a new name variant",
|
// "submission.sections.describe.relationship-lookup.name-variant.notification.confirm": "Save a new name variant",
|
||||||
@@ -5136,7 +5133,7 @@
|
|||||||
"workflow-item.send-back.button.cancel": "Peruuta",
|
"workflow-item.send-back.button.cancel": "Peruuta",
|
||||||
|
|
||||||
// "workflow-item.send-back.button.confirm": "Send back"
|
// "workflow-item.send-back.button.confirm": "Send back"
|
||||||
"workflow-item.send-back.button.confirm": "Lähetä takaisin"
|
"workflow-item.send-back.button.confirm": "Lähetä takaisin",
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -177,7 +177,7 @@
|
|||||||
// "admin.registries.bitstream-formats.table.name": "Name",
|
// "admin.registries.bitstream-formats.table.name": "Name",
|
||||||
"admin.registries.bitstream-formats.table.name": "Nom",
|
"admin.registries.bitstream-formats.table.name": "Nom",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"admin.registries.bitstream-formats.table.id" : "ID",
|
"admin.registries.bitstream-formats.table.id": "ID",
|
||||||
|
|
||||||
// "admin.registries.bitstream-formats.table.return": "Back",
|
// "admin.registries.bitstream-formats.table.return": "Back",
|
||||||
"admin.registries.bitstream-formats.table.return": "Retour",
|
"admin.registries.bitstream-formats.table.return": "Retour",
|
||||||
@@ -254,7 +254,7 @@
|
|||||||
// "admin.registries.schema.fields.table.field": "Field",
|
// "admin.registries.schema.fields.table.field": "Field",
|
||||||
"admin.registries.schema.fields.table.field": "Champ",
|
"admin.registries.schema.fields.table.field": "Champ",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"admin.registries.schema.fields.table.id" : "ID",
|
"admin.registries.schema.fields.table.id": "ID",
|
||||||
|
|
||||||
// "admin.registries.schema.fields.table.scopenote": "Scope Note",
|
// "admin.registries.schema.fields.table.scopenote": "Scope Note",
|
||||||
"admin.registries.schema.fields.table.scopenote": "Note d'application",
|
"admin.registries.schema.fields.table.scopenote": "Note d'application",
|
||||||
@@ -903,13 +903,13 @@
|
|||||||
|
|
||||||
// "bitstream-request-a-copy.header": "Request a copy of the file",
|
// "bitstream-request-a-copy.header": "Request a copy of the file",
|
||||||
"bitstream-request-a-copy.header": "Demander une copie du fichier",
|
"bitstream-request-a-copy.header": "Demander une copie du fichier",
|
||||||
|
|
||||||
// "bitstream-request-a-copy.intro": "Enter the following information to request a copy for the following item: ",
|
// "bitstream-request-a-copy.intro": "Enter the following information to request a copy for the following item: ",
|
||||||
"bitstream-request-a-copy.intro": "Entrer les informations suivantes pour demander une copie de l'élément suivant : ",
|
"bitstream-request-a-copy.intro": "Entrer les informations suivantes pour demander une copie de l'élément suivant : ",
|
||||||
|
|
||||||
// "bitstream-request-a-copy.intro.bitstream.one": "Requesting the following file: ",
|
// "bitstream-request-a-copy.intro.bitstream.one": "Requesting the following file: ",
|
||||||
"bitstream-request-a-copy.intro.bitstream.one": "Demander les fichiers suivants : ",
|
"bitstream-request-a-copy.intro.bitstream.one": "Demander les fichiers suivants : ",
|
||||||
|
|
||||||
// "bitstream-request-a-copy.intro.bitstream.all": "Requesting all files. ",
|
// "bitstream-request-a-copy.intro.bitstream.all": "Requesting all files. ",
|
||||||
"bitstream-request-a-copy.intro.bitstream.all": "Demander tous les fichiers",
|
"bitstream-request-a-copy.intro.bitstream.all": "Demander tous les fichiers",
|
||||||
|
|
||||||
@@ -951,7 +951,7 @@
|
|||||||
|
|
||||||
// "bitstream-request-a-copy.submit.error": "Something went wrong with submitting the item request.",
|
// "bitstream-request-a-copy.submit.error": "Something went wrong with submitting the item request.",
|
||||||
"bitstream-request-a-copy.submit.error": "Un problème est survenu lors de la soumission de la demande d'Item",
|
"bitstream-request-a-copy.submit.error": "Un problème est survenu lors de la soumission de la demande d'Item",
|
||||||
|
|
||||||
//"browse.back.all-results": "All browse results",
|
//"browse.back.all-results": "All browse results",
|
||||||
"browse.back.all-results": "Tous les résultats",
|
"browse.back.all-results": "Tous les résultats",
|
||||||
|
|
||||||
@@ -1013,7 +1013,7 @@
|
|||||||
"browse.startsWith.choose_year.label": "Choisir l'année de publication",
|
"browse.startsWith.choose_year.label": "Choisir l'année de publication",
|
||||||
|
|
||||||
// "browse.startsWith.jump": "Jump to a point in the index:",
|
// "browse.startsWith.jump": "Jump to a point in the index:",
|
||||||
"browse.startsWith.jump": "Aller directement à une entrée de l'index :",
|
"browse.startsWith.jump": "Aller directement à une entrée de l'index:",
|
||||||
|
|
||||||
// "browse.startsWith.months.april": "April",
|
// "browse.startsWith.months.april": "April",
|
||||||
"browse.startsWith.months.april": "Avril",
|
"browse.startsWith.months.april": "Avril",
|
||||||
@@ -1061,17 +1061,17 @@
|
|||||||
"browse.startsWith.submit": "Valider",
|
"browse.startsWith.submit": "Valider",
|
||||||
|
|
||||||
// "browse.startsWith.type_date": "Or type in a date (year-month) and click 'Browse'",
|
// "browse.startsWith.type_date": "Or type in a date (year-month) and click 'Browse'",
|
||||||
"browse.startsWith.type_date": "Ou saisir une date (année-mois) puis cliquer sur « Parcourir par »",
|
"browse.startsWith.type_date": "Ou saisir une date (année-mois) puis cliquer sur « Parcourir par »",
|
||||||
|
|
||||||
// "browse.startsWith.type_date.label": "Or type in a date (year-month) and click on the Browse button",
|
// "browse.startsWith.type_date.label": "Or type in a date (year-month) and click on the Browse button",
|
||||||
"browse.startsWith.type_date.label": "Ou saisir une date (année-mois) puis cliquer sur le bouton « Parcourir »",
|
"browse.startsWith.type_date.label": "Ou saisir une date (année-mois) puis cliquer sur le bouton « Parcourir »",
|
||||||
|
|
||||||
// "browse.startsWith.type_text": "Type the first few letters and click on the Browse button",
|
// "browse.startsWith.type_text": "Type the first few letters and click on the Browse button",
|
||||||
"browse.startsWith.type_text": "Ou saisir les premières lettres puis cliquer sur le bouton « Parcourir »",
|
"browse.startsWith.type_text": "Ou saisir les premières lettres puis cliquer sur le bouton « Parcourir »",
|
||||||
|
|
||||||
// "browse.title": "Browsing {{ collection }} by {{ field }} {{ value }}",
|
// "browse.title": "Browsing {{ collection }} by {{ field }} {{ value }}",
|
||||||
"browse.title": "Parcourir la collection {{ collection }} par {{ field }} {{ value }}",
|
"browse.title": "Parcourir la collection {{ collection }} par {{ field }} {{ value }}",
|
||||||
|
|
||||||
//"browse.title.page": "Browsing {{ collection }} by {{ field }} {{ value }}",
|
//"browse.title.page": "Browsing {{ collection }} by {{ field }} {{ value }}",
|
||||||
"browse.title.page": "Parcourir la collection {{ collection }} par {{ field }} {{ value }}",
|
"browse.title.page": "Parcourir la collection {{ collection }} par {{ field }} {{ value }}",
|
||||||
|
|
||||||
@@ -1080,7 +1080,7 @@
|
|||||||
|
|
||||||
// "chips.remove": "Remove chip",
|
// "chips.remove": "Remove chip",
|
||||||
"chips.remove": "Supprimer fragment",
|
"chips.remove": "Supprimer fragment",
|
||||||
|
|
||||||
//"claimed-approved-search-result-list-element.title": "Approved",
|
//"claimed-approved-search-result-list-element.title": "Approved",
|
||||||
"claimed-approved-search-result-list-element.title": "Approuvé",
|
"claimed-approved-search-result-list-element.title": "Approuvé",
|
||||||
|
|
||||||
@@ -1136,7 +1136,7 @@
|
|||||||
"collection.edit.item-mapper.cancel": "Annuler",
|
"collection.edit.item-mapper.cancel": "Annuler",
|
||||||
|
|
||||||
// "collection.edit.item-mapper.collection": "Collection: \"<b>{{name}}</b>\"",
|
// "collection.edit.item-mapper.collection": "Collection: \"<b>{{name}}</b>\"",
|
||||||
"collection.edit.item-mapper.collection": "Collection : « <b>{{name}}</b> »",
|
"collection.edit.item-mapper.collection": "Collection: « <b>{{name}}</b> »",
|
||||||
|
|
||||||
// "collection.edit.item-mapper.confirm": "Map selected items",
|
// "collection.edit.item-mapper.confirm": "Map selected items",
|
||||||
"collection.edit.item-mapper.confirm": "Associer les Items sélectionnés",
|
"collection.edit.item-mapper.confirm": "Associer les Items sélectionnés",
|
||||||
@@ -1231,17 +1231,17 @@
|
|||||||
// "collection.edit.tabs.authorizations.title": "Collection Edit - Authorizations",
|
// "collection.edit.tabs.authorizations.title": "Collection Edit - Authorizations",
|
||||||
"collection.edit.tabs.authorizations.title": "Édition de collection - Autorisations",
|
"collection.edit.tabs.authorizations.title": "Édition de collection - Autorisations",
|
||||||
|
|
||||||
//"collection.edit.item.authorizations.load-bundle-button": "Load more bundles",
|
//"collection.edit.item.authorizations.load-bundle-button": "Load more bundles",
|
||||||
"collection.edit.item.authorizations.load-bundle-button": "Charger plus de Bundles",
|
"collection.edit.item.authorizations.load-bundle-button": "Charger plus de Bundles",
|
||||||
|
|
||||||
//"collection.edit.item.authorizations.load-more-button": "Load more",
|
//"collection.edit.item.authorizations.load-more-button": "Load more",
|
||||||
"collection.edit.item.authorizations.load-more-button": "Charger plus",
|
"collection.edit.item.authorizations.load-more-button": "Charger plus",
|
||||||
|
|
||||||
//"collection.edit.item.authorizations.show-bitstreams-button": "Show bitstream policies for bundle",
|
//"collection.edit.item.authorizations.show-bitstreams-button": "Show bitstream policies for bundle",
|
||||||
"collection.edit.item.authorizations.show-bitstreams-button": "Afficher les politiques de Bitstream pour le Bundle",
|
"collection.edit.item.authorizations.show-bitstreams-button": "Afficher les politiques de Bitstream pour le Bundle",
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// "collection.edit.tabs.metadata.head": "Edit Metadata",
|
// "collection.edit.tabs.metadata.head": "Edit Metadata",
|
||||||
"collection.edit.tabs.metadata.head": "Éditer les Métadonnées",
|
"collection.edit.tabs.metadata.head": "Éditer les Métadonnées",
|
||||||
|
|
||||||
@@ -1403,70 +1403,70 @@
|
|||||||
|
|
||||||
// "collection.source.controls.head": "Harvest Controls",
|
// "collection.source.controls.head": "Harvest Controls",
|
||||||
"collection.source.controls.head": "Paramétrage du moissonnage",
|
"collection.source.controls.head": "Paramétrage du moissonnage",
|
||||||
|
|
||||||
// "collection.source.controls.test.submit.error": "Something went wrong with initiating the testing of the settings",
|
// "collection.source.controls.test.submit.error": "Something went wrong with initiating the testing of the settings",
|
||||||
"collection.source.controls.test.submit.error": "Un problème est survenu lors du lancement du test des paramètres.",
|
"collection.source.controls.test.submit.error": "Un problème est survenu lors du lancement du test des paramètres.",
|
||||||
|
|
||||||
// "collection.source.controls.test.failed": "The script to test the settings has failed",
|
// "collection.source.controls.test.failed": "The script to test the settings has failed",
|
||||||
"collection.source.controls.test.failed": "Le script pour tester les paramètres a échoué",
|
"collection.source.controls.test.failed": "Le script pour tester les paramètres a échoué",
|
||||||
|
|
||||||
// "collection.source.controls.test.completed": "The script to test the settings has successfully finished",
|
// "collection.source.controls.test.completed": "The script to test the settings has successfully finished",
|
||||||
"collection.source.controls.test.completed": "Le script pour tester les paramètres s'est terminé avec succès",
|
"collection.source.controls.test.completed": "Le script pour tester les paramètres s'est terminé avec succès",
|
||||||
|
|
||||||
// "collection.source.controls.test.submit": "Test configuration",
|
// "collection.source.controls.test.submit": "Test configuration",
|
||||||
"collection.source.controls.test.submit": "Test de configuration",
|
"collection.source.controls.test.submit": "Test de configuration",
|
||||||
|
|
||||||
// "collection.source.controls.test.running": "Testing configuration...",
|
// "collection.source.controls.test.running": "Testing configuration...",
|
||||||
"collection.source.controls.test.running": "Test de la configuration lancé...",
|
"collection.source.controls.test.running": "Test de la configuration lancé...",
|
||||||
|
|
||||||
// "collection.source.controls.import.submit.success": "The import has been successfully initiated",
|
// "collection.source.controls.import.submit.success": "The import has been successfully initiated",
|
||||||
"collection.source.controls.import.submit.success": "L'importation a été lancée avec succès",
|
"collection.source.controls.import.submit.success": "L'importation a été lancée avec succès",
|
||||||
|
|
||||||
// "collection.source.controls.import.submit.error": "Something went wrong with initiating the import",
|
// "collection.source.controls.import.submit.error": "Something went wrong with initiating the import",
|
||||||
"collection.source.controls.import.submit.error": "Un problème est survenu lors du lancement de l'importation",
|
"collection.source.controls.import.submit.error": "Un problème est survenu lors du lancement de l'importation",
|
||||||
|
|
||||||
// "collection.source.controls.import.submit": "Import now",
|
// "collection.source.controls.import.submit": "Import now",
|
||||||
"collection.source.controls.import.submit": "Lancer l'importation",
|
"collection.source.controls.import.submit": "Lancer l'importation",
|
||||||
|
|
||||||
// "collection.source.controls.import.running": "Importing...",
|
// "collection.source.controls.import.running": "Importing...",
|
||||||
"collection.source.controls.import.running": "Importation lancée...",
|
"collection.source.controls.import.running": "Importation lancée...",
|
||||||
|
|
||||||
// "collection.source.controls.import.failed": "An error occurred during the import",
|
// "collection.source.controls.import.failed": "An error occurred during the import",
|
||||||
"collection.source.controls.import.failed": "Un problème est survenu lors de l'importation",
|
"collection.source.controls.import.failed": "Un problème est survenu lors de l'importation",
|
||||||
|
|
||||||
// "collection.source.controls.import.completed": "The import completed",
|
// "collection.source.controls.import.completed": "The import completed",
|
||||||
"collection.source.controls.import.completed": "Importation complétée",
|
"collection.source.controls.import.completed": "Importation complétée",
|
||||||
|
|
||||||
// "collection.source.controls.reset.submit.success": "The reset and reimport has been successfully initiated",
|
// "collection.source.controls.reset.submit.success": "The reset and reimport has been successfully initiated",
|
||||||
"collection.source.controls.reset.submit.success": "La réinitialisation et la réimportation ont été lancées avec succès.",
|
"collection.source.controls.reset.submit.success": "La réinitialisation et la réimportation ont été lancées avec succès.",
|
||||||
|
|
||||||
// "collection.source.controls.reset.submit.error": "Something went wrong with initiating the reset and reimport",
|
// "collection.source.controls.reset.submit.error": "Something went wrong with initiating the reset and reimport",
|
||||||
"collection.source.controls.reset.submit.error": "Un problème est survenu lors du lancement de la réinitialisation et de la réimportation. ",
|
"collection.source.controls.reset.submit.error": "Un problème est survenu lors du lancement de la réinitialisation et de la réimportation. ",
|
||||||
|
|
||||||
// "collection.source.controls.reset.failed": "An error occurred during the reset and reimport",
|
// "collection.source.controls.reset.failed": "An error occurred during the reset and reimport",
|
||||||
"collection.source.controls.reset.failed": "Une erreur s'est produite pendant la réinitialisation et la réimportation.",
|
"collection.source.controls.reset.failed": "Une erreur s'est produite pendant la réinitialisation et la réimportation.",
|
||||||
|
|
||||||
// "collection.source.controls.reset.completed": "The reset and reimport completed",
|
// "collection.source.controls.reset.completed": "The reset and reimport completed",
|
||||||
"collection.source.controls.reset.completed": "La réinitialisation et la réimportation sont terminées",
|
"collection.source.controls.reset.completed": "La réinitialisation et la réimportation sont terminées",
|
||||||
|
|
||||||
// "collection.source.controls.reset.submit": "Reset and reimport",
|
// "collection.source.controls.reset.submit": "Reset and reimport",
|
||||||
"collection.source.controls.reset.submit": "Réinitialisation et réimportation",
|
"collection.source.controls.reset.submit": "Réinitialisation et réimportation",
|
||||||
|
|
||||||
// "collection.source.controls.reset.running": "Resetting and reimporting...",
|
// "collection.source.controls.reset.running": "Resetting and reimporting...",
|
||||||
"collection.source.controls.reset.running": "Réinitialisation et réimportation...",
|
"collection.source.controls.reset.running": "Réinitialisation et réimportation...",
|
||||||
|
|
||||||
// "collection.source.controls.harvest.status": "Harvest status:",
|
// "collection.source.controls.harvest.status": "Harvest status:",
|
||||||
"collection.source.controls.harvest.status": "État du moissonnage",
|
"collection.source.controls.harvest.status": "État du moissonnage",
|
||||||
|
|
||||||
// "collection.source.controls.harvest.start": "Harvest start time:",
|
// "collection.source.controls.harvest.start": "Harvest start time:",
|
||||||
"collection.source.controls.harvest.start": "Heure de début du moissonnage :",
|
"collection.source.controls.harvest.start": "Heure de début du moissonnage :",
|
||||||
|
|
||||||
// "collection.source.controls.harvest.last": "Last time harvested:",
|
// "collection.source.controls.harvest.last": "Last time harvested:",
|
||||||
"collection.source.controls.harvest.last": "Dernier moissonnage en date du :",
|
"collection.source.controls.harvest.last": "Dernier moissonnage en date du :",
|
||||||
|
|
||||||
// "collection.source.controls.harvest.message": "Harvest info:",
|
// "collection.source.controls.harvest.message": "Harvest info:",
|
||||||
"collection.source.controls.harvest.message": "Détails du moissonnage :",
|
"collection.source.controls.harvest.message": "Détails du moissonnage :",
|
||||||
|
|
||||||
// "collection.source.controls.harvest.no-information": "N/A",
|
// "collection.source.controls.harvest.no-information": "N/A",
|
||||||
"collection.source.controls.harvest.no-information": "Non disponible",
|
"collection.source.controls.harvest.no-information": "Non disponible",
|
||||||
|
|
||||||
@@ -1730,7 +1730,7 @@
|
|||||||
|
|
||||||
// "cookies.consent.decline": "Decline",
|
// "cookies.consent.decline": "Decline",
|
||||||
"cookies.consent.decline": "Refuser",
|
"cookies.consent.decline": "Refuser",
|
||||||
|
|
||||||
//"cookies.consent.ok": "That's ok",
|
//"cookies.consent.ok": "That's ok",
|
||||||
"cookies.consent.ok": "Accepter",
|
"cookies.consent.ok": "Accepter",
|
||||||
|
|
||||||
@@ -1783,7 +1783,7 @@
|
|||||||
"cookies.consent.purpose.statistical": "Statistique",
|
"cookies.consent.purpose.statistical": "Statistique",
|
||||||
|
|
||||||
// "curation-task.task.checklinks.label": "Check Links in Metadata",
|
// "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.checklinks.label": "Vérification des liens dans les métadonnées",
|
||||||
|
|
||||||
// "curation-task.task.noop.label": "NOOP",
|
// "curation-task.task.noop.label": "NOOP",
|
||||||
"curation-task.task.noop.label": "NOOP",
|
"curation-task.task.noop.label": "NOOP",
|
||||||
@@ -1898,7 +1898,7 @@
|
|||||||
|
|
||||||
// "dso-selector.set-scope.community.button": "Search all of DSpace",
|
// "dso-selector.set-scope.community.button": "Search all of DSpace",
|
||||||
"dso-selector.set-scope.community.button": "Chercher dans toutes les collections",
|
"dso-selector.set-scope.community.button": "Chercher dans toutes les collections",
|
||||||
|
|
||||||
//"dso-selector.set-scope.community.or-divider": "or",
|
//"dso-selector.set-scope.community.or-divider": "or",
|
||||||
"dso-selector.set-scope.community.or-divider": "ou",
|
"dso-selector.set-scope.community.or-divider": "ou",
|
||||||
|
|
||||||
@@ -1975,7 +1975,7 @@
|
|||||||
"error.sub-communities": "Erreur lors de la récupération des sous-communautés",
|
"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 : <br> <br>",
|
// "error.submission.sections.init-form-error": "An error occurred during section initialize, please check your input-form configuration. Details are below : <br> <br>",
|
||||||
"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 sont disponibles ci-dessous : <br> <br>",
|
"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 sont disponibles ci-dessous: <br> <br>",
|
||||||
|
|
||||||
// "error.top-level-communities": "Error fetching top-level communities",
|
// "error.top-level-communities": "Error fetching top-level communities",
|
||||||
"error.top-level-communities": "Erreur lors de la récupération des communautés de 1er niveau",
|
"error.top-level-communities": "Erreur lors de la récupération des communautés de 1er niveau",
|
||||||
@@ -2020,7 +2020,7 @@
|
|||||||
"footer.link.privacy-policy": "Politique de protection de la vie privée",
|
"footer.link.privacy-policy": "Politique de protection de la vie privée",
|
||||||
|
|
||||||
// "footer.link.end-user-agreement":"End User Agreement",
|
// "footer.link.end-user-agreement":"End User Agreement",
|
||||||
"footer.link.end-user-agreement":"Licence de l'utilisateur final",
|
"footer.link.end-user-agreement": "Licence de l'utilisateur final",
|
||||||
|
|
||||||
// "footer.link.feedback":"Send Feedback",
|
// "footer.link.feedback":"Send Feedback",
|
||||||
"footer.link.feedback": "Envoyer un commentaire",
|
"footer.link.feedback": "Envoyer un commentaire",
|
||||||
@@ -2335,8 +2335,8 @@
|
|||||||
"info.feedback.error.message.required": "Un contenu est requis",
|
"info.feedback.error.message.required": "Un contenu est requis",
|
||||||
|
|
||||||
// "info.feedback.page-label": "Page",
|
// "info.feedback.page-label": "Page",
|
||||||
"info.feedback.page-label": "Page",
|
"info.feedback.page-label": "Page",
|
||||||
|
|
||||||
// "info.feedback.page_help": "The page related to your feedback",
|
// "info.feedback.page_help": "The page related to your feedback",
|
||||||
"info.feedback.page_help": "La page relative à vos commentaires",
|
"info.feedback.page_help": "La page relative à vos commentaires",
|
||||||
|
|
||||||
@@ -2367,7 +2367,7 @@
|
|||||||
// "item.bitstreams.upload.bundle.new": "Create bundle",
|
// "item.bitstreams.upload.bundle.new": "Create bundle",
|
||||||
"item.bitstreams.upload.bundle.new": "Créer un Bundle",
|
"item.bitstreams.upload.bundle.new": "Créer un Bundle",
|
||||||
|
|
||||||
// "item.bitstreams.upload.bundles.empty": "This item doesn\'t contain any bundles to upload a bitstream to.",
|
// "item.bitstreams.upload.bundles.empty": "This item doesn't contain any bundles to upload a bitstream to.",
|
||||||
"item.bitstreams.upload.bundles.empty": "Il n'existe pas, au niveau de cet Item, de Bundle dans lequel un Bitstream pourrait être téléchargé.",
|
"item.bitstreams.upload.bundles.empty": "Il n'existe pas, au niveau de cet Item, de Bundle dans lequel un Bitstream pourrait être téléchargé.",
|
||||||
|
|
||||||
// "item.bitstreams.upload.cancel": "Cancel",
|
// "item.bitstreams.upload.cancel": "Cancel",
|
||||||
@@ -2488,7 +2488,7 @@
|
|||||||
"item.edit.delete.confirm": "Supprimer",
|
"item.edit.delete.confirm": "Supprimer",
|
||||||
|
|
||||||
// "item.edit.delete.description": "Are you sure this item should be completely deleted? Caution: At present, no tombstone would be left.",
|
// "item.edit.delete.description": "Are you sure this item should be completely deleted? Caution: At present, no tombstone would be left.",
|
||||||
"item.edit.delete.description": "Êtes-vous certain(e) de vouloir complètement supprimer cet Item ? Attention, il n'y aura pas de retour en arrière possible.",
|
"item.edit.delete.description": "Êtes-vous certain(e) de vouloir complètement supprimer cet Item? Attention, il n'y aura pas de retour en arrière possible.",
|
||||||
|
|
||||||
// "item.edit.delete.error": "An error occurred while deleting the item",
|
// "item.edit.delete.error": "An error occurred while deleting the item",
|
||||||
"item.edit.delete.error": "Une erreur s'est produite lors de la suppression de l'Item",
|
"item.edit.delete.error": "Une erreur s'est produite lors de la suppression de l'Item",
|
||||||
@@ -2513,7 +2513,7 @@
|
|||||||
|
|
||||||
// "item.edit.tabs.item-mapper.title": "Item Edit - Collection Mapper",
|
// "item.edit.tabs.item-mapper.title": "Item Edit - Collection Mapper",
|
||||||
"item.edit.tabs.item-mapper.title": "Édition d'Item - Association de collection",
|
"item.edit.tabs.item-mapper.title": "Édition d'Item - Association de collection",
|
||||||
|
|
||||||
// "item.edit.identifiers.doi.status.UNKNOWN": "Unknown",
|
// "item.edit.identifiers.doi.status.UNKNOWN": "Unknown",
|
||||||
"item.edit.identifiers.doi.status.UNKNOWN": "Inconnu",
|
"item.edit.identifiers.doi.status.UNKNOWN": "Inconnu",
|
||||||
|
|
||||||
@@ -2527,13 +2527,13 @@
|
|||||||
"item.edit.identifiers.doi.status.IS_REGISTERED": "Inscrit",
|
"item.edit.identifiers.doi.status.IS_REGISTERED": "Inscrit",
|
||||||
|
|
||||||
// "item.edit.identifiers.doi.status.IS_RESERVED": "Reserved",
|
// "item.edit.identifiers.doi.status.IS_RESERVED": "Reserved",
|
||||||
"item.edit.identifiers.doi.status.IS_RESERVED": "Réseré",
|
"item.edit.identifiers.doi.status.IS_RESERVED": "Réservé",
|
||||||
|
|
||||||
// "item.edit.identifiers.doi.status.UPDATE_RESERVED": "Reserved (update queued)",
|
// "item.edit.identifiers.doi.status.UPDATE_RESERVED": "Reserved (update queued)",
|
||||||
"item.edit.identifiers.doi.status.UPDATE_RESERVED": "Réservé (en attente)",
|
"item.edit.identifiers.doi.status.UPDATE_RESERVED": "Réservé (en attente)",
|
||||||
|
|
||||||
// "item.edit.identifiers.doi.status.UPDATE_REGISTERED": "Registered (update queued)",
|
// "item.edit.identifiers.doi.status.UPDATE_REGISTERED": "Registered (update queued)",
|
||||||
"item.edit.identifiers.doi.status.UPDATE_REGISTERED": "Inscrit (en attente)",
|
"item.edit.identifiers.doi.status.UPDATE_REGISTERED": "Inscrit (en attente)",
|
||||||
|
|
||||||
// "item.edit.identifiers.doi.status.UPDATE_BEFORE_REGISTRATION": "Queued for update and registration",
|
// "item.edit.identifiers.doi.status.UPDATE_BEFORE_REGISTRATION": "Queued for update and registration",
|
||||||
"item.edit.identifiers.doi.status.UPDATE_BEFORE_REGISTRATION": "En attente pour la mise à jour et l'inscription",
|
"item.edit.identifiers.doi.status.UPDATE_BEFORE_REGISTRATION": "En attente pour la mise à jour et l'inscription",
|
||||||
@@ -2560,24 +2560,24 @@
|
|||||||
"item.edit.register-doi.header": "Inscrire un nouveau DOI ou un DOI en attente",
|
"item.edit.register-doi.header": "Inscrire un nouveau DOI ou un DOI en attente",
|
||||||
|
|
||||||
// "item.edit.register-doi.description": "Review any pending identifiers and item metadata below and click Confirm to proceed with DOI registration, or Cancel to back out",
|
// "item.edit.register-doi.description": "Review any pending identifiers and item metadata below and click Confirm to proceed with DOI registration, or Cancel to back out",
|
||||||
"item.edit.register-doi.description": "Réviser les identifiants en attente and les métadonnées ci-dessous item metadata below puis cliquer sur Confirmer afin de lancer l'inscription du DOI ou sur Annuler pour interrompre l'inscription",
|
"item.edit.register-doi.description": "Réviser les identifiants en attente et les métadonnées ci-dessous puis cliquer sur Confirmer afin de lancer l'inscription du DOI ou sur Annuler pour interrompre l'inscription",
|
||||||
|
|
||||||
// "item.edit.register-doi.confirm": "Confirm",
|
// "item.edit.register-doi.confirm": "Confirm",
|
||||||
"item.edit.register-doi.confirm": "Confirmer",
|
"item.edit.register-doi.confirm": "Confirmer",
|
||||||
|
|
||||||
// "item.edit.register-doi.cancel": "Cancel",
|
// "item.edit.register-doi.cancel": "Cancel",
|
||||||
"item.edit.register-doi.cancel": "Annuler",
|
"item.edit.register-doi.cancel": "Annuler",
|
||||||
|
|
||||||
// "item.edit.register-doi.success": "DOI queued for registration successfully.",
|
// "item.edit.register-doi.success": "DOI queued for registration successfully.",
|
||||||
"item.edit.register-doi.success": "DOI mis en attente pour l'inscription.",
|
"item.edit.register-doi.success": "DOI mis en attente pour l'inscription.",
|
||||||
|
|
||||||
// "item.edit.register-doi.error": "Error registering DOI",
|
// "item.edit.register-doi.error": "Error registering DOI",
|
||||||
"item.edit.register-doi.error": "Erreur lors de l'inscription du DOI",
|
"item.edit.register-doi.error": "Erreur lors de l'inscription du DOI",
|
||||||
|
|
||||||
// "item.edit.register-doi.to-update": "The following DOI has already been minted and will be queued for registration online",
|
// "item.edit.register-doi.to-update": "The following DOI has already been minted and will be queued for registration online",
|
||||||
"item.edit.register-doi.to-update": "Le DOI suivant a déjà été généré et sera mis en attente pour être inscrit",
|
"item.edit.register-doi.to-update": "Le DOI suivant a déjà été généré et sera mis en attente pour être inscrit",
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// "item.edit.item-mapper.buttons.add": "Map item to selected collections",
|
// "item.edit.item-mapper.buttons.add": "Map item to selected collections",
|
||||||
"item.edit.item-mapper.buttons.add": "Associer l'Item aux collections sélectionnées",
|
"item.edit.item-mapper.buttons.add": "Associer l'Item aux collections sélectionnées",
|
||||||
@@ -2757,7 +2757,7 @@
|
|||||||
"item.edit.private.confirm": "Définir comme privé",
|
"item.edit.private.confirm": "Définir comme privé",
|
||||||
|
|
||||||
// "item.edit.private.description": "Are you sure this item should be made private in the archive?",
|
// "item.edit.private.description": "Are you sure this item should be made private in the archive?",
|
||||||
"item.edit.private.description": "Êtes-vous certain(e) de vouloir définir cet Item comme privé ?",
|
"item.edit.private.description": "Êtes-vous certain(e) de vouloir définir cet Item comme privé?",
|
||||||
|
|
||||||
// "item.edit.private.error": "An error occurred while making the item private",
|
// "item.edit.private.error": "An error occurred while making the item private",
|
||||||
"item.edit.private.error": "Une erreur s'est produite lors de la privatisation de l'Item",
|
"item.edit.private.error": "Une erreur s'est produite lors de la privatisation de l'Item",
|
||||||
@@ -2775,7 +2775,7 @@
|
|||||||
"item.edit.public.confirm": "Définir comme public",
|
"item.edit.public.confirm": "Définir comme public",
|
||||||
|
|
||||||
// "item.edit.public.description": "Are you sure this item should be made public in the archive?",
|
// "item.edit.public.description": "Are you sure this item should be made public in the archive?",
|
||||||
"item.edit.public.description": "Êtes-vous certain(e) de vouloir définir cet Item comme public ?",
|
"item.edit.public.description": "Êtes-vous certain(e) de vouloir définir cet Item comme public?",
|
||||||
|
|
||||||
// "item.edit.public.error": "An error occurred while making the item public",
|
// "item.edit.public.error": "An error occurred while making the item public",
|
||||||
"item.edit.public.error": "Une erreur s'est produite lors de la définition de l'Item en tant qu'Item public",
|
"item.edit.public.error": "Une erreur s'est produite lors de la définition de l'Item en tant qu'Item public",
|
||||||
@@ -2793,7 +2793,7 @@
|
|||||||
"item.edit.reinstate.confirm": "Réintégrer",
|
"item.edit.reinstate.confirm": "Réintégrer",
|
||||||
|
|
||||||
// "item.edit.reinstate.description": "Are you sure this item should be reinstated to the archive?",
|
// "item.edit.reinstate.description": "Are you sure this item should be reinstated to the archive?",
|
||||||
"item.edit.reinstate.description": "Êtes-vous certain(e) de vouloir réintégrer cet Item ?",
|
"item.edit.reinstate.description": "Êtes-vous certain(e) de vouloir réintégrer cet Item?",
|
||||||
|
|
||||||
// "item.edit.reinstate.error": "An error occurred while reinstating the item",
|
// "item.edit.reinstate.error": "An error occurred while reinstating the item",
|
||||||
"item.edit.reinstate.error": "Une erreur s'est produite lors de la réintégration de l'Item",
|
"item.edit.reinstate.error": "Une erreur s'est produite lors de la réintégration de l'Item",
|
||||||
@@ -2970,7 +2970,7 @@
|
|||||||
"item.edit.withdraw.confirm": "Retirer",
|
"item.edit.withdraw.confirm": "Retirer",
|
||||||
|
|
||||||
// "item.edit.withdraw.description": "Are you sure this item should be withdrawn from the archive?",
|
// "item.edit.withdraw.description": "Are you sure this item should be withdrawn from the archive?",
|
||||||
"item.edit.withdraw.description": "Êtes-vous certain que cet Item doit être retiré du dépôt ?",
|
"item.edit.withdraw.description": "Êtes-vous certain que cet Item doit être retiré du dépôt?",
|
||||||
|
|
||||||
// "item.edit.withdraw.error": "An error occurred while withdrawing the item",
|
// "item.edit.withdraw.error": "An error occurred while withdrawing the item",
|
||||||
"item.edit.withdraw.error": "Une erreur s'est produite lors du retrait de l'Item",
|
"item.edit.withdraw.error": "Une erreur s'est produite lors du retrait de l'Item",
|
||||||
@@ -3007,13 +3007,13 @@
|
|||||||
|
|
||||||
// "item.search.title": "Item Search",
|
// "item.search.title": "Item Search",
|
||||||
"item.search.title": "Recherche d'Items",
|
"item.search.title": "Recherche d'Items",
|
||||||
|
|
||||||
// "item.truncatable-part.show-more": "Show more",
|
// "item.truncatable-part.show-more": "Show more",
|
||||||
"item.truncatable-part.show-more": "Voir plus",
|
"item.truncatable-part.show-more": "Voir plus",
|
||||||
|
|
||||||
//"item.truncatable-part.show-less": "Collapse",
|
//"item.truncatable-part.show-less": "Collapse",
|
||||||
"item.truncatable-part.show-less": "Réduire",
|
"item.truncatable-part.show-less": "Réduire",
|
||||||
|
|
||||||
|
|
||||||
// "item.page.abstract": "Abstract",
|
// "item.page.abstract": "Abstract",
|
||||||
"item.page.abstract": "Résumé",
|
"item.page.abstract": "Résumé",
|
||||||
@@ -3043,19 +3043,19 @@
|
|||||||
"item.page.files": "Fichiers",
|
"item.page.files": "Fichiers",
|
||||||
|
|
||||||
// "item.page.filesection.description": "Description:",
|
// "item.page.filesection.description": "Description:",
|
||||||
"item.page.filesection.description": "Description :",
|
"item.page.filesection.description": "Description:",
|
||||||
|
|
||||||
// "item.page.filesection.download": "Download",
|
// "item.page.filesection.download": "Download",
|
||||||
"item.page.filesection.download": "Télécharger",
|
"item.page.filesection.download": "Télécharger",
|
||||||
|
|
||||||
// "item.page.filesection.format": "Format:",
|
// "item.page.filesection.format": "Format:",
|
||||||
"item.page.filesection.format": "Format :",
|
"item.page.filesection.format": "Format:",
|
||||||
|
|
||||||
// "item.page.filesection.name": "Name:",
|
// "item.page.filesection.name": "Name:",
|
||||||
"item.page.filesection.name": "Nom :",
|
"item.page.filesection.name": "Nom:",
|
||||||
|
|
||||||
// "item.page.filesection.size": "Size:",
|
// "item.page.filesection.size": "Size:",
|
||||||
"item.page.filesection.size": "Taille :",
|
"item.page.filesection.size": "Taille:",
|
||||||
|
|
||||||
// "item.page.journal.search.title": "Articles in this journal",
|
// "item.page.journal.search.title": "Articles in this journal",
|
||||||
"item.page.journal.search.title": "Articles dans cette revue",
|
"item.page.journal.search.title": "Articles dans cette revue",
|
||||||
@@ -3102,7 +3102,7 @@
|
|||||||
// "item.page.filesection.original.bundle": "Original bundle",
|
// "item.page.filesection.original.bundle": "Original bundle",
|
||||||
"item.page.filesection.original.bundle": "Bundle original",
|
"item.page.filesection.original.bundle": "Bundle original",
|
||||||
|
|
||||||
// "item.page.filesection.license.bundle": "License bundle",
|
// "item.page.filesection.license.bundle": "License bundle",
|
||||||
"item.page.filesection.license.bundle": "Bundle de license",
|
"item.page.filesection.license.bundle": "Bundle de license",
|
||||||
|
|
||||||
// "item.page.return": "Back",
|
// "item.page.return": "Back",
|
||||||
@@ -3275,7 +3275,7 @@
|
|||||||
|
|
||||||
// "item.version.create.notification.failure": "New version has not been created",
|
// "item.version.create.notification.failure": "New version has not been created",
|
||||||
"item.version.create.notification.failure": "La nouvelle version n'a pas été créée",
|
"item.version.create.notification.failure": "La nouvelle version n'a pas été créée",
|
||||||
|
|
||||||
// "item.version.create.notification.inProgress": "A new version cannot be created because there is an inprogress submission in the version history",
|
// "item.version.create.notification.inProgress": "A new version cannot be created because there is an inprogress submission in the version history",
|
||||||
"item.version.create.notification.inProgress": "Une nouvelle version ne peut pas être créée parce qu'il y a une soumission en cours dans l'historique des versions.",
|
"item.version.create.notification.inProgress": "Une nouvelle version ne peut pas être créée parce qu'il y a une soumission en cours dans l'historique des versions.",
|
||||||
|
|
||||||
@@ -3328,7 +3328,7 @@
|
|||||||
"journal.page.publisher": "Éditeur",
|
"journal.page.publisher": "Éditeur",
|
||||||
|
|
||||||
// "journal.page.titleprefix": "Journal: ",
|
// "journal.page.titleprefix": "Journal: ",
|
||||||
"journal.page.titleprefix": "Revue : ",
|
"journal.page.titleprefix": "Revue: ",
|
||||||
|
|
||||||
// "journal.search.results.head": "Journal Search Results",
|
// "journal.search.results.head": "Journal Search Results",
|
||||||
"journal.search.results.head": "Résultats de recherche de revues",
|
"journal.search.results.head": "Résultats de recherche de revues",
|
||||||
@@ -3361,7 +3361,7 @@
|
|||||||
"journalissue.page.number": "Nombre",
|
"journalissue.page.number": "Nombre",
|
||||||
|
|
||||||
// "journalissue.page.titleprefix": "Journal Issue: ",
|
// "journalissue.page.titleprefix": "Journal Issue: ",
|
||||||
"journalissue.page.titleprefix": "Numéro de revue : ",
|
"journalissue.page.titleprefix": "Numéro de revue: ",
|
||||||
|
|
||||||
// "journalvolume.listelement.badge": "Journal Volume",
|
// "journalvolume.listelement.badge": "Journal Volume",
|
||||||
"journalvolume.listelement.badge": "Volume de la revue",
|
"journalvolume.listelement.badge": "Volume de la revue",
|
||||||
@@ -3376,7 +3376,7 @@
|
|||||||
"journalvolume.page.issuedate": "Date de publication",
|
"journalvolume.page.issuedate": "Date de publication",
|
||||||
|
|
||||||
// "journalvolume.page.titleprefix": "Journal Volume: ",
|
// "journalvolume.page.titleprefix": "Journal Volume: ",
|
||||||
"journalvolume.page.titleprefix": "Volume de la revue : ",
|
"journalvolume.page.titleprefix": "Volume de la revue: ",
|
||||||
|
|
||||||
// "journalvolume.page.volume": "Volume",
|
// "journalvolume.page.volume": "Volume",
|
||||||
"journalvolume.page.volume": "Volume",
|
"journalvolume.page.volume": "Volume",
|
||||||
@@ -3472,13 +3472,13 @@
|
|||||||
"login.form.email": "Adresse électronique",
|
"login.form.email": "Adresse électronique",
|
||||||
|
|
||||||
// "login.form.forgot-password": "Have you forgotten your password?",
|
// "login.form.forgot-password": "Have you forgotten your password?",
|
||||||
"login.form.forgot-password": "Mot de passe oublié ?",
|
"login.form.forgot-password": "Mot de passe oublié?",
|
||||||
|
|
||||||
// "login.form.header": "Please log in to DSpace",
|
// "login.form.header": "Please log in to DSpace",
|
||||||
"login.form.header": "Se connecter à DSpace",
|
"login.form.header": "Se connecter à DSpace",
|
||||||
|
|
||||||
// "login.form.new-user": "New user? Click here to register.",
|
// "login.form.new-user": "New user? Click here to register.",
|
||||||
"login.form.new-user": "Pas encore de compte ? Cliquer ici pour vous enregistrer.",
|
"login.form.new-user": "Pas encore de compte? Cliquer ici pour vous enregistrer.",
|
||||||
|
|
||||||
// "login.form.or-divider": "or",
|
// "login.form.or-divider": "or",
|
||||||
"login.form.or-divider": "ou",
|
"login.form.or-divider": "ou",
|
||||||
@@ -3596,7 +3596,7 @@
|
|||||||
|
|
||||||
// "menu.section.export_metadata": "Metadata",
|
// "menu.section.export_metadata": "Metadata",
|
||||||
"menu.section.export_metadata": "Métadonnées",
|
"menu.section.export_metadata": "Métadonnées",
|
||||||
|
|
||||||
// "menu.section.export_batch": "Batch Export (ZIP)",
|
// "menu.section.export_batch": "Batch Export (ZIP)",
|
||||||
"menu.section.export_batch": "Exporter en lot (ZIP)",
|
"menu.section.export_batch": "Exporter en lot (ZIP)",
|
||||||
|
|
||||||
@@ -3680,7 +3680,7 @@
|
|||||||
|
|
||||||
// "menu.section.processes": "Processes",
|
// "menu.section.processes": "Processes",
|
||||||
"menu.section.processes": "Processus",
|
"menu.section.processes": "Processus",
|
||||||
|
|
||||||
// "menu.section.health": "Health",
|
// "menu.section.health": "Health",
|
||||||
"menu.section.health": "Santé du système",
|
"menu.section.health": "Santé du système",
|
||||||
|
|
||||||
@@ -3821,7 +3821,7 @@
|
|||||||
|
|
||||||
// "mydspace.show.workspace": "Your Submissions",
|
// "mydspace.show.workspace": "Your Submissions",
|
||||||
"mydspace.show.workspace": "Vos dépôts",
|
"mydspace.show.workspace": "Vos dépôts",
|
||||||
|
|
||||||
//"mydspace.show.supervisedWorkspace": "Supervised items",
|
//"mydspace.show.supervisedWorkspace": "Supervised items",
|
||||||
"mydspace.show.supervisedWorkspace": "Items supervisés",
|
"mydspace.show.supervisedWorkspace": "Items supervisés",
|
||||||
|
|
||||||
@@ -3890,13 +3890,13 @@
|
|||||||
|
|
||||||
// "nav.stop-impersonating": "Stop impersonating EPerson",
|
// "nav.stop-impersonating": "Stop impersonating EPerson",
|
||||||
"nav.stop-impersonating": "Retour à votre propre EPerson",
|
"nav.stop-impersonating": "Retour à votre propre EPerson",
|
||||||
|
|
||||||
//"nav.subscriptions" : "Subscriptions",
|
//"nav.subscriptions" : "Subscriptions",
|
||||||
"nav.subscriptions" : "Abonnements",
|
"nav.subscriptions": "Abonnements",
|
||||||
|
|
||||||
// "nav.toggle": "Toggle navigation",
|
// "nav.toggle": "Toggle navigation",
|
||||||
"nav.toggle": "Basculer la navigation",
|
"nav.toggle": "Basculer la navigation",
|
||||||
|
|
||||||
// "nav.user.description": "User profile bar",
|
// "nav.user.description": "User profile bar",
|
||||||
"nav.user.description": "Barre de profil utilisateur",
|
"nav.user.description": "Barre de profil utilisateur",
|
||||||
|
|
||||||
@@ -3925,7 +3925,7 @@
|
|||||||
"orgunit.page.id": "ID",
|
"orgunit.page.id": "ID",
|
||||||
|
|
||||||
// "orgunit.page.titleprefix": "Organizational Unit: ",
|
// "orgunit.page.titleprefix": "Organizational Unit: ",
|
||||||
"orgunit.page.titleprefix": "Structure Organisationnelle : ",
|
"orgunit.page.titleprefix": "Structure Organisationnelle: ",
|
||||||
|
|
||||||
// "pagination.options.description": "Pagination options",
|
// "pagination.options.description": "Pagination options",
|
||||||
"pagination.options.description": "Options de pagination",
|
"pagination.options.description": "Options de pagination",
|
||||||
@@ -4046,13 +4046,13 @@
|
|||||||
|
|
||||||
// "process.detail.arguments.empty": "This process doesn't contain any arguments",
|
// "process.detail.arguments.empty": "This process doesn't contain any arguments",
|
||||||
"process.detail.arguments.empty": "Ce processus ne contient pas d'arguments",
|
"process.detail.arguments.empty": "Ce processus ne contient pas d'arguments",
|
||||||
|
|
||||||
// "process.detail.back": "Back",
|
// "process.detail.back": "Back",
|
||||||
"process.detail.back": "Retour",
|
"process.detail.back": "Retour",
|
||||||
|
|
||||||
// "process.detail.output": "Process Output",
|
// "process.detail.output": "Process Output",
|
||||||
"process.detail.output": "Sortie du processus",
|
"process.detail.output": "Sortie du processus",
|
||||||
|
|
||||||
// "process.detail.logs.button": "Retrieve process output",
|
// "process.detail.logs.button": "Retrieve process output",
|
||||||
"process.detail.logs.button": "Récupérer la sortie du processus",
|
"process.detail.logs.button": "Récupérer la sortie du processus",
|
||||||
|
|
||||||
@@ -4064,46 +4064,46 @@
|
|||||||
|
|
||||||
// "process.detail.output-files": "Output Files",
|
// "process.detail.output-files": "Output Files",
|
||||||
"process.detail.output-files": "Fichiers de sortie",
|
"process.detail.output-files": "Fichiers de sortie",
|
||||||
|
|
||||||
// "process.detail.output-files.empty": "This process doesn't contain any output files",
|
// "process.detail.output-files.empty": "This process doesn't contain any output files",
|
||||||
"process.detail.output-files.empty": "Ce processus ne contient pas de fichiers de sortie",
|
"process.detail.output-files.empty": "Ce processus ne contient pas de fichiers de sortie",
|
||||||
|
|
||||||
// "process.detail.script": "Script",
|
// "process.detail.script": "Script",
|
||||||
"process.detail.script": "Script",
|
"process.detail.script": "Script",
|
||||||
|
|
||||||
// "process.detail.title": "Process: {{ id }} - {{ name }}",
|
// "process.detail.title": "Process: {{ id }} - {{ name }}",
|
||||||
"process.detail.title": "Processus : {{ id }} - {{ name }}",
|
"process.detail.title": "Processus : {{ id }} - {{ name }}",
|
||||||
|
|
||||||
// "process.detail.start-time": "Start time",
|
// "process.detail.start-time": "Start time",
|
||||||
"process.detail.start-time": "Début",
|
"process.detail.start-time": "Début",
|
||||||
|
|
||||||
// "process.detail.end-time": "Finish time",
|
// "process.detail.end-time": "Finish time",
|
||||||
"process.detail.end-time": "Fin",
|
"process.detail.end-time": "Fin",
|
||||||
|
|
||||||
// "process.detail.status": "Status",
|
// "process.detail.status": "Status",
|
||||||
"process.detail.status": "Statut",
|
"process.detail.status": "Statut",
|
||||||
|
|
||||||
// "process.detail.create": "Create similar process",
|
// "process.detail.create": "Create similar process",
|
||||||
"process.detail.create": "Créer un processus similaire",
|
"process.detail.create": "Créer un processus similaire",
|
||||||
|
|
||||||
// "process.overview.table.finish": "Finish time (UTC)",
|
// "process.overview.table.finish": "Finish time (UTC)",
|
||||||
"process.overview.table.finish": "Heure de fin (TUC)",
|
"process.overview.table.finish": "Heure de fin (TUC)",
|
||||||
|
|
||||||
// "process.overview.table.id": "Process ID",
|
// "process.overview.table.id": "Process ID",
|
||||||
"process.overview.table.id": "ID du processus",
|
"process.overview.table.id": "ID du processus",
|
||||||
|
|
||||||
// "process.overview.table.name": "Name",
|
// "process.overview.table.name": "Name",
|
||||||
"process.overview.table.name": "Nom",
|
"process.overview.table.name": "Nom",
|
||||||
|
|
||||||
// "process.overview.table.start": "Start time (UTC)",
|
// "process.overview.table.start": "Start time (UTC)",
|
||||||
"process.overview.table.start": "Heure de début (TUC)",
|
"process.overview.table.start": "Heure de début (TUC)",
|
||||||
|
|
||||||
// "process.overview.table.status": "Status",
|
// "process.overview.table.status": "Status",
|
||||||
"process.overview.table.status": "Statut",
|
"process.overview.table.status": "Statut",
|
||||||
|
|
||||||
// "process.overview.table.user": "User",
|
// "process.overview.table.user": "User",
|
||||||
"process.overview.table.user": "Utilisateur",
|
"process.overview.table.user": "Utilisateur",
|
||||||
|
|
||||||
// "process.overview.title": "Processes Overview",
|
// "process.overview.title": "Processes Overview",
|
||||||
"process.overview.title": "Sommaire des processus",
|
"process.overview.title": "Sommaire des processus",
|
||||||
|
|
||||||
@@ -4112,10 +4112,10 @@
|
|||||||
|
|
||||||
// "process.overview.new": "New",
|
// "process.overview.new": "New",
|
||||||
"process.overview.new": "Nouveau",
|
"process.overview.new": "Nouveau",
|
||||||
|
|
||||||
// "process.overview.table.actions": "Actions",
|
// "process.overview.table.actions": "Actions",
|
||||||
"process.overview.table.actions": "Actions",
|
"process.overview.table.actions": "Actions",
|
||||||
|
|
||||||
// "process.overview.delete": "Delete {{count}} processes",
|
// "process.overview.delete": "Delete {{count}} processes",
|
||||||
"process.overview.delete": "Supprimer {{count}} processus",
|
"process.overview.delete": "Supprimer {{count}} processus",
|
||||||
|
|
||||||
@@ -4137,7 +4137,7 @@
|
|||||||
// "process.bulk.delete.success": "{{count}} process(es) have been succesfully deleted",
|
// "process.bulk.delete.success": "{{count}} process(es) have been succesfully deleted",
|
||||||
"process.bulk.delete.success": "{{count}} processus ont été supprimés.",
|
"process.bulk.delete.success": "{{count}} processus ont été supprimés.",
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// "profile.breadcrumbs": "Update Profile",
|
// "profile.breadcrumbs": "Update Profile",
|
||||||
"profile.breadcrumbs": "Mise à jour profil",
|
"profile.breadcrumbs": "Mise à jour profil",
|
||||||
@@ -4251,7 +4251,7 @@
|
|||||||
"project.page.status": "Statut",
|
"project.page.status": "Statut",
|
||||||
|
|
||||||
// "project.page.titleprefix": "Research Project: ",
|
// "project.page.titleprefix": "Research Project: ",
|
||||||
"project.page.titleprefix": "Projet de recherche : ",
|
"project.page.titleprefix": "Projet de recherche: ",
|
||||||
|
|
||||||
// "project.search.results.head": "Project Search Results",
|
// "project.search.results.head": "Project Search Results",
|
||||||
"project.search.results.head": "Résultats de recherche de projets",
|
"project.search.results.head": "Résultats de recherche de projets",
|
||||||
@@ -4275,7 +4275,7 @@
|
|||||||
"publication.page.publisher": "Éditeur",
|
"publication.page.publisher": "Éditeur",
|
||||||
|
|
||||||
// "publication.page.titleprefix": "Publication: ",
|
// "publication.page.titleprefix": "Publication: ",
|
||||||
"publication.page.titleprefix": "Publication : ",
|
"publication.page.titleprefix": "Publication: ",
|
||||||
|
|
||||||
// "publication.page.volume-title": "Volume Title",
|
// "publication.page.volume-title": "Volume Title",
|
||||||
"publication.page.volume-title": "Titre du volume",
|
"publication.page.volume-title": "Titre du volume",
|
||||||
@@ -4309,7 +4309,7 @@
|
|||||||
|
|
||||||
// "register-page.create-profile.identification.first-name": "First Name *",
|
// "register-page.create-profile.identification.first-name": "First Name *",
|
||||||
"register-page.create-profile.identification.first-name": "Prénom *",
|
"register-page.create-profile.identification.first-name": "Prénom *",
|
||||||
|
|
||||||
// "register-page.create-profile.identification.first-name.error": "Please fill in a First Name",
|
// "register-page.create-profile.identification.first-name.error": "Please fill in a First Name",
|
||||||
"register-page.create-profile.identification.first-name.error": "Veuillez saisir un prénom",
|
"register-page.create-profile.identification.first-name.error": "Veuillez saisir un prénom",
|
||||||
|
|
||||||
@@ -4732,7 +4732,7 @@
|
|||||||
|
|
||||||
// "search.filters.filter.creativeWorkPublisher.label": "Search publisher",
|
// "search.filters.filter.creativeWorkPublisher.label": "Search publisher",
|
||||||
"search.filters.filter.creativeWorkPublisher.label": "Recherche d'un éditeur",
|
"search.filters.filter.creativeWorkPublisher.label": "Recherche d'un éditeur",
|
||||||
|
|
||||||
// "search.filters.filter.dateIssued.head": "Date",
|
// "search.filters.filter.dateIssued.head": "Date",
|
||||||
"search.filters.filter.dateIssued.head": "Date",
|
"search.filters.filter.dateIssued.head": "Date",
|
||||||
|
|
||||||
@@ -4932,22 +4932,22 @@
|
|||||||
"search.results.head": "Résultats de recherche",
|
"search.results.head": "Résultats de recherche",
|
||||||
|
|
||||||
// "search.results.no-results": "Your search returned no results. Having trouble finding what you're looking for? Try putting",
|
// "search.results.no-results": "Your search returned no results. Having trouble finding what you're looking for? Try putting",
|
||||||
"search.results.no-results": "Votre recherche n'a retourné aucun résultat. Vous n'arrivez pas à trouver ce que vous recherchez ? Essayez de mettre",
|
"search.results.no-results": "Votre recherche n'a retourné aucun résultat. Vous n'arrivez pas à trouver ce que vous recherchez? Essayez de mettre",
|
||||||
|
|
||||||
// "search.results.no-results-link": "quotes around it",
|
// "search.results.no-results-link": "quotes around it",
|
||||||
"search.results.no-results-link": "des guillemets avant et après les termes recherchés",
|
"search.results.no-results-link": "des guillemets avant et après les termes recherchés",
|
||||||
|
|
||||||
// "search.results.empty": "Your search returned no results.",
|
// "search.results.empty": "Your search returned no results.",
|
||||||
"search.results.empty": "Votre recherche n'a retourné aucun résultat.",
|
"search.results.empty": "Votre recherche n'a retourné aucun résultat.",
|
||||||
|
|
||||||
// "search.results.view-result": "View",
|
// "search.results.view-result": "View",
|
||||||
"search.results.view-result": "Afficher",
|
"search.results.view-result": "Afficher",
|
||||||
|
|
||||||
// "default.search.results.head": "Search Results",
|
// "default.search.results.head": "Search Results",
|
||||||
"default.search.results.head": "Résultats de recherche",
|
"default.search.results.head": "Résultats de recherche",
|
||||||
|
|
||||||
// "default-relationships.search.results.head": "Search Results",
|
// "default-relationships.search.results.head": "Search Results",
|
||||||
"default-relationships.search.results.head": "Résultats de recherche",
|
"default-relationships.search.results.head": "Résultats de recherche",
|
||||||
|
|
||||||
// "search.sidebar.close": "Back to results",
|
// "search.sidebar.close": "Back to results",
|
||||||
"search.sidebar.close": "Retour aux résultats",
|
"search.sidebar.close": "Retour aux résultats",
|
||||||
@@ -5067,7 +5067,7 @@
|
|||||||
"submission.general.discard.confirm.cancel": "Annuler",
|
"submission.general.discard.confirm.cancel": "Annuler",
|
||||||
|
|
||||||
// "submission.general.discard.confirm.info": "This operation can't be undone. Are you sure?",
|
// "submission.general.discard.confirm.info": "This operation can't be undone. Are you sure?",
|
||||||
"submission.general.discard.confirm.info": "L'annulation est irréversible, les données de la soumission en cours seront perdues. Êtes-vous certain(e) ?",
|
"submission.general.discard.confirm.info": "L'annulation est irréversible, les données de la soumission en cours seront perdues. Êtes-vous certain(e)?",
|
||||||
|
|
||||||
// "submission.general.discard.confirm.submit": "Yes, I'm sure",
|
// "submission.general.discard.confirm.submit": "Yes, I'm sure",
|
||||||
"submission.general.discard.confirm.submit": "Oui, je suis certain(e)",
|
"submission.general.discard.confirm.submit": "Oui, je suis certain(e)",
|
||||||
@@ -5140,8 +5140,8 @@
|
|||||||
|
|
||||||
// "submission.import-external.source.arxiv": "arXiv",
|
// "submission.import-external.source.arxiv": "arXiv",
|
||||||
"submission.import-external.source.arxiv": "arXiv",
|
"submission.import-external.source.arxiv": "arXiv",
|
||||||
|
|
||||||
// "submission.import-external.source.ads": "NASA/ADS",
|
// "submission.import-external.source.ads": "NASA/ADS",
|
||||||
"submission.import-external.source.ads": "NASA/ADS",
|
"submission.import-external.source.ads": "NASA/ADS",
|
||||||
|
|
||||||
// "submission.import-external.source.cinii": "CiNii",
|
// "submission.import-external.source.cinii": "CiNii",
|
||||||
@@ -5149,7 +5149,7 @@
|
|||||||
|
|
||||||
// "submission.import-external.source.crossref": "CrossRef",
|
// "submission.import-external.source.crossref": "CrossRef",
|
||||||
"submission.import-external.source.crossref": "CrossRef (DOI)",
|
"submission.import-external.source.crossref": "CrossRef (DOI)",
|
||||||
|
|
||||||
//"submission.import-external.source.datacite": "DataCite",
|
//"submission.import-external.source.datacite": "DataCite",
|
||||||
"submission.import-external.source.datacite": "DataCite (DOI)",
|
"submission.import-external.source.datacite": "DataCite (DOI)",
|
||||||
|
|
||||||
@@ -5166,8 +5166,8 @@
|
|||||||
"submission.import-external.source.wos": "Web Of Science",
|
"submission.import-external.source.wos": "Web Of Science",
|
||||||
|
|
||||||
// "submission.import-external.source.orcidWorks": "ORCID",
|
// "submission.import-external.source.orcidWorks": "ORCID",
|
||||||
"submission.import-external.source.orcidWorks": "ORCID",
|
"submission.import-external.source.orcidWorks": "ORCID",
|
||||||
|
|
||||||
//"submission.import-external.source.epo": "European Patent Office (EPO)",
|
//"submission.import-external.source.epo": "European Patent Office (EPO)",
|
||||||
"submission.import-external.source.epo": "Office Européen des brevets (OEB)",
|
"submission.import-external.source.epo": "Office Européen des brevets (OEB)",
|
||||||
|
|
||||||
@@ -5191,7 +5191,7 @@
|
|||||||
|
|
||||||
// "submission.import-external.source.pubmed": "Pubmed",
|
// "submission.import-external.source.pubmed": "Pubmed",
|
||||||
"submission.import-external.source.pubmed": "Pubmed",
|
"submission.import-external.source.pubmed": "Pubmed",
|
||||||
|
|
||||||
// "submission.import-external.source.pubmedeu": "Pubmed Europe",
|
// "submission.import-external.source.pubmedeu": "Pubmed Europe",
|
||||||
"submission.import-external.source.pubmedeu": "Pubmed Europe",
|
"submission.import-external.source.pubmedeu": "Pubmed Europe",
|
||||||
|
|
||||||
@@ -5353,7 +5353,7 @@
|
|||||||
|
|
||||||
// "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalOfPublication": "Local Journals ({{ count }})",
|
// "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalOfPublication": "Local Journals ({{ count }})",
|
||||||
"submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalOfPublication": "Revues locales ({{ count }})",
|
"submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalOfPublication": "Revues locales ({{ count }})",
|
||||||
|
|
||||||
// "submission.sections.describe.relationship-lookup.search-tab.tab-title.Project": "Local Projects ({{ count }})",
|
// "submission.sections.describe.relationship-lookup.search-tab.tab-title.Project": "Local Projects ({{ count }})",
|
||||||
"submission.sections.describe.relationship-lookup.search-tab.tab-title.Project": "Projects locaux ({{ count }})",
|
"submission.sections.describe.relationship-lookup.search-tab.tab-title.Project": "Projects locaux ({{ count }})",
|
||||||
|
|
||||||
@@ -5377,13 +5377,13 @@
|
|||||||
|
|
||||||
// "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalIssueOfPublication": "Local Journal Issues ({{ count }})",
|
// "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalIssueOfPublication": "Local Journal Issues ({{ count }})",
|
||||||
"submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalIssueOfPublication": "Numéros de revue locaux ({{ count }})",
|
"submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalIssueOfPublication": "Numéros de revue locaux ({{ count }})",
|
||||||
|
|
||||||
// "submission.sections.describe.relationship-lookup.search-tab.tab-title.JournalIssue": "Local Journal Issues ({{ count }})",
|
// "submission.sections.describe.relationship-lookup.search-tab.tab-title.JournalIssue": "Local Journal Issues ({{ count }})",
|
||||||
"submission.sections.describe.relationship-lookup.search-tab.tab-title.JournalIssue": "Numéros de revue locaux ({{ count }})",
|
"submission.sections.describe.relationship-lookup.search-tab.tab-title.JournalIssue": "Numéros de revue locaux ({{ count }})",
|
||||||
|
|
||||||
// "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalVolumeOfPublication": "Local Journal Volumes ({{ count }})",
|
// "submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalVolumeOfPublication": "Local Journal Volumes ({{ count }})",
|
||||||
"submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalVolumeOfPublication": "Volumes de revues locaux ({{ count }})",
|
"submission.sections.describe.relationship-lookup.search-tab.tab-title.isJournalVolumeOfPublication": "Volumes de revues locaux ({{ count }})",
|
||||||
|
|
||||||
// "submission.sections.describe.relationship-lookup.search-tab.tab-title.JournalVolume": "Local Journal Volumes ({{ count }})",
|
// "submission.sections.describe.relationship-lookup.search-tab.tab-title.JournalVolume": "Local Journal Volumes ({{ count }})",
|
||||||
"submission.sections.describe.relationship-lookup.search-tab.tab-title.JournalVolume": "Volumes de revues locaux ({{ count }})",
|
"submission.sections.describe.relationship-lookup.search-tab.tab-title.JournalVolume": "Volumes de revues locaux ({{ count }})",
|
||||||
|
|
||||||
@@ -5392,7 +5392,7 @@
|
|||||||
|
|
||||||
// "submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaPublisher": "Sherpa Publishers ({{ count }})",
|
// "submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaPublisher": "Sherpa Publishers ({{ count }})",
|
||||||
"submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaPublisher": "Éditeurs SHERPA ({{ count }})",
|
"submission.sections.describe.relationship-lookup.search-tab.tab-title.sherpaPublisher": "Éditeurs SHERPA ({{ count }})",
|
||||||
|
|
||||||
// "submission.sections.describe.relationship-lookup.search-tab.tab-title.orcid": "ORCID ({{ count }})",
|
// "submission.sections.describe.relationship-lookup.search-tab.tab-title.orcid": "ORCID ({{ count }})",
|
||||||
"submission.sections.describe.relationship-lookup.search-tab.tab-title.orcid": "ORCID ({{ count }})",
|
"submission.sections.describe.relationship-lookup.search-tab.tab-title.orcid": "ORCID ({{ count }})",
|
||||||
|
|
||||||
@@ -5443,13 +5443,13 @@
|
|||||||
|
|
||||||
// "submission.sections.describe.relationship-lookup.title.isJournalIssueOfPublication": "Journal Issues",
|
// "submission.sections.describe.relationship-lookup.title.isJournalIssueOfPublication": "Journal Issues",
|
||||||
"submission.sections.describe.relationship-lookup.title.isJournalIssueOfPublication": "Numéros de revue",
|
"submission.sections.describe.relationship-lookup.title.isJournalIssueOfPublication": "Numéros de revue",
|
||||||
|
|
||||||
// "submission.sections.describe.relationship-lookup.title.JournalIssue": "Journal Issues",
|
// "submission.sections.describe.relationship-lookup.title.JournalIssue": "Journal Issues",
|
||||||
"submission.sections.describe.relationship-lookup.title.JournalIssue": "Numéros de revue",
|
"submission.sections.describe.relationship-lookup.title.JournalIssue": "Numéros de revue",
|
||||||
|
|
||||||
// "submission.sections.describe.relationship-lookup.title.isJournalVolumeOfPublication": "Journal Volumes",
|
// "submission.sections.describe.relationship-lookup.title.isJournalVolumeOfPublication": "Journal Volumes",
|
||||||
"submission.sections.describe.relationship-lookup.title.isJournalVolumeOfPublication": "Volumes de revue",
|
"submission.sections.describe.relationship-lookup.title.isJournalVolumeOfPublication": "Volumes de revue",
|
||||||
|
|
||||||
// "submission.sections.describe.relationship-lookup.title.JournalVolume": "Journal Volumes",
|
// "submission.sections.describe.relationship-lookup.title.JournalVolume": "Journal Volumes",
|
||||||
"submission.sections.describe.relationship-lookup.title.JournalVolume": "Volumes de revue",
|
"submission.sections.describe.relationship-lookup.title.JournalVolume": "Volumes de revue",
|
||||||
|
|
||||||
@@ -5461,7 +5461,7 @@
|
|||||||
|
|
||||||
// "submission.sections.describe.relationship-lookup.title.isFundingAgencyOfPublication": "Funding Agency",
|
// "submission.sections.describe.relationship-lookup.title.isFundingAgencyOfPublication": "Funding Agency",
|
||||||
"submission.sections.describe.relationship-lookup.title.isFundingAgencyOfPublication": "Agence de financement",
|
"submission.sections.describe.relationship-lookup.title.isFundingAgencyOfPublication": "Agence de financement",
|
||||||
|
|
||||||
// "submission.sections.describe.relationship-lookup.title.Project": "Projects",
|
// "submission.sections.describe.relationship-lookup.title.Project": "Projects",
|
||||||
"submission.sections.describe.relationship-lookup.title.Project": "Projets",
|
"submission.sections.describe.relationship-lookup.title.Project": "Projets",
|
||||||
|
|
||||||
@@ -5506,7 +5506,7 @@
|
|||||||
|
|
||||||
// "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalVolumeOfPublication": "Selected Journal Volume",
|
// "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalVolumeOfPublication": "Selected Journal Volume",
|
||||||
"submission.sections.describe.relationship-lookup.selection-tab.title.isJournalVolumeOfPublication": "Volumes de revue sélectionnés",
|
"submission.sections.describe.relationship-lookup.selection-tab.title.isJournalVolumeOfPublication": "Volumes de revue sélectionnés",
|
||||||
|
|
||||||
// "submission.sections.describe.relationship-lookup.selection-tab.title.Project": "Selected Projects",
|
// "submission.sections.describe.relationship-lookup.selection-tab.title.Project": "Selected Projects",
|
||||||
"submission.sections.describe.relationship-lookup.selection-tab.title.Project": "Projets sélectionnés",
|
"submission.sections.describe.relationship-lookup.selection-tab.title.Project": "Projets sélectionnés",
|
||||||
|
|
||||||
@@ -5530,7 +5530,7 @@
|
|||||||
|
|
||||||
// "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalIssueOfPublication": "Selected Issue",
|
// "submission.sections.describe.relationship-lookup.selection-tab.title.isJournalIssueOfPublication": "Selected Issue",
|
||||||
"submission.sections.describe.relationship-lookup.selection-tab.title.isJournalIssueOfPublication": "Numéro sélectionné",
|
"submission.sections.describe.relationship-lookup.selection-tab.title.isJournalIssueOfPublication": "Numéro sélectionné",
|
||||||
|
|
||||||
// "submission.sections.describe.relationship-lookup.selection-tab.title.JournalVolume": "Selected Journal Volume",
|
// "submission.sections.describe.relationship-lookup.selection-tab.title.JournalVolume": "Selected Journal Volume",
|
||||||
"submission.sections.describe.relationship-lookup.selection-tab.title.JournalVolume": "Volume de revue sélectionné",
|
"submission.sections.describe.relationship-lookup.selection-tab.title.JournalVolume": "Volume de revue sélectionné",
|
||||||
|
|
||||||
@@ -5539,7 +5539,7 @@
|
|||||||
|
|
||||||
// "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingOfPublication": "Selected Funding",
|
// "submission.sections.describe.relationship-lookup.selection-tab.title.isFundingOfPublication": "Selected Funding",
|
||||||
"submission.sections.describe.relationship-lookup.selection-tab.title.isFundingOfPublication": "Financement sélectionné",
|
"submission.sections.describe.relationship-lookup.selection-tab.title.isFundingOfPublication": "Financement sélectionné",
|
||||||
|
|
||||||
// "submission.sections.describe.relationship-lookup.selection-tab.title.JournalIssue": "Selected Issue",
|
// "submission.sections.describe.relationship-lookup.selection-tab.title.JournalIssue": "Selected Issue",
|
||||||
"submission.sections.describe.relationship-lookup.selection-tab.title.JournalIssue": "Numéro sélectionné",
|
"submission.sections.describe.relationship-lookup.selection-tab.title.JournalIssue": "Numéro sélectionné",
|
||||||
|
|
||||||
@@ -5567,7 +5567,7 @@
|
|||||||
// "submission.sections.describe.relationship-lookup.selection-tab.title.arxiv": "Search Results",
|
// "submission.sections.describe.relationship-lookup.selection-tab.title.arxiv": "Search Results",
|
||||||
"submission.sections.describe.relationship-lookup.selection-tab.title.arxiv": "Résultats de recherche",
|
"submission.sections.describe.relationship-lookup.selection-tab.title.arxiv": "Résultats de recherche",
|
||||||
|
|
||||||
// "submission.sections.describe.relationship-lookup.name-variant.notification.content": "Would you like to save \"{{ value }}\" as a name variant for this person so you and others can reuse it for future submissions? If you don\'t you can still use it for this submission.",
|
// "submission.sections.describe.relationship-lookup.name-variant.notification.content": "Would you like to save \"{{ value }}\" as a name variant for this person so you and others can reuse it for future submissions? If you don't you can still use it for this submission.",
|
||||||
"submission.sections.describe.relationship-lookup.name-variant.notification.content": "Souhaitez-vous sauvegarder \"{{ value }}\" en tant que nom alternatif pour cette personne afin que vous ou un autre utilisateur puisse l'utiliser pour de futures soumissions ? Si vous ne le souhaitez pas, vous pouvez tout de même l'utiliser pour cette soumission.",
|
"submission.sections.describe.relationship-lookup.name-variant.notification.content": "Souhaitez-vous sauvegarder \"{{ value }}\" en tant que nom alternatif pour cette personne afin que vous ou un autre utilisateur puisse l'utiliser pour de futures soumissions ? Si vous ne le souhaitez pas, vous pouvez tout de même l'utiliser pour cette soumission.",
|
||||||
|
|
||||||
// "submission.sections.describe.relationship-lookup.name-variant.notification.confirm": "Save a new name variant",
|
// "submission.sections.describe.relationship-lookup.name-variant.notification.confirm": "Save a new name variant",
|
||||||
@@ -5640,7 +5640,7 @@
|
|||||||
"submission.sections.general.sections_not_valid": "Sections incomplètes.",
|
"submission.sections.general.sections_not_valid": "Sections incomplètes.",
|
||||||
|
|
||||||
// "submission.sections.submit.progressbar.accessCondition": "Item access conditions",
|
// "submission.sections.submit.progressbar.accessCondition": "Item access conditions",
|
||||||
"submission.sections.submit.progressbar.accessCondition": "Autorisations d'accès à l'Item",
|
"submission.sections.submit.progressbar.accessCondition": "Autorisations d'accès à l'Item",
|
||||||
|
|
||||||
// "submission.sections.submit.progressbar.CClicense": "Creative commons license",
|
// "submission.sections.submit.progressbar.CClicense": "Creative commons license",
|
||||||
"submission.sections.submit.progressbar.CClicense": "Licence Creative Commons",
|
"submission.sections.submit.progressbar.CClicense": "Licence Creative Commons",
|
||||||
@@ -5700,7 +5700,7 @@
|
|||||||
"submission.sections.upload.delete.confirm.cancel": "Annuler",
|
"submission.sections.upload.delete.confirm.cancel": "Annuler",
|
||||||
|
|
||||||
// "submission.sections.upload.delete.confirm.info": "This operation can't be undone. Are you sure?",
|
// "submission.sections.upload.delete.confirm.info": "This operation can't be undone. Are you sure?",
|
||||||
"submission.sections.upload.delete.confirm.info": "Cette opération est irréversible. Êtes-vous certain(e) ?",
|
"submission.sections.upload.delete.confirm.info": "Cette opération est irréversible. Êtes-vous certain(e)?",
|
||||||
|
|
||||||
// "submission.sections.upload.delete.confirm.submit": "Yes, I'm sure",
|
// "submission.sections.upload.delete.confirm.submit": "Yes, I'm sure",
|
||||||
"submission.sections.upload.delete.confirm.submit": "Oui, je suis certain(e)",
|
"submission.sections.upload.delete.confirm.submit": "Oui, je suis certain(e)",
|
||||||
@@ -5760,10 +5760,10 @@
|
|||||||
"submission.sections.upload.form.until-placeholder": "Jusqu'au",
|
"submission.sections.upload.form.until-placeholder": "Jusqu'au",
|
||||||
|
|
||||||
// "submission.sections.upload.header.policy.default.nolist": "Uploaded files in the {{collectionName}} collection will be accessible according to the following group(s):",
|
// "submission.sections.upload.header.policy.default.nolist": "Uploaded files in the {{collectionName}} collection will be accessible according to the following group(s):",
|
||||||
"submission.sections.upload.header.policy.default.nolist": "Les fichiers téléchargés dans la collection {{collectionName}} seront accessibles au(x) groupe(s) suivant(s) :",
|
"submission.sections.upload.header.policy.default.nolist": "Les fichiers téléchargés dans la collection {{collectionName}} seront accessibles au(x) groupe(s) suivant(s):",
|
||||||
|
|
||||||
// "submission.sections.upload.header.policy.default.withlist": "Please note that uploaded files in the {{collectionName}} collection will be accessible, in addition to what is explicitly decided for the single file, with the following group(s):",
|
// "submission.sections.upload.header.policy.default.withlist": "Please note that uploaded files in the {{collectionName}} collection will be accessible, in addition to what is explicitly decided for the single file, with the following group(s):",
|
||||||
"submission.sections.upload.header.policy.default.withlist": "Veuillez noter que, en complément des accès spécifiquement accordés pour le fichier, les fichiers téléchargés dans la collection {{collectionName}} seront accessibles par défaut au(x) groupe(s) suivant(s) :",
|
"submission.sections.upload.header.policy.default.withlist": "Veuillez noter que, en complément des accès spécifiquement accordés pour le fichier, les fichiers téléchargés dans la collection {{collectionName}} seront accessibles par défaut au(x) groupe(s) suivant(s):",
|
||||||
|
|
||||||
// "submission.sections.upload.info": "Here you will find all the files currently in the item. You can update the file metadata and access conditions or <strong>upload additional files by dragging & dropping them anywhere on the page.</strong>",
|
// "submission.sections.upload.info": "Here you will find all the files currently in the item. You can update the file metadata and access conditions or <strong>upload additional files by dragging & dropping them anywhere on the page.</strong>",
|
||||||
"submission.sections.upload.info": "Vous trouverez ici tous les fichiers actuellement associés à l'Item. Vous pouvez éditer les métadonnés et les niveaux d'accès de ce(s) fichier(s) ou <strong>télécharger des fichiers complémentaires simplement en les glissant n'importe où sur cette page</strong>",
|
"submission.sections.upload.info": "Vous trouverez ici tous les fichiers actuellement associés à l'Item. Vous pouvez éditer les métadonnés et les niveaux d'accès de ce(s) fichier(s) ou <strong>télécharger des fichiers complémentaires simplement en les glissant n'importe où sur cette page</strong>",
|
||||||
@@ -5831,16 +5831,16 @@
|
|||||||
// "submission.sections.accesses.form.until-placeholder": "Until",
|
// "submission.sections.accesses.form.until-placeholder": "Until",
|
||||||
"submission.sections.accesses.form.until-placeholder": "Jusqu'au",
|
"submission.sections.accesses.form.until-placeholder": "Jusqu'au",
|
||||||
|
|
||||||
|
|
||||||
// "submission.sections.license.granted-label": "I confirm the license above",
|
// "submission.sections.license.granted-label": "I confirm the license above",
|
||||||
"submission.sections.license.granted-label": "J'approuve la licence ci-dessus",
|
"submission.sections.license.granted-label": "J'approuve la licence ci-dessus",
|
||||||
|
|
||||||
// "submission.sections.license.required": "You must accept the license",
|
// "submission.sections.license.required": "You must accept the license",
|
||||||
"submission.sections.license.required": "Vous devez accepter la licence",
|
"submission.sections.license.required": "Vous devez accepter la licence",
|
||||||
|
|
||||||
// "submission.sections.license.notgranted": "You must accept the license",
|
// "submission.sections.license.notgranted": "You must accept the license",
|
||||||
"submission.sections.license.notgranted": "Vous devez accepter la licence",
|
"submission.sections.license.notgranted": "Vous devez accepter la licence",
|
||||||
|
|
||||||
// "submission.sections.sherpa.publication.information": "Publication information",
|
// "submission.sections.sherpa.publication.information": "Publication information",
|
||||||
"submission.sections.sherpa.publication.information": "Information sur la publication",
|
"submission.sections.sherpa.publication.information": "Information sur la publication",
|
||||||
|
|
||||||
@@ -5851,7 +5851,7 @@
|
|||||||
"submission.sections.sherpa.publication.information.issns": "ISSNs",
|
"submission.sections.sherpa.publication.information.issns": "ISSNs",
|
||||||
|
|
||||||
// "submission.sections.sherpa.publication.information.url": "URL",
|
// "submission.sections.sherpa.publication.information.url": "URL",
|
||||||
"submission.sections.sherpa.publication.information.url": "URL",
|
"submission.sections.sherpa.publication.information.url": "URL",
|
||||||
|
|
||||||
// "submission.sections.sherpa.publication.information.publishers": "Publisher",
|
// "submission.sections.sherpa.publication.information.publishers": "Publisher",
|
||||||
"submission.sections.sherpa.publication.information.publishers": "Éditeur",
|
"submission.sections.sherpa.publication.information.publishers": "Éditeur",
|
||||||
@@ -5918,8 +5918,8 @@
|
|||||||
|
|
||||||
// "submission.sections.sherpa.error.message": "There was an error retrieving sherpa informations",
|
// "submission.sections.sherpa.error.message": "There was an error retrieving sherpa informations",
|
||||||
"submission.sections.sherpa.error.message": "Une erreur s'est produite lors de la recherche d'infomation dans Sherpa.",
|
"submission.sections.sherpa.error.message": "Une erreur s'est produite lors de la recherche d'infomation dans Sherpa.",
|
||||||
|
|
||||||
|
|
||||||
// "submission.submit.breadcrumbs": "New submission",
|
// "submission.submit.breadcrumbs": "New submission",
|
||||||
"submission.submit.breadcrumbs": "Nouvelle soumission",
|
"submission.submit.breadcrumbs": "Nouvelle soumission",
|
||||||
|
|
||||||
@@ -6003,7 +6003,7 @@
|
|||||||
|
|
||||||
// "submission.workflow.tasks.pool.show-detail": "Show detail",
|
// "submission.workflow.tasks.pool.show-detail": "Show detail",
|
||||||
"submission.workflow.tasks.pool.show-detail": "Afficher le détail",
|
"submission.workflow.tasks.pool.show-detail": "Afficher le détail",
|
||||||
|
|
||||||
// "submission.workspace.generic.view": "View",
|
// "submission.workspace.generic.view": "View",
|
||||||
"submission.workspace.generic.view": "Voir",
|
"submission.workspace.generic.view": "Voir",
|
||||||
|
|
||||||
@@ -6086,13 +6086,13 @@
|
|||||||
// "virtual-metadata.delete-relationship.modal-head": "Select the items for which you want to save the virtual metadata as real metadata",
|
// "virtual-metadata.delete-relationship.modal-head": "Select the items for which you want to save the virtual metadata as real metadata",
|
||||||
"virtual-metadata.delete-relationship.modal-head": "Sélectionner les Items pour lesquels vous souhaitez sauvegarder les métadonnées virtuelles en tant que métadonnées réelles",
|
"virtual-metadata.delete-relationship.modal-head": "Sélectionner les Items pour lesquels vous souhaitez sauvegarder les métadonnées virtuelles en tant que métadonnées réelles",
|
||||||
|
|
||||||
|
|
||||||
//"supervisedWorkspace.search.results.head": "Supervised Items",
|
//"supervisedWorkspace.search.results.head": "Supervised Items",
|
||||||
"supervisedWorkspace.search.results.head": "Items supervisés",
|
"supervisedWorkspace.search.results.head": "Documents supervisés",
|
||||||
|
|
||||||
//"workspace.search.results.head": "Your submissions",
|
//"workspace.search.results.head": "Your submissions",
|
||||||
"workspace.search.results.head": "Vos dépôts",
|
"workspace.search.results.head": "Vos dépôts",
|
||||||
|
|
||||||
// "workspace.search.results.head": "Your submissions",
|
// "workspace.search.results.head": "Your submissions",
|
||||||
"workspace.search.results.head": "Vos dépôts",
|
"workspace.search.results.head": "Vos dépôts",
|
||||||
|
|
||||||
@@ -6101,7 +6101,7 @@
|
|||||||
|
|
||||||
// "workflow.search.results.head": "Workflow tasks",
|
// "workflow.search.results.head": "Workflow tasks",
|
||||||
"workflow.search.results.head": "Tableau de suivi",
|
"workflow.search.results.head": "Tableau de suivi",
|
||||||
|
|
||||||
//"supervision.search.results.head": "Workflow and Workspace tasks",
|
//"supervision.search.results.head": "Workflow and Workspace tasks",
|
||||||
"supervision.search.results.head": "Tableau de suivi et dépôts en cours",
|
"supervision.search.results.head": "Tableau de suivi et dépôts en cours",
|
||||||
|
|
||||||
@@ -6159,7 +6159,7 @@
|
|||||||
// "workflow-item.send-back.button.confirm": "Send back",
|
// "workflow-item.send-back.button.confirm": "Send back",
|
||||||
"workflow-item.send-back.button.confirm": "Renvoyer",
|
"workflow-item.send-back.button.confirm": "Renvoyer",
|
||||||
|
|
||||||
// "workflow-item.view.breadcrumbs": "Workflow View",
|
// "workflow-item.view.breadcrumbs": "Workflow View",
|
||||||
"workflow-item.view.breadcrumbs": "Vue d'ensemble du Workflow",
|
"workflow-item.view.breadcrumbs": "Vue d'ensemble du Workflow",
|
||||||
|
|
||||||
// "workspace-item.view.breadcrumbs": "Workspace View",
|
// "workspace-item.view.breadcrumbs": "Workspace View",
|
||||||
@@ -6179,47 +6179,47 @@
|
|||||||
|
|
||||||
// "idle-modal.extend-session": "Extend session",
|
// "idle-modal.extend-session": "Extend session",
|
||||||
"idle-modal.extend-session": "Prolonger la session",
|
"idle-modal.extend-session": "Prolonger la session",
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// "system-wide-alert-banner.retrieval.error": "Something went wrong retrieving the system-wide alert banner",
|
// "system-wide-alert-banner.retrieval.error": "Something went wrong retrieving the system-wide alert banner",
|
||||||
"system-wide-alert-banner.retrieval.error": "Une erreur s'est produite lors de la récupération de la bannière du message d'avertissement",
|
"system-wide-alert-banner.retrieval.error": "Une erreur s'est produite lors de la récupération de la bannière du message d'avertissement",
|
||||||
|
|
||||||
//"system-wide-alert-banner.countdown.prefix": "In",
|
//"system-wide-alert-banner.countdown.prefix": "In",
|
||||||
"system-wide-alert-banner.countdown.prefix": "Dans",
|
"system-wide-alert-banner.countdown.prefix": "Dans",
|
||||||
|
|
||||||
// "system-wide-alert-banner.countdown.days": "{{days}} day(s),",
|
// "system-wide-alert-banner.countdown.days": "{{days}} day(s),",
|
||||||
"system-wide-alert-banner.countdown.days": "{{days}} jour(s),",
|
"system-wide-alert-banner.countdown.days": "{{days}} jour(s),",
|
||||||
|
|
||||||
// "system-wide-alert-banner.countdown.hours": "{{hours}} hour(s) and",
|
// "system-wide-alert-banner.countdown.hours": "{{hours}} hour(s) and",
|
||||||
"system-wide-alert-banner.countdown.hours": "{{hours}} heure(s) et",
|
"system-wide-alert-banner.countdown.hours": "{{hours}} heure(s) et",
|
||||||
|
|
||||||
// "system-wide-alert-banner.countdown.minutes": "{{minutes}} minute(s):",
|
// "system-wide-alert-banner.countdown.minutes": "{{minutes}} minute(s):",
|
||||||
"system-wide-alert-banner.countdown.minutes": "{{minutes}} minute(s):",
|
"system-wide-alert-banner.countdown.minutes": "{{minutes}} minute(s):",
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// "menu.section.system-wide-alert": "System-wide Alert",
|
// "menu.section.system-wide-alert": "System-wide Alert",
|
||||||
"menu.section.system-wide-alert": "Messages d'avertissement",
|
"menu.section.system-wide-alert": "Messages d'avertissement",
|
||||||
|
|
||||||
// "system-wide-alert.form.header": "System-wide Alert",
|
// "system-wide-alert.form.header": "System-wide Alert",
|
||||||
"system-wide-alert.form.header": "Messages d'avertissement",
|
"system-wide-alert.form.header": "Messages d'avertissement",
|
||||||
|
|
||||||
// "system-wide-alert-form.retrieval.error": "Something went wrong retrieving the system-wide alert",
|
// "system-wide-alert-form.retrieval.error": "Something went wrong retrieving the system-wide alert",
|
||||||
"system-wide-alert-form.retrieval.error": "Une erreur s'est produite lors de la récupération de la bannière du message d'avertissement",
|
"system-wide-alert-form.retrieval.error": "Une erreur s'est produite lors de la récupération de la bannière du message d'avertissement",
|
||||||
|
|
||||||
//"system-wide-alert.form.cancel": "Cancel",
|
//"system-wide-alert.form.cancel": "Cancel",
|
||||||
"system-wide-alert.form.cancel": "Annuler",
|
"system-wide-alert.form.cancel": "Annuler",
|
||||||
|
|
||||||
|
|
||||||
//"system-wide-alert.form.save": "Save",
|
//"system-wide-alert.form.save": "Save",
|
||||||
"system-wide-alert.form.save": "Sauvegarder",
|
"system-wide-alert.form.save": "Sauvegarder",
|
||||||
|
|
||||||
//"system-wide-alert.form.label.active": "ACTIVE",
|
//"system-wide-alert.form.label.active": "ACTIVE",
|
||||||
"system-wide-alert.form.label.active": "ACTIF",
|
"system-wide-alert.form.label.active": "ACTIF",
|
||||||
|
|
||||||
//"system-wide-alert.form.label.inactive": "INACTIVE",
|
//"system-wide-alert.form.label.inactive": "INACTIVE",
|
||||||
"system-wide-alert.form.label.inactive": "INACTIF",
|
"system-wide-alert.form.label.inactive": "INACTIF",
|
||||||
|
|
||||||
//"system-wide-alert.form.error.message": "The system wide alert must have a message",
|
//"system-wide-alert.form.error.message": "The system wide alert must have a message",
|
||||||
"system-wide-alert.form.error.message": "Le message d'avertissement ne peut pas être vide",
|
"system-wide-alert.form.error.message": "Le message d'avertissement ne peut pas être vide",
|
||||||
@@ -6233,7 +6233,7 @@
|
|||||||
//"system-wide-alert.form.label.countdownTo.hint": "Hint: Set a countdown timer. When enabled, a date can be set in the future and the system-wide alert banner will perform a countdown to the set date. When this timer ends, it will disappear from the alert. The server will NOT be automatically stopped.",
|
//"system-wide-alert.form.label.countdownTo.hint": "Hint: Set a countdown timer. When enabled, a date can be set in the future and the system-wide alert banner will perform a countdown to the set date. When this timer ends, it will disappear from the alert. The server will NOT be automatically stopped.",
|
||||||
"system-wide-alert.form.label.countdownTo.hint": "Lorsque cette option est activée, il est possible de fixer une date dans le futur et la bannière du message d'avertissement effectuera un compte à rebours jusqu'à la date fixée. À la fin du compte à rebours, le message d'avertissement disparaîtra mais le serveur ne sera pas arrêté automatiquement.",
|
"system-wide-alert.form.label.countdownTo.hint": "Lorsque cette option est activée, il est possible de fixer une date dans le futur et la bannière du message d'avertissement effectuera un compte à rebours jusqu'à la date fixée. À la fin du compte à rebours, le message d'avertissement disparaîtra mais le serveur ne sera pas arrêté automatiquement.",
|
||||||
|
|
||||||
//"system-wide-alert.form.label.preview": "System-wide alert preview",
|
//"system-wide-alert.form.label.preview": "System-wide alert preview",
|
||||||
"system-wide-alert.form.label.preview": "Aperçu du message d'avertissement",
|
"system-wide-alert.form.label.preview": "Aperçu du message d'avertissement",
|
||||||
|
|
||||||
//"system-wide-alert.form.update.success": "The system-wide alert was successfully updated",
|
//"system-wide-alert.form.update.success": "The system-wide alert was successfully updated",
|
||||||
@@ -6253,7 +6253,7 @@
|
|||||||
|
|
||||||
//"admin.system-wide-alert.title": "System-wide Alerts",
|
//"admin.system-wide-alert.title": "System-wide Alerts",
|
||||||
"admin.system-wide-alert.title": "Messages d'avertissement",
|
"admin.system-wide-alert.title": "Messages d'avertissement",
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -196,7 +196,7 @@
|
|||||||
// "admin.registries.bitstream-formats.table.name": "Name",
|
// "admin.registries.bitstream-formats.table.name": "Name",
|
||||||
"admin.registries.bitstream-formats.table.name": "Név",
|
"admin.registries.bitstream-formats.table.name": "Név",
|
||||||
// "admin.registries.bitstream-formats.table.id" : "ID",
|
// "admin.registries.bitstream-formats.table.id" : "ID",
|
||||||
"admin.registries.bitstream-formats.table.id" : "ID",
|
"admin.registries.bitstream-formats.table.id": "ID",
|
||||||
|
|
||||||
// "admin.registries.bitstream-formats.table.return": "Back",
|
// "admin.registries.bitstream-formats.table.return": "Back",
|
||||||
"admin.registries.bitstream-formats.table.return": "Vissza",
|
"admin.registries.bitstream-formats.table.return": "Vissza",
|
||||||
@@ -277,7 +277,7 @@
|
|||||||
// "admin.registries.schema.fields.table.field": "Field",
|
// "admin.registries.schema.fields.table.field": "Field",
|
||||||
"admin.registries.schema.fields.table.field": "Mező",
|
"admin.registries.schema.fields.table.field": "Mező",
|
||||||
// "admin.registries.schema.fields.table.id" : "ID",
|
// "admin.registries.schema.fields.table.id" : "ID",
|
||||||
"admin.registries.schema.fields.table.id" : "ID",
|
"admin.registries.schema.fields.table.id": "ID",
|
||||||
|
|
||||||
// "admin.registries.schema.fields.table.scopenote": "Scope Note",
|
// "admin.registries.schema.fields.table.scopenote": "Scope Note",
|
||||||
"admin.registries.schema.fields.table.scopenote": "Cél megjegyzés",
|
"admin.registries.schema.fields.table.scopenote": "Cél megjegyzés",
|
||||||
@@ -2208,10 +2208,10 @@
|
|||||||
|
|
||||||
// "curation-task.task.citationpage.label": "Generate Citation Page",
|
// "curation-task.task.citationpage.label": "Generate Citation Page",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"curation-task.task.citationpage.label": "Generate Citation Page",
|
"curation-task.task.citationpage.label": "Generate Citation Page",
|
||||||
|
|
||||||
// "curation-task.task.checklinks.label": "Check Links in Metadata",
|
// "curation-task.task.checklinks.label": "Check Links in Metadata",
|
||||||
"curation-task.task.checklinks.label": "Hivatkozások ellenőrzése a metaadatokban",
|
"curation-task.task.checklinks.label": "Hivatkozások ellenőrzése a metaadatokban",
|
||||||
|
|
||||||
// "curation-task.task.noop.label": "NOOP",
|
// "curation-task.task.noop.label": "NOOP",
|
||||||
"curation-task.task.noop.label": "NOOP",
|
"curation-task.task.noop.label": "NOOP",
|
||||||
@@ -2443,7 +2443,7 @@
|
|||||||
|
|
||||||
// "supervision-group-selector.notification.create.already-existing" : "A supervision order already exists on this item for selected group",
|
// "supervision-group-selector.notification.create.already-existing" : "A supervision order already exists on this item for selected group",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"supervision-group-selector.notification.create.already-existing" : "A supervision order already exists on this item for selected group",
|
"supervision-group-selector.notification.create.already-existing": "A supervision order already exists on this item for selected group",
|
||||||
|
|
||||||
// "confirmation-modal.export-metadata.header": "Export metadata for {{ dsoName }}",
|
// "confirmation-modal.export-metadata.header": "Export metadata for {{ dsoName }}",
|
||||||
"confirmation-modal.export-metadata.header": "Metaadat exportálásának célja {{ dsoName }}",
|
"confirmation-modal.export-metadata.header": "Metaadat exportálásának célja {{ dsoName }}",
|
||||||
@@ -2621,10 +2621,10 @@
|
|||||||
"footer.link.privacy-policy": "Adatvédelmi nyilatkozat",
|
"footer.link.privacy-policy": "Adatvédelmi nyilatkozat",
|
||||||
|
|
||||||
// "footer.link.end-user-agreement":"End User Agreement",
|
// "footer.link.end-user-agreement":"End User Agreement",
|
||||||
"footer.link.end-user-agreement":"Felhasználói feltételek",
|
"footer.link.end-user-agreement": "Felhasználói feltételek",
|
||||||
|
|
||||||
// "footer.link.feedback":"Send Feedback",
|
// "footer.link.feedback":"Send Feedback",
|
||||||
"footer.link.feedback":"Visszajelzés küldése",
|
"footer.link.feedback": "Visszajelzés küldése",
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -2889,15 +2889,15 @@
|
|||||||
|
|
||||||
// "health-page.heading" : "Health",
|
// "health-page.heading" : "Health",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"health-page.heading" : "Health",
|
"health-page.heading": "Health",
|
||||||
|
|
||||||
// "health-page.info-tab" : "Info",
|
// "health-page.info-tab" : "Info",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"health-page.info-tab" : "Info",
|
"health-page.info-tab": "Info",
|
||||||
|
|
||||||
// "health-page.status-tab" : "Status",
|
// "health-page.status-tab" : "Status",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"health-page.status-tab" : "Status",
|
"health-page.status-tab": "Status",
|
||||||
|
|
||||||
// "health-page.error.msg": "The health check service is temporarily unavailable",
|
// "health-page.error.msg": "The health check service is temporarily unavailable",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
@@ -3046,23 +3046,23 @@
|
|||||||
|
|
||||||
// "info.feedback.create.success" : "Feedback Sent Successfully!",
|
// "info.feedback.create.success" : "Feedback Sent Successfully!",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"info.feedback.create.success" : "Feedback Sent Successfully!",
|
"info.feedback.create.success": "Feedback Sent Successfully!",
|
||||||
|
|
||||||
// "info.feedback.error.email.required" : "A valid email address is required",
|
// "info.feedback.error.email.required" : "A valid email address is required",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"info.feedback.error.email.required" : "A valid email address is required",
|
"info.feedback.error.email.required": "A valid email address is required",
|
||||||
|
|
||||||
// "info.feedback.error.message.required" : "A comment is required",
|
// "info.feedback.error.message.required" : "A comment is required",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"info.feedback.error.message.required" : "A comment is required",
|
"info.feedback.error.message.required": "A comment is required",
|
||||||
|
|
||||||
// "info.feedback.page-label" : "Page",
|
// "info.feedback.page-label" : "Page",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"info.feedback.page-label" : "Page",
|
"info.feedback.page-label": "Page",
|
||||||
|
|
||||||
// "info.feedback.page_help" : "Tha page related to your feedback",
|
// "info.feedback.page_help" : "Tha page related to your feedback",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"info.feedback.page_help" : "Tha page related to your feedback",
|
"info.feedback.page_help": "Tha page related to your feedback",
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -3966,10 +3966,10 @@
|
|||||||
"item.page.bitstreams.collapse": "Bezár",
|
"item.page.bitstreams.collapse": "Bezár",
|
||||||
|
|
||||||
// "item.page.filesection.original.bundle" : "Original bundle",
|
// "item.page.filesection.original.bundle" : "Original bundle",
|
||||||
"item.page.filesection.original.bundle" : "Eredeti csomag",
|
"item.page.filesection.original.bundle": "Eredeti csomag",
|
||||||
|
|
||||||
// "item.page.filesection.license.bundle" : "License bundle",
|
// "item.page.filesection.license.bundle" : "License bundle",
|
||||||
"item.page.filesection.license.bundle" : "Licenccsomag",
|
"item.page.filesection.license.bundle": "Licenccsomag",
|
||||||
|
|
||||||
// "item.page.return": "Back",
|
// "item.page.return": "Back",
|
||||||
"item.page.return": "Vissza",
|
"item.page.return": "Vissza",
|
||||||
@@ -4020,19 +4020,19 @@
|
|||||||
|
|
||||||
// "item.preview.oaire.citation.issue" : "Issue",
|
// "item.preview.oaire.citation.issue" : "Issue",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"item.preview.oaire.citation.issue" : "Issue",
|
"item.preview.oaire.citation.issue": "Issue",
|
||||||
|
|
||||||
// "item.preview.oaire.citation.volume" : "Volume",
|
// "item.preview.oaire.citation.volume" : "Volume",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"item.preview.oaire.citation.volume" : "Volume",
|
"item.preview.oaire.citation.volume": "Volume",
|
||||||
|
|
||||||
// "item.preview.dc.relation.issn" : "ISSN",
|
// "item.preview.dc.relation.issn" : "ISSN",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"item.preview.dc.relation.issn" : "ISSN",
|
"item.preview.dc.relation.issn": "ISSN",
|
||||||
|
|
||||||
// "item.preview.dc.identifier.isbn" : "ISBN",
|
// "item.preview.dc.identifier.isbn" : "ISBN",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"item.preview.dc.identifier.isbn" : "ISBN",
|
"item.preview.dc.identifier.isbn": "ISBN",
|
||||||
|
|
||||||
// "item.preview.dc.identifier": "Identifier:",
|
// "item.preview.dc.identifier": "Identifier:",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
@@ -4040,11 +4040,11 @@
|
|||||||
|
|
||||||
// "item.preview.dc.relation.ispartof" : "Journal or Serie",
|
// "item.preview.dc.relation.ispartof" : "Journal or Serie",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"item.preview.dc.relation.ispartof" : "Journal or Serie",
|
"item.preview.dc.relation.ispartof": "Journal or Serie",
|
||||||
|
|
||||||
// "item.preview.dc.identifier.doi" : "DOI",
|
// "item.preview.dc.identifier.doi" : "DOI",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"item.preview.dc.identifier.doi" : "DOI",
|
"item.preview.dc.identifier.doi": "DOI",
|
||||||
|
|
||||||
// "item.preview.person.familyName": "Surname:",
|
// "item.preview.person.familyName": "Surname:",
|
||||||
"item.preview.person.familyName": "Keresztnév:",
|
"item.preview.person.familyName": "Keresztnév:",
|
||||||
@@ -4220,15 +4220,15 @@
|
|||||||
|
|
||||||
// "item.version.create.notification.success" : "New version has been created with version number {{version}}",
|
// "item.version.create.notification.success" : "New version has been created with version number {{version}}",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"item.version.create.notification.success" : "New version has been created with version number {{version}}",
|
"item.version.create.notification.success": "New version has been created with version number {{version}}",
|
||||||
|
|
||||||
// "item.version.create.notification.failure" : "New version has not been created",
|
// "item.version.create.notification.failure" : "New version has not been created",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"item.version.create.notification.failure" : "New version has not been created",
|
"item.version.create.notification.failure": "New version has not been created",
|
||||||
|
|
||||||
// "item.version.create.notification.inProgress" : "A new version cannot be created because there is an inprogress submission in the version history",
|
// "item.version.create.notification.inProgress" : "A new version cannot be created because there is an inprogress submission in the version history",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"item.version.create.notification.inProgress" : "A new version cannot be created because there is an inprogress submission in the version history",
|
"item.version.create.notification.inProgress": "A new version cannot be created because there is an inprogress submission in the version history",
|
||||||
|
|
||||||
|
|
||||||
// "item.version.delete.modal.header": "Delete version",
|
// "item.version.delete.modal.header": "Delete version",
|
||||||
@@ -4257,20 +4257,20 @@
|
|||||||
|
|
||||||
// "item.version.delete.notification.success" : "Version number {{version}} has been deleted",
|
// "item.version.delete.notification.success" : "Version number {{version}} has been deleted",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"item.version.delete.notification.success" : "Version number {{version}} has been deleted",
|
"item.version.delete.notification.success": "Version number {{version}} has been deleted",
|
||||||
|
|
||||||
// "item.version.delete.notification.failure" : "Version number {{version}} has not been deleted",
|
// "item.version.delete.notification.failure" : "Version number {{version}} has not been deleted",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"item.version.delete.notification.failure" : "Version number {{version}} has not been deleted",
|
"item.version.delete.notification.failure": "Version number {{version}} has not been deleted",
|
||||||
|
|
||||||
|
|
||||||
// "item.version.edit.notification.success" : "The summary of version number {{version}} has been changed",
|
// "item.version.edit.notification.success" : "The summary of version number {{version}} has been changed",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"item.version.edit.notification.success" : "The summary of version number {{version}} has been changed",
|
"item.version.edit.notification.success": "The summary of version number {{version}} has been changed",
|
||||||
|
|
||||||
// "item.version.edit.notification.failure" : "The summary of version number {{version}} has not been changed",
|
// "item.version.edit.notification.failure" : "The summary of version number {{version}} has not been changed",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"item.version.edit.notification.failure" : "The summary of version number {{version}} has not been changed",
|
"item.version.edit.notification.failure": "The summary of version number {{version}} has not been changed",
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -5065,15 +5065,15 @@
|
|||||||
|
|
||||||
// "nav.subscriptions" : "Subscriptions",
|
// "nav.subscriptions" : "Subscriptions",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"nav.subscriptions" : "Subscriptions",
|
"nav.subscriptions": "Subscriptions",
|
||||||
|
|
||||||
// "nav.toggle" : "Toggle navigation",
|
// "nav.toggle" : "Toggle navigation",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"nav.toggle" : "Toggle navigation",
|
"nav.toggle": "Toggle navigation",
|
||||||
|
|
||||||
// "nav.user.description" : "User profile bar",
|
// "nav.user.description" : "User profile bar",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"nav.user.description" : "User profile bar",
|
"nav.user.description": "User profile bar",
|
||||||
|
|
||||||
// "none.listelement.badge": "Item",
|
// "none.listelement.badge": "Item",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
@@ -5241,16 +5241,16 @@
|
|||||||
|
|
||||||
|
|
||||||
// "process.detail.arguments" : "Arguments",
|
// "process.detail.arguments" : "Arguments",
|
||||||
"process.detail.arguments" : "Érvek",
|
"process.detail.arguments": "Érvek",
|
||||||
|
|
||||||
// "process.detail.arguments.empty" : "This process doesn't contain any arguments",
|
// "process.detail.arguments.empty" : "This process doesn't contain any arguments",
|
||||||
"process.detail.arguments.empty" : "Ez a folyamat nem tartalmaz érveket",
|
"process.detail.arguments.empty": "Ez a folyamat nem tartalmaz érveket",
|
||||||
|
|
||||||
// "process.detail.back" : "Back",
|
// "process.detail.back" : "Back",
|
||||||
"process.detail.back" : "Vissza",
|
"process.detail.back": "Vissza",
|
||||||
|
|
||||||
// "process.detail.output" : "Process Output",
|
// "process.detail.output" : "Process Output",
|
||||||
"process.detail.output" : "Folyamat eredménye",
|
"process.detail.output": "Folyamat eredménye",
|
||||||
|
|
||||||
// "process.detail.logs.button": "Retrieve process output",
|
// "process.detail.logs.button": "Retrieve process output",
|
||||||
"process.detail.logs.button": "Folyamatkimenet lekérése",
|
"process.detail.logs.button": "Folyamatkimenet lekérése",
|
||||||
@@ -5262,28 +5262,28 @@
|
|||||||
"process.detail.logs.none": "Ennek a folyamatnak nincs kimenete",
|
"process.detail.logs.none": "Ennek a folyamatnak nincs kimenete",
|
||||||
|
|
||||||
// "process.detail.output-files" : "Output Files",
|
// "process.detail.output-files" : "Output Files",
|
||||||
"process.detail.output-files" : "Kimeneti fájlok",
|
"process.detail.output-files": "Kimeneti fájlok",
|
||||||
|
|
||||||
// "process.detail.output-files.empty" : "This process doesn't contain any output files",
|
// "process.detail.output-files.empty" : "This process doesn't contain any output files",
|
||||||
"process.detail.output-files.empty" : "Ennek a folyamatnak nincsenek kimeneti fájljai",
|
"process.detail.output-files.empty": "Ennek a folyamatnak nincsenek kimeneti fájljai",
|
||||||
|
|
||||||
// "process.detail.script" : "Script",
|
// "process.detail.script" : "Script",
|
||||||
"process.detail.script" : "Szkript",
|
"process.detail.script": "Szkript",
|
||||||
|
|
||||||
// "process.detail.title" : "Process: {{ id }} - {{ name }}",
|
// "process.detail.title" : "Process: {{ id }} - {{ name }}",
|
||||||
"process.detail.title" : "Folyamat: {{ id }} - {{ name }}",
|
"process.detail.title": "Folyamat: {{ id }} - {{ name }}",
|
||||||
|
|
||||||
// "process.detail.start-time" : "Start time",
|
// "process.detail.start-time" : "Start time",
|
||||||
"process.detail.start-time" : "Kezdési idő",
|
"process.detail.start-time": "Kezdési idő",
|
||||||
|
|
||||||
// "process.detail.end-time" : "Finish time",
|
// "process.detail.end-time" : "Finish time",
|
||||||
"process.detail.end-time" : "Végzési idő",
|
"process.detail.end-time": "Végzési idő",
|
||||||
|
|
||||||
// "process.detail.status" : "Status",
|
// "process.detail.status" : "Status",
|
||||||
"process.detail.status" : "Állapot",
|
"process.detail.status": "Állapot",
|
||||||
|
|
||||||
// "process.detail.create" : "Create similar process",
|
// "process.detail.create" : "Create similar process",
|
||||||
"process.detail.create" : "Hasonló folyamat létrehozása",
|
"process.detail.create": "Hasonló folyamat létrehozása",
|
||||||
|
|
||||||
// "process.detail.actions": "Actions",
|
// "process.detail.actions": "Actions",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
@@ -5321,23 +5321,23 @@
|
|||||||
|
|
||||||
// "process.overview.table.finish" : "Finish time (UTC)",
|
// "process.overview.table.finish" : "Finish time (UTC)",
|
||||||
// TODO Source message changed - Revise the translation
|
// TODO Source message changed - Revise the translation
|
||||||
"process.overview.table.finish" : "Végzési idő",
|
"process.overview.table.finish": "Végzési idő",
|
||||||
|
|
||||||
// "process.overview.table.id" : "Process ID",
|
// "process.overview.table.id" : "Process ID",
|
||||||
"process.overview.table.id" : "Folyamat ID",
|
"process.overview.table.id": "Folyamat ID",
|
||||||
|
|
||||||
// "process.overview.table.name" : "Name",
|
// "process.overview.table.name" : "Name",
|
||||||
"process.overview.table.name" : "Név",
|
"process.overview.table.name": "Név",
|
||||||
|
|
||||||
// "process.overview.table.start" : "Start time (UTC)",
|
// "process.overview.table.start" : "Start time (UTC)",
|
||||||
// TODO Source message changed - Revise the translation
|
// TODO Source message changed - Revise the translation
|
||||||
"process.overview.table.start" : "Kezdési idő",
|
"process.overview.table.start": "Kezdési idő",
|
||||||
|
|
||||||
// "process.overview.table.status" : "Status",
|
// "process.overview.table.status" : "Status",
|
||||||
"process.overview.table.status" : "Állapot",
|
"process.overview.table.status": "Állapot",
|
||||||
|
|
||||||
// "process.overview.table.user" : "User",
|
// "process.overview.table.user" : "User",
|
||||||
"process.overview.table.user" : "Felhasználó",
|
"process.overview.table.user": "Felhasználó",
|
||||||
|
|
||||||
// "process.overview.title": "Processes Overview",
|
// "process.overview.title": "Processes Overview",
|
||||||
"process.overview.title": "Folyaamt áttekintő",
|
"process.overview.title": "Folyaamt áttekintő",
|
||||||
@@ -7476,7 +7476,7 @@
|
|||||||
|
|
||||||
// "submission.sections.license.notgranted": "You must accept the license",
|
// "submission.sections.license.notgranted": "You must accept the license",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"submission.sections.license.notgranted": "You must accept the license",
|
"submission.sections.license.notgranted": "You must accept the license",
|
||||||
|
|
||||||
|
|
||||||
// "submission.sections.sherpa.publication.information": "Publication information",
|
// "submission.sections.sherpa.publication.information": "Publication information",
|
||||||
@@ -8124,7 +8124,7 @@
|
|||||||
|
|
||||||
// "researcher.profile.action.processing" : "Processing...",
|
// "researcher.profile.action.processing" : "Processing...",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"researcher.profile.action.processing" : "Processing...",
|
"researcher.profile.action.processing": "Processing...",
|
||||||
|
|
||||||
// "researcher.profile.associated": "Researcher profile associated",
|
// "researcher.profile.associated": "Researcher profile associated",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
@@ -8168,11 +8168,11 @@
|
|||||||
|
|
||||||
// "researcher.profile.private.visibility" : "PRIVATE",
|
// "researcher.profile.private.visibility" : "PRIVATE",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"researcher.profile.private.visibility" : "PRIVATE",
|
"researcher.profile.private.visibility": "PRIVATE",
|
||||||
|
|
||||||
// "researcher.profile.public.visibility" : "PUBLIC",
|
// "researcher.profile.public.visibility" : "PUBLIC",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"researcher.profile.public.visibility" : "PUBLIC",
|
"researcher.profile.public.visibility": "PUBLIC",
|
||||||
|
|
||||||
// "researcher.profile.status": "Status:",
|
// "researcher.profile.status": "Status:",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
@@ -8184,19 +8184,19 @@
|
|||||||
|
|
||||||
// "researcherprofile.error.claim.body" : "An error occurred while claiming the profile, please try again later",
|
// "researcherprofile.error.claim.body" : "An error occurred while claiming the profile, please try again later",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"researcherprofile.error.claim.body" : "An error occurred while claiming the profile, please try again later",
|
"researcherprofile.error.claim.body": "An error occurred while claiming the profile, please try again later",
|
||||||
|
|
||||||
// "researcherprofile.error.claim.title" : "Error",
|
// "researcherprofile.error.claim.title" : "Error",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"researcherprofile.error.claim.title" : "Error",
|
"researcherprofile.error.claim.title": "Error",
|
||||||
|
|
||||||
// "researcherprofile.success.claim.body" : "Profile claimed with success",
|
// "researcherprofile.success.claim.body" : "Profile claimed with success",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"researcherprofile.success.claim.body" : "Profile claimed with success",
|
"researcherprofile.success.claim.body": "Profile claimed with success",
|
||||||
|
|
||||||
// "researcherprofile.success.claim.title" : "Success",
|
// "researcherprofile.success.claim.title" : "Success",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"researcherprofile.success.claim.title" : "Success",
|
"researcherprofile.success.claim.title": "Success",
|
||||||
|
|
||||||
// "person.page.orcid.create": "Create an ORCID ID",
|
// "person.page.orcid.create": "Create an ORCID ID",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
@@ -8208,7 +8208,7 @@
|
|||||||
|
|
||||||
// "person.page.orcid.grant-authorizations" : "Grant authorizations",
|
// "person.page.orcid.grant-authorizations" : "Grant authorizations",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"person.page.orcid.grant-authorizations" : "Grant authorizations",
|
"person.page.orcid.grant-authorizations": "Grant authorizations",
|
||||||
|
|
||||||
// "person.page.orcid.link": "Connect to ORCID ID",
|
// "person.page.orcid.link": "Connect to ORCID ID",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
@@ -8272,55 +8272,55 @@
|
|||||||
|
|
||||||
// "person.page.orcid.sync-profile.affiliation" : "Affiliation",
|
// "person.page.orcid.sync-profile.affiliation" : "Affiliation",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"person.page.orcid.sync-profile.affiliation" : "Affiliation",
|
"person.page.orcid.sync-profile.affiliation": "Affiliation",
|
||||||
|
|
||||||
// "person.page.orcid.sync-profile.biographical" : "Biographical data",
|
// "person.page.orcid.sync-profile.biographical" : "Biographical data",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"person.page.orcid.sync-profile.biographical" : "Biographical data",
|
"person.page.orcid.sync-profile.biographical": "Biographical data",
|
||||||
|
|
||||||
// "person.page.orcid.sync-profile.education" : "Education",
|
// "person.page.orcid.sync-profile.education" : "Education",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"person.page.orcid.sync-profile.education" : "Education",
|
"person.page.orcid.sync-profile.education": "Education",
|
||||||
|
|
||||||
// "person.page.orcid.sync-profile.identifiers" : "Identifiers",
|
// "person.page.orcid.sync-profile.identifiers" : "Identifiers",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"person.page.orcid.sync-profile.identifiers" : "Identifiers",
|
"person.page.orcid.sync-profile.identifiers": "Identifiers",
|
||||||
|
|
||||||
// "person.page.orcid.sync-fundings.all" : "All fundings",
|
// "person.page.orcid.sync-fundings.all" : "All fundings",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"person.page.orcid.sync-fundings.all" : "All fundings",
|
"person.page.orcid.sync-fundings.all": "All fundings",
|
||||||
|
|
||||||
// "person.page.orcid.sync-fundings.mine" : "My fundings",
|
// "person.page.orcid.sync-fundings.mine" : "My fundings",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"person.page.orcid.sync-fundings.mine" : "My fundings",
|
"person.page.orcid.sync-fundings.mine": "My fundings",
|
||||||
|
|
||||||
// "person.page.orcid.sync-fundings.my_selected" : "Selected fundings",
|
// "person.page.orcid.sync-fundings.my_selected" : "Selected fundings",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"person.page.orcid.sync-fundings.my_selected" : "Selected fundings",
|
"person.page.orcid.sync-fundings.my_selected": "Selected fundings",
|
||||||
|
|
||||||
// "person.page.orcid.sync-fundings.disabled" : "Disabled",
|
// "person.page.orcid.sync-fundings.disabled" : "Disabled",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"person.page.orcid.sync-fundings.disabled" : "Disabled",
|
"person.page.orcid.sync-fundings.disabled": "Disabled",
|
||||||
|
|
||||||
// "person.page.orcid.sync-publications.all" : "All publications",
|
// "person.page.orcid.sync-publications.all" : "All publications",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"person.page.orcid.sync-publications.all" : "All publications",
|
"person.page.orcid.sync-publications.all": "All publications",
|
||||||
|
|
||||||
// "person.page.orcid.sync-publications.mine" : "My publications",
|
// "person.page.orcid.sync-publications.mine" : "My publications",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"person.page.orcid.sync-publications.mine" : "My publications",
|
"person.page.orcid.sync-publications.mine": "My publications",
|
||||||
|
|
||||||
// "person.page.orcid.sync-publications.my_selected" : "Selected publications",
|
// "person.page.orcid.sync-publications.my_selected" : "Selected publications",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"person.page.orcid.sync-publications.my_selected" : "Selected publications",
|
"person.page.orcid.sync-publications.my_selected": "Selected publications",
|
||||||
|
|
||||||
// "person.page.orcid.sync-publications.disabled" : "Disabled",
|
// "person.page.orcid.sync-publications.disabled" : "Disabled",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"person.page.orcid.sync-publications.disabled" : "Disabled",
|
"person.page.orcid.sync-publications.disabled": "Disabled",
|
||||||
|
|
||||||
// "person.page.orcid.sync-queue.discard" : "Discard the change and do not synchronize with the ORCID registry",
|
// "person.page.orcid.sync-queue.discard" : "Discard the change and do not synchronize with the ORCID registry",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"person.page.orcid.sync-queue.discard" : "Discard the change and do not synchronize with the ORCID registry",
|
"person.page.orcid.sync-queue.discard": "Discard the change and do not synchronize with the ORCID registry",
|
||||||
|
|
||||||
// "person.page.orcid.sync-queue.discard.error": "The discarding of the ORCID queue record failed",
|
// "person.page.orcid.sync-queue.discard.error": "The discarding of the ORCID queue record failed",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
@@ -8336,15 +8336,15 @@
|
|||||||
|
|
||||||
// "person.page.orcid.sync-queue.table.header.type" : "Type",
|
// "person.page.orcid.sync-queue.table.header.type" : "Type",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"person.page.orcid.sync-queue.table.header.type" : "Type",
|
"person.page.orcid.sync-queue.table.header.type": "Type",
|
||||||
|
|
||||||
// "person.page.orcid.sync-queue.table.header.description" : "Description",
|
// "person.page.orcid.sync-queue.table.header.description" : "Description",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"person.page.orcid.sync-queue.table.header.description" : "Description",
|
"person.page.orcid.sync-queue.table.header.description": "Description",
|
||||||
|
|
||||||
// "person.page.orcid.sync-queue.table.header.action" : "Action",
|
// "person.page.orcid.sync-queue.table.header.action" : "Action",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"person.page.orcid.sync-queue.table.header.action" : "Action",
|
"person.page.orcid.sync-queue.table.header.action": "Action",
|
||||||
|
|
||||||
// "person.page.orcid.sync-queue.description.affiliation": "Affiliations",
|
// "person.page.orcid.sync-queue.description.affiliation": "Affiliations",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
@@ -8432,7 +8432,7 @@
|
|||||||
|
|
||||||
// "person.page.orcid.sync-queue.send" : "Synchronize with ORCID registry",
|
// "person.page.orcid.sync-queue.send" : "Synchronize with ORCID registry",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"person.page.orcid.sync-queue.send" : "Synchronize with ORCID registry",
|
"person.page.orcid.sync-queue.send": "Synchronize with ORCID registry",
|
||||||
|
|
||||||
// "person.page.orcid.sync-queue.send.unauthorized-error.title": "The submission to ORCID failed for missing authorizations.",
|
// "person.page.orcid.sync-queue.send.unauthorized-error.title": "The submission to ORCID failed for missing authorizations.",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
@@ -8504,7 +8504,7 @@
|
|||||||
|
|
||||||
// "person.page.orcid.sync-queue.send.validation-error.publication.date-invalid" : "The publication date must be one year after 1900",
|
// "person.page.orcid.sync-queue.send.validation-error.publication.date-invalid" : "The publication date must be one year after 1900",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"person.page.orcid.sync-queue.send.validation-error.publication.date-invalid" : "The publication date must be one year after 1900",
|
"person.page.orcid.sync-queue.send.validation-error.publication.date-invalid": "The publication date must be one year after 1900",
|
||||||
|
|
||||||
// "person.page.orcid.sync-queue.send.validation-error.organization.address-required": "The organization to be sent requires an address",
|
// "person.page.orcid.sync-queue.send.validation-error.organization.address-required": "The organization to be sent requires an address",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -169,7 +169,7 @@
|
|||||||
// "admin.registries.bitstream-formats.table.name": "Name",
|
// "admin.registries.bitstream-formats.table.name": "Name",
|
||||||
"admin.registries.bitstream-formats.table.name": "Nosaukums",
|
"admin.registries.bitstream-formats.table.name": "Nosaukums",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"admin.registries.bitstream-formats.table.id" : "ID",
|
"admin.registries.bitstream-formats.table.id": "ID",
|
||||||
|
|
||||||
// "admin.registries.bitstream-formats.table.return": "Return",
|
// "admin.registries.bitstream-formats.table.return": "Return",
|
||||||
"admin.registries.bitstream-formats.table.return": "Atgriezties",
|
"admin.registries.bitstream-formats.table.return": "Atgriezties",
|
||||||
@@ -252,7 +252,7 @@
|
|||||||
// "admin.registries.schema.fields.table.field": "Field",
|
// "admin.registries.schema.fields.table.field": "Field",
|
||||||
"admin.registries.schema.fields.table.field": "Lauks",
|
"admin.registries.schema.fields.table.field": "Lauks",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"admin.registries.schema.fields.table.id" : "ID",
|
"admin.registries.schema.fields.table.id": "ID",
|
||||||
|
|
||||||
// "admin.registries.schema.fields.table.scopenote": "Scope Note",
|
// "admin.registries.schema.fields.table.scopenote": "Scope Note",
|
||||||
"admin.registries.schema.fields.table.scopenote": "Jomas Piezīme",
|
"admin.registries.schema.fields.table.scopenote": "Jomas Piezīme",
|
||||||
@@ -1680,7 +1680,7 @@
|
|||||||
|
|
||||||
// "curation-task.task.checklinks.label": "Check Links in Metadata",
|
// "curation-task.task.checklinks.label": "Check Links in Metadata",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"curation-task.task.checklinks.label": "Check Links in Metadata",
|
"curation-task.task.checklinks.label": "Check Links in Metadata",
|
||||||
|
|
||||||
// "curation-task.task.noop.label": "NOOP",
|
// "curation-task.task.noop.label": "NOOP",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
@@ -1903,7 +1903,7 @@
|
|||||||
|
|
||||||
// "footer.link.end-user-agreement":"End User Agreement",
|
// "footer.link.end-user-agreement":"End User Agreement",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"footer.link.end-user-agreement":"End User Agreement",
|
"footer.link.end-user-agreement": "End User Agreement",
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -2196,7 +2196,7 @@
|
|||||||
// "item.bitstreams.upload.bundle.new": "Create bundle",
|
// "item.bitstreams.upload.bundle.new": "Create bundle",
|
||||||
"item.bitstreams.upload.bundle.new": "Izveidot kopienu",
|
"item.bitstreams.upload.bundle.new": "Izveidot kopienu",
|
||||||
|
|
||||||
// "item.bitstreams.upload.bundles.empty": "This item doesn\'t contain any bundles to upload a bitstream to.",
|
// "item.bitstreams.upload.bundles.empty": "This item doesn't contain any bundles to upload a bitstream to.",
|
||||||
"item.bitstreams.upload.bundles.empty": "Materiālā nav neviena kopiena ko augšupielādēt bitu straumē.",
|
"item.bitstreams.upload.bundles.empty": "Materiālā nav neviena kopiena ko augšupielādēt bitu straumē.",
|
||||||
|
|
||||||
// "item.bitstreams.upload.cancel": "Cancel",
|
// "item.bitstreams.upload.cancel": "Cancel",
|
||||||
@@ -2768,10 +2768,6 @@
|
|||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"item.page.description": "Description",
|
"item.page.description": "Description",
|
||||||
|
|
||||||
// "item.page.edit": "Edit this item",
|
|
||||||
// TODO New key - Add a translation
|
|
||||||
"item.page.edit": "Edit this item",
|
|
||||||
|
|
||||||
// "item.page.journal-issn": "Journal ISSN",
|
// "item.page.journal-issn": "Journal ISSN",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"item.page.journal-issn": "Journal ISSN",
|
"item.page.journal-issn": "Journal ISSN",
|
||||||
@@ -2885,11 +2881,11 @@
|
|||||||
|
|
||||||
// "item.page.filesection.original.bundle" : "Original bundle",
|
// "item.page.filesection.original.bundle" : "Original bundle",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"item.page.filesection.original.bundle" : "Original bundle",
|
"item.page.filesection.original.bundle": "Original bundle",
|
||||||
|
|
||||||
// "item.page.filesection.license.bundle" : "License bundle",
|
// "item.page.filesection.license.bundle" : "License bundle",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"item.page.filesection.license.bundle" : "License bundle",
|
"item.page.filesection.license.bundle": "License bundle",
|
||||||
|
|
||||||
// "item.preview.dc.identifier.uri": "Identifier:",
|
// "item.preview.dc.identifier.uri": "Identifier:",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
@@ -3739,19 +3735,19 @@
|
|||||||
|
|
||||||
// "process.detail.arguments" : "Arguments",
|
// "process.detail.arguments" : "Arguments",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"process.detail.arguments" : "Arguments",
|
"process.detail.arguments": "Arguments",
|
||||||
|
|
||||||
// "process.detail.arguments.empty" : "This process doesn't contain any arguments",
|
// "process.detail.arguments.empty" : "This process doesn't contain any arguments",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"process.detail.arguments.empty" : "This process doesn't contain any arguments",
|
"process.detail.arguments.empty": "This process doesn't contain any arguments",
|
||||||
|
|
||||||
// "process.detail.back" : "Back",
|
// "process.detail.back" : "Back",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"process.detail.back" : "Back",
|
"process.detail.back": "Back",
|
||||||
|
|
||||||
// "process.detail.output" : "Process Output",
|
// "process.detail.output" : "Process Output",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"process.detail.output" : "Process Output",
|
"process.detail.output": "Process Output",
|
||||||
|
|
||||||
// "process.detail.logs.button": "Retrieve process output",
|
// "process.detail.logs.button": "Retrieve process output",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
@@ -3767,61 +3763,61 @@
|
|||||||
|
|
||||||
// "process.detail.output-files" : "Output Files",
|
// "process.detail.output-files" : "Output Files",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"process.detail.output-files" : "Output Files",
|
"process.detail.output-files": "Output Files",
|
||||||
|
|
||||||
// "process.detail.output-files.empty" : "This process doesn't contain any output files",
|
// "process.detail.output-files.empty" : "This process doesn't contain any output files",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"process.detail.output-files.empty" : "This process doesn't contain any output files",
|
"process.detail.output-files.empty": "This process doesn't contain any output files",
|
||||||
|
|
||||||
// "process.detail.script" : "Script",
|
// "process.detail.script" : "Script",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"process.detail.script" : "Script",
|
"process.detail.script": "Script",
|
||||||
|
|
||||||
// "process.detail.title" : "Process: {{ id }} - {{ name }}",
|
// "process.detail.title" : "Process: {{ id }} - {{ name }}",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"process.detail.title" : "Process: {{ id }} - {{ name }}",
|
"process.detail.title": "Process: {{ id }} - {{ name }}",
|
||||||
|
|
||||||
// "process.detail.start-time" : "Start time",
|
// "process.detail.start-time" : "Start time",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"process.detail.start-time" : "Start time",
|
"process.detail.start-time": "Start time",
|
||||||
|
|
||||||
// "process.detail.end-time" : "Finish time",
|
// "process.detail.end-time" : "Finish time",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"process.detail.end-time" : "Finish time",
|
"process.detail.end-time": "Finish time",
|
||||||
|
|
||||||
// "process.detail.status" : "Status",
|
// "process.detail.status" : "Status",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"process.detail.status" : "Status",
|
"process.detail.status": "Status",
|
||||||
|
|
||||||
// "process.detail.create" : "Create similar process",
|
// "process.detail.create" : "Create similar process",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"process.detail.create" : "Create similar process",
|
"process.detail.create": "Create similar process",
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// "process.overview.table.finish" : "Finish time",
|
// "process.overview.table.finish" : "Finish time",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"process.overview.table.finish" : "Finish time",
|
"process.overview.table.finish": "Finish time",
|
||||||
|
|
||||||
// "process.overview.table.id" : "Process ID",
|
// "process.overview.table.id" : "Process ID",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"process.overview.table.id" : "Process ID",
|
"process.overview.table.id": "Process ID",
|
||||||
|
|
||||||
// "process.overview.table.name" : "Name",
|
// "process.overview.table.name" : "Name",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"process.overview.table.name" : "Name",
|
"process.overview.table.name": "Name",
|
||||||
|
|
||||||
// "process.overview.table.start" : "Start time",
|
// "process.overview.table.start" : "Start time",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"process.overview.table.start" : "Start time",
|
"process.overview.table.start": "Start time",
|
||||||
|
|
||||||
// "process.overview.table.status" : "Status",
|
// "process.overview.table.status" : "Status",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"process.overview.table.status" : "Status",
|
"process.overview.table.status": "Status",
|
||||||
|
|
||||||
// "process.overview.table.user" : "User",
|
// "process.overview.table.user" : "User",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"process.overview.table.user" : "User",
|
"process.overview.table.user": "User",
|
||||||
|
|
||||||
// "process.overview.title": "Processes Overview",
|
// "process.overview.title": "Processes Overview",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
@@ -5221,7 +5217,7 @@
|
|||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"submission.sections.describe.relationship-lookup.selection-tab.title.arxiv": "Search Results",
|
"submission.sections.describe.relationship-lookup.selection-tab.title.arxiv": "Search Results",
|
||||||
|
|
||||||
// "submission.sections.describe.relationship-lookup.name-variant.notification.content": "Would you like to save \"{{ value }}\" as a name variant for this person so you and others can reuse it for future submissions? If you don\'t you can still use it for this submission.",
|
// "submission.sections.describe.relationship-lookup.name-variant.notification.content": "Would you like to save \"{{ value }}\" as a name variant for this person so you and others can reuse it for future submissions? If you don't you can still use it for this submission.",
|
||||||
"submission.sections.describe.relationship-lookup.name-variant.notification.content": "Vai vēlaties saglabāt \"{{ value }}\" kā vārda variantu šai personai, lai jūs un citi varētu to izmantot turpmākai iesniegšanai? Ja nē, jūs joprojām varat to izmantot šai iesniegšanai.",
|
"submission.sections.describe.relationship-lookup.name-variant.notification.content": "Vai vēlaties saglabāt \"{{ value }}\" kā vārda variantu šai personai, lai jūs un citi varētu to izmantot turpmākai iesniegšanai? Ja nē, jūs joprojām varat to izmantot šai iesniegšanai.",
|
||||||
|
|
||||||
// "submission.sections.describe.relationship-lookup.name-variant.notification.confirm": "Save a new name variant",
|
// "submission.sections.describe.relationship-lookup.name-variant.notification.confirm": "Save a new name variant",
|
||||||
@@ -5624,7 +5620,7 @@
|
|||||||
|
|
||||||
// "workflow-item.send-back.button.confirm": "Send back"
|
// "workflow-item.send-back.button.confirm": "Send back"
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"workflow-item.send-back.button.confirm": "Send back"
|
"workflow-item.send-back.button.confirm": "Send back",
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -56,7 +56,7 @@
|
|||||||
"access-status.embargo.listelement.badge": "Embargo",
|
"access-status.embargo.listelement.badge": "Embargo",
|
||||||
|
|
||||||
// "access-status.metadata.only.listelement.badge": "Metadata only",
|
// "access-status.metadata.only.listelement.badge": "Metadata only",
|
||||||
"access-status.metadata.only.listelement.badge": "Somente Metadadados",
|
"access-status.metadata.only.listelement.badge": "Somente Metadadados",
|
||||||
|
|
||||||
// "access-status.open.access.listelement.badge": "Open Access",
|
// "access-status.open.access.listelement.badge": "Open Access",
|
||||||
"access-status.open.access.listelement.badge": "Acesso aberto (Open Access)",
|
"access-status.open.access.listelement.badge": "Acesso aberto (Open Access)",
|
||||||
@@ -70,18 +70,6 @@
|
|||||||
// "admin.curation-tasks.breadcrumbs": "System curation tasks",
|
// "admin.curation-tasks.breadcrumbs": "System curation tasks",
|
||||||
"admin.curation-tasks.breadcrumbs": "Tarefas de Curadoria do Sistema",
|
"admin.curation-tasks.breadcrumbs": "Tarefas de Curadoria do Sistema",
|
||||||
|
|
||||||
// "admin.curation-tasks.title": "System curation tasks",
|
|
||||||
"admin.curation-tasks.title": "Tarefas de Curadoria do Sistema",
|
|
||||||
|
|
||||||
// "admin.curation-tasks.header": "System curation tasks",
|
|
||||||
"admin.curation-tasks.header": "Tarefas de Curadoria do Sistema",
|
|
||||||
|
|
||||||
// "admin.registries.bitstream-formats.breadcrumbs": "Format registry",
|
|
||||||
"admin.registries.bitstream-formats.breadcrumbs": "Formatar registro",
|
|
||||||
|
|
||||||
// "admin.registries.bitstream-formats.create.breadcrumbs": "Bitstream format",
|
|
||||||
"admin.registries.bitstream-formats.create.breadcrumbs": "Formatar Bitstream",
|
|
||||||
|
|
||||||
// "admin.curation-tasks.title": "System curation tasks",
|
// "admin.curation-tasks.title": "System curation tasks",
|
||||||
"admin.curation-tasks.title": "Tarefas de curadoria do sistema",
|
"admin.curation-tasks.title": "Tarefas de curadoria do sistema",
|
||||||
|
|
||||||
@@ -206,7 +194,7 @@
|
|||||||
"admin.registries.bitstream-formats.table.name": "Nome",
|
"admin.registries.bitstream-formats.table.name": "Nome",
|
||||||
|
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"admin.registries.bitstream-formats.table.id" : "ID",
|
"admin.registries.bitstream-formats.table.id": "ID",
|
||||||
|
|
||||||
// "admin.registries.bitstream-formats.table.return": "Back",
|
// "admin.registries.bitstream-formats.table.return": "Back",
|
||||||
"admin.registries.bitstream-formats.table.return": "Voltar",
|
"admin.registries.bitstream-formats.table.return": "Voltar",
|
||||||
@@ -1841,10 +1829,10 @@
|
|||||||
"cookies.consent.purpose.statistical": "Estatística",
|
"cookies.consent.purpose.statistical": "Estatística",
|
||||||
|
|
||||||
// "curation-task.task.citationpage.label": "Generate Citation Page",
|
// "curation-task.task.citationpage.label": "Generate Citation Page",
|
||||||
"curation-task.task.citationpage.label": "Gerar página de citação",
|
"curation-task.task.citationpage.label": "Gerar página de citação",
|
||||||
|
|
||||||
// "curation-task.task.checklinks.label": "Check Links in Metadata",
|
// "curation-task.task.checklinks.label": "Check Links in Metadata",
|
||||||
"curation-task.task.checklinks.label": "Verificar links em metadados",
|
"curation-task.task.checklinks.label": "Verificar links em metadados",
|
||||||
|
|
||||||
// "curation-task.task.noop.label": "NOOP",
|
// "curation-task.task.noop.label": "NOOP",
|
||||||
"curation-task.task.noop.label": "NOOP",
|
"curation-task.task.noop.label": "NOOP",
|
||||||
@@ -2001,7 +1989,7 @@
|
|||||||
|
|
||||||
//"confirmation-modal.export-batch.info": "Are you sure you want to export batch (ZIP) for {{ dsoName }}",
|
//"confirmation-modal.export-batch.info": "Are you sure you want to export batch (ZIP) for {{ dsoName }}",
|
||||||
"confirmation-modal.export-batch.info": "Você tem certeza que deseja exportar o lote (ZIP) para {{ dsoName }}",
|
"confirmation-modal.export-batch.info": "Você tem certeza que deseja exportar o lote (ZIP) para {{ dsoName }}",
|
||||||
|
|
||||||
//"confirmation-modal.export-batch.cancel": "Cancel",
|
//"confirmation-modal.export-batch.cancel": "Cancel",
|
||||||
"confirmation-modal.export-batch.cancel": "Cancelar",
|
"confirmation-modal.export-batch.cancel": "Cancelar",
|
||||||
|
|
||||||
@@ -2126,10 +2114,10 @@
|
|||||||
"footer.link.privacy-policy": "Política de Privacidade",
|
"footer.link.privacy-policy": "Política de Privacidade",
|
||||||
|
|
||||||
// "footer.link.end-user-agreement":"End User Agreement",
|
// "footer.link.end-user-agreement":"End User Agreement",
|
||||||
"footer.link.end-user-agreement":"Termos de Uso",
|
"footer.link.end-user-agreement": "Termos de Uso",
|
||||||
|
|
||||||
// "footer.link.feedback":"Send Feedback",
|
// "footer.link.feedback":"Send Feedback",
|
||||||
"footer.link.feedback":"Enviar uma Sugestão",
|
"footer.link.feedback": "Enviar uma Sugestão",
|
||||||
|
|
||||||
// "forgot-email.form.header": "Forgot Password",
|
// "forgot-email.form.header": "Forgot Password",
|
||||||
"forgot-email.form.header": "Esqueci a Senha",
|
"forgot-email.form.header": "Esqueci a Senha",
|
||||||
@@ -2358,13 +2346,13 @@
|
|||||||
"health.breadcrumbs": "Saúde",
|
"health.breadcrumbs": "Saúde",
|
||||||
|
|
||||||
// "health-page.heading" : "Health",
|
// "health-page.heading" : "Health",
|
||||||
"health-page.heading" : "Saúde",
|
"health-page.heading": "Saúde",
|
||||||
|
|
||||||
// "health-page.info-tab" : "Info",
|
// "health-page.info-tab" : "Info",
|
||||||
"health-page.info-tab" : "Informação",
|
"health-page.info-tab": "Informação",
|
||||||
|
|
||||||
// "health-page.status-tab" : "Status",
|
// "health-page.status-tab" : "Status",
|
||||||
"health-page.status-tab" : "Status",
|
"health-page.status-tab": "Status",
|
||||||
|
|
||||||
// "health-page.error.msg": "The health check service is temporarily unavailable",
|
// "health-page.error.msg": "The health check service is temporarily unavailable",
|
||||||
"health-page.error.msg": "O serviço de verificação de integridade está temporariamente indisponível",
|
"health-page.error.msg": "O serviço de verificação de integridade está temporariamente indisponível",
|
||||||
@@ -2490,19 +2478,19 @@
|
|||||||
"info.feedback.email-label": "Seu Email",
|
"info.feedback.email-label": "Seu Email",
|
||||||
|
|
||||||
// "info.feedback.create.success" : "Feedback Sent Successfully!",
|
// "info.feedback.create.success" : "Feedback Sent Successfully!",
|
||||||
"info.feedback.create.success" : "Sugestão Enviada com Sucesso!",
|
"info.feedback.create.success": "Sugestão Enviada com Sucesso!",
|
||||||
|
|
||||||
// "info.feedback.error.email.required" : "A valid email address is required",
|
// "info.feedback.error.email.required" : "A valid email address is required",
|
||||||
"info.feedback.error.email.required" : "Um endereço de email válido é requerido",
|
"info.feedback.error.email.required": "Um endereço de email válido é requerido",
|
||||||
|
|
||||||
// "info.feedback.error.message.required" : "A comment is required",
|
// "info.feedback.error.message.required" : "A comment is required",
|
||||||
"info.feedback.error.message.required" : "Um comentário é requerido",
|
"info.feedback.error.message.required": "Um comentário é requerido",
|
||||||
|
|
||||||
// "info.feedback.page-label" : "Page",
|
// "info.feedback.page-label" : "Page",
|
||||||
"info.feedback.page-label" : "Página",
|
"info.feedback.page-label": "Página",
|
||||||
|
|
||||||
// "info.feedback.page_help" : "Tha page related to your feedback",
|
// "info.feedback.page_help" : "Tha page related to your feedback",
|
||||||
"info.feedback.page_help" : "A página relacionada a sua sugestão",
|
"info.feedback.page_help": "A página relacionada a sua sugestão",
|
||||||
|
|
||||||
// "item.alerts.private": "This item is non-discoverable",
|
// "item.alerts.private": "This item is non-discoverable",
|
||||||
"item.alerts.private": "Este item é privado",
|
"item.alerts.private": "Este item é privado",
|
||||||
@@ -2531,7 +2519,7 @@
|
|||||||
// "item.bitstreams.upload.bundle.new": "Create bundle",
|
// "item.bitstreams.upload.bundle.new": "Create bundle",
|
||||||
"item.bitstreams.upload.bundle.new": "Criar pacote",
|
"item.bitstreams.upload.bundle.new": "Criar pacote",
|
||||||
|
|
||||||
// "item.bitstreams.upload.bundles.empty": "This item doesn\'t contain any bundles to upload a bitstream to.",
|
// "item.bitstreams.upload.bundles.empty": "This item doesn't contain any bundles to upload a bitstream to.",
|
||||||
"item.bitstreams.upload.bundles.empty": "Este item não possui um pacote para poder receber o bitstream.",
|
"item.bitstreams.upload.bundles.empty": "Este item não possui um pacote para poder receber o bitstream.",
|
||||||
|
|
||||||
// "item.bitstreams.upload.cancel": "Cancel",
|
// "item.bitstreams.upload.cancel": "Cancel",
|
||||||
@@ -3208,10 +3196,10 @@
|
|||||||
"item.page.bitstreams.collapse": "Fechar",
|
"item.page.bitstreams.collapse": "Fechar",
|
||||||
|
|
||||||
// "item.page.filesection.original.bundle" : "Original bundle",
|
// "item.page.filesection.original.bundle" : "Original bundle",
|
||||||
"item.page.filesection.original.bundle" : "Pacote Original",
|
"item.page.filesection.original.bundle": "Pacote Original",
|
||||||
|
|
||||||
// "item.page.filesection.license.bundle" : "License bundle",
|
// "item.page.filesection.license.bundle" : "License bundle",
|
||||||
"item.page.filesection.license.bundle" : "Licença do Pacote",
|
"item.page.filesection.license.bundle": "Licença do Pacote",
|
||||||
|
|
||||||
// "item.page.return": "Back",
|
// "item.page.return": "Back",
|
||||||
"item.page.return": "Voltar",
|
"item.page.return": "Voltar",
|
||||||
@@ -3256,25 +3244,25 @@
|
|||||||
"item.preview.dc.type": "Tipo:",
|
"item.preview.dc.type": "Tipo:",
|
||||||
|
|
||||||
// "item.preview.oaire.citation.issue" : "Issue",
|
// "item.preview.oaire.citation.issue" : "Issue",
|
||||||
"item.preview.oaire.citation.issue" : "Questão",
|
"item.preview.oaire.citation.issue": "Questão",
|
||||||
|
|
||||||
// "item.preview.oaire.citation.volume" : "Volume",
|
// "item.preview.oaire.citation.volume" : "Volume",
|
||||||
"item.preview.oaire.citation.volume" : "Volume",
|
"item.preview.oaire.citation.volume": "Volume",
|
||||||
|
|
||||||
// "item.preview.dc.relation.issn" : "ISSN",
|
// "item.preview.dc.relation.issn" : "ISSN",
|
||||||
"item.preview.dc.relation.issn" : "ISSN",
|
"item.preview.dc.relation.issn": "ISSN",
|
||||||
|
|
||||||
// "item.preview.dc.identifier.isbn" : "ISBN",
|
// "item.preview.dc.identifier.isbn" : "ISBN",
|
||||||
"item.preview.dc.identifier.isbn" : "ISBN",
|
"item.preview.dc.identifier.isbn": "ISBN",
|
||||||
|
|
||||||
// "item.preview.dc.identifier": "Identifier:",
|
// "item.preview.dc.identifier": "Identifier:",
|
||||||
"item.preview.dc.identifier": "Identificador:",
|
"item.preview.dc.identifier": "Identificador:",
|
||||||
|
|
||||||
// "item.preview.dc.relation.ispartof" : "Journal or Serie",
|
// "item.preview.dc.relation.ispartof" : "Journal or Serie",
|
||||||
"item.preview.dc.relation.ispartof" : "Revista ou Série",
|
"item.preview.dc.relation.ispartof": "Revista ou Série",
|
||||||
|
|
||||||
// "item.preview.dc.identifier.doi" : "DOI",
|
// "item.preview.dc.identifier.doi" : "DOI",
|
||||||
"item.preview.dc.identifier.doi" : "DOI",
|
"item.preview.dc.identifier.doi": "DOI",
|
||||||
|
|
||||||
// "item.preview.person.familyName": "Surname:",
|
// "item.preview.person.familyName": "Surname:",
|
||||||
"item.preview.person.familyName": "Sobrenome:",
|
"item.preview.person.familyName": "Sobrenome:",
|
||||||
@@ -3415,13 +3403,13 @@
|
|||||||
"item.version.create.modal.submitted.text": "A nova versão está sendo criada. Isso pode levar algum tempo se o item tiver muitos relacionamentos.",
|
"item.version.create.modal.submitted.text": "A nova versão está sendo criada. Isso pode levar algum tempo se o item tiver muitos relacionamentos.",
|
||||||
|
|
||||||
// "item.version.create.notification.success" : "New version has been created with version number {{version}}",
|
// "item.version.create.notification.success" : "New version has been created with version number {{version}}",
|
||||||
"item.version.create.notification.success" : "Uma nova versão foi criada com o número de versão {{version}}",
|
"item.version.create.notification.success": "Uma nova versão foi criada com o número de versão {{version}}",
|
||||||
|
|
||||||
// "item.version.create.notification.failure" : "New version has not been created",
|
// "item.version.create.notification.failure" : "New version has not been created",
|
||||||
"item.version.create.notification.failure" : "A nova versão não foi criada",
|
"item.version.create.notification.failure": "A nova versão não foi criada",
|
||||||
|
|
||||||
// "item.version.create.notification.inProgress" : "A new version cannot be created because there is an inprogress submission in the version history",
|
// "item.version.create.notification.inProgress" : "A new version cannot be created because there is an inprogress submission in the version history",
|
||||||
"item.version.create.notification.inProgress" : "Não é possível criar uma nova versão porque há uma submissão em andamento no histórico de versões",
|
"item.version.create.notification.inProgress": "Não é possível criar uma nova versão porque há uma submissão em andamento no histórico de versões",
|
||||||
|
|
||||||
// "item.version.delete.modal.header": "Delete version",
|
// "item.version.delete.modal.header": "Delete version",
|
||||||
"item.version.delete.modal.header": "Apagar versão",
|
"item.version.delete.modal.header": "Apagar versão",
|
||||||
@@ -3442,16 +3430,16 @@
|
|||||||
"item.version.delete.modal.button.cancel.tooltip": "Não apague esta versão",
|
"item.version.delete.modal.button.cancel.tooltip": "Não apague esta versão",
|
||||||
|
|
||||||
// "item.version.delete.notification.success" : "Version number {{version}} has been deleted",
|
// "item.version.delete.notification.success" : "Version number {{version}} has been deleted",
|
||||||
"item.version.delete.notification.success" : "Versão número {{version}} foi apagada",
|
"item.version.delete.notification.success": "Versão número {{version}} foi apagada",
|
||||||
|
|
||||||
// "item.version.delete.notification.failure" : "Version number {{version}} has not been deleted",
|
// "item.version.delete.notification.failure" : "Version number {{version}} has not been deleted",
|
||||||
"item.version.delete.notification.failure" : "Versão número {{version}} não foi apagada",
|
"item.version.delete.notification.failure": "Versão número {{version}} não foi apagada",
|
||||||
|
|
||||||
// "item.version.edit.notification.success" : "The summary of version number {{version}} has been changed",
|
// "item.version.edit.notification.success" : "The summary of version number {{version}} has been changed",
|
||||||
"item.version.edit.notification.success" : "O resumo da versão número {{version}} foi alterado",
|
"item.version.edit.notification.success": "O resumo da versão número {{version}} foi alterado",
|
||||||
|
|
||||||
// "item.version.edit.notification.failure" : "The summary of version number {{version}} has not been changed",
|
// "item.version.edit.notification.failure" : "The summary of version number {{version}} has not been changed",
|
||||||
"item.version.edit.notification.failure" : "O resumo da versão número {{version}} não foi alterado",
|
"item.version.edit.notification.failure": "O resumo da versão número {{version}} não foi alterado",
|
||||||
|
|
||||||
// "journal.listelement.badge": "Journal",
|
// "journal.listelement.badge": "Journal",
|
||||||
"journal.listelement.badge": "Revista",
|
"journal.listelement.badge": "Revista",
|
||||||
@@ -3802,7 +3790,7 @@
|
|||||||
|
|
||||||
// "menu.section.import_batch": "Batch Import (ZIP)",
|
// "menu.section.import_batch": "Batch Import (ZIP)",
|
||||||
"menu.section.import_batch": "Importação em Lote (ZIP)",
|
"menu.section.import_batch": "Importação em Lote (ZIP)",
|
||||||
|
|
||||||
// "menu.section.export_batch": "Batch Export (ZIP)",
|
// "menu.section.export_batch": "Batch Export (ZIP)",
|
||||||
"menu.section.export_batch": "Exportação em Lote (ZIP)",
|
"menu.section.export_batch": "Exportação em Lote (ZIP)",
|
||||||
|
|
||||||
@@ -4057,10 +4045,10 @@
|
|||||||
"nav.stop-impersonating": "Deixar de assumir o papel do EPerson",
|
"nav.stop-impersonating": "Deixar de assumir o papel do EPerson",
|
||||||
|
|
||||||
// "nav.toggle" : "Toggle navigation",
|
// "nav.toggle" : "Toggle navigation",
|
||||||
"nav.toggle" : "Alternar navegação",
|
"nav.toggle": "Alternar navegação",
|
||||||
|
|
||||||
// "nav.user.description" : "User profile bar",
|
// "nav.user.description" : "User profile bar",
|
||||||
"nav.user.description" : "Barra de perfil do usuário",
|
"nav.user.description": "Barra de perfil do usuário",
|
||||||
|
|
||||||
// "none.listelement.badge": "Item",
|
// "none.listelement.badge": "Item",
|
||||||
"none.listelement.badge": "Item",
|
"none.listelement.badge": "Item",
|
||||||
@@ -4211,16 +4199,16 @@
|
|||||||
"process.new.breadcrumbs": "Criar novo processo",
|
"process.new.breadcrumbs": "Criar novo processo",
|
||||||
|
|
||||||
// "process.detail.arguments" : "Arguments",
|
// "process.detail.arguments" : "Arguments",
|
||||||
"process.detail.arguments" : "Argumentos",
|
"process.detail.arguments": "Argumentos",
|
||||||
|
|
||||||
// "process.detail.arguments.empty" : "This process doesn't contain any arguments",
|
// "process.detail.arguments.empty" : "This process doesn't contain any arguments",
|
||||||
"process.detail.arguments.empty" : "Este processo não contêm nenhum argumento",
|
"process.detail.arguments.empty": "Este processo não contêm nenhum argumento",
|
||||||
|
|
||||||
// "process.detail.back" : "Back",
|
// "process.detail.back" : "Back",
|
||||||
"process.detail.back" : "Voltar",
|
"process.detail.back": "Voltar",
|
||||||
|
|
||||||
// "process.detail.output" : "Process Output",
|
// "process.detail.output" : "Process Output",
|
||||||
"process.detail.output" : "Saída do Processo",
|
"process.detail.output": "Saída do Processo",
|
||||||
|
|
||||||
// "process.detail.logs.button": "Retrieve process output",
|
// "process.detail.logs.button": "Retrieve process output",
|
||||||
"process.detail.logs.button": "Recuperar a saída do processo",
|
"process.detail.logs.button": "Recuperar a saída do processo",
|
||||||
@@ -4232,28 +4220,28 @@
|
|||||||
"process.detail.logs.none": "Este processo não tem saída",
|
"process.detail.logs.none": "Este processo não tem saída",
|
||||||
|
|
||||||
// "process.detail.output-files" : "Output Files",
|
// "process.detail.output-files" : "Output Files",
|
||||||
"process.detail.output-files" : "Arquivos de saída",
|
"process.detail.output-files": "Arquivos de saída",
|
||||||
|
|
||||||
// "process.detail.output-files.empty" : "This process doesn't contain any output files",
|
// "process.detail.output-files.empty" : "This process doesn't contain any output files",
|
||||||
"process.detail.output-files.empty" : "Este processo não contém nenhum arquivo de saída",
|
"process.detail.output-files.empty": "Este processo não contém nenhum arquivo de saída",
|
||||||
|
|
||||||
// "process.detail.script" : "Script",
|
// "process.detail.script" : "Script",
|
||||||
"process.detail.script" : "Script",
|
"process.detail.script": "Script",
|
||||||
|
|
||||||
// "process.detail.title" : "Process: {{ id }} - {{ name }}",
|
// "process.detail.title" : "Process: {{ id }} - {{ name }}",
|
||||||
"process.detail.title" : "Processo: {{ id }} - {{ name }}",
|
"process.detail.title": "Processo: {{ id }} - {{ name }}",
|
||||||
|
|
||||||
// "process.detail.start-time" : "Start time",
|
// "process.detail.start-time" : "Start time",
|
||||||
"process.detail.start-time" : "Hora de Início",
|
"process.detail.start-time": "Hora de Início",
|
||||||
|
|
||||||
// "process.detail.end-time" : "Finish time",
|
// "process.detail.end-time" : "Finish time",
|
||||||
"process.detail.end-time" : "Hora de Fim",
|
"process.detail.end-time": "Hora de Fim",
|
||||||
|
|
||||||
// "process.detail.status" : "Status",
|
// "process.detail.status" : "Status",
|
||||||
"process.detail.status" : "Status",
|
"process.detail.status": "Status",
|
||||||
|
|
||||||
// "process.detail.create" : "Create similar process",
|
// "process.detail.create" : "Create similar process",
|
||||||
"process.detail.create" : "Criar processo similar",
|
"process.detail.create": "Criar processo similar",
|
||||||
|
|
||||||
// "process.detail.actions": "Actions",
|
// "process.detail.actions": "Actions",
|
||||||
"process.detail.actions": "Ações",
|
"process.detail.actions": "Ações",
|
||||||
@@ -4280,22 +4268,22 @@
|
|||||||
"process.detail.delete.error": "Algo deu errado ao excluir o processo",
|
"process.detail.delete.error": "Algo deu errado ao excluir o processo",
|
||||||
|
|
||||||
// "process.overview.table.finish" : "Finish time (UTC)",
|
// "process.overview.table.finish" : "Finish time (UTC)",
|
||||||
"process.overview.table.finish" : "Hora de Fim (UTC)",
|
"process.overview.table.finish": "Hora de Fim (UTC)",
|
||||||
|
|
||||||
// "process.overview.table.id" : "Process ID",
|
// "process.overview.table.id" : "Process ID",
|
||||||
"process.overview.table.id" : "ID do Processo",
|
"process.overview.table.id": "ID do Processo",
|
||||||
|
|
||||||
// "process.overview.table.name" : "Name",
|
// "process.overview.table.name" : "Name",
|
||||||
"process.overview.table.name" : "Nome",
|
"process.overview.table.name": "Nome",
|
||||||
|
|
||||||
// "process.overview.table.start" : "Start time (UTC)",
|
// "process.overview.table.start" : "Start time (UTC)",
|
||||||
"process.overview.table.start" : "Hora de Início (UTC)",
|
"process.overview.table.start": "Hora de Início (UTC)",
|
||||||
|
|
||||||
// "process.overview.table.status" : "Status",
|
// "process.overview.table.status" : "Status",
|
||||||
"process.overview.table.status" : "Status",
|
"process.overview.table.status": "Status",
|
||||||
|
|
||||||
// "process.overview.table.user" : "User",
|
// "process.overview.table.user" : "User",
|
||||||
"process.overview.table.user" : "Usuário",
|
"process.overview.table.user": "Usuário",
|
||||||
|
|
||||||
// "process.overview.title": "Processes Overview",
|
// "process.overview.title": "Processes Overview",
|
||||||
"process.overview.title": "Visão geral dos processos",
|
"process.overview.title": "Visão geral dos processos",
|
||||||
@@ -5850,7 +5838,7 @@
|
|||||||
// "submission.sections.describe.relationship-lookup.selection-tab.title": "Search Results",
|
// "submission.sections.describe.relationship-lookup.selection-tab.title": "Search Results",
|
||||||
"submission.sections.describe.relationship-lookup.selection-tab.title": "Resultados da pesquisa",
|
"submission.sections.describe.relationship-lookup.selection-tab.title": "Resultados da pesquisa",
|
||||||
|
|
||||||
// "submission.sections.describe.relationship-lookup.name-variant.notification.content": "Would you like to save \"{{ value }}\" as a name variant for this person so you and others can reuse it for future submissions? If you don\'t you can still use it for this submission.",
|
// "submission.sections.describe.relationship-lookup.name-variant.notification.content": "Would you like to save \"{{ value }}\" as a name variant for this person so you and others can reuse it for future submissions? If you don't you can still use it for this submission.",
|
||||||
"submission.sections.describe.relationship-lookup.name-variant.notification.content": "Você gostaria de salvar \"{{ value }}\" como uma variante de nome para esta pessoa para que você e outros possam reutilizá-lo para futuras submissões? Se você não fizer isso, ainda poderá usá-lo para esta submissão.",
|
"submission.sections.describe.relationship-lookup.name-variant.notification.content": "Você gostaria de salvar \"{{ value }}\" como uma variante de nome para esta pessoa para que você e outros possam reutilizá-lo para futuras submissões? Se você não fizer isso, ainda poderá usá-lo para esta submissão.",
|
||||||
|
|
||||||
// "submission.sections.describe.relationship-lookup.name-variant.notification.confirm": "Save a new name variant",
|
// "submission.sections.describe.relationship-lookup.name-variant.notification.confirm": "Save a new name variant",
|
||||||
@@ -6132,7 +6120,7 @@
|
|||||||
|
|
||||||
// "submission.sections.accesses.form.until-placeholder": "Until",
|
// "submission.sections.accesses.form.until-placeholder": "Until",
|
||||||
"submission.sections.accesses.form.until-placeholder": "Até",
|
"submission.sections.accesses.form.until-placeholder": "Até",
|
||||||
|
|
||||||
// "submission.sections.license.granted-label": "Confirmo a licença acima",
|
// "submission.sections.license.granted-label": "Confirmo a licença acima",
|
||||||
"submission.sections.license.granted-label": "I confirm the license above",
|
"submission.sections.license.granted-label": "I confirm the license above",
|
||||||
|
|
||||||
@@ -6140,7 +6128,7 @@
|
|||||||
"submission.sections.license.required": "Você deve aceitar a licença",
|
"submission.sections.license.required": "Você deve aceitar a licença",
|
||||||
|
|
||||||
// "submission.sections.license.notgranted": "You must accept the license",
|
// "submission.sections.license.notgranted": "You must accept the license",
|
||||||
"submission.sections.license.notgranted": "Você deve aceitar a licença",
|
"submission.sections.license.notgranted": "Você deve aceitar a licença",
|
||||||
|
|
||||||
|
|
||||||
// "submission.sections.sherpa.publication.information": "Publication information",
|
// "submission.sections.sherpa.publication.information": "Publication information",
|
||||||
@@ -6471,7 +6459,7 @@
|
|||||||
"idle-modal.extend-session": "Estender sessão",
|
"idle-modal.extend-session": "Estender sessão",
|
||||||
|
|
||||||
// "researcher.profile.action.processing" : "Processing...",
|
// "researcher.profile.action.processing" : "Processing...",
|
||||||
"researcher.profile.action.processing" : "Processando...",
|
"researcher.profile.action.processing": "Processando...",
|
||||||
|
|
||||||
// "researcher.profile.associated": "Researcher profile associated",
|
// "researcher.profile.associated": "Researcher profile associated",
|
||||||
"researcher.profile.associated": "Perfil do pesquisador associado",
|
"researcher.profile.associated": "Perfil do pesquisador associado",
|
||||||
@@ -6504,10 +6492,10 @@
|
|||||||
"researcher.profile.view": "Ver",
|
"researcher.profile.view": "Ver",
|
||||||
|
|
||||||
// "researcher.profile.private.visibility" : "PRIVATE",
|
// "researcher.profile.private.visibility" : "PRIVATE",
|
||||||
"researcher.profile.private.visibility" : "PRIVADO",
|
"researcher.profile.private.visibility": "PRIVADO",
|
||||||
|
|
||||||
// "researcher.profile.public.visibility" : "PUBLIC",
|
// "researcher.profile.public.visibility" : "PUBLIC",
|
||||||
"researcher.profile.public.visibility" : "PÚBLICO",
|
"researcher.profile.public.visibility": "PÚBLICO",
|
||||||
|
|
||||||
// "researcher.profile.status": "Status:",
|
// "researcher.profile.status": "Status:",
|
||||||
"researcher.profile.status": "Status:",
|
"researcher.profile.status": "Status:",
|
||||||
@@ -6516,16 +6504,16 @@
|
|||||||
"researcherprofile.claim.not-authorized": "Você não está autorizado a reivindicar este item. Para mais detalhes, entre em contato com o(s) administrador(es)",
|
"researcherprofile.claim.not-authorized": "Você não está autorizado a reivindicar este item. Para mais detalhes, entre em contato com o(s) administrador(es)",
|
||||||
|
|
||||||
// "researcherprofile.error.claim.body" : "An error occurred while claiming the profile, please try again later",
|
// "researcherprofile.error.claim.body" : "An error occurred while claiming the profile, please try again later",
|
||||||
"researcherprofile.error.claim.body" : "Ocorreu um erro ao reivindicar o perfil, tente novamente mais tarde",
|
"researcherprofile.error.claim.body": "Ocorreu um erro ao reivindicar o perfil, tente novamente mais tarde",
|
||||||
|
|
||||||
// "researcherprofile.error.claim.title" : "Error",
|
// "researcherprofile.error.claim.title" : "Error",
|
||||||
"researcherprofile.error.claim.title" : "Erro",
|
"researcherprofile.error.claim.title": "Erro",
|
||||||
|
|
||||||
// "researcherprofile.success.claim.body" : "Profile claimed with success",
|
// "researcherprofile.success.claim.body" : "Profile claimed with success",
|
||||||
"researcherprofile.success.claim.body" : "Perfil reivindicado com sucesso",
|
"researcherprofile.success.claim.body": "Perfil reivindicado com sucesso",
|
||||||
|
|
||||||
// "researcherprofile.success.claim.title" : "Success",
|
// "researcherprofile.success.claim.title" : "Success",
|
||||||
"researcherprofile.success.claim.title" : "Successo",
|
"researcherprofile.success.claim.title": "Successo",
|
||||||
|
|
||||||
// "person.page.orcid.create": "Create an ORCID ID",
|
// "person.page.orcid.create": "Create an ORCID ID",
|
||||||
"person.page.orcid.create": "Criar um ORCID ID",
|
"person.page.orcid.create": "Criar um ORCID ID",
|
||||||
@@ -6534,7 +6522,7 @@
|
|||||||
"person.page.orcid.granted-authorizations": "Autorizações concedidas",
|
"person.page.orcid.granted-authorizations": "Autorizações concedidas",
|
||||||
|
|
||||||
// "person.page.orcid.grant-authorizations" : "Grant authorizations",
|
// "person.page.orcid.grant-authorizations" : "Grant authorizations",
|
||||||
"person.page.orcid.grant-authorizations" : "Conceder autorizações",
|
"person.page.orcid.grant-authorizations": "Conceder autorizações",
|
||||||
|
|
||||||
// "person.page.orcid.link": "Connect to ORCID ID",
|
// "person.page.orcid.link": "Connect to ORCID ID",
|
||||||
"person.page.orcid.link": "Conectar ao ORCID ID",
|
"person.page.orcid.link": "Conectar ao ORCID ID",
|
||||||
@@ -6582,43 +6570,43 @@
|
|||||||
"person.page.orcid.save.preference.changes": "Atualizar configurações",
|
"person.page.orcid.save.preference.changes": "Atualizar configurações",
|
||||||
|
|
||||||
// "person.page.orcid.sync-profile.affiliation" : "Affiliation",
|
// "person.page.orcid.sync-profile.affiliation" : "Affiliation",
|
||||||
"person.page.orcid.sync-profile.affiliation" : "Afiliação",
|
"person.page.orcid.sync-profile.affiliation": "Afiliação",
|
||||||
|
|
||||||
// "person.page.orcid.sync-profile.biographical" : "Biographical data",
|
// "person.page.orcid.sync-profile.biographical" : "Biographical data",
|
||||||
"person.page.orcid.sync-profile.biographical" : "Dados biográficos",
|
"person.page.orcid.sync-profile.biographical": "Dados biográficos",
|
||||||
|
|
||||||
// "person.page.orcid.sync-profile.education" : "Education",
|
// "person.page.orcid.sync-profile.education" : "Education",
|
||||||
"person.page.orcid.sync-profile.education" : "Educação",
|
"person.page.orcid.sync-profile.education": "Educação",
|
||||||
|
|
||||||
// "person.page.orcid.sync-profile.identifiers" : "Identifiers",
|
// "person.page.orcid.sync-profile.identifiers" : "Identifiers",
|
||||||
"person.page.orcid.sync-profile.identifiers" : "Identificadores",
|
"person.page.orcid.sync-profile.identifiers": "Identificadores",
|
||||||
|
|
||||||
// "person.page.orcid.sync-fundings.all" : "All fundings",
|
// "person.page.orcid.sync-fundings.all" : "All fundings",
|
||||||
"person.page.orcid.sync-fundings.all" : "Todos financiamentos",
|
"person.page.orcid.sync-fundings.all": "Todos financiamentos",
|
||||||
|
|
||||||
// "person.page.orcid.sync-fundings.mine" : "My fundings",
|
// "person.page.orcid.sync-fundings.mine" : "My fundings",
|
||||||
"person.page.orcid.sync-fundings.mine" : "Meus financiamentos",
|
"person.page.orcid.sync-fundings.mine": "Meus financiamentos",
|
||||||
|
|
||||||
// "person.page.orcid.sync-fundings.my_selected" : "Selected fundings",
|
// "person.page.orcid.sync-fundings.my_selected" : "Selected fundings",
|
||||||
"person.page.orcid.sync-fundings.my_selected" : "Financiamentos selecionados",
|
"person.page.orcid.sync-fundings.my_selected": "Financiamentos selecionados",
|
||||||
|
|
||||||
// "person.page.orcid.sync-fundings.disabled" : "Disabled",
|
// "person.page.orcid.sync-fundings.disabled" : "Disabled",
|
||||||
"person.page.orcid.sync-fundings.disabled" : "Desabilitado",
|
"person.page.orcid.sync-fundings.disabled": "Desabilitado",
|
||||||
|
|
||||||
// "person.page.orcid.sync-publications.all" : "All publications",
|
// "person.page.orcid.sync-publications.all" : "All publications",
|
||||||
"person.page.orcid.sync-publications.all" : "Todas publicações",
|
"person.page.orcid.sync-publications.all": "Todas publicações",
|
||||||
|
|
||||||
// "person.page.orcid.sync-publications.mine" : "My publications",
|
// "person.page.orcid.sync-publications.mine" : "My publications",
|
||||||
"person.page.orcid.sync-publications.mine" : "Minhas publicações",
|
"person.page.orcid.sync-publications.mine": "Minhas publicações",
|
||||||
|
|
||||||
// "person.page.orcid.sync-publications.my_selected" : "Selected publications",
|
// "person.page.orcid.sync-publications.my_selected" : "Selected publications",
|
||||||
"person.page.orcid.sync-publications.my_selected" : "Publicações selecionadas",
|
"person.page.orcid.sync-publications.my_selected": "Publicações selecionadas",
|
||||||
|
|
||||||
// "person.page.orcid.sync-publications.disabled" : "Disabled",
|
// "person.page.orcid.sync-publications.disabled" : "Disabled",
|
||||||
"person.page.orcid.sync-publications.disabled" : "Desabilitado",
|
"person.page.orcid.sync-publications.disabled": "Desabilitado",
|
||||||
|
|
||||||
// "person.page.orcid.sync-queue.discard" : "Discard the change and do not synchronize with the ORCID registry",
|
// "person.page.orcid.sync-queue.discard" : "Discard the change and do not synchronize with the ORCID registry",
|
||||||
"person.page.orcid.sync-queue.discard" : "Descarte a alteração e não sincronize com o registro ORCID",
|
"person.page.orcid.sync-queue.discard": "Descarte a alteração e não sincronize com o registro ORCID",
|
||||||
|
|
||||||
// "person.page.orcid.sync-queue.discard.error": "The discarding of the ORCID queue record failed",
|
// "person.page.orcid.sync-queue.discard.error": "The discarding of the ORCID queue record failed",
|
||||||
"person.page.orcid.sync-queue.discard.error": "Falha ao descartar o registro da fila ORCID",
|
"person.page.orcid.sync-queue.discard.error": "Falha ao descartar o registro da fila ORCID",
|
||||||
@@ -6630,13 +6618,13 @@
|
|||||||
"person.page.orcid.sync-queue.empty-message": "O registro da fila ORCID está vazio",
|
"person.page.orcid.sync-queue.empty-message": "O registro da fila ORCID está vazio",
|
||||||
|
|
||||||
// "person.page.orcid.sync-queue.table.header.type" : "Type",
|
// "person.page.orcid.sync-queue.table.header.type" : "Type",
|
||||||
"person.page.orcid.sync-queue.table.header.type" : "Tipo",
|
"person.page.orcid.sync-queue.table.header.type": "Tipo",
|
||||||
|
|
||||||
// "person.page.orcid.sync-queue.table.header.description" : "Description",
|
// "person.page.orcid.sync-queue.table.header.description" : "Description",
|
||||||
"person.page.orcid.sync-queue.table.header.description" : "Descrição",
|
"person.page.orcid.sync-queue.table.header.description": "Descrição",
|
||||||
|
|
||||||
// "person.page.orcid.sync-queue.table.header.action" : "Action",
|
// "person.page.orcid.sync-queue.table.header.action" : "Action",
|
||||||
"person.page.orcid.sync-queue.table.header.action" : "Ação",
|
"person.page.orcid.sync-queue.table.header.action": "Ação",
|
||||||
|
|
||||||
// "person.page.orcid.sync-queue.description.affiliation": "Affiliations",
|
// "person.page.orcid.sync-queue.description.affiliation": "Affiliations",
|
||||||
"person.page.orcid.sync-queue.description.affiliation": "Afiliação",
|
"person.page.orcid.sync-queue.description.affiliation": "Afiliação",
|
||||||
@@ -6702,7 +6690,7 @@
|
|||||||
"person.page.orcid.sync-queue.tooltip.researcher_urls": "URL do pesquisador",
|
"person.page.orcid.sync-queue.tooltip.researcher_urls": "URL do pesquisador",
|
||||||
|
|
||||||
// "person.page.orcid.sync-queue.send" : "Synchronize with ORCID registry",
|
// "person.page.orcid.sync-queue.send" : "Synchronize with ORCID registry",
|
||||||
"person.page.orcid.sync-queue.send" : "Sincronize com o registro ORCID",
|
"person.page.orcid.sync-queue.send": "Sincronize com o registro ORCID",
|
||||||
|
|
||||||
// "person.page.orcid.sync-queue.send.unauthorized-error.title": "The submission to ORCID failed for missing authorizations.",
|
// "person.page.orcid.sync-queue.send.unauthorized-error.title": "The submission to ORCID failed for missing authorizations.",
|
||||||
"person.page.orcid.sync-queue.send.unauthorized-error.title": "A submissão ao ORCID falhou por falta de autorizações.",
|
"person.page.orcid.sync-queue.send.unauthorized-error.title": "A submissão ao ORCID falhou por falta de autorizações.",
|
||||||
@@ -6756,7 +6744,7 @@
|
|||||||
"person.page.orcid.sync-queue.send.validation-error.organization.name-required": "O nome da organização é obrigatório",
|
"person.page.orcid.sync-queue.send.validation-error.organization.name-required": "O nome da organização é obrigatório",
|
||||||
|
|
||||||
// "person.page.orcid.sync-queue.send.validation-error.publication.date-invalid" : "The publication date must be one year after 1900",
|
// "person.page.orcid.sync-queue.send.validation-error.publication.date-invalid" : "The publication date must be one year after 1900",
|
||||||
"person.page.orcid.sync-queue.send.validation-error.publication.date-invalid" : "A data de publicação deve ser um ano após 1900",
|
"person.page.orcid.sync-queue.send.validation-error.publication.date-invalid": "A data de publicação deve ser um ano após 1900",
|
||||||
|
|
||||||
// "person.page.orcid.sync-queue.send.validation-error.organization.address-required": "The organization to be sent requires an address",
|
// "person.page.orcid.sync-queue.send.validation-error.organization.address-required": "The organization to be sent requires an address",
|
||||||
"person.page.orcid.sync-queue.send.validation-error.organization.address-required": "O endereço da organização a ser enviado exige uma endereço",
|
"person.page.orcid.sync-queue.send.validation-error.organization.address-required": "O endereço da organização a ser enviado exige uma endereço",
|
||||||
@@ -6835,7 +6823,7 @@
|
|||||||
|
|
||||||
// "person.orcid.registry.auth": "ORCID Autorizações",
|
// "person.orcid.registry.auth": "ORCID Autorizações",
|
||||||
"person.orcid.registry.auth": "ORCID Autorizações",
|
"person.orcid.registry.auth": "ORCID Autorizações",
|
||||||
|
|
||||||
// "home.recent-submissions.head": "Recent Submissions",
|
// "home.recent-submissions.head": "Recent Submissions",
|
||||||
"home.recent-submissions.head": "Submissões Recentes",
|
"home.recent-submissions.head": "Submissões Recentes",
|
||||||
|
|
||||||
|
File diff suppressed because it is too large
Load Diff
@@ -169,7 +169,7 @@
|
|||||||
// "admin.registries.bitstream-formats.table.name": "Name",
|
// "admin.registries.bitstream-formats.table.name": "Name",
|
||||||
"admin.registries.bitstream-formats.table.name": "Namn",
|
"admin.registries.bitstream-formats.table.name": "Namn",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"admin.registries.bitstream-formats.table.id" : "ID",
|
"admin.registries.bitstream-formats.table.id": "ID",
|
||||||
|
|
||||||
// "admin.registries.bitstream-formats.table.return": "Back",
|
// "admin.registries.bitstream-formats.table.return": "Back",
|
||||||
"admin.registries.bitstream-formats.table.return": "Tillbaka",
|
"admin.registries.bitstream-formats.table.return": "Tillbaka",
|
||||||
@@ -248,7 +248,7 @@
|
|||||||
// "admin.registries.schema.fields.table.field": "Field",
|
// "admin.registries.schema.fields.table.field": "Field",
|
||||||
"admin.registries.schema.fields.table.field": "Fält",
|
"admin.registries.schema.fields.table.field": "Fält",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"admin.registries.schema.fields.table.id" : "ID",
|
"admin.registries.schema.fields.table.id": "ID",
|
||||||
|
|
||||||
// "admin.registries.schema.fields.table.scopenote": "Scope Note",
|
// "admin.registries.schema.fields.table.scopenote": "Scope Note",
|
||||||
"admin.registries.schema.fields.table.scopenote": "Anmärkning (scope note)",
|
"admin.registries.schema.fields.table.scopenote": "Anmärkning (scope note)",
|
||||||
@@ -1017,7 +1017,7 @@
|
|||||||
// "pagination.previous.button": "Föregående",
|
// "pagination.previous.button": "Föregående",
|
||||||
"pagination.previous.button": "Föregående",
|
"pagination.previous.button": "Föregående",
|
||||||
|
|
||||||
// "browse.startsWith.choose_start": "(Choose start)",
|
// "browse.startsWith.choose_start": "(Choose start)",
|
||||||
"browse.startsWith.choose_start": "(Välj startdatum)",
|
"browse.startsWith.choose_start": "(Välj startdatum)",
|
||||||
|
|
||||||
// "browse.startsWith.choose_year": "(Välj årtal)",
|
// "browse.startsWith.choose_year": "(Välj årtal)",
|
||||||
@@ -1092,7 +1092,7 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
// "collection.create.head": "Create a Collection",
|
// "collection.create.head": "Create a Collection",
|
||||||
"collection.create.head": "Skapa samling",
|
"collection.create.head": "Skapa samling",
|
||||||
|
|
||||||
// "collection.create.notifications.success": "Successfully created the Collection",
|
// "collection.create.notifications.success": "Successfully created the Collection",
|
||||||
@@ -1418,7 +1418,7 @@
|
|||||||
"collection.select.table.title": "Titel",
|
"collection.select.table.title": "Titel",
|
||||||
|
|
||||||
|
|
||||||
// "collection.source.controls.head": "Harvest Controls",
|
// "collection.source.controls.head": "Harvest Controls",
|
||||||
"collection.source.controls.head": "Inställningar för höstning",
|
"collection.source.controls.head": "Inställningar för höstning",
|
||||||
|
|
||||||
// "collection.source.controls.test.submit.error": "Something went wrong with initiating the testing of the settings",
|
// "collection.source.controls.test.submit.error": "Something went wrong with initiating the testing of the settings",
|
||||||
@@ -1833,7 +1833,7 @@
|
|||||||
|
|
||||||
|
|
||||||
// "curation-task.task.checklinks.label": "Check Links in Metadata",
|
// "curation-task.task.checklinks.label": "Check Links in Metadata",
|
||||||
"curation-task.task.checklinks.label": "Kontrollera länkar i metadata",
|
"curation-task.task.checklinks.label": "Kontrollera länkar i metadata",
|
||||||
|
|
||||||
// "curation-task.task.noop.label": "NOOP",
|
// "curation-task.task.noop.label": "NOOP",
|
||||||
"curation-task.task.noop.label": "NOOP",
|
"curation-task.task.noop.label": "NOOP",
|
||||||
@@ -1961,7 +1961,7 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
// "confirmation-modal.export-metadata.header": "Export metadata for {{ dsoName }}",
|
// "confirmation-modal.export-metadata.header": "Export metadata for {{ dsoName }}",
|
||||||
"confirmation-modal.export-metadata.header": "Exportera metadata från {{ dsoName }}",
|
"confirmation-modal.export-metadata.header": "Exportera metadata från {{ dsoName }}",
|
||||||
|
|
||||||
// "confirmation-modal.export-metadata.info": "Are you sure you want to export metadata for {{ dsoName }}",
|
// "confirmation-modal.export-metadata.info": "Are you sure you want to export metadata for {{ dsoName }}",
|
||||||
@@ -2084,10 +2084,10 @@
|
|||||||
|
|
||||||
// "footer.link.end-user-agreement":"End User Agreement",
|
// "footer.link.end-user-agreement":"End User Agreement",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"footer.link.end-user-agreement":"End User Agreement",
|
"footer.link.end-user-agreement": "End User Agreement",
|
||||||
|
|
||||||
// "footer.link.feedback":"Send Feedback",
|
// "footer.link.feedback":"Send Feedback",
|
||||||
"footer.link.feedback":"Skicka feedback",
|
"footer.link.feedback": "Skicka feedback",
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -2404,19 +2404,19 @@
|
|||||||
"info.feedback.email-label": "Din e-postadress",
|
"info.feedback.email-label": "Din e-postadress",
|
||||||
|
|
||||||
// "info.feedback.create.success" : "Feedback Sent Successfully!",
|
// "info.feedback.create.success" : "Feedback Sent Successfully!",
|
||||||
"info.feedback.create.success" : "Feedback har skickats!",
|
"info.feedback.create.success": "Feedback har skickats!",
|
||||||
|
|
||||||
// "info.feedback.error.email.required" : "A valid email address is required",
|
// "info.feedback.error.email.required" : "A valid email address is required",
|
||||||
"info.feedback.error.email.required" : "Du måste ange en giltig e-postadress",
|
"info.feedback.error.email.required": "Du måste ange en giltig e-postadress",
|
||||||
|
|
||||||
// "info.feedback.error.message.required" : "A comment is required",
|
// "info.feedback.error.message.required" : "A comment is required",
|
||||||
"info.feedback.error.message.required" : "Du måste skriva en kommentar",
|
"info.feedback.error.message.required": "Du måste skriva en kommentar",
|
||||||
|
|
||||||
// "info.feedback.page-label" : "Page",
|
// "info.feedback.page-label" : "Page",
|
||||||
"info.feedback.page-label" : "Sida",
|
"info.feedback.page-label": "Sida",
|
||||||
|
|
||||||
// "info.feedback.page_help" : "Tha page related to your feedback",
|
// "info.feedback.page_help" : "Tha page related to your feedback",
|
||||||
"info.feedback.page_help" : "Den är sidan är relaterad till din feedback",
|
"info.feedback.page_help": "Den är sidan är relaterad till din feedback",
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -2453,7 +2453,7 @@
|
|||||||
// "item.bitstreams.upload.bundle.new": "Create bundle",
|
// "item.bitstreams.upload.bundle.new": "Create bundle",
|
||||||
"item.bitstreams.upload.bundle.new": "Skapa bunt",
|
"item.bitstreams.upload.bundle.new": "Skapa bunt",
|
||||||
|
|
||||||
// "item.bitstreams.upload.bundles.empty": "This item doesn\'t contain any bundles to upload a bitstream to.",
|
// "item.bitstreams.upload.bundles.empty": "This item doesn't contain any bundles to upload a bitstream to.",
|
||||||
"item.bitstreams.upload.bundles.empty": "Denna post innehåller inga buntar som man kan ladda upp filer i.",
|
"item.bitstreams.upload.bundles.empty": "Denna post innehåller inga buntar som man kan ladda upp filer i.",
|
||||||
|
|
||||||
// "item.bitstreams.upload.cancel": "Cancel",
|
// "item.bitstreams.upload.cancel": "Cancel",
|
||||||
@@ -2743,7 +2743,7 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
// "item.edit.move.cancel": "Back",
|
// "item.edit.move.cancel": "Back",
|
||||||
"item.edit.move.cancel": "Tillbaka",
|
"item.edit.move.cancel": "Tillbaka",
|
||||||
|
|
||||||
// "item.edit.move.save-button": "Save",
|
// "item.edit.move.save-button": "Save",
|
||||||
@@ -3142,11 +3142,11 @@
|
|||||||
|
|
||||||
// "item.page.filesection.original.bundle" : "Original bundle",
|
// "item.page.filesection.original.bundle" : "Original bundle",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"item.page.filesection.original.bundle" : "Original bundle",
|
"item.page.filesection.original.bundle": "Original bundle",
|
||||||
|
|
||||||
// "item.page.filesection.license.bundle" : "License bundle",
|
// "item.page.filesection.license.bundle" : "License bundle",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"item.page.filesection.license.bundle" : "License bundle",
|
"item.page.filesection.license.bundle": "License bundle",
|
||||||
|
|
||||||
// "item.page.return": "Back",
|
// "item.page.return": "Back",
|
||||||
"item.page.return": "Tillbaka",
|
"item.page.return": "Tillbaka",
|
||||||
@@ -3321,14 +3321,14 @@
|
|||||||
"item.version.create.modal.form.summary.placeholder": "Lägg till sammanfattning av den nya versionen",
|
"item.version.create.modal.form.summary.placeholder": "Lägg till sammanfattning av den nya versionen",
|
||||||
|
|
||||||
// "item.version.create.notification.success" : "New version has been created with version number {{version}}",
|
// "item.version.create.notification.success" : "New version has been created with version number {{version}}",
|
||||||
"item.version.create.notification.success" : "En ny version med nummer {{version}} har skapats",
|
"item.version.create.notification.success": "En ny version med nummer {{version}} har skapats",
|
||||||
|
|
||||||
// "item.version.create.notification.failure" : "New version has not been created",
|
// "item.version.create.notification.failure" : "New version has not been created",
|
||||||
"item.version.create.notification.failure" : "Ny version har inte skapats",
|
"item.version.create.notification.failure": "Ny version har inte skapats",
|
||||||
|
|
||||||
// "item.version.create.notification.inProgress" : "A new version cannot be created because there is an inprogress submission in the version history",
|
// "item.version.create.notification.inProgress" : "A new version cannot be created because there is an inprogress submission in the version history",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"item.version.create.notification.inProgress" : "A new version cannot be created because there is an inprogress submission in the version history",
|
"item.version.create.notification.inProgress": "A new version cannot be created because there is an inprogress submission in the version history",
|
||||||
|
|
||||||
|
|
||||||
// "item.version.delete.modal.header": "Delete version",
|
// "item.version.delete.modal.header": "Delete version",
|
||||||
@@ -3350,17 +3350,17 @@
|
|||||||
"item.version.delete.modal.button.cancel.tooltip": "Radera inte denna version",
|
"item.version.delete.modal.button.cancel.tooltip": "Radera inte denna version",
|
||||||
|
|
||||||
// "item.version.delete.notification.success" : "Version number {{version}} has been deleted",
|
// "item.version.delete.notification.success" : "Version number {{version}} has been deleted",
|
||||||
"item.version.delete.notification.success" : "Version {{version}} har raderats",
|
"item.version.delete.notification.success": "Version {{version}} har raderats",
|
||||||
|
|
||||||
// "item.version.delete.notification.failure" : "Version number {{version}} has not been deleted",
|
// "item.version.delete.notification.failure" : "Version number {{version}} has not been deleted",
|
||||||
"item.version.delete.notification.failure" : "Version {{version}} har inte raderats",
|
"item.version.delete.notification.failure": "Version {{version}} har inte raderats",
|
||||||
|
|
||||||
|
|
||||||
// "item.version.edit.notification.success" : "The summary of version number {{version}} has been changed",
|
// "item.version.edit.notification.success" : "The summary of version number {{version}} has been changed",
|
||||||
"item.version.edit.notification.success" : "Sammanfattningen av version {{version}} har ändrats",
|
"item.version.edit.notification.success": "Sammanfattningen av version {{version}} har ändrats",
|
||||||
|
|
||||||
// "item.version.edit.notification.failure" : "The summary of version number {{version}} has not been changed",
|
// "item.version.edit.notification.failure" : "The summary of version number {{version}} has not been changed",
|
||||||
"item.version.edit.notification.failure" : "Sammanfattningen av version {{version}} har inte ändrats",
|
"item.version.edit.notification.failure": "Sammanfattningen av version {{version}} har inte ändrats",
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -3757,7 +3757,7 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
// "menu.section.new": "New",
|
// "menu.section.new": "New",
|
||||||
"menu.section.new": "Ny",
|
"menu.section.new": "Ny",
|
||||||
|
|
||||||
// "menu.section.new_collection": "Collection",
|
// "menu.section.new_collection": "Collection",
|
||||||
@@ -4013,11 +4013,11 @@
|
|||||||
|
|
||||||
// "nav.toggle" : "Toggle navigation",
|
// "nav.toggle" : "Toggle navigation",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"nav.toggle" : "Toggle navigation",
|
"nav.toggle": "Toggle navigation",
|
||||||
|
|
||||||
// "nav.user.description" : "User profile bar",
|
// "nav.user.description" : "User profile bar",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"nav.user.description" : "User profile bar",
|
"nav.user.description": "User profile bar",
|
||||||
|
|
||||||
// "none.listelement.badge": "Item",
|
// "none.listelement.badge": "Item",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
@@ -4203,19 +4203,19 @@
|
|||||||
|
|
||||||
// "process.detail.arguments" : "Arguments",
|
// "process.detail.arguments" : "Arguments",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"process.detail.arguments" : "Arguments",
|
"process.detail.arguments": "Arguments",
|
||||||
|
|
||||||
// "process.detail.arguments.empty" : "This process doesn't contain any arguments",
|
// "process.detail.arguments.empty" : "This process doesn't contain any arguments",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"process.detail.arguments.empty" : "This process doesn't contain any arguments",
|
"process.detail.arguments.empty": "This process doesn't contain any arguments",
|
||||||
|
|
||||||
// "process.detail.back" : "Back",
|
// "process.detail.back" : "Back",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"process.detail.back" : "Back",
|
"process.detail.back": "Back",
|
||||||
|
|
||||||
// "process.detail.output" : "Process Output",
|
// "process.detail.output" : "Process Output",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"process.detail.output" : "Process Output",
|
"process.detail.output": "Process Output",
|
||||||
|
|
||||||
// "process.detail.logs.button": "Retrieve process output",
|
// "process.detail.logs.button": "Retrieve process output",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
@@ -4231,54 +4231,54 @@
|
|||||||
|
|
||||||
// "process.detail.output-files" : "Output Files",
|
// "process.detail.output-files" : "Output Files",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"process.detail.output-files" : "Output Files",
|
"process.detail.output-files": "Output Files",
|
||||||
|
|
||||||
// "process.detail.output-files.empty" : "This process doesn't contain any output files",
|
// "process.detail.output-files.empty" : "This process doesn't contain any output files",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"process.detail.output-files.empty" : "This process doesn't contain any output files",
|
"process.detail.output-files.empty": "This process doesn't contain any output files",
|
||||||
|
|
||||||
// "process.detail.script" : "Script",
|
// "process.detail.script" : "Script",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"process.detail.script" : "Script",
|
"process.detail.script": "Script",
|
||||||
|
|
||||||
// "process.detail.title" : "Process: {{ id }} - {{ name }}",
|
// "process.detail.title" : "Process: {{ id }} - {{ name }}",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"process.detail.title" : "Process: {{ id }} - {{ name }}",
|
"process.detail.title": "Process: {{ id }} - {{ name }}",
|
||||||
|
|
||||||
// "process.detail.start-time" : "Start time",
|
// "process.detail.start-time" : "Start time",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"process.detail.start-time" : "Start time",
|
"process.detail.start-time": "Start time",
|
||||||
|
|
||||||
// "process.detail.end-time" : "Finish time",
|
// "process.detail.end-time" : "Finish time",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"process.detail.end-time" : "Finish time",
|
"process.detail.end-time": "Finish time",
|
||||||
|
|
||||||
// "process.detail.status" : "Status",
|
// "process.detail.status" : "Status",
|
||||||
"process.detail.status" : "Status",
|
"process.detail.status": "Status",
|
||||||
|
|
||||||
// "process.detail.create" : "Create similar process",
|
// "process.detail.create" : "Create similar process",
|
||||||
// TODO New key - Add a translation
|
// TODO New key - Add a translation
|
||||||
"process.detail.create" : "Create similar process",
|
"process.detail.create": "Create similar process",
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// "process.overview.table.finish" : "Finish time (UTC)",
|
// "process.overview.table.finish" : "Finish time (UTC)",
|
||||||
"process.overview.table.finish" : "Sluttid (UTC)",
|
"process.overview.table.finish": "Sluttid (UTC)",
|
||||||
|
|
||||||
// "process.overview.table.id" : "Process ID",
|
// "process.overview.table.id" : "Process ID",
|
||||||
"process.overview.table.id" : "Process ID",
|
"process.overview.table.id": "Process ID",
|
||||||
|
|
||||||
// "process.overview.table.name" : "Name",
|
// "process.overview.table.name" : "Name",
|
||||||
"process.overview.table.name" : "Namn",
|
"process.overview.table.name": "Namn",
|
||||||
|
|
||||||
// "process.overview.table.start" : "Start time (UTC)",
|
// "process.overview.table.start" : "Start time (UTC)",
|
||||||
"process.overview.table.start" : "Starttid (UTC)",
|
"process.overview.table.start": "Starttid (UTC)",
|
||||||
|
|
||||||
// "process.overview.table.status" : "Status",
|
// "process.overview.table.status" : "Status",
|
||||||
"process.overview.table.status" : "Status",
|
"process.overview.table.status": "Status",
|
||||||
|
|
||||||
// "process.overview.table.user" : "User",
|
// "process.overview.table.user" : "User",
|
||||||
"process.overview.table.user" : "Användare",
|
"process.overview.table.user": "Användare",
|
||||||
|
|
||||||
// "process.overview.title": "Processes Overview",
|
// "process.overview.title": "Processes Overview",
|
||||||
"process.overview.title": "Processer översikt",
|
"process.overview.title": "Processer översikt",
|
||||||
@@ -4570,7 +4570,7 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
// "relationships.add.error.relationship-type.content": "No suitable match could be found for relationship type {{ type }} between the two items",
|
// "relationships.add.error.relationship-type.content": "No suitable match could be found for relationship type {{ type }} between the two items",
|
||||||
"relationships.add.error.relationship-type.content": "Det gick inte att hitta något som matchade relationstyp {{ type }} mellan dessa poster",
|
"relationships.add.error.relationship-type.content": "Det gick inte att hitta något som matchade relationstyp {{ type }} mellan dessa poster",
|
||||||
|
|
||||||
// "relationships.add.error.server.content": "The server returned an error",
|
// "relationships.add.error.server.content": "The server returned an error",
|
||||||
@@ -5752,7 +5752,7 @@
|
|||||||
// "submission.sections.describe.relationship-lookup.selection-tab.title.arxiv": "Search Results",
|
// "submission.sections.describe.relationship-lookup.selection-tab.title.arxiv": "Search Results",
|
||||||
"submission.sections.describe.relationship-lookup.selection-tab.title.arxiv": "Sökresultat",
|
"submission.sections.describe.relationship-lookup.selection-tab.title.arxiv": "Sökresultat",
|
||||||
|
|
||||||
// "submission.sections.describe.relationship-lookup.name-variant.notification.content": "Would you like to save \"{{ value }}\" as a name variant for this person so you and others can reuse it for future submissions? If you don\'t you can still use it for this submission.",
|
// "submission.sections.describe.relationship-lookup.name-variant.notification.content": "Would you like to save \"{{ value }}\" as a name variant for this person so you and others can reuse it for future submissions? If you don't you can still use it for this submission.",
|
||||||
"submission.sections.describe.relationship-lookup.name-variant.notification.content": "Vill du spara \"{{ value }}\" som en namnvariation för denna person? Om inte så kan du fortfarande använda det i detta bidrag.",
|
"submission.sections.describe.relationship-lookup.name-variant.notification.content": "Vill du spara \"{{ value }}\" som en namnvariation för denna person? Om inte så kan du fortfarande använda det i detta bidrag.",
|
||||||
|
|
||||||
// "submission.sections.describe.relationship-lookup.name-variant.notification.confirm": "Save a new name variant",
|
// "submission.sections.describe.relationship-lookup.name-variant.notification.confirm": "Save a new name variant",
|
||||||
@@ -6116,7 +6116,7 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
// "thumbnail.default.alt": "Thumbnail Image",
|
// "thumbnail.default.alt": "Thumbnail Image",
|
||||||
"thumbnail.default.alt": "Bild (thumbnail)",
|
"thumbnail.default.alt": "Bild (thumbnail)",
|
||||||
|
|
||||||
// "thumbnail.default.placeholder": "No Thumbnail Available",
|
// "thumbnail.default.placeholder": "No Thumbnail Available",
|
||||||
@@ -6281,6 +6281,6 @@
|
|||||||
"idle-modal.log-out": "Logga ut",
|
"idle-modal.log-out": "Logga ut",
|
||||||
|
|
||||||
// "idle-modal.extend-session": "Extend session"
|
// "idle-modal.extend-session": "Extend session"
|
||||||
"idle-modal.extend-session": "Fortsätt"
|
"idle-modal.extend-session": "Fortsätt",
|
||||||
|
|
||||||
}
|
}
|
||||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -3,7 +3,6 @@ import 'reflect-metadata';
|
|||||||
import 'core-js/es/reflect';
|
import 'core-js/es/reflect';
|
||||||
|
|
||||||
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
|
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
|
||||||
import { load as loadWebFont } from 'webfontloader';
|
|
||||||
|
|
||||||
import { BrowserAppModule } from './modules/app/browser-app.module';
|
import { BrowserAppModule } from './modules/app/browser-app.module';
|
||||||
|
|
||||||
@@ -24,14 +23,6 @@ const bootstrap = () => platformBrowserDynamic()
|
|||||||
const hasTransferState = document.querySelector('script#dspace-angular-state') !== null;
|
const hasTransferState = document.querySelector('script#dspace-angular-state') !== null;
|
||||||
|
|
||||||
const main = () => {
|
const main = () => {
|
||||||
// Load fonts async
|
|
||||||
// https://github.com/typekit/webfontloader#configuration
|
|
||||||
loadWebFont({
|
|
||||||
google: {
|
|
||||||
families: ['Droid Sans']
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
if (environment.production) {
|
if (environment.production) {
|
||||||
enableProdMode();
|
enableProdMode();
|
||||||
}
|
}
|
||||||
|
@@ -26,16 +26,21 @@ import { AuthService } from '../../app/core/auth/auth.service';
|
|||||||
import { ThemeService } from '../../app/shared/theme-support/theme.service';
|
import { ThemeService } from '../../app/shared/theme-support/theme.service';
|
||||||
import { StoreAction, StoreActionTypes } from '../../app/store.actions';
|
import { StoreAction, StoreActionTypes } from '../../app/store.actions';
|
||||||
import { coreSelector } from '../../app/core/core.selectors';
|
import { coreSelector } from '../../app/core/core.selectors';
|
||||||
import { find, map } from 'rxjs/operators';
|
import { filter, find, map } from 'rxjs/operators';
|
||||||
import { isNotEmpty } from '../../app/shared/empty.util';
|
import { isNotEmpty } from '../../app/shared/empty.util';
|
||||||
import { logStartupMessage } from '../../../startup-message';
|
import { logStartupMessage } from '../../../startup-message';
|
||||||
import { MenuService } from '../../app/shared/menu/menu.service';
|
import { MenuService } from '../../app/shared/menu/menu.service';
|
||||||
|
import { RootDataService } from '../../app/core/data/root-data.service';
|
||||||
|
import { firstValueFrom, Subscription } from 'rxjs';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Performs client-side initialization.
|
* Performs client-side initialization.
|
||||||
*/
|
*/
|
||||||
@Injectable()
|
@Injectable()
|
||||||
export class BrowserInitService extends InitService {
|
export class BrowserInitService extends InitService {
|
||||||
|
|
||||||
|
sub: Subscription;
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
protected store: Store<AppState>,
|
protected store: Store<AppState>,
|
||||||
protected correlationIdService: CorrelationIdService,
|
protected correlationIdService: CorrelationIdService,
|
||||||
@@ -51,6 +56,7 @@ export class BrowserInitService extends InitService {
|
|||||||
protected authService: AuthService,
|
protected authService: AuthService,
|
||||||
protected themeService: ThemeService,
|
protected themeService: ThemeService,
|
||||||
protected menuService: MenuService,
|
protected menuService: MenuService,
|
||||||
|
private rootDataService: RootDataService
|
||||||
) {
|
) {
|
||||||
super(
|
super(
|
||||||
store,
|
store,
|
||||||
@@ -80,6 +86,7 @@ export class BrowserInitService extends InitService {
|
|||||||
return async () => {
|
return async () => {
|
||||||
await this.loadAppState();
|
await this.loadAppState();
|
||||||
this.checkAuthenticationToken();
|
this.checkAuthenticationToken();
|
||||||
|
this.externalAuthCheck();
|
||||||
this.initCorrelationId();
|
this.initCorrelationId();
|
||||||
|
|
||||||
this.checkEnvironment();
|
this.checkEnvironment();
|
||||||
@@ -134,4 +141,35 @@ export class BrowserInitService extends InitService {
|
|||||||
protected initGoogleAnalytics() {
|
protected initGoogleAnalytics() {
|
||||||
this.googleAnalyticsService.addTrackingIdToPage();
|
this.googleAnalyticsService.addTrackingIdToPage();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* During an external authentication flow invalidate the SSR transferState
|
||||||
|
* data in the cache. This allows the app to fetch fresh content.
|
||||||
|
* @private
|
||||||
|
*/
|
||||||
|
private externalAuthCheck() {
|
||||||
|
|
||||||
|
this.sub = this.authService.isExternalAuthentication().pipe(
|
||||||
|
filter((externalAuth: boolean) => externalAuth)
|
||||||
|
).subscribe(() => {
|
||||||
|
// Clear the transferState data.
|
||||||
|
this.rootDataService.invalidateRootCache();
|
||||||
|
this.authService.setExternalAuthStatus(false);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
this.closeAuthCheckSubscription();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Unsubscribe the external authentication subscription
|
||||||
|
* when authentication is no longer blocking.
|
||||||
|
* @private
|
||||||
|
*/
|
||||||
|
private closeAuthCheckSubscription() {
|
||||||
|
firstValueFrom(this.authenticationReady$()).then(() => {
|
||||||
|
this.sub.unsubscribe();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
29
yarn.lock
29
yarn.lock
@@ -4270,10 +4270,10 @@ cypress-axe@^1.1.0:
|
|||||||
resolved "https://registry.yarnpkg.com/cypress-axe/-/cypress-axe-1.4.0.tgz#e67482bfe9e740796bf77c7823f19781a8a2faff"
|
resolved "https://registry.yarnpkg.com/cypress-axe/-/cypress-axe-1.4.0.tgz#e67482bfe9e740796bf77c7823f19781a8a2faff"
|
||||||
integrity sha512-Ut7NKfzjyKm0BEbt2WxuKtLkIXmx6FD2j0RwdvO/Ykl7GmB/qRQkwbKLk3VP35+83hiIr8GKD04PDdrTK5BnyA==
|
integrity sha512-Ut7NKfzjyKm0BEbt2WxuKtLkIXmx6FD2j0RwdvO/Ykl7GmB/qRQkwbKLk3VP35+83hiIr8GKD04PDdrTK5BnyA==
|
||||||
|
|
||||||
cypress@^12.0.1:
|
cypress@12.9.0:
|
||||||
version "12.7.0"
|
version "12.9.0"
|
||||||
resolved "https://registry.yarnpkg.com/cypress/-/cypress-12.7.0.tgz#69900f82af76cf3ba0ddb9b59ec3b0d38222ab22"
|
resolved "https://registry.yarnpkg.com/cypress/-/cypress-12.9.0.tgz#e6ab43cf329fd7c821ef7645517649d72ccf0a12"
|
||||||
integrity sha512-7rq+nmhzz0u6yabCFyPtADU2OOrYt6pvUau9qV7xyifJ/hnsaw/vkr0tnLlcuuQKUAOC1v1M1e4Z0zG7S0IAvA==
|
integrity sha512-Ofe09LbHKgSqX89Iy1xen2WvpgbvNxDzsWx3mgU1mfILouELeXYGwIib3ItCwoRrRifoQwcBFmY54Vs0zw7QCg==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@cypress/request" "^2.88.10"
|
"@cypress/request" "^2.88.10"
|
||||||
"@cypress/xvfb" "^1.2.4"
|
"@cypress/xvfb" "^1.2.4"
|
||||||
@@ -5147,6 +5147,15 @@ eslint-plugin-jsdoc@^39.6.4:
|
|||||||
semver "^7.3.8"
|
semver "^7.3.8"
|
||||||
spdx-expression-parse "^3.0.1"
|
spdx-expression-parse "^3.0.1"
|
||||||
|
|
||||||
|
eslint-plugin-jsonc@^2.6.0:
|
||||||
|
version "2.6.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/eslint-plugin-jsonc/-/eslint-plugin-jsonc-2.6.0.tgz#5a439ec15b4930c022bf157264a3d4f4712b982c"
|
||||||
|
integrity sha512-4bA9YTx58QaWalua1Q1b82zt7eZMB7i+ed8q8cKkbKP75ofOA2SXbtFyCSok7RY6jIXeCqQnKjN9If8zCgv6PA==
|
||||||
|
dependencies:
|
||||||
|
eslint-utils "^3.0.0"
|
||||||
|
jsonc-eslint-parser "^2.0.4"
|
||||||
|
natural-compare "^1.4.0"
|
||||||
|
|
||||||
eslint-plugin-lodash@^7.4.0:
|
eslint-plugin-lodash@^7.4.0:
|
||||||
version "7.4.0"
|
version "7.4.0"
|
||||||
resolved "https://registry.yarnpkg.com/eslint-plugin-lodash/-/eslint-plugin-lodash-7.4.0.tgz#14a761547f126c92ff56789662a20a44f8bb6290"
|
resolved "https://registry.yarnpkg.com/eslint-plugin-lodash/-/eslint-plugin-lodash-7.4.0.tgz#14a761547f126c92ff56789662a20a44f8bb6290"
|
||||||
@@ -5249,7 +5258,7 @@ esm@^3.2.25:
|
|||||||
resolved "https://registry.yarnpkg.com/esm/-/esm-3.2.25.tgz#342c18c29d56157688ba5ce31f8431fbb795cc10"
|
resolved "https://registry.yarnpkg.com/esm/-/esm-3.2.25.tgz#342c18c29d56157688ba5ce31f8431fbb795cc10"
|
||||||
integrity sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==
|
integrity sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==
|
||||||
|
|
||||||
espree@^9.4.0:
|
espree@^9.0.0, espree@^9.4.0:
|
||||||
version "9.4.1"
|
version "9.4.1"
|
||||||
resolved "https://registry.yarnpkg.com/espree/-/espree-9.4.1.tgz#51d6092615567a2c2cff7833445e37c28c0065bd"
|
resolved "https://registry.yarnpkg.com/espree/-/espree-9.4.1.tgz#51d6092615567a2c2cff7833445e37c28c0065bd"
|
||||||
integrity sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==
|
integrity sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==
|
||||||
@@ -7030,6 +7039,16 @@ json5@^2.1.2, json5@^2.2.1, json5@^2.2.2:
|
|||||||
resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.2.tgz#64471c5bdcc564c18f7c1d4df2e2297f2457c5ab"
|
resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.2.tgz#64471c5bdcc564c18f7c1d4df2e2297f2457c5ab"
|
||||||
integrity sha512-46Tk9JiOL2z7ytNQWFLpj99RZkVgeHf87yGQKsIkaPz1qSH9UczKH1rO7K3wgRselo0tYMUNfecYpm/p1vC7tQ==
|
integrity sha512-46Tk9JiOL2z7ytNQWFLpj99RZkVgeHf87yGQKsIkaPz1qSH9UczKH1rO7K3wgRselo0tYMUNfecYpm/p1vC7tQ==
|
||||||
|
|
||||||
|
jsonc-eslint-parser@^2.0.4:
|
||||||
|
version "2.1.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/jsonc-eslint-parser/-/jsonc-eslint-parser-2.1.0.tgz#4c126b530aa583d85308d0b3041ff81ce402bbb2"
|
||||||
|
integrity sha512-qCRJWlbP2v6HbmKW7R3lFbeiVWHo+oMJ0j+MizwvauqnCV/EvtAeEeuCgoc/ErtsuoKgYB8U4Ih8AxJbXoE6/g==
|
||||||
|
dependencies:
|
||||||
|
acorn "^8.5.0"
|
||||||
|
eslint-visitor-keys "^3.0.0"
|
||||||
|
espree "^9.0.0"
|
||||||
|
semver "^7.3.5"
|
||||||
|
|
||||||
jsonc-parser@3.0.0:
|
jsonc-parser@3.0.0:
|
||||||
version "3.0.0"
|
version "3.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.0.0.tgz#abdd785701c7e7eaca8a9ec8cf070ca51a745a22"
|
resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.0.0.tgz#abdd785701c7e7eaca8a9ec8cf070ca51a745a22"
|
||||||
|
Reference in New Issue
Block a user