From 7a9fd8b54dd278cbb341daf96baca769bfe92ce9 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Tue, 5 Jun 2018 16:09:32 +0200 Subject: Handle singular/plurial in signup --- client/src/app/signup/signup.component.ts | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) (limited to 'client/src/app/signup/signup.component.ts') diff --git a/client/src/app/signup/signup.component.ts b/client/src/app/signup/signup.component.ts index a40f42cb1..55ebb573e 100644 --- a/client/src/app/signup/signup.component.ts +++ b/client/src/app/signup/signup.component.ts @@ -17,18 +17,6 @@ export class SignupComponent extends FormReactive implements OnInit { error: string = null quotaHelpIndication = '' - private static getApproximateTime (seconds: number) { - const hours = Math.floor(seconds / 3600) - let pluralSuffix = '' - if (hours > 1) pluralSuffix = 's' - if (hours > 0) return `~ ${hours} hour${pluralSuffix}` - - const minutes = Math.floor(seconds % 3600 / 60) - if (minutes > 1) pluralSuffix = 's' - - return `~ ${minutes} minute${pluralSuffix}` - } - constructor ( protected formValidatorService: FormValidatorService, private userValidatorsService: UserValidatorsService, @@ -75,6 +63,19 @@ export class SignupComponent extends FormReactive implements OnInit { ) } + private getApproximateTime (seconds: number) { + const hours = Math.floor(seconds / 3600) + let pluralSuffix = '' + if (hours > 1) pluralSuffix = 's' + if (hours > 0) return `~ ${hours} hour${pluralSuffix}` + + const minutes = Math.floor(seconds % 3600 / 60) + if (minutes > 1) pluralSuffix = 's' + + return this.i18n('~ {{minutes}} {minutes, plural, =1 {minute} other {minutes}}', { minutes }) + } + + private buildQuotaHelpIndication () { if (this.initialUserVideoQuota === -1) return @@ -88,9 +89,9 @@ export class SignupComponent extends FormReactive implements OnInit { const normalSeconds = initialUserVideoQuotaBit / (1.5 * 1000 * 1000) const lines = [ - this.i18n('{{seconds}} of full HD videos', { seconds: SignupComponent.getApproximateTime(fullHdSeconds) }), - this.i18n('{{seconds}} of HD videos', { seconds: SignupComponent.getApproximateTime(hdSeconds) }), - this.i18n('{{seconds}} of average quality videos', { seconds: SignupComponent.getApproximateTime(normalSeconds) }) + this.i18n('{{seconds}} of full HD videos', { seconds: this.getApproximateTime(fullHdSeconds) }), + this.i18n('{{seconds}} of HD videos', { seconds: this.getApproximateTime(hdSeconds) }), + this.i18n('{{seconds}} of average quality videos', { seconds: this.getApproximateTime(normalSeconds) }) ] this.quotaHelpIndication = lines.join('
') -- cgit v1.2.3