diff --git a/ui/cypress/e2e/retention/add-user.cy.js b/ui/cypress/e2e/retention/add-user.cy.js index 0035af8f9..ea1862b83 100644 --- a/ui/cypress/e2e/retention/add-user.cy.js +++ b/ui/cypress/e2e/retention/add-user.cy.js @@ -27,6 +27,8 @@ describe("Add new user", () => { cy.get("#field_mainContact").click(); // Admin checkbox should not exist cy.get("#field_isAdmin").should("not.exist"); + // Disable 2fa should not exist + cy.get("#field_twoFactorAuthentication").should("not.exist"); // save cy.get("#save-entity").click(); cy.get(".alert-success").should("exist"); diff --git a/ui/cypress/e2e/retention/edit-user.cy.js b/ui/cypress/e2e/retention/edit-user.cy.js index 875d30683..c3605ca6f 100644 --- a/ui/cypress/e2e/retention/edit-user.cy.js +++ b/ui/cypress/e2e/retention/edit-user.cy.js @@ -29,6 +29,8 @@ describe("Test the edit user form", () => { cy.get("#field_salesforceId").invoke("attr", "disabled").should("exist"); // Admin checkbox should not exist cy.get("#field_isAdmin").should("not.exist"); + // Disable 2fa should not exist + cy.get("#field_twoFactorAuthentication").should("not.exist"); // 'Activated' checkbox is missing the 'disabled' attr /*cy.get('#field_activated') .invoke('attr', 'disabled') diff --git a/ui/src/app/account/login/login.component.spec.ts b/ui/src/app/account/login/login.component.spec.ts index 90ea33014..61fb3af1d 100644 --- a/ui/src/app/account/login/login.component.spec.ts +++ b/ui/src/app/account/login/login.component.spec.ts @@ -45,6 +45,7 @@ describe('LoginComponent', () => { loginService.login.and.returnValue(of(mockLoginResult)) accountService.getAccountData.and.returnValue( of({ + id: 'id', activated: true, authorities: ['test', 'test'], email: 'email@email.com', diff --git a/ui/src/app/account/model/account.model.ts b/ui/src/app/account/model/account.model.ts index 86497e547..44579a4d7 100644 --- a/ui/src/app/account/model/account.model.ts +++ b/ui/src/app/account/model/account.model.ts @@ -1,4 +1,5 @@ export interface IAccount { + id: string activated: boolean authorities: string[] email: string diff --git a/ui/src/app/account/service/account.service.ts b/ui/src/app/account/service/account.service.ts index 32640b39a..781ad6b79 100644 --- a/ui/src/app/account/service/account.service.ts +++ b/ui/src/app/account/service/account.service.ts @@ -89,8 +89,8 @@ export class AccountService { ) } - disableMfa(): Observable { - return this.http.post('/services/userservice/api/account/mfa/off', null, { observe: 'response' }).pipe( + disableMfa(userId: string): Observable { + return this.http.post(`/services/userservice/api/account/${userId}/mfa/off`, null, { observe: 'response' }).pipe( map((res: HttpResponse) => this.isSuccess(res)), catchError(() => { return of(false) diff --git a/ui/src/app/account/settings/settings.component.spec.ts b/ui/src/app/account/settings/settings.component.spec.ts index dad934c83..6d03832a9 100644 --- a/ui/src/app/account/settings/settings.component.spec.ts +++ b/ui/src/app/account/settings/settings.component.spec.ts @@ -63,6 +63,7 @@ describe('SettingsComponent', () => { it('should create', () => { accountServiceSpy.getAccountData.and.returnValue( of({ + id: 'id', activated: true, authorities: ['test', 'test'], email: 'email@email.com', @@ -84,6 +85,7 @@ describe('SettingsComponent', () => { it('should flip mfa fields when mfa state changed', () => { accountServiceSpy.getAccountData.and.returnValue( of({ + id: 'id', activated: true, authorities: ['test', 'test'], email: 'email@email.com', @@ -115,6 +117,7 @@ describe('SettingsComponent', () => { it('should flip mfa fields when mfa state changed', () => { accountServiceSpy.getAccountData.and.returnValue( of({ + id: 'id', activated: true, authorities: ['test', 'test'], email: 'email@email.com', @@ -141,6 +144,7 @@ describe('SettingsComponent', () => { it('save mfa enabled should call account service enable', () => { accountServiceSpy.getAccountData.and.returnValue( of({ + id: 'id', activated: true, authorities: ['test', 'test'], email: 'email@email.com', @@ -169,6 +173,7 @@ describe('SettingsComponent', () => { it('save mfa enabled should call account service disable', () => { accountServiceSpy.getAccountData.and.returnValue( of({ + id: 'id', activated: true, authorities: ['test', 'test'], email: 'email@email.com', @@ -185,6 +190,7 @@ describe('SettingsComponent', () => { ) accountServiceSpy.getMfaSetup.and.returnValue(of({ secret: 'test', otp: 'test', qrCode: ['test'] })) accountServiceSpy.disableMfa.and.returnValue(of(true)) + fixture.detectChanges() component.mfaForm.patchValue({ mfaEnabled: false, verificationCode: 'test' }) component.saveMfa() @@ -197,6 +203,7 @@ describe('SettingsComponent', () => { accountServiceSpy.save.and.returnValue(of(true)) accountServiceSpy.getAccountData.and.returnValue( of({ + id: 'id', activated: true, authorities: ['test', 'test'], email: 'email@email.com', @@ -222,6 +229,7 @@ describe('SettingsComponent', () => { accountServiceSpy.save.and.returnValue(of(false)) accountServiceSpy.getAccountData.and.returnValue( of({ + id: 'id', activated: true, authorities: ['test', 'test'], email: 'email@email.com', diff --git a/ui/src/app/account/settings/settings.component.ts b/ui/src/app/account/settings/settings.component.ts index 243d8e06b..2f698ffa3 100644 --- a/ui/src/app/account/settings/settings.component.ts +++ b/ui/src/app/account/settings/settings.component.ts @@ -118,15 +118,17 @@ export class SettingsComponent implements OnInit { } }) } else { - this.accountService.disableMfa().subscribe({ - next: () => { - this.showMfaUpdated = true - this.accountService.getMfaSetup().subscribe((res) => { - this.mfaSetup = res - }) - }, - error: (err) => console.log('error disabling mfa'), - }) + if (this.account && this.account.id) { + this.accountService.disableMfa(this.account.id).subscribe({ + next: () => { + this.showMfaUpdated = true + this.accountService.getMfaSetup().subscribe((res) => { + this.mfaSetup = res + }) + }, + error: (err) => console.log('error disabling mfa'), + }) + } } } diff --git a/ui/src/app/affiliation/affiliations.component.spec.ts b/ui/src/app/affiliation/affiliations.component.spec.ts index ca5290df0..83148bf7b 100644 --- a/ui/src/app/affiliation/affiliations.component.spec.ts +++ b/ui/src/app/affiliation/affiliations.component.spec.ts @@ -63,6 +63,7 @@ describe('AffiliationsComponent', () => { accountService.getAccountData.and.returnValue( of({ + id: 'id', activated: true, authorities: ['ROLE_USER', 'ROLE_ADMIN'], email: 'email@email.com', diff --git a/ui/src/app/affiliation/send-notifications-dialog.component.spec.ts b/ui/src/app/affiliation/send-notifications-dialog.component.spec.ts index ebde7b615..b8574bb00 100644 --- a/ui/src/app/affiliation/send-notifications-dialog.component.spec.ts +++ b/ui/src/app/affiliation/send-notifications-dialog.component.spec.ts @@ -68,6 +68,7 @@ describe('SendNotificationsDialogComponent', () => { it('should create', () => { accountServiceSpy.getAccountData.and.returnValue( of({ + id: 'id', activated: true, authorities: ['test', 'test'], email: 'email@email.com', diff --git a/ui/src/app/home/consortium/add-consortium-member.component.spec.ts b/ui/src/app/home/consortium/add-consortium-member.component.spec.ts index dd06113c6..4ea15b4fe 100644 --- a/ui/src/app/home/consortium/add-consortium-member.component.spec.ts +++ b/ui/src/app/home/consortium/add-consortium-member.component.spec.ts @@ -48,6 +48,7 @@ describe('AddConsortiumMemberComponent', () => { accountServiceSpy.getAccountData.and.returnValue( of({ + id: 'id', activated: true, authorities: ['test', 'test'], email: 'email@email.com', diff --git a/ui/src/app/home/consortium/remove-consortium-member.component.spec.ts b/ui/src/app/home/consortium/remove-consortium-member.component.spec.ts index 5b0ce93c0..a74303696 100644 --- a/ui/src/app/home/consortium/remove-consortium-member.component.spec.ts +++ b/ui/src/app/home/consortium/remove-consortium-member.component.spec.ts @@ -48,6 +48,7 @@ describe('RemoveConsortiumMemberComponent', () => { accountServiceSpy.getAccountData.and.returnValue( of({ + id: 'id', activated: true, authorities: ['test', 'test'], email: 'email@email.com', diff --git a/ui/src/app/home/contact/contact-update.component.spec.ts b/ui/src/app/home/contact/contact-update.component.spec.ts index e51a6f73d..6d03c28d9 100644 --- a/ui/src/app/home/contact/contact-update.component.spec.ts +++ b/ui/src/app/home/contact/contact-update.component.spec.ts @@ -55,6 +55,7 @@ describe('ContactUpdateComponent', () => { it('should call getAccountData and getMemberData to get contact data on init', () => { accountServiceSpy.getAccountData.and.returnValue( of({ + id: 'id', activated: true, authorities: ['test', 'test'], email: 'email@email.com', diff --git a/ui/src/app/home/home.component.spec.ts b/ui/src/app/home/home.component.spec.ts index cc6db2491..0209e7618 100644 --- a/ui/src/app/home/home.component.spec.ts +++ b/ui/src/app/home/home.component.spec.ts @@ -36,6 +36,7 @@ describe('HomeComponent', () => { it('should call getMemberData if account data is not null', () => { accountServiceSpy.getAccountData.and.returnValue( of({ + id: 'id', activated: true, authorities: ['test', 'test'], email: 'email@email.com', diff --git a/ui/src/app/layout/navbar/navbar.component.spec.ts b/ui/src/app/layout/navbar/navbar.component.spec.ts index 0ad1af311..0c5dddad9 100644 --- a/ui/src/app/layout/navbar/navbar.component.spec.ts +++ b/ui/src/app/layout/navbar/navbar.component.spec.ts @@ -63,6 +63,7 @@ describe('NavbarComponent', () => { accountService.getSalesforceId.and.returnValue('sfid') accountService.getAccountData.and.returnValue( of({ + id: 'id', activated: true, authorities: ['ROLE_USER'], email: 'email@email.com', @@ -107,6 +108,7 @@ describe('NavbarComponent', () => { accountService.getSalesforceId.and.returnValue('sfid') accountService.getAccountData.and.returnValue( of({ + id: 'id', activated: true, authorities: ['ROLE_USER', 'ROLE_CONSORTIUM_LEAD'], email: 'email@email.com', @@ -144,6 +146,7 @@ describe('NavbarComponent', () => { accountService.getSalesforceId.and.returnValue('sfid') accountService.getAccountData.and.returnValue( of({ + id: 'id', activated: true, authorities: ['ROLE_USER', 'ASSERTION_SERVICE_ENABLED'], email: 'email@email.com', diff --git a/ui/src/app/member/members.component.spec.ts b/ui/src/app/member/members.component.spec.ts index 94854e818..8cbcf7441 100644 --- a/ui/src/app/member/members.component.spec.ts +++ b/ui/src/app/member/members.component.spec.ts @@ -43,6 +43,7 @@ describe('MembersComponent', () => { memberServiceSpy.query.and.returnValue(of(new MemberPage([new Member('id')], 1))) accountServiceSpy.getAccountData.and.returnValue( of({ + id: 'id', activated: true, authorities: ['ROLE_USER'], email: 'email@email.com', diff --git a/ui/src/app/user/user-update.component.html b/ui/src/app/user/user-update.component.html index cef5a9719..a14a5acbf 100644 --- a/ui/src/app/user/user-update.component.html +++ b/ui/src/app/user/user-update.component.html @@ -68,7 +68,7 @@

+
diff --git a/ui/src/app/user/user-update.component.scss b/ui/src/app/user/user-update.component.scss new file mode 100644 index 000000000..d37c73bde --- /dev/null +++ b/ui/src/app/user/user-update.component.scss @@ -0,0 +1,21 @@ +.warning-message { + img { + padding: 0 16px 0 8px !important; + } + div { + font-size: 0.875rem; + } + border: 2px solid #ff9c00; + border-radius: 4px; +} + +.mfaOn { + color: #7faa26; +} +.mfaOff { + color: #d32f2f; +} + +.two-factor-authentication-label { + font-weight: normal; +} diff --git a/ui/src/app/user/user-update.component.spec.ts b/ui/src/app/user/user-update.component.spec.ts index 68cfdaea2..2cfb0aff9 100644 --- a/ui/src/app/user/user-update.component.spec.ts +++ b/ui/src/app/user/user-update.component.spec.ts @@ -14,6 +14,7 @@ import { FontAwesomeModule } from '@fortawesome/angular-fontawesome' import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core' import { RouterTestingModule } from '@angular/router/testing' import { of } from 'rxjs' +import { By } from '@angular/platform-browser' describe('UserUpdateComponent', () => { let component: UserUpdateComponent @@ -38,9 +39,10 @@ describe('UserUpdateComponent', () => { 'getAccountData', 'hasAnyAuthority', 'getSalesforceId', + 'disableMfa', ]) const alertServiceSpy = jasmine.createSpyObj('AlertService', ['broadcast']) - const memberServiceSpy = jasmine.createSpyObj('MemberService', ['find']) + const memberServiceSpy = jasmine.createSpyObj('MemberService', ['find', 'getAllMembers']) const routerSpy = jasmine.createSpyObj('Router', ['navigate']) TestBed.configureTestingModule({ @@ -83,9 +85,11 @@ describe('UserUpdateComponent', () => { mfaEnabled: false, }) ) + memberService.getAllMembers.and.returnValue(of([])) memberService.find.and.returnValue(of(new Member())) userService.validate.and.returnValue(of(new UserValidation(true, null))) userService.update.and.returnValue(of({})) + accountService.disableMfa.and.returnValue(of(true)) spyOn(router, 'navigate').and.returnValue(Promise.resolve(true)) }) @@ -106,7 +110,84 @@ describe('UserUpdateComponent', () => { expect(component.disableSalesForceIdDD()).toBe(true) }) - it('should enable salesforceId dropdown for admin users', () => { + it('should display disable 2fa checkbox for admins when editing an existing user', () => { + activatedRoute.data = of({ + user: { + salesforceId: 'test', + id: 'id', + email: 'test@test.com', + firstName: 'hello', + lastName: 'hello', + mainContact: false, + mfaEnabled: true, + } as IUser, + }) + accountService.hasAnyAuthority.and.returnValue(true) + fixture.detectChanges() + const twoFactorAuthenticationCheckbox = fixture.debugElement.query(By.css('#field_twoFactorAuthentication')) + expect(twoFactorAuthenticationCheckbox).toBeTruthy() + const checkbox = fixture.debugElement.nativeElement.querySelector('#field_twoFactorAuthentication') + checkbox.click() + component.saveMfa() + expect(accountService.disableMfa).toHaveBeenCalledWith('id') + }) + + it('should not disable 2fa if 2fa checkmark remains ticked', () => { + activatedRoute.data = of({ + user: { + salesforceId: 'test', + id: 'id', + email: 'test@test.com', + firstName: 'hello', + lastName: 'hello', + mainContact: false, + mfaEnabled: true, + } as IUser, + }) + accountService.hasAnyAuthority.and.returnValue(true) + fixture.detectChanges() + component.saveMfa() + const twoFactorAuthenticationCheckbox = fixture.debugElement.query(By.css('#field_twoFactorAuthentication')) + expect(twoFactorAuthenticationCheckbox).toBeTruthy() + expect(accountService.disableMfa).toHaveBeenCalledTimes(0) + }) + + it('should not disable 2fa checkbox if 2fa is not enabled', () => { + activatedRoute.data = of({ + user: { + salesforceId: 'test', + id: 'id', + email: 'test@test.com', + firstName: 'hello', + lastName: 'hello', + mainContact: false, + mfaEnabled: false, + } as IUser, + }) + accountService.hasAnyAuthority.and.returnValue(true) + fixture.detectChanges() + component.saveMfa() + const twoFactorAuthenticationCheckbox = fixture.debugElement.query(By.css('#field_twoFactorAuthentication')) + expect(twoFactorAuthenticationCheckbox).toBeFalsy() + expect(accountService.disableMfa).toHaveBeenCalledTimes(0) + }) + + it('should not display disable 2fa checkbox for admins when adding a new user', () => { + accountService.hasAnyAuthority.and.returnValue(true) + fixture.detectChanges() + const twoFactorAuthenticationCheckbox = fixture.debugElement.query(By.css('#field_twoFactorAuthentication')) + expect(twoFactorAuthenticationCheckbox).toBeFalsy() + }) + + it('should not display disable 2fa checkbox for non-admins when editing an existing user', () => { + activatedRoute.data = of({ user: { mfaEnabled: true, id: 'id' } as IUser }) + accountService.hasAnyAuthority.and.returnValue(false) + fixture.detectChanges() + const twoFactorAuthenticationCheckbox = fixture.debugElement.query(By.css('#field_twoFactorAuthentication')) + expect(twoFactorAuthenticationCheckbox).toBeFalsy() + }) + + it('should display salesforceId dropdown for admin users', () => { accountService.hasAnyAuthority.and.returnValue(true) fixture.detectChanges() @@ -150,6 +231,7 @@ describe('UserUpdateComponent', () => { expect(userService.validate).toHaveBeenCalled() expect(userService.create).toHaveBeenCalled() expect(userService.update).toHaveBeenCalledTimes(0) + expect(accountService.disableMfa).toHaveBeenCalledTimes(0) expect(router.navigate).toHaveBeenCalledWith(['/users']) }) @@ -170,6 +252,7 @@ describe('UserUpdateComponent', () => { expect(userService.validate).toHaveBeenCalled() expect(userService.create).toHaveBeenCalled() expect(userService.update).toHaveBeenCalledTimes(0) + expect(accountService.disableMfa).toHaveBeenCalledTimes(0) expect(router.navigate).toHaveBeenCalledWith(['/']) }) @@ -192,6 +275,7 @@ describe('UserUpdateComponent', () => { expect(userService.validate).toHaveBeenCalled() expect(userService.update).toHaveBeenCalled() expect(userService.create).toHaveBeenCalledTimes(0) + expect(accountService.disableMfa).toHaveBeenCalledTimes(0) expect(router.navigate).toHaveBeenCalledWith(['/users']) }) @@ -214,6 +298,7 @@ describe('UserUpdateComponent', () => { expect(userService.validate).toHaveBeenCalled() expect(userService.update).toHaveBeenCalled() expect(userService.create).toHaveBeenCalledTimes(0) + expect(accountService.disableMfa).toHaveBeenCalledTimes(0) expect(router.navigate).toHaveBeenCalledWith(['/']) }) @@ -237,6 +322,7 @@ describe('UserUpdateComponent', () => { expect(userService.validate).toHaveBeenCalled() expect(userService.update).toHaveBeenCalled() expect(userService.create).toHaveBeenCalledTimes(0) + expect(accountService.disableMfa).toHaveBeenCalledTimes(0) expect(router.navigate).toHaveBeenCalledWith(['/users']) }) diff --git a/ui/src/app/user/user-update.component.ts b/ui/src/app/user/user-update.component.ts index fe174e9e5..1913cd54f 100644 --- a/ui/src/app/user/user-update.component.ts +++ b/ui/src/app/user/user-update.component.ts @@ -19,6 +19,7 @@ import { AlertMessage, AlertType, DATE_TIME_FORMAT, emailValidator } from '../ap @Component({ selector: 'app-user-update', templateUrl: './user-update.component.html', + styleUrls: ['./user-update.component.scss'], }) export class UserUpdateComponent { isSaving = false @@ -30,6 +31,7 @@ export class UserUpdateComponent { showIsAdminCheckbox = false currentAccount: any validation: any + disableMfa = false editForm = this.fb.group({ id: new FormControl(null), @@ -52,6 +54,11 @@ export class UserUpdateComponent { lastModifiedDate: new FormControl(null), }) + mfaForm = this.fb.group({ + id: new FormControl(null), + twoFactorAuthentication: new FormControl(null), + }) + memberList = [] as IMember[] hasOwner = false @@ -86,6 +93,7 @@ export class UserUpdateComponent { this.editForm.enable() if (this.existentUser) { this.updateForm(this.existentUser) + this.updateMfaForm(this.existentUser) } }) }) @@ -112,6 +120,12 @@ export class UserUpdateComponent { this.editForm.get('salesforceId')?.valueChanges.subscribe((val) => (this.isSaving = false)) this.editForm.get('mainContact')?.valueChanges.subscribe((val) => (this.isSaving = false)) this.editForm.get('assertionServiceEnabled')?.valueChanges.subscribe((val) => (this.isSaving = false)) + + // MFA + this.mfaForm.get('twoFactorAuthentication')?.valueChanges.subscribe((val) => { + this.isSaving = false + if (val != null) this.disableMfa = !val + }) } updateForm(user: IUser) { @@ -143,6 +157,13 @@ export class UserUpdateComponent { } } + updateMfaForm(user: IUser) { + this.mfaForm.patchValue({ + id: user.id, + twoFactorAuthentication: user.mfaEnabled, + }) + } + getMemberList(): Observable { if (this.hasRoleAdmin()) { return this.memberService.getAllMembers().pipe( @@ -230,11 +251,28 @@ export class UserUpdateComponent { } } + saveMfa() { + if (this.mfaForm.valid) { + this.isSaving = true + const userFromForm = this.createFromForm() + this.userService.validate(userFromForm).subscribe((response) => { + const data = response + if (data.valid) { + if (userFromForm != null && this.hasRoleAdmin() && this.disableMfa && userFromForm.id) { + this.subscribeToUpdateResponse(this.accountService.disableMfa(userFromForm.id)) + } + } else { + this.isSaving = false + this.validation = data + } + }) + } + } + save() { if (this.editForm.valid) { this.isSaving = true const userFromForm = this.createFromForm() - this.userService.validate(userFromForm).subscribe((response) => { const data = response if (data.valid) { @@ -317,7 +355,7 @@ export class UserUpdateComponent { }) } - protected subscribeToUpdateResponse(result: Observable) { + protected subscribeToUpdateResponse(result: Observable) { result.subscribe({ next: () => this.onUpdateSuccess(), }) diff --git a/ui/src/app/user/users.component.spec.ts b/ui/src/app/user/users.component.spec.ts index 7725bf805..e59ee738d 100644 --- a/ui/src/app/user/users.component.spec.ts +++ b/ui/src/app/user/users.component.spec.ts @@ -68,6 +68,7 @@ describe('UsersComponent', () => { accountService.getAccountData.and.returnValue( of({ + id: 'id', activated: true, authorities: ['ROLE_USER', 'ROLE_ADMIN'], email: 'email@email.com', diff --git a/ui/src/i18n/messages.cs.xlf b/ui/src/i18n/messages.cs.xlf index 889c297fb..9b90453a4 100644 --- a/ui/src/i18n/messages.cs.xlf +++ b/ui/src/i18n/messages.cs.xlf @@ -1,5 +1,5 @@ - - + + Failed to sign in! Please check your credentials and try again. @@ -106,7 +106,7 @@ - Email address isn't registered! Please check and try again. + Email address isn't registered! Please check and try again. E-mailová adresa není zaregistrovaná! Zkontrolujte ji prosím a zkuste to znovu src/app/account/password/password-reset-init.component.html @@ -478,7 +478,7 @@ - Add extra security to your ORCID member portal account by enabling two-factor authentication. Each time you sign in, you'll be prompted to enter a six-digit code we send to your preferred authentication application. + Add extra security to your ORCID member portal account by enabling two-factor authentication. Each time you sign in, you'll be prompted to enter a six-digit code we send to your preferred authentication application. Přidejte další stupeň zabezpečení do svého účtu členského portálu ORCID povolením dvoufázového ověření. Při každém přihlášení budete vyzváni k zadání šestimístného kódu, který zašleme do vámi preferované ověřovací aplikace. src/app/account/settings/settings.component.html @@ -492,6 +492,14 @@ src/app/account/settings/settings.component.html 151 + + src/app/user/user-update.component.html + 120 + + + src/app/user/user-update.component.html + 148 + 2FA settings updated @@ -518,7 +526,7 @@ - Can't scan the QR code? + Can't scan the QR code? Nejde vám QR kód naskenovat? src/app/account/settings/settings.component.html @@ -814,7 +822,7 @@ - Your password couldn't be reset. Remember a password request is only valid for 24 hours. + Your password couldn't be reset. Remember a password request is only valid for 24 hours. Heslo nelze znovu nastavit. Nezapomeňte, že žádost o heslo platí pouze 24 hodin. src/app/account/password/password-reset-finish.component.html @@ -910,7 +918,7 @@ src/app/user/user-update.component.html - 150 + 195 src/app/user/users.component.html @@ -970,7 +978,7 @@ src/app/user/user-update.component.html - 120 + 165 @@ -1034,11 +1042,11 @@ src/app/user/user-update.component.html - 131 + 176 src/app/user/user-update.component.html - 141 + 186 @@ -1218,7 +1226,7 @@ - Invite email couldn't be sent. + Invite email couldn't be sent. Zvací e-mail se nepodařilo odeslat. src/app/shared/pipe/localize.ts @@ -1326,7 +1334,7 @@ Opravdu chcete převést vlastnictví? Chystáte se převést vlastnictví tohoto účtu organizace. Jste-li vlastníkem organizace, po převodu vlastnictví již nebudete mít přístup k administrátorským funkcím, jako je správa uživatelů. src/app/user/user-update.component.ts - 226 + 230 @@ -4406,7 +4414,7 @@ - Are you sure you want to delete this affiliation for ? The affiliation will be deleted from the portal and the user's ORCID record. + Are you sure you want to delete this affiliation for ? The affiliation will be deleted from the portal and the user's ORCID record. Jste si jisti, že chcete zrušit toto přidružení pro ? Přidružení bude odstraněno z portálu a uživatelského záznamu ORCID. src/app/affiliation/affiliation-delete.component.ts @@ -4812,6 +4820,38 @@ 66 + + ON + + + src/app/user/user-update.component.html + 123 + + + + OFF + + + src/app/user/user-update.component.html + 126 + + + + Disable two-factor authentication (2FA) for this user if they are having difficulty signing in to the member portal. + + + src/app/user/user-update.component.html + 131 + + + + Users can enable 2FA from their account settings page + + + src/app/user/user-update.component.html + 155 + + \ No newline at end of file diff --git a/ui/src/i18n/messages.es.xlf b/ui/src/i18n/messages.es.xlf index 0134babfd..42b27ca06 100644 --- a/ui/src/i18n/messages.es.xlf +++ b/ui/src/i18n/messages.es.xlf @@ -1,5 +1,5 @@ - - + + Failed to sign in! Please check your credentials and try again. @@ -106,7 +106,7 @@ - Email address isn't registered! Please check and try again. + Email address isn't registered! Please check and try again. ¡La dirección de correo electrónico no está registrada! Compruébalo e inténtalo de nuevo. src/app/account/password/password-reset-init.component.html @@ -478,7 +478,7 @@ - Add extra security to your ORCID member portal account by enabling two-factor authentication. Each time you sign in, you'll be prompted to enter a six-digit code we send to your preferred authentication application. + Add extra security to your ORCID member portal account by enabling two-factor authentication. Each time you sign in, you'll be prompted to enter a six-digit code we send to your preferred authentication application. Añada seguridad adicional a su cuenta del portal de miembros de ORCID activando la autenticación de dos factores. Cada vez que inicie sesión, se le pedirá que introduzca un código de seis dígitos que le enviaremos a su aplicación de autenticación preferida. src/app/account/settings/settings.component.html @@ -492,6 +492,14 @@ src/app/account/settings/settings.component.html 151 + + src/app/user/user-update.component.html + 120 + + + src/app/user/user-update.component.html + 148 + 2FA settings updated @@ -518,7 +526,7 @@ - Can't scan the QR code? + Can't scan the QR code? ¿No puede escanear el código QR? src/app/account/settings/settings.component.html @@ -814,7 +822,7 @@ - Your password couldn't be reset. Remember a password request is only valid for 24 hours. + Your password couldn't be reset. Remember a password request is only valid for 24 hours. No se ha podido restablecer tu contraseña. Recuerde que una solicitud de contraseña solo es válida por 24 horas. src/app/account/password/password-reset-finish.component.html @@ -910,7 +918,7 @@ src/app/user/user-update.component.html - 150 + 195 src/app/user/users.component.html @@ -970,7 +978,7 @@ src/app/user/user-update.component.html - 120 + 165 @@ -1034,11 +1042,11 @@ src/app/user/user-update.component.html - 131 + 176 src/app/user/user-update.component.html - 141 + 186 @@ -1218,7 +1226,7 @@ - Invite email couldn't be sent. + Invite email couldn't be sent. No se ha podido enviar el correo de invitación. src/app/shared/pipe/localize.ts @@ -1326,7 +1334,7 @@ ¿Está seguro de que desea transferir la propiedad? Está a punto de transferir la propiedad de esta cuenta de organización. Si es el propietario de la organización, tenga en cuenta que, tras transferir la propiedad, ya no tendrá acceso a las funciones administrativas, como la gestión de usuarios. src/app/user/user-update.component.ts - 226 + 230 @@ -4406,7 +4414,7 @@ - Are you sure you want to delete this affiliation for ? The affiliation will be deleted from the portal and the user's ORCID record. + Are you sure you want to delete this affiliation for ? The affiliation will be deleted from the portal and the user's ORCID record. ¿Está seguro de que desea eliminar esta afiliación de ? La afiliación se eliminará del portal y del registro ORCID del usuario. src/app/affiliation/affiliation-delete.component.ts @@ -4423,7 +4431,7 @@ Are you sure that you would like ORCID to send permission links to your researchers for the affiliations that are pending? - Las notificaciones de permisos se enviarán a todos los investigadores que tengan algún elemento de afiliación con el estado 'Pendiente'. + Las notificaciones de permisos se enviarán a todos los investigadores que tengan algún elemento de afiliación con el estado 'Pendiente'. src/app/affiliation/send-notifications-dialog.component.html 16 @@ -4813,6 +4821,38 @@ 66 + + ON + + + src/app/user/user-update.component.html + 123 + + + + OFF + + + src/app/user/user-update.component.html + 126 + + + + Disable two-factor authentication (2FA) for this user if they are having difficulty signing in to the member portal. + + + src/app/user/user-update.component.html + 131 + + + + Users can enable 2FA from their account settings page + + + src/app/user/user-update.component.html + 155 + + \ No newline at end of file diff --git a/ui/src/i18n/messages.fr.xlf b/ui/src/i18n/messages.fr.xlf index 53768094d..7128991f8 100644 --- a/ui/src/i18n/messages.fr.xlf +++ b/ui/src/i18n/messages.fr.xlf @@ -1,5 +1,5 @@ - - + + Failed to sign in! Please check your credentials and try again. @@ -59,7 +59,7 @@ Please enter the MFA code from your authenticator app - Veuillez entrer le code MFA de votre application d'authentification + Veuillez entrer le code MFA de votre application d'authentification src/app/account/login/login.component.html 34 @@ -106,8 +106,8 @@ - Email address isn't registered! Please check and try again. - L'adresse e-mail n'est pas enregistrée ! Veuillez vérifier et réessayer + Email address isn't registered! Please check and try again. + L'adresse e-mail n'est pas enregistrée ! Veuillez vérifier et réessayer src/app/account/password/password-reset-init.component.html 7 @@ -115,7 +115,7 @@ Enter the email address you used to register. - Saisissez l'adresse e-mail que vous avez utilisée pour vous inscrire + Saisissez l'adresse e-mail que vous avez utilisée pour vous inscrire src/app/account/password/password-reset-init.component.html 11 @@ -123,7 +123,7 @@ Check your emails for details on how to reset your password. - Vérifiez vos e-mails pour plus d'informations sur la réinitialisation de votre mot de passe. + Vérifiez vos e-mails pour plus d'informations sur la réinitialisation de votre mot de passe. src/app/account/password/password-reset-init.component.html 15 @@ -139,7 +139,7 @@ Your email is invalid. - Votre adresse e-mail n'est pas valide. + Votre adresse e-mail n'est pas valide. src/app/account/password/password-reset-init.component.html 50 @@ -187,7 +187,7 @@ An error has occurred! The password could not be changed. - Une erreur s'est produite ! Le mot de passe n'a pas pu être modifié. + Une erreur s'est produite ! Le mot de passe n'a pas pu être modifié. src/app/account/password/password.component.html 15 @@ -478,8 +478,8 @@ - Add extra security to your ORCID member portal account by enabling two-factor authentication. Each time you sign in, you'll be prompted to enter a six-digit code we send to your preferred authentication application. - Ajoutez une sécurité supplémentaire à votre compte du portail des membres ORCID en activant l'authentification à deux facteurs. Chaque fois que vous vous connecterez, vous serez invité à saisir un code à six chiffres que nous enverrons à votre application d'authentification préférée. + Add extra security to your ORCID member portal account by enabling two-factor authentication. Each time you sign in, you'll be prompted to enter a six-digit code we send to your preferred authentication application. + Ajoutez une sécurité supplémentaire à votre compte du portail des membres ORCID en activant l'authentification à deux facteurs. Chaque fois que vous vous connecterez, vous serez invité à saisir un code à six chiffres que nous enverrons à votre application d'authentification préférée. src/app/account/settings/settings.component.html 146 @@ -492,6 +492,14 @@ src/app/account/settings/settings.component.html 151 + + src/app/user/user-update.component.html + 120 + + + src/app/user/user-update.component.html + 148 + 2FA settings updated @@ -503,7 +511,7 @@ Install a two-factor authentication appA 2FA app is required to create the six-digit code you need to access your account each time you sign in. Most apps are for mobile devices; some are also available as desktop or web-based apps. Download and install your preferred 2FA app, such as Google Authenticator, FreeOTP or Authy. - Installer une application d'authentification à deux facteursUne application A2F est nécessaire pour créer le code à six chiffres dont vous avez besoin pour accéder à votre compte à chaque fois que vous vous connectez. La plupart des applications sont destinées aux appareils mobiles ; certaines sont également disponibles en tant qu'applications de bureau ou web. Téléchargez et installez votre application A2F préférée, telle que Google Authenticator, FreeOTP ou Authy. + Installer une application d'authentification à deux facteursUne application A2F est nécessaire pour créer le code à six chiffres dont vous avez besoin pour accéder à votre compte à chaque fois que vous vous connectez. La plupart des applications sont destinées aux appareils mobiles ; certaines sont également disponibles en tant qu'applications de bureau ou web. Téléchargez et installez votre application A2F préférée, telle que Google Authenticator, FreeOTP ou Authy. src/app/account/settings/settings.component.html 167 @@ -511,14 +519,14 @@ Scan this QR code with your deviceOpen your 2FA app and scan the image below. - Scannez ce code QR avec votre appareilOuvrez votre application A2F et scannez l'image ci-dessous. + Scannez ce code QR avec votre appareilOuvrez votre application A2F et scannez l'image ci-dessous. src/app/account/settings/settings.component.html 176 - Can't scan the QR code? + Can't scan the QR code? Vous ne pouvez pas scanner le code QR ? src/app/account/settings/settings.component.html @@ -543,7 +551,7 @@ Enter the six-digit code from the appAfter scanning the QR code or entering in the text code, your 2FA app will display a six-digit code. Enter this code in the box below and click Save. - Saisissez le code à six chiffres dans l'applicationAprès avoir scanné le code QR ou saisi le code texte, votre application A2F affiche un code à six chiffres. Saisissez ce code dans la case ci-dessous et cliquez sur Enregistrer. + Saisissez le code à six chiffres dans l'applicationAprès avoir scanné le code QR ou saisi le code texte, votre application A2F affiche un code à six chiffres. Saisissez ce code dans la case ci-dessous et cliquez sur Enregistrer. src/app/account/settings/settings.component.html 208 @@ -567,7 +575,7 @@ Make a note of the following backup codes, this is the only time they will be shown. - Notez les codes de sauvegarde suivants, c'est la seule fois qu'ils seront affichés. + Notez les codes de sauvegarde suivants, c'est la seule fois qu'ils seront affichés. src/app/account/settings/settings.component.html 231 @@ -583,7 +591,7 @@ Terms of Use - Conditions d'utilisation + Conditions d'utilisation src/app/layout/footer/footer.component.html 16 @@ -639,7 +647,7 @@ Integration report - Rapport d'intégration + Rapport d'intégration src/app/layout/navbar/navbar.component.html 77 @@ -655,7 +663,7 @@ Affiliation report - Rapport d'affiliation + Rapport d'affiliation src/app/layout/navbar/navbar.component.html 101 @@ -767,7 +775,7 @@ Sorry, an error has occurred - Désolé, une erreur s'est produite + Désolé, une erreur s'est produite src/app/error/error-alert.component.html 5 @@ -775,7 +783,7 @@ You are not authorized to access this page. - Vous n'êtes pas autorisé à accéder à cette page. + Vous n'êtes pas autorisé à accéder à cette page. src/app/error/error.component.html 11 @@ -783,7 +791,7 @@ The page does not exist. - La page n'existe pas. + La page n'existe pas. src/app/error/error.component.html 14 @@ -799,7 +807,7 @@ sign in - s'identifier + s'identifier src/app/account/password/password-reset-finish.component.html 59 @@ -814,8 +822,8 @@ - Your password couldn't be reset. Remember a password request is only valid for 24 hours. - Votre mot de passe n'a pas pu être réinitialisé. N'oubliez pas qu'une demande de réinitialisation de mot de passe n'est valide que pendant 24 heures. + Your password couldn't be reset. Remember a password request is only valid for 24 hours. + Votre mot de passe n'a pas pu être réinitialisé. N'oubliez pas qu'une demande de réinitialisation de mot de passe n'est valide que pendant 24 heures. src/app/account/password/password-reset-finish.component.html 43 @@ -831,7 +839,7 @@ ORCID Member Portal activation links are only valid for 24 hours. It looks like this link has expired. - Les liens d'activation du portail des membres d'ORCID sont uniquement valides pendant 24 heures. Ce lien semble avoir expiré. + Les liens d'activation du portail des membres d'ORCID sont uniquement valides pendant 24 heures. Ce lien semble avoir expiré. src/app/account/password/password-reset-finish.component.html 20 @@ -839,7 +847,7 @@ To make sure you can activate your Member Portal account we have sent a new activation link to your registered email address. - Pour que vous puissiez activer votre compte du portail des membres, nous avons envoyé un nouveau lien d'activation à votre adresse e-mail enregistrée. + Pour que vous puissiez activer votre compte du portail des membres, nous avons envoyé un nouveau lien d'activation à votre adresse e-mail enregistrée. src/app/account/password/password-reset-finish.component.html 26 @@ -847,7 +855,7 @@ If you are still having problems activating your account or have not received your new activation link please contact us at membership@orcid.org. - Si vous rencontrez encore des problèmes pour activer votre compte ou que vous n'avez pas reçu votre lien d'activation, contactez notre équipe d'assistance à l'adresse membership@orcid.org. + Si vous rencontrez encore des problèmes pour activer votre compte ou que vous n'avez pas reçu votre lien d'activation, contactez notre équipe d'assistance à l'adresse membership@orcid.org. src/app/account/password/password-reset-finish.component.html 32 @@ -855,7 +863,7 @@ This activation has expired. - La clé d'activation est expirée. + La clé d'activation est expirée. src/app/account/password/password-reset-finish.component.html 15 @@ -863,7 +871,7 @@ This activation key is invalid. - La clé d'activation est invalide. + La clé d'activation est invalide. src/app/account/password/password-reset-finish.component.html 11 @@ -871,7 +879,7 @@ The activation key is missing. - La clé d'activation est manquante. + La clé d'activation est manquante. src/app/account/password/password-reset-finish.component.html 7 @@ -903,14 +911,14 @@ Resend activation email - Renvoyer l'e-mail d'activation + Renvoyer l'e-mail d'activation src/app/user/user-detail.component.html 107 src/app/user/user-update.component.html - 150 + 195 src/app/user/users.component.html @@ -970,7 +978,7 @@ src/app/user/user-update.component.html - 120 + 165 @@ -1034,11 +1042,11 @@ src/app/user/user-update.component.html - 131 + 176 src/app/user/user-update.component.html - 141 + 186 @@ -1067,7 +1075,7 @@ User details - Détails de l'utilisateur + Détails de l'utilisateur src/app/user/user-detail.component.html 4 @@ -1187,7 +1195,7 @@ Organization owner - Propriétaire de l'organisation + Propriétaire de l'organisation src/app/user/user-detail.component.html 21 @@ -1218,8 +1226,8 @@ - Invite email couldn't be sent. - L'e-mail d'invitation n'a pas pu être envoyé. + Invite email couldn't be sent. + L'e-mail d'invitation n'a pas pu être envoyé. src/app/shared/pipe/localize.ts 13 @@ -1323,15 +1331,15 @@ Are you sure you want to transfer ownership? You are about to transfer ownership of this organization account. If you are the organization owner after transferring ownership, you will no longer have access to administrative functions, such as managing users. - Êtes-vous sûr(e) de vouloir transférer la propriété ? Vous êtes sur le point de transférer la propriété de ce compte d'organisation. Si vous êtes le propriétaire de l'organisation après le transfert de propriété, vous n'aurez plus accès aux fonctions d'administrateur, telles que la gestion des utilisateurs. + Êtes-vous sûr(e) de vouloir transférer la propriété ? Vous êtes sur le point de transférer la propriété de ce compte d'organisation. Si vous êtes le propriétaire de l'organisation après le transfert de propriété, vous n'aurez plus accès aux fonctions d'administrateur, telles que la gestion des utilisateurs. src/app/user/user-update.component.ts - 226 + 230 Are you sure you want to delete user ? - Êtes-vous sûr(e) de vouloir supprimer l'utilisateur  ? + Êtes-vous sûr(e) de vouloir supprimer l'utilisateur  ? src/app/user/user-delete.component.ts 44 @@ -1355,7 +1363,7 @@ User deleted successfully - L'utilisateur a bien été supprimé + L'utilisateur a bien été supprimé src/app/shared/pipe/localize.ts 19 @@ -1391,7 +1399,7 @@ Oops! There was a problem processing your data. Pleases fix the errors below and try again - Oups ! Une erreur s'est produite dans le traitement de vos données. Veuillez corriger les erreurs ci-dessous et réessayer + Oups ! Une erreur s'est produite dans le traitement de vos données. Veuillez corriger les erreurs ci-dessous et réessayer src/app/user/user-import-dialog.component.html 16 @@ -1431,7 +1439,7 @@ Affiliation Data - Données d'affiliation + Données d'affiliation src/app/affiliation/affiliations.component.html 143 @@ -1455,7 +1463,7 @@ Email - Adresse e-mail de l'utilisateur + Adresse e-mail de l'utilisateur src/app/affiliation/affiliation-detail.component.html 13 @@ -1479,7 +1487,7 @@ For help troubleshooting, please contact the Member Portal Team and copy/paste or include a screenshot of the error message below. - Pour obtenir de l'aide en cas de problème, veuillez contacter l'équipe du portail des membres et copier-coller ci-dessous le message d'erreur ou en joindre une capture d'écran. + Pour obtenir de l'aide en cas de problème, veuillez contacter l'équipe du portail des membres et copier-coller ci-dessous le message d'erreur ou en joindre une capture d'écran. src/app/affiliation/affiliations.component.html 203 @@ -1503,7 +1511,7 @@ Send permission notifications - Envoyer des notifications d'autorisation + Envoyer des notifications d'autorisation src/app/affiliation/affiliations.component.html 11 @@ -1519,7 +1527,7 @@ Import affiliations from CSV - Importer des affiliations à partir d'un CSV + Importer des affiliations à partir d'un CSV src/app/affiliation/affiliations.component.html 51 @@ -1547,7 +1555,7 @@ Your affiliations for edit file will be mailed to you shortly. If you do not receive your file then please contact us at membership@orcid.org. - Vos affiliations pour le fichier d'édition vous seront envoyées sous peu. Si vous ne recevez pas votre fichier, veuillez nous contacter à membership@orcid.org. + Vos affiliations pour le fichier d'édition vous seront envoyées sous peu. Si vous ne recevez pas votre fichier, veuillez nous contacter à membership@orcid.org. src/app/affiliation/affiliations.component.html 73 @@ -1555,7 +1563,7 @@ Request affiliation status report - Demander un rapport sur l'état de l'affiliation + Demander un rapport sur l'état de l'affiliation src/app/affiliation/affiliations.component.html 31 @@ -1563,7 +1571,7 @@ Your affiliation status report file will be mailed to you shortly. If you do not receive your file then please contact us at membership@orcid.org. - Votre fichier de rapport d'état d'affiliation vous sera envoyé sous peu. Si vous ne recevez pas votre fichier, veuillez nous contacter à membership@orcid.org. + Votre fichier de rapport d'état d'affiliation vous sera envoyé sous peu. Si vous ne recevez pas votre fichier, veuillez nous contacter à membership@orcid.org. src/app/affiliation/affiliations.component.html 82 @@ -1571,7 +1579,7 @@ Request permission links - Demander des liens d'autorisation + Demander des liens d'autorisation src/app/affiliation/affiliations.component.html 21 @@ -1579,7 +1587,7 @@ Your permission links file will be mailed to you shortly. If you do not receive your file then please contact us at membership@orcid.org. - Votre fichier de liens d'autorisation vous sera envoyé sous peu. Si vous ne recevez pas votre fichier, veuillez nous contacter à membership@orcid.org. + Votre fichier de liens d'autorisation vous sera envoyé sous peu. Si vous ne recevez pas votre fichier, veuillez nous contacter à membership@orcid.org. src/app/affiliation/affiliations.component.html 91 @@ -1599,7 +1607,7 @@ Error adding to ORCID - Erreur lors de l'ajout à ORCID + Erreur lors de l'ajout à ORCID src/app/shared/pipe/localize.ts 50 @@ -1663,7 +1671,7 @@ Pending retry in ORCID - En attente d'une nouvelle tentative dans ORCID + En attente d'une nouvelle tentative dans ORCID src/app/shared/pipe/localize.ts 54 @@ -1679,7 +1687,7 @@ User deleted from ORCID - Suppression d'ORCID par l'utilisateur + Suppression d'ORCID par l'utilisateur src/app/shared/pipe/localize.ts 46 @@ -1687,7 +1695,7 @@ User denied access - L'utilisateur a refusé l'accès + L'utilisateur a refusé l'accès src/app/shared/pipe/localize.ts 38 @@ -1695,7 +1703,7 @@ User granted access - L'utilisateur a accordé l'accès + L'utilisateur a accordé l'accès src/app/shared/pipe/localize.ts 44 @@ -1703,7 +1711,7 @@ User revoked access - L'utilisateur a revoqué l'accès + L'utilisateur a revoqué l'accès src/app/shared/pipe/localize.ts 48 @@ -2055,7 +2063,7 @@ Côte d’Ivoire - Côte d'Ivoire + Côte d'Ivoire src/app/shared/pipe/localize.ts 201 @@ -2551,7 +2559,7 @@ British Indian Ocean Territory - Territoire britannique de l'océan Indien + Territoire britannique de l'océan Indien src/app/shared/pipe/localize.ts 325 @@ -3783,7 +3791,7 @@ Admin Id - Identifiant de l'administrateur + Identifiant de l'administrateur src/app/affiliation/affiliation-detail.component.html 144 @@ -3791,7 +3799,7 @@ Affiliation Section - Type d'affiliation + Type d'affiliation src/app/affiliation/affiliation-detail.component.html 49 @@ -3847,7 +3855,7 @@ Affiliation details - Détails de l'affiliation + Détails de l'affiliation src/app/affiliation/affiliation-detail.component.html 4 @@ -3955,7 +3963,7 @@ Permission link - Lien de l'autorisation + Lien de l'autorisation src/app/affiliation/affiliation-detail.component.html 25 @@ -3991,7 +3999,7 @@ Please do not forget to download and send permission links to your researchers once the upload has completed. - Remarque : veuillez penser à télécharger et envoyer les liens d'autorisation à vos chercheurs une fois que le téléchargement sera terminé. + Remarque : veuillez penser à télécharger et envoyer les liens d'autorisation à vos chercheurs une fois que le téléchargement sera terminé. src/app/affiliation/affiliation-import-dialog.component.html 55 @@ -4107,7 +4115,7 @@ There is no file to upload. Please select one. - Il n'y a aucun fichier à transférer. Veuillez en sélectionner un. + Il n'y a aucun fichier à transférer. Veuillez en sélectionner un. src/app/affiliation/affiliation-import-dialog.component.ts 60 @@ -4123,7 +4131,7 @@ This field is required. GRID Organization ID should start with "grid.", RINGGOLD Organization ID should be a number, ROR IDs must be 9 characters, beginning with 0 - Ce champ est obligatoire. L'identifiant d'organisation GRID doit commencer par « grid » (par ex., grid.12344) ou doit être une URL GRID valide. L'identifiant d'organisation RINGGOLD doit être un numéro. + Ce champ est obligatoire. L'identifiant d'organisation GRID doit commencer par « grid » (par ex., grid.12344) ou doit être une URL GRID valide. L'identifiant d'organisation RINGGOLD doit être un numéro. src/app/affiliation/affiliation-update.component.html 230 @@ -4215,7 +4223,7 @@ Organization ID - Identifiant de l'organisation + Identifiant de l'organisation src/app/affiliation/affiliation-update.component.html 208 @@ -4223,7 +4231,7 @@ Organization ID Source - Source de l'identifiant de l'organisation + Source de l'identifiant de l'organisation src/app/affiliation/affiliation-update.component.html 176 @@ -4247,7 +4255,7 @@ End Year - De fin d'année + De fin d'année src/app/affiliation/affiliation-update.component.html 350 @@ -4255,7 +4263,7 @@ External Id Type - Type d'identifiant externe + Type d'identifiant externe src/app/affiliation/affiliation-update.component.html 406 @@ -4263,7 +4271,7 @@ External Id Url - URL d'identifiant externe + URL d'identifiant externe src/app/affiliation/affiliation-update.component.html 436 @@ -4307,7 +4315,7 @@ Organization Name - Nom de l'organisation + Nom de l'organisation src/app/affiliation/affiliation-update.component.html 75 @@ -4347,7 +4355,7 @@ Please do not forget to download and send permission links to your researcher once the assertion has been saved. - Remarque : veuillez penser à télécharger et envoyer les liens d'autorisation à votre chercheur une fois que l'assertion aura été enregistrée. + Remarque : veuillez penser à télécharger et envoyer les liens d'autorisation à votre chercheur une fois que l'assertion aura été enregistrée. src/app/affiliation/affiliation-update.component.html 452 @@ -4383,7 +4391,7 @@ There was a problem deleting the affiliation - Il y a eu un problème lors de la suppression de l'affiliation + Il y a eu un problème lors de la suppression de l'affiliation src/app/shared/pipe/localize.ts 33 @@ -4406,8 +4414,8 @@ - Are you sure you want to delete this affiliation for ? The affiliation will be deleted from the portal and the user's ORCID record. - Voulez-vous vraiment supprimer cette affiliation pour ? L'affiliation sera supprimée du portail et du dossier ORCID de l'utilisateur. + Are you sure you want to delete this affiliation for ? The affiliation will be deleted from the portal and the user's ORCID record. + Voulez-vous vraiment supprimer cette affiliation pour ? L'affiliation sera supprimée du portail et du dossier ORCID de l'utilisateur. src/app/affiliation/affiliation-delete.component.ts 40 @@ -4423,7 +4431,7 @@ Are you sure that you would like ORCID to send permission links to your researchers for the affiliations that are pending? - Des notifications d'autorisation seront envoyées à tous vos chercheurs ayant un élément d'affiliation avec comme statut « En attente ». + Des notifications d'autorisation seront envoyées à tous vos chercheurs ayant un élément d'affiliation avec comme statut « En attente ». src/app/affiliation/send-notifications-dialog.component.html 16 @@ -4463,7 +4471,7 @@ Send permission notifications - Envoyer des notifications d'autorisation + Envoyer des notifications d'autorisation src/app/affiliation/send-notifications-dialog.component.html 3 @@ -4507,7 +4515,7 @@ Note: Client ID must have member OBO enabled AND - Note : l'ID client doit avoir l'OBO membre activé ET + Note : l'ID client doit avoir l'OBO membre activé ET src/app/member/member-update.component.html 121 @@ -4663,7 +4671,7 @@ This authorization link has already been used. Please contact for a new authorization link. - Ce lien d'autorisation a déjà été utilisé. Veuillez contacter pour obtenir un nouveau lien d'autorisation. + Ce lien d'autorisation a déjà été utilisé. Veuillez contacter pour obtenir un nouveau lien d'autorisation. src/app/landing-page/landing-page.component.ts 79 @@ -4695,7 +4703,7 @@ If this was a mistake, click the button below to grant access. - Si c'est une erreur, cliquez sur le bouton ci-dessous pour autoriser l'accès. + Si c'est une erreur, cliquez sur le bouton ci-dessous pour autoriser l'accès. src/app/landing-page/landing-page.component.html 45 @@ -4711,7 +4719,7 @@ Oops, you have denied access. - Oups, vous avez refusé l'accès. + Oups, vous avez refusé l'accès. src/app/landing-page/landing-page.component.html 39 @@ -4719,7 +4727,7 @@ Oops, something went wrong and we were not able to fetch your ORCID iD - Oups, une erreur s'est produite, et nous n'avons pas été mesure de récupérer votre identifiant ORCID. + Oups, une erreur s'est produite, et nous n'avons pas été mesure de récupérer votre identifiant ORCID. src/app/landing-page/landing-page.component.html 33 @@ -4743,7 +4751,7 @@ You have successfully granted permission to update your ORCID record, and your record has been updated with affiliation information. - Vous avez accordé avec succès à l'autorisation de mettre à jour votre dossier ORCID, et votre dossier a été mis à jour avec les données d'affiliation. + Vous avez accordé avec succès à l'autorisation de mettre à jour votre dossier ORCID, et votre dossier a été mis à jour avec les données d'affiliation. src/app/landing-page/landing-page.component.ts 81 @@ -4767,7 +4775,7 @@ Oops! There was a problem processing your data. Pleases fix the errors below and try again - Oups ! Une erreur s'est produite dans le traitement de vos données. Veuillez corriger les erreurs ci-dessous et réessayer + Oups ! Une erreur s'est produite dans le traitement de vos données. Veuillez corriger les erreurs ci-dessous et réessayer src/app/member/member-import-dialog.component.html 16 @@ -4775,7 +4783,7 @@ File Path - Chemin d'accès au fichier + Chemin d'accès au fichier src/app/member/member-import-dialog.component.html 40 @@ -4812,6 +4820,38 @@ 66 + + ON + + + src/app/user/user-update.component.html + 123 + + + + OFF + + + src/app/user/user-update.component.html + 126 + + + + Disable two-factor authentication (2FA) for this user if they are having difficulty signing in to the member portal. + + + src/app/user/user-update.component.html + 131 + + + + Users can enable 2FA from their account settings page + + + src/app/user/user-update.component.html + 155 + + \ No newline at end of file diff --git a/ui/src/i18n/messages.it.xlf b/ui/src/i18n/messages.it.xlf index 077d3d69d..ed4d92463 100644 --- a/ui/src/i18n/messages.it.xlf +++ b/ui/src/i18n/messages.it.xlf @@ -1,5 +1,5 @@ - - + + Failed to sign in! Please check your credentials and try again. @@ -106,8 +106,8 @@ - Email address isn't registered! Please check and try again. - L'indirizzo e-mail non è registrato! Controlla e riprova + Email address isn't registered! Please check and try again. + L'indirizzo e-mail non è registrato! Controlla e riprova src/app/account/password/password-reset-init.component.html 7 @@ -115,7 +115,7 @@ Enter the email address you used to register. - Inserisci l'indirizzo e-mail che hai usato per registrarti + Inserisci l'indirizzo e-mail che hai usato per registrarti src/app/account/password/password-reset-init.component.html 11 @@ -478,8 +478,8 @@ - Add extra security to your ORCID member portal account by enabling two-factor authentication. Each time you sign in, you'll be prompted to enter a six-digit code we send to your preferred authentication application. - Aggiungi ulteriore sicurezza al tuo account del portale membri ORCID abilitando l'autenticazione a due fattori. Ogni volta che accedi, ti verrà chiesto di inserire un codice a sei cifre che verrà inviato all'applicazione di autenticazione preferita. + Add extra security to your ORCID member portal account by enabling two-factor authentication. Each time you sign in, you'll be prompted to enter a six-digit code we send to your preferred authentication application. + Aggiungi ulteriore sicurezza al tuo account del portale membri ORCID abilitando l'autenticazione a due fattori. Ogni volta che accedi, ti verrà chiesto di inserire un codice a sei cifre che verrà inviato all'applicazione di autenticazione preferita. src/app/account/settings/settings.component.html 146 @@ -492,6 +492,14 @@ src/app/account/settings/settings.component.html 151 + + src/app/user/user-update.component.html + 120 + + + src/app/user/user-update.component.html + 148 + 2FA settings updated @@ -503,7 +511,7 @@ Install a two-factor authentication appA 2FA app is required to create the six-digit code you need to access your account each time you sign in. Most apps are for mobile devices; some are also available as desktop or web-based apps. Download and install your preferred 2FA app, such as Google Authenticator, FreeOTP or Authy. - Installa un'app di autenticazione a due fattoriÈ necessaria un'app 2FA per creare il codice a sei cifre necessario per aprire il tuo account ogni volta che effettui l'accesso. La maggior parte di queste app sono per dispositivi mobili, ma alcune di esse sono disponibili anche come applicazione per desktop o web app. Scarica e installa la tua app 2FA preferita, come Google Authenticator, FreeOTP o Authy. + Installa un'app di autenticazione a due fattoriÈ necessaria un'app 2FA per creare il codice a sei cifre necessario per aprire il tuo account ogni volta che effettui l'accesso. La maggior parte di queste app sono per dispositivi mobili, ma alcune di esse sono disponibili anche come applicazione per desktop o web app. Scarica e installa la tua app 2FA preferita, come Google Authenticator, FreeOTP o Authy. src/app/account/settings/settings.component.html 167 @@ -511,14 +519,14 @@ Scan this QR code with your deviceOpen your 2FA app and scan the image below. - Scansiona questo codice QR con il tuo dispositivoApri la tua app 2FA e scansiona l'immagine qui sotto. + Scansiona questo codice QR con il tuo dispositivoApri la tua app 2FA e scansiona l'immagine qui sotto. src/app/account/settings/settings.component.html 176 - Can't scan the QR code? + Can't scan the QR code? Non riesci a scansionare il codice QR? src/app/account/settings/settings.component.html @@ -543,7 +551,7 @@ Enter the six-digit code from the appAfter scanning the QR code or entering in the text code, your 2FA app will display a six-digit code. Enter this code in the box below and click Save. - Inserisci il codice a sei cifre fornito dalla appDopo aver scansionato il codice QR o inserito il codice di testo, l'app 2FA visualizzerà un codice a sei cifre. Inserisci questo codice nella casella sottostante e fai clic su Salva. + Inserisci il codice a sei cifre fornito dalla appDopo aver scansionato il codice QR o inserito il codice di testo, l'app 2FA visualizzerà un codice a sei cifre. Inserisci questo codice nella casella sottostante e fai clic su Salva. src/app/account/settings/settings.component.html 208 @@ -567,7 +575,7 @@ Make a note of the following backup codes, this is the only time they will be shown. - Annota i seguenti codici di backup, questa è l'unica volta in cui verranno mostrati. + Annota i seguenti codici di backup, questa è l'unica volta in cui verranno mostrati. src/app/account/settings/settings.component.html 231 @@ -814,7 +822,7 @@ - Your password couldn't be reset. Remember a password request is only valid for 24 hours. + Your password couldn't be reset. Remember a password request is only valid for 24 hours. Impossibile ripristinare la tua password. Ti ricordiamo che la richiesta della password è valida solo per 24 ore. src/app/account/password/password-reset-finish.component.html @@ -903,14 +911,14 @@ Resend activation email - Invia nuovamente l'email di attivazione + Invia nuovamente l'email di attivazione src/app/user/user-detail.component.html 107 src/app/user/user-update.component.html - 150 + 195 src/app/user/users.component.html @@ -970,7 +978,7 @@ src/app/user/user-update.component.html - 120 + 165 @@ -1034,11 +1042,11 @@ src/app/user/user-update.component.html - 131 + 176 src/app/user/user-update.component.html - 141 + 186 @@ -1067,7 +1075,7 @@ User details - Dettagli dell'utente + Dettagli dell'utente src/app/user/user-detail.component.html 4 @@ -1187,7 +1195,7 @@ Organization owner - Proprietario dell'organizzazione + Proprietario dell'organizzazione src/app/user/user-detail.component.html 21 @@ -1218,8 +1226,8 @@ - Invite email couldn't be sent. - Impossibile inviare l'email di invito. + Invite email couldn't be sent. + Impossibile inviare l'email di invito. src/app/shared/pipe/localize.ts 13 @@ -1323,15 +1331,15 @@ Are you sure you want to transfer ownership? You are about to transfer ownership of this organization account. If you are the organization owner after transferring ownership, you will no longer have access to administrative functions, such as managing users. - Sei sicuro di voler trasferire la proprietà? Stai per trasferire la proprietà di questo account dell'organizzazione. Se sei il proprietario dell'organizzazione dopo aver trasferito la proprietà, non avrai più accesso alle funzioni di amministrazione, come la gestione degli utenti. + Sei sicuro di voler trasferire la proprietà? Stai per trasferire la proprietà di questo account dell'organizzazione. Se sei il proprietario dell'organizzazione dopo aver trasferito la proprietà, non avrai più accesso alle funzioni di amministrazione, come la gestione degli utenti. src/app/user/user-update.component.ts - 226 + 230 Are you sure you want to delete user ? - Sei sicuro di voler eliminare l'utente ? + Sei sicuro di voler eliminare l'utente ? src/app/user/user-delete.component.ts 44 @@ -1347,7 +1355,7 @@ User updated successfully - Aggiornamento dell'utente riuscito + Aggiornamento dell'utente riuscito src/app/shared/pipe/localize.ts 17 @@ -1379,7 +1387,7 @@ Confirm deletion - Conferma l'eliminazione + Conferma l'eliminazione src/app/affiliation/affiliation-delete.component.html 3 @@ -1391,7 +1399,7 @@ Oops! There was a problem processing your data. Pleases fix the errors below and try again - Oops! Si è verificato un problema durante l'elaborazione dei dati. Correggi gli errori indicati qui di seguito e riprova + Oops! Si è verificato un problema durante l'elaborazione dei dati. Correggi gli errori indicati qui di seguito e riprova src/app/user/user-import-dialog.component.html 16 @@ -1479,7 +1487,7 @@ For help troubleshooting, please contact the Member Portal Team and copy/paste or include a screenshot of the error message below. - Se hai bisogno di aiuto per risolvere questo problema, contatta il tuo responsabile di consorzio oppure usa l'indirizzo membership@orcid.org. Allega uno screenshot del messaggio di errore qui sotto. + Se hai bisogno di aiuto per risolvere questo problema, contatta il tuo responsabile di consorzio oppure usa l'indirizzo membership@orcid.org. Allega uno screenshot del messaggio di errore qui sotto. src/app/affiliation/affiliations.component.html 203 @@ -3847,7 +3855,7 @@ Affiliation details - Dettagli sull'affiliazione + Dettagli sull'affiliazione src/app/affiliation/affiliation-detail.component.html 4 @@ -3907,7 +3915,7 @@ Your CSV has been uploaded for processing. We will let you know via email once the file has been processed. - Il tuo CSV è stato caricato per l'elaborazione. Ti comunicheremo via email l'avvenuta elaborazione. + Il tuo CSV è stato caricato per l'elaborazione. Ti comunicheremo via email l'avvenuta elaborazione. src/app/affiliation/affiliation-import-dialog.component.html 13 @@ -4123,7 +4131,7 @@ This field is required. GRID Organization ID should start with "grid.", RINGGOLD Organization ID should be a number, ROR IDs must be 9 characters, beginning with 0 - Questo campo è obbligatorio. L'ID organizzazione GRID deve iniziare con grid., ad esempio grid.12344, o deve essere un URL grid valido, l'ID organizzazione RINGGOLD deve essere un numero. Gli ID ROR devono essere composti da 9 caratteri e iniziare con 0. + Questo campo è obbligatorio. L'ID organizzazione GRID deve iniziare con grid., ad esempio grid.12344, o deve essere un URL grid valido, l'ID organizzazione RINGGOLD deve essere un numero. Gli ID ROR devono essere composti da 9 caratteri e iniziare con 0. src/app/affiliation/affiliation-update.component.html 230 @@ -4307,7 +4315,7 @@ Organization Name - Nome dell'organizzazione + Nome dell'organizzazione src/app/affiliation/affiliation-update.component.html 75 @@ -4347,7 +4355,7 @@ Please do not forget to download and send permission links to your researcher once the assertion has been saved. - Nota: non dimenticare di scaricare e inviare i collegamenti di autorizzazione al tuo ricercatore una volta che l'asserzione è stata salvata. + Nota: non dimenticare di scaricare e inviare i collegamenti di autorizzazione al tuo ricercatore una volta che l'asserzione è stata salvata. src/app/affiliation/affiliation-update.component.html 452 @@ -4383,7 +4391,7 @@ There was a problem deleting the affiliation - C'è stato un problema nella cancellazione dell'affiliazione + C'è stato un problema nella cancellazione dell'affiliazione src/app/shared/pipe/localize.ts 33 @@ -4406,7 +4414,7 @@ - Are you sure you want to delete this affiliation for ? The affiliation will be deleted from the portal and the user's ORCID record. + Are you sure you want to delete this affiliation for ? The affiliation will be deleted from the portal and the user's ORCID record. Vuoi davvero eliminare questa affiliazione per ? L’affiliazione verrà eliminata dal portale e dal record ORCID dell’utente. src/app/affiliation/affiliation-delete.component.ts @@ -4507,7 +4515,7 @@ Note: Client ID must have member OBO enabled AND - Nota: l'ID cliente deve avere Membro OBO abilitato E + Nota: l'ID cliente deve avere Membro OBO abilitato E src/app/member/member-update.component.html 121 @@ -4695,7 +4703,7 @@ If this was a mistake, click the button below to grant access. - Se si è trattato di un errore, fai clic sul pulsante in basso per concedere l'accesso. + Se si è trattato di un errore, fai clic sul pulsante in basso per concedere l'accesso. src/app/landing-page/landing-page.component.html 45 @@ -4711,7 +4719,7 @@ Oops, you have denied access. - Ops, l'accesso ti è stato negato. + Ops, l'accesso ti è stato negato. src/app/landing-page/landing-page.component.html 39 @@ -4743,7 +4751,7 @@ You have successfully granted permission to update your ORCID record, and your record has been updated with affiliation information. - Hai concesso correttamente l'autorizzazione a per aggiornare il tuo archivio ORCID e quest'ultimo sarà aggiornato con le informazioni di affiliazione. + Hai concesso correttamente l'autorizzazione a per aggiornare il tuo archivio ORCID e quest'ultimo sarà aggiornato con le informazioni di affiliazione. src/app/landing-page/landing-page.component.ts 81 @@ -4767,7 +4775,7 @@ Oops! There was a problem processing your data. Pleases fix the errors below and try again - Oops! Si è verificato un problema durante l'elaborazione dei dati. Correggi gli errori indicati qui di seguito e riprova + Oops! Si è verificato un problema durante l'elaborazione dei dati. Correggi gli errori indicati qui di seguito e riprova src/app/member/member-import-dialog.component.html 16 @@ -4812,6 +4820,38 @@ 66 + + ON + + + src/app/user/user-update.component.html + 123 + + + + OFF + + + src/app/user/user-update.component.html + 126 + + + + Disable two-factor authentication (2FA) for this user if they are having difficulty signing in to the member portal. + + + src/app/user/user-update.component.html + 131 + + + + Users can enable 2FA from their account settings page + + + src/app/user/user-update.component.html + 155 + + \ No newline at end of file diff --git a/ui/src/i18n/messages.ja.xlf b/ui/src/i18n/messages.ja.xlf index ff28cea09..e0caa38a3 100644 --- a/ui/src/i18n/messages.ja.xlf +++ b/ui/src/i18n/messages.ja.xlf @@ -1,5 +1,5 @@ - - + + Failed to sign in! Please check your credentials and try again. @@ -106,7 +106,7 @@ - Email address isn't registered! Please check and try again. + Email address isn't registered! Please check and try again. Eメールアドレスが登録されていません! 確認して、もう一度やり直してください src/app/account/password/password-reset-init.component.html @@ -478,7 +478,7 @@ - Add extra security to your ORCID member portal account by enabling two-factor authentication. Each time you sign in, you'll be prompted to enter a six-digit code we send to your preferred authentication application. + Add extra security to your ORCID member portal account by enabling two-factor authentication. Each time you sign in, you'll be prompted to enter a six-digit code we send to your preferred authentication application. 2段階認証を有効にして、ORCIDメンバーポータルアカウントにさらなるセキュリティ対策を追加しましょう。サインインをするたびに、ご希望の認証アプリケーションに送信される6桁のコードを入力するように要求されます。 src/app/account/settings/settings.component.html @@ -492,6 +492,14 @@ src/app/account/settings/settings.component.html 151 + + src/app/user/user-update.component.html + 120 + + + src/app/user/user-update.component.html + 148 + 2FA settings updated @@ -518,7 +526,7 @@ - Can't scan the QR code? + Can't scan the QR code? QRコードのスキャンができませんか? src/app/account/settings/settings.component.html @@ -814,7 +822,7 @@ - Your password couldn't be reset. Remember a password request is only valid for 24 hours. + Your password couldn't be reset. Remember a password request is only valid for 24 hours. パスワードがリセットできませんでした。パスワードの要求は 24 時間に限り有効であることにご留意ください。 src/app/account/password/password-reset-finish.component.html @@ -910,7 +918,7 @@ src/app/user/user-update.component.html - 150 + 195 src/app/user/users.component.html @@ -970,7 +978,7 @@ src/app/user/user-update.component.html - 120 + 165 @@ -1034,11 +1042,11 @@ src/app/user/user-update.component.html - 131 + 176 src/app/user/user-update.component.html - 141 + 186 @@ -1218,7 +1226,7 @@ - Invite email couldn't be sent. + Invite email couldn't be sent. 招待Eメールを送信できませんでした。 src/app/shared/pipe/localize.ts @@ -1326,7 +1334,7 @@ 所有権を本当に移転しますか。こちらの組織アカウントの所有権を移転しようとしています。所有権移転後にも組織の所有者である場合には、ユーザー管理といった管理機能にアクセスすることはもうできなくなります。 src/app/user/user-update.component.ts - 226 + 230 @@ -4406,7 +4414,7 @@ - Are you sure you want to delete this affiliation for ? The affiliation will be deleted from the portal and the user's ORCID record. + Are you sure you want to delete this affiliation for ? The affiliation will be deleted from the portal and the user's ORCID record. のこのアフィリエーション を削除しますか?ポータルとユーザーのORCIDレコードからアフィリエーション が削除されます。 src/app/affiliation/affiliation-delete.component.ts @@ -4812,6 +4820,38 @@ 66 + + ON + + + src/app/user/user-update.component.html + 123 + + + + OFF + + + src/app/user/user-update.component.html + 126 + + + + Disable two-factor authentication (2FA) for this user if they are having difficulty signing in to the member portal. + + + src/app/user/user-update.component.html + 131 + + + + Users can enable 2FA from their account settings page + + + src/app/user/user-update.component.html + 155 + + \ No newline at end of file diff --git a/ui/src/i18n/messages.ko.xlf b/ui/src/i18n/messages.ko.xlf index 0f5bcd1f3..eda235405 100644 --- a/ui/src/i18n/messages.ko.xlf +++ b/ui/src/i18n/messages.ko.xlf @@ -1,5 +1,5 @@ - - + + Failed to sign in! Please check your credentials and try again. @@ -106,7 +106,7 @@ - Email address isn't registered! Please check and try again. + Email address isn't registered! Please check and try again. 이메일 주소가 등록되지 않았습니다! 확인하여 다시 시도해 주세요. src/app/account/password/password-reset-init.component.html @@ -478,7 +478,7 @@ - Add extra security to your ORCID member portal account by enabling two-factor authentication. Each time you sign in, you'll be prompted to enter a six-digit code we send to your preferred authentication application. + Add extra security to your ORCID member portal account by enabling two-factor authentication. Each time you sign in, you'll be prompted to enter a six-digit code we send to your preferred authentication application. 2단계 인증을 활성화해 ORCID 회원 포털 계정의 보안을 강화하세요. 로그인할 때마다 선택하신 인증 어플리케이션에 전송된 6자리 코드를 입력해야 합니다. src/app/account/settings/settings.component.html @@ -492,6 +492,14 @@ src/app/account/settings/settings.component.html 151 + + src/app/user/user-update.component.html + 120 + + + src/app/user/user-update.component.html + 148 + 2FA settings updated @@ -518,7 +526,7 @@ - Can't scan the QR code? + Can't scan the QR code? QR 코드를 스캔할 수 없으신가요? src/app/account/settings/settings.component.html @@ -814,7 +822,7 @@ - Your password couldn't be reset. Remember a password request is only valid for 24 hours. + Your password couldn't be reset. Remember a password request is only valid for 24 hours. 비밀번호를 초기화할 수 없습니다. 비밀번호 요청은 24시간 동안만 유효합니다. src/app/account/password/password-reset-finish.component.html @@ -910,7 +918,7 @@ src/app/user/user-update.component.html - 150 + 195 src/app/user/users.component.html @@ -970,7 +978,7 @@ src/app/user/user-update.component.html - 120 + 165 @@ -1034,11 +1042,11 @@ src/app/user/user-update.component.html - 131 + 176 src/app/user/user-update.component.html - 141 + 186 @@ -1218,7 +1226,7 @@ - Invite email couldn't be sent. + Invite email couldn't be sent. 초대 이메일을 보낼 수 없습니다. src/app/shared/pipe/localize.ts @@ -1326,7 +1334,7 @@ 소유권을 정말 이전하시겠습니까? 이 조직 계정의 소유권을 이전하려고 합니다. 소유권 이전 후 조직 소유자인 경우 더 이상 사용자 관리와 같은 관리 기능에 액세스할 수 없습니다. src/app/user/user-update.component.ts - 226 + 230 @@ -4406,7 +4414,7 @@ - Are you sure you want to delete this affiliation for ? The affiliation will be deleted from the portal and the user's ORCID record. + Are you sure you want to delete this affiliation for ? The affiliation will be deleted from the portal and the user's ORCID record. 에 대한 이 제휴를 정말 삭제하시겠습니까? 포털 및 사용자의 ORCID 기록에서 제휴가 삭제됩니다. src/app/affiliation/affiliation-delete.component.ts @@ -4423,7 +4431,7 @@ Are you sure that you would like ORCID to send permission links to your researchers for the affiliations that are pending? - '대기 중' 상태인 제휴 항목이 있는 모든 연구원에게 권한 알림이 전송됩니다. + '대기 중' 상태인 제휴 항목이 있는 모든 연구원에게 권한 알림이 전송됩니다. src/app/affiliation/send-notifications-dialog.component.html 16 @@ -4812,6 +4820,38 @@ 66 + + ON + + + src/app/user/user-update.component.html + 123 + + + + OFF + + + src/app/user/user-update.component.html + 126 + + + + Disable two-factor authentication (2FA) for this user if they are having difficulty signing in to the member portal. + + + src/app/user/user-update.component.html + 131 + + + + Users can enable 2FA from their account settings page + + + src/app/user/user-update.component.html + 155 + + \ No newline at end of file diff --git a/ui/src/i18n/messages.pt.xlf b/ui/src/i18n/messages.pt.xlf index bf1902bd6..326548895 100644 --- a/ui/src/i18n/messages.pt.xlf +++ b/ui/src/i18n/messages.pt.xlf @@ -1,5 +1,5 @@ - - + + Failed to sign in! Please check your credentials and try again. @@ -106,7 +106,7 @@ - Email address isn't registered! Please check and try again. + Email address isn't registered! Please check and try again. O endereço de e-mail não está registado! Verifique e tente novamente src/app/account/password/password-reset-init.component.html @@ -478,7 +478,7 @@ - Add extra security to your ORCID member portal account by enabling two-factor authentication. Each time you sign in, you'll be prompted to enter a six-digit code we send to your preferred authentication application. + Add extra security to your ORCID member portal account by enabling two-factor authentication. Each time you sign in, you'll be prompted to enter a six-digit code we send to your preferred authentication application. Adicione mais segurança à sua conta permitindo a autenticação de dois fatores. De cada vez que iniciar sessão, ser-lhe-à solicitado que introduza um código de seis dígitos que enviaremos para a sua aplicação de autenticação preferida. src/app/account/settings/settings.component.html @@ -492,6 +492,14 @@ src/app/account/settings/settings.component.html 151 + + src/app/user/user-update.component.html + 120 + + + src/app/user/user-update.component.html + 148 + 2FA settings updated @@ -518,7 +526,7 @@ - Can't scan the QR code? + Can't scan the QR code? Não consegue digitalizar o código QR? src/app/account/settings/settings.component.html @@ -814,7 +822,7 @@ - Your password couldn't be reset. Remember a password request is only valid for 24 hours. + Your password couldn't be reset. Remember a password request is only valid for 24 hours. Não foi possível redefinir a sua palavra-passe. Lembre-se que um pedido de palavra-passe é apenas válido por 24 horas. src/app/account/password/password-reset-finish.component.html @@ -910,7 +918,7 @@ src/app/user/user-update.component.html - 150 + 195 src/app/user/users.component.html @@ -970,7 +978,7 @@ src/app/user/user-update.component.html - 120 + 165 @@ -1034,11 +1042,11 @@ src/app/user/user-update.component.html - 131 + 176 src/app/user/user-update.component.html - 141 + 186 @@ -1218,7 +1226,7 @@ - Invite email couldn't be sent. + Invite email couldn't be sent. Não foi possível enviar o e-mail de convite. src/app/shared/pipe/localize.ts @@ -1326,7 +1334,7 @@ Tem a certeza que quer transferir a propriedade? Está prestes a transferir a propriedade da conta desta organização. Se for o proprietário da conta depois de transferir a propriedade, não terá mais acesso a a funções administrativas, tais como a gestão de utilizadores. src/app/user/user-update.component.ts - 226 + 230 @@ -4406,7 +4414,7 @@ - Are you sure you want to delete this affiliation for ? The affiliation will be deleted from the portal and the user's ORCID record. + Are you sure you want to delete this affiliation for ? The affiliation will be deleted from the portal and the user's ORCID record. Tem a certeza de que quer eliminar esta afiliação para ? A afiliação será eliminada do portal e do registo ORCID do utilizador. src/app/affiliation/affiliation-delete.component.ts @@ -4812,6 +4820,38 @@ 66 + + ON + + + src/app/user/user-update.component.html + 123 + + + + OFF + + + src/app/user/user-update.component.html + 126 + + + + Disable two-factor authentication (2FA) for this user if they are having difficulty signing in to the member portal. + + + src/app/user/user-update.component.html + 131 + + + + Users can enable 2FA from their account settings page + + + src/app/user/user-update.component.html + 155 + + \ No newline at end of file diff --git a/ui/src/i18n/messages.ru.xlf b/ui/src/i18n/messages.ru.xlf index 1f92a4091..95138b0aa 100644 --- a/ui/src/i18n/messages.ru.xlf +++ b/ui/src/i18n/messages.ru.xlf @@ -1,5 +1,5 @@ - - + + Failed to sign in! Please check your credentials and try again. @@ -106,7 +106,7 @@ - Email address isn't registered! Please check and try again. + Email address isn't registered! Please check and try again. Электронный адрес не зарегистрирован!Пожалуйста, проверьте и попробуйте ещё раз src/app/account/password/password-reset-init.component.html @@ -478,7 +478,7 @@ - Add extra security to your ORCID member portal account by enabling two-factor authentication. Each time you sign in, you'll be prompted to enter a six-digit code we send to your preferred authentication application. + Add extra security to your ORCID member portal account by enabling two-factor authentication. Each time you sign in, you'll be prompted to enter a six-digit code we send to your preferred authentication application. Повысьте безопасность своей учетной записи на портале участника ORCID, включив двухфакторную аутентификацию. Каждый раз, когда вы входите в систему, вам будет нужно ввести шестизначный код, который мы отправим в ваше приложение для аутентификации. src/app/account/settings/settings.component.html @@ -492,6 +492,14 @@ src/app/account/settings/settings.component.html 151 + + src/app/user/user-update.component.html + 120 + + + src/app/user/user-update.component.html + 148 + 2FA settings updated @@ -518,7 +526,7 @@ - Can't scan the QR code? + Can't scan the QR code? Не можете отсканировать QR-код? src/app/account/settings/settings.component.html @@ -814,7 +822,7 @@ - Your password couldn't be reset. Remember a password request is only valid for 24 hours. + Your password couldn't be reset. Remember a password request is only valid for 24 hours. Ваш пароль не может быть сброшен. Помните, что запрос пароля действителен только в течение 24 часов. src/app/account/password/password-reset-finish.component.html @@ -910,7 +918,7 @@ src/app/user/user-update.component.html - 150 + 195 src/app/user/users.component.html @@ -970,7 +978,7 @@ src/app/user/user-update.component.html - 120 + 165 @@ -1034,11 +1042,11 @@ src/app/user/user-update.component.html - 131 + 176 src/app/user/user-update.component.html - 141 + 186 @@ -1218,7 +1226,7 @@ - Invite email couldn't be sent. + Invite email couldn't be sent. Не удалось отправить письмо с приглашением. src/app/shared/pipe/localize.ts @@ -1326,7 +1334,7 @@ Вы уверены, что хотите передать право собственности? Вы собираетесь передать право собственности на аккаунт этой организации. Если вы будете владельцем организации после передачи права собственности, у вас больше не будет доступа к административным функциям, таким как управление пользователями. src/app/user/user-update.component.ts - 226 + 230 @@ -2055,7 +2063,7 @@ Côte d’Ivoire - Кот-д'Ивуар + Кот-д'Ивуар src/app/shared/pipe/localize.ts 201 @@ -4406,7 +4414,7 @@ - Are you sure you want to delete this affiliation for ? The affiliation will be deleted from the portal and the user's ORCID record. + Are you sure you want to delete this affiliation for ? The affiliation will be deleted from the portal and the user's ORCID record. Удалить эту аффилиацию для ? Она будет удалена из портала и профиля ORCID пользователя. src/app/affiliation/affiliation-delete.component.ts @@ -4812,6 +4820,38 @@ 66 + + ON + + + src/app/user/user-update.component.html + 123 + + + + OFF + + + src/app/user/user-update.component.html + 126 + + + + Disable two-factor authentication (2FA) for this user if they are having difficulty signing in to the member portal. + + + src/app/user/user-update.component.html + 131 + + + + Users can enable 2FA from their account settings page + + + src/app/user/user-update.component.html + 155 + + \ No newline at end of file diff --git a/ui/src/i18n/messages.xlf b/ui/src/i18n/messages.xlf index 96bf1e9ab..4e941a7a7 100644 --- a/ui/src/i18n/messages.xlf +++ b/ui/src/i18n/messages.xlf @@ -440,6 +440,14 @@ src/app/account/settings/settings.component.html 151 + + src/app/user/user-update.component.html + 120 + + + src/app/user/user-update.component.html + 148 + 2FA settings updated @@ -806,7 +814,7 @@ src/app/user/user-update.component.html - 150 + 195 src/app/user/users.component.html @@ -864,7 +872,7 @@ src/app/user/user-update.component.html - 120 + 165 @@ -925,11 +933,11 @@ src/app/user/user-update.component.html - 131 + 176 src/app/user/user-update.component.html - 141 + 186 @@ -1194,7 +1202,7 @@ Are you sure you want to transfer ownership? You are about to transfer ownership of this organization account. If you are the organization owner after transferring ownership, you will no longer have access to administrative functions, such as managing users. src/app/user/user-update.component.ts - 226 + 230 @@ -4267,6 +4275,34 @@ 66 + + Users can enable 2FA from their account settings page + + src/app/user/user-update.component.html + 155 + + + + Disable two-factor authentication (2FA) for this user if they are having difficulty signing in to the member portal. + + src/app/user/user-update.component.html + 131 + + + + OFF + + src/app/user/user-update.component.html + 126 + + + + ON + + src/app/user/user-update.component.html + 123 + + \ No newline at end of file diff --git a/ui/src/i18n/messages.zh-CN.xlf b/ui/src/i18n/messages.zh-CN.xlf index 11a73631d..caf833bda 100644 --- a/ui/src/i18n/messages.zh-CN.xlf +++ b/ui/src/i18n/messages.zh-CN.xlf @@ -1,5 +1,5 @@ - - + + Failed to sign in! Please check your credentials and try again. @@ -106,7 +106,7 @@ - Email address isn't registered! Please check and try again. + Email address isn't registered! Please check and try again. 电子邮件地址尚未注册! 请检查并重试 src/app/account/password/password-reset-init.component.html @@ -478,7 +478,7 @@ - Add extra security to your ORCID member portal account by enabling two-factor authentication. Each time you sign in, you'll be prompted to enter a six-digit code we send to your preferred authentication application. + Add extra security to your ORCID member portal account by enabling two-factor authentication. Each time you sign in, you'll be prompted to enter a six-digit code we send to your preferred authentication application. 启用双重身份验证,为您的 ORCID 成员门户账户增加额外的安全性。每次登录时,系统都会提示您输入发送到您首选身份验证应用程序的六位数验证码。 src/app/account/settings/settings.component.html @@ -492,6 +492,14 @@ src/app/account/settings/settings.component.html 151 + + src/app/user/user-update.component.html + 120 + + + src/app/user/user-update.component.html + 148 + 2FA settings updated @@ -518,7 +526,7 @@ - Can't scan the QR code? + Can't scan the QR code? 无法扫描二维码? src/app/account/settings/settings.component.html @@ -814,7 +822,7 @@ - Your password couldn't be reset. Remember a password request is only valid for 24 hours. + Your password couldn't be reset. Remember a password request is only valid for 24 hours. 密码无法重置。请谨记,密码请求仅在 24 小时内有效。 src/app/account/password/password-reset-finish.component.html @@ -910,7 +918,7 @@ src/app/user/user-update.component.html - 150 + 195 src/app/user/users.component.html @@ -970,7 +978,7 @@ src/app/user/user-update.component.html - 120 + 165 @@ -1034,11 +1042,11 @@ src/app/user/user-update.component.html - 131 + 176 src/app/user/user-update.component.html - 141 + 186 @@ -1218,7 +1226,7 @@ - Invite email couldn't be sent. + Invite email couldn't be sent. 无法发送邀请电子邮件。 src/app/shared/pipe/localize.ts @@ -1326,7 +1334,7 @@ 确定要转移所有权吗?您即将转移此组织账户的所有权。如果您的组织所有者,在转移完所有权后,您将无法再访问管理功能,例如管理用户。 src/app/user/user-update.component.ts - 226 + 230 @@ -4406,7 +4414,7 @@ - Are you sure you want to delete this affiliation for ? The affiliation will be deleted from the portal and the user's ORCID record. + Are you sure you want to delete this affiliation for ? The affiliation will be deleted from the portal and the user's ORCID record. 是否确定删除 的这一附属关系?该附属关系将从门户网站和用户的 ORCID 记录中删除。 src/app/affiliation/affiliation-delete.component.ts @@ -4812,6 +4820,38 @@ 66 + + ON + + + src/app/user/user-update.component.html + 123 + + + + OFF + + + src/app/user/user-update.component.html + 126 + + + + Disable two-factor authentication (2FA) for this user if they are having difficulty signing in to the member portal. + + + src/app/user/user-update.component.html + 131 + + + + Users can enable 2FA from their account settings page + + + src/app/user/user-update.component.html + 155 + + \ No newline at end of file diff --git a/ui/src/i18n/messages.zh-TW.xlf b/ui/src/i18n/messages.zh-TW.xlf index 512368e40..6dfc41e13 100644 --- a/ui/src/i18n/messages.zh-TW.xlf +++ b/ui/src/i18n/messages.zh-TW.xlf @@ -1,5 +1,5 @@ - - + + Failed to sign in! Please check your credentials and try again. @@ -106,7 +106,7 @@ - Email address isn't registered! Please check and try again. + Email address isn't registered! Please check and try again. 電子郵件地址尚未登錄! 請在檢查後再試一次 src/app/account/password/password-reset-init.component.html @@ -478,7 +478,7 @@ - Add extra security to your ORCID member portal account by enabling two-factor authentication. Each time you sign in, you'll be prompted to enter a six-digit code we send to your preferred authentication application. + Add extra security to your ORCID member portal account by enabling two-factor authentication. Each time you sign in, you'll be prompted to enter a six-digit code we send to your preferred authentication application. 透過啟用雙重認證,為您的 ORCID 成員入口帳戶增添額外的安全性。每次登入時,系統都會提示您輸入我們傳送至您首選認證應用程式的六位數代碼。 src/app/account/settings/settings.component.html @@ -492,6 +492,14 @@ src/app/account/settings/settings.component.html 151 + + src/app/user/user-update.component.html + 120 + + + src/app/user/user-update.component.html + 148 + 2FA settings updated @@ -518,7 +526,7 @@ - Can't scan the QR code? + Can't scan the QR code? 無法掃描 QR 碼? src/app/account/settings/settings.component.html @@ -814,7 +822,7 @@ - Your password couldn't be reset. Remember a password request is only valid for 24 hours. + Your password couldn't be reset. Remember a password request is only valid for 24 hours. 無法重設您的密碼。請記得密碼要求只在 24 小時內有效。 src/app/account/password/password-reset-finish.component.html @@ -910,7 +918,7 @@ src/app/user/user-update.component.html - 150 + 195 src/app/user/users.component.html @@ -970,7 +978,7 @@ src/app/user/user-update.component.html - 120 + 165 @@ -1034,11 +1042,11 @@ src/app/user/user-update.component.html - 131 + 176 src/app/user/user-update.component.html - 141 + 186 @@ -1218,7 +1226,7 @@ - Invite email couldn't be sent. + Invite email couldn't be sent. 無法寄送邀請電子郵件。 src/app/shared/pipe/localize.ts @@ -1326,7 +1334,7 @@ 您確定要轉移所有權嗎?您即將轉移此組織帳號的所有權。如您為組織擁有者,在轉移完成後就無法繼續使用如管理用戶等行政功能。 src/app/user/user-update.component.ts - 226 + 230 @@ -4406,7 +4414,7 @@ - Are you sure you want to delete this affiliation for ? The affiliation will be deleted from the portal and the user's ORCID record. + Are you sure you want to delete this affiliation for ? The affiliation will be deleted from the portal and the user's ORCID record. 是否確定要為 刪除這個所屬單位?該所屬單位會從入口網站和使用者 ORCID 記錄中刪除。 src/app/affiliation/affiliation-delete.component.ts @@ -4812,6 +4820,38 @@ 66 + + ON + + + src/app/user/user-update.component.html + 123 + + + + OFF + + + src/app/user/user-update.component.html + 126 + + + + Disable two-factor authentication (2FA) for this user if they are having difficulty signing in to the member portal. + + + src/app/user/user-update.component.html + 131 + + + + Users can enable 2FA from their account settings page + + + src/app/user/user-update.component.html + 155 + + \ No newline at end of file