From 5950a810632d770d9b0526d4afbffe30990db63f Mon Sep 17 00:00:00 2001 From: George Nash Date: Wed, 10 Jan 2024 16:57:37 +0000 Subject: [PATCH 01/19] password reset finish base --- ui/src/app/account/account.module.ts | 4 +- .../account/model/key-validation-result.ts | 14 +++ .../model/resend-activation-email-result.ts | 11 +++ .../password-reset-finish.component.html | 96 +++++++++++++++++++ .../password-reset-finish.component.scss | 0 .../password-reset-finish.component.spec.ts | 21 ++++ .../password-reset-finish.component.ts | 85 ++++++++++++++++ .../app/account/service/password.service.ts | 21 +++- 8 files changed, 249 insertions(+), 3 deletions(-) create mode 100644 ui/src/app/account/model/key-validation-result.ts create mode 100644 ui/src/app/account/model/resend-activation-email-result.ts create mode 100644 ui/src/app/account/password/password-reset-finish.component.html create mode 100644 ui/src/app/account/password/password-reset-finish.component.scss create mode 100644 ui/src/app/account/password/password-reset-finish.component.spec.ts create mode 100644 ui/src/app/account/password/password-reset-finish.component.ts diff --git a/ui/src/app/account/account.module.ts b/ui/src/app/account/account.module.ts index e4ee6c1e4..af6d657e2 100644 --- a/ui/src/app/account/account.module.ts +++ b/ui/src/app/account/account.module.ts @@ -8,7 +8,8 @@ import { PasswordResetInitComponent } from './password/password-reset-init.compo import { SettingsComponent } from './settings/settings.component' import { SharedModule } from '../shared/shared.module' import { PasswordComponent } from './password/password.component' -import { PasswordStrengthComponent } from './password/password-strength.component' +import { PasswordStrengthComponent } from './password/password-strength.component'; +import { PasswordResetFinishComponent } from './password/password-reset-finish.component' @NgModule({ declarations: [ @@ -17,6 +18,7 @@ import { PasswordStrengthComponent } from './password/password-strength.componen SettingsComponent, PasswordComponent, PasswordStrengthComponent, + PasswordResetFinishComponent, ], imports: [SharedModule, CommonModule, ReactiveFormsModule, RouterModule.forChild(routes)], }) diff --git a/ui/src/app/account/model/key-validation-result.ts b/ui/src/app/account/model/key-validation-result.ts new file mode 100644 index 000000000..cae7d3713 --- /dev/null +++ b/ui/src/app/account/model/key-validation-result.ts @@ -0,0 +1,14 @@ +export interface IKeyValidationResult { + expiredKey: boolean + invalidKey: boolean +} + +export class KeyValidationResult implements IKeyValidationResult { + expiredKey: boolean + invalidKey: boolean + + constructor(expiredKey: boolean, invalidKey: boolean) { + this.expiredKey = expiredKey + this.invalidKey = invalidKey + } +} diff --git a/ui/src/app/account/model/resend-activation-email-result.ts b/ui/src/app/account/model/resend-activation-email-result.ts new file mode 100644 index 000000000..643e15c25 --- /dev/null +++ b/ui/src/app/account/model/resend-activation-email-result.ts @@ -0,0 +1,11 @@ +export interface IResendActivationEmailResult { + resent: boolean +} + +export class ResendActivationEmailResult implements IResendActivationEmailResult { + resent: boolean + + constructor(resent: boolean) { + this.resent = resent + } +} diff --git a/ui/src/app/account/password/password-reset-finish.component.html b/ui/src/app/account/password/password-reset-finish.component.html new file mode 100644 index 000000000..0a6ed679d --- /dev/null +++ b/ui/src/app/account/password/password-reset-finish.component.html @@ -0,0 +1,96 @@ +
+
+
+

Reset password

+ +
+ The activation key is missing. +
+ +
+ This activation key is invalid. +
+ +
+ This activation has expired. +
+
+

+ ORCID Member Portal activation links are only valid for 24 hours. It looks like this link has expired. +

+

+ To make sure you can activate your Member Portal account we have sent a new activation link to your registered email address. +

+

+ If you are still having problems activating your account or have not received your new activation link please contact our support team please contact us at membership@orcid.org. +

+
+ +
+

Choose a new password

+
+ +
+

Your password couldn't be reset. Remember a password request is only valid for 24 hours.

+
+ +

+ Your password has been reset. Please + sign in. +

