gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[reclaim-ui] 329/459: towards better i18n


From: gnunet
Subject: [reclaim-ui] 329/459: towards better i18n
Date: Fri, 11 Jun 2021 23:27:01 +0200

This is an automated email from the git hooks/post-receive script.

martin-schanzenbach pushed a commit to branch master
in repository reclaim-ui.

commit f4f0ec83986b6a6182c11e026952d2ee8cfe6839
Author: Martin Schanzenbach <mschanzenbach@posteo.de>
AuthorDate: Wed Oct 7 14:53:34 2020 +0200

    towards better i18n
---
 package.json                                         |  1 +
 src/app/app.component.ts                             | 20 ++++++++++++--------
 .../authorization-request.component.html             |  2 +-
 .../authorization-request.component.ts               | 10 +++-------
 src/app/identity-list/identity-list.component.html   |  2 +-
 src/app/identity-list/identity-list.component.ts     | 10 +++-------
 yarn.lock                                            | 14 ++++++++++++++
 7 files changed, 35 insertions(+), 24 deletions(-)

diff --git a/package.json b/package.json
index 257c23b..d9812b0 100644
--- a/package.json
+++ b/package.json
@@ -29,6 +29,7 @@
     "bootstrap": "^4.4.1",
     "core-js": "^3.5",
     "font-awesome": "^4.7.0",
+    "i18next": "^19.8.2",
     "jquery": ">=3.4.0",
     "popper.js": "^1.16.0",
     "rxjs": "6",
diff --git a/src/app/app.component.ts b/src/app/app.component.ts
index 79a3ba3..b2b4c95 100644
--- a/src/app/app.component.ts
+++ b/src/app/app.component.ts
@@ -1,5 +1,6 @@
 import { Component } from '@angular/core';
 import { ConfigService } from './config.service';
+import { LanguageService } from './language.service';
 
 declare var chrome: any;
 
