Merge branch 'DSpace:main' into fix-8918

This commit is contained in:
im-shubham-vish
2025-09-09 11:15:56 +05:30
committed by GitHub
29 changed files with 635 additions and 1259 deletions

View File

@@ -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"

View File

@@ -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.

View File

@@ -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

View File

@@ -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.

View File

@@ -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.

View 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)) {

View File

@@ -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>

View File

@@ -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',
});
});
});

View File

@@ -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',
});
}

View File

@@ -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();

View File

@@ -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();
}

View File

@@ -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);
}

View File

@@ -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>
}

View File

@@ -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: '' });
});
});

View File

@@ -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',
});
}
}

View File

@@ -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: '' });
});
});

View File

@@ -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 ",
}
}

View File

@@ -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 ",
}
}

View File

@@ -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 ",
}
}

View File

@@ -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 ",
}
}

View File

@@ -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",
}

View File

@@ -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

View File

@@ -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 ",
}
}

View File

@@ -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 ",
}
}

View File

@@ -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",
}

View File

@@ -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 ",
}
}

View File

@@ -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 ",
}
}

View File

@@ -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 ",
}
}