From 2f4297fbc76ac1dfe312ee37447830138b753343 Mon Sep 17 00:00:00 2001 From: George Nash Date: Wed, 10 Jan 2024 12:18:11 +0000 Subject: [PATCH] change password component --- ui/package-lock.json | 161 +++++- ui/package.json | 1 + ui/src/app/account/account.module.ts | 5 +- ui/src/app/account/account.route.ts | 10 + .../password-reset-init.component.spec.ts | 70 ++- .../password/password-reset-init.component.ts | 4 +- .../account/password/password.component.html | 78 +++ .../account/password/password.component.scss | 0 .../password/password.component.spec.ts | 107 ++++ .../account/password/password.component.ts | 59 +++ ui/src/app/account/service/account.service.ts | 2 +- ...et-init.service.ts => password.service.ts} | 9 +- .../settings/settings.component.spec.ts | 2 +- .../account/settings/settings.component.ts | 2 +- .../app/layout/navbar/navbar.component.html | 2 +- ui/src/app/layout/navbar/navbar.component.ts | 2 +- ui/src/i18n/messages copy.xlf | 421 --------------- ui/src/i18n/messages.cs.xlf | 263 +++++++-- ui/src/i18n/messages.es.xlf | 263 +++++++-- ui/src/i18n/messages.fr.xlf | 269 +++++++--- ui/src/i18n/messages.it.xlf | 275 +++++++--- ui/src/i18n/messages.ja.xlf | 264 ++++++++-- ui/src/i18n/messages.ko.xlf | 263 +++++++-- ui/src/i18n/messages.pt.xlf | 263 +++++++-- ui/src/i18n/messages.ru.xlf | 263 +++++++-- ui/src/i18n/messages.xlf | 497 +++++++++++------- ui/src/i18n/messages.zh-CN.xlf | 263 +++++++-- ui/src/i18n/messages.zh-TW.xlf | 263 +++++++-- 28 files changed, 2842 insertions(+), 1239 deletions(-) create mode 100644 ui/src/app/account/password/password.component.html create mode 100644 ui/src/app/account/password/password.component.scss create mode 100644 ui/src/app/account/password/password.component.spec.ts create mode 100644 ui/src/app/account/password/password.component.ts rename ui/src/app/account/service/{password-reset-init.service.ts => password.service.ts} (81%) delete mode 100644 ui/src/i18n/messages copy.xlf diff --git a/ui/package-lock.json b/ui/package-lock.json index 1915086c7..ed12ef05f 100644 --- a/ui/package-lock.json +++ b/ui/package-lock.json @@ -48,6 +48,7 @@ "karma-coverage": "~2.2.0", "karma-jasmine": "~5.1.0", "karma-jasmine-html-reporter": "~2.0.0", + "ng-extract-i18n-merge": "^2.9.1", "prettier": "^3.0.3", "typescript": "~4.9.5" } @@ -11066,6 +11067,88 @@ "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", "dev": true }, + "node_modules/ng-extract-i18n-merge": { + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/ng-extract-i18n-merge/-/ng-extract-i18n-merge-2.9.1.tgz", + "integrity": "sha512-EJAgJrV2ZSRoH1njMI9lLLtLJkwabkk41ZZyV+U+6h8e5vDCM4zPGjm0NNZFy+YP+/ST+nlvi2CxprDXnjS8BQ==", + "dev": true, + "dependencies": { + "@angular-devkit/architect": "^0.1301.0 || ^0.1401.0 || ^0.1501.0 || ^0.1601.0 || ^0.1700.0", + "@angular-devkit/core": "^13.0.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0", + "@angular-devkit/schematics": "^13.0.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0", + "@schematics/angular": "^13.0.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0", + "xmldoc": "^1.1.2" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "@angular-devkit/build-angular": "^13.0.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/ng-extract-i18n-merge/node_modules/@angular-devkit/architect": { + "version": "0.1700.9", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1700.9.tgz", + "integrity": "sha512-B8OeUrvJj5JsfOJIibpoVjvuZzthPFxf1LvuUXTyQcqDUscJAe/RJBc2woT6ss13Iv/HWt8mgaMPP4CccckdNg==", + "dev": true, + "dependencies": { + "@angular-devkit/core": "17.0.9", + "rxjs": "7.8.1" + }, + "engines": { + "node": "^18.13.0 || >=20.9.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/ng-extract-i18n-merge/node_modules/@angular-devkit/core": { + "version": "17.0.9", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-17.0.9.tgz", + "integrity": "sha512-r5jqwpWOgowqe9KSDqJ3iSbmsEt2XPjSvRG4DSI2T9s31bReoMtreo8b7wkRa2B3hbcDnstFbn8q27VvJDqRaQ==", + "dev": true, + "dependencies": { + "ajv": "8.12.0", + "ajv-formats": "2.1.1", + "jsonc-parser": "3.2.0", + "picomatch": "3.0.1", + "rxjs": "7.8.1", + "source-map": "0.7.4" + }, + "engines": { + "node": "^18.13.0 || >=20.9.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "chokidar": "^3.5.2" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } + } + }, + "node_modules/ng-extract-i18n-merge/node_modules/picomatch": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-3.0.1.tgz", + "integrity": "sha512-I3EurrIQMlRc9IaAZnqRR044Phh2DXY+55o7uJ0V+hYZAcQYSuFWsc9q5PvyDHUSCe1Qxn/iBz+78s86zWnGag==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/ng-extract-i18n-merge/node_modules/rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "dev": true, + "dependencies": { + "tslib": "^2.1.0" + } + }, "node_modules/ngx-cookie-service": { "version": "16.1.0", "resolved": "https://registry.npmjs.org/ngx-cookie-service/-/ngx-cookie-service-16.1.0.tgz", @@ -13147,8 +13230,7 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz", "integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==", - "dev": true, - "optional": true + "dev": true }, "node_modules/saxes": { "version": "5.0.1", @@ -15165,6 +15247,15 @@ "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", "dev": true }, + "node_modules/xmldoc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/xmldoc/-/xmldoc-1.3.0.tgz", + "integrity": "sha512-y7IRWW6PvEnYQZNZFMRLNJw+p3pezM4nKYPfr15g4OOW9i8VpeydycFuipE2297OvZnh3jSb2pxOt9QpkZUVng==", + "dev": true, + "dependencies": { + "sax": "^1.2.4" + } + }, "node_modules/y18n": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", @@ -23428,6 +23519,60 @@ "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", "dev": true }, + "ng-extract-i18n-merge": { + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/ng-extract-i18n-merge/-/ng-extract-i18n-merge-2.9.1.tgz", + "integrity": "sha512-EJAgJrV2ZSRoH1njMI9lLLtLJkwabkk41ZZyV+U+6h8e5vDCM4zPGjm0NNZFy+YP+/ST+nlvi2CxprDXnjS8BQ==", + "dev": true, + "requires": { + "@angular-devkit/architect": "^0.1301.0 || ^0.1401.0 || ^0.1501.0 || ^0.1601.0 || ^0.1700.0", + "@angular-devkit/core": "^13.0.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0", + "@angular-devkit/schematics": "^13.0.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0", + "@schematics/angular": "^13.0.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0", + "xmldoc": "^1.1.2" + }, + "dependencies": { + "@angular-devkit/architect": { + "version": "0.1700.9", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1700.9.tgz", + "integrity": "sha512-B8OeUrvJj5JsfOJIibpoVjvuZzthPFxf1LvuUXTyQcqDUscJAe/RJBc2woT6ss13Iv/HWt8mgaMPP4CccckdNg==", + "dev": true, + "requires": { + "@angular-devkit/core": "17.0.9", + "rxjs": "7.8.1" + } + }, + "@angular-devkit/core": { + "version": "17.0.9", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-17.0.9.tgz", + "integrity": "sha512-r5jqwpWOgowqe9KSDqJ3iSbmsEt2XPjSvRG4DSI2T9s31bReoMtreo8b7wkRa2B3hbcDnstFbn8q27VvJDqRaQ==", + "dev": true, + "requires": { + "ajv": "8.12.0", + "ajv-formats": "2.1.1", + "jsonc-parser": "3.2.0", + "picomatch": "3.0.1", + "rxjs": "7.8.1", + "source-map": "0.7.4" + } + }, + "picomatch": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-3.0.1.tgz", + "integrity": "sha512-I3EurrIQMlRc9IaAZnqRR044Phh2DXY+55o7uJ0V+hYZAcQYSuFWsc9q5PvyDHUSCe1Qxn/iBz+78s86zWnGag==", + "dev": true + }, + "rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "dev": true, + "requires": { + "tslib": "^2.1.0" + } + } + } + }, "ngx-cookie-service": { "version": "16.1.0", "resolved": "https://registry.npmjs.org/ngx-cookie-service/-/ngx-cookie-service-16.1.0.tgz", @@ -24922,8 +25067,7 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz", "integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==", - "dev": true, - "optional": true + "dev": true }, "saxes": { "version": "5.0.1", @@ -26389,6 +26533,15 @@ "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", "dev": true }, + "xmldoc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/xmldoc/-/xmldoc-1.3.0.tgz", + "integrity": "sha512-y7IRWW6PvEnYQZNZFMRLNJw+p3pezM4nKYPfr15g4OOW9i8VpeydycFuipE2297OvZnh3jSb2pxOt9QpkZUVng==", + "dev": true, + "requires": { + "sax": "^1.2.4" + } + }, "y18n": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", diff --git a/ui/package.json b/ui/package.json index 20af641b7..69d9b1c16 100644 --- a/ui/package.json +++ b/ui/package.json @@ -54,6 +54,7 @@ "karma-coverage": "~2.2.0", "karma-jasmine": "~5.1.0", "karma-jasmine-html-reporter": "~2.0.0", + "ng-extract-i18n-merge": "^2.9.1", "prettier": "^3.0.3", "typescript": "~4.9.5" } diff --git a/ui/src/app/account/account.module.ts b/ui/src/app/account/account.module.ts index 13f05b381..63e934e5e 100644 --- a/ui/src/app/account/account.module.ts +++ b/ui/src/app/account/account.module.ts @@ -6,10 +6,11 @@ import { ReactiveFormsModule } from '@angular/forms' import { routes } from './account.route' import { PasswordResetInitComponent } from './password/password-reset-init.component' import { SettingsComponent } from './settings/settings.component' -import { SharedModule } from '../shared/shared.module' +import { SharedModule } from '../shared/shared.module'; +import { PasswordComponent } from './password/password.component' @NgModule({ - declarations: [LoginComponent, PasswordResetInitComponent, SettingsComponent], + declarations: [LoginComponent, PasswordResetInitComponent, SettingsComponent, PasswordComponent], imports: [SharedModule, CommonModule, ReactiveFormsModule, RouterModule.forChild(routes)], }) export class AccountModule {} diff --git a/ui/src/app/account/account.route.ts b/ui/src/app/account/account.route.ts index 8794f2b25..dac2ef290 100644 --- a/ui/src/app/account/account.route.ts +++ b/ui/src/app/account/account.route.ts @@ -3,6 +3,7 @@ import { LoginComponent } from './login/login.component' import { PasswordResetInitComponent } from './password/password-reset-init.component' import { SettingsComponent } from './settings/settings.component' import { AuthGuard } from './auth.guard' +import { PasswordComponent } from './password/password.component' export const routes: Routes = [ { @@ -26,4 +27,13 @@ export const routes: Routes = [ }, canActivate: [AuthGuard], }, + { + path: 'password', + component: PasswordComponent, + data: { + authorities: ['ROLE_USER'], + pageTitle: 'global.menu.account.password.string', + }, + canActivate: [AuthGuard], + }, ] diff --git a/ui/src/app/account/password/password-reset-init.component.spec.ts b/ui/src/app/account/password/password-reset-init.component.spec.ts index 3b98a26f2..30bddc76d 100644 --- a/ui/src/app/account/password/password-reset-init.component.spec.ts +++ b/ui/src/app/account/password/password-reset-init.component.spec.ts @@ -1,7 +1,7 @@ import { ComponentFixture, TestBed, inject } from '@angular/core/testing' import { of, throwError } from 'rxjs' -import { PasswordResetInitService } from '../service/password-reset-init.service' +import { PasswordService } from '../service/password.service' import { PasswordResetInitComponent } from './password-reset-init.component' import { EMAIL_NOT_FOUND_TYPE } from 'src/app/app.constants' import { HttpClientTestingModule } from '@angular/common/http/testing' @@ -26,32 +26,29 @@ describe('Component Tests', () => { expect(comp.errorEmailNotExists).toBeUndefined() }) - it('notifies of success upon successful requestReset', inject( - [PasswordResetInitService], - (service: PasswordResetInitService) => { - spyOn(service, 'initPasswordReset').and.returnValue(of(new PasswordResetInitResult(true, false, false))) - comp.resetRequestForm.patchValue({ - email: 'user@domain.com', - }) + it('notifies of success upon successful requestReset', inject([PasswordService], (service: PasswordService) => { + spyOn(service, 'initPasswordReset').and.returnValue(of(new PasswordResetInitResult(true, false, false))) + comp.resetRequestForm.patchValue({ + email: 'user@domain.com', + }) - comp.requestReset() - const emailControl = comp.resetRequestForm.get('email')! - emailControl.setValue('valid@email.com') - fixture.detectChanges() - expect(comp.success).toEqual('OK') - expect(comp.error).toBeUndefined() - expect(comp.errorEmailNotExists).toBeUndefined() - fixture.whenStable().then(() => { - expect(true).toBeFalsy() - const button = fixture.debugElement.query(By.css('#reset')) - expect(button.nativeElement.disabled).toBeFalsy() - }) - } - )) + comp.requestReset() + const emailControl = comp.resetRequestForm.get('email')! + emailControl.setValue('valid@email.com') + fixture.detectChanges() + expect(comp.success).toEqual('OK') + expect(comp.error).toBeUndefined() + expect(comp.errorEmailNotExists).toBeUndefined() + fixture.whenStable().then(() => { + expect(true).toBeFalsy() + const button = fixture.debugElement.query(By.css('#reset')) + expect(button.nativeElement.disabled).toBeFalsy() + }) + })) it('notifies of unknown email upon email address not registered/400', inject( - [PasswordResetInitService], - (service: PasswordResetInitService) => { + [PasswordService], + (service: PasswordService) => { spyOn(service, 'initPasswordReset').and.returnValue(of(new PasswordResetInitResult(false, true, false))) comp.resetRequestForm.patchValue({ email: 'user@domain.com', @@ -65,21 +62,18 @@ describe('Component Tests', () => { } )) - it('notifies of error upon error response', inject( - [PasswordResetInitService], - (service: PasswordResetInitService) => { - spyOn(service, 'initPasswordReset').and.returnValue(of(new PasswordResetInitResult(false, false, true))) - comp.resetRequestForm.patchValue({ - email: 'user@domain.com', - }) - comp.requestReset() + it('notifies of error upon error response', inject([PasswordService], (service: PasswordService) => { + spyOn(service, 'initPasswordReset').and.returnValue(of(new PasswordResetInitResult(false, false, true))) + comp.resetRequestForm.patchValue({ + email: 'user@domain.com', + }) + comp.requestReset() - expect(service.initPasswordReset).toHaveBeenCalledWith('user@domain.com') - expect(comp.success).toBeUndefined() - expect(comp.errorEmailNotExists).toBeUndefined() - expect(comp.error).toEqual('ERROR') - } - )) + expect(service.initPasswordReset).toHaveBeenCalledWith('user@domain.com') + expect(comp.success).toBeUndefined() + expect(comp.errorEmailNotExists).toBeUndefined() + expect(comp.error).toEqual('ERROR') + })) it('should disable the submit button for invalid email address', () => { const emailControl = comp.resetRequestForm.get('email')! diff --git a/ui/src/app/account/password/password-reset-init.component.ts b/ui/src/app/account/password/password-reset-init.component.ts index c0d09e845..92883815d 100644 --- a/ui/src/app/account/password/password-reset-init.component.ts +++ b/ui/src/app/account/password/password-reset-init.component.ts @@ -1,7 +1,7 @@ import { Component, AfterViewInit, Renderer2 } from '@angular/core' import { FormBuilder, FormGroup, Validators } from '@angular/forms' -import { PasswordResetInitService } from '../service/password-reset-init.service' +import { PasswordService } from '../service/password.service' import { EMAIL_NOT_FOUND_TYPE } from 'src/app/app.constants' import { PasswordResetInitResult } from '../model/password-reset-init-result.model' @@ -18,7 +18,7 @@ export class PasswordResetInitComponent implements AfterViewInit { }) constructor( - private passwordResetInitService: PasswordResetInitService, + private passwordResetInitService: PasswordService, private renderer: Renderer2, private fb: FormBuilder ) {} diff --git a/ui/src/app/account/password/password.component.html b/ui/src/app/account/password/password.component.html new file mode 100644 index 000000000..9e676ded3 --- /dev/null +++ b/ui/src/app/account/password/password.component.html @@ -0,0 +1,78 @@ +
+
+
+

