mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-07 10:04:11 +00:00
Merge branch 'DSpace:main' into fix-8918
This commit is contained in:
63
.github/dependabot.yml
vendored
63
.github/dependabot.yml
vendored
@@ -28,15 +28,6 @@ updates:
|
||||
update-types:
|
||||
- "minor"
|
||||
- "patch"
|
||||
# Group together all security updates for Angular. Only accept minor/patch types.
|
||||
angular-security:
|
||||
applies-to: security-updates
|
||||
patterns:
|
||||
- "@angular*"
|
||||
- "@ngtools/webpack"
|
||||
update-types:
|
||||
- "minor"
|
||||
- "patch"
|
||||
# Group together all minor/patch version updates for NgRx in a single PR
|
||||
ngrx:
|
||||
applies-to: version-updates
|
||||
@@ -45,14 +36,6 @@ updates:
|
||||
update-types:
|
||||
- "minor"
|
||||
- "patch"
|
||||
# Group together all security updates for NgRx. Only accept minor/patch types.
|
||||
ngrx-security:
|
||||
applies-to: security-updates
|
||||
patterns:
|
||||
- "@ngrx*"
|
||||
update-types:
|
||||
- "minor"
|
||||
- "patch"
|
||||
# Group together all patch version updates for eslint in a single PR
|
||||
eslint:
|
||||
applies-to: version-updates
|
||||
@@ -62,15 +45,6 @@ updates:
|
||||
update-types:
|
||||
- "minor"
|
||||
- "patch"
|
||||
# Group together all security updates for eslint.
|
||||
eslint-security:
|
||||
applies-to: security-updates
|
||||
patterns:
|
||||
- "@typescript-eslint*"
|
||||
- "eslint*"
|
||||
update-types:
|
||||
- "minor"
|
||||
- "patch"
|
||||
# Group together any testing related version updates
|
||||
testing:
|
||||
applies-to: version-updates
|
||||
@@ -84,19 +58,6 @@ updates:
|
||||
update-types:
|
||||
- "minor"
|
||||
- "patch"
|
||||
# Group together any testing related security updates
|
||||
testing-security:
|
||||
applies-to: security-updates
|
||||
patterns:
|
||||
- "@cypress*"
|
||||
- "axe-*"
|
||||
- "cypress*"
|
||||
- "jasmine*"
|
||||
- "karma*"
|
||||
- "ng-mocks"
|
||||
update-types:
|
||||
- "minor"
|
||||
- "patch"
|
||||
# Group together any postcss related version updates
|
||||
postcss:
|
||||
applies-to: version-updates
|
||||
@@ -105,14 +66,6 @@ updates:
|
||||
update-types:
|
||||
- "minor"
|
||||
- "patch"
|
||||
# Group together any postcss related security updates
|
||||
postcss-security:
|
||||
applies-to: security-updates
|
||||
patterns:
|
||||
- "postcss*"
|
||||
update-types:
|
||||
- "minor"
|
||||
- "patch"
|
||||
# Group together any sass related version updates
|
||||
sass:
|
||||
applies-to: version-updates
|
||||
@@ -121,14 +74,6 @@ updates:
|
||||
update-types:
|
||||
- "minor"
|
||||
- "patch"
|
||||
# Group together any sass related security updates
|
||||
sass-security:
|
||||
applies-to: security-updates
|
||||
patterns:
|
||||
- "sass*"
|
||||
update-types:
|
||||
- "minor"
|
||||
- "patch"
|
||||
# Group together any webpack related version updates
|
||||
webpack:
|
||||
applies-to: version-updates
|
||||
@@ -137,14 +82,6 @@ updates:
|
||||
update-types:
|
||||
- "minor"
|
||||
- "patch"
|
||||
# Group together any webpack related seurity updates
|
||||
webpack-security:
|
||||
applies-to: security-updates
|
||||
patterns:
|
||||
- "webpack*"
|
||||
update-types:
|
||||
- "minor"
|
||||
- "patch"
|
||||
ignore:
|
||||
# Restrict zone.js updates to patch level to avoid dependency conflicts with @angular/core
|
||||
- dependency-name: "zone.js"
|
||||
|
2
.github/pull_request_template.md
vendored
2
.github/pull_request_template.md
vendored
@@ -25,7 +25,7 @@ However, reviewers may request that you complete any actions in this list if you
|
||||
- [ ] My PR **doesn't introduce circular dependencies** (verified via `npm run check-circ-deps`)
|
||||
- [ ] My PR **includes [TypeDoc](https://typedoc.org/) comments** for _all new (or modified) public methods and classes_. It also includes TypeDoc for large or complex private methods.
|
||||
- [ ] My PR **passes all specs/tests and includes new/updated specs or tests** based on the [Code Testing Guide](https://wiki.lyrasis.org/display/DSPACE/Code+Testing+Guide).
|
||||
- [ ] My PR **aligns with [Accessibility guidelines](https://wiki.lyrasis.org/display/DSDOC8x/Accessibility)** if it makes changes to the user interface.
|
||||
- [ ] My PR **aligns with [Accessibility guidelines](https://wiki.lyrasis.org/display/DSDOC9x/Accessibility)** if it makes changes to the user interface.
|
||||
- [ ] My PR **uses i18n (internationalization) keys** instead of hardcoded English text, to allow for translations.
|
||||
- [ ] My PR **includes details on how to test it**. I've provided clear instructions to reviewers on how to successfully test this fix or feature.
|
||||
- [ ] If my PR includes new libraries/dependencies (in `package.json`), I've made sure their licenses align with the [DSpace BSD License](https://github.com/DSpace/DSpace/blob/main/LICENSE) based on the [Licensing of Contributions](https://wiki.lyrasis.org/display/DSPACE/Code+Contribution+Guidelines#CodeContributionGuidelines-LicensingofContributions) documentation.
|
||||
|
6
.github/workflows/codescan.yml
vendored
6
.github/workflows/codescan.yml
vendored
@@ -40,14 +40,14 @@ jobs:
|
||||
# Initializes the CodeQL tools for scanning.
|
||||
# https://github.com/github/codeql-action
|
||||
- name: Initialize CodeQL
|
||||
uses: github/codeql-action/init@v2
|
||||
uses: github/codeql-action/init@v3
|
||||
with:
|
||||
languages: javascript
|
||||
|
||||
# Autobuild attempts to build any compiled languages
|
||||
- name: Autobuild
|
||||
uses: github/codeql-action/autobuild@v2
|
||||
uses: github/codeql-action/autobuild@v3
|
||||
|
||||
# Perform GitHub Code Scanning.
|
||||
- name: Perform CodeQL Analysis
|
||||
uses: github/codeql-action/analyze@v2
|
||||
uses: github/codeql-action/analyze@v3
|
||||
|
@@ -10,7 +10,7 @@ DSpace is a community built and supported project. We do not have a centralized
|
||||
## Contribute new code via a Pull Request
|
||||
|
||||
We accept [GitHub Pull Requests (PRs)](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request-from-a-fork) at any time from anyone.
|
||||
Contributors to each release are recognized in our [Release Notes](https://wiki.lyrasis.org/display/DSDOC8x/Release+Notes).
|
||||
Contributors to each release are recognized in our [Release Notes](https://wiki.lyrasis.org/display/DSDOC9x/Release+Notes).
|
||||
|
||||
Code Contribution Checklist
|
||||
- [ ] PRs _should_ be smaller in size (ideally less than 1,000 lines of code, not including comments & tests)
|
||||
@@ -18,7 +18,7 @@ Code Contribution Checklist
|
||||
- [ ] PRs **must** not introduce circular dependencies (verified via `yarn check-circ-deps`)
|
||||
- [ ] PRs **must** include [TypeDoc](https://typedoc.org/) comments for _all new (or modified) public methods and classes_. Large or complex private methods should also have TypeDoc.
|
||||
- [ ] PRs **must** pass all automated pecs/tests and includes new/updated specs or tests based on the [Code Testing Guide](https://wiki.lyrasis.org/display/DSPACE/Code+Testing+Guide).
|
||||
- [ ] User interface changes **must** align with [Accessibility guidelines](https://wiki.lyrasis.org/display/DSDOC8x/Accessibility)
|
||||
- [ ] User interface changes **must** align with [Accessibility guidelines](https://wiki.lyrasis.org/display/DSDOC9x/Accessibility)
|
||||
- [ ] PRs **must** use i18n (internationalization) keys instead of hardcoded English text, to allow for translations.
|
||||
- [ ] Details on how to test the PR **must** be provided. Reviewers must be aware of any steps they need to take to successfully test your fix or feature.
|
||||
- [ ] If a PR includes new libraries/dependencies (in `package.json`), then their software licenses **must** align with the [DSpace BSD License](https://github.com/DSpace/dspace-angular/blob/main/LICENSE) based on the [Licensing of Contributions](https://wiki.lyrasis.org/display/DSPACE/Code+Contribution+Guidelines#CodeContributionGuidelines-LicensingofContributions) documentation.
|
||||
|
10
README.md
10
README.md
@@ -10,7 +10,7 @@ Overview
|
||||
|
||||
DSpace open source software is a turnkey repository application used by more than
|
||||
2,000 organizations and institutions worldwide to provide durable access to digital resources.
|
||||
For more information, visit http://www.dspace.org/
|
||||
For more information, visit https://www.dspace.org/
|
||||
|
||||
DSpace consists of both a Java-based backend and an Angular-based frontend.
|
||||
|
||||
@@ -30,7 +30,7 @@ Downloads
|
||||
Documentation for each release may be viewed online or downloaded via our [Documentation Wiki](https://wiki.lyrasis.org/display/DSDOC/).
|
||||
|
||||
The latest DSpace Installation instructions are available at:
|
||||
https://wiki.lyrasis.org/display/DSDOC7x/Installing+DSpace
|
||||
https://wiki.lyrasis.org/display/DSDOC9x/Installing+DSpace
|
||||
|
||||
Quick start
|
||||
-----------
|
||||
@@ -349,7 +349,7 @@ See our [DSpace Code Testing Guide](https://wiki.lyrasis.org/display/DSPACE/Code
|
||||
Documentation
|
||||
--------------
|
||||
|
||||
Official DSpace documentation is available in the DSpace wiki at https://wiki.lyrasis.org/display/DSDOC7x/
|
||||
Official DSpace documentation is available in the DSpace wiki at https://wiki.lyrasis.org/display/DSDOC9x/
|
||||
|
||||
Some UI specific configuration documentation is also found in the [`./docs`](docs) folder of this codebase.
|
||||
|
||||
@@ -552,7 +552,7 @@ Additional support options are at https://wiki.lyrasis.org/display/DSPACE/Suppor
|
||||
|
||||
DSpace also has an active service provider network. If you'd rather hire a service provider to
|
||||
install, upgrade, customize or host DSpace, then we recommend getting in touch with one of our
|
||||
[Registered Service Providers](http://www.dspace.org/service-providers).
|
||||
[Registered Service Providers](https://dspace.org/registered-service-providers/).
|
||||
|
||||
|
||||
Issue Tracker
|
||||
@@ -565,7 +565,7 @@ DSpace uses GitHub to track issues:
|
||||
License
|
||||
-------
|
||||
DSpace source code is freely available under a standard [BSD 3-Clause license](https://opensource.org/licenses/BSD-3-Clause).
|
||||
The full license is available in the [LICENSE](LICENSE) file or online at http://www.dspace.org/license/
|
||||
The full license is available in the [LICENSE](LICENSE) file or online at https://www.dspace.org/license/
|
||||
|
||||
DSpace uses third-party libraries which may be distributed under different licenses. Those licenses are listed
|
||||
in the [LICENSES_THIRD_PARTY](LICENSES_THIRD_PARTY) file.
|
||||
|
@@ -248,6 +248,8 @@ export class BrowseByMetadataComponent implements OnInit, OnChanges, OnDestroy {
|
||||
|
||||
if (typeof params.startsWith === 'string') {
|
||||
this.startsWith = params.startsWith.trim();
|
||||
} else {
|
||||
this.startsWith = '';
|
||||
}
|
||||
|
||||
if (isNotEmpty(this.value)) {
|
||||
|
@@ -53,7 +53,7 @@
|
||||
<div class="content-container align-self-center">
|
||||
<p class="m-0">
|
||||
<a class="text-white"
|
||||
href="http://www.dspace.org/" role="link" tabindex="0">{{ 'footer.link.dspace' | translate}}</a>
|
||||
href="https://www.dspace.org/" role="link" tabindex="0">{{ 'footer.link.dspace' | translate}}</a>
|
||||
{{ 'footer.copyright' | translate:{year: dateObj | date:'y'} }}
|
||||
<a class="text-white"
|
||||
href="https://www.lyrasis.org/" role="link" tabindex="0">{{ 'footer.link.lyrasis' | translate}}</a>
|
||||
|
@@ -44,6 +44,12 @@ describe('TabbedRelatedEntitiesSearchComponent', () => {
|
||||
provide: ActivatedRoute,
|
||||
useValue: {
|
||||
queryParams: of({ tab: mockRelationType }),
|
||||
snapshot: {
|
||||
queryParams: {
|
||||
scope: 'collection-uuid',
|
||||
query: 'test',
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
{ provide: Router, useValue: router },
|
||||
@@ -89,8 +95,10 @@ describe('TabbedRelatedEntitiesSearchComponent', () => {
|
||||
relativeTo: (comp as any).route,
|
||||
queryParams: {
|
||||
tab: event.nextId,
|
||||
query: 'test',
|
||||
scope: 'collection-uuid',
|
||||
'spc.page': 1,
|
||||
},
|
||||
queryParamsHandling: 'merge',
|
||||
});
|
||||
});
|
||||
});
|
||||
|
@@ -89,8 +89,10 @@ export class TabbedRelatedEntitiesSearchComponent implements OnInit {
|
||||
relativeTo: this.route,
|
||||
queryParams: {
|
||||
tab: event.nextId,
|
||||
query: this.route.snapshot.queryParams.query,
|
||||
scope: this.route.snapshot.queryParams.scope,
|
||||
'spc.page': 1,
|
||||
},
|
||||
queryParamsHandling: 'merge',
|
||||
});
|
||||
}
|
||||
|
||||
|
@@ -45,10 +45,10 @@ import { FormFieldMetadataValueObject } from '../../../models/form-field-metadat
|
||||
import { DsDynamicTagComponent } from './dynamic-tag.component';
|
||||
import { DynamicTagModel } from './dynamic-tag.model';
|
||||
|
||||
function createKeyUpEvent(key: number) {
|
||||
function createKeyUpEvent(key: string) {
|
||||
/* eslint-disable no-empty,@typescript-eslint/no-empty-function */
|
||||
const event = {
|
||||
keyCode: key, preventDefault: () => {
|
||||
key: key, preventDefault: () => {
|
||||
}, stopPropagation: () => {
|
||||
},
|
||||
};
|
||||
@@ -278,8 +278,8 @@ describe('DsDynamicTagComponent test suite', () => {
|
||||
expect(tagComp.chips.getChipsItems()).toEqual(chips.getChipsItems());
|
||||
});
|
||||
|
||||
it('should add an item on ENTER or key press is \',\' or \';\'', fakeAsync(() => {
|
||||
let event = createKeyUpEvent(13);
|
||||
it('should add an item on ENTER or key press is \',\'', fakeAsync(() => {
|
||||
let event = createKeyUpEvent('Enter');
|
||||
tagComp.currentValue = 'test value';
|
||||
|
||||
tagFixture.detectChanges();
|
||||
@@ -290,7 +290,7 @@ describe('DsDynamicTagComponent test suite', () => {
|
||||
expect(tagComp.model.value).toEqual(['test value']);
|
||||
expect(tagComp.currentValue).toBeNull();
|
||||
|
||||
event = createKeyUpEvent(188);
|
||||
event = createKeyUpEvent(',');
|
||||
tagComp.currentValue = 'test value';
|
||||
|
||||
tagFixture.detectChanges();
|
||||
|
@@ -219,13 +219,15 @@ export class DsDynamicTagComponent extends DsDynamicVocabularyComponent implemen
|
||||
}
|
||||
|
||||
/**
|
||||
* Add a new tag with typed text when typing 'Enter' or ',' or ';'
|
||||
* Add a new tag with typed text when typing 'Enter' or ','
|
||||
* Tests the key rather than keyCode as keyCodes can vary
|
||||
* based on keyboard layout (and do not consider Shift mod)
|
||||
* @param event the keyUp event
|
||||
*/
|
||||
onKeyUp(event) {
|
||||
if (event.keyCode === 13 || event.keyCode === 188) {
|
||||
if (event.key === 'Enter' || event.key === ',') {
|
||||
event.preventDefault();
|
||||
// Key: 'Enter' or ',' or ';'
|
||||
// Key: 'Enter' or ','
|
||||
this.addTagsToChips();
|
||||
event.stopPropagation();
|
||||
}
|
||||
|
@@ -153,13 +153,19 @@ export class GeospatialMapComponent implements AfterViewInit, OnInit, OnDestroy
|
||||
this.map = L.map(el, {
|
||||
center: this.DEFAULT_CENTRE_POINT,
|
||||
zoom: 11,
|
||||
worldCopyJump: true,
|
||||
maxBoundsViscosity: 1.0,
|
||||
maxBounds: [
|
||||
[-85, -Infinity],
|
||||
[85, Infinity],
|
||||
],
|
||||
});
|
||||
const tileProviders = environment.geospatialMapViewer.tileProviders;
|
||||
for (let i = 0; i < tileProviders.length; i++) {
|
||||
// Add tiles to the map
|
||||
const tiles = L.tileLayer.provider(tileProviders[i], {
|
||||
maxZoom: 18,
|
||||
minZoom: 3,
|
||||
minZoom: 1,
|
||||
});
|
||||
tiles.addTo(this.map);
|
||||
}
|
||||
|
@@ -1,6 +1,6 @@
|
||||
<div class="d-flex flex-row">
|
||||
@if (linkType !== linkTypes.None) {
|
||||
<a [target]="(linkType === linkTypes.ExternalLink) ? '_blank' : '_self'" [attr.rel]="(linkType === linkTypes.ExternalLink) ? 'noopener noreferrer' : null" [routerLink]="[]" [queryParams]="queryParams$ | async" [queryParamsHandling]="'merge'" class="lead" role="link" tabindex="0">
|
||||
<a [target]="(linkType === linkTypes.ExternalLink) ? '_blank' : '_self'" [attr.rel]="(linkType === linkTypes.ExternalLink) ? 'noopener noreferrer' : null" [routerLink]="[]" [queryParams]="queryParams$ | async" class="lead" role="link" tabindex="0">
|
||||
{{object.value}}
|
||||
</a>
|
||||
}
|
||||
|
@@ -100,7 +100,7 @@ describe('StartsWithDateComponent', () => {
|
||||
});
|
||||
|
||||
it('should add a startsWith query parameter', () => {
|
||||
expect(paginationService.updateRoute).toHaveBeenCalledWith('page-id', { page: 1 }, { startsWith: expectedValue });
|
||||
expect(paginationService.updateRoute).toHaveBeenCalledWith('page-id', { page: 1 }, { startsWith: expectedValue }, undefined, { queryParamsHandling: '' });
|
||||
});
|
||||
|
||||
it('should automatically fill in the input field', () => {
|
||||
@@ -122,7 +122,7 @@ describe('StartsWithDateComponent', () => {
|
||||
});
|
||||
|
||||
it('should add a startsWith query parameter', () => {
|
||||
expect(paginationService.updateRoute).toHaveBeenCalledWith('page-id', { page: 1 }, { startsWith: expectedValue });
|
||||
expect(paginationService.updateRoute).toHaveBeenCalledWith('page-id', { page: 1 }, { startsWith: expectedValue }, undefined, { queryParamsHandling: '' });
|
||||
});
|
||||
|
||||
it('should automatically fill in the input field', () => {
|
||||
@@ -146,7 +146,7 @@ describe('StartsWithDateComponent', () => {
|
||||
});
|
||||
|
||||
it('should add a startsWith query parameter', () => {
|
||||
expect(paginationService.updateRoute).toHaveBeenCalledWith('page-id', { page: 1 }, { startsWith: expectedValue });
|
||||
expect(paginationService.updateRoute).toHaveBeenCalledWith('page-id', { page: 1 }, { startsWith: expectedValue }, undefined, { queryParamsHandling: '' });
|
||||
});
|
||||
|
||||
it('should automatically fill in the input field', () => {
|
||||
@@ -171,7 +171,7 @@ describe('StartsWithDateComponent', () => {
|
||||
});
|
||||
|
||||
it('should add a startsWith query parameter', () => {
|
||||
expect(paginationService.updateRoute).toHaveBeenCalledWith('page-id', { page: 1 }, { startsWith: expectedValue });
|
||||
expect(paginationService.updateRoute).toHaveBeenCalledWith('page-id', { page: 1 }, { startsWith: expectedValue }, undefined, { queryParamsHandling: '' });
|
||||
});
|
||||
});
|
||||
|
||||
|
@@ -92,11 +92,10 @@ export abstract class StartsWithAbstractComponent implements OnInit, OnDestroy {
|
||||
this.startsWith = undefined;
|
||||
}
|
||||
if (resetPage) {
|
||||
this.paginationService.updateRoute(this.paginationId, { page: 1 }, { startsWith: this.startsWith });
|
||||
this.paginationService.updateRoute(this.paginationId, { page: 1 }, { startsWith: this.startsWith }, undefined, { queryParamsHandling: '' });
|
||||
} else {
|
||||
void this.router.navigate([], {
|
||||
queryParams: Object.assign({ startsWith: this.startsWith }),
|
||||
queryParamsHandling: 'merge',
|
||||
});
|
||||
}
|
||||
}
|
||||
|
@@ -74,8 +74,8 @@ describe('StartsWithTextComponent', () => {
|
||||
expect(comp.startsWith).toEqual(expectedValue);
|
||||
});
|
||||
|
||||
it('should add a startsWith query parameter', () => {
|
||||
expect(paginationService.updateRoute).toHaveBeenCalledWith('page-id', { page: 1 }, { startsWith: expectedValue });
|
||||
it('should add a startsWith query parameter and clear all others', () => {
|
||||
expect(paginationService.updateRoute).toHaveBeenCalledWith('page-id', { page: 1 }, { startsWith: expectedValue }, undefined, { queryParamsHandling: '' });
|
||||
});
|
||||
});
|
||||
|
||||
|
@@ -2593,7 +2593,7 @@
|
||||
|
||||
// "cookies.consent.content-notice.description": "We collect and process your personal information for the following purposes: {purposes}",
|
||||
// TODO Source message changed - Revise the translation
|
||||
"cookies.consent.content-notice.description": "نقوم بجمع ومعالجة معلوماتك الشخصية للأغراض التالية: <strong>الاستيثاق، والتفضيلات، والإقرار، والإحصائيات</strong>. <br/> لمعرفة المزيد، يرجى قراءة {privacyPolicy}.",
|
||||
"cookies.consent.content-notice.description": "نقوم بجمع ومعالجة معلوماتك الشخصية للأغراض التالية: الاستيثاق، والتفضيلات، والإقرار، والإحصائيات. لمعرفة المزيد، يرجى قراءة {privacyPolicy}.",
|
||||
|
||||
// "cookies.consent.content-notice.learnMore": "Customize",
|
||||
"cookies.consent.content-notice.learnMore": "تخصيص",
|
||||
@@ -11782,4 +11782,4 @@
|
||||
"file-download-link.request-copy": "Request a copy of ",
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
@@ -2751,7 +2751,7 @@
|
||||
|
||||
// "cookies.consent.content-notice.description": "We collect and process your personal information for the following purposes: {purposes}",
|
||||
// TODO Source message changed - Revise the translation
|
||||
"cookies.consent.content-notice.description": "আমরা নিম্নলিখিত উদ্দেশ্যে আপনার ব্যক্তিগত তথ্য সংগ্রহ এবং প্রক্রিয়া করি: <strong>প্রমাণিকরণ, পছন্দ, স্বীকৃতি এবং পরিসংখ্যান</strong>। <br/> আরও জানতে, অনুগ্রহ করে আমাদের {privacyPolicy} পড়ুন.",
|
||||
"cookies.consent.content-notice.description": "আমরা নিম্নলিখিত উদ্দেশ্যে আপনার ব্যক্তিগত তথ্য সংগ্রহ এবং প্রক্রিয়া করি: প্রমাণিকরণ, পছন্দ, স্বীকৃতি এবং পরিসংখ্যান। আরও জানতে, অনুগ্রহ করে আমাদের {privacyPolicy} পড়ুন.",
|
||||
|
||||
// "cookies.consent.content-notice.learnMore": "Customize",
|
||||
"cookies.consent.content-notice.learnMore": "কাস্টমাইজ করুন",
|
||||
@@ -12704,4 +12704,4 @@
|
||||
"file-download-link.request-copy": "Request a copy of ",
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
@@ -2645,7 +2645,7 @@
|
||||
|
||||
// "cookies.consent.content-notice.description": "We collect and process your personal information for the following purposes: {purposes}",
|
||||
// TODO Source message changed - Revise the translation
|
||||
"cookies.consent.content-notice.description": "Vaše osobní údaje shromažďujeme a zpracováváme pro následující účely: <strong>Ověření, Preference, Potvrzení a Statistiky</strong>. <br/> Chcete-li se dozvědět více, přečtěte si prosím naše {privacyPolicy}.",
|
||||
"cookies.consent.content-notice.description": "Vaše osobní údaje shromažďujeme a zpracováváme pro následující účely: Ověření, Preference, Potvrzení a Statistiky. Chcete-li se dozvědět více, přečtěte si prosím naše {privacyPolicy}.",
|
||||
|
||||
// "cookies.consent.content-notice.learnMore": "Customize",
|
||||
"cookies.consent.content-notice.learnMore": "Přizpůsobit",
|
||||
@@ -12015,4 +12015,4 @@
|
||||
"file-download-link.request-copy": "Request a copy of ",
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
@@ -2475,7 +2475,7 @@
|
||||
|
||||
// "cookies.consent.content-notice.description": "We collect and process your personal information for the following purposes: {purposes}",
|
||||
// TODO Source message changed - Revise the translation
|
||||
"cookies.consent.content-notice.description": "Wir sammeln und verarbeiten Ihre personenbezogenen Daten für die folgenden Zwecke: <strong>Authentifikation, Einstellungen, Zustimmungen und Statistiken</strong>. <br/> Um mehr zu erfahren, lesen Sie bitte unsere {privacyPolicy}.",
|
||||
"cookies.consent.content-notice.description": "Wir sammeln und verarbeiten Ihre personenbezogenen Daten für die folgenden Zwecke: Authentifikation, Einstellungen, Zustimmungen und Statistiken. Um mehr zu erfahren, lesen Sie bitte unsere {privacyPolicy}.",
|
||||
|
||||
// "cookies.consent.content-notice.learnMore": "Customize",
|
||||
"cookies.consent.content-notice.learnMore": "Anpassen",
|
||||
@@ -11112,4 +11112,4 @@
|
||||
"file-download-link.request-copy": "Request a copy of ",
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
@@ -7207,4 +7207,10 @@
|
||||
"metadata-export-search.submit.error.limit-exceeded": "Only the first {{limit}} items will be exported",
|
||||
|
||||
"file-download-link.request-copy": "Request a copy of ",
|
||||
|
||||
"item.preview.organization.url": "URL",
|
||||
|
||||
"item.preview.organization.address.addressLocality": "City",
|
||||
|
||||
"item.preview.organization.alternateName": "Alternative name",
|
||||
}
|
||||
|
@@ -2656,7 +2656,7 @@
|
||||
|
||||
// "cookies.consent.content-notice.description": "We collect and process your personal information for the following purposes: {purposes}",
|
||||
// TODO Source message changed - Revise the translation
|
||||
"cookies.consent.content-notice.description": "Keräämme ja käsittelemme tietojasi seuraaviin tarkoituksiin: <strong>todentaminen, asetukset, kuittaus ja tilastot</strong>. <br/> Lisätietoa saat lukemalla tämän: {privacyPolicy}.",
|
||||
"cookies.consent.content-notice.description": "Keräämme ja käsittelemme tietojasi seuraaviin tarkoituksiin: todentaminen, asetukset, kuittaus ja tilastot. Lisätietoa saat lukemalla tämän: {privacyPolicy}.",
|
||||
|
||||
// "cookies.consent.content-notice.learnMore": "Customize",
|
||||
"cookies.consent.content-notice.learnMore": "Räätälöi",
|
||||
@@ -12016,4 +12016,4 @@
|
||||
"file-download-link.request-copy": "Request a copy of ",
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -2781,7 +2781,7 @@
|
||||
|
||||
// "cookies.consent.content-notice.description": "We collect and process your personal information for the following purposes: {purposes}",
|
||||
// TODO Source message changed - Revise the translation
|
||||
"cookies.consent.content-notice.description": "Bidh sinn a' cruinneachadh agus a' cleachdadh fiosrachadh pearsanta airson nan adhbharan seo: <strong>Dearbhadh, Roghainnean, Buidheachas agus Staitistigs</strong>. <br/> Airson tuilleadh fiosrachaidh, leugh am {Poileasaidhprìobhaideachd}.",
|
||||
"cookies.consent.content-notice.description": "Bidh sinn a' cruinneachadh agus a' cleachdadh fiosrachadh pearsanta airson nan adhbharan seo: Dearbhadh, Roghainnean, Buidheachas agus Staitistigs. Airson tuilleadh fiosrachaidh, leugh am {Poileasaidhprìobhaideachd}.",
|
||||
|
||||
// "cookies.consent.content-notice.learnMore": "Customize",
|
||||
"cookies.consent.content-notice.learnMore": "Customaich",
|
||||
@@ -12796,4 +12796,4 @@
|
||||
"file-download-link.request-copy": "Request a copy of ",
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
@@ -2732,7 +2732,7 @@
|
||||
|
||||
// "cookies.consent.content-notice.description": "We collect and process your personal information for the following purposes: {purposes}",
|
||||
// TODO Source message changed - Revise the translation
|
||||
"cookies.consent.content-notice.description": "Біз сіздің жеке ақпаратыңызды келесі мақсаттарда жинаймыз және өңдейміз: <strong>Аутентификация, Параметрлері, Растау және Статистикалар</strong>. <br/> Көбірек білу үшін, біздің {privacyPolicy} оқуыңызды өтінеміз.",
|
||||
"cookies.consent.content-notice.description": "Біз сіздің жеке ақпаратыңызды келесі мақсаттарда жинаймыз және өңдейміз: Аутентификация, Параметрлері, Растау және Статистикалар. Көбірек білу үшін, біздің {privacyPolicy} оқуыңызды өтінеміз.",
|
||||
|
||||
// "cookies.consent.content-notice.learnMore": "Customize",
|
||||
"cookies.consent.content-notice.learnMore": "Баптау",
|
||||
@@ -12423,4 +12423,4 @@
|
||||
"file-download-link.request-copy": "Request a copy of ",
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
@@ -2484,7 +2484,7 @@
|
||||
|
||||
// "cookies.consent.content-notice.description": "We collect and process your personal information for the following purposes: {purposes}",
|
||||
// TODO Source message changed - Revise the translation
|
||||
"cookies.consent.content-notice.description": "Coletamos e processamos suas informações pessoais para os seguintes propósitos: <strong>Autenticação, Preferências, Reconhecimento e Estatísticas</strong>. <br/> Para aprender mais, por favor leia nossa {privacyPolicy}.",
|
||||
"cookies.consent.content-notice.description": "Coletamos e processamos suas informações pessoais para os seguintes propósitos: Autenticação, Preferências, Reconhecimento e Estatísticas. Para aprender mais, por favor leia nossa {privacyPolicy}.",
|
||||
|
||||
// "cookies.consent.content-notice.learnMore": "Customize",
|
||||
"cookies.consent.content-notice.learnMore": "Customizar",
|
||||
@@ -11139,5 +11139,9 @@
|
||||
// TODO New key - Add a translation
|
||||
"file-download-link.request-copy": "Request a copy of ",
|
||||
|
||||
"item.preview.organization.url": "URL",
|
||||
|
||||
}
|
||||
"item.preview.organization.address.addressLocality": "Cidade",
|
||||
|
||||
"item.preview.organization.alternateName": "Nome alternativo",
|
||||
}
|
||||
|
@@ -2761,7 +2761,7 @@
|
||||
|
||||
// "cookies.consent.content-notice.description": "We collect and process your personal information for the following purposes: {purposes}",
|
||||
// TODO Source message changed - Revise the translation
|
||||
"cookies.consent.content-notice.description": "Vi samlar in och hanterar dina persondata för följande syften: <strong>Autenticering, inställningar, godkännanden och statistik</strong>. <br/> För mer information, läs {privacyPolicy}.",
|
||||
"cookies.consent.content-notice.description": "Vi samlar in och hanterar dina persondata för följande syften: Autenticering, inställningar, godkännanden och statistik. För mer information, läs {privacyPolicy}.",
|
||||
|
||||
// "cookies.consent.content-notice.learnMore": "Customize",
|
||||
"cookies.consent.content-notice.learnMore": "Anpassa",
|
||||
@@ -12852,4 +12852,4 @@
|
||||
"file-download-link.request-copy": "Request a copy of ",
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
@@ -2852,7 +2852,7 @@
|
||||
|
||||
// "cookies.consent.content-notice.description": "We collect and process your personal information for the following purposes: {purposes}",
|
||||
// TODO Source message changed - Revise the translation
|
||||
"cookies.consent.content-notice.description": "Kişisel bilgilerinizi aşağıdaki amaçlarla topluyor ve işleriz: <strong>Kimlik Doğrulama, Tercihler, Onay ve İstatistikler</strong>. <br/> Daha fazla bilgi için, lütfen okuyun {privacyPolicy}.",
|
||||
"cookies.consent.content-notice.description": "Kişisel bilgilerinizi aşağıdaki amaçlarla topluyor ve işleriz: Kimlik Doğrulama, Tercihler, Onay ve İstatistikler. Daha fazla bilgi için, lütfen okuyun {privacyPolicy}.",
|
||||
|
||||
// "cookies.consent.content-notice.learnMore": "Customize",
|
||||
"cookies.consent.content-notice.learnMore": "Özelleştir",
|
||||
@@ -13046,4 +13046,4 @@
|
||||
"file-download-link.request-copy": "Request a copy of ",
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
@@ -2870,7 +2870,7 @@
|
||||
|
||||
// "cookies.consent.content-notice.description": "We collect and process your personal information for the following purposes: {purposes}",
|
||||
// TODO Source message changed - Revise the translation
|
||||
"cookies.consent.content-notice.description": "Ми збираємо та обробляємо вашу особисту інформацію для таких цілей: <strong>автентифікація, налаштування та статистика</strong>. <br/> Щоб дізнатися більше, прочитайте нашу політику {privacyPolicy}.",
|
||||
"cookies.consent.content-notice.description": "Ми збираємо та обробляємо вашу особисту інформацію для таких цілей: автентифікація, налаштування та статистика. Щоб дізнатися більше, прочитайте нашу політику {privacyPolicy}.",
|
||||
|
||||
// "cookies.consent.content-notice.learnMore": "Customize",
|
||||
"cookies.consent.content-notice.learnMore": "Налаштувати",
|
||||
@@ -13069,4 +13069,4 @@
|
||||
"file-download-link.request-copy": "Request a copy of ",
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user