+ +
+ The password and its confirmation do not match! +
+ +
+
+
+ + +
+ + Your password is required. + + + Your password is required to be at least 4 characters. + + + Your password cannot be longer than 50 characters. + +
+ +
+ +
+ + +
+ + Your password confirmation is required. + + + Your password confirmation is required to be at least 4 characters. + + + Your password confirmation cannot be longer than 50 characters. + +
+
+ +
+
+ +
+
+
diff --git a/ui/src/app/account/password/password-reset-finish.component.scss b/ui/src/app/account/password/password-reset-finish.component.scss new file mode 100644 index 000000000..e69de29bb diff --git a/ui/src/app/account/password/password-reset-finish.component.spec.ts b/ui/src/app/account/password/password-reset-finish.component.spec.ts new file mode 100644 index 000000000..7b8bbd274 --- /dev/null +++ b/ui/src/app/account/password/password-reset-finish.component.spec.ts @@ -0,0 +1,21 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { PasswordResetFinishComponent } from './password-reset-finish.component'; + +describe('PasswordResetFinishComponent', () => { + let component: PasswordResetFinishComponent; + let fixture: ComponentFixture; + + beforeEach(() => { + TestBed.configureTestingModule({ + declarations: [PasswordResetFinishComponent] + }); + fixture = TestBed.createComponent(PasswordResetFinishComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/ui/src/app/account/password/password-reset-finish.component.ts b/ui/src/app/account/password/password-reset-finish.component.ts new file mode 100644 index 000000000..0d0608c65 --- /dev/null +++ b/ui/src/app/account/password/password-reset-finish.component.ts @@ -0,0 +1,85 @@ +import { PasswordService } from '../service/password.service' +import { Component, OnInit, AfterViewInit, Renderer2, ElementRef } from '@angular/core' +import { FormBuilder, FormGroup, Validators } from '@angular/forms' +import { ActivatedRoute, Router } from '@angular/router' + +import { NgbModalRef } from '@ng-bootstrap/ng-bootstrap' + +@Component({ + selector: 'app-password-reset-finish', + templateUrl: './password-reset-finish.component.html', + styleUrls: ['./password-reset-finish.component.scss'], +}) +export class PasswordResetFinishComponent implements OnInit, AfterViewInit { + doNotMatch: string + error: string + keyMissing: boolean + success: string + modalRef: NgbModalRef + key: string + invalidKey: boolean + expiredKey: boolean + activationEmailResent: boolean + showPasswordForm: boolean + + passwordForm = this.fb.group({ + newPassword: ['', [Validators.required, Validators.minLength(4), Validators.maxLength(50)]], + confirmPassword: ['', [Validators.required, Validators.minLength(4), Validators.maxLength(50)]], + }) + + constructor( + private passwordService: PasswordService, + private route: ActivatedRoute, + private elementRef: ElementRef, + private renderer: Renderer2, + private fb: FormBuilder, + private router: Router + ) {} + + ngOnInit() { + this.route.queryParams.subscribe((params) => { + this.key = params['key'] + }) + this.keyMissing = !this.key + this.passwordService.validateKey({ key: this.key }).subscribe((res) => { + this.expiredKey = res.expiredKey + this.invalidKey = res.invalidKey + this.showPasswordForm = !this.invalidKey && !this.expiredKey + if (this.expiredKey) { + this.passwordService.resendActivationEmail({ key: this.key }).subscribe((result) => { + this.activationEmailResent = result.resent + }) + } + }) + } + + ngAfterViewInit() { + if (this.elementRef.nativeElement.querySelector('#password') != null) { + this.renderer.selectRootElement('#password').scrollIntoView() + } + } + + finishReset() { + this.doNotMatch = null + this.error = null + const password = this.passwordForm.get(['newPassword']).value + const confirmPassword = this.passwordForm.get(['confirmPassword']).value + if (password !== confirmPassword) { + this.doNotMatch = 'ERROR' + } else { + this.passwordResetFinishService.save({ key: this.key, newPassword: password }).subscribe( + () => { + this.success = 'OK' + }, + () => { + this.success = null + this.error = 'ERROR' + } + ) + } + } + + login() { + this.router.navigate(['/login']) + } +} diff --git a/ui/src/app/account/service/password.service.ts b/ui/src/app/account/service/password.service.ts index 6c7b8fbb6..428f1f935 100644 --- a/ui/src/app/account/service/password.service.ts +++ b/ui/src/app/account/service/password.service.ts @@ -3,6 +3,8 @@ import { HttpClient, HttpResponse } from '@angular/common/http' import { Observable, map, catchError, of } from 'rxjs' import { PasswordResetInitResult } from '../model/password-reset-init-result.model' import { EMAIL_NOT_FOUND_TYPE } from 'src/app/app.constants' +import { KeyValidationResult } from '../model/key-validation-result' +import { ResendActivationEmailResult } from '../model/resend-activation-email-result' @Injectable({ providedIn: 'root' }) export class PasswordService { @@ -10,7 +12,7 @@ export class PasswordService { initPasswordReset(mail: string): Observable { return this.http.post('/services/userservice/api/account/reset-password/init', mail, { observe: 'response' }).pipe( - map((res: HttpResponse) => this.getResult(res)), + map((res: HttpResponse) => this.getPasswordResetResult(res)), catchError((err) => { return of(null) }) @@ -24,7 +26,22 @@ export class PasswordService { }) } - getResult(res: HttpResponse): PasswordResetInitResult { + save(keyAndPassword: any): Observable { + return this.http.post('/services/userservice/api/account/reset-password/finish', keyAndPassword) + } + + validateKey(key: any): Observable { + return this.http.post('/services/userservice/api/account/reset-password/validate', key) + } + + resendActivationEmail(key: any): Observable { + return this.http.post( + '/services/userservice/api/users/' + key.key + '/resendActivation', + {} + ) + } + + getPasswordResetResult(res: HttpResponse): PasswordResetInitResult { if (res.status == 200) { return new PasswordResetInitResult(true, false, false) } From 869e926d7e5da921916aa56d27cf83a01a1e9e56 Mon Sep 17 00:00:00 2001 From: George Nash Date: Wed, 10 Jan 2024 17:01:34 +0000 Subject: [PATCH 02/19] renamed save method for clarity --- ui/src/app/account/password/password-reset-finish.component.ts | 2 +- ui/src/app/account/service/password.service.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ui/src/app/account/password/password-reset-finish.component.ts b/ui/src/app/account/password/password-reset-finish.component.ts index 0d0608c65..bb04fc943 100644 --- a/ui/src/app/account/password/password-reset-finish.component.ts +++ b/ui/src/app/account/password/password-reset-finish.component.ts @@ -67,7 +67,7 @@ export class PasswordResetFinishComponent implements OnInit, AfterViewInit { if (password !== confirmPassword) { this.doNotMatch = 'ERROR' } else { - this.passwordResetFinishService.save({ key: this.key, newPassword: password }).subscribe( + this.passwordService.savePassword({ key: this.key, newPassword: password }).subscribe( () => { this.success = 'OK' }, diff --git a/ui/src/app/account/service/password.service.ts b/ui/src/app/account/service/password.service.ts index 428f1f935..f64f82c26 100644 --- a/ui/src/app/account/service/password.service.ts +++ b/ui/src/app/account/service/password.service.ts @@ -26,7 +26,7 @@ export class PasswordService { }) } - save(keyAndPassword: any): Observable { + savePassword(keyAndPassword: any): Observable { return this.http.post('/services/userservice/api/account/reset-password/finish', keyAndPassword) } From 48ae5c9437242194daf988594f6350e8b50c8493 Mon Sep 17 00:00:00 2001 From: andrej romanov <50377758+auumgn@users.noreply.github.com> Date: Thu, 11 Jan 2024 17:24:32 +0200 Subject: [PATCH 03/19] remove unnecessary scss files --- ui/src/app/account/password/password-reset-finish.component.scss | 0 ui/src/app/account/password/password.component.scss | 0 ui/src/app/account/password/password.component.ts | 1 - 3 files changed, 1 deletion(-) delete mode 100644 ui/src/app/account/password/password-reset-finish.component.scss delete mode 100644 ui/src/app/account/password/password.component.scss diff --git a/ui/src/app/account/password/password-reset-finish.component.scss b/ui/src/app/account/password/password-reset-finish.component.scss deleted file mode 100644 index e69de29bb..000000000 diff --git a/ui/src/app/account/password/password.component.scss b/ui/src/app/account/password/password.component.scss deleted file mode 100644 index e69de29bb..000000000 diff --git a/ui/src/app/account/password/password.component.ts b/ui/src/app/account/password/password.component.ts index 909205d8c..20690de46 100644 --- a/ui/src/app/account/password/password.component.ts +++ b/ui/src/app/account/password/password.component.ts @@ -6,7 +6,6 @@ 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 From cd22361f651a174978deb4e3453a7b36e329cee6 Mon Sep 17 00:00:00 2001 From: andrej romanov <50377758+auumgn@users.noreply.github.com> Date: Thu, 11 Jan 2024 17:24:55 +0200 Subject: [PATCH 04/19] correct margin to visually match the old app --- ui/src/app/account/password/password-strength.component.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui/src/app/account/password/password-strength.component.scss b/ui/src/app/account/password/password-strength.component.scss index 88af5f5ef..eb570f9c1 100644 --- a/ui/src/app/account/password/password-strength.component.scss +++ b/ui/src/app/account/password/password-strength.component.scss @@ -12,7 +12,7 @@ ul#strength { border-radius: 2px; display: inline-block; height: 5px; - margin-right: 1px; + margin-right: 5px; width: 20px; &:last-child { margin: 0 !important; From ad87d7477ae0dfc8c262d4c371c3c69943c5bc36 Mon Sep 17 00:00:00 2001 From: andrej romanov <50377758+auumgn@users.noreply.github.com> Date: Thu, 11 Jan 2024 17:25:34 +0200 Subject: [PATCH 05/19] make compatible with new app --- .../password-reset-finish.component.html | 231 +++++++++++------- .../password-reset-finish.component.ts | 39 ++- 2 files changed, 165 insertions(+), 105 deletions(-) diff --git a/ui/src/app/account/password/password-reset-finish.component.html b/ui/src/app/account/password/password-reset-finish.component.html index 0a6ed679d..7f7494bf2 100644 --- a/ui/src/app/account/password/password-reset-finish.component.html +++ b/ui/src/app/account/password/password-reset-finish.component.html @@ -1,96 +1,159 @@
-
-
-

Reset password

+
+
+

Reset password

-
- The activation key is missing. -
- -
- This activation key is invalid. -
- -
- This activation has expired. -
-
-

- ORCID Member Portal activation links are only valid for 24 hours. It looks like this link has expired. -

-

- To make sure you can activate your Member Portal account we have sent a new activation link to your registered email address. -

-

- If you are still having problems activating your account or have not received your new activation link please contact our support team please contact us at membership@orcid.org. -

-
+
+ The activation key is missing. +
-
-

Choose a new password

-
+
+ This activation key is invalid. +
-
-

Your password couldn't be reset. Remember a password request is only valid for 24 hours.

-
+
+ This activation has expired. +
+
+

+ ORCID Member Portal activation links are only valid for 24 hours. It looks like this link has + expired. +

+

+ To make sure you can activate your Member Portal account we have sent a new activation link to your + registered email address. +

+

+ If you are still having problems activating your account or have not received your new activation link + please contact our support team please contact us at membership@orcid.org. +

+
-

- Your password has been reset. Please - sign in. -

+
+

Choose a new password

+
-
- The password and its confirmation do not match! -
+
+

+ Your password couldn't be reset. Remember a password request is only valid for 24 hours. +

+
-
-
-
- - -
- - Your password is required. - - - Your password is required to be at least 4 characters. - - - Your password cannot be longer than 50 characters. - -
- -
+

+ Your password has been reset. Please + + sign in. +

-
- - -
- - Your password confirmation is required. - - - Your password confirmation is required to be at least 4 characters. - - - Your password confirmation cannot be longer than 50 characters. - -
-
- -
+
+ The password and its confirmation do not match! +
+ +
+
+
+ + +
+ + Your password is required. + + + Your password is required to be at least 4 characters. + + + Your password cannot be longer than 50 characters. +
+ +
-
+
+ + +
+ + Your password confirmation is required. + + + Your password confirmation is required to be at least 4 characters. + + + Your password confirmation cannot be longer than 50 characters. + +
+
+ + +
+
diff --git a/ui/src/app/account/password/password-reset-finish.component.ts b/ui/src/app/account/password/password-reset-finish.component.ts index bb04fc943..e5f4f473f 100644 --- a/ui/src/app/account/password/password-reset-finish.component.ts +++ b/ui/src/app/account/password/password-reset-finish.component.ts @@ -3,24 +3,21 @@ import { Component, OnInit, AfterViewInit, Renderer2, ElementRef } from '@angula import { FormBuilder, FormGroup, Validators } from '@angular/forms' import { ActivatedRoute, Router } from '@angular/router' -import { NgbModalRef } from '@ng-bootstrap/ng-bootstrap' @Component({ selector: 'app-password-reset-finish', templateUrl: './password-reset-finish.component.html', - styleUrls: ['./password-reset-finish.component.scss'], }) export class PasswordResetFinishComponent implements OnInit, AfterViewInit { - doNotMatch: string - error: string - keyMissing: boolean - success: string - modalRef: NgbModalRef - key: string - invalidKey: boolean - expiredKey: boolean - activationEmailResent: boolean - showPasswordForm: boolean + doNotMatch: string | undefined + error: string | undefined + keyMissing: boolean = false + success: string | undefined + key: string | undefined + invalidKey: boolean = false + expiredKey: boolean = false + activationEmailResent: boolean = false + showPasswordForm: boolean = false passwordForm = this.fb.group({ newPassword: ['', [Validators.required, Validators.minLength(4), Validators.maxLength(50)]], @@ -60,22 +57,22 @@ export class PasswordResetFinishComponent implements OnInit, AfterViewInit { } finishReset() { - this.doNotMatch = null - this.error = null - const password = this.passwordForm.get(['newPassword']).value - const confirmPassword = this.passwordForm.get(['confirmPassword']).value + this.doNotMatch = undefined + this.error = undefined + const password = this.passwordForm.get(['newPassword'])?.value + const confirmPassword = this.passwordForm.get(['confirmPassword'])?.value if (password !== confirmPassword) { this.doNotMatch = 'ERROR' } else { - this.passwordService.savePassword({ key: this.key, newPassword: password }).subscribe( - () => { + this.passwordService.savePassword({ key: this.key, newPassword: password }).subscribe({ + next: () => { this.success = 'OK' }, - () => { - this.success = null + error: () => { + this.success = undefined this.error = 'ERROR' } - ) + }) } } From e25bd0014e2194247a8108f4d29cddb26806424a Mon Sep 17 00:00:00 2001 From: andrej romanov <50377758+auumgn@users.noreply.github.com> Date: Fri, 12 Jan 2024 15:27:43 +0200 Subject: [PATCH 06/19] add password finish route --- ui/src/app/account/account.route.ts | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/ui/src/app/account/account.route.ts b/ui/src/app/account/account.route.ts index dac2ef290..517f89720 100644 --- a/ui/src/app/account/account.route.ts +++ b/ui/src/app/account/account.route.ts @@ -4,6 +4,7 @@ import { PasswordResetInitComponent } from './password/password-reset-init.compo import { SettingsComponent } from './settings/settings.component' import { AuthGuard } from './auth.guard' import { PasswordComponent } from './password/password.component' +import { PasswordResetFinishComponent } from './password/password-reset-finish.component' export const routes: Routes = [ { @@ -18,6 +19,14 @@ export const routes: Routes = [ pageTitle: 'global.menu.account.password.string', }, }, + { + path: 'reset/finish', + component: PasswordResetFinishComponent, + data: { + authorities: [], + pageTitle: 'global.menu.account.password.string' + } + }, { path: 'settings', component: SettingsComponent, From 92675cffd3621aff1bb421588e8dcf3475cc9c86 Mon Sep 17 00:00:00 2001 From: andrej romanov <50377758+auumgn@users.noreply.github.com> Date: Fri, 12 Jan 2024 15:27:53 +0200 Subject: [PATCH 07/19] fix placeholder --- .../app/account/password/password-reset-finish.component.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui/src/app/account/password/password-reset-finish.component.html b/ui/src/app/account/password/password-reset-finish.component.html index 7f7494bf2..f91fb9a8a 100644 --- a/ui/src/app/account/password/password-reset-finish.component.html +++ b/ui/src/app/account/password/password-reset-finish.component.html @@ -111,7 +111,7 @@

Reset password

class="form-control" id="confirmPassword" name="confirmPassword" - placehlder="Confirm the new password" + placeholder="Confirm the new password" i18n-placeholder="@@global.form.confirmpassword.placeholder.string" formControlName="confirmPassword" /> From c9be6420b6c0a2d8e18f6d0e1305286b9103c3cd Mon Sep 17 00:00:00 2001 From: andrej romanov <50377758+auumgn@users.noreply.github.com> Date: Fri, 12 Jan 2024 15:28:29 +0200 Subject: [PATCH 08/19] replace jhitranslate with angular i18n --- .../password/password-strength.component.html | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/ui/src/app/account/password/password-strength.component.html b/ui/src/app/account/password/password-strength.component.html index 00bbbd0c5..c08e0e8dd 100644 --- a/ui/src/app/account/password/password-strength.component.html +++ b/ui/src/app/account/password/password-strength.component.html @@ -1,10 +1,10 @@
- Password strength: -
    -
  • -
  • -
  • -
  • -
  • -
-
\ No newline at end of file + Password strength: +
    +
  • +
  • +
  • +
  • +
  • +
+
From a0de0b5882dd46a898541a94183e5c1d1410ae77 Mon Sep 17 00:00:00 2001 From: andrej romanov <50377758+auumgn@users.noreply.github.com> Date: Fri, 12 Jan 2024 16:51:31 +0200 Subject: [PATCH 09/19] fix test and lint --- .../password/password-reset-finish.component.html | 9 ++++++++- .../password/password-reset-finish.component.spec.ts | 2 ++ .../password/password-reset-finish.component.ts | 10 +++++----- 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/ui/src/app/account/password/password-reset-finish.component.html b/ui/src/app/account/password/password-reset-finish.component.html index f91fb9a8a..86e29d069 100644 --- a/ui/src/app/account/password/password-reset-finish.component.html +++ b/ui/src/app/account/password/password-reset-finish.component.html @@ -49,7 +49,14 @@

Reset password

Your password has been reset. Please - sign in. + sign in.

diff --git a/ui/src/app/account/password/password-reset-finish.component.spec.ts b/ui/src/app/account/password/password-reset-finish.component.spec.ts index 7b8bbd274..c6bdfb4d6 100644 --- a/ui/src/app/account/password/password-reset-finish.component.spec.ts +++ b/ui/src/app/account/password/password-reset-finish.component.spec.ts @@ -1,6 +1,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { PasswordResetFinishComponent } from './password-reset-finish.component'; +import { AppModule } from 'src/app/app.module'; describe('PasswordResetFinishComponent', () => { let component: PasswordResetFinishComponent; @@ -8,6 +9,7 @@ describe('PasswordResetFinishComponent', () => { beforeEach(() => { TestBed.configureTestingModule({ + imports: [AppModule], declarations: [PasswordResetFinishComponent] }); fixture = TestBed.createComponent(PasswordResetFinishComponent); diff --git a/ui/src/app/account/password/password-reset-finish.component.ts b/ui/src/app/account/password/password-reset-finish.component.ts index e5f4f473f..4133841e5 100644 --- a/ui/src/app/account/password/password-reset-finish.component.ts +++ b/ui/src/app/account/password/password-reset-finish.component.ts @@ -11,13 +11,13 @@ import { ActivatedRoute, Router } from '@angular/router' export class PasswordResetFinishComponent implements OnInit, AfterViewInit { doNotMatch: string | undefined error: string | undefined - keyMissing: boolean = false success: string | undefined key: string | undefined - invalidKey: boolean = false - expiredKey: boolean = false - activationEmailResent: boolean = false - showPasswordForm: boolean = false + invalidKey = false + keyMissing = false + expiredKey = false + activationEmailResent = false + showPasswordForm = false passwordForm = this.fb.group({ newPassword: ['', [Validators.required, Validators.minLength(4), Validators.maxLength(50)]], From 2b457d422f7b5213a4f74cc762ebced87dce853b Mon Sep 17 00:00:00 2001 From: andrej romanov <50377758+auumgn@users.noreply.github.com> Date: Fri, 12 Jan 2024 16:52:59 +0200 Subject: [PATCH 10/19] add new translations from old app --- ui/src/i18n/messages.cs.xlf | 261 ++++++++++++++++++++++++------ ui/src/i18n/messages.es.xlf | 261 ++++++++++++++++++++++++------ ui/src/i18n/messages.fr.xlf | 267 +++++++++++++++++++++++++------ ui/src/i18n/messages.it.xlf | 281 +++++++++++++++++++++++++++------ ui/src/i18n/messages.ja.xlf | 262 ++++++++++++++++++++++++------ ui/src/i18n/messages.ko.xlf | 261 ++++++++++++++++++++++++------ ui/src/i18n/messages.pt.xlf | 262 ++++++++++++++++++++++++------ ui/src/i18n/messages.ru.xlf | 261 ++++++++++++++++++++++++------ ui/src/i18n/messages.xlf | 167 +++++++++++++++++++- ui/src/i18n/messages.zh-CN.xlf | 261 ++++++++++++++++++++++++------ ui/src/i18n/messages.zh-TW.xlf | 261 ++++++++++++++++++++++++------ 11 files changed, 2343 insertions(+), 462 deletions(-) diff --git a/ui/src/i18n/messages.cs.xlf b/ui/src/i18n/messages.cs.xlf index 890172bcd..bf73aff7c 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 @@ -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 @@ -603,16 +603,16 @@ - 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 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 172 @@ -643,8 +643,8 @@ - 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 203 @@ -867,25 +867,24 @@ - Password for (You) - Password for (You) - Password label with username param + Password for (You) + Heslo pro {{username}} (vy)undefined src/app/account/password/password.component.ts - 16 + 33 - Password changed! - Password changed! + Password changed! + Heslo změněno! 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. + An error has occurred! The password could not be changed. + Došlo k chybě! Heslo nelze změnit. src/app/account/password/password.component.html 10 @@ -893,7 +892,11 @@ The password and its confirmation do not match! - The password and its confirmation do not match! + Heslo a jeho potvrzení nesouhlasí + + src/app/account/password/password-reset-finish.component.html + 55 + src/app/account/password/password.component.html 13 @@ -901,7 +904,7 @@ Current password - Current password + Stávající heslo src/app/account/password/password.component.html 20 @@ -917,7 +920,11 @@ Your password is required. - Your password is required. + Je potřeba vaše heslo + + src/app/account/password/password-reset-finish.component.html + 84 + src/app/account/password/password.component.html 26 @@ -929,7 +936,11 @@ New password - New password + Nové heslo + + src/app/account/password/password-reset-finish.component.html + 63 + src/app/account/password/password.component.html 32 @@ -937,7 +948,11 @@ New password - New password + Nové heslo + + src/app/account/password/password-reset-finish.component.html + 70 + src/app/account/password/password.component.html 34 @@ -945,7 +960,11 @@ Your password is required to be at least 4 characters. - Your password is required to be at least 4 characters. + Vaše heslo musí mít alespoň 4 znaky. + + src/app/account/password/password-reset-finish.component.html + 91 + src/app/account/password/password.component.html 43 @@ -953,7 +972,11 @@ Your password cannot be longer than 50 characters. - Your password cannot be longer than 50 characters. + Vaše heslo nesmí být delší než 50 znaků. + + src/app/account/password/password-reset-finish.component.html + 98 + src/app/account/password/password.component.html 47 @@ -961,7 +984,11 @@ New password confirmation - New password confirmation + Potvrzení nového hesla + + src/app/account/password/password-reset-finish.component.html + 107 + src/app/account/password/password.component.html 54 @@ -969,31 +996,47 @@ Confirm the new password - Confirm the new password + Potvrďte nové heslo + + src/app/account/password/password-reset-finish.component.html + 114 + src/app/account/password/password.component.html 56 - Your confirmation password is required. - Your confirmation password is required. + Your password confirmation is required. + Musíte uvést potvrzovací heslo. + + src/app/account/password/password-reset-finish.component.html + 128 + 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. + Your password confirmation is required to be at least 4 characters. + Vaše potvrzovací heslo musí mít alespoň 4 znaky. + + src/app/account/password/password-reset-finish.component.html + 135 + 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. + Your password confirmation cannot be longer than 50 characters. + Vaše potvrzovací heslo nesmí být delší než 50 znaků. + + src/app/account/password/password-reset-finish.component.html + 142 + src/app/account/password/password.component.html 69 @@ -1001,7 +1044,7 @@ Save - Save + Uložit src/app/account/password/password.component.html 74 @@ -1011,10 +1054,138 @@ Sorry, an error has occurred Sorry, an error has occurred - src/app/shared/error/error-alert.component.html + src/app/error/error-alert.component.html 5 + + Reset password + Znovu nastavit heslo + + src/app/account/password/password-reset-finish.component.html + 4 + + + + The activation key is missing. + Chybí aktivační klíč. + + src/app/account/password/password-reset-finish.component.html + 7 + + + + This activation key is invalid. + Aktivační klíč je neplatný. + + src/app/account/password/password-reset-finish.component.html + 11 + + + + This activation has expired. + Vypršela platnost aktivačního klíče. + + src/app/account/password/password-reset-finish.component.html + 15 + + + + ORCID Member Portal activation links are only valid for 24 hours. It looks like this link has expired. + ORCID Member Portal activation links are only valid for 24 hours. It looks like this link has expired. + + src/app/account/password/password-reset-finish.component.html + 20 + + + + To make sure you can activate your Member Portal account we have sent a new activation link to your registered email address. + To make sure you can activate your Member Portal account we have sent a new activation link to your registered email address. + + src/app/account/password/password-reset-finish.component.html + 26 + + + + If you are still having problems activating your account or have not received your new activation link please contact our support team please contact us at membership@orcid.org. + If you are still having problems activating your account or have not received your new activation link, please contact us at membership@orcid.org. + + src/app/account/password/password-reset-finish.component.html + 32 + + + + Choose a new password + Vyberte nové heslo + + src/app/account/password/password-reset-finish.component.html + 39 + + + + Your password couldn't be reset. Remember a password request is only valid for 24 hours. + Heslo nelze znovu nastavit. Nezapomeňte, že žádost o heslo platí pouze 24 hodin. + + src/app/account/password/password-reset-finish.component.html + 43 + + + + Your password has been reset. Please + Vaše heslo bylo obnoveno. Prosím + + src/app/account/password/password-reset-finish.component.html + 50 + + + + sign in + přihlásit se + + src/app/account/password/password-reset-finish.component.html + 52 + + + + Reset Password + Ověřte nové heslo + + src/app/account/password/password-reset-finish.component.html + 152 + + + + Your request cannot be processed + Vaši žádost nelze zpracovat + + src/app/error/error.component.html + 4 + + + + You are not authorized to access this page. + Pro přístup na tuto stránku nemáte dostatečná oprávnění. + + src/app/error/error.component.html + 9 + + + + The page does not exist. + Stránka neexistuje. + + src/app/error/error.component.html + 12 + + + + Password strength: + Síla hesla: + + src/app/account/password/password-strength.component.html + 2 + + \ No newline at end of file diff --git a/ui/src/i18n/messages.es.xlf b/ui/src/i18n/messages.es.xlf index 2415625e3..d27e72990 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 @@ -383,8 +383,8 @@ - Settings saved! - ¡Ajustes guardados! + Settings saved! + ¡Ajustes guardados! src/app/account/settings/settings.component.html 8 @@ -507,16 +507,16 @@ - 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 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 172 @@ -547,8 +547,8 @@ - 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 203 @@ -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 @@ -867,25 +867,24 @@ - Password for (You) - Password for (You) - Password label with username param + Password for (You) + Contraseña de {{username}} (usted)undefined src/app/account/password/password.component.ts - 16 + 33 - Password changed! - Password changed! + Password changed! + ¡Se ha cambiado la contraseña! 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. + An error has occurred! The password could not be changed. + ¡Ha ocurrido un error! No se ha podido cambiar la contraseña. src/app/account/password/password.component.html 10 @@ -893,7 +892,11 @@ The password and its confirmation do not match! - The password and its confirmation do not match! + La contraseña y su confirmación no coinciden + + src/app/account/password/password-reset-finish.component.html + 55 + src/app/account/password/password.component.html 13 @@ -901,7 +904,7 @@ Current password - Current password + Contraseña actual src/app/account/password/password.component.html 20 @@ -917,7 +920,11 @@ Your password is required. - Your password is required. + Tu contraseña es necesaria. + + src/app/account/password/password-reset-finish.component.html + 84 + src/app/account/password/password.component.html 26 @@ -929,7 +936,11 @@ New password - New password + Nueva contraseña + + src/app/account/password/password-reset-finish.component.html + 63 + src/app/account/password/password.component.html 32 @@ -937,7 +948,11 @@ New password - New password + Nueva contraseña + + src/app/account/password/password-reset-finish.component.html + 70 + src/app/account/password/password.component.html 34 @@ -945,7 +960,11 @@ Your password is required to be at least 4 characters. - Your password is required to be at least 4 characters. + Su contraseña debe tener al menos 4 caracteres. + + src/app/account/password/password-reset-finish.component.html + 91 + src/app/account/password/password.component.html 43 @@ -953,7 +972,11 @@ Your password cannot be longer than 50 characters. - Your password cannot be longer than 50 characters. + Su contraseña no puede tener más de 50 caracteres. + + src/app/account/password/password-reset-finish.component.html + 98 + src/app/account/password/password.component.html 47 @@ -961,7 +984,11 @@ New password confirmation - New password confirmation + Confirmación de la nueva contraseña + + src/app/account/password/password-reset-finish.component.html + 107 + src/app/account/password/password.component.html 54 @@ -969,31 +996,47 @@ Confirm the new password - Confirm the new password + Confirme la nueva contraseña + + src/app/account/password/password-reset-finish.component.html + 114 + src/app/account/password/password.component.html 56 - Your confirmation password is required. - Your confirmation password is required. + Your password confirmation is required. + Se requiere su contraseña de confirmación. + + src/app/account/password/password-reset-finish.component.html + 128 + 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. + Your password confirmation is required to be at least 4 characters. + La contraseña de confirmación tiene que contener al menos 4 caracteres. + + src/app/account/password/password-reset-finish.component.html + 135 + 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. + Your password confirmation cannot be longer than 50 characters. + Su contraseña de confirmación no puede tener más de 50 caracteres. + + src/app/account/password/password-reset-finish.component.html + 142 + src/app/account/password/password.component.html 69 @@ -1001,7 +1044,7 @@ Save - Save + Guardar src/app/account/password/password.component.html 74 @@ -1011,10 +1054,138 @@ Sorry, an error has occurred Sorry, an error has occurred - src/app/shared/error/error-alert.component.html + src/app/error/error-alert.component.html 5 + + Reset password + Restablecer la contraseña + + src/app/account/password/password-reset-finish.component.html + 4 + + + + The activation key is missing. + Falta la clave de activación. + + src/app/account/password/password-reset-finish.component.html + 7 + + + + This activation key is invalid. + La clave de activación no es válida. + + src/app/account/password/password-reset-finish.component.html + 11 + + + + This activation has expired. + La clave de activación ha caducado. + + src/app/account/password/password-reset-finish.component.html + 15 + + + + ORCID Member Portal activation links are only valid for 24 hours. It looks like this link has expired. + ORCID Member Portal activation links are only valid for 24 hours. It looks like this link has expired. + + src/app/account/password/password-reset-finish.component.html + 20 + + + + To make sure you can activate your Member Portal account we have sent a new activation link to your registered email address. + To make sure you can activate your Member Portal account we have sent a new activation link to your registered email address. + + src/app/account/password/password-reset-finish.component.html + 26 + + + + If you are still having problems activating your account or have not received your new activation link please contact our support team please contact us at membership@orcid.org. + If you are still having problems activating your account or have not received your new activation link, please contact us at membership@orcid.org. + + src/app/account/password/password-reset-finish.component.html + 32 + + + + Choose a new password + Elija una nueva contraseña + + src/app/account/password/password-reset-finish.component.html + 39 + + + + Your password couldn't be reset. Remember a password request is only valid for 24 hours. + No se ha podido restablecer tu contraseña. Recuerde que una solicitud de contraseña solo es válida por 24 horas. + + src/app/account/password/password-reset-finish.component.html + 43 + + + + Your password has been reset. Please + Se ha restablecido su contraseña. Por favor, + + src/app/account/password/password-reset-finish.component.html + 50 + + + + sign in + iniciar sesión + + src/app/account/password/password-reset-finish.component.html + 52 + + + + Reset Password + Validar la nueva contraseña + + src/app/account/password/password-reset-finish.component.html + 152 + + + + Your request cannot be processed + Su solicitud no puede procesarse + + src/app/error/error.component.html + 4 + + + + You are not authorized to access this page. + No tiene permisos para acceder a esta página. + + src/app/error/error.component.html + 9 + + + + The page does not exist. + La página no existe. + + src/app/error/error.component.html + 12 + + + + Password strength: + Seguridad de la contraseña: + + src/app/account/password/password-strength.component.html + 2 + + \ No newline at end of file diff --git a/ui/src/i18n/messages.fr.xlf b/ui/src/i18n/messages.fr.xlf index 3d59c6bcf..d14dfd8fa 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 @@ -360,7 +360,8 @@ MFA code - Code MFA + Code MFA + src/app/account/login/login.component.html 40 @@ -391,8 +392,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 @@ -463,8 +464,8 @@ - Settings saved! - Réglages enregistrés ! + Settings saved! + Réglages enregistrés ! src/app/account/settings/settings.component.html 8 @@ -596,23 +597,24 @@ 2FA settings updated - Mise à jour des paramètres A2F + Mise à jour des paramètres A2F + src/app/account/settings/settings.component.html 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 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 172 @@ -643,8 +645,8 @@ - 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 203 @@ -867,25 +869,24 @@ - Password for (You) - Password for (You) - Password label with username param + Password for (You) + Mot de passe pour {{username}} (vous)undefined src/app/account/password/password.component.ts - 16 + 33 - Password changed! - Password changed! + Password changed! + Mot de passe modifié ! 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. + An error has occurred! The password could not be changed. + Une erreur s'est produite ! Le mot de passe n'a pas pu être modifié. src/app/account/password/password.component.html 10 @@ -893,7 +894,11 @@ The password and its confirmation do not match! - The password and its confirmation do not match! + Le mot de passe et sa confirmation ne correspondent pas ! + + src/app/account/password/password-reset-finish.component.html + 55 + src/app/account/password/password.component.html 13 @@ -901,7 +906,7 @@ Current password - Current password + Mot de passe actuel src/app/account/password/password.component.html 20 @@ -917,7 +922,11 @@ Your password is required. - Your password is required. + Votre mot de passe est requis. + + src/app/account/password/password-reset-finish.component.html + 84 + src/app/account/password/password.component.html 26 @@ -929,7 +938,11 @@ New password - New password + Nouveau mot de passe + + src/app/account/password/password-reset-finish.component.html + 63 + src/app/account/password/password.component.html 32 @@ -937,7 +950,11 @@ New password - New password + Nouveau mot de passe + + src/app/account/password/password-reset-finish.component.html + 70 + src/app/account/password/password.component.html 34 @@ -945,7 +962,11 @@ Your password is required to be at least 4 characters. - Your password is required to be at least 4 characters. + Votre mot de passe doit contenir au moins 4 caractères. + + src/app/account/password/password-reset-finish.component.html + 91 + src/app/account/password/password.component.html 43 @@ -953,7 +974,11 @@ Your password cannot be longer than 50 characters. - Your password cannot be longer than 50 characters. + Votre mot de passe ne doit pas compter plus de 50 caractères. + + src/app/account/password/password-reset-finish.component.html + 98 + src/app/account/password/password.component.html 47 @@ -961,7 +986,11 @@ New password confirmation - New password confirmation + Confirmation du nouveau mot de passe + + src/app/account/password/password-reset-finish.component.html + 107 + src/app/account/password/password.component.html 54 @@ -969,31 +998,47 @@ Confirm the new password - Confirm the new password + Confirmer le nouveau mot de passe + + src/app/account/password/password-reset-finish.component.html + 114 + src/app/account/password/password.component.html 56 - Your confirmation password is required. - Your confirmation password is required. + Your password confirmation is required. + Votre mot de passe de confirmation est obligatoire. + + src/app/account/password/password-reset-finish.component.html + 128 + 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. + Your password confirmation is required to be at least 4 characters. + Votre confirmation de mot de passe doit compter au moins quatre caractères. + + src/app/account/password/password-reset-finish.component.html + 135 + 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. + Your password confirmation cannot be longer than 50 characters. + Votre mot de passe de confirmation ne peut pas comporter plus de 50 caractères. + + src/app/account/password/password-reset-finish.component.html + 142 + src/app/account/password/password.component.html 69 @@ -1001,7 +1046,7 @@ Save - Save + Enregistrer src/app/account/password/password.component.html 74 @@ -1011,10 +1056,138 @@ Sorry, an error has occurred Sorry, an error has occurred - src/app/shared/error/error-alert.component.html + src/app/error/error-alert.component.html 5 + + Reset password + Réinitialiser le mot de passe + + src/app/account/password/password-reset-finish.component.html + 4 + + + + The activation key is missing. + La clé d'activation est manquante. + + src/app/account/password/password-reset-finish.component.html + 7 + + + + This activation key is invalid. + La clé d'activation est invalide. + + src/app/account/password/password-reset-finish.component.html + 11 + + + + This activation has expired. + La clé d'activation est expirée. + + src/app/account/password/password-reset-finish.component.html + 15 + + + + ORCID Member Portal activation links are only valid for 24 hours. It looks like this link has expired. + ORCID Member Portal activation links are only valid for 24 hours. It looks like this link has expired. + + src/app/account/password/password-reset-finish.component.html + 20 + + + + To make sure you can activate your Member Portal account we have sent a new activation link to your registered email address. + To make sure you can activate your Member Portal account we have sent a new activation link to your registered email address. + + src/app/account/password/password-reset-finish.component.html + 26 + + + + If you are still having problems activating your account or have not received your new activation link please contact our support team please contact us at membership@orcid.org. + If you are still having problems activating your account or have not received your new activation link, please contact us at membership@orcid.org. + + src/app/account/password/password-reset-finish.component.html + 32 + + + + Choose a new password + Choisissez un nouveau mot de passe + + src/app/account/password/password-reset-finish.component.html + 39 + + + + Your password couldn't be reset. Remember a password request is only valid for 24 hours. + Votre mot de passe n'a pas pu être réinitialisé. N'oubliez pas qu'une demande de réinitialisation de mot de passe n'est valide que pendant 24 heures. + + src/app/account/password/password-reset-finish.component.html + 43 + + + + Your password has been reset. Please + Votre mot de passe a été réinitialisé. Veuillez + + src/app/account/password/password-reset-finish.component.html + 50 + + + + sign in + s'identifier + + src/app/account/password/password-reset-finish.component.html + 52 + + + + Reset Password + Validez le nouveau mot de passe + + src/app/account/password/password-reset-finish.component.html + 152 + + + + Your request cannot be processed + Votre demande ne peut pas être traitée. + + src/app/error/error.component.html + 4 + + + + You are not authorized to access this page. + Vous n'êtes pas autorisé à accéder à cette page. + + src/app/error/error.component.html + 9 + + + + The page does not exist. + La page n'existe pas. + + src/app/error/error.component.html + 12 + + + + Password strength: + Robustesse du mot de passe : + + src/app/account/password/password-strength.component.html + 2 + + \ No newline at end of file diff --git a/ui/src/i18n/messages.it.xlf b/ui/src/i18n/messages.it.xlf index c56df8a2c..2c10f7276 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 @@ -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,7 +400,8 @@ 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 @@ -463,8 +464,8 @@ - Settings saved! - Impostazioni salvate! + Settings saved! + Impostazioni salvate! src/app/account/settings/settings.component.html 8 @@ -504,7 +505,8 @@ 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 56 @@ -528,7 +530,8 @@ Your last name is required. - Il tuo cognome è obbligatorio. + Il tuo cognome è obbligatorio. + src/app/account/settings/settings.component.html 84 @@ -603,16 +606,16 @@ - 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 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 172 @@ -643,8 +646,8 @@ - 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 203 @@ -708,7 +711,8 @@ Integration report - Rapporto di integrazione + Rapporto di integrazione + src/app/layout/navbar/navbar.component.html 92 @@ -867,25 +871,24 @@ - Password for (You) - Password for (You) - Password label with username param + Password for (You) + Password per {{username}} (tu)undefined src/app/account/password/password.component.ts - 16 + 33 - Password changed! - Password changed! + Password changed! + Password modificata! 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. + An error has occurred! The password could not be changed. + Si è verificato un errore! Non è stato possibile modificare la password. src/app/account/password/password.component.html 10 @@ -893,7 +896,11 @@ The password and its confirmation do not match! - The password and its confirmation do not match! + La password e la sua conferma non combaciano! + + src/app/account/password/password-reset-finish.component.html + 55 + src/app/account/password/password.component.html 13 @@ -901,7 +908,8 @@ Current password - Current password + Password attuale + src/app/account/password/password.component.html 20 @@ -917,7 +925,11 @@ Your password is required. - Your password is required. + La tua password è obbligatoria. + + src/app/account/password/password-reset-finish.component.html + 84 + src/app/account/password/password.component.html 26 @@ -929,7 +941,11 @@ New password - New password + Nuova password + + src/app/account/password/password-reset-finish.component.html + 63 + src/app/account/password/password.component.html 32 @@ -937,7 +953,11 @@ New password - New password + Nuova password + + src/app/account/password/password-reset-finish.component.html + 70 + src/app/account/password/password.component.html 34 @@ -945,7 +965,12 @@ Your password is required to be at least 4 characters. - Your password is required to be at least 4 characters. + La tua password deve contenere almeno 4 caratteri. + + + src/app/account/password/password-reset-finish.component.html + 91 + src/app/account/password/password.component.html 43 @@ -953,7 +978,11 @@ Your password cannot be longer than 50 characters. - Your password cannot be longer than 50 characters. + La password non può essere più lunga di 50 caratteri. + + src/app/account/password/password-reset-finish.component.html + 98 + src/app/account/password/password.component.html 47 @@ -961,7 +990,11 @@ New password confirmation - New password confirmation + Conferma nuova password + + src/app/account/password/password-reset-finish.component.html + 107 + src/app/account/password/password.component.html 54 @@ -969,31 +1002,48 @@ Confirm the new password - Confirm the new password + Conferma la nuova password + + src/app/account/password/password-reset-finish.component.html + 114 + src/app/account/password/password.component.html 56 - Your confirmation password is required. - Your confirmation password is required. + Your password confirmation is required. + La tua password di conferma è obbligatoria. + + + src/app/account/password/password-reset-finish.component.html + 128 + 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. + Your password confirmation is required to be at least 4 characters. + La password di conferma deve contenere almeno 4 caratteri + + src/app/account/password/password-reset-finish.component.html + 135 + 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. + Your password confirmation cannot be longer than 50 characters. + La password di conferma non può contenere più di 50 caratteri. + + src/app/account/password/password-reset-finish.component.html + 142 + src/app/account/password/password.component.html 69 @@ -1001,7 +1051,8 @@ Save - Save + Salva + src/app/account/password/password.component.html 74 @@ -1011,10 +1062,142 @@ Sorry, an error has occurred Sorry, an error has occurred - src/app/shared/error/error-alert.component.html + src/app/error/error-alert.component.html 5 + + Reset password + Ripristina la password + + src/app/account/password/password-reset-finish.component.html + 4 + + + + The activation key is missing. + Manca la chiave di attivazione. + + src/app/account/password/password-reset-finish.component.html + 7 + + + + This activation key is invalid. + La chiave di attivazione non è valida. + + src/app/account/password/password-reset-finish.component.html + 11 + + + + This activation has expired. + La chiave di attivazione è scaduta. + + src/app/account/password/password-reset-finish.component.html + 15 + + + + ORCID Member Portal activation links are only valid for 24 hours. It looks like this link has expired. + ORCID Member Portal activation links are only valid for 24 hours. It looks like this link has expired. + + src/app/account/password/password-reset-finish.component.html + 20 + + + + To make sure you can activate your Member Portal account we have sent a new activation link to your registered email address. + To make sure you can activate your Member Portal account we have sent a new activation link to your registered email address. + + src/app/account/password/password-reset-finish.component.html + 26 + + + + If you are still having problems activating your account or have not received your new activation link please contact our support team please contact us at membership@orcid.org. + If you are still having problems activating your account or have not received your new activation link, please contact us at membership@orcid.org. + + src/app/account/password/password-reset-finish.component.html + 32 + + + + Choose a new password + Scegli una nuova password + + + src/app/account/password/password-reset-finish.component.html + 39 + + + + Your password couldn't be reset. Remember a password request is only valid for 24 hours. + Impossibile ripristinare la tua password. Ti ricordiamo che la richiesta della password è valida solo per 24 ore. + + src/app/account/password/password-reset-finish.component.html + 43 + + + + Your password has been reset. Please + La tua password è stata reimpostata. Per favore + + + + src/app/account/password/password-reset-finish.component.html + 50 + + + + sign in + accedi + + src/app/account/password/password-reset-finish.component.html + 52 + + + + Reset Password + Convalida la nuova password + + src/app/account/password/password-reset-finish.component.html + 152 + + + + Your request cannot be processed + Non è stato possibile elaborare la tua richiesta + + src/app/error/error.component.html + 4 + + + + You are not authorized to access this page. + Non sei autorizzato ad accedere a questa pagina. + + src/app/error/error.component.html + 9 + + + + The page does not exist. + La pagina non esiste. + + src/app/error/error.component.html + 12 + + + + Password strength: + Sicurezza della password: + + + src/app/account/password/password-strength.component.html + 2 + + \ No newline at end of file diff --git a/ui/src/i18n/messages.ja.xlf b/ui/src/i18n/messages.ja.xlf index 46440cfeb..7e7da2c5f 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 @@ -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 @@ -603,16 +603,17 @@ - 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 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 172 @@ -643,8 +644,8 @@ - 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 203 @@ -867,25 +868,24 @@ - Password for (You) - Password for (You) - Password label with username param + Password for (You) + {{username}}(あなた)のパスワードundefined src/app/account/password/password.component.ts - 16 + 33 - Password changed! - 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. + An error has occurred! The password could not be changed. + エラーが発生しました。 パスワードが変更できません。 src/app/account/password/password.component.html 10 @@ -893,7 +893,11 @@ The password and its confirmation do not match! - The password and its confirmation do not match! + パスワードとその確認が一致しません! + + src/app/account/password/password-reset-finish.component.html + 55 + src/app/account/password/password.component.html 13 @@ -901,7 +905,7 @@ Current password - Current password + 現在のパスワード src/app/account/password/password.component.html 20 @@ -917,7 +921,11 @@ Your password is required. - Your password is required. + パスワードが必要です。 + + src/app/account/password/password-reset-finish.component.html + 84 + src/app/account/password/password.component.html 26 @@ -929,7 +937,11 @@ New password - New password + 新しいパスワード + + src/app/account/password/password-reset-finish.component.html + 63 + src/app/account/password/password.component.html 32 @@ -937,7 +949,11 @@ New password - New password + 新しいパスワード + + src/app/account/password/password-reset-finish.component.html + 70 + src/app/account/password/password.component.html 34 @@ -945,7 +961,11 @@ Your password is required to be at least 4 characters. - Your password is required to be at least 4 characters. + パスワードは4文字以上である必要があります。 + + src/app/account/password/password-reset-finish.component.html + 91 + src/app/account/password/password.component.html 43 @@ -953,7 +973,11 @@ Your password cannot be longer than 50 characters. - Your password cannot be longer than 50 characters. + パスワードは 50 文字より長くすることはできません + + src/app/account/password/password-reset-finish.component.html + 98 + src/app/account/password/password.component.html 47 @@ -961,7 +985,11 @@ New password confirmation - New password confirmation + 新しいパスワードの確認 + + src/app/account/password/password-reset-finish.component.html + 107 + src/app/account/password/password.component.html 54 @@ -969,31 +997,47 @@ Confirm the new password - Confirm the new password + 新しいパスワードの確認 + + src/app/account/password/password-reset-finish.component.html + 114 + src/app/account/password/password.component.html 56 - Your confirmation password is required. - Your confirmation password is required. + Your password confirmation is required. + 確認パスワードが必要です。 + + src/app/account/password/password-reset-finish.component.html + 128 + 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. + Your password confirmation is required to be at least 4 characters. + 確認用パスワード には少なくとも 4 文字が必要です。 + + src/app/account/password/password-reset-finish.component.html + 135 + 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. + Your password confirmation cannot be longer than 50 characters. + 確認パスワードは50文字を超えることはできません。 + + src/app/account/password/password-reset-finish.component.html + 142 + src/app/account/password/password.component.html 69 @@ -1001,7 +1045,7 @@ Save - Save + 保存する src/app/account/password/password.component.html 74 @@ -1011,10 +1055,138 @@ Sorry, an error has occurred Sorry, an error has occurred - src/app/shared/error/error-alert.component.html + src/app/error/error-alert.component.html 5 + + Reset password + パスワードをリセット + + src/app/account/password/password-reset-finish.component.html + 4 + + + + The activation key is missing. + 有効化キーがありません。 + + src/app/account/password/password-reset-finish.component.html + 7 + + + + This activation key is invalid. + 有効化キーが無効です。 + + src/app/account/password/password-reset-finish.component.html + 11 + + + + This activation has expired. + アクティベーションキーの有効期限が切れています。 + + src/app/account/password/password-reset-finish.component.html + 15 + + + + ORCID Member Portal activation links are only valid for 24 hours. It looks like this link has expired. + ORCID Member Portal activation links are only valid for 24 hours. It looks like this link has expired. + + src/app/account/password/password-reset-finish.component.html + 20 + + + + To make sure you can activate your Member Portal account we have sent a new activation link to your registered email address. + To make sure you can activate your Member Portal account we have sent a new activation link to your registered email address. + + src/app/account/password/password-reset-finish.component.html + 26 + + + + If you are still having problems activating your account or have not received your new activation link please contact our support team please contact us at membership@orcid.org. + If you are still having problems activating your account or have not received your new activation link, please contact us at membership@orcid.org. + + src/app/account/password/password-reset-finish.component.html + 32 + + + + Choose a new password + 新しいパスワードを選んでください + + src/app/account/password/password-reset-finish.component.html + 39 + + + + Your password couldn't be reset. Remember a password request is only valid for 24 hours. + パスワードがリセットできませんでした。パスワードの要求は 24 時間に限り有効であることにご留意ください。 + + src/app/account/password/password-reset-finish.component.html + 43 + + + + Your password has been reset. Please + お客様のパスワードが変更されました。 行って下さい。 + + src/app/account/password/password-reset-finish.component.html + 50 + + + + sign in + サインイン + + src/app/account/password/password-reset-finish.component.html + 52 + + + + Reset Password + 新しいパスワードを有効にする + + src/app/account/password/password-reset-finish.component.html + 152 + + + + Your request cannot be processed + リクエストを処理できません + + src/app/error/error.component.html + 4 + + + + You are not authorized to access this page. + あなたはこのページにアクセスする権限がありません。 + + src/app/error/error.component.html + 9 + + + + The page does not exist. + このページは存在しません。 + + src/app/error/error.component.html + 12 + + + + Password strength: + パスワードの強度: + + src/app/account/password/password-strength.component.html + 2 + + \ No newline at end of file diff --git a/ui/src/i18n/messages.ko.xlf b/ui/src/i18n/messages.ko.xlf index 38a2e514f..a390a9cb6 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 @@ -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 @@ -603,16 +603,16 @@ - 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 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 172 @@ -643,8 +643,8 @@ - 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 203 @@ -867,25 +867,24 @@ - Password for (You) - Password for (You) - Password label with username param + Password for (You) + {{username}} 비밀번호(사용자)undefined src/app/account/password/password.component.ts - 16 + 33 - Password changed! - 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. + An error has occurred! The password could not be changed. + 오류가 발생했습니다! 비밀번호를 변경할 수 없습니다. src/app/account/password/password.component.html 10 @@ -893,7 +892,11 @@ The password and its confirmation do not match! - The password and its confirmation do not match! + 비밀번호와 비밀번호 확인이 일치하지 않습니다! + + src/app/account/password/password-reset-finish.component.html + 55 + src/app/account/password/password.component.html 13 @@ -901,7 +904,7 @@ Current password - Current password + 기존 비밀번호 src/app/account/password/password.component.html 20 @@ -917,7 +920,11 @@ Your password is required. - Your password is required. + 비밀번호가 필요합니다. + + src/app/account/password/password-reset-finish.component.html + 84 + src/app/account/password/password.component.html 26 @@ -929,7 +936,11 @@ New password - New password + 새 비밀번호 + + src/app/account/password/password-reset-finish.component.html + 63 + src/app/account/password/password.component.html 32 @@ -937,7 +948,11 @@ New password - New password + 새 비밀번호 + + src/app/account/password/password-reset-finish.component.html + 70 + src/app/account/password/password.component.html 34 @@ -945,7 +960,11 @@ Your password is required to be at least 4 characters. - Your password is required to be at least 4 characters. + 비밀번호는 4자 이상이어야 합니다. + + src/app/account/password/password-reset-finish.component.html + 91 + src/app/account/password/password.component.html 43 @@ -953,7 +972,11 @@ Your password cannot be longer than 50 characters. - Your password cannot be longer than 50 characters. + 비밀번호는 50자를 초과할 수 없습니다. + + src/app/account/password/password-reset-finish.component.html + 98 + src/app/account/password/password.component.html 47 @@ -961,7 +984,11 @@ New password confirmation - New password confirmation + 새 비밀번호 확인 + + src/app/account/password/password-reset-finish.component.html + 107 + src/app/account/password/password.component.html 54 @@ -969,31 +996,47 @@ Confirm the new password - Confirm the new password + 새 비밀번호 확인 + + src/app/account/password/password-reset-finish.component.html + 114 + src/app/account/password/password.component.html 56 - Your confirmation password is required. - Your confirmation password is required. + Your password confirmation is required. + 확인 비밀번호가 필요합니다. + + src/app/account/password/password-reset-finish.component.html + 128 + 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. + Your password confirmation is required to be at least 4 characters. + 확인 비밀번호는 4자 이상이어야 합니다. + + src/app/account/password/password-reset-finish.component.html + 135 + 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. + Your password confirmation cannot be longer than 50 characters. + 확인 비밀번호는 50자를 초과할 수 없습니다. + + src/app/account/password/password-reset-finish.component.html + 142 + src/app/account/password/password.component.html 69 @@ -1001,7 +1044,7 @@ Save - Save + 저장 src/app/account/password/password.component.html 74 @@ -1011,10 +1054,138 @@ Sorry, an error has occurred Sorry, an error has occurred - src/app/shared/error/error-alert.component.html + src/app/error/error-alert.component.html 5 + + Reset password + 비밀번호 재설정 + + src/app/account/password/password-reset-finish.component.html + 4 + + + + The activation key is missing. + 활성화 키가 없습니다. + + src/app/account/password/password-reset-finish.component.html + 7 + + + + This activation key is invalid. + 활성화 키가 잘못되었습니다. + + src/app/account/password/password-reset-finish.component.html + 11 + + + + This activation has expired. + 활성화 키가 만료되었습니다. + + src/app/account/password/password-reset-finish.component.html + 15 + + + + ORCID Member Portal activation links are only valid for 24 hours. It looks like this link has expired. + ORCID Member Portal activation links are only valid for 24 hours. It looks like this link has expired. + + src/app/account/password/password-reset-finish.component.html + 20 + + + + To make sure you can activate your Member Portal account we have sent a new activation link to your registered email address. + To make sure you can activate your Member Portal account we have sent a new activation link to your registered email address. + + src/app/account/password/password-reset-finish.component.html + 26 + + + + If you are still having problems activating your account or have not received your new activation link please contact our support team please contact us at membership@orcid.org. + If you are still having problems activating your account or have not received your new activation link, please contact us at membership@orcid.org. + + src/app/account/password/password-reset-finish.component.html + 32 + + + + Choose a new password + 새 비밀번호 선택 + + src/app/account/password/password-reset-finish.component.html + 39 + + + + Your password couldn't be reset. Remember a password request is only valid for 24 hours. + 비밀번호를 초기화할 수 없습니다. 비밀번호 요청은 24시간 동안만 유효합니다. + + src/app/account/password/password-reset-finish.component.html + 43 + + + + Your password has been reset. Please + 비밀번호가 재설정되었습니다.undefined + + src/app/account/password/password-reset-finish.component.html + 50 + + + + sign in + 로그인 + + src/app/account/password/password-reset-finish.component.html + 52 + + + + Reset Password + 새 비밀번호 인증 + + src/app/account/password/password-reset-finish.component.html + 152 + + + + Your request cannot be processed + 요청을 처리할 수 없습니다 + + src/app/error/error.component.html + 4 + + + + You are not authorized to access this page. + 이 페이지에 액세스할 수 있는 권한이 없습니다. + + src/app/error/error.component.html + 9 + + + + The page does not exist. + 존재하지 않는 페이지입니다. + + src/app/error/error.component.html + 12 + + + + Password strength: + 비밀번호 강도: + + src/app/account/password/password-strength.component.html + 2 + + \ No newline at end of file diff --git a/ui/src/i18n/messages.pt.xlf b/ui/src/i18n/messages.pt.xlf index b8b434667..0ffe69fbe 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 @@ -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 @@ -603,16 +603,16 @@ - 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 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 172 @@ -643,8 +643,8 @@ - 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 203 @@ -867,25 +867,25 @@ - Password for (You) - Password for (You) - Password label with username param + Password for (You) + Palavra-passe para {{username}} (Você)undefined src/app/account/password/password.component.ts - 16 + 33 - Password changed! - Password changed! + Password changed! + Palavra-passe alterada! 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. + An error has occurred! The password could not be changed. + Ocorreu um erro! Não foi possível alterar a palavra-passe. + src/app/account/password/password.component.html 10 @@ -893,7 +893,11 @@ The password and its confirmation do not match! - The password and its confirmation do not match! + A palavra-chave e a sua confirmação não coincidem! + + src/app/account/password/password-reset-finish.component.html + 55 + src/app/account/password/password.component.html 13 @@ -901,7 +905,7 @@ Current password - Current password + Atual palavra-passe src/app/account/password/password.component.html 20 @@ -917,7 +921,11 @@ Your password is required. - Your password is required. + É necessária a sua palavra-passe. + + src/app/account/password/password-reset-finish.component.html + 84 + src/app/account/password/password.component.html 26 @@ -929,7 +937,11 @@ New password - New password + Nova palavra-passe + + src/app/account/password/password-reset-finish.component.html + 63 + src/app/account/password/password.component.html 32 @@ -937,7 +949,11 @@ New password - New password + Nova palavra-passe + + src/app/account/password/password-reset-finish.component.html + 70 + src/app/account/password/password.component.html 34 @@ -945,7 +961,11 @@ Your password is required to be at least 4 characters. - Your password is required to be at least 4 characters. + A sua palavra-passe deverá ter pelo menos 4 caracteres + + src/app/account/password/password-reset-finish.component.html + 91 + src/app/account/password/password.component.html 43 @@ -953,7 +973,11 @@ Your password cannot be longer than 50 characters. - Your password cannot be longer than 50 characters. + Esta palavra-passe não pode ter mais de 50 caractéres. + + src/app/account/password/password-reset-finish.component.html + 98 + src/app/account/password/password.component.html 47 @@ -961,7 +985,11 @@ New password confirmation - New password confirmation + Confirmação da nova palavra-passe + + src/app/account/password/password-reset-finish.component.html + 107 + src/app/account/password/password.component.html 54 @@ -969,31 +997,47 @@ Confirm the new password - Confirm the new password + Confirme a nova palavra-passe + + src/app/account/password/password-reset-finish.component.html + 114 + src/app/account/password/password.component.html 56 - Your confirmation password is required. - Your confirmation password is required. + Your password confirmation is required. + É necessária a sua palavra-passe de confirmação. + + src/app/account/password/password-reset-finish.component.html + 128 + 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. + Your password confirmation is required to be at least 4 characters. + A sua palavra-passe de confirmação precisa de ter pelo menos 4 caracteres. + + src/app/account/password/password-reset-finish.component.html + 135 + 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. + Your password confirmation cannot be longer than 50 characters. + A sua palavra-passe de confirmação não pode ter mais de 50 caracteres. + + src/app/account/password/password-reset-finish.component.html + 142 + src/app/account/password/password.component.html 69 @@ -1001,7 +1045,7 @@ Save - Save + Guardar src/app/account/password/password.component.html 74 @@ -1011,10 +1055,138 @@ Sorry, an error has occurred Sorry, an error has occurred - src/app/shared/error/error-alert.component.html + src/app/error/error-alert.component.html 5 + + Reset password + Redefinir palavra-passe + + src/app/account/password/password-reset-finish.component.html + 4 + + + + The activation key is missing. + Falta o código de ativação. + + src/app/account/password/password-reset-finish.component.html + 7 + + + + This activation key is invalid. + A chave de ativação é inválida. + + src/app/account/password/password-reset-finish.component.html + 11 + + + + This activation has expired. + Esta chave de ativação expirou. + + src/app/account/password/password-reset-finish.component.html + 15 + + + + ORCID Member Portal activation links are only valid for 24 hours. It looks like this link has expired. + ORCID Member Portal activation links are only valid for 24 hours. It looks like this link has expired. + + src/app/account/password/password-reset-finish.component.html + 20 + + + + To make sure you can activate your Member Portal account we have sent a new activation link to your registered email address. + To make sure you can activate your Member Portal account we have sent a new activation link to your registered email address. + + src/app/account/password/password-reset-finish.component.html + 26 + + + + If you are still having problems activating your account or have not received your new activation link please contact our support team please contact us at membership@orcid.org. + If you are still having problems activating your account or have not received your new activation link, please contact us at membership@orcid.org. + + src/app/account/password/password-reset-finish.component.html + 32 + + + + Choose a new password + Escolha uma nova palavra-passe + + src/app/account/password/password-reset-finish.component.html + 39 + + + + Your password couldn't be reset. Remember a password request is only valid for 24 hours. + Não foi possível redefinir a sua palavra-passe. Lembre-se que um pedido de palavra-passe é apenas válido por 24 horas. + + src/app/account/password/password-reset-finish.component.html + 43 + + + + Your password has been reset. Please + A sua palavra-passe foi redefinida. Por favor + + src/app/account/password/password-reset-finish.component.html + 50 + + + + sign in + iniciar sessão + + src/app/account/password/password-reset-finish.component.html + 52 + + + + Reset Password + Validar nova palavra-passe + + src/app/account/password/password-reset-finish.component.html + 152 + + + + Your request cannot be processed + O seu pedido não pode ser processado + + src/app/error/error.component.html + 4 + + + + You are not authorized to access this page. + Não está autorizado a aceder a esta página. + + src/app/error/error.component.html + 9 + + + + The page does not exist. + Esta página não existe. + + src/app/error/error.component.html + 12 + + + + Password strength: + Força da palavra-passe: + + src/app/account/password/password-strength.component.html + 2 + + \ No newline at end of file diff --git a/ui/src/i18n/messages.ru.xlf b/ui/src/i18n/messages.ru.xlf index cc51321d1..fde5bffcf 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 @@ -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 @@ -603,16 +603,16 @@ - 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 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 172 @@ -643,8 +643,8 @@ - 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 203 @@ -867,25 +867,24 @@ - Password for (You) - Password for (You) - Password label with username param + Password for (You) + Пароль для {{username}} (Вы)undefined src/app/account/password/password.component.ts - 16 + 33 - Password changed! - 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. + An error has occurred! The password could not be changed. + Произошла ошибка! Не удалось изменить пароль. src/app/account/password/password.component.html 10 @@ -893,7 +892,11 @@ The password and its confirmation do not match! - The password and its confirmation do not match! + Пароль и его подтверждение не совпадают! + + src/app/account/password/password-reset-finish.component.html + 55 + src/app/account/password/password.component.html 13 @@ -901,7 +904,7 @@ Current password - Current password + Текущий пароль src/app/account/password/password.component.html 20 @@ -917,7 +920,11 @@ Your password is required. - Your password is required. + Ваш пароль необходим. + + src/app/account/password/password-reset-finish.component.html + 84 + src/app/account/password/password.component.html 26 @@ -929,7 +936,11 @@ New password - New password + Новый пароль + + src/app/account/password/password-reset-finish.component.html + 63 + src/app/account/password/password.component.html 32 @@ -937,7 +948,11 @@ New password - New password + Новый пароль + + src/app/account/password/password-reset-finish.component.html + 70 + src/app/account/password/password.component.html 34 @@ -945,7 +960,11 @@ Your password is required to be at least 4 characters. - Your password is required to be at least 4 characters. + Ваш пароль должен состоять из минимум 4 символов. + + src/app/account/password/password-reset-finish.component.html + 91 + src/app/account/password/password.component.html 43 @@ -953,7 +972,11 @@ Your password cannot be longer than 50 characters. - Your password cannot be longer than 50 characters. + Ваш пароль не может состоять из более чем 50 символов. + + src/app/account/password/password-reset-finish.component.html + 98 + src/app/account/password/password.component.html 47 @@ -961,7 +984,11 @@ New password confirmation - New password confirmation + Новый пароль-подтверждение + + src/app/account/password/password-reset-finish.component.html + 107 + src/app/account/password/password.component.html 54 @@ -969,31 +996,47 @@ Confirm the new password - Confirm the new password + Подтвердить новый пароль + + src/app/account/password/password-reset-finish.component.html + 114 + src/app/account/password/password.component.html 56 - Your confirmation password is required. - Your confirmation password is required. + Your password confirmation is required. + Необходимо подтверждение пароля. + + src/app/account/password/password-reset-finish.component.html + 128 + 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. + Your password confirmation is required to be at least 4 characters. + Ваш пароль-подтверждение должен состоять из минимум 4 символов. + + src/app/account/password/password-reset-finish.component.html + 135 + 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. + Your password confirmation cannot be longer than 50 characters. + Ваш пароль-подтверждение не может состоять из более чем 50 символов. + + src/app/account/password/password-reset-finish.component.html + 142 + src/app/account/password/password.component.html 69 @@ -1001,7 +1044,7 @@ Save - Save + Сохранить src/app/account/password/password.component.html 74 @@ -1011,10 +1054,138 @@ Sorry, an error has occurred Sorry, an error has occurred - src/app/shared/error/error-alert.component.html + src/app/error/error-alert.component.html 5 + + Reset password + Сбросить пароль + + src/app/account/password/password-reset-finish.component.html + 4 + + + + The activation key is missing. + Отсутствует ключ активации. + + src/app/account/password/password-reset-finish.component.html + 7 + + + + This activation key is invalid. + Ключ активации недействителен. + + src/app/account/password/password-reset-finish.component.html + 11 + + + + This activation has expired. + Срок действия ключа активации истек. + + src/app/account/password/password-reset-finish.component.html + 15 + + + + ORCID Member Portal activation links are only valid for 24 hours. It looks like this link has expired. + ORCID Member Portal activation links are only valid for 24 hours. It looks like this link has expired. + + src/app/account/password/password-reset-finish.component.html + 20 + + + + To make sure you can activate your Member Portal account we have sent a new activation link to your registered email address. + To make sure you can activate your Member Portal account we have sent a new activation link to your registered email address. + + src/app/account/password/password-reset-finish.component.html + 26 + + + + If you are still having problems activating your account or have not received your new activation link please contact our support team please contact us at membership@orcid.org. + If you are still having problems activating your account or have not received your new activation link, please contact us at membership@orcid.org. + + src/app/account/password/password-reset-finish.component.html + 32 + + + + Choose a new password + Выберите новый пароль + + src/app/account/password/password-reset-finish.component.html + 39 + + + + Your password couldn't be reset. Remember a password request is only valid for 24 hours. + Ваш пароль не может быть сброшен. Помните, что запрос пароля действителен только в течение 24 часов. + + src/app/account/password/password-reset-finish.component.html + 43 + + + + Your password has been reset. Please + Ваш пароль сброшен. Пожалуйста, + + src/app/account/password/password-reset-finish.component.html + 50 + + + + sign in + войти + + src/app/account/password/password-reset-finish.component.html + 52 + + + + Reset Password + Подтвердить новый пароль + + src/app/account/password/password-reset-finish.component.html + 152 + + + + Your request cannot be processed + Ваш запрос не может быть обработан + + src/app/error/error.component.html + 4 + + + + You are not authorized to access this page. + Вы не авторизованы для просмотра этой страницы. + + src/app/error/error.component.html + 9 + + + + The page does not exist. + Эта страница не существует. + + src/app/error/error.component.html + 12 + + + + Password strength: + Надежность пароля: + + src/app/account/password/password-strength.component.html + 2 + + \ No newline at end of file diff --git a/ui/src/i18n/messages.xlf b/ui/src/i18n/messages.xlf index f23afcd18..21848a1a5 100644 --- a/ui/src/i18n/messages.xlf +++ b/ui/src/i18n/messages.xlf @@ -400,10 +400,9 @@ Password for (You) - Password label with username param src/app/account/password/password.component.ts - 16 + 33 @@ -422,6 +421,10 @@ The password and its confirmation do not match! + + src/app/account/password/password-reset-finish.component.html + 55 + src/app/account/password/password.component.html 13 @@ -443,6 +446,10 @@ Your password is required. + + src/app/account/password/password-reset-finish.component.html + 84 + src/app/account/password/password.component.html 26 @@ -454,6 +461,10 @@ New password + + src/app/account/password/password-reset-finish.component.html + 63 + src/app/account/password/password.component.html 32 @@ -461,6 +472,10 @@ New password + + src/app/account/password/password-reset-finish.component.html + 70 + src/app/account/password/password.component.html 34 @@ -468,6 +483,10 @@ Your password is required to be at least 4 characters. + + src/app/account/password/password-reset-finish.component.html + 91 + src/app/account/password/password.component.html 43 @@ -475,6 +494,10 @@ Your password cannot be longer than 50 characters. + + src/app/account/password/password-reset-finish.component.html + 98 + src/app/account/password/password.component.html 47 @@ -482,6 +505,10 @@ New password confirmation + + src/app/account/password/password-reset-finish.component.html + 107 + src/app/account/password/password.component.html 54 @@ -489,27 +516,43 @@ Confirm the new password + + src/app/account/password/password-reset-finish.component.html + 114 + src/app/account/password/password.component.html 56 - Your confirmation password is required. + Your password confirmation is required. + + src/app/account/password/password-reset-finish.component.html + 128 + src/app/account/password/password.component.html 61 - Your confirmation password is required to be at least 4 characters. + Your password confirmation is required to be at least 4 characters. + + src/app/account/password/password-reset-finish.component.html + 135 + src/app/account/password/password.component.html 65 - Your confirmation password cannot be longer than 50 characters. + Your password confirmation cannot be longer than 50 characters. + + src/app/account/password/password-reset-finish.component.html + 142 + src/app/account/password/password.component.html 69 @@ -886,10 +929,122 @@ Sorry, an error has occurred - src/app/shared/error/error-alert.component.html + src/app/error/error-alert.component.html 5 + + You are not authorized to access this page. + + src/app/error/error.component.html + 9 + + + + The page does not exist. + + src/app/error/error.component.html + 12 + + + + Your request cannot be processed + + src/app/error/error.component.html + 4 + + + + sign in + + src/app/account/password/password-reset-finish.component.html + 52 + + + + Reset Password + + src/app/account/password/password-reset-finish.component.html + 152 + + + + Your password couldn't be reset. Remember a password request is only valid for 24 hours. + + src/app/account/password/password-reset-finish.component.html + 43 + + + + Choose a new password + + src/app/account/password/password-reset-finish.component.html + 39 + + + + ORCID Member Portal activation links are only valid for 24 hours. It looks like this link has expired. + + src/app/account/password/password-reset-finish.component.html + 20 + + + + To make sure you can activate your Member Portal account we have sent a new activation link to your registered email address. + + src/app/account/password/password-reset-finish.component.html + 26 + + + + If you are still having problems activating your account or have not received your new activation link please contact our support team please contact us at membership@orcid.org. + + src/app/account/password/password-reset-finish.component.html + 32 + + + + This activation has expired. + + src/app/account/password/password-reset-finish.component.html + 15 + + + + This activation key is invalid. + + src/app/account/password/password-reset-finish.component.html + 11 + + + + The activation key is missing. + + src/app/account/password/password-reset-finish.component.html + 7 + + + + Your password has been reset. Please + + src/app/account/password/password-reset-finish.component.html + 50 + + + + Reset password + + src/app/account/password/password-reset-finish.component.html + 4 + + + + Password strength: + + src/app/account/password/password-strength.component.html + 2 + + \ No newline at end of file diff --git a/ui/src/i18n/messages.zh-CN.xlf b/ui/src/i18n/messages.zh-CN.xlf index b75166f59..e38d7ea60 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 @@ -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 @@ -603,16 +603,16 @@ - 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 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 172 @@ -643,8 +643,8 @@ - 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 203 @@ -867,25 +867,24 @@ - Password for (You) - Password for (You) - Password label with username param + Password for (You) + {{username}}(您)的密码undefined src/app/account/password/password.component.ts - 16 + 33 - Password changed! - 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. + An error has occurred! The password could not be changed. + 出现错误!密码无法更改。 src/app/account/password/password.component.html 10 @@ -893,7 +892,11 @@ The password and its confirmation do not match! - The password and its confirmation do not match! + 密码及确认密码不匹配! + + src/app/account/password/password-reset-finish.component.html + 55 + src/app/account/password/password.component.html 13 @@ -901,7 +904,7 @@ Current password - Current password + 当前密码 src/app/account/password/password.component.html 20 @@ -917,7 +920,11 @@ Your password is required. - Your password is required. + 密码是必填字段。 + + src/app/account/password/password-reset-finish.component.html + 84 + src/app/account/password/password.component.html 26 @@ -929,7 +936,11 @@ New password - New password + 新密码 + + src/app/account/password/password-reset-finish.component.html + 63 + src/app/account/password/password.component.html 32 @@ -937,7 +948,11 @@ New password - New password + 新密码 + + src/app/account/password/password-reset-finish.component.html + 70 + src/app/account/password/password.component.html 34 @@ -945,7 +960,11 @@ Your password is required to be at least 4 characters. - Your password is required to be at least 4 characters. + 您的密码必须具有至少 4 个字符。 + + src/app/account/password/password-reset-finish.component.html + 91 + src/app/account/password/password.component.html 43 @@ -953,7 +972,11 @@ Your password cannot be longer than 50 characters. - Your password cannot be longer than 50 characters. + 密码长度不能超过 50 个字符。 + + src/app/account/password/password-reset-finish.component.html + 98 + src/app/account/password/password.component.html 47 @@ -961,7 +984,11 @@ New password confirmation - New password confirmation + 新密码确认 + + src/app/account/password/password-reset-finish.component.html + 107 + src/app/account/password/password.component.html 54 @@ -969,31 +996,47 @@ Confirm the new password - Confirm the new password + 确认新密码 + + src/app/account/password/password-reset-finish.component.html + 114 + src/app/account/password/password.component.html 56 - Your confirmation password is required. - Your confirmation password is required. + Your password confirmation is required. + 确认密码是必填字段。 + + src/app/account/password/password-reset-finish.component.html + 128 + 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. + Your password confirmation is required to be at least 4 characters. + 您的确认密码必须至少具有 4 个字符。 + + src/app/account/password/password-reset-finish.component.html + 135 + 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. + Your password confirmation cannot be longer than 50 characters. + 确认密码长度不能超过 50 个字符。 + + src/app/account/password/password-reset-finish.component.html + 142 + src/app/account/password/password.component.html 69 @@ -1001,7 +1044,7 @@ Save - Save + 保存 src/app/account/password/password.component.html 74 @@ -1011,10 +1054,138 @@ Sorry, an error has occurred Sorry, an error has occurred - src/app/shared/error/error-alert.component.html + src/app/error/error-alert.component.html 5 + + Reset password + 重置密码 + + src/app/account/password/password-reset-finish.component.html + 4 + + + + The activation key is missing. + 缺少激活密钥。 + + src/app/account/password/password-reset-finish.component.html + 7 + + + + This activation key is invalid. + 激活密钥无效。 + + src/app/account/password/password-reset-finish.component.html + 11 + + + + This activation has expired. + 激活密钥已过期。 + + src/app/account/password/password-reset-finish.component.html + 15 + + + + ORCID Member Portal activation links are only valid for 24 hours. It looks like this link has expired. + ORCID Member Portal activation links are only valid for 24 hours. It looks like this link has expired. + + src/app/account/password/password-reset-finish.component.html + 20 + + + + To make sure you can activate your Member Portal account we have sent a new activation link to your registered email address. + To make sure you can activate your Member Portal account we have sent a new activation link to your registered email address. + + src/app/account/password/password-reset-finish.component.html + 26 + + + + If you are still having problems activating your account or have not received your new activation link please contact our support team please contact us at membership@orcid.org. + If you are still having problems activating your account or have not received your new activation link, please contact us at membership@orcid.org. + + src/app/account/password/password-reset-finish.component.html + 32 + + + + Choose a new password + 选择新密码 + + src/app/account/password/password-reset-finish.component.html + 39 + + + + Your password couldn't be reset. Remember a password request is only valid for 24 hours. + 密码无法重置。请谨记,密码请求仅在 24 小时内有效。 + + src/app/account/password/password-reset-finish.component.html + 43 + + + + Your password has been reset. Please + 密码已重置。 + + src/app/account/password/password-reset-finish.component.html + 50 + + + + sign in + 登录 + + src/app/account/password/password-reset-finish.component.html + 52 + + + + Reset Password + 验证新密码 + + src/app/account/password/password-reset-finish.component.html + 152 + + + + Your request cannot be processed + 无法处理您的请求 + + src/app/error/error.component.html + 4 + + + + You are not authorized to access this page. + 您没有访问此页面的权限。 + + src/app/error/error.component.html + 9 + + + + The page does not exist. + 此页面不存在。 + + src/app/error/error.component.html + 12 + + + + Password strength: + 密码强度: + + src/app/account/password/password-strength.component.html + 2 + + \ 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 6835a7cc3..6b5bdb784 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 @@ -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 @@ -603,16 +603,16 @@ - 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 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 172 @@ -643,8 +643,8 @@ - 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 203 @@ -867,25 +867,24 @@ - Password for (You) - Password for (You) - Password label with username param + Password for (You) + {{username}} 的密碼 (您的)undefined src/app/account/password/password.component.ts - 16 + 33 - Password changed! - 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. + An error has occurred! The password could not be changed. + 發生錯誤! 無法變更密碼。 src/app/account/password/password.component.html 10 @@ -893,7 +892,11 @@ The password and its confirmation do not match! - The password and its confirmation do not match! + 密碼與確認用密碼不相符! + + src/app/account/password/password-reset-finish.component.html + 55 + src/app/account/password/password.component.html 13 @@ -901,7 +904,7 @@ Current password - Current password + 目前密碼 src/app/account/password/password.component.html 20 @@ -917,7 +920,11 @@ Your password is required. - Your password is required. + 需要您的密碼。 + + src/app/account/password/password-reset-finish.component.html + 84 + src/app/account/password/password.component.html 26 @@ -929,7 +936,11 @@ New password - New password + 新密碼 + + src/app/account/password/password-reset-finish.component.html + 63 + src/app/account/password/password.component.html 32 @@ -937,7 +948,11 @@ New password - New password + 新密碼 + + src/app/account/password/password-reset-finish.component.html + 70 + src/app/account/password/password.component.html 34 @@ -945,7 +960,11 @@ Your password is required to be at least 4 characters. - Your password is required to be at least 4 characters. + 您的密碼至少必須有 4 個字元。 + + src/app/account/password/password-reset-finish.component.html + 91 + src/app/account/password/password.component.html 43 @@ -953,7 +972,11 @@ Your password cannot be longer than 50 characters. - Your password cannot be longer than 50 characters. + 您的密碼不能超過 50 個字元。 + + src/app/account/password/password-reset-finish.component.html + 98 + src/app/account/password/password.component.html 47 @@ -961,7 +984,11 @@ New password confirmation - New password confirmation + 新的確認用密碼 + + src/app/account/password/password-reset-finish.component.html + 107 + src/app/account/password/password.component.html 54 @@ -969,31 +996,47 @@ Confirm the new password - Confirm the new password + 確認新密碼 + + src/app/account/password/password-reset-finish.component.html + 114 + src/app/account/password/password.component.html 56 - Your confirmation password is required. - Your confirmation password is required. + Your password confirmation is required. + 需要您的確認密碼。 + + src/app/account/password/password-reset-finish.component.html + 128 + 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. + Your password confirmation is required to be at least 4 characters. + 您的確認用密碼必須至少為 4 個字元。 + + src/app/account/password/password-reset-finish.component.html + 135 + 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. + Your password confirmation cannot be longer than 50 characters. + 您的確認用密碼長度不能超過 50 個字元。 + + src/app/account/password/password-reset-finish.component.html + 142 + src/app/account/password/password.component.html 69 @@ -1001,7 +1044,7 @@ Save - Save + 儲存 src/app/account/password/password.component.html 74 @@ -1011,10 +1054,138 @@ Sorry, an error has occurred Sorry, an error has occurred - src/app/shared/error/error-alert.component.html + src/app/error/error-alert.component.html 5 + + Reset password + 重設密碼 + + src/app/account/password/password-reset-finish.component.html + 4 + + + + The activation key is missing. + 缺少啟動金鑰 + + src/app/account/password/password-reset-finish.component.html + 7 + + + + This activation key is invalid. + 啟用金鑰無效。 + + src/app/account/password/password-reset-finish.component.html + 11 + + + + This activation has expired. + 啟動金鑰已過期。 + + src/app/account/password/password-reset-finish.component.html + 15 + + + + ORCID Member Portal activation links are only valid for 24 hours. It looks like this link has expired. + ORCID Member Portal activation links are only valid for 24 hours. It looks like this link has expired. + + src/app/account/password/password-reset-finish.component.html + 20 + + + + To make sure you can activate your Member Portal account we have sent a new activation link to your registered email address. + To make sure you can activate your Member Portal account we have sent a new activation link to your registered email address. + + src/app/account/password/password-reset-finish.component.html + 26 + + + + If you are still having problems activating your account or have not received your new activation link please contact our support team please contact us at membership@orcid.org. + If you are still having problems activating your account or have not received your new activation link, please contact us at membership@orcid.org. + + src/app/account/password/password-reset-finish.component.html + 32 + + + + Choose a new password + 請選擇一個新密碼 + + src/app/account/password/password-reset-finish.component.html + 39 + + + + Your password couldn't be reset. Remember a password request is only valid for 24 hours. + 無法重設您的密碼。請記得密碼要求只在 24 小時內有效。 + + src/app/account/password/password-reset-finish.component.html + 43 + + + + Your password has been reset. Please + 已重設您的密碼。 + + src/app/account/password/password-reset-finish.component.html + 50 + + + + sign in + 登入 + + src/app/account/password/password-reset-finish.component.html + 52 + + + + Reset Password + 認證新密碼 + + src/app/account/password/password-reset-finish.component.html + 152 + + + + Your request cannot be processed + 無法處理您的要求 + + src/app/error/error.component.html + 4 + + + + You are not authorized to access this page. + 您沒有存取此頁面的權限。 + + src/app/error/error.component.html + 9 + + + + The page does not exist. + 此頁面不存在。 + + src/app/error/error.component.html + 12 + + + + Password strength: + 密碼強度: + + src/app/account/password/password-strength.component.html + 2 + + \ No newline at end of file From 80bacd8e1a06773ef7e5a1130ec4c7506df93e7b Mon Sep 17 00:00:00 2001 From: Jason Thomas Date: Fri, 12 Jan 2024 16:16:56 +0000 Subject: [PATCH 11/19] Add vim apt-package, decrease log level --- ui/Dockerfile | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/ui/Dockerfile b/ui/Dockerfile index 8ee2d4399..8621518eb 100644 --- a/ui/Dockerfile +++ b/ui/Dockerfile @@ -6,7 +6,7 @@ WORKDIR /app # Install some useful utils for debug/test RUN \ apt-get update && \ - apt -y install python3 make gcc g++ && \ + apt -y install python3 make gcc g++ vim && \ rm -rf /var/lib/apt/lists/* # Install app dependencies @@ -19,8 +19,7 @@ COPY package*.json ./ RUN \ npm config list && \ - npm config delete proxy && \ - npm install --loglevel silly + npm install # Bundle app source COPY . . From 4a65f9552fd215431ff4e1a79461cd7794fa6211 Mon Sep 17 00:00:00 2001 From: Jason Thomas Date: Fri, 12 Jan 2024 16:17:32 +0000 Subject: [PATCH 12/19] remove accept_language map --- ui/container-files/etc/nginx/nginx.conf | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/ui/container-files/etc/nginx/nginx.conf b/ui/container-files/etc/nginx/nginx.conf index 22027e11c..7b7dbe13c 100644 --- a/ui/container-files/etc/nginx/nginx.conf +++ b/ui/container-files/etc/nginx/nginx.conf @@ -25,24 +25,6 @@ http { #gzip on; - # Browser preferred language detection (does NOT require AcceptLanguageModule) - # For reference on multi language support see: https://angular.io/guide/i18n-common-deploy#configure-a-server - map $http_accept_language $accept_language { - default en; - ~*^cs cs; - ~*^de de; - ~*^es es; - ~*^fr fr; - ~*^it it; - ~*^ja ja; - ~*^ko ko; - ~*^pt pt; - ~*^ru ru; - ~*^ui ui; - ~*^zh-CN zh-CN; - ~*^zh-TW zh-TW; - } - include /etc/nginx/conf.d/*.conf; } From bd89a0068e651718e892774144cbe5561f04b972 Mon Sep 17 00:00:00 2001 From: Jason Thomas Date: Fri, 12 Jan 2024 16:21:05 +0000 Subject: [PATCH 13/19] Add langCode map, remove accept_language header fallback, replace accept_language header pathing with langCode cookie --- .../etc/nginx/conf.d/default.conf | 25 +++++++++++++------ 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/ui/container-files/etc/nginx/conf.d/default.conf b/ui/container-files/etc/nginx/conf.d/default.conf index c46b77f33..f8c8a1bd9 100644 --- a/ui/container-files/etc/nginx/conf.d/default.conf +++ b/ui/container-files/etc/nginx/conf.d/default.conf @@ -1,14 +1,25 @@ +map $ccokie_locale $langCode { + default en; + ~*^cs cs; + ~*^de de; + ~*^es es; + ~*^fr fr; + ~*^it it; + ~*^ja ja; + ~*^ko ko; + ~*^pt pt; + ~*^ru ru; + ~*^ui ui; + ~*^zh-CN zh-CN; + ~*^zh-TW zh-TW; +} + server { listen 8090; server_name localhost; #access_log /var/log/nginx/host.access.log main; - # Fallback to default language if no preference defined by browser - if ($accept_language ~ "^$") { - set $accept_language "en"; - } - location / { root /usr/share/nginx/html; index index.html index.htm; @@ -16,11 +27,11 @@ server { location ~ ^/ui/(.*) { # Redirect requests for `/ui/(.*)` to the Angular application in the preferred language of the browser # For reference on multi language support see: https://angular.io/guide/i18n-common-deploy#configure-a-server - rewrite ^/ui/(.*)$ /$accept_language/$1 break; + rewrite ^/ui/(.*)$ /${langCode}/$1 break; # Configure a fallback route in the NGinX server to serve the index.html when requests arrive for `/ui/login` # Requires static html content to have a `base-href=./` entry - try_files $uri $uri/ /$accept_language/index.html?$args; + try_files $uri $uri/ /${langCode}/index.html?$args; # Or use the following line instead # auto-index on; From 17a0b89da5f3907074211249930aaa7e48e54257 Mon Sep 17 00:00:00 2001 From: Jason Thomas Date: Fri, 12 Jan 2024 20:39:13 +0000 Subject: [PATCH 14/19] typo fix --- ui/container-files/etc/nginx/conf.d/default.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui/container-files/etc/nginx/conf.d/default.conf b/ui/container-files/etc/nginx/conf.d/default.conf index f8c8a1bd9..c0427993b 100644 --- a/ui/container-files/etc/nginx/conf.d/default.conf +++ b/ui/container-files/etc/nginx/conf.d/default.conf @@ -1,4 +1,4 @@ -map $ccokie_locale $langCode { +map $cookie_locale $langCode { default en; ~*^cs cs; ~*^de de; From 26a12eeb14bd936c76fd8385627e1d7603a2c5e6 Mon Sep 17 00:00:00 2001 From: andrej romanov <50377758+auumgn@users.noreply.github.com> Date: Mon, 15 Jan 2024 20:47:27 +0200 Subject: [PATCH 15/19] rename method name appropriately --- .../app/account/password/password-reset-finish.component.html | 4 ++-- .../app/account/password/password-reset-finish.component.ts | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ui/src/app/account/password/password-reset-finish.component.html b/ui/src/app/account/password/password-reset-finish.component.html index 86e29d069..3e75d69f5 100644 --- a/ui/src/app/account/password/password-reset-finish.component.html +++ b/ui/src/app/account/password/password-reset-finish.component.html @@ -52,8 +52,8 @@

Reset password

sign in. diff --git a/ui/src/app/account/password/password-reset-finish.component.ts b/ui/src/app/account/password/password-reset-finish.component.ts index 4133841e5..d7bb68038 100644 --- a/ui/src/app/account/password/password-reset-finish.component.ts +++ b/ui/src/app/account/password/password-reset-finish.component.ts @@ -64,7 +64,7 @@ export class PasswordResetFinishComponent implements OnInit, AfterViewInit { if (password !== confirmPassword) { this.doNotMatch = 'ERROR' } else { - this.passwordService.savePassword({ key: this.key, newPassword: password }).subscribe({ + this.passwordService.savePassword(this.key!, password).subscribe({ next: () => { this.success = 'OK' }, @@ -76,7 +76,7 @@ export class PasswordResetFinishComponent implements OnInit, AfterViewInit { } } - login() { + navigateToLoginPage() { this.router.navigate(['/login']) } } From 407492e818a829e4f1bf25e11f30caebea93666a Mon Sep 17 00:00:00 2001 From: andrej romanov <50377758+auumgn@users.noreply.github.com> Date: Mon, 15 Jan 2024 20:47:39 +0200 Subject: [PATCH 16/19] remove unused import --- ui/src/app/account/settings/settings.component.spec.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui/src/app/account/settings/settings.component.spec.ts b/ui/src/app/account/settings/settings.component.spec.ts index d9af8c81f..fe91413b7 100644 --- a/ui/src/app/account/settings/settings.component.spec.ts +++ b/ui/src/app/account/settings/settings.component.spec.ts @@ -5,7 +5,7 @@ import { ReactiveFormsModule } from '@angular/forms' import { HttpClientModule, HttpResponse } from '@angular/common/http' import { LanguageService } from 'src/app/shared/service/language.service' import { AccountService } from '../service/account.service' -import { of, throwError } from 'rxjs' +import { of } from 'rxjs' import { FindLanguageFromKeyPipe } from 'src/app/shared/pipe/find-language-from-key' describe('SettingsComponent', () => { From 8ee37e8a01d767dd20348edc9d0423de471a708e Mon Sep 17 00:00:00 2001 From: andrej romanov <50377758+auumgn@users.noreply.github.com> Date: Mon, 15 Jan 2024 20:47:57 +0200 Subject: [PATCH 17/19] fix param type --- ui/src/app/account/service/password.service.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ui/src/app/account/service/password.service.ts b/ui/src/app/account/service/password.service.ts index f64f82c26..ac42c69a0 100644 --- a/ui/src/app/account/service/password.service.ts +++ b/ui/src/app/account/service/password.service.ts @@ -26,8 +26,8 @@ export class PasswordService { }) } - savePassword(keyAndPassword: any): Observable { - return this.http.post('/services/userservice/api/account/reset-password/finish', keyAndPassword) + savePassword(key: string, newPassword: string): Observable { + return this.http.post('/services/userservice/api/account/reset-password/finish', {key, newPassword:"a"}) } validateKey(key: any): Observable { From 7cbe134b3aa128177de41d6815760e79dbd947cf Mon Sep 17 00:00:00 2001 From: andrej romanov <50377758+auumgn@users.noreply.github.com> Date: Mon, 15 Jan 2024 20:48:08 +0200 Subject: [PATCH 18/19] clean up --- ui/src/app/account/password/password.component.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ui/src/app/account/password/password.component.ts b/ui/src/app/account/password/password.component.ts index 20690de46..a6852c77b 100644 --- a/ui/src/app/account/password/password.component.ts +++ b/ui/src/app/account/password/password.component.ts @@ -43,16 +43,16 @@ export class PasswordComponent implements OnInit { this.doNotMatch = 'ERROR' } else { this.doNotMatch = undefined - this.passwordService.updatePassword(newPassword, this.passwordForm.get(['currentPassword'])?.value).subscribe( - () => { + this.passwordService.updatePassword(newPassword, this.passwordForm.get(['currentPassword'])?.value).subscribe({ + next: () => { this.error = undefined this.success = 'OK' }, - () => { + error: () => { this.success = undefined this.error = 'ERROR' } - ) + }) } } } From 6e5529a0a9bb16cacb9d3763640a89bf5b396613 Mon Sep 17 00:00:00 2001 From: andrej romanov <50377758+auumgn@users.noreply.github.com> Date: Mon, 15 Jan 2024 20:48:14 +0200 Subject: [PATCH 19/19] add test --- .../password-reset-finish.component.spec.ts | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/ui/src/app/account/password/password-reset-finish.component.spec.ts b/ui/src/app/account/password/password-reset-finish.component.spec.ts index c6bdfb4d6..07ee8cfb4 100644 --- a/ui/src/app/account/password/password-reset-finish.component.spec.ts +++ b/ui/src/app/account/password/password-reset-finish.component.spec.ts @@ -2,10 +2,13 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { PasswordResetFinishComponent } from './password-reset-finish.component'; import { AppModule } from 'src/app/app.module'; +import { PasswordService } from '../service/password.service'; +import { of, throwError } from 'rxjs'; describe('PasswordResetFinishComponent', () => { let component: PasswordResetFinishComponent; let fixture: ComponentFixture; + let service: PasswordService; beforeEach(() => { TestBed.configureTestingModule({ @@ -13,6 +16,7 @@ describe('PasswordResetFinishComponent', () => { declarations: [PasswordResetFinishComponent] }); fixture = TestBed.createComponent(PasswordResetFinishComponent); + service = fixture.debugElement.injector.get(PasswordService) component = fixture.componentInstance; fixture.detectChanges(); }); @@ -20,4 +24,17 @@ describe('PasswordResetFinishComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + it('password should save successfully', () => { + spyOn(service, 'savePassword').and.returnValue(of(true)) + component.finishReset(); + expect(component.success).toEqual('OK') + }); + + it('password save should fail', () => { + spyOn(service, 'savePassword').and.returnValue(throwError(() => new Error('error'))) + component.finishReset(); + expect(component.error).toEqual('ERROR') + expect(component.success).toBeFalsy(); + }); });