{{passwordForUsernameString}}

+ +
+ Password changed! +
+
+ An error has occurred! The password could not be changed. +
+ +
+ The password and its confirmation do not match! +
+ +
+ +
+ + +
+ + Your password is required. + +
+
+
+ + +
+ + Your password is required. + + + Your password is required to be at least 4 characters. + + + Your password cannot be longer than 50 characters. + +
+ +
+
+ + +
+ + Your confirmation password is required. + + + Your confirmation password is required to be at least 4 characters. + + + Your confirmation password cannot be longer than 50 characters. + +
+
+ +
+
+
+
diff --git a/ui/src/app/account/password/password.component.scss b/ui/src/app/account/password/password.component.scss new file mode 100644 index 000000000..e69de29bb diff --git a/ui/src/app/account/password/password.component.spec.ts b/ui/src/app/account/password/password.component.spec.ts new file mode 100644 index 000000000..bfe51a81e --- /dev/null +++ b/ui/src/app/account/password/password.component.spec.ts @@ -0,0 +1,107 @@ +import { ComponentFixture, TestBed, async } from '@angular/core/testing' +import { HttpClientModule, HttpResponse } from '@angular/common/http' +import { FormBuilder } from '@angular/forms' +import { Observable, of, throwError } from 'rxjs' +import { PasswordComponent } from './password.component' +import { PasswordService } from '../service/password.service' +import { AccountService } from '../service/account.service' + +describe('PasswordComponent', () => { + let comp: PasswordComponent + let fixture: ComponentFixture + let service: PasswordService + let accountServiceSpy: jasmine.SpyObj + + beforeEach(() => { + accountServiceSpy = jasmine.createSpyObj('AccountService', [ + 'getAccountData', + 'getUserName', + 'save', + 'getMfaSetup', + 'enableMfa', + 'disableMfa', + ]) + TestBed.configureTestingModule({ + imports: [HttpClientModule], + declarations: [PasswordComponent], + providers: [FormBuilder, { provide: AccountService, useValue: accountServiceSpy }], + }) + .overrideTemplate(PasswordComponent, '') + .compileComponents() + + accountServiceSpy = TestBed.inject(AccountService) as jasmine.SpyObj + fixture = TestBed.createComponent(PasswordComponent) + comp = fixture.componentInstance + service = fixture.debugElement.injector.get(PasswordService) + }) + + it('should show error if passwords do not match', () => { + // GIVEN + comp.passwordForm.patchValue({ + newPassword: 'password1', + confirmPassword: 'password2', + }) + // WHEN + comp.changePassword() + // THEN + expect(comp.doNotMatch).toBe('ERROR') + expect(comp.error).toBeUndefined() + expect(comp.success).toBeUndefined() + }) + + it('should call Auth.changePassword when passwords match', () => { + // GIVEN + const passwordValues = { + currentPassword: 'oldPassword', + newPassword: 'myPassword', + } + + spyOn(service, 'updatePassword').and.returnValue(of(new HttpResponse({ body: true }))) + + comp.passwordForm.patchValue({ + currentPassword: passwordValues.currentPassword, + newPassword: passwordValues.newPassword, + confirmPassword: passwordValues.newPassword, + }) + + // WHEN + comp.changePassword() + + // THEN + expect(service.updatePassword).toHaveBeenCalledWith(passwordValues.newPassword, passwordValues.currentPassword) + }) + + it('should set success to OK upon success', function () { + // GIVEN + spyOn(service, 'updatePassword').and.returnValue(of(new HttpResponse({ body: true }))) + comp.passwordForm.patchValue({ + newPassword: 'myPassword', + confirmPassword: 'myPassword', + }) + + // WHEN + comp.changePassword() + + // THEN + expect(comp.doNotMatch).toBeUndefined() + expect(comp.error).toBeUndefined() + expect(comp.success).toBe('OK') + }) + + it('should notify of error if change password fails', function () { + // GIVEN + spyOn(service, 'updatePassword').and.returnValue(throwError('ERROR')) + comp.passwordForm.patchValue({ + newPassword: 'myPassword', + confirmPassword: 'myPassword', + }) + + // WHEN + comp.changePassword() + + // THEN + expect(comp.doNotMatch).toBeUndefined() + expect(comp.success).toBeUndefined() + expect(comp.error).toBe('ERROR') + }) +}) diff --git a/ui/src/app/account/password/password.component.ts b/ui/src/app/account/password/password.component.ts new file mode 100644 index 000000000..909205d8c --- /dev/null +++ b/ui/src/app/account/password/password.component.ts @@ -0,0 +1,59 @@ +import { Component, OnInit } from '@angular/core' +import { FormBuilder, FormGroup, Validators } from '@angular/forms' +import { PasswordService } from '../service/password.service' +import { AccountService } from '../service/account.service' + +@Component({ + selector: 'app-password', + templateUrl: './password.component.html', + styleUrls: ['./password.component.scss'], +}) +export class PasswordComponent implements OnInit { + doNotMatch: string | undefined + error: string | undefined + success: string | undefined + username: string | undefined | null = null + passwordForUsernameString: string | undefined | null = null + account: any + passwordForm = this.fb.group({ + currentPassword: ['', [Validators.required]], + newPassword: ['', [Validators.required, Validators.minLength(4), Validators.maxLength(50)]], + confirmPassword: ['', [Validators.required, Validators.minLength(4), Validators.maxLength(50)]], + }) + + constructor( + private passwordService: PasswordService, + private accountService: AccountService, + private fb: FormBuilder + ) {} + + ngOnInit() { + this.accountService.getAccountData().subscribe((account) => { + this.account = account + this.username = this.accountService.getUsername() + this.passwordForUsernameString = $localize`:@@password.title.string:Password for ${this.username} (You)` + console.log('username:', this.username) + }) + } + + changePassword() { + const newPassword = this.passwordForm.get(['newPassword'])?.value + if (newPassword !== this.passwordForm.get(['confirmPassword'])?.value) { + this.error = undefined + this.success = undefined + this.doNotMatch = 'ERROR' + } else { + this.doNotMatch = undefined + this.passwordService.updatePassword(newPassword, this.passwordForm.get(['currentPassword'])?.value).subscribe( + () => { + this.error = undefined + this.success = 'OK' + }, + () => { + this.success = undefined + this.error = 'ERROR' + } + ) + } + } +} diff --git a/ui/src/app/account/service/account.service.ts b/ui/src/app/account/service/account.service.ts index 6972b50a3..dc3742157 100644 --- a/ui/src/app/account/service/account.service.ts +++ b/ui/src/app/account/service/account.service.ts @@ -167,7 +167,7 @@ export class AccountService { return this.isIdentityResolved() ? this.accountData.value!.imageUrl : null } - getUserName(): string | null { + getUsername(): string | null { let userName: string | null = null if (this.isIdentityResolved()) { diff --git a/ui/src/app/account/service/password-reset-init.service.ts b/ui/src/app/account/service/password.service.ts similarity index 81% rename from ui/src/app/account/service/password-reset-init.service.ts rename to ui/src/app/account/service/password.service.ts index f0e4acc1d..6c7b8fbb6 100644 --- a/ui/src/app/account/service/password-reset-init.service.ts +++ b/ui/src/app/account/service/password.service.ts @@ -5,7 +5,7 @@ import { PasswordResetInitResult } from '../model/password-reset-init-result.mod import { EMAIL_NOT_FOUND_TYPE } from 'src/app/app.constants' @Injectable({ providedIn: 'root' }) -export class PasswordResetInitService { +export class PasswordService { constructor(private http: HttpClient) {} initPasswordReset(mail: string): Observable { @@ -17,6 +17,13 @@ export class PasswordResetInitService { ) } + updatePassword(newPassword: string, currentPassword: string): Observable { + return this.http.post('/services/userservice/api/account/change-password', { + currentPassword, + newPassword, + }) + } + getResult(res: HttpResponse): PasswordResetInitResult { if (res.status == 200) { return new PasswordResetInitResult(true, false, false) diff --git a/ui/src/app/account/settings/settings.component.spec.ts b/ui/src/app/account/settings/settings.component.spec.ts index e7944c6e5..57aa2568c 100644 --- a/ui/src/app/account/settings/settings.component.spec.ts +++ b/ui/src/app/account/settings/settings.component.spec.ts @@ -97,7 +97,7 @@ describe('SettingsComponent', () => { }) ) accountServiceSpy.getMfaSetup.and.returnValue(of({ secret: 'test', otp: 'test', qrCode: 'test' })) - accountServiceSpy.getUserName.and.returnValue('test') + accountServiceSpy.getUsername.and.returnValue('test') fixture.detectChanges() expect(component.showMfaSetup).toBeFalsy() diff --git a/ui/src/app/account/settings/settings.component.ts b/ui/src/app/account/settings/settings.component.ts index 5ff6bb2c9..0680311be 100644 --- a/ui/src/app/account/settings/settings.component.ts +++ b/ui/src/app/account/settings/settings.component.ts @@ -54,7 +54,7 @@ export class SettingsComponent implements OnInit { this.account = account this.updateForm(account) this.updateMfaForm(account) - this.userName = this.accountService.getUserName() + this.userName = this.accountService.getUsername() if (account && !account.mfaEnabled) { this.accountService.getMfaSetup().subscribe((res) => { this.mfaSetup = res diff --git a/ui/src/app/layout/navbar/navbar.component.html b/ui/src/app/layout/navbar/navbar.component.html index b59da53f7..8ec559460 100644 --- a/ui/src/app/layout/navbar/navbar.component.html +++ b/ui/src/app/layout/navbar/navbar.component.html @@ -256,7 +256,7 @@
  • - + Password diff --git a/ui/src/app/layout/navbar/navbar.component.ts b/ui/src/app/layout/navbar/navbar.component.ts index 053b0ed3a..5a1fb89b8 100644 --- a/ui/src/app/layout/navbar/navbar.component.ts +++ b/ui/src/app/layout/navbar/navbar.component.ts @@ -101,7 +101,7 @@ export class NavbarComponent implements OnInit { getUserName() { // return this.isAuthenticated() ? this.userName : null; - return this.isAuthenticated() ? this.accountService.getUserName() : null + return this.isAuthenticated() ? this.accountService.getUsername() : null } logout() { diff --git a/ui/src/i18n/messages copy.xlf b/ui/src/i18n/messages copy.xlf deleted file mode 100644 index 595912b24..000000000 --- a/ui/src/i18n/messages copy.xlf +++ /dev/null @@ -1,421 +0,0 @@ - - - - - - Close - - node_modules/src/ngb-config.ts - 13 - - - - HH - - node_modules/src/ngb-config.ts - 13 - - - - Close - - node_modules/src/ngb-config.ts - 13 - - - - «« - - node_modules/src/ngb-config.ts - 13 - - - - Select month - - node_modules/src/ngb-config.ts - 13 - - - node_modules/src/ngb-config.ts - 13 - - - - Previous month - - node_modules/src/ngb-config.ts - 13 - - - node_modules/src/ngb-config.ts - 13 - - - - - - node_modules/src/ngb-config.ts - 13 - - - - Slide of - - node_modules/src/ngb-config.ts - 13 - - Currently selected slide number read by screen reader - - - Hours - - node_modules/src/ngb-config.ts - 13 - - - - « - - node_modules/src/ngb-config.ts - 13 - - - - Previous - - node_modules/src/ngb-config.ts - 13 - - - - MM - - node_modules/src/ngb-config.ts - 13 - - - - » - - node_modules/src/ngb-config.ts - 13 - - - - Select year - - node_modules/src/ngb-config.ts - 13 - - - node_modules/src/ngb-config.ts - 13 - - - - Next month - - node_modules/src/ngb-config.ts - 13 - - - node_modules/src/ngb-config.ts - 13 - - - - Next - - node_modules/src/ngb-config.ts - 13 - - - - Minutes - - node_modules/src/ngb-config.ts - 13 - - - - »» - - node_modules/src/ngb-config.ts - 13 - - - - Increment hours - - node_modules/src/ngb-config.ts - 13 - - - - First - - node_modules/src/ngb-config.ts - 13 - - - - Previous - - node_modules/src/ngb-config.ts - 13 - - - - Decrement hours - - node_modules/src/ngb-config.ts - 13 - - - - Next - - node_modules/src/ngb-config.ts - 13 - - - - Increment minutes - - node_modules/src/ngb-config.ts - 13 - - - - Last - - node_modules/src/ngb-config.ts - 13 - - - - Decrement minutes - - node_modules/src/ngb-config.ts - 13 - - - - SS - - node_modules/src/ngb-config.ts - 13 - - - - Seconds - - node_modules/src/ngb-config.ts - 13 - - - - Increment seconds - - node_modules/src/ngb-config.ts - 13 - - - - Decrement seconds - - node_modules/src/ngb-config.ts - 13 - - - - - - node_modules/src/ngb-config.ts - 13 - - - - - - node_modules/src/ngb-config.ts - 13 - - - - Personal details - - src/app/account/settings/settings.component.html - 4 - - - - Settings saved! - - src/app/account/settings/settings.component.html - 8 - - - - First Name - - src/app/account/settings/settings.component.html - 21 - - - - Your first name is required. - - src/app/account/settings/settings.component.html - 43,45 - - - - Your first name is required to be at least 1 character. - - src/app/account/settings/settings.component.html - 51,53 - - - - Your first name cannot be longer than 50 characters. - - src/app/account/settings/settings.component.html - 59,61 - - - - Last Name - - src/app/account/settings/settings.component.html - 66 - - - - Your last name is required. - - src/app/account/settings/settings.component.html - 89,91 - - - - Your last name is required to be at least 1 character. - - src/app/account/settings/settings.component.html - 97,99 - - - - Your last name cannot be longer than 50 characters. - - src/app/account/settings/settings.component.html - 105,107 - - - - Email - - src/app/account/settings/settings.component.html - 111 - - - - Language - - src/app/account/settings/settings.component.html - 125 - - - - Save - - src/app/account/settings/settings.component.html - 137,139 - - - src/app/account/settings/settings.component.html - 260,262 - - - - Security - - src/app/account/settings/settings.component.html - 151 - - - - 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. - - src/app/account/settings/settings.component.html - 154,157 - - - - Two-factor Authentication - - src/app/account/settings/settings.component.html - 159 - - - - 2FA settings updated - - src/app/account/settings/settings.component.html - 170 - - - - 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. - - src/app/account/settings/settings.component.html - 174,181 - - - - Can't scan the QR code? - - src/app/account/settings/settings.component.html - 204 - - - - Get a text code - - src/app/account/settings/settings.component.html - 210 - - - - and enter it into your 2FA app instead - - src/app/account/settings/settings.component.html - 212 - - - - 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. - - src/app/account/settings/settings.component.html - 215,218 - - - - Incorrect verification code - - src/app/account/settings/settings.component.html - 229,231 - - - - Make a note of the following backup codes, this is the only time they will be shown. - - src/app/account/settings/settings.component.html - 244,246 - - - - - diff --git a/ui/src/i18n/messages.cs.xlf b/ui/src/i18n/messages.cs.xlf index 69c82d65a..890172bcd 100644 --- a/ui/src/i18n/messages.cs.xlf +++ b/ui/src/i18n/messages.cs.xlf @@ -59,10 +59,10 @@ - + - + node_modules/src/ngb-config.ts @@ -70,8 +70,8 @@ - Slide of - Slide of + Slide of + Slide of Currently selected slide number read by screen reader node_modules/src/ngb-config.ts @@ -264,10 +264,10 @@ - + - + node_modules/src/ngb-config.ts @@ -276,10 +276,10 @@ - + - + node_modules/src/ngb-config.ts @@ -287,8 +287,8 @@ - Failed to sign in! Please check your credentials and try again. - Přihlášení se nezdařilo! Zkontrolujte prosím své přihlašovací údaje a zkuste to znovu. + Failed to sign in! Please check your credentials and try again. + Přihlášení se nezdařilo! Zkontrolujte prosím své přihlašovací údaje a zkuste to znovu. src/app/account/login/login.component.html 6 @@ -307,15 +307,15 @@ src/app/account/settings/settings.component.html - 107 + 104 - Email + Your email Váš e-mail src/app/account/login/login.component.html - 17 + 16 src/app/account/password/password-reset-init.component.html @@ -323,7 +323,7 @@ src/app/account/settings/settings.component.html - 114 + 110 @@ -331,15 +331,15 @@ Heslo src/app/account/login/login.component.html - 23 + 22 - Password + Your password Vaše heslo src/app/account/login/login.component.html - 30 + 28 @@ -347,7 +347,7 @@ Zadejte prosím MFA kód z aplikace pro ověřování src/app/account/login/login.component.html - 36 + 34 @@ -355,7 +355,7 @@ Neplatný MFA kód src/app/account/login/login.component.html - 39 + 37 @@ -363,7 +363,7 @@ MFA kód src/app/account/login/login.component.html - 42 + 40 @@ -371,7 +371,7 @@ Přihlásit se src/app/account/login/login.component.html - 45 + 43 @@ -379,7 +379,7 @@ Zapomněli jste heslo? src/app/account/login/login.component.html - 57 + 55 @@ -391,8 +391,8 @@ - Email address isn't registered! Please check and try again. - E-mailová adresa není zaregistrovaná! Zkontrolujte ji prosím a zkuste to znovu + 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 7 @@ -463,8 +463,8 @@ - Settings saved! - Nastavení uloženo! + Settings saved! + Nastavení uloženo! src/app/account/settings/settings.component.html 8 @@ -483,7 +483,7 @@ Vaše křestní jméno src/app/account/settings/settings.component.html - 29 + 28 @@ -491,7 +491,7 @@ Vaše křestní jméno je povinné. src/app/account/settings/settings.component.html - 43 + 42 @@ -499,7 +499,7 @@ Vaše jméno musí obsahovat alespoň jeden znak src/app/account/settings/settings.component.html - 50 + 49 @@ -507,7 +507,7 @@ Křestní jméno nesmí být delší než 50 znaků src/app/account/settings/settings.component.html - 57 + 56 @@ -515,7 +515,7 @@ Příjmení src/app/account/settings/settings.component.html - 64 + 63 @@ -523,7 +523,7 @@ Vaše přijmení src/app/account/settings/settings.component.html - 73 + 70 @@ -531,7 +531,7 @@ Vaše příjmení musí být uvedeno. src/app/account/settings/settings.component.html - 87 + 84 @@ -539,7 +539,7 @@ Vaše příjmení musí obsahovat alespoň jeden znak src/app/account/settings/settings.component.html - 94 + 91 @@ -547,7 +547,7 @@ Vaše příjmení nesmí být delší než 50 znaků src/app/account/settings/settings.component.html - 101 + 98 @@ -555,7 +555,7 @@ Jazyk src/app/account/settings/settings.component.html - 121 + 117 @@ -563,11 +563,11 @@ Uložit src/app/account/settings/settings.component.html - 131 + 127 src/app/account/settings/settings.component.html - 247 + 241 @@ -575,7 +575,7 @@ Zabezpečení src/app/account/settings/settings.component.html - 145 + 141 @@ -583,7 +583,7 @@ 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 - 148 + 144 @@ -591,7 +591,7 @@ Dvoufázové ověření src/app/account/settings/settings.component.html - 153 + 149 @@ -599,23 +599,23 @@ Nastavení dvoufázového ověření aktualizováno src/app/account/settings/settings.component.html - 164 + 160 - 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. - Nainstalujte si aplikaci pro dvoufázové ověřeníAplikace pro dvoufázové ověření je vyžadována, abyste vytvořili šestimístní kód a pomocí něj získali přístup ke svému účtu pokaždé, když se přihlásíte. Většina aplikací je pro mobilní zařízení. Některé jsou také dostupné jako desktopové a prohlížečové aplikace. Stáhněte a nainstalujte si vámi preferovanou aplikaci pro dvoufázové ověření jako například Google Authenticator, FreeOTP nebo Authy. + 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. + Nainstalujte si aplikaci pro dvoufázové ověřeníAplikace pro dvoufázové ověření je vyžadována, abyste vytvořili šestimístní kód a pomocí něj získali přístup ke svému účtu pokaždé, když se přihlásíte. Většina aplikací je pro mobilní zařízení. Některé jsou také dostupné jako desktopové a prohlížečové aplikace. Stáhněte a nainstalujte si vámi preferovanou aplikaci pro dvoufázové ověření jako například Google Authenticator, FreeOTP nebo Authy. src/app/account/settings/settings.component.html - 168 + 164 - Scan this QR code with your deviceOpen your 2FA app and scan the image below. - Naskenujte tento QR kód vaším zařízenímOtěvřete svou aplikaci pro dvoufázové ověření a naskenujte obrázek níže. + Scan this QR code with your deviceOpen your 2FA app and scan the image below. + Naskenujte tento QR kód vaším zařízenímOtěvřete svou aplikaci pro dvoufázové ověření a naskenujte obrázek níže. src/app/account/settings/settings.component.html - 176 + 172 @@ -623,7 +623,7 @@ <strong>Nejde vám QR kód naskenovat?</strong> src/app/account/settings/settings.component.html - 198 + 194 @@ -631,7 +631,7 @@ Získejte namísto toho SMS kód src/app/account/settings/settings.component.html - 202 + 198 @@ -639,15 +639,15 @@ a vložte jej do své aplikace pro dvoufázové ověření místo src/app/account/settings/settings.component.html - 204 + 200 - 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. - Vložte šestimístní kód z aplikacePo naskenování QR kódu nebo vložení kódu z SMS se v aplikaci pro dvoufázové ověření zobrazí šestimístní kód. Vložte tento kód do pole níže a klikněte na tlačítko Uložit. + 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. + Vložte šestimístní kód z aplikacePo naskenování QR kódu nebo vložení kódu z SMS se v aplikaci pro dvoufázové ověření zobrazí šestimístní kód. Vložte tento kód do pole níže a klikněte na tlačítko Uložit. src/app/account/settings/settings.component.html - 207 + 203 @@ -655,7 +655,7 @@ Nesprávný ověřovací kód src/app/account/settings/settings.component.html - 216 + 212 @@ -663,7 +663,7 @@ Ověřovací kód src/app/account/settings/settings.component.html - 225 + 219 @@ -671,7 +671,7 @@ Poznamenejte si následující záložní kódy, toto je jediný případ, kdy se zobrazí. src/app/account/settings/settings.component.html - 232 + 226 @@ -866,6 +866,155 @@ 22 + + Password for (You) + Password for (You) + Password label with username param + + src/app/account/password/password.component.ts + 16 + + + + Password changed! + Password changed! + + src/app/account/password/password.component.html + 7 + + + + An error has occurred! The password could not be changed. + An error has occurred! The password could not be changed. + + src/app/account/password/password.component.html + 10 + + + + The password and its confirmation do not match! + The password and its confirmation do not match! + + src/app/account/password/password.component.html + 13 + + + + Current password + Current password + + src/app/account/password/password.component.html + 20 + + + + Current password + Current password + + src/app/account/password/password.component.html + 22 + + + + Your password is required. + Your password is required. + + src/app/account/password/password.component.html + 26 + + + src/app/account/password/password.component.html + 39 + + + + New password + New password + + src/app/account/password/password.component.html + 32 + + + + New password + New password + + src/app/account/password/password.component.html + 34 + + + + Your password is required to be at least 4 characters. + Your password is required to be at least 4 characters. + + src/app/account/password/password.component.html + 43 + + + + Your password cannot be longer than 50 characters. + Your password cannot be longer than 50 characters. + + src/app/account/password/password.component.html + 47 + + + + New password confirmation + New password confirmation + + src/app/account/password/password.component.html + 54 + + + + Confirm the new password + Confirm the new password + + src/app/account/password/password.component.html + 56 + + + + Your confirmation password is required. + Your confirmation password is required. + + src/app/account/password/password.component.html + 61 + + + + Your confirmation password is required to be at least 4 characters. + Your confirmation password is required to be at least 4 characters. + + src/app/account/password/password.component.html + 65 + + + + Your confirmation password cannot be longer than 50 characters. + Your confirmation password cannot be longer than 50 characters. + + src/app/account/password/password.component.html + 69 + + + + Save + Save + + src/app/account/password/password.component.html + 74 + + + + Sorry, an error has occurred + Sorry, an error has occurred + + src/app/shared/error/error-alert.component.html + 5 + + \ No newline at end of file diff --git a/ui/src/i18n/messages.es.xlf b/ui/src/i18n/messages.es.xlf index 2d631ee1b..2415625e3 100644 --- a/ui/src/i18n/messages.es.xlf +++ b/ui/src/i18n/messages.es.xlf @@ -59,10 +59,10 @@ - + - + node_modules/src/ngb-config.ts @@ -70,8 +70,8 @@ - Slide of - Slide of + Slide of + Slide of Currently selected slide number read by screen reader node_modules/src/ngb-config.ts @@ -264,10 +264,10 @@ - + - + node_modules/src/ngb-config.ts @@ -276,10 +276,10 @@ - + - + node_modules/src/ngb-config.ts @@ -287,8 +287,8 @@ - Failed to sign in! Please check your credentials and try again. - ¡No se ha podido iniciar sesión! Compruebe sus credenciales y vuelva a intentarlo. + Failed to sign in! Please check your credentials and try again. + ¡No se ha podido iniciar sesión! Compruebe sus credenciales y vuelva a intentarlo. src/app/account/login/login.component.html 6 @@ -307,15 +307,15 @@ src/app/account/settings/settings.component.html - 107 + 104 - Email + Your email Su correo electrónico src/app/account/login/login.component.html - 17 + 16 src/app/account/password/password-reset-init.component.html @@ -323,7 +323,7 @@ src/app/account/settings/settings.component.html - 114 + 110 @@ -331,7 +331,7 @@ Contraseña src/app/account/login/login.component.html - 23 + 22 @@ -339,7 +339,7 @@ Introduzca el código MFA de su aplicación de autenticación src/app/account/login/login.component.html - 36 + 34 @@ -347,7 +347,7 @@ Código MFA no válido src/app/account/login/login.component.html - 39 + 37 @@ -355,7 +355,7 @@ Código MFA src/app/account/login/login.component.html - 42 + 40 @@ -363,7 +363,7 @@ Registrarse src/app/account/login/login.component.html - 45 + 43 @@ -371,7 +371,7 @@ ¿Ha olvidado su contraseña? src/app/account/login/login.component.html - 57 + 55 @@ -383,8 +383,8 @@ - Settings saved! - ¡Ajustes guardados! + Settings saved! + ¡Ajustes guardados! src/app/account/settings/settings.component.html 8 @@ -403,7 +403,7 @@ Hace falta indicar el nombre. src/app/account/settings/settings.component.html - 43 + 42 @@ -411,7 +411,7 @@ El nombre tiene que contener al menos un carácter src/app/account/settings/settings.component.html - 50 + 49 @@ -419,7 +419,7 @@ El nombre no puede tener más de 50 caracteres src/app/account/settings/settings.component.html - 57 + 56 @@ -427,7 +427,7 @@ Apellido src/app/account/settings/settings.component.html - 64 + 63 @@ -435,7 +435,7 @@ Se requiere su apellido. src/app/account/settings/settings.component.html - 87 + 84 @@ -443,7 +443,7 @@ Su apellido debe tener al menos 1 carácter src/app/account/settings/settings.component.html - 94 + 91 @@ -451,7 +451,7 @@ El apellido no puede tener más de 50 caracteres src/app/account/settings/settings.component.html - 101 + 98 @@ -459,7 +459,7 @@ idioma src/app/account/settings/settings.component.html - 121 + 117 @@ -467,11 +467,11 @@ Guardar src/app/account/settings/settings.component.html - 131 + 127 src/app/account/settings/settings.component.html - 247 + 241 @@ -479,7 +479,7 @@ Seguridad src/app/account/settings/settings.component.html - 145 + 141 @@ -487,7 +487,7 @@ 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 - 148 + 144 @@ -495,7 +495,7 @@ Autenticación de dos factores src/app/account/settings/settings.component.html - 153 + 149 @@ -503,23 +503,23 @@ Configuración 2FA actualizada src/app/account/settings/settings.component.html - 164 + 160 - 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. - Instale una aplicación de autenticación de dos factoresEs necesaria una aplicación 2FA que genere un código de seis dígitos para acceder a su cuenta cada vez que inicie sesión. La mayoría de estas aplicaciones son para dispositivos móviles, aunque también las hay para escritorio o basadas en la web. Descargue e instale su aplicación 2FA preferida, por ejemplo: Google Authenticator, FreeOTP, o Authy. + 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. + Instale una aplicación de autenticación de dos factoresEs necesaria una aplicación 2FA que genere un código de seis dígitos para acceder a su cuenta cada vez que inicie sesión. La mayoría de estas aplicaciones son para dispositivos móviles, aunque también las hay para escritorio o basadas en la web. Descargue e instale su aplicación 2FA preferida, por ejemplo: Google Authenticator, FreeOTP, o Authy. src/app/account/settings/settings.component.html - 168 + 164 - Scan this QR code with your deviceOpen your 2FA app and scan the image below. - Escanee este código QR en su dispositivoAbra su aplicación 2FA y escanee la siguiente imagen. + Scan this QR code with your deviceOpen your 2FA app and scan the image below. + Escanee este código QR en su dispositivoAbra su aplicación 2FA y escanee la siguiente imagen. src/app/account/settings/settings.component.html - 176 + 172 @@ -527,7 +527,7 @@ <strong>¿No puede escanear el código QR?</strong> src/app/account/settings/settings.component.html - 198 + 194 @@ -535,7 +535,7 @@ Obtenga un código de texto en su lugar src/app/account/settings/settings.component.html - 202 + 198 @@ -543,15 +543,15 @@ e introdúzcalo en su aplicación 2FA src/app/account/settings/settings.component.html - 204 + 200 - 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. - Introduzca el código de seis dígitos de la aplicaciónTras escanear el código QR o introducir el código de texto, su aplicación 2FA le mostrará un código de seis dígitos. Introdúzcalo en el cuadro siguiente y haga clic en Guardar. + 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. + Introduzca el código de seis dígitos de la aplicaciónTras escanear el código QR o introducir el código de texto, su aplicación 2FA le mostrará un código de seis dígitos. Introdúzcalo en el cuadro siguiente y haga clic en Guardar. src/app/account/settings/settings.component.html - 207 + 203 @@ -559,7 +559,7 @@ Código de verificación incorrecto src/app/account/settings/settings.component.html - 216 + 212 @@ -567,15 +567,15 @@ Tome nota de los siguientes códigos de respaldo; solo se mostrarán esta vez. src/app/account/settings/settings.component.html - 232 + 226 - Password + Your password Su contraseña src/app/account/login/login.component.html - 30 + 28 @@ -587,8 +587,8 @@ - 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. + 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 7 @@ -655,7 +655,7 @@ Su nombre src/app/account/settings/settings.component.html - 29 + 28 @@ -663,7 +663,7 @@ Su apellido src/app/account/settings/settings.component.html - 73 + 70 @@ -671,7 +671,7 @@ Código de verificación src/app/account/settings/settings.component.html - 225 + 219 @@ -866,6 +866,155 @@ 22 + + Password for (You) + Password for (You) + Password label with username param + + src/app/account/password/password.component.ts + 16 + + + + Password changed! + Password changed! + + src/app/account/password/password.component.html + 7 + + + + An error has occurred! The password could not be changed. + An error has occurred! The password could not be changed. + + src/app/account/password/password.component.html + 10 + + + + The password and its confirmation do not match! + The password and its confirmation do not match! + + src/app/account/password/password.component.html + 13 + + + + Current password + Current password + + src/app/account/password/password.component.html + 20 + + + + Current password + Current password + + src/app/account/password/password.component.html + 22 + + + + Your password is required. + Your password is required. + + src/app/account/password/password.component.html + 26 + + + src/app/account/password/password.component.html + 39 + + + + New password + New password + + src/app/account/password/password.component.html + 32 + + + + New password + New password + + src/app/account/password/password.component.html + 34 + + + + Your password is required to be at least 4 characters. + Your password is required to be at least 4 characters. + + src/app/account/password/password.component.html + 43 + + + + Your password cannot be longer than 50 characters. + Your password cannot be longer than 50 characters. + + src/app/account/password/password.component.html + 47 + + + + New password confirmation + New password confirmation + + src/app/account/password/password.component.html + 54 + + + + Confirm the new password + Confirm the new password + + src/app/account/password/password.component.html + 56 + + + + Your confirmation password is required. + Your confirmation password is required. + + src/app/account/password/password.component.html + 61 + + + + Your confirmation password is required to be at least 4 characters. + Your confirmation password is required to be at least 4 characters. + + src/app/account/password/password.component.html + 65 + + + + Your confirmation password cannot be longer than 50 characters. + Your confirmation password cannot be longer than 50 characters. + + src/app/account/password/password.component.html + 69 + + + + Save + Save + + src/app/account/password/password.component.html + 74 + + + + Sorry, an error has occurred + Sorry, an error has occurred + + src/app/shared/error/error-alert.component.html + 5 + + \ No newline at end of file diff --git a/ui/src/i18n/messages.fr.xlf b/ui/src/i18n/messages.fr.xlf index 9225c9ef5..3d59c6bcf 100644 --- a/ui/src/i18n/messages.fr.xlf +++ b/ui/src/i18n/messages.fr.xlf @@ -59,10 +59,10 @@ - + - + node_modules/src/ngb-config.ts @@ -70,8 +70,8 @@ - Slide of - Slide of + Slide of + Slide of Currently selected slide number read by screen reader node_modules/src/ngb-config.ts @@ -264,10 +264,10 @@ - + - + node_modules/src/ngb-config.ts @@ -276,10 +276,10 @@ - + - + node_modules/src/ngb-config.ts @@ -287,8 +287,8 @@ - Failed to sign in! Please check your credentials and try again. - Échec de la connexion ! Veuillez vérifier vos identifiants et réessayer. + Failed to sign in! Please check your credentials and try again. + Échec de la connexion ! Veuillez vérifier vos identifiants et réessayer. src/app/account/login/login.component.html 6 @@ -307,15 +307,15 @@ src/app/account/settings/settings.component.html - 107 + 104 - Email + Your email Votre adresse e-mail src/app/account/login/login.component.html - 17 + 16 src/app/account/password/password-reset-init.component.html @@ -323,7 +323,7 @@ src/app/account/settings/settings.component.html - 114 + 110 @@ -331,15 +331,15 @@ Mot de passe src/app/account/login/login.component.html - 23 + 22 - Password + Your password Votre mot de passe src/app/account/login/login.component.html - 30 + 28 @@ -347,7 +347,7 @@ Veuillez entrer le code MFA de votre application d'authentification src/app/account/login/login.component.html - 36 + 34 @@ -355,16 +355,15 @@ Code MFA non valide src/app/account/login/login.component.html - 39 + 37 MFA code - Code MFA - + Code MFA src/app/account/login/login.component.html - 42 + 40 @@ -372,7 +371,7 @@ Se connecter src/app/account/login/login.component.html - 45 + 43 @@ -380,7 +379,7 @@ Vous avez oublié votre mot de passe ? src/app/account/login/login.component.html - 57 + 55 @@ -392,8 +391,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 @@ -464,8 +463,8 @@ - Settings saved! - Réglages enregistrés ! + Settings saved! + Réglages enregistrés ! src/app/account/settings/settings.component.html 8 @@ -484,7 +483,7 @@ Votre prénom src/app/account/settings/settings.component.html - 29 + 28 @@ -492,7 +491,7 @@ Votre prénom est obligatoire. src/app/account/settings/settings.component.html - 43 + 42 @@ -500,7 +499,7 @@ Votre prénom doit contenir au moins 1 caractère src/app/account/settings/settings.component.html - 50 + 49 @@ -508,7 +507,7 @@ Votre prénom ne doit pas comporter plus de 50 caractères src/app/account/settings/settings.component.html - 57 + 56 @@ -516,7 +515,7 @@ Nom de famille src/app/account/settings/settings.component.html - 64 + 63 @@ -524,7 +523,7 @@ Votre nom de famille src/app/account/settings/settings.component.html - 73 + 70 @@ -532,7 +531,7 @@ Votre nom est obligatoire. src/app/account/settings/settings.component.html - 87 + 84 @@ -540,7 +539,7 @@ Votre nom de famille doit compter au moins un caractère. src/app/account/settings/settings.component.html - 94 + 91 @@ -548,7 +547,7 @@ Votre nom ne peut pas comporter plus de 50 caractères src/app/account/settings/settings.component.html - 101 + 98 @@ -556,7 +555,7 @@ Langue src/app/account/settings/settings.component.html - 121 + 117 @@ -564,11 +563,11 @@ Enregistrer src/app/account/settings/settings.component.html - 131 + 127 src/app/account/settings/settings.component.html - 247 + 241 @@ -576,7 +575,7 @@ Sécurité src/app/account/settings/settings.component.html - 145 + 141 @@ -584,7 +583,7 @@ 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 - 148 + 144 @@ -592,32 +591,31 @@ Authentification à deux facteurs src/app/account/settings/settings.component.html - 153 + 149 2FA settings updated - Mise à jour des paramètres A2F - + Mise à jour des paramètres A2F src/app/account/settings/settings.component.html - 164 + 160 - 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. + 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. src/app/account/settings/settings.component.html - 168 + 164 - 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. + 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. src/app/account/settings/settings.component.html - 176 + 172 @@ -625,7 +623,7 @@ <strong>Vous ne pouvez pas scanner le code QR ?</strong> src/app/account/settings/settings.component.html - 198 + 194 @@ -633,7 +631,7 @@ Obtenez un code texte src/app/account/settings/settings.component.html - 202 + 198 @@ -641,15 +639,15 @@ et entrez-le dans votre application A2F à la place src/app/account/settings/settings.component.html - 204 + 200 - 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. + 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. src/app/account/settings/settings.component.html - 207 + 203 @@ -657,7 +655,7 @@ Code de vérification incorrect src/app/account/settings/settings.component.html - 216 + 212 @@ -665,7 +663,7 @@ Code de vérification src/app/account/settings/settings.component.html - 225 + 219 @@ -673,7 +671,7 @@ Notez les codes de sauvegarde suivants, c'est la seule fois qu'ils seront affichés. src/app/account/settings/settings.component.html - 232 + 226 @@ -868,6 +866,155 @@ 22 + + Password for (You) + Password for (You) + Password label with username param + + src/app/account/password/password.component.ts + 16 + + + + Password changed! + Password changed! + + src/app/account/password/password.component.html + 7 + + + + An error has occurred! The password could not be changed. + An error has occurred! The password could not be changed. + + src/app/account/password/password.component.html + 10 + + + + The password and its confirmation do not match! + The password and its confirmation do not match! + + src/app/account/password/password.component.html + 13 + + + + Current password + Current password + + src/app/account/password/password.component.html + 20 + + + + Current password + Current password + + src/app/account/password/password.component.html + 22 + + + + Your password is required. + Your password is required. + + src/app/account/password/password.component.html + 26 + + + src/app/account/password/password.component.html + 39 + + + + New password + New password + + src/app/account/password/password.component.html + 32 + + + + New password + New password + + src/app/account/password/password.component.html + 34 + + + + Your password is required to be at least 4 characters. + Your password is required to be at least 4 characters. + + src/app/account/password/password.component.html + 43 + + + + Your password cannot be longer than 50 characters. + Your password cannot be longer than 50 characters. + + src/app/account/password/password.component.html + 47 + + + + New password confirmation + New password confirmation + + src/app/account/password/password.component.html + 54 + + + + Confirm the new password + Confirm the new password + + src/app/account/password/password.component.html + 56 + + + + Your confirmation password is required. + Your confirmation password is required. + + src/app/account/password/password.component.html + 61 + + + + Your confirmation password is required to be at least 4 characters. + Your confirmation password is required to be at least 4 characters. + + src/app/account/password/password.component.html + 65 + + + + Your confirmation password cannot be longer than 50 characters. + Your confirmation password cannot be longer than 50 characters. + + src/app/account/password/password.component.html + 69 + + + + Save + Save + + src/app/account/password/password.component.html + 74 + + + + Sorry, an error has occurred + Sorry, an error has occurred + + src/app/shared/error/error-alert.component.html + 5 + + \ No newline at end of file diff --git a/ui/src/i18n/messages.it.xlf b/ui/src/i18n/messages.it.xlf index 37caf531d..c56df8a2c 100644 --- a/ui/src/i18n/messages.it.xlf +++ b/ui/src/i18n/messages.it.xlf @@ -59,10 +59,10 @@ - + - + node_modules/src/ngb-config.ts @@ -70,8 +70,8 @@ - Slide of - Slide of + Slide of + Slide of Currently selected slide number read by screen reader node_modules/src/ngb-config.ts @@ -264,10 +264,10 @@ - + - + node_modules/src/ngb-config.ts @@ -276,10 +276,10 @@ - + - + node_modules/src/ngb-config.ts @@ -287,8 +287,8 @@ - Failed to sign in! Please check your credentials and try again. - Accesso non riuscito! Controlla le credenziali e riprova. + Failed to sign in! Please check your credentials and try again. + Accesso non riuscito! Controlla le credenziali e riprova. src/app/account/login/login.component.html 6 @@ -307,15 +307,15 @@ src/app/account/settings/settings.component.html - 107 + 104 - Email + Your email La tua email src/app/account/login/login.component.html - 17 + 16 src/app/account/password/password-reset-init.component.html @@ -323,7 +323,7 @@ src/app/account/settings/settings.component.html - 114 + 110 @@ -331,15 +331,15 @@ Password src/app/account/login/login.component.html - 23 + 22 - Password + Your password La tua password src/app/account/login/login.component.html - 30 + 28 @@ -347,7 +347,7 @@ Inserisci il codice MFA dalla tua app di autenticazione src/app/account/login/login.component.html - 36 + 34 @@ -355,7 +355,7 @@ Codice MFA non valido src/app/account/login/login.component.html - 39 + 37 @@ -363,7 +363,7 @@ Codice MFA src/app/account/login/login.component.html - 42 + 40 @@ -371,7 +371,7 @@ Accedi src/app/account/login/login.component.html - 45 + 43 @@ -379,7 +379,7 @@ Hai dimenticato la tua password? src/app/account/login/login.component.html - 57 + 55 @@ -391,8 +391,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 @@ -400,8 +400,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 @@ -464,8 +463,8 @@ - Settings saved! - Impostazioni salvate! + Settings saved! + Impostazioni salvate! src/app/account/settings/settings.component.html 8 @@ -484,7 +483,7 @@ Il tuo nome src/app/account/settings/settings.component.html - 29 + 28 @@ -492,7 +491,7 @@ Il tuo nome è obbligatorio. src/app/account/settings/settings.component.html - 43 + 42 @@ -500,16 +499,15 @@ Il tuo nome deve contenere almeno 1 carattere src/app/account/settings/settings.component.html - 50 + 49 Your first name cannot be longer than 50 characters. - Il tuo nome non può superare i 50 caratteri - + Il tuo nome non può superare i 50 caratteri src/app/account/settings/settings.component.html - 57 + 56 @@ -517,7 +515,7 @@ Cognome src/app/account/settings/settings.component.html - 64 + 63 @@ -525,16 +523,15 @@ Il tuo cognome src/app/account/settings/settings.component.html - 73 + 70 Your last name is required. - Il tuo cognome è obbligatorio. - + Il tuo cognome è obbligatorio. src/app/account/settings/settings.component.html - 87 + 84 @@ -542,7 +539,7 @@ Il tuo cognome deve contenere almeno 1 carattere src/app/account/settings/settings.component.html - 94 + 91 @@ -550,7 +547,7 @@ Il cognome non può essere più lungo di 50 caratteri src/app/account/settings/settings.component.html - 101 + 98 @@ -558,7 +555,7 @@ Lingua src/app/account/settings/settings.component.html - 121 + 117 @@ -566,11 +563,11 @@ Salva src/app/account/settings/settings.component.html - 131 + 127 src/app/account/settings/settings.component.html - 247 + 241 @@ -578,7 +575,7 @@ Sicurezza src/app/account/settings/settings.component.html - 145 + 141 @@ -586,7 +583,7 @@ 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 - 148 + 144 @@ -594,7 +591,7 @@ Autenticazione a due fattori src/app/account/settings/settings.component.html - 153 + 149 @@ -602,23 +599,23 @@ Impostazioni 2FA aggiornate src/app/account/settings/settings.component.html - 164 + 160 - 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. + 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. src/app/account/settings/settings.component.html - 168 + 164 - 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. + 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. src/app/account/settings/settings.component.html - 176 + 172 @@ -626,7 +623,7 @@ <strong>Non riesci a scansionare il codice QR?</strong> src/app/account/settings/settings.component.html - 198 + 194 @@ -634,7 +631,7 @@ Ottieni in alternativa un codice di testo src/app/account/settings/settings.component.html - 202 + 198 @@ -642,15 +639,15 @@ e inseriscilo nella tua app 2FA src/app/account/settings/settings.component.html - 204 + 200 - 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. + 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. src/app/account/settings/settings.component.html - 207 + 203 @@ -658,7 +655,7 @@ Codice di verifica non corretto src/app/account/settings/settings.component.html - 216 + 212 @@ -666,7 +663,7 @@ Codice di verifica src/app/account/settings/settings.component.html - 225 + 219 @@ -674,7 +671,7 @@ Annota i seguenti codici di backup, questa è l'unica volta in cui verranno mostrati. src/app/account/settings/settings.component.html - 232 + 226 @@ -711,8 +708,7 @@ Integration report - Rapporto di integrazione - + Rapporto di integrazione src/app/layout/navbar/navbar.component.html 92 @@ -870,6 +866,155 @@ 22 + + Password for (You) + Password for (You) + Password label with username param + + src/app/account/password/password.component.ts + 16 + + + + Password changed! + Password changed! + + src/app/account/password/password.component.html + 7 + + + + An error has occurred! The password could not be changed. + An error has occurred! The password could not be changed. + + src/app/account/password/password.component.html + 10 + + + + The password and its confirmation do not match! + The password and its confirmation do not match! + + src/app/account/password/password.component.html + 13 + + + + Current password + Current password + + src/app/account/password/password.component.html + 20 + + + + Current password + Current password + + src/app/account/password/password.component.html + 22 + + + + Your password is required. + Your password is required. + + src/app/account/password/password.component.html + 26 + + + src/app/account/password/password.component.html + 39 + + + + New password + New password + + src/app/account/password/password.component.html + 32 + + + + New password + New password + + src/app/account/password/password.component.html + 34 + + + + Your password is required to be at least 4 characters. + Your password is required to be at least 4 characters. + + src/app/account/password/password.component.html + 43 + + + + Your password cannot be longer than 50 characters. + Your password cannot be longer than 50 characters. + + src/app/account/password/password.component.html + 47 + + + + New password confirmation + New password confirmation + + src/app/account/password/password.component.html + 54 + + + + Confirm the new password + Confirm the new password + + src/app/account/password/password.component.html + 56 + + + + Your confirmation password is required. + Your confirmation password is required. + + src/app/account/password/password.component.html + 61 + + + + Your confirmation password is required to be at least 4 characters. + Your confirmation password is required to be at least 4 characters. + + src/app/account/password/password.component.html + 65 + + + + Your confirmation password cannot be longer than 50 characters. + Your confirmation password cannot be longer than 50 characters. + + src/app/account/password/password.component.html + 69 + + + + Save + Save + + src/app/account/password/password.component.html + 74 + + + + Sorry, an error has occurred + Sorry, an error has occurred + + src/app/shared/error/error-alert.component.html + 5 + + \ No newline at end of file diff --git a/ui/src/i18n/messages.ja.xlf b/ui/src/i18n/messages.ja.xlf index 283409021..46440cfeb 100644 --- a/ui/src/i18n/messages.ja.xlf +++ b/ui/src/i18n/messages.ja.xlf @@ -59,10 +59,10 @@ - + - + node_modules/src/ngb-config.ts @@ -70,8 +70,8 @@ - Slide of - Slide of + Slide of + Slide of Currently selected slide number read by screen reader node_modules/src/ngb-config.ts @@ -264,10 +264,10 @@ - + - + node_modules/src/ngb-config.ts @@ -276,10 +276,10 @@ - + - + node_modules/src/ngb-config.ts @@ -287,8 +287,8 @@ - Failed to sign in! Please check your credentials and try again. - サインインに失敗しました。 認証情報をご確認の上、再度お試し下さい。 + Failed to sign in! Please check your credentials and try again. + サインインに失敗しました。 認証情報をご確認の上、再度お試し下さい。 src/app/account/login/login.component.html 6 @@ -307,15 +307,15 @@ src/app/account/settings/settings.component.html - 107 + 104 - Email + Your email あなたのEメール src/app/account/login/login.component.html - 17 + 16 src/app/account/password/password-reset-init.component.html @@ -323,7 +323,7 @@ src/app/account/settings/settings.component.html - 114 + 110 @@ -331,15 +331,15 @@ パスワード src/app/account/login/login.component.html - 23 + 22 - Password + Your password あなたのパスワード src/app/account/login/login.component.html - 30 + 28 @@ -347,7 +347,7 @@ 認証アプリからのMFAコードを入力してください src/app/account/login/login.component.html - 36 + 34 @@ -355,7 +355,7 @@ 無効なMFAコード src/app/account/login/login.component.html - 39 + 37 @@ -363,7 +363,7 @@ MFAコード src/app/account/login/login.component.html - 42 + 40 @@ -371,7 +371,7 @@ サインイン src/app/account/login/login.component.html - 45 + 43 @@ -379,7 +379,7 @@ パスワードをお忘れですか? src/app/account/login/login.component.html - 57 + 55 @@ -391,8 +391,8 @@ - Email address isn't registered! Please check and try again. - Eメールアドレスが登録されていません!確認して、もう一度やり直してください + Email address isn't registered! Please check and try again. + Eメールアドレスが登録されていません!確認して、もう一度やり直してください src/app/account/password/password-reset-init.component.html 7 @@ -463,8 +463,8 @@ - Settings saved! - 設定が保存されました! + Settings saved! + 設定が保存されました! src/app/account/settings/settings.component.html 8 @@ -483,7 +483,7 @@ あなたの名 src/app/account/settings/settings.component.html - 29 + 28 @@ -491,7 +491,7 @@ 名が必要です。 src/app/account/settings/settings.component.html - 43 + 42 @@ -499,7 +499,7 @@ お客様の名前には少なくとも 1 文字必要です src/app/account/settings/settings.component.html - 50 + 49 @@ -507,7 +507,7 @@ 名を50文字超にすることはできません src/app/account/settings/settings.component.html - 57 + 56 @@ -515,7 +515,7 @@ src/app/account/settings/settings.component.html - 64 + 63 @@ -523,7 +523,7 @@ あなたの姓 src/app/account/settings/settings.component.html - 73 + 70 @@ -531,7 +531,7 @@ 姓が必要です。 src/app/account/settings/settings.component.html - 87 + 84 @@ -539,7 +539,7 @@ 姓は1文字以上である必要があります。 src/app/account/settings/settings.component.html - 94 + 91 @@ -547,7 +547,7 @@ 姓は 50 文字より長くすることができません src/app/account/settings/settings.component.html - 101 + 98 @@ -555,7 +555,7 @@ 言語 src/app/account/settings/settings.component.html - 121 + 117 @@ -563,11 +563,11 @@ 保存する src/app/account/settings/settings.component.html - 131 + 127 src/app/account/settings/settings.component.html - 247 + 241 @@ -575,7 +575,7 @@ セキュリティ src/app/account/settings/settings.component.html - 145 + 141 @@ -583,7 +583,7 @@ 2段階認証を有効にして、ORCIDメンバーポータルアカウントにさらなるセキュリティ対策を追加しましょう。サインインをするたびに、ご希望の認証アプリケーションに送信される6桁のコードを入力するように要求されます。 src/app/account/settings/settings.component.html - 148 + 144 @@ -591,7 +591,7 @@ 2段階認証 src/app/account/settings/settings.component.html - 153 + 149 @@ -599,24 +599,23 @@ 2段階認証の設定が更新されました src/app/account/settings/settings.component.html - 164 + 160 - 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. - 2段階認証アプリをインストールサインインをする度にアカウントへのアクセスに必要となる6桁のコードを作成するために、2段階認証アプリが必須となります。多くのアプリはモバイルデバイス向けですが、デスクトップやウェブ上のアプリとして使用可能なものもあります。Google AuthenticatorFreeOTPAuthyなどのお好きな2段階認証アプリをダウンロードして、インストールしてください。 + 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. + 2段階認証アプリをインストールサインインをする度にアカウントへのアクセスに必要となる6桁のコードを作成するために、2段階認証アプリが必須となります。多くのアプリはモバイルデバイス向けですが、デスクトップやウェブ上のアプリとして使用可能なものもあります。Google AuthenticatorFreeOTPAuthyなどのお好きな2段階認証アプリをダウンロードして、インストールしてください。 src/app/account/settings/settings.component.html - 168 + 164 - Scan this QR code with your deviceOpen your 2FA app and scan the image below. - ご使用のデバイスでこちらのQRコードをスキャンしてください - + Scan this QR code with your deviceOpen your 2FA app and scan the image below. + ご使用のデバイスでこちらのQRコードをスキャンしてください src/app/account/settings/settings.component.html - 176 + 172 @@ -624,7 +623,7 @@ <strong>QRコードのスキャンができませんか?</strong> src/app/account/settings/settings.component.html - 198 + 194 @@ -632,7 +631,7 @@ テキストコードを入手 src/app/account/settings/settings.component.html - 202 + 198 @@ -640,15 +639,15 @@ して、代わりに2段階認証アプリに入力してください src/app/account/settings/settings.component.html - 204 + 200 - 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. - アプリで受け取った6桁のコードを入力してくださいQRコードをスキャンまたはテキストコードを入力した後に、2段階認証アプリに6桁のコードが表示されます。このコードを以下のボックスに入力して、保存をクリックしてください。 + 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. + アプリで受け取った6桁のコードを入力してくださいQRコードをスキャンまたはテキストコードを入力した後に、2段階認証アプリに6桁のコードが表示されます。このコードを以下のボックスに入力して、保存をクリックしてください。 src/app/account/settings/settings.component.html - 207 + 203 @@ -656,7 +655,7 @@ 間違った認証コード src/app/account/settings/settings.component.html - 216 + 212 @@ -664,7 +663,7 @@ 認証コード src/app/account/settings/settings.component.html - 225 + 219 @@ -672,7 +671,7 @@ 次のバックアップコードを控えておいてください。バックアップコードが表示されるのは今回のみになります。 src/app/account/settings/settings.component.html - 232 + 226 @@ -867,6 +866,155 @@ 22 + + Password for (You) + Password for (You) + Password label with username param + + src/app/account/password/password.component.ts + 16 + + + + Password changed! + Password changed! + + src/app/account/password/password.component.html + 7 + + + + An error has occurred! The password could not be changed. + An error has occurred! The password could not be changed. + + src/app/account/password/password.component.html + 10 + + + + The password and its confirmation do not match! + The password and its confirmation do not match! + + src/app/account/password/password.component.html + 13 + + + + Current password + Current password + + src/app/account/password/password.component.html + 20 + + + + Current password + Current password + + src/app/account/password/password.component.html + 22 + + + + Your password is required. + Your password is required. + + src/app/account/password/password.component.html + 26 + + + src/app/account/password/password.component.html + 39 + + + + New password + New password + + src/app/account/password/password.component.html + 32 + + + + New password + New password + + src/app/account/password/password.component.html + 34 + + + + Your password is required to be at least 4 characters. + Your password is required to be at least 4 characters. + + src/app/account/password/password.component.html + 43 + + + + Your password cannot be longer than 50 characters. + Your password cannot be longer than 50 characters. + + src/app/account/password/password.component.html + 47 + + + + New password confirmation + New password confirmation + + src/app/account/password/password.component.html + 54 + + + + Confirm the new password + Confirm the new password + + src/app/account/password/password.component.html + 56 + + + + Your confirmation password is required. + Your confirmation password is required. + + src/app/account/password/password.component.html + 61 + + + + Your confirmation password is required to be at least 4 characters. + Your confirmation password is required to be at least 4 characters. + + src/app/account/password/password.component.html + 65 + + + + Your confirmation password cannot be longer than 50 characters. + Your confirmation password cannot be longer than 50 characters. + + src/app/account/password/password.component.html + 69 + + + + Save + Save + + src/app/account/password/password.component.html + 74 + + + + Sorry, an error has occurred + Sorry, an error has occurred + + src/app/shared/error/error-alert.component.html + 5 + + \ No newline at end of file diff --git a/ui/src/i18n/messages.ko.xlf b/ui/src/i18n/messages.ko.xlf index db96692bb..38a2e514f 100644 --- a/ui/src/i18n/messages.ko.xlf +++ b/ui/src/i18n/messages.ko.xlf @@ -59,10 +59,10 @@ - + - + node_modules/src/ngb-config.ts @@ -70,8 +70,8 @@ - Slide of - Slide of + Slide of + Slide of Currently selected slide number read by screen reader node_modules/src/ngb-config.ts @@ -264,10 +264,10 @@ - + - + node_modules/src/ngb-config.ts @@ -276,10 +276,10 @@ - + - + node_modules/src/ngb-config.ts @@ -287,8 +287,8 @@ - Failed to sign in! Please check your credentials and try again. - 로그인에 실패했습니다! 사용자 자격 증명을 확인하여 다시 시도해 주세요. + Failed to sign in! Please check your credentials and try again. + 로그인에 실패했습니다! 사용자 자격 증명을 확인하여 다시 시도해 주세요. src/app/account/login/login.component.html 6 @@ -307,15 +307,15 @@ src/app/account/settings/settings.component.html - 107 + 104 - Email + Your email 이메일 src/app/account/login/login.component.html - 17 + 16 src/app/account/password/password-reset-init.component.html @@ -323,7 +323,7 @@ src/app/account/settings/settings.component.html - 114 + 110 @@ -331,15 +331,15 @@ 비밀번호 src/app/account/login/login.component.html - 23 + 22 - Password + Your password 귀하의 비밀번호 src/app/account/login/login.component.html - 30 + 28 @@ -347,7 +347,7 @@ 인증 앱의 MFA 코드를 입력해 주세요. src/app/account/login/login.component.html - 36 + 34 @@ -355,7 +355,7 @@ 잘못된 MFA 코드 src/app/account/login/login.component.html - 39 + 37 @@ -363,7 +363,7 @@ MFA 코드 src/app/account/login/login.component.html - 42 + 40 @@ -371,7 +371,7 @@ 로그인 src/app/account/login/login.component.html - 45 + 43 @@ -379,7 +379,7 @@ 비밀번호를 잊으셨나요? src/app/account/login/login.component.html - 57 + 55 @@ -391,8 +391,8 @@ - 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 7 @@ -463,8 +463,8 @@ - Settings saved! - 설정이 저장되었습니다! + Settings saved! + 설정이 저장되었습니다! src/app/account/settings/settings.component.html 8 @@ -483,7 +483,7 @@ 귀하의 이름 src/app/account/settings/settings.component.html - 29 + 28 @@ -491,7 +491,7 @@ 이름은 필수 항목입니다. src/app/account/settings/settings.component.html - 43 + 42 @@ -499,7 +499,7 @@ 이름은 1자 이상이어야 합니다 src/app/account/settings/settings.component.html - 50 + 49 @@ -507,7 +507,7 @@ 이름은 50자 이하여야 합니다 src/app/account/settings/settings.component.html - 57 + 56 @@ -515,7 +515,7 @@ src/app/account/settings/settings.component.html - 64 + 63 @@ -523,7 +523,7 @@ 귀하의 성 src/app/account/settings/settings.component.html - 73 + 70 @@ -531,7 +531,7 @@ 성은 필수 항목입니다. src/app/account/settings/settings.component.html - 87 + 84 @@ -539,7 +539,7 @@ 성은 최소 1자여야 합니다. src/app/account/settings/settings.component.html - 94 + 91 @@ -547,7 +547,7 @@ 성은 50자 이하여야 합니다. src/app/account/settings/settings.component.html - 101 + 98 @@ -555,7 +555,7 @@ 언어 src/app/account/settings/settings.component.html - 121 + 117 @@ -563,11 +563,11 @@ 저장 src/app/account/settings/settings.component.html - 131 + 127 src/app/account/settings/settings.component.html - 247 + 241 @@ -575,7 +575,7 @@ 보안 src/app/account/settings/settings.component.html - 145 + 141 @@ -583,7 +583,7 @@ 2단계 인증을 활성화해 ORCID 회원 포털 계정의 보안을 강화하세요. 로그인할 때마다 선택하신 인증 어플리케이션에 전송된 6자리 코드를 입력해야 합니다. src/app/account/settings/settings.component.html - 148 + 144 @@ -591,7 +591,7 @@ 2단계 인증 src/app/account/settings/settings.component.html - 153 + 149 @@ -599,23 +599,23 @@ 2단계 인증 설정 업데이트됨 src/app/account/settings/settings.component.html - 164 + 160 - 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. - 2단계 인증 앱 설치2단계 인증 앱은 로그인할 때마다 계정에 접근하는 데 필요한 6자리 코드를 생성합니다. 대부분 모바일 기기용 앱이며, 데스크톱이나 웹 기반 앱을 이용할 수도 있습니다. Google Authenticator, FreeOTP, Authy와 같은 2단계 인증 앱 중 하나를 다운로드하고 설치하세요. + 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. + 2단계 인증 앱 설치2단계 인증 앱은 로그인할 때마다 계정에 접근하는 데 필요한 6자리 코드를 생성합니다. 대부분 모바일 기기용 앱이며, 데스크톱이나 웹 기반 앱을 이용할 수도 있습니다. Google Authenticator, FreeOTP, Authy와 같은 2단계 인증 앱 중 하나를 다운로드하고 설치하세요. src/app/account/settings/settings.component.html - 168 + 164 - Scan this QR code with your deviceOpen your 2FA app and scan the image below. - 사용 중인 기기로 이 QR 코드 스캔2단계 인증 앱을 열고 아래 이미지를 스캔하세요. + Scan this QR code with your deviceOpen your 2FA app and scan the image below. + 사용 중인 기기로 이 QR 코드 스캔2단계 인증 앱을 열고 아래 이미지를 스캔하세요. src/app/account/settings/settings.component.html - 176 + 172 @@ -623,7 +623,7 @@ <strong>QR 코드를 스캔할 수 없으신가요?</strong> src/app/account/settings/settings.component.html - 198 + 194 @@ -631,7 +631,7 @@ 텍스트 코드를 받고 src/app/account/settings/settings.component.html - 202 + 198 @@ -639,15 +639,15 @@ 2단계 인증 앱에 입력하세요 src/app/account/settings/settings.component.html - 204 + 200 - 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. - 앱의 6자리 코드 입력QR 코드를 스캔하거나 텍스트 코드를 입력하시면 2단계 인증 앱에 6자리 코드가 표시됩니다. 아래 상자에 이 코드를 입력하고 저장을 클릭하세요. + 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. + 앱의 6자리 코드 입력QR 코드를 스캔하거나 텍스트 코드를 입력하시면 2단계 인증 앱에 6자리 코드가 표시됩니다. 아래 상자에 이 코드를 입력하고 저장을 클릭하세요. src/app/account/settings/settings.component.html - 207 + 203 @@ -655,7 +655,7 @@ 잘못된 인증 코드 src/app/account/settings/settings.component.html - 216 + 212 @@ -663,7 +663,7 @@ 인증 코드 src/app/account/settings/settings.component.html - 225 + 219 @@ -671,7 +671,7 @@ 다음 백업 코드를 기록해 두세요. 해당 코드는 이번만 표시됩니다. src/app/account/settings/settings.component.html - 232 + 226 @@ -866,6 +866,155 @@ 22 + + Password for (You) + Password for (You) + Password label with username param + + src/app/account/password/password.component.ts + 16 + + + + Password changed! + Password changed! + + src/app/account/password/password.component.html + 7 + + + + An error has occurred! The password could not be changed. + An error has occurred! The password could not be changed. + + src/app/account/password/password.component.html + 10 + + + + The password and its confirmation do not match! + The password and its confirmation do not match! + + src/app/account/password/password.component.html + 13 + + + + Current password + Current password + + src/app/account/password/password.component.html + 20 + + + + Current password + Current password + + src/app/account/password/password.component.html + 22 + + + + Your password is required. + Your password is required. + + src/app/account/password/password.component.html + 26 + + + src/app/account/password/password.component.html + 39 + + + + New password + New password + + src/app/account/password/password.component.html + 32 + + + + New password + New password + + src/app/account/password/password.component.html + 34 + + + + Your password is required to be at least 4 characters. + Your password is required to be at least 4 characters. + + src/app/account/password/password.component.html + 43 + + + + Your password cannot be longer than 50 characters. + Your password cannot be longer than 50 characters. + + src/app/account/password/password.component.html + 47 + + + + New password confirmation + New password confirmation + + src/app/account/password/password.component.html + 54 + + + + Confirm the new password + Confirm the new password + + src/app/account/password/password.component.html + 56 + + + + Your confirmation password is required. + Your confirmation password is required. + + src/app/account/password/password.component.html + 61 + + + + Your confirmation password is required to be at least 4 characters. + Your confirmation password is required to be at least 4 characters. + + src/app/account/password/password.component.html + 65 + + + + Your confirmation password cannot be longer than 50 characters. + Your confirmation password cannot be longer than 50 characters. + + src/app/account/password/password.component.html + 69 + + + + Save + Save + + src/app/account/password/password.component.html + 74 + + + + Sorry, an error has occurred + Sorry, an error has occurred + + src/app/shared/error/error-alert.component.html + 5 + + \ No newline at end of file diff --git a/ui/src/i18n/messages.pt.xlf b/ui/src/i18n/messages.pt.xlf index a32b689ca..b8b434667 100644 --- a/ui/src/i18n/messages.pt.xlf +++ b/ui/src/i18n/messages.pt.xlf @@ -59,10 +59,10 @@ - + - + node_modules/src/ngb-config.ts @@ -70,8 +70,8 @@ - Slide of - Slide of + Slide of + Slide of Currently selected slide number read by screen reader node_modules/src/ngb-config.ts @@ -264,10 +264,10 @@ - + - + node_modules/src/ngb-config.ts @@ -276,10 +276,10 @@ - + - + node_modules/src/ngb-config.ts @@ -287,8 +287,8 @@ - Failed to sign in! Please check your credentials and try again. - Erro ao iniciar sessão! Por favor verifique as suas credenciais e tente novamente. + Failed to sign in! Please check your credentials and try again. + Erro ao iniciar sessão! Por favor verifique as suas credenciais e tente novamente. src/app/account/login/login.component.html 6 @@ -307,15 +307,15 @@ src/app/account/settings/settings.component.html - 107 + 104 - Email + Your email O seu email src/app/account/login/login.component.html - 17 + 16 src/app/account/password/password-reset-init.component.html @@ -323,7 +323,7 @@ src/app/account/settings/settings.component.html - 114 + 110 @@ -331,15 +331,15 @@ Palavra-passe src/app/account/login/login.component.html - 23 + 22 - Password + Your password A sua palavra-passe src/app/account/login/login.component.html - 30 + 28 @@ -347,7 +347,7 @@ Introduza o código MFA da sua aplicação autenticadora src/app/account/login/login.component.html - 36 + 34 @@ -355,7 +355,7 @@ Código MFA inválido src/app/account/login/login.component.html - 39 + 37 @@ -363,7 +363,7 @@ Código MFA src/app/account/login/login.component.html - 42 + 40 @@ -371,7 +371,7 @@ Iniciar sessão src/app/account/login/login.component.html - 45 + 43 @@ -379,7 +379,7 @@ Esqueceu-se da sua palavra-passe? src/app/account/login/login.component.html - 57 + 55 @@ -391,8 +391,8 @@ - Email address isn't registered! Please check and try again. - O endereço de e-mail não está registado! Verifique e tente novamente + 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 7 @@ -463,8 +463,8 @@ - Settings saved! - Configurações gravadas! + Settings saved! + Configurações gravadas! src/app/account/settings/settings.component.html 8 @@ -483,7 +483,7 @@ O seu primeiro nome src/app/account/settings/settings.component.html - 29 + 28 @@ -491,7 +491,7 @@ É necessário o seu primeiro nome. src/app/account/settings/settings.component.html - 43 + 42 @@ -499,7 +499,7 @@ O seu primeiro nome deve ter pelo menos 1 carácter src/app/account/settings/settings.component.html - 50 + 49 @@ -507,7 +507,7 @@ O seu primeiro nome não pode ter mais do que 50 caracteres src/app/account/settings/settings.component.html - 57 + 56 @@ -515,7 +515,7 @@ Último Nome src/app/account/settings/settings.component.html - 64 + 63 @@ -523,7 +523,7 @@ O seu último nome src/app/account/settings/settings.component.html - 73 + 70 @@ -531,7 +531,7 @@ É necessário o seu último nome. src/app/account/settings/settings.component.html - 87 + 84 @@ -539,7 +539,7 @@ O seu último nome tem que ter pelo menos 1 caractere. src/app/account/settings/settings.component.html - 94 + 91 @@ -547,7 +547,7 @@ O seu último nome não pode ter mais de 50 caractéres src/app/account/settings/settings.component.html - 101 + 98 @@ -555,7 +555,7 @@ Idioma src/app/account/settings/settings.component.html - 121 + 117 @@ -563,11 +563,11 @@ Guardar src/app/account/settings/settings.component.html - 131 + 127 src/app/account/settings/settings.component.html - 247 + 241 @@ -575,7 +575,7 @@ Segurança src/app/account/settings/settings.component.html - 145 + 141 @@ -583,7 +583,7 @@ 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 - 148 + 144 @@ -591,7 +591,7 @@ Autenticação de dois fatores src/app/account/settings/settings.component.html - 153 + 149 @@ -599,23 +599,23 @@ Definições da 2FA atualizadas src/app/account/settings/settings.component.html - 164 + 160 - 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. - Instale uma aplicação de autenticação de dois fatoresUma aplicação de 2FA é requerida para criar o código de seis dígitos de que necessita para aceder à sua conta de cada vez que iniciar sessão. A maioria das aplicações são para dispositivos móveis; algumas estão disponíveis para PC, ou são baseadas na rede. Transfira e instale a sua aplicação de 2FA favorita, tal como a Google Authenticator, a FreeOTP, ou a Authy. + 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. + Instale uma aplicação de autenticação de dois fatoresUma aplicação de 2FA é requerida para criar o código de seis dígitos de que necessita para aceder à sua conta de cada vez que iniciar sessão. A maioria das aplicações são para dispositivos móveis; algumas estão disponíveis para PC, ou são baseadas na rede. Transfira e instale a sua aplicação de 2FA favorita, tal como a Google Authenticator, a FreeOTP, ou a Authy. src/app/account/settings/settings.component.html - 168 + 164 - Scan this QR code with your deviceOpen your 2FA app and scan the image below. - Digitalize este código QR com o seu dispositivoAbra a sua aplicação de 2FA e digitalize a imagem abaixo. + Scan this QR code with your deviceOpen your 2FA app and scan the image below. + Digitalize este código QR com o seu dispositivoAbra a sua aplicação de 2FA e digitalize a imagem abaixo. src/app/account/settings/settings.component.html - 176 + 172 @@ -623,7 +623,7 @@ <strong>Não consegue digitalizar o código QR?</strong> src/app/account/settings/settings.component.html - 198 + 194 @@ -631,7 +631,7 @@ Obtenha antes um código de texto src/app/account/settings/settings.component.html - 202 + 198 @@ -639,15 +639,15 @@ e introduza-o na sua aplicação de 2FA src/app/account/settings/settings.component.html - 204 + 200 - 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. - Introduza o código de seis dígitos na aplicaçãoApós digitalizar o código QR ou introduzir o código de texto, a sua aplicação de 2FA exibirá um código de seis dígitos. Introduza este código na caixa abaixo e clique em Guardar. + 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. + Introduza o código de seis dígitos na aplicaçãoApós digitalizar o código QR ou introduzir o código de texto, a sua aplicação de 2FA exibirá um código de seis dígitos. Introduza este código na caixa abaixo e clique em Guardar. src/app/account/settings/settings.component.html - 207 + 203 @@ -655,7 +655,7 @@ Código de verificação inválido src/app/account/settings/settings.component.html - 216 + 212 @@ -663,7 +663,7 @@ Código de verificação src/app/account/settings/settings.component.html - 225 + 219 @@ -671,7 +671,7 @@ Anote os seguintes códigos da cópia de segurança, esta é a única vez que serão exibidos. src/app/account/settings/settings.component.html - 232 + 226 @@ -866,6 +866,155 @@ 22 + + Password for (You) + Password for (You) + Password label with username param + + src/app/account/password/password.component.ts + 16 + + + + Password changed! + Password changed! + + src/app/account/password/password.component.html + 7 + + + + An error has occurred! The password could not be changed. + An error has occurred! The password could not be changed. + + src/app/account/password/password.component.html + 10 + + + + The password and its confirmation do not match! + The password and its confirmation do not match! + + src/app/account/password/password.component.html + 13 + + + + Current password + Current password + + src/app/account/password/password.component.html + 20 + + + + Current password + Current password + + src/app/account/password/password.component.html + 22 + + + + Your password is required. + Your password is required. + + src/app/account/password/password.component.html + 26 + + + src/app/account/password/password.component.html + 39 + + + + New password + New password + + src/app/account/password/password.component.html + 32 + + + + New password + New password + + src/app/account/password/password.component.html + 34 + + + + Your password is required to be at least 4 characters. + Your password is required to be at least 4 characters. + + src/app/account/password/password.component.html + 43 + + + + Your password cannot be longer than 50 characters. + Your password cannot be longer than 50 characters. + + src/app/account/password/password.component.html + 47 + + + + New password confirmation + New password confirmation + + src/app/account/password/password.component.html + 54 + + + + Confirm the new password + Confirm the new password + + src/app/account/password/password.component.html + 56 + + + + Your confirmation password is required. + Your confirmation password is required. + + src/app/account/password/password.component.html + 61 + + + + Your confirmation password is required to be at least 4 characters. + Your confirmation password is required to be at least 4 characters. + + src/app/account/password/password.component.html + 65 + + + + Your confirmation password cannot be longer than 50 characters. + Your confirmation password cannot be longer than 50 characters. + + src/app/account/password/password.component.html + 69 + + + + Save + Save + + src/app/account/password/password.component.html + 74 + + + + Sorry, an error has occurred + Sorry, an error has occurred + + src/app/shared/error/error-alert.component.html + 5 + + \ No newline at end of file diff --git a/ui/src/i18n/messages.ru.xlf b/ui/src/i18n/messages.ru.xlf index 7fe786ed9..cc51321d1 100644 --- a/ui/src/i18n/messages.ru.xlf +++ b/ui/src/i18n/messages.ru.xlf @@ -59,10 +59,10 @@ - + - + node_modules/src/ngb-config.ts @@ -70,8 +70,8 @@ - Slide of - Slide of + Slide of + Slide of Currently selected slide number read by screen reader node_modules/src/ngb-config.ts @@ -264,10 +264,10 @@ - + - + node_modules/src/ngb-config.ts @@ -276,10 +276,10 @@ - + - + node_modules/src/ngb-config.ts @@ -287,8 +287,8 @@ - Failed to sign in! Please check your credentials and try again. - Не удалось войти! Проверьте свои учетные данные и повторите попытку. + Failed to sign in! Please check your credentials and try again. + Не удалось войти! Проверьте свои учетные данные и повторите попытку. src/app/account/login/login.component.html 6 @@ -307,15 +307,15 @@ src/app/account/settings/settings.component.html - 107 + 104 - Email + Your email Ваш эл. адрес src/app/account/login/login.component.html - 17 + 16 src/app/account/password/password-reset-init.component.html @@ -323,7 +323,7 @@ src/app/account/settings/settings.component.html - 114 + 110 @@ -331,15 +331,15 @@ Пароль src/app/account/login/login.component.html - 23 + 22 - Password + Your password Ваш пароль src/app/account/login/login.component.html - 30 + 28 @@ -347,7 +347,7 @@ Введите код МФА из вашего приложения для проверки подлинности src/app/account/login/login.component.html - 36 + 34 @@ -355,7 +355,7 @@ Неверный код МФА src/app/account/login/login.component.html - 39 + 37 @@ -363,7 +363,7 @@ Код МФА src/app/account/login/login.component.html - 42 + 40 @@ -371,7 +371,7 @@ Вход src/app/account/login/login.component.html - 45 + 43 @@ -379,7 +379,7 @@ Забыли пароль? src/app/account/login/login.component.html - 57 + 55 @@ -391,8 +391,8 @@ - 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 7 @@ -463,8 +463,8 @@ - Settings saved! - Настройки сохранены! + Settings saved! + Настройки сохранены! src/app/account/settings/settings.component.html 8 @@ -483,7 +483,7 @@ Ваше имя src/app/account/settings/settings.component.html - 29 + 28 @@ -491,7 +491,7 @@ Необходимо указать ваше имя. src/app/account/settings/settings.component.html - 43 + 42 @@ -499,7 +499,7 @@ Ваше имя должно состоять не менее чем из 1 символа src/app/account/settings/settings.component.html - 50 + 49 @@ -507,7 +507,7 @@ Ваше имя не может содержать более 50 символов src/app/account/settings/settings.component.html - 57 + 56 @@ -515,7 +515,7 @@ Фамилия src/app/account/settings/settings.component.html - 64 + 63 @@ -523,7 +523,7 @@ Ваша фамилия src/app/account/settings/settings.component.html - 73 + 70 @@ -531,7 +531,7 @@ Необходимо указать вашу фамилию. src/app/account/settings/settings.component.html - 87 + 84 @@ -539,7 +539,7 @@ Ваша фамилия должна содержать не менее 1 символа src/app/account/settings/settings.component.html - 94 + 91 @@ -547,7 +547,7 @@ Ваша фамилия не может быть длиннее 50 символов src/app/account/settings/settings.component.html - 101 + 98 @@ -555,7 +555,7 @@ Язык src/app/account/settings/settings.component.html - 121 + 117 @@ -563,11 +563,11 @@ Сохранить src/app/account/settings/settings.component.html - 131 + 127 src/app/account/settings/settings.component.html - 247 + 241 @@ -575,7 +575,7 @@ Безопасность src/app/account/settings/settings.component.html - 145 + 141 @@ -583,7 +583,7 @@ Повысьте безопасность своей учетной записи на портале участника ORCID, включив двухфакторную аутентификацию. Каждый раз, когда вы входите в систему, вам будет нужно ввести шестизначный код, который мы отправим в ваше приложение для аутентификации. src/app/account/settings/settings.component.html - 148 + 144 @@ -591,7 +591,7 @@ Двухфакторная аутентификация src/app/account/settings/settings.component.html - 153 + 149 @@ -599,23 +599,23 @@ Настройки 2FA обновлены src/app/account/settings/settings.component.html - 164 + 160 - 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. - Установите приложение двухфакторной аутентификацииДля создания шестизначного кода, необходимого для доступа к аккаунту при каждом входе в него, требуется приложение двухфакторной аутентификации. Большинство приложений предназначены для мобильных устройств; некоторые также доступны в виде настольных или веб-приложений. Загрузите и установите ваше приложение двухфакторной аутентификации, например Google Authenticator, FreeOTP или Authy. + 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. + Установите приложение двухфакторной аутентификацииДля создания шестизначного кода, необходимого для доступа к аккаунту при каждом входе в него, требуется приложение двухфакторной аутентификации. Большинство приложений предназначены для мобильных устройств; некоторые также доступны в виде настольных или веб-приложений. Загрузите и установите ваше приложение двухфакторной аутентификации, например Google Authenticator, FreeOTP или Authy. src/app/account/settings/settings.component.html - 168 + 164 - Scan this QR code with your deviceOpen your 2FA app and scan the image below. - Отсканируйте этот QR-код на своем устройствеОткройте приложение двухфакторной аутентификации и отсканируйте изображение ниже. + Scan this QR code with your deviceOpen your 2FA app and scan the image below. + Отсканируйте этот QR-код на своем устройствеОткройте приложение двухфакторной аутентификации и отсканируйте изображение ниже. src/app/account/settings/settings.component.html - 176 + 172 @@ -623,7 +623,7 @@ <strong>Не можете отсканировать QR-код?</strong> src/app/account/settings/settings.component.html - 198 + 194 @@ -631,7 +631,7 @@ Получите код по СМС src/app/account/settings/settings.component.html - 202 + 198 @@ -639,15 +639,15 @@ и введите его в приложение 2FA вместо этого src/app/account/settings/settings.component.html - 204 + 200 - 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. - Введите шестизначный код из приложенияПосле сканирования QR-кода или ввода кода из СМС ваше приложение двухфакторной аутентификации покажет шестизначный код. Введите этот код в поле ниже и нажмите "Сохранить". + 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. + Введите шестизначный код из приложенияПосле сканирования QR-кода или ввода кода из СМС ваше приложение двухфакторной аутентификации покажет шестизначный код. Введите этот код в поле ниже и нажмите "Сохранить". src/app/account/settings/settings.component.html - 207 + 203 @@ -655,7 +655,7 @@ Неверный код подтверждения src/app/account/settings/settings.component.html - 216 + 212 @@ -663,7 +663,7 @@ Проверочный код src/app/account/settings/settings.component.html - 225 + 219 @@ -671,7 +671,7 @@ Запишите следующие резервные коды, они будут показаны только в этот раз. src/app/account/settings/settings.component.html - 232 + 226 @@ -866,6 +866,155 @@ 22 + + Password for (You) + Password for (You) + Password label with username param + + src/app/account/password/password.component.ts + 16 + + + + Password changed! + Password changed! + + src/app/account/password/password.component.html + 7 + + + + An error has occurred! The password could not be changed. + An error has occurred! The password could not be changed. + + src/app/account/password/password.component.html + 10 + + + + The password and its confirmation do not match! + The password and its confirmation do not match! + + src/app/account/password/password.component.html + 13 + + + + Current password + Current password + + src/app/account/password/password.component.html + 20 + + + + Current password + Current password + + src/app/account/password/password.component.html + 22 + + + + Your password is required. + Your password is required. + + src/app/account/password/password.component.html + 26 + + + src/app/account/password/password.component.html + 39 + + + + New password + New password + + src/app/account/password/password.component.html + 32 + + + + New password + New password + + src/app/account/password/password.component.html + 34 + + + + Your password is required to be at least 4 characters. + Your password is required to be at least 4 characters. + + src/app/account/password/password.component.html + 43 + + + + Your password cannot be longer than 50 characters. + Your password cannot be longer than 50 characters. + + src/app/account/password/password.component.html + 47 + + + + New password confirmation + New password confirmation + + src/app/account/password/password.component.html + 54 + + + + Confirm the new password + Confirm the new password + + src/app/account/password/password.component.html + 56 + + + + Your confirmation password is required. + Your confirmation password is required. + + src/app/account/password/password.component.html + 61 + + + + Your confirmation password is required to be at least 4 characters. + Your confirmation password is required to be at least 4 characters. + + src/app/account/password/password.component.html + 65 + + + + Your confirmation password cannot be longer than 50 characters. + Your confirmation password cannot be longer than 50 characters. + + src/app/account/password/password.component.html + 69 + + + + Save + Save + + src/app/account/password/password.component.html + 74 + + + + Sorry, an error has occurred + Sorry, an error has occurred + + src/app/shared/error/error-alert.component.html + 5 + + \ No newline at end of file diff --git a/ui/src/i18n/messages.xlf b/ui/src/i18n/messages.xlf index 794f07bcd..f23afcd18 100644 --- a/ui/src/i18n/messages.xlf +++ b/ui/src/i18n/messages.xlf @@ -268,14 +268,14 @@ src/app/account/settings/settings.component.html - 107 + 104 - Email + Your email src/app/account/login/login.component.html - 17 + 16 src/app/account/password/password-reset-init.component.html @@ -283,49 +283,243 @@ src/app/account/settings/settings.component.html - 114 + 110 Password src/app/account/login/login.component.html - 23 + 22 + + + + Your password + + src/app/account/login/login.component.html + 28 Please enter the MFA code from your authenticator app src/app/account/login/login.component.html - 36 + 34 Invalid MFA code src/app/account/login/login.component.html - 39 + 37 MFA code src/app/account/login/login.component.html - 42 + 40 Sign in src/app/account/login/login.component.html - 45 + 43 Did you forget your password? src/app/account/login/login.component.html - 57 + 55 + + + + Reset your password + + src/app/account/password/password-reset-init.component.html + 4 + + + + Email address isn't registered! Please check and try again. + + src/app/account/password/password-reset-init.component.html + 7 + + + + Enter the email address you used to register. + + src/app/account/password/password-reset-init.component.html + 11 + + + + Check your emails for details on how to reset your password. + + src/app/account/password/password-reset-init.component.html + 15 + + + + Your email is required. + + src/app/account/password/password-reset-init.component.html + 42 + + + + Your email is invalid. + + src/app/account/password/password-reset-init.component.html + 49 + + + + Your email is required to be at least 5 characters. + + src/app/account/password/password-reset-init.component.html + 56 + + + + Your email cannot be longer than 100 characters. + + src/app/account/password/password-reset-init.component.html + 64 + + + + Reset + + src/app/account/password/password-reset-init.component.html + 75 + + + + Password for (You) + Password label with username param + + src/app/account/password/password.component.ts + 16 + + + + Password changed! + + src/app/account/password/password.component.html + 7 + + + + An error has occurred! The password could not be changed. + + src/app/account/password/password.component.html + 10 + + + + The password and its confirmation do not match! + + src/app/account/password/password.component.html + 13 + + + + Current password + + src/app/account/password/password.component.html + 20 + + + + Current password + + src/app/account/password/password.component.html + 22 + + + + Your password is required. + + src/app/account/password/password.component.html + 26 + + + src/app/account/password/password.component.html + 39 + + + + New password + + src/app/account/password/password.component.html + 32 + + + + New password + + src/app/account/password/password.component.html + 34 + + + + Your password is required to be at least 4 characters. + + src/app/account/password/password.component.html + 43 + + + + Your password cannot be longer than 50 characters. + + src/app/account/password/password.component.html + 47 + + + + New password confirmation + + src/app/account/password/password.component.html + 54 + + + + Confirm the new password + + src/app/account/password/password.component.html + 56 + + + + Your confirmation password is required. + + src/app/account/password/password.component.html + 61 + + + + Your confirmation password is required to be at least 4 characters. + + src/app/account/password/password.component.html + 65 + + + + Your confirmation password cannot be longer than 50 characters. + + src/app/account/password/password.component.html + 69 + + + + Save + + src/app/account/password/password.component.html + 74 @@ -349,295 +543,246 @@ 21 + + Your first name + + src/app/account/settings/settings.component.html + 28 + + Your first name is required. src/app/account/settings/settings.component.html - 43 + 42 Your first name is required to be at least 1 character. src/app/account/settings/settings.component.html - 50 + 49 Your first name cannot be longer than 50 characters. src/app/account/settings/settings.component.html - 57 + 56 Last Name src/app/account/settings/settings.component.html - 64 + 63 + + + + Your last name + + src/app/account/settings/settings.component.html + 70 Your last name is required. src/app/account/settings/settings.component.html - 87 + 84 Your last name is required to be at least 1 character. src/app/account/settings/settings.component.html - 94 + 91 Your last name cannot be longer than 50 characters. src/app/account/settings/settings.component.html - 101 + 98 Language src/app/account/settings/settings.component.html - 121 + 117 Save src/app/account/settings/settings.component.html - 131 + 127 src/app/account/settings/settings.component.html - 247 + 241 Security src/app/account/settings/settings.component.html - 145 + 141 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. src/app/account/settings/settings.component.html - 148 + 144 Two-factor Authentication src/app/account/settings/settings.component.html - 153 + 149 2FA settings updated src/app/account/settings/settings.component.html - 164 + 160 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. src/app/account/settings/settings.component.html - 168 + 164 Scan this QR code with your deviceOpen your 2FA app and scan the image below. src/app/account/settings/settings.component.html - 176 + 172 Can't scan the QR code? src/app/account/settings/settings.component.html - 198 + 194 Get a text code src/app/account/settings/settings.component.html - 202 + 198 and enter it into your 2FA app instead src/app/account/settings/settings.component.html - 204 + 200 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. src/app/account/settings/settings.component.html - 207 + 203 Incorrect verification code src/app/account/settings/settings.component.html - 216 + 212 - - Make a note of the following backup codes, this is the only time they will be shown. + + Verification code src/app/account/settings/settings.component.html - 232 + 219 - - Password - - src/app/account/login/login.component.html - 30 - - - - Your email is invalid. - - src/app/account/password/password-reset-init.component.html - 49 - - - - Your email cannot be longer than 100 characters. - - src/app/account/password/password-reset-init.component.html - 64 - - - - Your email is required to be at least 5 characters. - - src/app/account/password/password-reset-init.component.html - 56 - - - - Your email is required. - - src/app/account/password/password-reset-init.component.html - 42 - - - - Reset - - src/app/account/password/password-reset-init.component.html - 75 - - - - Enter the email address you used to register. - - src/app/account/password/password-reset-init.component.html - 11 - - - - Email address isn't registered! Please check and try again. - - src/app/account/password/password-reset-init.component.html - 7 - - - - Check your emails for details on how to reset your password. - - src/app/account/password/password-reset-init.component.html - 15 - - - - Reset your password + + Make a note of the following backup codes, this is the only time they will be shown. - src/app/account/password/password-reset-init.component.html - 4 + src/app/account/settings/settings.component.html + 226 - - Your first name + + Privacy Policy - src/app/account/settings/settings.component.html - 29 + src/app/layout/footer/footer.component.html + 13 - - Your last name + + Terms of Use - src/app/account/settings/settings.component.html - 73 + src/app/layout/footer/footer.component.html + 16 - - Verification code + + Help - src/app/account/settings/settings.component.html - 225 + src/app/layout/footer/footer.component.html + 19 - - Sign out + + ORCID Registry - src/app/layout/navbar/navbar.component.html - 267 + src/app/layout/footer/footer.component.html + 22 - - Password + + Member Portal src/app/layout/navbar/navbar.component.html - 261 + 15 - - Settings + + Tools src/app/layout/navbar/navbar.component.html - 255 + 52 - - Admin + + Affiliation Manager src/app/layout/navbar/navbar.component.html - 204 + 66 - - Manage members + + Member report src/app/layout/navbar/navbar.component.html - 230 + 79 - - Manage users + + Integration report src/app/layout/navbar/navbar.component.html - 217 + 92 - - Member Portal + + Consortium report src/app/layout/navbar/navbar.component.html - 15 + 105 @@ -647,13 +792,6 @@ 116 - - Consortium report - - src/app/layout/navbar/navbar.component.html - 105 - - Consortium member affiliations @@ -661,18 +799,11 @@ 130 - - Integration report - - src/app/layout/navbar/navbar.component.html - 92 - - - - Member report + + Resources src/app/layout/navbar/navbar.component.html - 79 + 146 @@ -689,39 +820,39 @@ 167 - - Apply for Affiliation Manager Credentials + + Member Reporting Guide src/app/layout/navbar/navbar.component.html - 188 + 177 - - Resources + + Apply for Affiliation Manager Credentials src/app/layout/navbar/navbar.component.html - 146 + 188 - - Member Reporting Guide + + Admin src/app/layout/navbar/navbar.component.html - 177 + 204 - - Affiliation Manager + + Manage users src/app/layout/navbar/navbar.component.html - 66 + 217 - - Tools + + Manage members src/app/layout/navbar/navbar.component.html - 52 + 230 @@ -731,32 +862,32 @@ 245 - - Help + + Settings - src/app/layout/footer/footer.component.html - 19 + src/app/layout/navbar/navbar.component.html + 255 - - Privacy Policy + + Password - src/app/layout/footer/footer.component.html - 13 + src/app/layout/navbar/navbar.component.html + 261 - - Terms of Use + + Sign out - src/app/layout/footer/footer.component.html - 16 + src/app/layout/navbar/navbar.component.html + 267 - - ORCID Registry + + Sorry, an error has occurred - src/app/layout/footer/footer.component.html - 22 + src/app/shared/error/error-alert.component.html + 5 diff --git a/ui/src/i18n/messages.zh-CN.xlf b/ui/src/i18n/messages.zh-CN.xlf index 95cba7690..b75166f59 100644 --- a/ui/src/i18n/messages.zh-CN.xlf +++ b/ui/src/i18n/messages.zh-CN.xlf @@ -59,10 +59,10 @@ - + - + node_modules/src/ngb-config.ts @@ -70,8 +70,8 @@ - Slide of - Slide of + Slide of + Slide of Currently selected slide number read by screen reader node_modules/src/ngb-config.ts @@ -264,10 +264,10 @@ - + - + node_modules/src/ngb-config.ts @@ -276,10 +276,10 @@ - + - + node_modules/src/ngb-config.ts @@ -287,8 +287,8 @@ - Failed to sign in! Please check your credentials and try again. - 登录失败!请检查您的凭证并重试。 + Failed to sign in! Please check your credentials and try again. + 登录失败!请检查您的凭证并重试。 src/app/account/login/login.component.html 6 @@ -307,15 +307,15 @@ src/app/account/settings/settings.component.html - 107 + 104 - Email + Your email 您的电子邮件 src/app/account/login/login.component.html - 17 + 16 src/app/account/password/password-reset-init.component.html @@ -323,7 +323,7 @@ src/app/account/settings/settings.component.html - 114 + 110 @@ -331,15 +331,15 @@ 密码 src/app/account/login/login.component.html - 23 + 22 - Password + Your password 您的密码 src/app/account/login/login.component.html - 30 + 28 @@ -347,7 +347,7 @@ 请从您的验证程序中输入 MFA 代码 src/app/account/login/login.component.html - 36 + 34 @@ -355,7 +355,7 @@ 无效的 MFA 代码 src/app/account/login/login.component.html - 39 + 37 @@ -363,7 +363,7 @@ MFA 代码 src/app/account/login/login.component.html - 42 + 40 @@ -371,7 +371,7 @@ 登录 src/app/account/login/login.component.html - 45 + 43 @@ -379,7 +379,7 @@ 忘记密码? src/app/account/login/login.component.html - 57 + 55 @@ -391,8 +391,8 @@ - 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 7 @@ -463,8 +463,8 @@ - Settings saved! - 设置已保存! + Settings saved! + 设置已保存! src/app/account/settings/settings.component.html 8 @@ -483,7 +483,7 @@ 您的名字 src/app/account/settings/settings.component.html - 29 + 28 @@ -491,7 +491,7 @@ 名字是必填字段。 src/app/account/settings/settings.component.html - 43 + 42 @@ -499,7 +499,7 @@ 您的名字必须具有至少 1 个字符 src/app/account/settings/settings.component.html - 50 + 49 @@ -507,7 +507,7 @@ 名字长度不能超过 50 个字符 src/app/account/settings/settings.component.html - 57 + 56 @@ -515,7 +515,7 @@ src/app/account/settings/settings.component.html - 64 + 63 @@ -523,7 +523,7 @@ 您的姓氏 src/app/account/settings/settings.component.html - 73 + 70 @@ -531,7 +531,7 @@ 姓氏是必填字段。 src/app/account/settings/settings.component.html - 87 + 84 @@ -539,7 +539,7 @@ 您的姓氏必须具有至少 1 个字符 src/app/account/settings/settings.component.html - 94 + 91 @@ -547,7 +547,7 @@ 姓氏长度不能超过 50 个字符 src/app/account/settings/settings.component.html - 101 + 98 @@ -555,7 +555,7 @@ 语言 src/app/account/settings/settings.component.html - 121 + 117 @@ -563,11 +563,11 @@ 保存 src/app/account/settings/settings.component.html - 131 + 127 src/app/account/settings/settings.component.html - 247 + 241 @@ -575,7 +575,7 @@ 安全性 src/app/account/settings/settings.component.html - 145 + 141 @@ -583,7 +583,7 @@ 启用双重身份验证,为您的 ORCID 成员门户账户增加额外的安全性。每次登录时,系统都会提示您输入发送到您首选身份验证应用程序的六位数验证码。 src/app/account/settings/settings.component.html - 148 + 144 @@ -591,7 +591,7 @@ 双重验证 src/app/account/settings/settings.component.html - 153 + 149 @@ -599,23 +599,23 @@ 2FA 设置已更新 src/app/account/settings/settings.component.html - 164 + 160 - 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. - 安装双重身份验证应用每次登录时都需要 2FA 应用程序来创建访问帐户所需的六位数代码。大多数应用程序适用于移动设备;有些还可以作为桌面或基于 Web 的应用程序使用。下载并安装您首选的 2FA 应用,例如 Google AuthenticatorFreeOTPAuthy + 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. + 安装双重身份验证应用每次登录时都需要 2FA 应用程序来创建访问帐户所需的六位数代码。大多数应用程序适用于移动设备;有些还可以作为桌面或基于 Web 的应用程序使用。下载并安装您首选的 2FA 应用,例如 Google AuthenticatorFreeOTPAuthy src/app/account/settings/settings.component.html - 168 + 164 - Scan this QR code with your deviceOpen your 2FA app and scan the image below. - 使用设备扫描此二维码打开 2FA 应用并扫描下方图像。 + Scan this QR code with your deviceOpen your 2FA app and scan the image below. + 使用设备扫描此二维码打开 2FA 应用并扫描下方图像。 src/app/account/settings/settings.component.html - 176 + 172 @@ -623,7 +623,7 @@ <strong>无法扫描二维码?</strong> src/app/account/settings/settings.component.html - 198 + 194 @@ -631,7 +631,7 @@ 获取短信验证码 src/app/account/settings/settings.component.html - 202 + 198 @@ -639,15 +639,15 @@ 并将其输入 2FA 应用 src/app/account/settings/settings.component.html - 204 + 200 - 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. - 输入来自应用的六位数验证码扫描二维码或输入短信验证码后,2FA 即会显示一个六位数验证码。在下方框中输入该验证码,然后单击“保存”。 + 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. + 输入来自应用的六位数验证码扫描二维码或输入短信验证码后,2FA 即会显示一个六位数验证码。在下方框中输入该验证码,然后单击“保存”。 src/app/account/settings/settings.component.html - 207 + 203 @@ -655,7 +655,7 @@ 验证码不正确 src/app/account/settings/settings.component.html - 216 + 212 @@ -663,7 +663,7 @@ 验证码 src/app/account/settings/settings.component.html - 225 + 219 @@ -671,7 +671,7 @@ 请记下以下备份代码,它们只会出现这一次。 src/app/account/settings/settings.component.html - 232 + 226 @@ -866,6 +866,155 @@ 267 + + Password for (You) + Password for (You) + Password label with username param + + src/app/account/password/password.component.ts + 16 + + + + Password changed! + Password changed! + + src/app/account/password/password.component.html + 7 + + + + An error has occurred! The password could not be changed. + An error has occurred! The password could not be changed. + + src/app/account/password/password.component.html + 10 + + + + The password and its confirmation do not match! + The password and its confirmation do not match! + + src/app/account/password/password.component.html + 13 + + + + Current password + Current password + + src/app/account/password/password.component.html + 20 + + + + Current password + Current password + + src/app/account/password/password.component.html + 22 + + + + Your password is required. + Your password is required. + + src/app/account/password/password.component.html + 26 + + + src/app/account/password/password.component.html + 39 + + + + New password + New password + + src/app/account/password/password.component.html + 32 + + + + New password + New password + + src/app/account/password/password.component.html + 34 + + + + Your password is required to be at least 4 characters. + Your password is required to be at least 4 characters. + + src/app/account/password/password.component.html + 43 + + + + Your password cannot be longer than 50 characters. + Your password cannot be longer than 50 characters. + + src/app/account/password/password.component.html + 47 + + + + New password confirmation + New password confirmation + + src/app/account/password/password.component.html + 54 + + + + Confirm the new password + Confirm the new password + + src/app/account/password/password.component.html + 56 + + + + Your confirmation password is required. + Your confirmation password is required. + + src/app/account/password/password.component.html + 61 + + + + Your confirmation password is required to be at least 4 characters. + Your confirmation password is required to be at least 4 characters. + + src/app/account/password/password.component.html + 65 + + + + Your confirmation password cannot be longer than 50 characters. + Your confirmation password cannot be longer than 50 characters. + + src/app/account/password/password.component.html + 69 + + + + Save + Save + + src/app/account/password/password.component.html + 74 + + + + Sorry, an error has occurred + Sorry, an error has occurred + + src/app/shared/error/error-alert.component.html + 5 + + \ 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 fc86c2dd9..6835a7cc3 100644 --- a/ui/src/i18n/messages.zh-TW.xlf +++ b/ui/src/i18n/messages.zh-TW.xlf @@ -59,10 +59,10 @@ - + - + node_modules/src/ngb-config.ts @@ -70,8 +70,8 @@ - Slide of - Slide of + Slide of + Slide of Currently selected slide number read by screen reader node_modules/src/ngb-config.ts @@ -264,10 +264,10 @@ - + - + node_modules/src/ngb-config.ts @@ -276,10 +276,10 @@ - + - + node_modules/src/ngb-config.ts @@ -287,8 +287,8 @@ - Failed to sign in! Please check your credentials and try again. - 登入失敗!請檢查您的憑證並再試一次。 + Failed to sign in! Please check your credentials and try again. + 登入失敗!請檢查您的憑證並再試一次。 src/app/account/login/login.component.html 6 @@ -307,15 +307,15 @@ src/app/account/settings/settings.component.html - 107 + 104 - Email + Your email 您的電子郵件 src/app/account/login/login.component.html - 17 + 16 src/app/account/password/password-reset-init.component.html @@ -323,7 +323,7 @@ src/app/account/settings/settings.component.html - 114 + 110 @@ -331,15 +331,15 @@ 密碼 src/app/account/login/login.component.html - 23 + 22 - Password + Your password 您的密碼 src/app/account/login/login.component.html - 30 + 28 @@ -347,7 +347,7 @@ 請輸入您身份驗證器應用程式中的 MFA 代碼 src/app/account/login/login.component.html - 36 + 34 @@ -355,7 +355,7 @@ 無效的 MFA 代碼 src/app/account/login/login.component.html - 39 + 37 @@ -363,7 +363,7 @@ MFA 代碼 src/app/account/login/login.component.html - 42 + 40 @@ -371,7 +371,7 @@ 登入 src/app/account/login/login.component.html - 45 + 43 @@ -379,7 +379,7 @@ 您忘記密碼了嗎? src/app/account/login/login.component.html - 57 + 55 @@ -391,8 +391,8 @@ - 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 7 @@ -463,8 +463,8 @@ - Settings saved! - 設定已儲存! + Settings saved! + 設定已儲存! src/app/account/settings/settings.component.html 8 @@ -483,7 +483,7 @@ 您的名字 src/app/account/settings/settings.component.html - 29 + 28 @@ -491,7 +491,7 @@ 需要您的名字。 src/app/account/settings/settings.component.html - 43 + 42 @@ -499,7 +499,7 @@ 您的名字至少必須有 1 個字元 src/app/account/settings/settings.component.html - 50 + 49 @@ -507,7 +507,7 @@ 您的名字不能超過 50 個字元 src/app/account/settings/settings.component.html - 57 + 56 @@ -515,7 +515,7 @@ 姓氏 src/app/account/settings/settings.component.html - 64 + 63 @@ -523,7 +523,7 @@ 您的姓氏 src/app/account/settings/settings.component.html - 73 + 70 @@ -531,7 +531,7 @@ 需要您的姓氏。 src/app/account/settings/settings.component.html - 87 + 84 @@ -539,7 +539,7 @@ 您的姓氏至少必須有 1 個字元 src/app/account/settings/settings.component.html - 94 + 91 @@ -547,7 +547,7 @@ 您的姓氏不能超過 50 個字元 src/app/account/settings/settings.component.html - 101 + 98 @@ -555,7 +555,7 @@ 語言 src/app/account/settings/settings.component.html - 121 + 117 @@ -563,11 +563,11 @@ 儲存 src/app/account/settings/settings.component.html - 131 + 127 src/app/account/settings/settings.component.html - 247 + 241 @@ -575,7 +575,7 @@ 安全性 src/app/account/settings/settings.component.html - 145 + 141 @@ -583,7 +583,7 @@ 透過啟用雙重認證,為您的 ORCID 成員入口帳戶增添額外的安全性。每次登入時,系統都會提示您輸入我們傳送至您首選認證應用程式的六位數代碼。 src/app/account/settings/settings.component.html - 148 + 144 @@ -591,7 +591,7 @@ 雙重認證 src/app/account/settings/settings.component.html - 153 + 149 @@ -599,23 +599,23 @@ 已更新雙重認證設定 src/app/account/settings/settings.component.html - 164 + 160 - 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. - 安裝雙重認證 app您需要一個雙重認證 app 來創建您每次登入帳戶時所需的六位數代碼。多數 app 適用於行動裝置,部分 app 還能在電腦桌面使用,或是使用網頁型 app。下載並安裝您喜歡的雙重認證 app,例如 Google AuthenticatorFreeOTP,或 Authy + 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. + 安裝雙重認證 app您需要一個雙重認證 app 來創建您每次登入帳戶時所需的六位數代碼。多數 app 適用於行動裝置,部分 app 還能在電腦桌面使用,或是使用網頁型 app。下載並安裝您喜歡的雙重認證 app,例如 Google AuthenticatorFreeOTP,或 Authy src/app/account/settings/settings.component.html - 168 + 164 - Scan this QR code with your deviceOpen your 2FA app and scan the image below. - 使用您的裝置掃描此 QR 碼開啟您的雙重認證 app 並掃描下方圖片。 + Scan this QR code with your deviceOpen your 2FA app and scan the image below. + 使用您的裝置掃描此 QR 碼開啟您的雙重認證 app 並掃描下方圖片。 src/app/account/settings/settings.component.html - 176 + 172 @@ -623,7 +623,7 @@ <strong>無法掃描 QR 碼?</strong> src/app/account/settings/settings.component.html - 198 + 194 @@ -631,7 +631,7 @@ 取得簡訊代碼 src/app/account/settings/settings.component.html - 202 + 198 @@ -639,15 +639,15 @@ 那便將其輸入至您的雙重認證 app src/app/account/settings/settings.component.html - 204 + 200 - 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. - 輸入 app 中的六位數代碼掃描 QR 碼或輸入簡訊代碼後,您的雙重認證 app 便會顯示一個六位數代碼,將此代碼輸入下方選框後點擊「儲存」。 + 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. + 輸入 app 中的六位數代碼掃描 QR 碼或輸入簡訊代碼後,您的雙重認證 app 便會顯示一個六位數代碼,將此代碼輸入下方選框後點擊「儲存」。 src/app/account/settings/settings.component.html - 207 + 203 @@ -655,7 +655,7 @@ 驗證代碼不正確 src/app/account/settings/settings.component.html - 216 + 212 @@ -663,7 +663,7 @@ 驗證代碼 src/app/account/settings/settings.component.html - 225 + 219 @@ -671,7 +671,7 @@ 請記下以下的備份代碼,因為這個代碼只會出現一次。 src/app/account/settings/settings.component.html - 232 + 226 @@ -866,6 +866,155 @@ 267 + + Password for (You) + Password for (You) + Password label with username param + + src/app/account/password/password.component.ts + 16 + + + + Password changed! + Password changed! + + src/app/account/password/password.component.html + 7 + + + + An error has occurred! The password could not be changed. + An error has occurred! The password could not be changed. + + src/app/account/password/password.component.html + 10 + + + + The password and its confirmation do not match! + The password and its confirmation do not match! + + src/app/account/password/password.component.html + 13 + + + + Current password + Current password + + src/app/account/password/password.component.html + 20 + + + + Current password + Current password + + src/app/account/password/password.component.html + 22 + + + + Your password is required. + Your password is required. + + src/app/account/password/password.component.html + 26 + + + src/app/account/password/password.component.html + 39 + + + + New password + New password + + src/app/account/password/password.component.html + 32 + + + + New password + New password + + src/app/account/password/password.component.html + 34 + + + + Your password is required to be at least 4 characters. + Your password is required to be at least 4 characters. + + src/app/account/password/password.component.html + 43 + + + + Your password cannot be longer than 50 characters. + Your password cannot be longer than 50 characters. + + src/app/account/password/password.component.html + 47 + + + + New password confirmation + New password confirmation + + src/app/account/password/password.component.html + 54 + + + + Confirm the new password + Confirm the new password + + src/app/account/password/password.component.html + 56 + + + + Your confirmation password is required. + Your confirmation password is required. + + src/app/account/password/password.component.html + 61 + + + + Your confirmation password is required to be at least 4 characters. + Your confirmation password is required to be at least 4 characters. + + src/app/account/password/password.component.html + 65 + + + + Your confirmation password cannot be longer than 50 characters. + Your confirmation password cannot be longer than 50 characters. + + src/app/account/password/password.component.html + 69 + + + + Save + Save + + src/app/account/password/password.component.html + 74 + + + + Sorry, an error has occurred + Sorry, an error has occurred + + src/app/shared/error/error-alert.component.html + 5 + + \ No newline at end of file