@@ -10,10 +11,19 @@ declare var chrome: any;
 })
 export class AppComponent {
   title = 'app';
+  defaultLanguage = 'en';
   configService: any;
+  public myTranslation: any;
 
-  constructor(private _configService: ConfigService) {
+  translateTest(locale:string) {
+    return require(`../locales/${locale}/messages.json`);
+  }
+
+  constructor(private _configService: ConfigService,
+              private languageService: LanguageService) {
     this.configService = _configService;
+    const lang = navigator.language || "en";
+    this.myTranslation = this.translateTest(lang.substr(0,2));
   }
 
   isExperimental() {
@@ -26,13 +36,7 @@ export class AppComponent {
 
   //Internationalization
   getMessage(key, sub?){
-    var usrAgent = navigator.userAgent;
-    if (usrAgent.indexOf("Firefox") > -1){
-      return browser.i18n.getMessage(key, sub);
-    }
-    else if (usrAgent.indexOf("Chrome") > -1){
-      return chrome.i18n.getMessage(key, sub);
-    }
+    return this.languageService.getMessage(key, sub);
   }
 
 }
diff --git a/src/app/authorization-request/authorization-request.component.html 
b/src/app/authorization-request/authorization-request.component.html
index f565d8e..f9be209 100644
--- a/src/app/authorization-request/authorization-request.component.html
+++ b/src/app/authorization-request/authorization-request.component.html
@@ -26,7 +26,7 @@
   <div class="alert alert-warning alert-dismissible fade show mb-1" 
role="alert">
     <i class="fa fa-exclamation-triangle mr-2"></i>
     
<strong>{{getMessage("authorization_request_html@personalDataWarning1")}}</strong>
-    {{getMessage("authorization_request_html@personalDataWarning2", 
oidcService.clientName)}}
+    {{getMessage("authorization_request_html@personalDataWarning2", 
{CLIENTNAME: oidcService.clientName})}}
   </div>
   <div style="margin: 1em;">
     <button class="btn btn-danger m-1 mt-4" *ngIf="isClientVerified()" 
(click)="cancelRequest()" style="margin-bottom: -4%;">
diff --git a/src/app/authorization-request/authorization-request.component.ts 
b/src/app/authorization-request/authorization-request.component.ts
index d327761..997454a 100644
--- a/src/app/authorization-request/authorization-request.component.ts
+++ b/src/app/authorization-request/authorization-request.component.ts
@@ -1,6 +1,7 @@
 import { Component, OnInit } from '@angular/core';
 import { Router } from '@angular/router';
 import { OpenIdService } from '../open-id.service';
+import { LanguageService } from '../language.service';
 
 /* For Chrome browsers */
 declare var chrome: any;
@@ -15,6 +16,7 @@ export class AuthorizationRequestComponent implements OnInit {
   browser: typeof browser;
 
   constructor(private oidcService: OpenIdService,
+              private langaugeService: LanguageService,
               private router: Router) { }
 
   ngOnInit() {
@@ -47,13 +49,7 @@ export class AuthorizationRequestComponent implements OnInit 
{
 
   //Internationalization
   getMessage(key, sub?){
-    var usrAgent = navigator.userAgent;
-    if (usrAgent.indexOf("Firefox") > -1){
-      return browser.i18n.getMessage(key, sub);
-    }
-    else if (usrAgent.indexOf("Chrome") > -1) {
-      return (chrome as any).i18n.getMessage(key, sub);
-    }
+    this.languageService.getMessage(key, sub);
   }
 
 
diff --git a/src/app/identity-list/identity-list.component.html 
b/src/app/identity-list/identity-list.component.html
index 79160e8..8621705 100644
--- a/src/app/identity-list/identity-list.component.html
+++ b/src/app/identity-list/identity-list.component.html
@@ -121,7 +121,7 @@
           </div>
           <div *ngIf="(openIdentity != identity) && 
hasLotsOfAttributes(identity)" class="ml-4">
             <div>
-              <i>{{ getMessage("identity_list_html@moreAttributes", 
attributes[identity.pubkey].length - 5) }}</i><br/>
+              <i>{{ getMessage("identity_list_html@moreAttributes", 
{ATTRIBUTENUMBER: attributes[identity.pubkey].length - 5}) }}</i><br/>
             </div>
           </div>
         </div>
diff --git a/src/app/identity-list/identity-list.component.ts 
b/src/app/identity-list/identity-list.component.ts
index e169427..e032cd8 100644
--- a/src/app/identity-list/identity-list.component.ts
+++ b/src/app/identity-list/identity-list.component.ts
@@ -12,6 +12,7 @@ import { ReclaimService } from '../reclaim.service';
 import { ModalService } from '../modal.service';
 import { finalize } from 'rxjs/operators';
 import { from, forkJoin, EMPTY } from 'rxjs';
+import { LanguageService } from '../language.service';
 
 declare var chrome: any;
 
@@ -47,6 +48,7 @@ export class IdentityListComponent implements OnInit {
     private namestoreService: NamestoreService,
     private gnsService: GnsService,
     private modalService: ModalService,
+    private languageService: LanguageService,
     private router: Router,) {
   }
 
@@ -484,12 +486,6 @@ export class IdentityListComponent implements OnInit {
 
   //Internationalization
   getMessage(key, sub?){
-    var usrAgent = navigator.userAgent;
-    if (usrAgent.indexOf("Firefox") > -1){
-      return browser.i18n.getMessage(key, sub);
-    }
-    else if (usrAgent.indexOf("Chrome") > -1){
-      return chrome.i18n.getMessage(key, sub);
-    }
+    return this.languageService.getMessage(key, sub);
   }
 }
diff --git a/yarn.lock b/yarn.lock
index aae8453..1f6e829 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1037,6 +1037,13 @@
   dependencies:
     regenerator-runtime "^0.13.4"
 
+"@babel/runtime@^7.10.1":
+  version "7.11.2"
+  resolved 
"https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.11.2.tgz#f549c13c754cc40b87644b9fa9f09a6a95fe0736";
+  integrity 
sha512-TeWkU52so0mPtDcaCTxNBI/IHiz0pZgr8VEFqXFtZWpYD08ZB6FaSwVAS8MKRQAP3bYKiVjwysOJgMFY28o6Tw==
+  dependencies:
+    regenerator-runtime "^0.13.4"
+
 "@babel/runtime@^7.8.4":
   version "7.10.4"
   resolved 
"https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.10.4.tgz#a6724f1a6b8d2f6ea5236dbfe58c7d7ea9c5eb99";
@@ -4287,6 +4294,13 @@ humanize-ms@^1.2.1:
   dependencies:
     ms "^2.0.0"
 
+i18next@^19.8.2:
+  version "19.8.2"
+  resolved 
"https://registry.yarnpkg.com/i18next/-/i18next-19.8.2.tgz#8a20ee098c4702f14aae6dee3ecc39245a6a161e";
+  integrity 
sha512-YWqkUpwnmeZxbNxhQ4BENC27BlXnq4kD6NlqMUwX7T6ZN3alNnBXsWrh/8mJ37BL5cKMZaqA0k/YUo4o6rLfpA==
+  dependencies:
+    "@babel/runtime" "^7.10.1"
+
 iconv-lite@0.4.24, iconv-lite@^0.4.24, iconv-lite@~0.4.13:
   version "0.4.24"
   resolved 
"https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b";

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]