Handle singular/plurial in signup
authorChocobozzz <me@florianbigard.com>
Tue, 5 Jun 2018 14:09:32 +0000 (16:09 +0200)
committerChocobozzz <me@florianbigard.com>
Tue, 5 Jun 2018 14:09:32 +0000 (16:09 +0200)
client/src/app/signup/signup.component.scss
client/src/app/signup/signup.component.ts

index 6efb95ea6e0c5262e9840c8aec523b1bb2833408..8ea4ec997d74068aa9b4e0320df58b1440b59884 100644 (file)
@@ -8,10 +8,6 @@
   .initial-user-quota-label {
     font-weight: $font-semibold;
   }
-
-  my-help {
-    margin-left: 5px;
-  }
 }
 
 
index a40f42cb11b0a2b678b9d1874d5f2118b8a8a6a8..55ebb573e10fa56a6308acbda07fef7fc31d0a62 100644 (file)
@@ -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('<br />')