gnunet-svn
[Top][All Lists]
Advanced

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

[taler-wallet-core] 08/10: added ja lang and implemented transalation sw


From: gnunet
Subject: [taler-wallet-core] 08/10: added ja lang and implemented transalation switch
Date: Thu, 24 Feb 2022 16:51:15 +0100

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

sebasjm pushed a commit to branch master
in repository wallet-core.

commit 68b887344289902273f0e0591e1038182ca4da77
Author: Sebastian <sebasjm@gmail.com>
AuthorDate: Thu Feb 24 12:41:47 2022 -0300

    added ja lang and implemented transalation switch
---
 packages/pogen/src/po2ts.ts                        |    4 +-
 packages/taler-util/src/i18n.ts                    |    5 +-
 .../.storybook/preview.js                          |    4 +-
 packages/taler-wallet-webextension/package.json    |    3 +-
 .../src/context/translation.ts                     |   22 +-
 packages/taler-wallet-webextension/src/i18n/de.po  |   59 +-
 .../taler-wallet-webextension/src/i18n/en-US.po    |   63 +-
 packages/taler-wallet-webextension/src/i18n/es.po  |  150 ++-
 packages/taler-wallet-webextension/src/i18n/fr.po  |   59 +-
 packages/taler-wallet-webextension/src/i18n/it.po  |   59 +-
 .../src/i18n/{it.po => ja.po}                      |  108 +-
 .../taler-wallet-webextension/src/i18n/strings.ts  | 1242 +++++++++++++++++---
 packages/taler-wallet-webextension/src/i18n/sv.po  |   59 +-
 .../src/i18n/taler-wallet-webex.pot                |   59 +-
 packages/taler-wallet-webextension/src/i18n/tr.po  |   50 +-
 .../src/popup/BalancePage.tsx                      |    4 +-
 .../src/popup/TalerActionFound.tsx                 |    2 +-
 .../src/popupEntryPoint.tsx                        |  175 +--
 .../src/wallet/Settings.tsx                        |   34 +-
 .../src/walletEntryPoint.tsx                       |    5 +-
 20 files changed, 1683 insertions(+), 483 deletions(-)

diff --git a/packages/pogen/src/po2ts.ts b/packages/pogen/src/po2ts.ts
index e11443f4..7e831e6f 100644
--- a/packages/pogen/src/po2ts.ts
+++ b/packages/pogen/src/po2ts.ts
@@ -34,7 +34,9 @@ export function po2ts(): void {
 
   console.log(files);
 
-  const chunks: string[] = [];
+  const chunks: string[] = [
+    "export const strings: any = {};\n\n"
+  ];
 
   for (const filename of files) {
     const m = filename.match(/([a-zA-Z0-9-_]+).po/);
diff --git a/packages/taler-util/src/i18n.ts b/packages/taler-util/src/i18n.ts
index 227798f4..be7cfe6a 100644
--- a/packages/taler-util/src/i18n.ts
+++ b/packages/taler-util/src/i18n.ts
@@ -70,11 +70,14 @@ export function translate(
 /**
  * Internationalize a string template without serializing
  */
-export function Translate({ children, ...rest }: { children: any }): any {
+export function Translate({ children, debug, }: { children: any, debug?: 
boolean }): any {
   const c = [].concat(children);
   const s = stringifyArray(c);
   if (!s) return [];
   const translation: string = jed.ngettext(s, s, 1);
+  if (debug) {
+    console.log("looking for ", s, "got", translation)
+  }
   return replacePlaceholderWithValues(translation, c);
 }
 
diff --git a/packages/taler-wallet-webextension/.storybook/preview.js 
b/packages/taler-wallet-webextension/.storybook/preview.js
index 5156b556..61484b66 100644
--- a/packages/taler-wallet-webextension/.storybook/preview.js
+++ b/packages/taler-wallet-webextension/.storybook/preview.js
@@ -32,7 +32,9 @@ export const globalTypes = {
       icon: 'globe',
       items: [
         { value: 'en', right: '🇺🇸', title: 'English' },
-        { value: 'de', right: '🇪🇸', title: 'German' },
+        { value: 'ja', right: '🇯🇵', title: 'Japanese' },
+        { value: 'es', right: '🇪🇸', title: 'Spanish' },
+        { value: 'de', right: '🇩🇪', title: 'German' },
       ],
     },
   },
diff --git a/packages/taler-wallet-webextension/package.json 
b/packages/taler-wallet-webextension/package.json
index 0672d79a..76ba3170 100644
--- a/packages/taler-wallet-webextension/package.json
+++ b/packages/taler-wallet-webextension/package.json
@@ -17,7 +17,8 @@
     "pretty": "prettier --write src",
     "watch": "tsc --watch & rollup -w -c",
     "i18n:extract": "pogen extract",
-    "i18n:merge": "pogen merge"
+    "i18n:merge": "pogen merge",
+    "i18n:emit": "pogen emit"
   },
   "dependencies": {
     "@gnu-taler/taler-util": "workspace:*",
diff --git a/packages/taler-wallet-webextension/src/context/translation.ts 
b/packages/taler-wallet-webextension/src/context/translation.ts
index 105da9dc..0f6aed23 100644
--- a/packages/taler-wallet-webextension/src/context/translation.ts
+++ b/packages/taler-wallet-webextension/src/context/translation.ts
@@ -29,10 +29,24 @@ import { setupI18n } from "@gnu-taler/taler-util";
 
 interface Type {
   lang: string;
+  supportedLang: { [id in keyof typeof supportedLang]: string }
   changeLanguage: (l: string) => void;
 }
+
+const supportedLang = {
+  es: "Español [es]",
+  ja: "日本語 [ja]",
+  en: "English [en]",
+  fr: "Français [fr]",
+  de: "Deutsch [de]",
+  sv: "Svenska [sv]",
+  it: "Italiano [it]",
+};
+
+
 const initial = {
   lang: "en",
+  supportedLang,
   changeLanguage: () => {
     // do not change anything
   },
@@ -52,7 +66,11 @@ export const TranslationProvider = ({
   children,
   forceLang,
 }: Props): VNode => {
-  const [lang, changeLanguage] = useLang(initial);
+  const [lang, changeLanguage2] = useLang(initial);
+  function changeLanguage(s: string) {
+    console.log("trying to change lang to ", s, "current lang", lang)
+    changeLanguage2(s)
+  }
   useEffect(() => {
     if (forceLang) {
       changeLanguage(forceLang);
@@ -66,7 +84,7 @@ export const TranslationProvider = ({
   } else {
     setupI18n(lang, strings);
   }
-  return h(Context.Provider, { value: { lang, changeLanguage }, children });
+  return h(Context.Provider, { value: { lang, changeLanguage, supportedLang }, 
children });
 };
 
 export const useTranslationContext = (): Type => useContext(Context);
diff --git a/packages/taler-wallet-webextension/src/i18n/de.po 
b/packages/taler-wallet-webextension/src/i18n/de.po
index c4de7c8b..46d8d056 100644
--- a/packages/taler-wallet-webextension/src/i18n/de.po
+++ b/packages/taler-wallet-webextension/src/i18n/de.po
@@ -110,7 +110,7 @@ msgstr ""
 msgid "Deposit %1$s"
 msgstr ""
 
-#: src/popup/BalancePage.tsx:118
+#: src/popup/BalancePage.tsx:120
 #, c-format
 msgid "Enter URI"
 msgstr ""
@@ -251,6 +251,11 @@ msgstr ""
 msgid "This page has a notify reserve action."
 msgstr ""
 
+#: src/popup/TalerActionFound.tsx:114
+#, c-format
+msgid "Notify"
+msgstr ""
+
 #: src/popup/TalerActionFound.tsx:121
 #, c-format
 msgid "This page has a refund action."
@@ -598,7 +603,7 @@ msgstr ""
 msgid "Backup valid until"
 msgstr ""
 
-#: src/popupEntryPoint.tsx:184
+#: src/popupEntryPoint.tsx:187
 #, c-format
 msgid "this popup is being closed and you are being redirected to %1$s"
 msgstr ""
@@ -776,64 +781,74 @@ msgstr ""
 msgid "Cancel withdrawal"
 msgstr ""
 
-#: src/wallet/Settings.tsx:84
+#: src/wallet/Settings.tsx:89
 #, c-format
-msgid "Permissions"
+msgid "Display"
+msgstr ""
+
+#: src/wallet/Settings.tsx:93
+#, c-format
+msgid "Current Language"
+msgstr ""
+
+#: src/wallet/Settings.tsx:102
+#, c-format
+msgid "Navigator"
 msgstr ""
 
-#: src/wallet/Settings.tsx:87
+#: src/wallet/Settings.tsx:105
 #, c-format
 msgid "Automatically open wallet based on page content"
 msgstr ""
 
-#: src/wallet/Settings.tsx:93
+#: src/wallet/Settings.tsx:111
 #, c-format
 msgid ""
 "Enabling this option below will make using the wallet faster, but requires "
 "more permissions from your browser."
 msgstr ""
 
-#: src/wallet/Settings.tsx:104
+#: src/wallet/Settings.tsx:122
 #, c-format
-msgid "Known exchanges"
+msgid "Trust"
 msgstr ""
 
-#: src/wallet/Settings.tsx:108
+#: src/wallet/Settings.tsx:126
 #, c-format
 msgid "No exchange yet"
 msgstr ""
 
-#: src/wallet/Settings.tsx:122
+#: src/wallet/Settings.tsx:140
 #, c-format
 msgid "Term of Service"
 msgstr ""
 
-#: src/wallet/Settings.tsx:138
+#: src/wallet/Settings.tsx:156
 #, c-format
 msgid "ok"
 msgstr ""
 
-#: src/wallet/Settings.tsx:144
+#: src/wallet/Settings.tsx:162
 #, c-format
 msgid "changed"
 msgstr ""
 
-#: src/wallet/Settings.tsx:151
+#: src/wallet/Settings.tsx:169
 #, c-format
 msgid "not accepted"
 msgstr ""
 
-#: src/wallet/Settings.tsx:175
+#: src/wallet/Settings.tsx:193
 #, c-format
 msgid "Add an exchange"
 msgstr ""
 
-#: src/wallet/Settings.tsx:181
+#: src/wallet/Settings.tsx:199
 #, c-format
 msgid "Developer mode"
 msgstr ""
 
-#: src/wallet/Settings.tsx:183
+#: src/wallet/Settings.tsx:201
 #, c-format
 msgid "(More options and information useful for debugging)"
 msgstr ""
@@ -1005,6 +1020,11 @@ msgstr ""
 msgid "Thank you for installing the wallet."
 msgstr ""
 
+#: src/wallet/Welcome.tsx:66
+#, c-format
+msgid "Permissions"
+msgstr ""
+
 #: src/wallet/Welcome.tsx:75
 #, c-format
 msgid ""
@@ -1217,6 +1237,11 @@ msgstr ""
 msgid "Total to withdraw"
 msgstr ""
 
+#: src/cta/Withdraw.tsx:171
+#, c-format
+msgid "Known exchanges"
+msgstr ""
+
 #: src/cta/Withdraw.tsx:187
 #, c-format
 msgid "Cancel exchange selection"
@@ -1262,7 +1287,7 @@ msgstr ""
 msgid "Could not load the list of known exchanges"
 msgstr ""
 
-#: src/walletEntryPoint.tsx:171
+#: src/walletEntryPoint.tsx:172
 #, c-format
 msgid "All done, your transaction is in progress"
 msgstr ""
diff --git a/packages/taler-wallet-webextension/src/i18n/en-US.po 
b/packages/taler-wallet-webextension/src/i18n/en-US.po
index 2fccaeb9..23140abb 100644
--- a/packages/taler-wallet-webextension/src/i18n/en-US.po
+++ b/packages/taler-wallet-webextension/src/i18n/en-US.po
@@ -31,7 +31,7 @@ msgstr ""
 #: src/NavigationBar.tsx:70
 #, c-format
 msgid "Balance"
-msgstr "Credit"
+msgstr "Balance"
 
 #: src/NavigationBar.tsx:73
 #, c-format
@@ -110,7 +110,7 @@ msgstr ""
 msgid "Deposit %1$s"
 msgstr ""
 
-#: src/popup/BalancePage.tsx:118
+#: src/popup/BalancePage.tsx:120
 #, c-format
 msgid "Enter URI"
 msgstr ""
@@ -251,6 +251,11 @@ msgstr ""
 msgid "This page has a notify reserve action."
 msgstr ""
 
+#: src/popup/TalerActionFound.tsx:114
+#, c-format
+msgid "Notify"
+msgstr ""
+
 #: src/popup/TalerActionFound.tsx:121
 #, c-format
 msgid "This page has a refund action."
@@ -598,7 +603,7 @@ msgstr ""
 msgid "Backup valid until"
 msgstr ""
 
-#: src/popupEntryPoint.tsx:184
+#: src/popupEntryPoint.tsx:187
 #, c-format
 msgid "this popup is being closed and you are being redirected to %1$s"
 msgstr ""
@@ -654,7 +659,7 @@ msgstr ""
 #: src/wallet/DepositPage.tsx:138
 #, fuzzy, c-format
 msgid "no balance"
-msgstr "Credit"
+msgstr "no balance"
 
 #: src/wallet/DepositPage.tsx:146
 #, c-format
@@ -776,64 +781,74 @@ msgstr ""
 msgid "Cancel withdrawal"
 msgstr ""
 
-#: src/wallet/Settings.tsx:84
+#: src/wallet/Settings.tsx:89
 #, c-format
-msgid "Permissions"
+msgid "Display"
+msgstr ""
+
+#: src/wallet/Settings.tsx:93
+#, c-format
+msgid "Current Language"
+msgstr ""
+
+#: src/wallet/Settings.tsx:102
+#, c-format
+msgid "Navigator"
 msgstr ""
 
-#: src/wallet/Settings.tsx:87
+#: src/wallet/Settings.tsx:105
 #, c-format
 msgid "Automatically open wallet based on page content"
 msgstr ""
 
-#: src/wallet/Settings.tsx:93
+#: src/wallet/Settings.tsx:111
 #, c-format
 msgid ""
 "Enabling this option below will make using the wallet faster, but requires "
 "more permissions from your browser."
 msgstr ""
 
-#: src/wallet/Settings.tsx:104
+#: src/wallet/Settings.tsx:122
 #, c-format
-msgid "Known exchanges"
+msgid "Trust"
 msgstr ""
 
-#: src/wallet/Settings.tsx:108
+#: src/wallet/Settings.tsx:126
 #, c-format
 msgid "No exchange yet"
 msgstr ""
 
-#: src/wallet/Settings.tsx:122
+#: src/wallet/Settings.tsx:140
 #, c-format
 msgid "Term of Service"
 msgstr ""
 
-#: src/wallet/Settings.tsx:138
+#: src/wallet/Settings.tsx:156
 #, c-format
 msgid "ok"
 msgstr ""
 
-#: src/wallet/Settings.tsx:144
+#: src/wallet/Settings.tsx:162
 #, c-format
 msgid "changed"
 msgstr ""
 
-#: src/wallet/Settings.tsx:151
+#: src/wallet/Settings.tsx:169
 #, c-format
 msgid "not accepted"
 msgstr ""
 
-#: src/wallet/Settings.tsx:175
+#: src/wallet/Settings.tsx:193
 #, c-format
 msgid "Add an exchange"
 msgstr ""
 
-#: src/wallet/Settings.tsx:181
+#: src/wallet/Settings.tsx:199
 #, c-format
 msgid "Developer mode"
 msgstr ""
 
-#: src/wallet/Settings.tsx:183
+#: src/wallet/Settings.tsx:201
 #, c-format
 msgid "(More options and information useful for debugging)"
 msgstr ""
@@ -1005,6 +1020,11 @@ msgstr ""
 msgid "Thank you for installing the wallet."
 msgstr ""
 
+#: src/wallet/Welcome.tsx:66
+#, c-format
+msgid "Permissions"
+msgstr ""
+
 #: src/wallet/Welcome.tsx:75
 #, c-format
 msgid ""
@@ -1217,6 +1237,11 @@ msgstr ""
 msgid "Total to withdraw"
 msgstr ""
 
+#: src/cta/Withdraw.tsx:171
+#, c-format
+msgid "Known exchanges"
+msgstr ""
+
 #: src/cta/Withdraw.tsx:187
 #, c-format
 msgid "Cancel exchange selection"
@@ -1262,7 +1287,7 @@ msgstr ""
 msgid "Could not load the list of known exchanges"
 msgstr ""
 
-#: src/walletEntryPoint.tsx:171
+#: src/walletEntryPoint.tsx:172
 #, c-format
 msgid "All done, your transaction is in progress"
 msgstr ""
diff --git a/packages/taler-wallet-webextension/src/i18n/es.po 
b/packages/taler-wallet-webextension/src/i18n/es.po
index 0792d222..1d374913 100644
--- a/packages/taler-wallet-webextension/src/i18n/es.po
+++ b/packages/taler-wallet-webextension/src/i18n/es.po
@@ -19,9 +19,9 @@ msgstr ""
 "POT-Creation-Date: 2016-11-23 00:00+0100\n"
 "PO-Revision-Date: 2022-02-18 19:33+0000\n"
 "Last-Translator: Stefan <eintritt@hotmail.com>\n"
-"Language-Team: Italian <http://weblate.taler.net/projects/gnu-taler/";
-"webextensions/it/>\n"
-"Language: it\n"
+"Language-Team: Spanish <http://weblate.taler.net/projects/gnu-taler/";
+"webextensions/es/>\n"
+"Language: es\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
@@ -93,8 +93,9 @@ msgstr "No tienes balance para mostrar."
 msgid ""
 "To withdraw money you can start from your bank site or click the \"withdraw"
 "\" button to use a known exchange."
-msgstr "Para retirar dinero puedes empezar desde el sitio de tu banco o 
cliquear"
-" en el botón \"extraer\" para usar un exchange conocido"
+msgstr ""
+"Para retirar dinero puedes empezar desde el sitio de tu banco o cliquear en "
+"el botón \"extraer\" para usar un exchange conocido"
 
 #: src/popup/NoBalanceHelp.tsx:23
 #, c-format
@@ -111,7 +112,7 @@ msgstr "No se pudo cargar la página"
 msgid "Deposit %1$s"
 msgstr "Depositar %1$s"
 
-#: src/popup/BalancePage.tsx:118
+#: src/popup/BalancePage.tsx:120
 #, c-format
 msgid "Enter URI"
 msgstr "Ingresar URI"
@@ -131,16 +132,19 @@ msgstr "Problemas detectados:"
 msgid ""
 "Please check in your %1$s settings that you have IndexedDB enabled (check "
 "the preference name %2$s)."
-msgstr "Por favor revisa en tu configuración %1$s que tienes IndexedDB 
habilitado"
-" (el nombre de la preferencia %2$s)."
+msgstr ""
+"Por favor revisa en tu configuración %1$s que tienes IndexedDB habilitado "
+"(el nombre de la preferencia %2$s)."
 
 #: src/components/Diagnostics.tsx:69
 #, c-format
 msgid ""
 "Your wallet database is outdated. Currently automatic migration is not "
 "supported. Please go %1$s to reset the wallet database."
-msgstr "La base de datos de la billetera expiró. Por ahora la migración 
automática "
-"no está soportada. Por favor dirijasé a %1$s para reiniciar la base de datos 
de la billetera"
+msgstr ""
+"La base de datos de la billetera expiró. Por ahora la migración automática "
+"no está soportada. Por favor dirijasé a %1$s para reiniciar la base de datos "
+"de la billetera"
 
 #: src/components/Diagnostics.tsx:85
 #, c-format
@@ -227,8 +231,9 @@ msgstr "cliquear para mostrar"
 msgid ""
 "Do you want to IRREVOCABLY DESTROY everything inside your wallet and LOSE "
 "ALL YOUR COINS?"
-msgstr "Quieres DESTRUIR IRREVOCABLEMENTE todo dentro de tu billetera y PERDER"
-" TODAS TUS MONEDAS?"
+msgstr ""
+"Quieres DESTRUIR IRREVOCABLEMENTE todo dentro de tu billetera y PERDER TODAS "
+"TUS MONEDAS?"
 
 #: src/popup/TalerActionFound.tsx:56
 #, c-format
@@ -255,6 +260,11 @@ msgstr "Esta página tiene una acción de propina."
 msgid "This page has a notify reserve action."
 msgstr "Esta página tiene una acción de notificación de reserva."
 
+#: src/popup/TalerActionFound.tsx:114
+#, c-format
+msgid "Notify"
+msgstr "Notificar"
+
 #: src/popup/TalerActionFound.tsx:121
 #, c-format
 msgid "This page has a refund action."
@@ -398,7 +408,8 @@ msgstr "Ingresar la URL de un exchange que tu confíes."
 #: src/wallet/ExchangeSetUrl.tsx:112
 #, c-format
 msgid "An exchange has been found! Review the information and click next"
-msgstr "Un exchange ha sido encontrado! Revisa la información y cliquea en 
siguente"
+msgstr ""
+"Un exchange ha sido encontrado! Revisa la información y cliquea en siguente"
 
 #: src/wallet/ExchangeSetUrl.tsx:119
 #, c-format
@@ -540,7 +551,9 @@ msgstr "Extender"
 msgid ""
 "terms has changed, extending the service will imply accepting the new terms "
 "of service"
-msgstr "los terminos han cambiado, extender el servicio implicará aceptar los 
nuevos terminos de servicio"
+msgstr ""
+"los terminos han cambiado, extender el servicio implicará aceptar los nuevos "
+"terminos de servicio"
 
 #: src/wallet/ProviderDetailPage.tsx:177
 #, c-format
@@ -602,7 +615,7 @@ msgstr "servicio pagado"
 msgid "Backup valid until"
 msgstr "Backup valido hasta"
 
-#: src/popupEntryPoint.tsx:184
+#: src/popupEntryPoint.tsx:187
 #, c-format
 msgid "this popup is being closed and you are being redirected to %1$s"
 msgstr "Este popup se cerrará y estás siendo redirijido a %1$s"
@@ -623,9 +636,10 @@ msgid ""
 "Choose a exchange from where the coins will be withdrawn. The exchange will "
 "send the coins to this wallet after receiving a wire transfer with the "
 "correct subject."
-msgstr "Elija un exchange desde donde las monedas serán extraídas. El exchange 
"
-"enviará las monedas a esta billetera después de recibir una transferencia con 
"
-"el asunto correcto."
+msgstr ""
+"Elija un exchange desde donde las monedas serán extraídas. El exchange "
+"enviará las monedas a esta billetera después de recibir una transferencia "
+"con el asunto correcto."
 
 #: src/wallet/CreateManualWithdraw.tsx:114
 #, c-format
@@ -761,87 +775,103 @@ msgstr "El exchange está listo para la extracción"
 #, c-format
 msgid ""
 "To complete the process you need to wire %1$s to the exchange bank account"
-msgstr "Para completar el proceso necesitas enviar %1$s a la cuenta bancaria 
del exchange"
+msgstr ""
+"Para completar el proceso necesitas enviar %1$s a la cuenta bancaria del "
+"exchange"
 
 #: src/wallet/ReserveCreated.tsx:53
 #, c-format
 msgid ""
 "Make sure to use the correct subject, otherwise the money will not arrive in "
 "this wallet."
-msgstr "Asegurate de usar el asunto correcto, de otra manera el dinero no 
llegará a esta billetera"
+msgstr ""
+"Asegurate de usar el asunto correcto, de otra manera el dinero no llegará a "
+"esta billetera"
 
 #: src/wallet/ReserveCreated.tsx:62
 #, c-format
 msgid ""
 "Alternative, you can also scan this QR code or open %1$s if you have a "
 "banking app installed that supports RFC 8905"
-msgstr "Alternativamente, también puedes escanear el código QR o abrir %1$s si 
tienes"
-" una aplicación bancaria instalada que soporta RFC 8905"
+msgstr ""
+"Alternativamente, también puedes escanear el código QR o abrir %1$s si "
+"tienes una aplicación bancaria instalada que soporta RFC 8905"
 
 #: src/wallet/ReserveCreated.tsx:73
 #, c-format
 msgid "Cancel withdrawal"
 msgstr "Cancelar extracción"
 
-#: src/wallet/Settings.tsx:84
+#: src/wallet/Settings.tsx:89
 #, c-format
-msgid "Permissions"
-msgstr "Permisos"
+msgid "Display"
+msgstr "Pantalla"
+
+#: src/wallet/Settings.tsx:93
+#, c-format
+msgid "Current Language"
+msgstr "Lenguage actual"
 
-#: src/wallet/Settings.tsx:87
+#: src/wallet/Settings.tsx:102
+#, c-format
+msgid "Navigator"
+msgstr "Navegador"
+
+#: src/wallet/Settings.tsx:105
 #, c-format
 msgid "Automatically open wallet based on page content"
 msgstr "Abrir automáticamente la billetera basado en el contenido de la página"
 
-#: src/wallet/Settings.tsx:93
+#: src/wallet/Settings.tsx:111
 #, c-format
 msgid ""
 "Enabling this option below will make using the wallet faster, but requires "
 "more permissions from your browser."
-msgstr "Habilitar esta opción debajo hará el uso de la billetera mas rápido, 
pero "
+msgstr ""
+"Habilitar esta opción debajo hará el uso de la billetera mas rápido, pero "
 "requiere mas permisos de tu navegador"
 
-#: src/wallet/Settings.tsx:104
+#: src/wallet/Settings.tsx:122
 #, c-format
-msgid "Known exchanges"
-msgstr "Exchange conocidos"
+msgid "Trust"
+msgstr "Confianza"
 
-#: src/wallet/Settings.tsx:108
+#: src/wallet/Settings.tsx:126
 #, c-format
 msgid "No exchange yet"
 msgstr "No hay exchanges todavía"
 
-#: src/wallet/Settings.tsx:122
+#: src/wallet/Settings.tsx:140
 #, c-format
 msgid "Term of Service"
 msgstr "Terminos de servicio"
 
-#: src/wallet/Settings.tsx:138
+#: src/wallet/Settings.tsx:156
 #, c-format
 msgid "ok"
 msgstr "ok"
 
-#: src/wallet/Settings.tsx:144
+#: src/wallet/Settings.tsx:162
 #, c-format
 msgid "changed"
 msgstr "modificado"
 
-#: src/wallet/Settings.tsx:151
+#: src/wallet/Settings.tsx:169
 #, c-format
 msgid "not accepted"
 msgstr "no aceptado"
 
-#: src/wallet/Settings.tsx:175
+#: src/wallet/Settings.tsx:193
 #, c-format
 msgid "Add an exchange"
 msgstr "Agregar un exchange"
 
-#: src/wallet/Settings.tsx:181
+#: src/wallet/Settings.tsx:199
 #, c-format
 msgid "Developer mode"
 msgstr "Modo desarrollador"
 
-#: src/wallet/Settings.tsx:183
+#: src/wallet/Settings.tsx:201
 #, c-format
 msgid "(More options and information useful for debugging)"
 msgstr "(Mas información y opciones útiles para depuración)"
@@ -881,8 +911,9 @@ msgstr "Cuidado!"
 msgid ""
 "If you have already wired money to the exchange you will loose the chance to "
 "get the coins form it."
-msgstr "Si ya has transferido dinero al exchange perderas la oportunidad de "
-"recivir las monedas"
+msgstr ""
+"Si ya has transferido dinero al exchange perderas la oportunidad de recivir "
+"las monedas"
 
 #: src/wallet/Transaction.tsx:211
 #, c-format
@@ -962,17 +993,17 @@ msgstr "Monto a depositar"
 #: src/wallet/Transaction.tsx:447
 #, c-format
 msgid "Refresh"
-msgstr ""
+msgstr "Actualizar"
 
 #: src/wallet/Transaction.tsx:453
 #, c-format
 msgid "Total refresh"
-msgstr ""
+msgstr "Actualización total"
 
 #: src/wallet/Transaction.tsx:459
 #, c-format
 msgid "Refresh amount"
-msgstr ""
+msgstr "Monto de actualización"
 
 #: src/wallet/Transaction.tsx:481
 #, c-format
@@ -1014,12 +1045,18 @@ msgstr "Extensión del navegador instalada!"
 msgid "Thank you for installing the wallet."
 msgstr "Gracias por haber instalado la billetera."
 
+#: src/wallet/Welcome.tsx:66
+#, c-format
+msgid "Permissions"
+msgstr "Permisos"
+
 #: src/wallet/Welcome.tsx:75
 #, c-format
 msgid ""
 "(Enabling this option below will make using the wallet faster, but requires "
 "more permissions from your browser.)"
-msgstr "(Habilitar esta opción debajo hará el uso de la billetera mas rápido, 
pero "
+msgstr ""
+"(Habilitar esta opción debajo hará el uso de la billetera mas rápido, pero "
 "requiere mas permisos de tu navegador)"
 
 #: src/wallet/Welcome.tsx:85
@@ -1045,7 +1082,8 @@ msgstr "No se pudo cargar el estado del pago"
 #: src/cta/Pay.tsx:189
 #, c-format
 msgid "Could not load contract terms from merchant or wallet backend."
-msgstr "No se pudo cargar los terminos de contrato del comerciante o de la 
billetera."
+msgstr ""
+"No se pudo cargar los terminos de contrato del comerciante o de la billetera."
 
 #: src/cta/Pay.tsx:216
 #, c-format
@@ -1185,12 +1223,15 @@ msgstr "Actualizando el estado de reembolso"
 #: src/cta/Tip.tsx:49
 #, c-format
 msgid "Tip from %1$s accepted. Check your transactions list for more details."
-msgstr "Propina de %1$s aceptada. Revisa tu lista de transacciones para mas 
detalle."
+msgstr ""
+"Propina de %1$s aceptada. Revisa tu lista de transacciones para mas detalle."
 
 #: src/cta/Tip.tsx:57
 #, c-format
 msgid "The merchant %1$s is offering you a tip of %2$s via the exchange %3$s"
-msgstr "El comerciante %1$s está ofreciendo una propina de %2$s usando el 
exchange %3$s"
+msgstr ""
+"El comerciante %1$s está ofreciendo una propina de %2$s usando el exchange "
+"%3$s"
 
 #: src/cta/Tip.tsx:67
 #, c-format
@@ -1227,6 +1268,11 @@ msgstr "No se pudo completar la operación de extracción"
 msgid "Total to withdraw"
 msgstr "Total a extraer"
 
+#: src/cta/Withdraw.tsx:171
+#, c-format
+msgid "Known exchanges"
+msgstr "Exchange conocidos"
+
 #: src/cta/Withdraw.tsx:187
 #, c-format
 msgid "Cancel exchange selection"
@@ -1272,7 +1318,7 @@ msgstr "No se pudo obtener la información desde la URI"
 msgid "Could not load the list of known exchanges"
 msgstr "No se pudo cargar la lista de exchange conocidos"
 
-#: src/walletEntryPoint.tsx:171
+#: src/walletEntryPoint.tsx:172
 #, c-format
 msgid "All done, your transaction is in progress"
 msgstr "Todo completo, su transacción está en progreso"
@@ -1317,14 +1363,16 @@ msgstr "Reinicio Manual Necesario"
 msgid ""
 "The wallet&apos;s database in your browser is incompatible with the "
 "currently installed wallet. Please reset manually."
-msgstr "La base de datos de billetera en tu navegador es incompatible con la "
+msgstr ""
+"La base de datos de billetera en tu navegador es incompatible con la "
 "billetera instalada actualmente. Por favor reinicie manualmente"
 
 #: src/cta/reset-required.tsx:63
 #, c-format
 msgid ""
 "Once the database format has stabilized, we will provide automatic upgrades."
-msgstr "Una vez que el formato de la base de datos esté estabilizzado, 
proveeremos "
+msgstr ""
+"Una vez que el formato de la base de datos esté estabilizzado, proveeremos "
 "de actualizaciones automáticas"
 
 #: src/cta/reset-required.tsx:77
diff --git a/packages/taler-wallet-webextension/src/i18n/fr.po 
b/packages/taler-wallet-webextension/src/i18n/fr.po
index 8b8e564b..ef439e4d 100644
--- a/packages/taler-wallet-webextension/src/i18n/fr.po
+++ b/packages/taler-wallet-webextension/src/i18n/fr.po
@@ -110,7 +110,7 @@ msgstr ""
 msgid "Deposit %1$s"
 msgstr ""
 
-#: src/popup/BalancePage.tsx:118
+#: src/popup/BalancePage.tsx:120
 #, c-format
 msgid "Enter URI"
 msgstr ""
@@ -251,6 +251,11 @@ msgstr ""
 msgid "This page has a notify reserve action."
 msgstr ""
 
+#: src/popup/TalerActionFound.tsx:114
+#, c-format
+msgid "Notify"
+msgstr ""
+
 #: src/popup/TalerActionFound.tsx:121
 #, c-format
 msgid "This page has a refund action."
@@ -598,7 +603,7 @@ msgstr ""
 msgid "Backup valid until"
 msgstr ""
 
-#: src/popupEntryPoint.tsx:184
+#: src/popupEntryPoint.tsx:187
 #, c-format
 msgid "this popup is being closed and you are being redirected to %1$s"
 msgstr ""
@@ -776,64 +781,74 @@ msgstr ""
 msgid "Cancel withdrawal"
 msgstr ""
 
-#: src/wallet/Settings.tsx:84
+#: src/wallet/Settings.tsx:89
 #, c-format
-msgid "Permissions"
+msgid "Display"
+msgstr ""
+
+#: src/wallet/Settings.tsx:93
+#, c-format
+msgid "Current Language"
+msgstr ""
+
+#: src/wallet/Settings.tsx:102
+#, c-format
+msgid "Navigator"
 msgstr ""
 
-#: src/wallet/Settings.tsx:87
+#: src/wallet/Settings.tsx:105
 #, c-format
 msgid "Automatically open wallet based on page content"
 msgstr ""
 
-#: src/wallet/Settings.tsx:93
+#: src/wallet/Settings.tsx:111
 #, c-format
 msgid ""
 "Enabling this option below will make using the wallet faster, but requires "
 "more permissions from your browser."
 msgstr ""
 
-#: src/wallet/Settings.tsx:104
+#: src/wallet/Settings.tsx:122
 #, c-format
-msgid "Known exchanges"
+msgid "Trust"
 msgstr ""
 
-#: src/wallet/Settings.tsx:108
+#: src/wallet/Settings.tsx:126
 #, c-format
 msgid "No exchange yet"
 msgstr ""
 
-#: src/wallet/Settings.tsx:122
+#: src/wallet/Settings.tsx:140
 #, c-format
 msgid "Term of Service"
 msgstr ""
 
-#: src/wallet/Settings.tsx:138
+#: src/wallet/Settings.tsx:156
 #, c-format
 msgid "ok"
 msgstr ""
 
-#: src/wallet/Settings.tsx:144
+#: src/wallet/Settings.tsx:162
 #, c-format
 msgid "changed"
 msgstr ""
 
-#: src/wallet/Settings.tsx:151
+#: src/wallet/Settings.tsx:169
 #, c-format
 msgid "not accepted"
 msgstr ""
 
-#: src/wallet/Settings.tsx:175
+#: src/wallet/Settings.tsx:193
 #, c-format
 msgid "Add an exchange"
 msgstr ""
 
-#: src/wallet/Settings.tsx:181
+#: src/wallet/Settings.tsx:199
 #, c-format
 msgid "Developer mode"
 msgstr ""
 
-#: src/wallet/Settings.tsx:183
+#: src/wallet/Settings.tsx:201
 #, c-format
 msgid "(More options and information useful for debugging)"
 msgstr ""
@@ -1005,6 +1020,11 @@ msgstr ""
 msgid "Thank you for installing the wallet."
 msgstr ""
 
+#: src/wallet/Welcome.tsx:66
+#, c-format
+msgid "Permissions"
+msgstr ""
+
 #: src/wallet/Welcome.tsx:75
 #, c-format
 msgid ""
@@ -1217,6 +1237,11 @@ msgstr ""
 msgid "Total to withdraw"
 msgstr ""
 
+#: src/cta/Withdraw.tsx:171
+#, c-format
+msgid "Known exchanges"
+msgstr ""
+
 #: src/cta/Withdraw.tsx:187
 #, c-format
 msgid "Cancel exchange selection"
@@ -1262,7 +1287,7 @@ msgstr ""
 msgid "Could not load the list of known exchanges"
 msgstr ""
 
-#: src/walletEntryPoint.tsx:171
+#: src/walletEntryPoint.tsx:172
 #, c-format
 msgid "All done, your transaction is in progress"
 msgstr ""
diff --git a/packages/taler-wallet-webextension/src/i18n/it.po 
b/packages/taler-wallet-webextension/src/i18n/it.po
index f9daaa31..9e51b7fe 100644
--- a/packages/taler-wallet-webextension/src/i18n/it.po
+++ b/packages/taler-wallet-webextension/src/i18n/it.po
@@ -110,7 +110,7 @@ msgstr ""
 msgid "Deposit %1$s"
 msgstr ""
 
-#: src/popup/BalancePage.tsx:118
+#: src/popup/BalancePage.tsx:120
 #, c-format
 msgid "Enter URI"
 msgstr ""
@@ -251,6 +251,11 @@ msgstr ""
 msgid "This page has a notify reserve action."
 msgstr ""
 
+#: src/popup/TalerActionFound.tsx:114
+#, c-format
+msgid "Notify"
+msgstr ""
+
 #: src/popup/TalerActionFound.tsx:121
 #, c-format
 msgid "This page has a refund action."
@@ -598,7 +603,7 @@ msgstr ""
 msgid "Backup valid until"
 msgstr ""
 
-#: src/popupEntryPoint.tsx:184
+#: src/popupEntryPoint.tsx:187
 #, c-format
 msgid "this popup is being closed and you are being redirected to %1$s"
 msgstr ""
@@ -776,64 +781,74 @@ msgstr ""
 msgid "Cancel withdrawal"
 msgstr ""
 
-#: src/wallet/Settings.tsx:84
+#: src/wallet/Settings.tsx:89
 #, c-format
-msgid "Permissions"
+msgid "Display"
+msgstr ""
+
+#: src/wallet/Settings.tsx:93
+#, c-format
+msgid "Current Language"
+msgstr ""
+
+#: src/wallet/Settings.tsx:102
+#, c-format
+msgid "Navigator"
 msgstr ""
 
-#: src/wallet/Settings.tsx:87
+#: src/wallet/Settings.tsx:105
 #, c-format
 msgid "Automatically open wallet based on page content"
 msgstr ""
 
-#: src/wallet/Settings.tsx:93
+#: src/wallet/Settings.tsx:111
 #, c-format
 msgid ""
 "Enabling this option below will make using the wallet faster, but requires "
 "more permissions from your browser."
 msgstr ""
 
-#: src/wallet/Settings.tsx:104
+#: src/wallet/Settings.tsx:122
 #, c-format
-msgid "Known exchanges"
+msgid "Trust"
 msgstr ""
 
-#: src/wallet/Settings.tsx:108
+#: src/wallet/Settings.tsx:126
 #, c-format
 msgid "No exchange yet"
 msgstr ""
 
-#: src/wallet/Settings.tsx:122
+#: src/wallet/Settings.tsx:140
 #, c-format
 msgid "Term of Service"
 msgstr ""
 
-#: src/wallet/Settings.tsx:138
+#: src/wallet/Settings.tsx:156
 #, c-format
 msgid "ok"
 msgstr ""
 
-#: src/wallet/Settings.tsx:144
+#: src/wallet/Settings.tsx:162
 #, c-format
 msgid "changed"
 msgstr ""
 
-#: src/wallet/Settings.tsx:151
+#: src/wallet/Settings.tsx:169
 #, c-format
 msgid "not accepted"
 msgstr ""
 
-#: src/wallet/Settings.tsx:175
+#: src/wallet/Settings.tsx:193
 #, c-format
 msgid "Add an exchange"
 msgstr ""
 
-#: src/wallet/Settings.tsx:181
+#: src/wallet/Settings.tsx:199
 #, c-format
 msgid "Developer mode"
 msgstr ""
 
-#: src/wallet/Settings.tsx:183
+#: src/wallet/Settings.tsx:201
 #, c-format
 msgid "(More options and information useful for debugging)"
 msgstr ""
@@ -1005,6 +1020,11 @@ msgstr ""
 msgid "Thank you for installing the wallet."
 msgstr ""
 
+#: src/wallet/Welcome.tsx:66
+#, c-format
+msgid "Permissions"
+msgstr ""
+
 #: src/wallet/Welcome.tsx:75
 #, c-format
 msgid ""
@@ -1217,6 +1237,11 @@ msgstr ""
 msgid "Total to withdraw"
 msgstr ""
 
+#: src/cta/Withdraw.tsx:171
+#, c-format
+msgid "Known exchanges"
+msgstr ""
+
 #: src/cta/Withdraw.tsx:187
 #, c-format
 msgid "Cancel exchange selection"
@@ -1262,7 +1287,7 @@ msgstr ""
 msgid "Could not load the list of known exchanges"
 msgstr ""
 
-#: src/walletEntryPoint.tsx:171
+#: src/walletEntryPoint.tsx:172
 #, c-format
 msgid "All done, your transaction is in progress"
 msgstr ""
diff --git a/packages/taler-wallet-webextension/src/i18n/it.po 
b/packages/taler-wallet-webextension/src/i18n/ja.po
similarity index 94%
copy from packages/taler-wallet-webextension/src/i18n/it.po
copy to packages/taler-wallet-webextension/src/i18n/ja.po
index f9daaa31..e7d0bdd8 100644
--- a/packages/taler-wallet-webextension/src/i18n/it.po
+++ b/packages/taler-wallet-webextension/src/i18n/ja.po
@@ -17,11 +17,11 @@ msgstr ""
 "Project-Id-Version: Taler Wallet\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2016-11-23 00:00+0100\n"
-"PO-Revision-Date: 2022-02-18 19:33+0000\n"
+"PO-Revision-Date: 2022-02-18 17:20+0000\n"
 "Last-Translator: Stefan <eintritt@hotmail.com>\n"
-"Language-Team: Italian <http://weblate.taler.net/projects/gnu-taler/";
-"webextensions/it/>\n"
-"Language: it\n"
+"Language-Team: Japanese <http://weblate.taler.net/projects/gnu-taler/";
+"webextensions/ja/>\n"
+"Language: ja\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
@@ -31,17 +31,17 @@ msgstr ""
 #: src/NavigationBar.tsx:70
 #, c-format
 msgid "Balance"
-msgstr ""
+msgstr "残高"
 
 #: src/NavigationBar.tsx:73
 #, c-format
 msgid "Backup"
-msgstr ""
+msgstr "バックアップ"
 
 #: src/NavigationBar.tsx:77
 #, c-format
 msgid "Settings"
-msgstr ""
+msgstr "設定"
 
 #: src/NavigationBar.tsx:96
 #, c-format
@@ -74,7 +74,7 @@ msgid "Open tip page"
 msgstr ""
 
 #: src/wallet/AddNewActionView.tsx:22
-#, c-format
+#, fuzzy, c-format
 msgid "Open withdraw page"
 msgstr ""
 
@@ -84,21 +84,21 @@ msgid "Back"
 msgstr ""
 
 #: src/popup/NoBalanceHelp.tsx:14
-#, c-format
+#, fuzzy, c-format
 msgid "You have no balance to show."
-msgstr ""
+msgstr "表示するバランスがありません"
 
 #: src/popup/NoBalanceHelp.tsx:17
 #, c-format
 msgid ""
 "To withdraw money you can start from your bank site or click the \"withdraw"
 "\" button to use a known exchange."
-msgstr ""
+msgstr "お金を引き出すには、銀行のサイトから開始するか、[引き出し]ボタンをクリックして既知の取引所を使用します。"
 
 #: src/popup/NoBalanceHelp.tsx:23
-#, c-format
+#, fuzzy, c-format
 msgid "Withdraw"
-msgstr ""
+msgstr "撤退"
 
 #: src/popup/BalancePage.tsx:52
 #, c-format
@@ -110,7 +110,7 @@ msgstr ""
 msgid "Deposit %1$s"
 msgstr ""
 
-#: src/popup/BalancePage.tsx:118
+#: src/popup/BalancePage.tsx:120
 #, c-format
 msgid "Enter URI"
 msgstr ""
@@ -145,7 +145,7 @@ msgid "Running diagnostics"
 msgstr ""
 
 #: src/popup/DeveloperPage.tsx:154
-#, c-format
+#, fuzzy, c-format
 msgid "Debug tools"
 msgstr ""
 
@@ -251,6 +251,11 @@ msgstr ""
 msgid "This page has a notify reserve action."
 msgstr ""
 
+#: src/popup/TalerActionFound.tsx:114
+#, c-format
+msgid "Notify"
+msgstr ""
+
 #: src/popup/TalerActionFound.tsx:121
 #, c-format
 msgid "This page has a refund action."
@@ -598,7 +603,7 @@ msgstr ""
 msgid "Backup valid until"
 msgstr ""
 
-#: src/popupEntryPoint.tsx:184
+#: src/popupEntryPoint.tsx:187
 #, c-format
 msgid "this popup is being closed and you are being redirected to %1$s"
 msgstr ""
@@ -609,7 +614,7 @@ msgid "Select one option"
 msgstr ""
 
 #: src/wallet/CreateManualWithdraw.tsx:103
-#, c-format
+#, fuzzy, c-format
 msgid "Manual Withdrawal"
 msgstr ""
 
@@ -652,7 +657,7 @@ msgid "Start withdrawal"
 msgstr ""
 
 #: src/wallet/DepositPage.tsx:138
-#, c-format
+#, fuzzy, c-format
 msgid "no balance"
 msgstr ""
 
@@ -687,7 +692,7 @@ msgid "Deposit"
 msgstr ""
 
 #: src/wallet/DepositPage.tsx:251
-#, c-format
+#, fuzzy, c-format
 msgid "Deposit %1$s %2$s"
 msgstr ""
 
@@ -776,64 +781,74 @@ msgstr ""
 msgid "Cancel withdrawal"
 msgstr ""
 
-#: src/wallet/Settings.tsx:84
+#: src/wallet/Settings.tsx:89
 #, c-format
-msgid "Permissions"
+msgid "Display"
+msgstr ""
+
+#: src/wallet/Settings.tsx:93
+#, c-format
+msgid "Current Language"
+msgstr ""
+
+#: src/wallet/Settings.tsx:102
+#, c-format
+msgid "Navigator"
 msgstr ""
 
-#: src/wallet/Settings.tsx:87
+#: src/wallet/Settings.tsx:105
 #, c-format
 msgid "Automatically open wallet based on page content"
 msgstr ""
 
-#: src/wallet/Settings.tsx:93
+#: src/wallet/Settings.tsx:111
 #, c-format
 msgid ""
 "Enabling this option below will make using the wallet faster, but requires "
 "more permissions from your browser."
 msgstr ""
 
-#: src/wallet/Settings.tsx:104
+#: src/wallet/Settings.tsx:122
 #, c-format
-msgid "Known exchanges"
+msgid "Trust"
 msgstr ""
 
-#: src/wallet/Settings.tsx:108
+#: src/wallet/Settings.tsx:126
 #, c-format
 msgid "No exchange yet"
 msgstr ""
 
-#: src/wallet/Settings.tsx:122
+#: src/wallet/Settings.tsx:140
 #, c-format
 msgid "Term of Service"
 msgstr ""
 
-#: src/wallet/Settings.tsx:138
+#: src/wallet/Settings.tsx:156
 #, c-format
 msgid "ok"
 msgstr ""
 
-#: src/wallet/Settings.tsx:144
+#: src/wallet/Settings.tsx:162
 #, c-format
 msgid "changed"
 msgstr ""
 
-#: src/wallet/Settings.tsx:151
+#: src/wallet/Settings.tsx:169
 #, c-format
 msgid "not accepted"
 msgstr ""
 
-#: src/wallet/Settings.tsx:175
+#: src/wallet/Settings.tsx:193
 #, c-format
 msgid "Add an exchange"
 msgstr ""
 
-#: src/wallet/Settings.tsx:181
+#: src/wallet/Settings.tsx:199
 #, c-format
 msgid "Developer mode"
 msgstr ""
 
-#: src/wallet/Settings.tsx:183
+#: src/wallet/Settings.tsx:201
 #, c-format
 msgid "(More options and information useful for debugging)"
 msgstr ""
@@ -878,15 +893,15 @@ msgstr ""
 #: src/wallet/Transaction.tsx:211
 #, c-format
 msgid "Confirm"
-msgstr "Confermare"
+msgstr ""
 
 #: src/wallet/Transaction.tsx:218
-#, c-format
+#, fuzzy, c-format
 msgid "Withdrawal"
 msgstr ""
 
 #: src/wallet/Transaction.tsx:243
-#, c-format
+#, fuzzy, c-format
 msgid "Total withdrawn"
 msgstr ""
 
@@ -906,7 +921,7 @@ msgid "Waiting for the coins to arrive"
 msgstr ""
 
 #: src/wallet/Transaction.tsx:342
-#, c-format
+#, fuzzy, c-format
 msgid "Payment"
 msgstr ""
 
@@ -1005,6 +1020,11 @@ msgstr ""
 msgid "Thank you for installing the wallet."
 msgstr ""
 
+#: src/wallet/Welcome.tsx:66
+#, c-format
+msgid "Permissions"
+msgstr ""
+
 #: src/wallet/Welcome.tsx:75
 #, c-format
 msgid ""
@@ -1073,7 +1093,7 @@ msgid "Your balance is not enough to pay for this 
purchase."
 msgstr ""
 
 #: src/cta/Pay.tsx:287
-#, c-format
+#, fuzzy, c-format
 msgid "Withdraw digital cash"
 msgstr ""
 
@@ -1178,7 +1198,7 @@ msgid "Tip from %1$s accepted. Check your transactions 
list for more details."
 msgstr ""
 
 #: src/cta/Tip.tsx:57
-#, c-format
+#, fuzzy, c-format
 msgid "The merchant %1$s is offering you a tip of %2$s via the exchange %3$s"
 msgstr ""
 
@@ -1217,6 +1237,11 @@ msgstr ""
 msgid "Total to withdraw"
 msgstr ""
 
+#: src/cta/Withdraw.tsx:171
+#, c-format
+msgid "Known exchanges"
+msgstr ""
+
 #: src/cta/Withdraw.tsx:187
 #, c-format
 msgid "Cancel exchange selection"
@@ -1238,7 +1263,7 @@ msgid "Confirm withdrawal"
 msgstr ""
 
 #: src/cta/Withdraw.tsx:224
-#, c-format
+#, fuzzy, c-format
 msgid "Withdraw anyway"
 msgstr ""
 
@@ -1262,7 +1287,7 @@ msgstr ""
 msgid "Could not load the list of known exchanges"
 msgstr ""
 
-#: src/walletEntryPoint.tsx:171
+#: src/walletEntryPoint.tsx:172
 #, c-format
 msgid "All done, your transaction is in progress"
 msgstr ""
@@ -1339,3 +1364,4 @@ msgstr ""
 #, c-format
 msgid "Not implemented yet."
 msgstr ""
+
diff --git a/packages/taler-wallet-webextension/src/i18n/strings.ts 
b/packages/taler-wallet-webextension/src/i18n/strings.ts
index 27888d21..73cca092 100644
--- a/packages/taler-wallet-webextension/src/i18n/strings.ts
+++ b/packages/taler-wallet-webextension/src/i18n/strings.ts
@@ -1,3 +1,5 @@
+export const strings: any = {};
+
 strings['de'] = {
   "domain": "messages",
   "locale_data": {
@@ -136,6 +138,9 @@ strings['de'] = {
       "This page has a notify reserve action.": [
         ""
       ],
+      "Notify": [
+        ""
+      ],
       "This page has a refund action.": [
         ""
       ],
@@ -445,7 +450,13 @@ strings['de'] = {
       "Cancel withdrawal": [
         ""
       ],
-      "Permissions": [
+      "Display": [
+        ""
+      ],
+      "Current Language": [
+        ""
+      ],
+      "Navigator": [
         ""
       ],
       "Automatically open wallet based on page content": [
@@ -454,7 +465,7 @@ strings['de'] = {
       "Enabling this option below will make using the wallet faster, but 
requires more permissions from your browser.": [
         ""
       ],
-      "Known exchanges": [
+      "Trust": [
         ""
       ],
       "No exchange yet": [
@@ -580,6 +591,9 @@ strings['de'] = {
       "Thank you for installing the wallet.": [
         ""
       ],
+      "Permissions": [
+        ""
+      ],
       "(Enabling this option below will make using the wallet faster, but 
requires more permissions from your browser.)": [
         ""
       ],
@@ -706,6 +720,9 @@ strings['de'] = {
       "Total to withdraw": [
         ""
       ],
+      "Known exchanges": [
+        ""
+      ],
       "Cancel exchange selection": [
         ""
       ],
@@ -792,7 +809,7 @@ strings['en-US'] = {
         "lang": "en-US"
       },
       "Balance": [
-        "Credit"
+        "Balance"
       ],
       "Backup": [
         ""
@@ -920,6 +937,9 @@ strings['en-US'] = {
       "This page has a notify reserve action.": [
         ""
       ],
+      "Notify": [
+        ""
+      ],
       "This page has a refund action.": [
         ""
       ],
@@ -1158,7 +1178,7 @@ strings['en-US'] = {
         ""
       ],
       "no balance": [
-        "Credit"
+        "no balance"
       ],
       "There is no known bank account to send money to": [
         ""
@@ -1188,148 +1208,953 @@ strings['en-US'] = {
         ""
       ],
       "Could not load the list of transactions": [
-        ""
+        ""
+      ],
+      "There is no history for this currency": [
+        ""
+      ],
+      "Account": [
+        ""
+      ],
+      "Bank host": [
+        ""
+      ],
+      "Bank account": [
+        ""
+      ],
+      "IBAN": [
+        ""
+      ],
+      "Chosen amount": [
+        ""
+      ],
+      "Subject": [
+        ""
+      ],
+      "could not parse payto uri from exchange %1$s": [
+        ""
+      ],
+      "Exchange is ready for withdrawal": [
+        ""
+      ],
+      "To complete the process you need to wire %1$s to the exchange bank 
account": [
+        ""
+      ],
+      "Make sure to use the correct subject, otherwise the money will not 
arrive in this wallet.": [
+        ""
+      ],
+      "Alternative, you can also scan this QR code or open %1$s if you have a 
banking app installed that supports RFC 8905": [
+        ""
+      ],
+      "Cancel withdrawal": [
+        ""
+      ],
+      "Display": [
+        ""
+      ],
+      "Current Language": [
+        ""
+      ],
+      "Navigator": [
+        ""
+      ],
+      "Automatically open wallet based on page content": [
+        ""
+      ],
+      "Enabling this option below will make using the wallet faster, but 
requires more permissions from your browser.": [
+        ""
+      ],
+      "Trust": [
+        ""
+      ],
+      "No exchange yet": [
+        ""
+      ],
+      "Term of Service": [
+        ""
+      ],
+      "ok": [
+        ""
+      ],
+      "changed": [
+        ""
+      ],
+      "not accepted": [
+        ""
+      ],
+      "Add an exchange": [
+        ""
+      ],
+      "Developer mode": [
+        ""
+      ],
+      "(More options and information useful for debugging)": [
+        ""
+      ],
+      "Could not load the transaction information": [
+        ""
+      ],
+      "There was an error trying to complete the transaction": [
+        ""
+      ],
+      "This transaction is not completed": [
+        ""
+      ],
+      "Retry": [
+        ""
+      ],
+      "Forget": [
+        ""
+      ],
+      "Caution!": [
+        ""
+      ],
+      "If you have already wired money to the exchange you will loose the 
chance to get the coins form it.": [
+        ""
+      ],
+      "Confirm": [
+        "Accept"
+      ],
+      "Withdrawal": [
+        ""
+      ],
+      "Total withdrawn": [
+        ""
+      ],
+      "Exchange fee": [
+        ""
+      ],
+      "The bank is waiting for confirmation. Go to the %1$s": [
+        ""
+      ],
+      "Waiting for the coins to arrive": [
+        ""
+      ],
+      "Payment": [
+        ""
+      ],
+      "Total paid": [
+        ""
+      ],
+      "Purchase amount": [
+        ""
+      ],
+      "Fee": [
+        ""
+      ],
+      "Merchant": [
+        ""
+      ],
+      "Purchase": [
+        ""
+      ],
+      "Receipt": [
+        ""
+      ],
+      "Total send": [
+        ""
+      ],
+      "Deposit amount": [
+        ""
+      ],
+      "Refresh": [
+        ""
+      ],
+      "Total refresh": [
+        ""
+      ],
+      "Refresh amount": [
+        ""
+      ],
+      "Tip": [
+        ""
+      ],
+      "Total tip": [
+        ""
+      ],
+      "Received amount": [
+        ""
+      ],
+      "Refund": [
+        ""
+      ],
+      "Total refund": [
+        ""
+      ],
+      "Refund amount": [
+        ""
+      ],
+      "Browser Extension Installed!": [
+        ""
+      ],
+      "Thank you for installing the wallet.": [
+        ""
+      ],
+      "Permissions": [
+        ""
+      ],
+      "(Enabling this option below will make using the wallet faster, but 
requires more permissions from your browser.)": [
+        ""
+      ],
+      "Next Steps": [
+        ""
+      ],
+      "Try the demo": [
+        ""
+      ],
+      "Learn how to top up your wallet balance": [
+        ""
+      ],
+      "Could not load pay status": [
+        ""
+      ],
+      "Could not load contract terms from merchant or wallet backend.": [
+        ""
+      ],
+      "Pay with a mobile phone": [
+        ""
+      ],
+      "Hide QR": [
+        ""
+      ],
+      "Scan the QR code or %1$s": [
+        ""
+      ],
+      "Processing": [
+        ""
+      ],
+      "Pay %1$s": [
+        ""
+      ],
+      "Your balance of %1$s is not enough to pay for this purchase": [
+        ""
+      ],
+      "Your balance is not enough to pay for this purchase.": [
+        ""
+      ],
+      "Withdraw digital cash": [
+        ""
+      ],
+      "Merchant message": [
+        ""
+      ],
+      "Digital cash payment": [
+        ""
+      ],
+      "Already paid, you are going to be redirected to %1$s": [
+        ""
+      ],
+      "Already paid": [
+        ""
+      ],
+      "Already claimed": [
+        ""
+      ],
+      "Payment complete": [
+        ""
+      ],
+      "You are going to be redirected to $ %1$s": [
+        ""
+      ],
+      "You can close this page.": [
+        ""
+      ],
+      "Total to pay": [
+        ""
+      ],
+      "List of products": [
+        ""
+      ],
+      "Total": [
+        ""
+      ],
+      "free": [
+        ""
+      ],
+      "Refund Status": [
+        ""
+      ],
+      "The product %1$s has received a total effective refund of": [
+        ""
+      ],
+      "Refund processing is still in progress.": [
+        ""
+      ],
+      "The refund amount of %1$s could not be applied.": [
+        ""
+      ],
+      "missing taler refund uri": [
+        ""
+      ],
+      "Error: %1$s": [
+        ""
+      ],
+      "Updating refund status": [
+        ""
+      ],
+      "Tip from %1$s accepted. Check your transactions list for more 
details.": [
+        ""
+      ],
+      "The merchant %1$s is offering you a tip of %2$s via the exchange %3$s": 
[
+        ""
+      ],
+      "Accept tip": [
+        ""
+      ],
+      "Ignore": [
+        ""
+      ],
+      "missing tip uri": [
+        ""
+      ],
+      "You've ignored the tip.": [
+        ""
+      ],
+      "Digital cash withdrawal": [
+        ""
+      ],
+      "Could not finish the withdrawal operation": [
+        ""
+      ],
+      "Total to withdraw": [
+        ""
+      ],
+      "Known exchanges": [
+        ""
+      ],
+      "Cancel exchange selection": [
+        ""
+      ],
+      "Confirm exchange selection": [
+        ""
+      ],
+      "Switch exchange": [
+        ""
+      ],
+      "Confirm withdrawal": [
+        ""
+      ],
+      "Withdraw anyway": [
+        ""
+      ],
+      "Could not load the withdrawal details": [
+        ""
+      ],
+      "missing withdraw uri": [
+        ""
+      ],
+      "Could not get the info from the URI": [
+        ""
+      ],
+      "Could not load the list of known exchanges": [
+        ""
+      ],
+      "All done, your transaction is in progress": [
+        ""
+      ],
+      "Edit": [
+        ""
+      ],
+      "missing pay uri": [
+        ""
+      ],
+      "Could not get the payment information for this order": [
+        ""
+      ],
+      "Loading payment information": [
+        ""
+      ],
+      "Digital cash deposit": [
+        ""
+      ],
+      "You will now be sent back to the merchant you came from.": [
+        ""
+      ],
+      "Manual Reset Required": [
+        ""
+      ],
+      "The wallet&apos;s database in your browser is incompatible with the 
currently installed wallet. Please reset manually.": [
+        ""
+      ],
+      "Once the database format has stabilized, we will provide automatic 
upgrades.": [
+        ""
+      ],
+      "I understand that I will lose all my data": [
+        ""
+      ],
+      "Reset": [
+        ""
+      ],
+      "Everything is fine!": [
+        ""
+      ],
+      "A reset is not required anymore, you can close this page.": [
+        ""
+      ],
+      "Not implemented yet.": [
+        ""
+      ]
+    }
+  }
+};
+
+strings['es'] = {
+  "domain": "messages",
+  "locale_data": {
+    "messages": {
+      "": {
+        "domain": "messages",
+        "plural_forms": "nplurals=2; plural=n != 1;",
+        "lang": "es"
+      },
+      "Balance": [
+        "Balance"
+      ],
+      "Backup": [
+        ""
+      ],
+      "Settings": [
+        "Configuración"
+      ],
+      "Dev": [
+        "Dev"
+      ],
+      "Loading": [
+        "Cargando"
+      ],
+      "Open reserve page": [
+        "Abrir página de reserva"
+      ],
+      "Open pay page": [
+        "Abrir página de pago"
+      ],
+      "Open refund page": [
+        "Abrir página de devolución"
+      ],
+      "Open tip page": [
+        "Abrir página de propina"
+      ],
+      "Open withdraw page": [
+        "Abrir página de extracción"
+      ],
+      "Back": [
+        "Volver"
+      ],
+      "You have no balance to show.": [
+        "No tienes balance para mostrar."
+      ],
+      "To withdraw money you can start from your bank site or click the 
\"withdraw\" button to use a known exchange.": [
+        "Para retirar dinero puedes empezar desde el sitio de tu banco o 
cliquear en el botón \"extraer\" para usar un exchange conocido"
+      ],
+      "Withdraw": [
+        "Extraer"
+      ],
+      "Could not load balance page": [
+        "No se pudo cargar la página"
+      ],
+      "Deposit %1$s": [
+        "Depositar %1$s"
+      ],
+      "Enter URI": [
+        "Ingresar URI"
+      ],
+      "Diagnostics timed out. Could not talk to the wallet backend.": [
+        "El diagnóstico caducó. No nos pudimos comunicar con la billetera."
+      ],
+      "Problems detected:": [
+        "Problemas detectados:"
+      ],
+      "Please check in your %1$s settings that you have IndexedDB enabled 
(check the preference name %2$s).": [
+        "Por favor revisa en tu configuración %1$s que tienes IndexedDB 
habilitado (el nombre de la preferencia %2$s)."
+      ],
+      "Your wallet database is outdated. Currently automatic migration is not 
supported. Please go %1$s to reset the wallet database.": [
+        "La base de datos de la billetera expiró. Por ahora la migración 
automática no está soportada. Por favor dirijasé a %1$s para reiniciar la base 
de datos de la billetera"
+      ],
+      "Running diagnostics": [
+        "Ejecutando diagnósticos"
+      ],
+      "Debug tools": [
+        "Herramientas de desarrollo"
+      ],
+      "reset": [
+        "Reiniciar"
+      ],
+      "import database": [
+        "Importar base de datos"
+      ],
+      "export database": [
+        "Exportar base de datos"
+      ],
+      "Database exported at %1$s %2$s to download": [
+        "Base de datos exportada a %1$s %2$s para descargar"
+      ],
+      "Coins": [
+        "Monedas"
+      ],
+      "Pending operations": [
+        "Operaciones pendientes"
+      ],
+      "usable coins": [
+        "monedas usables"
+      ],
+      "id": [
+        "id"
+      ],
+      "denom": [
+        "denominación"
+      ],
+      "value": [
+        "valor"
+      ],
+      "status": [
+        "estado"
+      ],
+      "from refresh?": [
+        "desde refresco?"
+      ],
+      "spent coins": [
+        "monedas gastadas"
+      ],
+      "click to show": [
+        "cliquear para mostrar"
+      ],
+      "Do you want to IRREVOCABLY DESTROY everything inside your wallet and 
LOSE ALL YOUR COINS?": [
+        "Quieres DESTRUIR IRREVOCABLEMENTE todo dentro de tu billetera y 
PERDER TODAS TUS MONEDAS?"
+      ],
+      "Taler Action": [
+        "Acción Taler"
+      ],
+      "This page has pay action.": [
+        "Esta página tiene una acción."
+      ],
+      "This page has a withdrawal action.": [
+        "Esta página tiene una acción de extracción."
+      ],
+      "This page has a tip action.": [
+        "Esta página tiene una acción de propina."
+      ],
+      "This page has a notify reserve action.": [
+        "Esta página tiene una acción de notificación de reserva."
+      ],
+      "Notify": [
+        ""
+      ],
+      "This page has a refund action.": [
+        "Esta página tiene una acción de devolución"
+      ],
+      "This page has a malformed taler uri.": [
+        "Esta página tiene una URI de Taler malformada"
+      ],
+      "Dismiss": [
+        "Desechar"
+      ],
+      "Could not load backup providers": [
+        "No se pudo cargar los proveedores de backup"
+      ],
+      "No backup providers configured": [
+        "No hay proveedores de backup configurados"
+      ],
+      "Add provider": [
+        "Agregar proveedor"
+      ],
+      "Sync all backups": [
+        "Sincronizar todos los backups"
+      ],
+      "Sync now": [
+        "Syncronizar ahora"
+      ],
+      "Last synced": [
+        "Ultima vez sincronizado"
+      ],
+      "Not synced": [
+        "No sincronizado"
+      ],
+      "Expires in": [
+        "Expira en"
+      ],
+      "Exchange doesn't have terms of service": [
+        "Exchange no tiene terminos de service"
+      ],
+      "Review exchange terms of service": [
+        "Revizar terminos de servicio"
+      ],
+      "Review new version of terms of service": [
+        "Revisar los nuevos terminos de servicio"
+      ],
+      "Show terms of service": [
+        "Mostrar terminos de servicio"
+      ],
+      "I accept the exchange terms of service": [
+        "Acepto los terminos de servicio del exchange"
+      ],
+      "The exchange reply with a empty terms of service": [
+        "El exchange respondió con unos terminos de servicio vacíos"
+      ],
+      "Download Terms of Service": [
+        "Descargar los terminos de servicio"
+      ],
+      "Hide terms of service": [
+        "Escoder los terminos de servicio"
+      ],
+      "Review terms of service": [
+        "Revizar los terminos de servicio"
+      ],
+      "Exchange URL": [
+        "Exchange URL"
+      ],
+      "Cancel": [
+        "Cancelar"
+      ],
+      "Loading terms..": [
+        "Cargando terminos..."
+      ],
+      "Add exchange": [
+        "Agregar exchange"
+      ],
+      "Add exchange anyway": [
+        "Agregar exchange de todas maneras"
+      ],
+      "Add new exchange": [
+        "Agregar nuevo exchange"
+      ],
+      "Add exchange for %1$s": [
+        "Agregar exchange para %1$s"
+      ],
+      "Enter the URL of an exchange you trust.": [
+        "Ingresar la URL de un exchange que tu confíes."
+      ],
+      "An exchange has been found! Review the information and click next": [
+        "Un exchange ha sido encontrado! Revisa la información y cliquea en 
siguente"
+      ],
+      "This exchange doesn't match the expected currency %1$s": [
+        "Este exchange no es para la divisa %1$s"
+      ],
+      "Unable to verify this exchange": [
+        "No fue posible verificar este exchange"
+      ],
+      "Unable to add this exchange": [
+        "No fue posible agregar este exchange"
+      ],
+      "loading": [
+        "cargando"
+      ],
+      "Version": [
+        "Versión"
+      ],
+      "Currency": [
+        "Divisa"
+      ],
+      "Next": [
+        "Siguiente"
+      ],
+      "Add backup provider": [
+        "Agregar proveedor de backup"
+      ],
+      "Could not get provider information": [
+        "No se puedo conseguir la información del proveedor"
+      ],
+      "Backup providers may charge for their service": [
+        "Provedores de backup pueden pueden cobrarte por su servicio"
+      ],
+      "URL": [
+        "URL"
+      ],
+      "Name": [
+        "Nombre"
+      ],
+      "Provider URL": [
+        "URL del proveedor"
+      ],
+      "Please review and accept this provider's terms of service": [
+        "Por favor revisa y acepta los terminos de servicio del proveedor"
+      ],
+      "Pricing": [
+        "Precios"
+      ],
+      "free of charge": [
+        "Gratis"
+      ],
+      "%1$s per year of service": [
+        "%1$s por año de servicio"
+      ],
+      "Storage": [
+        "Alamcenamiento"
+      ],
+      "%1$s megabytes of storage per year of service": [
+        "%1$s megabytes de almacenamiento por año de servicio"
+      ],
+      "Accept terms of service": [
+        "Aceptar terminos de servicio"
+      ],
+      "There was an error loading the provider detail for \"%1$s\"": [
+        "Hubo un error cargando los detalles del proveedor para \"%1$s\""
+      ],
+      "There is not known provider with url \"%1$s\".": [
+        "No hay proveedor conocido con url \"%1$s\"."
+      ],
+      "Last backup": [
+        "Último backup"
+      ],
+      "Back up": [
+        "Backup"
+      ],
+      "Provider fee": [
+        "Tarifa del proveedor"
+      ],
+      "per year": [
+        "por año"
+      ],
+      "Extend": [
+        "Extender"
+      ],
+      "terms has changed, extending the service will imply accepting the new 
terms of service": [
+        "los terminos han cambiado, extender el servicio implicará aceptar los 
nuevos terminos de servicio"
+      ],
+      "old": [
+        "viejo"
+      ],
+      "new": [
+        "nuevo"
+      ],
+      "fee": [
+        "tarifa"
+      ],
+      "storage": [
+        "almacenamiento"
+      ],
+      "back": [
+        "volver"
+      ],
+      "Remove provider": [
+        "Eliminar proveedor"
+      ],
+      "This provider has reported an error": [
+        "Este proveedor ha reportado un error"
+      ],
+      "There is conflict with another backup from %1$s": [
+        "Hubo un conflicto con otro backup de %1$s"
+      ],
+      "Backup is not readable": [
+        "El backup no se puede leer"
+      ],
+      "Unknown backup problem: %1$s": [
+        "Problema de backup desconocido: %1$s"
+      ],
+      "service paid": [
+        "servicio pagado"
+      ],
+      "Backup valid until": [
+        "Backup valido hasta"
+      ],
+      "this popup is being closed and you are being redirected to %1$s": [
+        "Este popup se cerrará y estás siendo redirijido a %1$s"
+      ],
+      "Select one option": [
+        "Seleccione una opción"
+      ],
+      "Manual Withdrawal": [
+        "Extracción Manual"
+      ],
+      "Choose a exchange from where the coins will be withdrawn. The exchange 
will send the coins to this wallet after receiving a wire transfer with the 
correct subject.": [
+        "Elija un exchange desde donde las monedas serán extraídas. El 
exchange enviará las monedas a esta billetera después de recibir una 
transferencia con el asunto correcto."
+      ],
+      "No exchange configured": [
+        "Sin exchange configurado"
+      ],
+      "Can't create the reserve": [
+        "No se pudo create una reserva"
+      ],
+      "Exchange": [
+        "Exchange"
+      ],
+      "Add Exchange": [
+        "Agregar Exchange"
+      ],
+      "Amount": [
+        "Monto"
+      ],
+      "Start withdrawal": [
+        "Comenzar extracción"
+      ],
+      "no balance": [
+        "sin balance"
+      ],
+      "There is no known bank account to send money to": [
+        "No hay cuenta bancaria conocida donde enviar el dinero"
+      ],
+      "Send %1$s to your account": [
+        "Enviar %1$s a tu cuenta"
+      ],
+      "Bank account IBAN number": [
+        "Número IBAN de cuenta bancaria"
+      ],
+      "Deposit fee": [
+        "Taria de depósito"
+      ],
+      "Total deposit": [
+        "Deposito total"
+      ],
+      "Deposit": [
+        "Depósito"
+      ],
+      "Deposit %1$s %2$s": [
+        "Depositar %1$s %2$s"
+      ],
+      "Waiting for confirmation": [
+        "Esperando confirmación"
+      ],
+      "PENDING": [
+        "PENDIENTE"
+      ],
+      "Could not load the list of transactions": [
+        "No se pudo cargar la lista de transacciones"
       ],
       "There is no history for this currency": [
-        ""
+        "No hay historial para esta divisa"
       ],
       "Account": [
-        ""
+        "Cuenta"
       ],
       "Bank host": [
-        ""
+        "Host del banco"
       ],
       "Bank account": [
-        ""
+        "Cuenta del banco"
       ],
       "IBAN": [
-        ""
+        "IBAN"
       ],
       "Chosen amount": [
-        ""
+        "Elegir monto"
       ],
       "Subject": [
-        ""
+        "Asunto"
       ],
       "could not parse payto uri from exchange %1$s": [
-        ""
+        "No se pudo analizar la URI payto del exchange %1$s"
       ],
       "Exchange is ready for withdrawal": [
-        ""
+        "El exchange está listo para la extracción"
       ],
       "To complete the process you need to wire %1$s to the exchange bank 
account": [
-        ""
+        "Para completar el proceso necesitas enviar %1$s a la cuenta bancaria 
del exchange"
       ],
       "Make sure to use the correct subject, otherwise the money will not 
arrive in this wallet.": [
-        ""
+        "Asegurate de usar el asunto correcto, de otra manera el dinero no 
llegará a esta billetera"
       ],
       "Alternative, you can also scan this QR code or open %1$s if you have a 
banking app installed that supports RFC 8905": [
-        ""
+        "Alternativamente, también puedes escanear el código QR o abrir %1$s 
si tienes una aplicación bancaria instalada que soporta RFC 8905"
       ],
       "Cancel withdrawal": [
+        "Cancelar extracción"
+      ],
+      "Display": [
         ""
       ],
-      "Permissions": [
+      "Current Language": [
         ""
       ],
-      "Automatically open wallet based on page content": [
+      "Navigator": [
         ""
       ],
+      "Automatically open wallet based on page content": [
+        "Abrir automáticamente la billetera basado en el contenido de la 
página"
+      ],
       "Enabling this option below will make using the wallet faster, but 
requires more permissions from your browser.": [
-        ""
+        "Habilitar esta opción debajo hará el uso de la billetera mas rápido, 
pero requiere mas permisos de tu navegador"
       ],
-      "Known exchanges": [
+      "Trust": [
         ""
       ],
       "No exchange yet": [
-        ""
+        "No hay exchanges todavía"
       ],
       "Term of Service": [
-        ""
+        "Terminos de servicio"
       ],
       "ok": [
-        ""
+        "ok"
       ],
       "changed": [
-        ""
+        "modificado"
       ],
       "not accepted": [
-        ""
+        "no aceptado"
       ],
       "Add an exchange": [
-        ""
+        "Agregar un exchange"
       ],
       "Developer mode": [
-        ""
+        "Modo desarrollador"
       ],
       "(More options and information useful for debugging)": [
-        ""
+        "(Mas información y opciones útiles para depuración)"
       ],
       "Could not load the transaction information": [
-        ""
+        "No se pudo cargar información de la transacción"
       ],
       "There was an error trying to complete the transaction": [
-        ""
+        "Hubo un error intentando completar la transacción"
       ],
       "This transaction is not completed": [
-        ""
+        "Esta tansacción no está completa"
       ],
       "Retry": [
-        ""
+        "Reintentar"
       ],
       "Forget": [
-        ""
+        "Olvidar"
       ],
       "Caution!": [
-        ""
+        "Cuidado!"
       ],
       "If you have already wired money to the exchange you will loose the 
chance to get the coins form it.": [
-        ""
+        "Si ya has transferido dinero al exchange perderas la oportunidad de 
recivir las monedas"
       ],
       "Confirm": [
-        "Accept"
+        "Confirmar"
       ],
       "Withdrawal": [
-        ""
+        "Extracción"
       ],
       "Total withdrawn": [
-        ""
+        "Total extraido"
       ],
       "Exchange fee": [
-        ""
+        "Tarifa del exchange"
       ],
       "The bank is waiting for confirmation. Go to the %1$s": [
-        ""
+        "El banco espera la confirmación. Dirigete a %1$s"
       ],
       "Waiting for the coins to arrive": [
-        ""
+        "Esperando a que las monedas lleguen"
       ],
       "Payment": [
-        ""
+        "Pago"
       ],
       "Total paid": [
-        ""
+        "Total pagado"
       ],
       "Purchase amount": [
-        ""
+        "Monto de compra"
       ],
       "Fee": [
-        ""
+        "Tarifa"
       ],
       "Merchant": [
-        ""
+        "Comerciante"
       ],
       "Purchase": [
-        ""
+        "Compra"
       ],
       "Receipt": [
-        ""
+        "Recibo"
       ],
       "Total send": [
-        ""
+        "Total enviado"
       ],
       "Deposit amount": [
-        ""
+        "Monto a depositar"
       ],
       "Refresh": [
         ""
@@ -1341,290 +2166,296 @@ strings['en-US'] = {
         ""
       ],
       "Tip": [
-        ""
+        "Propina"
       ],
       "Total tip": [
-        ""
+        "Total de propina"
       ],
       "Received amount": [
-        ""
+        "Monto recibido"
       ],
       "Refund": [
-        ""
+        "Devolución"
       ],
       "Total refund": [
-        ""
+        "Devolución total"
       ],
       "Refund amount": [
-        ""
+        "Monto de devolución"
       ],
       "Browser Extension Installed!": [
-        ""
+        "Extensión del navegador instalada!"
       ],
       "Thank you for installing the wallet.": [
-        ""
+        "Gracias por haber instalado la billetera."
+      ],
+      "Permissions": [
+        "Permisos"
       ],
       "(Enabling this option below will make using the wallet faster, but 
requires more permissions from your browser.)": [
-        ""
+        "(Habilitar esta opción debajo hará el uso de la billetera mas rápido, 
pero requiere mas permisos de tu navegador)"
       ],
       "Next Steps": [
-        ""
+        "Próximos pasos"
       ],
       "Try the demo": [
-        ""
+        "Probar la demostración"
       ],
       "Learn how to top up your wallet balance": [
-        ""
+        "Aprender como llenar tu billetera"
       ],
       "Could not load pay status": [
-        ""
+        "No se pudo cargar el estado del pago"
       ],
       "Could not load contract terms from merchant or wallet backend.": [
-        ""
+        "No se pudo cargar los terminos de contrato del comerciante o de la 
billetera."
       ],
       "Pay with a mobile phone": [
-        ""
+        "Pagar con un teléfono móbil"
       ],
       "Hide QR": [
-        ""
+        "Esconder QR"
       ],
       "Scan the QR code or %1$s": [
-        ""
+        "Escanear el código QR o %1$s"
       ],
       "Processing": [
-        ""
+        "Procesando"
       ],
       "Pay %1$s": [
-        ""
+        "Pagar %1$s"
       ],
       "Your balance of %1$s is not enough to pay for this purchase": [
-        ""
+        "Tu balance de %1$s no es suficiente para pagar por esta compra"
       ],
       "Your balance is not enough to pay for this purchase.": [
-        ""
+        "Tu balance no es suficiente para pagar esta compra."
       ],
       "Withdraw digital cash": [
-        ""
+        "Extraer dinero digital"
       ],
       "Merchant message": [
-        ""
+        "Mensaje del comerciante"
       ],
       "Digital cash payment": [
-        ""
+        "Pago con dinero digital"
       ],
       "Already paid, you are going to be redirected to %1$s": [
-        ""
+        "Ya pagado, estás siendo dirigido a %1$s"
       ],
       "Already paid": [
-        ""
+        "Ya pagado"
       ],
       "Already claimed": [
-        ""
+        "Ya reclamado"
       ],
       "Payment complete": [
-        ""
+        "Pago completo"
       ],
       "You are going to be redirected to $ %1$s": [
-        ""
+        "Estas siendo redirigido a %1$s"
       ],
       "You can close this page.": [
-        ""
+        "Puedes cerrar esta página."
       ],
       "Total to pay": [
-        ""
+        "Total a pagar"
       ],
       "List of products": [
-        ""
+        "Lista de productos"
       ],
       "Total": [
-        ""
+        "Total"
       ],
       "free": [
-        ""
+        "Gratis"
       ],
       "Refund Status": [
-        ""
+        "Estado del reembolso"
       ],
       "The product %1$s has received a total effective refund of": [
-        ""
+        "El producto %1$s ha recibido un total efectivo de"
       ],
       "Refund processing is still in progress.": [
-        ""
+        "El proceso de reembolso está todavía en progreso"
       ],
       "The refund amount of %1$s could not be applied.": [
-        ""
+        "El monto del reembolso de %1$s no pudo ser aplicado."
       ],
       "missing taler refund uri": [
-        ""
+        "falta la URI Taler de reembolso"
       ],
       "Error: %1$s": [
-        ""
+        "Error: %1$s"
       ],
       "Updating refund status": [
-        ""
+        "Actualizando el estado de reembolso"
       ],
       "Tip from %1$s accepted. Check your transactions list for more 
details.": [
-        ""
+        "Propina de %1$s aceptada. Revisa tu lista de transacciones para mas 
detalle."
       ],
       "The merchant %1$s is offering you a tip of %2$s via the exchange %3$s": 
[
-        ""
+        "El comerciante %1$s está ofreciendo una propina de %2$s usando el 
exchange %3$s"
       ],
       "Accept tip": [
-        ""
+        "Aceptar propina"
       ],
       "Ignore": [
-        ""
+        "Ignorar"
       ],
       "missing tip uri": [
-        ""
+        "URI de propina faltante"
       ],
       "You've ignored the tip.": [
-        ""
+        "Has ignorado la propina"
       ],
       "Digital cash withdrawal": [
-        ""
+        "Extracción de dinero digital"
       ],
       "Could not finish the withdrawal operation": [
-        ""
+        "No se pudo completar la operación de extracción"
       ],
       "Total to withdraw": [
-        ""
+        "Total a extraer"
+      ],
+      "Known exchanges": [
+        "Exchange conocidos"
       ],
       "Cancel exchange selection": [
-        ""
+        "Cancelar selección de exchange"
       ],
       "Confirm exchange selection": [
-        ""
+        "Confirmar selección de exchange"
       ],
       "Switch exchange": [
-        ""
+        "Cambiar exchange"
       ],
       "Confirm withdrawal": [
-        ""
+        "Confirmar extracción"
       ],
       "Withdraw anyway": [
-        ""
+        "Extraer de todas maneras"
       ],
       "Could not load the withdrawal details": [
-        ""
+        "No se pudo cargar los detalles de extracción"
       ],
       "missing withdraw uri": [
-        ""
+        "URI de extracción faltante"
       ],
       "Could not get the info from the URI": [
-        ""
+        "No se pudo obtener la información desde la URI"
       ],
       "Could not load the list of known exchanges": [
-        ""
+        "No se pudo cargar la lista de exchange conocidos"
       ],
       "All done, your transaction is in progress": [
-        ""
+        "Todo completo, su transacción está en progreso"
       ],
       "Edit": [
-        ""
+        "Editar"
       ],
       "missing pay uri": [
-        ""
+        "URI de pago faltante"
       ],
       "Could not get the payment information for this order": [
-        ""
+        "No se pudo obtener la información de pago para esta orden"
       ],
       "Loading payment information": [
-        ""
+        "Cargado la información de pago"
       ],
       "Digital cash deposit": [
-        ""
+        "Deposito de dinero digital"
       ],
       "You will now be sent back to the merchant you came from.": [
-        ""
+        "Ahora serás enviado otra vez al sitio del comerciante"
       ],
       "Manual Reset Required": [
-        ""
+        "Reinicio Manual Necesario"
       ],
       "The wallet&apos;s database in your browser is incompatible with the 
currently installed wallet. Please reset manually.": [
-        ""
+        "La base de datos de billetera en tu navegador es incompatible con la 
billetera instalada actualmente. Por favor reinicie manualmente"
       ],
       "Once the database format has stabilized, we will provide automatic 
upgrades.": [
-        ""
+        "Una vez que el formato de la base de datos esté estabilizzado, 
proveeremos de actualizaciones automáticas"
       ],
       "I understand that I will lose all my data": [
-        ""
+        "Entiendo que perderé toda mi información"
       ],
       "Reset": [
-        ""
+        "Reiniciar"
       ],
       "Everything is fine!": [
-        ""
+        "Todo está bien!"
       ],
       "A reset is not required anymore, you can close this page.": [
-        ""
+        "Un reinicio ya no es necesario, puede cerrar esta página."
       ],
       "Not implemented yet.": [
-        ""
+        "Todavía no implementado"
       ]
     }
   }
 };
 
-strings['es'] = {
+strings['fr'] = {
   "domain": "messages",
   "locale_data": {
     "messages": {
       "": {
         "domain": "messages",
-        "plural_forms": "nplurals=2; plural=n != 1;",
-        "lang": "it"
+        "plural_forms": "nplurals=2; plural=(n!=1);",
+        "lang": "fr"
       },
       "Balance": [
-        "Balance"
+        ""
       ],
       "Backup": [
         ""
       ],
       "Settings": [
-        "Configuración"
+        ""
       ],
       "Dev": [
-        "Dev"
+        ""
       ],
       "Loading": [
-        "Cargando"
+        ""
       ],
       "Open reserve page": [
-        "Abrir página de reserva"
+        ""
       ],
       "Open pay page": [
-        "Abrir página de pago"
+        ""
       ],
       "Open refund page": [
-        "Abrir página de devolución"
+        ""
       ],
       "Open tip page": [
-        "Abrir página de propina"
+        ""
       ],
       "Open withdraw page": [
-        "Abrir página de extracción"
+        ""
       ],
       "Back": [
-        "Volver"
+        ""
       ],
       "You have no balance to show.": [
-        "No tienes balance para mostrar."
+        ""
       ],
       "To withdraw money you can start from your bank site or click the 
\"withdraw\" button to use a known exchange.": [
-        "Para retirar dinero puedes empezar desde el sitio de tu banco o 
cliquear en el botón \"extraer\" para usar un exchange conocido"
+        ""
       ],
       "Withdraw": [
-        "Extraer"
+        ""
       ],
       "Could not load balance page": [
-        "No se pudo cargar la página"
+        ""
       ],
       "Deposit %1$s": [
-        "Depositar %1$s"
+        ""
       ],
       "Enter URI": [
-        "Ingresar URI"
+        ""
       ],
       "Diagnostics timed out. Could not talk to the wallet backend.": [
         ""
@@ -1704,6 +2535,9 @@ strings['es'] = {
       "This page has a notify reserve action.": [
         ""
       ],
+      "Notify": [
+        ""
+      ],
       "This page has a refund action.": [
         ""
       ],
@@ -2013,7 +2847,13 @@ strings['es'] = {
       "Cancel withdrawal": [
         ""
       ],
-      "Permissions": [
+      "Display": [
+        ""
+      ],
+      "Current Language": [
+        ""
+      ],
+      "Navigator": [
         ""
       ],
       "Automatically open wallet based on page content": [
@@ -2022,7 +2862,7 @@ strings['es'] = {
       "Enabling this option below will make using the wallet faster, but 
requires more permissions from your browser.": [
         ""
       ],
-      "Known exchanges": [
+      "Trust": [
         ""
       ],
       "No exchange yet": [
@@ -2071,7 +2911,7 @@ strings['es'] = {
         ""
       ],
       "Confirm": [
-        "Confermare"
+        "Confirmer"
       ],
       "Withdrawal": [
         ""
@@ -2148,6 +2988,9 @@ strings['es'] = {
       "Thank you for installing the wallet.": [
         ""
       ],
+      "Permissions": [
+        ""
+      ],
       "(Enabling this option below will make using the wallet faster, but 
requires more permissions from your browser.)": [
         ""
       ],
@@ -2274,6 +3117,9 @@ strings['es'] = {
       "Total to withdraw": [
         ""
       ],
+      "Known exchanges": [
+        ""
+      ],
       "Cancel exchange selection": [
         ""
       ],
@@ -2350,14 +3196,14 @@ strings['es'] = {
   }
 };
 
-strings['fr'] = {
+strings['it'] = {
   "domain": "messages",
   "locale_data": {
     "messages": {
       "": {
         "domain": "messages",
-        "plural_forms": "nplurals=2; plural=(n!=1);",
-        "lang": "fr"
+        "plural_forms": "nplurals=2; plural=n != 1;",
+        "lang": "it"
       },
       "Balance": [
         ""
@@ -2488,6 +3334,9 @@ strings['fr'] = {
       "This page has a notify reserve action.": [
         ""
       ],
+      "Notify": [
+        ""
+      ],
       "This page has a refund action.": [
         ""
       ],
@@ -2797,7 +3646,13 @@ strings['fr'] = {
       "Cancel withdrawal": [
         ""
       ],
-      "Permissions": [
+      "Display": [
+        ""
+      ],
+      "Current Language": [
+        ""
+      ],
+      "Navigator": [
         ""
       ],
       "Automatically open wallet based on page content": [
@@ -2806,7 +3661,7 @@ strings['fr'] = {
       "Enabling this option below will make using the wallet faster, but 
requires more permissions from your browser.": [
         ""
       ],
-      "Known exchanges": [
+      "Trust": [
         ""
       ],
       "No exchange yet": [
@@ -2855,7 +3710,7 @@ strings['fr'] = {
         ""
       ],
       "Confirm": [
-        "Confirmer"
+        "Confermare"
       ],
       "Withdrawal": [
         ""
@@ -2932,6 +3787,9 @@ strings['fr'] = {
       "Thank you for installing the wallet.": [
         ""
       ],
+      "Permissions": [
+        ""
+      ],
       "(Enabling this option below will make using the wallet faster, but 
requires more permissions from your browser.)": [
         ""
       ],
@@ -3058,6 +3916,9 @@ strings['fr'] = {
       "Total to withdraw": [
         ""
       ],
+      "Known exchanges": [
+        ""
+      ],
       "Cancel exchange selection": [
         ""
       ],
@@ -3134,23 +3995,23 @@ strings['fr'] = {
   }
 };
 
-strings['it'] = {
+strings['ja'] = {
   "domain": "messages",
   "locale_data": {
     "messages": {
       "": {
         "domain": "messages",
         "plural_forms": "nplurals=2; plural=n != 1;",
-        "lang": "it"
+        "lang": "ja"
       },
       "Balance": [
-        ""
+        "残高"
       ],
       "Backup": [
-        ""
+        "バックアップ"
       ],
       "Settings": [
-        ""
+        "設定"
       ],
       "Dev": [
         ""
@@ -3177,13 +4038,13 @@ strings['it'] = {
         ""
       ],
       "You have no balance to show.": [
-        ""
+        "表示するバランスがありません"
       ],
       "To withdraw money you can start from your bank site or click the 
\"withdraw\" button to use a known exchange.": [
-        ""
+        "お金を引き出すには、銀行のサイトから開始するか、[引き出し]ボタンをクリックして既知の取引所を使用します。"
       ],
       "Withdraw": [
-        ""
+        "撤退"
       ],
       "Could not load balance page": [
         ""
@@ -3272,6 +4133,9 @@ strings['it'] = {
       "This page has a notify reserve action.": [
         ""
       ],
+      "Notify": [
+        ""
+      ],
       "This page has a refund action.": [
         ""
       ],
@@ -3581,7 +4445,13 @@ strings['it'] = {
       "Cancel withdrawal": [
         ""
       ],
-      "Permissions": [
+      "Display": [
+        ""
+      ],
+      "Current Language": [
+        ""
+      ],
+      "Navigator": [
         ""
       ],
       "Automatically open wallet based on page content": [
@@ -3590,7 +4460,7 @@ strings['it'] = {
       "Enabling this option below will make using the wallet faster, but 
requires more permissions from your browser.": [
         ""
       ],
-      "Known exchanges": [
+      "Trust": [
         ""
       ],
       "No exchange yet": [
@@ -3639,7 +4509,7 @@ strings['it'] = {
         ""
       ],
       "Confirm": [
-        "Confermare"
+        ""
       ],
       "Withdrawal": [
         ""
@@ -3716,6 +4586,9 @@ strings['it'] = {
       "Thank you for installing the wallet.": [
         ""
       ],
+      "Permissions": [
+        ""
+      ],
       "(Enabling this option below will make using the wallet faster, but 
requires more permissions from your browser.)": [
         ""
       ],
@@ -3842,6 +4715,9 @@ strings['it'] = {
       "Total to withdraw": [
         ""
       ],
+      "Known exchanges": [
+        ""
+      ],
       "Cancel exchange selection": [
         ""
       ],
@@ -4056,6 +4932,9 @@ strings['sv'] = {
       "This page has a notify reserve action.": [
         ""
       ],
+      "Notify": [
+        ""
+      ],
       "This page has a refund action.": [
         ""
       ],
@@ -4365,7 +5244,13 @@ strings['sv'] = {
       "Cancel withdrawal": [
         ""
       ],
-      "Permissions": [
+      "Display": [
+        ""
+      ],
+      "Current Language": [
+        ""
+      ],
+      "Navigator": [
         ""
       ],
       "Automatically open wallet based on page content": [
@@ -4374,7 +5259,7 @@ strings['sv'] = {
       "Enabling this option below will make using the wallet faster, but 
requires more permissions from your browser.": [
         ""
       ],
-      "Known exchanges": [
+      "Trust": [
         ""
       ],
       "No exchange yet": [
@@ -4500,6 +5385,9 @@ strings['sv'] = {
       "Thank you for installing the wallet.": [
         ""
       ],
+      "Permissions": [
+        ""
+      ],
       "(Enabling this option below will make using the wallet faster, but 
requires more permissions from your browser.)": [
         ""
       ],
@@ -4626,6 +5514,9 @@ strings['sv'] = {
       "Total to withdraw": [
         ""
       ],
+      "Known exchanges": [
+        ""
+      ],
       "Cancel exchange selection": [
         ""
       ],
@@ -4840,6 +5731,9 @@ strings['tr'] = {
       "This page has a notify reserve action.": [
         ""
       ],
+      "Notify": [
+        ""
+      ],
       "This page has a refund action.": [
         ""
       ],
@@ -5149,7 +6043,13 @@ strings['tr'] = {
       "Cancel withdrawal": [
         ""
       ],
-      "Permissions": [
+      "Display": [
+        ""
+      ],
+      "Current Language": [
+        ""
+      ],
+      "Navigator": [
         ""
       ],
       "Automatically open wallet based on page content": [
@@ -5158,7 +6058,7 @@ strings['tr'] = {
       "Enabling this option below will make using the wallet faster, but 
requires more permissions from your browser.": [
         ""
       ],
-      "Known exchanges": [
+      "Trust": [
         ""
       ],
       "No exchange yet": [
@@ -5284,6 +6184,9 @@ strings['tr'] = {
       "Thank you for installing the wallet.": [
         ""
       ],
+      "Permissions": [
+        ""
+      ],
       "(Enabling this option below will make using the wallet faster, but 
requires more permissions from your browser.)": [
         ""
       ],
@@ -5410,6 +6313,9 @@ strings['tr'] = {
       "Total to withdraw": [
         ""
       ],
+      "Known exchanges": [
+        ""
+      ],
       "Cancel exchange selection": [
         ""
       ],
diff --git a/packages/taler-wallet-webextension/src/i18n/sv.po 
b/packages/taler-wallet-webextension/src/i18n/sv.po
index cced25f9..32427d2e 100644
--- a/packages/taler-wallet-webextension/src/i18n/sv.po
+++ b/packages/taler-wallet-webextension/src/i18n/sv.po
@@ -112,7 +112,7 @@ msgstr ""
 msgid "Deposit %1$s"
 msgstr "Depostitions avgift"
 
-#: src/popup/BalancePage.tsx:118
+#: src/popup/BalancePage.tsx:120
 #, c-format
 msgid "Enter URI"
 msgstr ""
@@ -253,6 +253,11 @@ msgstr ""
 msgid "This page has a notify reserve action."
 msgstr ""
 
+#: src/popup/TalerActionFound.tsx:114
+#, c-format
+msgid "Notify"
+msgstr ""
+
 #: src/popup/TalerActionFound.tsx:121
 #, c-format
 msgid "This page has a refund action."
@@ -600,7 +605,7 @@ msgstr ""
 msgid "Backup valid until"
 msgstr ""
 
-#: src/popupEntryPoint.tsx:184
+#: src/popupEntryPoint.tsx:187
 #, c-format
 msgid "this popup is being closed and you are being redirected to %1$s"
 msgstr ""
@@ -778,64 +783,74 @@ msgstr ""
 msgid "Cancel withdrawal"
 msgstr ""
 
-#: src/wallet/Settings.tsx:84
+#: src/wallet/Settings.tsx:89
 #, c-format
-msgid "Permissions"
+msgid "Display"
+msgstr ""
+
+#: src/wallet/Settings.tsx:93
+#, c-format
+msgid "Current Language"
+msgstr ""
+
+#: src/wallet/Settings.tsx:102
+#, c-format
+msgid "Navigator"
 msgstr ""
 
-#: src/wallet/Settings.tsx:87
+#: src/wallet/Settings.tsx:105
 #, c-format
 msgid "Automatically open wallet based on page content"
 msgstr ""
 
-#: src/wallet/Settings.tsx:93
+#: src/wallet/Settings.tsx:111
 #, c-format
 msgid ""
 "Enabling this option below will make using the wallet faster, but requires "
 "more permissions from your browser."
 msgstr ""
 
-#: src/wallet/Settings.tsx:104
+#: src/wallet/Settings.tsx:122
 #, c-format
-msgid "Known exchanges"
+msgid "Trust"
 msgstr ""
 
-#: src/wallet/Settings.tsx:108
+#: src/wallet/Settings.tsx:126
 #, c-format
 msgid "No exchange yet"
 msgstr ""
 
-#: src/wallet/Settings.tsx:122
+#: src/wallet/Settings.tsx:140
 #, c-format
 msgid "Term of Service"
 msgstr ""
 
-#: src/wallet/Settings.tsx:138
+#: src/wallet/Settings.tsx:156
 #, c-format
 msgid "ok"
 msgstr ""
 
-#: src/wallet/Settings.tsx:144
+#: src/wallet/Settings.tsx:162
 #, c-format
 msgid "changed"
 msgstr ""
 
-#: src/wallet/Settings.tsx:151
+#: src/wallet/Settings.tsx:169
 #, c-format
 msgid "not accepted"
 msgstr ""
 
-#: src/wallet/Settings.tsx:175
+#: src/wallet/Settings.tsx:193
 #, fuzzy, c-format
 msgid "Add an exchange"
 msgstr "Accepterade tjänsteleverantörer:"
 
-#: src/wallet/Settings.tsx:181
+#: src/wallet/Settings.tsx:199
 #, c-format
 msgid "Developer mode"
 msgstr ""
 
-#: src/wallet/Settings.tsx:183
+#: src/wallet/Settings.tsx:201
 #, c-format
 msgid "(More options and information useful for debugging)"
 msgstr ""
@@ -1007,6 +1022,11 @@ msgstr ""
 msgid "Thank you for installing the wallet."
 msgstr ""
 
+#: src/wallet/Welcome.tsx:66
+#, c-format
+msgid "Permissions"
+msgstr ""
+
 #: src/wallet/Welcome.tsx:75
 #, c-format
 msgid ""
@@ -1219,6 +1239,11 @@ msgstr ""
 msgid "Total to withdraw"
 msgstr ""
 
+#: src/cta/Withdraw.tsx:171
+#, c-format
+msgid "Known exchanges"
+msgstr ""
+
 #: src/cta/Withdraw.tsx:187
 #, c-format
 msgid "Cancel exchange selection"
@@ -1264,7 +1289,7 @@ msgstr ""
 msgid "Could not load the list of known exchanges"
 msgstr ""
 
-#: src/walletEntryPoint.tsx:171
+#: src/walletEntryPoint.tsx:172
 #, c-format
 msgid "All done, your transaction is in progress"
 msgstr ""
diff --git a/packages/taler-wallet-webextension/src/i18n/taler-wallet-webex.pot 
b/packages/taler-wallet-webextension/src/i18n/taler-wallet-webex.pot
index 6a5bcd55..46d6584c 100644
--- a/packages/taler-wallet-webextension/src/i18n/taler-wallet-webex.pot
+++ b/packages/taler-wallet-webextension/src/i18n/taler-wallet-webex.pot
@@ -99,7 +99,7 @@ msgstr ""
 msgid "Deposit %1$s"
 msgstr ""
 
-#: src/popup/BalancePage.tsx:118
+#: src/popup/BalancePage.tsx:120
 #, c-format
 msgid "Enter URI"
 msgstr ""
@@ -240,6 +240,11 @@ msgstr ""
 msgid "This page has a notify reserve action."
 msgstr ""
 
+#: src/popup/TalerActionFound.tsx:114
+#, c-format
+msgid "Notify"
+msgstr ""
+
 #: src/popup/TalerActionFound.tsx:121
 #, c-format
 msgid "This page has a refund action."
@@ -587,7 +592,7 @@ msgstr ""
 msgid "Backup valid until"
 msgstr ""
 
-#: src/popupEntryPoint.tsx:184
+#: src/popupEntryPoint.tsx:187
 #, c-format
 msgid "this popup is being closed and you are being redirected to %1$s"
 msgstr ""
@@ -764,64 +769,74 @@ msgstr ""
 msgid "Cancel withdrawal"
 msgstr ""
 
-#: src/wallet/Settings.tsx:84
+#: src/wallet/Settings.tsx:89
 #, c-format
-msgid "Permissions"
+msgid "Display"
+msgstr ""
+
+#: src/wallet/Settings.tsx:93
+#, c-format
+msgid "Current Language"
+msgstr ""
+
+#: src/wallet/Settings.tsx:102
+#, c-format
+msgid "Navigator"
 msgstr ""
 
-#: src/wallet/Settings.tsx:87
+#: src/wallet/Settings.tsx:105
 #, c-format
 msgid "Automatically open wallet based on page content"
 msgstr ""
 
-#: src/wallet/Settings.tsx:93
+#: src/wallet/Settings.tsx:111
 #, c-format
 msgid ""
 "Enabling this option below will make using the wallet faster, but requires 
more "
 "permissions from your browser."
 msgstr ""
 
-#: src/wallet/Settings.tsx:104
+#: src/wallet/Settings.tsx:122
 #, c-format
-msgid "Known exchanges"
+msgid "Trust"
 msgstr ""
 
-#: src/wallet/Settings.tsx:108
+#: src/wallet/Settings.tsx:126
 #, c-format
 msgid "No exchange yet"
 msgstr ""
 
-#: src/wallet/Settings.tsx:122
+#: src/wallet/Settings.tsx:140
 #, c-format
 msgid "Term of Service"
 msgstr ""
 
-#: src/wallet/Settings.tsx:138
+#: src/wallet/Settings.tsx:156
 #, c-format
 msgid "ok"
 msgstr ""
 
-#: src/wallet/Settings.tsx:144
+#: src/wallet/Settings.tsx:162
 #, c-format
 msgid "changed"
 msgstr ""
 
-#: src/wallet/Settings.tsx:151
+#: src/wallet/Settings.tsx:169
 #, c-format
 msgid "not accepted"
 msgstr ""
 
-#: src/wallet/Settings.tsx:175
+#: src/wallet/Settings.tsx:193
 #, c-format
 msgid "Add an exchange"
 msgstr ""
 
-#: src/wallet/Settings.tsx:181
+#: src/wallet/Settings.tsx:199
 #, c-format
 msgid "Developer mode"
 msgstr ""
 
-#: src/wallet/Settings.tsx:183
+#: src/wallet/Settings.tsx:201
 #, c-format
 msgid "(More options and information useful for debugging)"
 msgstr ""
@@ -993,6 +1008,11 @@ msgstr ""
 msgid "Thank you for installing the wallet."
 msgstr ""
 
+#: src/wallet/Welcome.tsx:66
+#, c-format
+msgid "Permissions"
+msgstr ""
+
 #: src/wallet/Welcome.tsx:75
 #, c-format
 msgid ""
@@ -1205,6 +1225,11 @@ msgstr ""
 msgid "Total to withdraw"
 msgstr ""
 
+#: src/cta/Withdraw.tsx:171
+#, c-format
+msgid "Known exchanges"
+msgstr ""
+
 #: src/cta/Withdraw.tsx:187
 #, c-format
 msgid "Cancel exchange selection"
@@ -1250,7 +1275,7 @@ msgstr ""
 msgid "Could not load the list of known exchanges"
 msgstr ""
 
-#: src/walletEntryPoint.tsx:171
+#: src/walletEntryPoint.tsx:172
 #, c-format
 msgid "All done, your transaction is in progress"
 msgstr ""
diff --git a/packages/taler-wallet-webextension/src/i18n/tr.po 
b/packages/taler-wallet-webextension/src/i18n/tr.po
index 9b887bde..4ae9ef83 100644
--- a/packages/taler-wallet-webextension/src/i18n/tr.po
+++ b/packages/taler-wallet-webextension/src/i18n/tr.po
@@ -123,64 +123,74 @@ msgstr ""
 msgid "Cancel withdrawal"
 msgstr ""
 
-#: src/wallet/Settings.tsx:84
+#: src/wallet/Settings.tsx:89
 #, c-format
-msgid "Permissions"
+msgid "Display"
+msgstr ""
+
+#: src/wallet/Settings.tsx:93
+#, c-format
+msgid "Current Language"
 msgstr ""
 
-#: src/wallet/Settings.tsx:87
+#: src/wallet/Settings.tsx:102
+#, c-format
+msgid "Navigator"
+msgstr ""
+
+#: src/wallet/Settings.tsx:105
 #, c-format
 msgid "Automatically open wallet based on page content"
 msgstr ""
 
-#: src/wallet/Settings.tsx:93
+#: src/wallet/Settings.tsx:111
 #, c-format
 msgid ""
 "Enabling this option below will make using the wallet faster, but requires "
 "more permissions from your browser."
 msgstr ""
 
-#: src/wallet/Settings.tsx:104
+#: src/wallet/Settings.tsx:122
 #, c-format
-msgid "Known exchanges"
+msgid "Trust"
 msgstr ""
 
-#: src/wallet/Settings.tsx:108
+#: src/wallet/Settings.tsx:126
 #, c-format
 msgid "No exchange yet"
 msgstr ""
 
-#: src/wallet/Settings.tsx:122
+#: src/wallet/Settings.tsx:140
 #, c-format
 msgid "Term of Service"
 msgstr ""
 
-#: src/wallet/Settings.tsx:138
+#: src/wallet/Settings.tsx:156
 #, c-format
 msgid "ok"
 msgstr ""
 
-#: src/wallet/Settings.tsx:144
+#: src/wallet/Settings.tsx:162
 #, c-format
 msgid "changed"
 msgstr ""
 
-#: src/wallet/Settings.tsx:151
+#: src/wallet/Settings.tsx:169
 #, c-format
 msgid "not accepted"
 msgstr ""
 
-#: src/wallet/Settings.tsx:175
+#: src/wallet/Settings.tsx:193
 #, c-format
 msgid "Add an exchange"
 msgstr ""
 
-#: src/wallet/Settings.tsx:181
+#: src/wallet/Settings.tsx:199
 #, c-format
 msgid "Developer mode"
 msgstr ""
 
-#: src/wallet/Settings.tsx:183
+#: src/wallet/Settings.tsx:201
 #, c-format
 msgid "(More options and information useful for debugging)"
 msgstr ""
@@ -352,6 +362,11 @@ msgstr ""
 msgid "Thank you for installing the wallet."
 msgstr ""
 
+#: src/wallet/Welcome.tsx:66
+#, c-format
+msgid "Permissions"
+msgstr ""
+
 #: src/wallet/Welcome.tsx:75
 #, c-format
 msgid ""
@@ -564,6 +579,11 @@ msgstr ""
 msgid "Total to withdraw"
 msgstr ""
 
+#: src/cta/Withdraw.tsx:171
+#, c-format
+msgid "Known exchanges"
+msgstr ""
+
 #: src/cta/Withdraw.tsx:187
 #, c-format
 msgid "Cancel exchange selection"
@@ -609,7 +629,7 @@ msgstr ""
 msgid "Could not load the list of known exchanges"
 msgstr ""
 
-#: src/walletEntryPoint.tsx:171
+#: src/walletEntryPoint.tsx:172
 #, c-format
 msgid "All done, your transaction is in progress"
 msgstr ""
diff --git a/packages/taler-wallet-webextension/src/popup/BalancePage.tsx 
b/packages/taler-wallet-webextension/src/popup/BalancePage.tsx
index 46fe027c..d7bfdf54 100644
--- a/packages/taler-wallet-webextension/src/popup/BalancePage.tsx
+++ b/packages/taler-wallet-webextension/src/popup/BalancePage.tsx
@@ -108,7 +108,9 @@ export function BalanceView({
         </ButtonPrimary>
         {currencyWithNonZeroAmount.length > 0 && (
           <MultiActionButton
-            label={(s) => <i18n.Translate>Deposit {s}</i18n.Translate>}
+            label={(s) => (
+              <i18n.Translate debug>Deposit {<span>{s}</span>}</i18n.Translate>
+            )}
             actions={currencyWithNonZeroAmount}
             onClick={(c) => goToWalletDeposit(c)}
           />
diff --git a/packages/taler-wallet-webextension/src/popup/TalerActionFound.tsx 
b/packages/taler-wallet-webextension/src/popup/TalerActionFound.tsx
index 6410ae40..40b76a28 100644
--- a/packages/taler-wallet-webextension/src/popup/TalerActionFound.tsx
+++ b/packages/taler-wallet-webextension/src/popup/TalerActionFound.tsx
@@ -111,7 +111,7 @@ export function TalerActionFound({ url, onDismiss }: Props) 
{
                 navigateTo(actionForTalerUri(uriType, url));
               }}
             >
-              Notify
+              <i18n.Translate>Notify</i18n.Translate>
             </ButtonSuccess>
           </div>
         )}
diff --git a/packages/taler-wallet-webextension/src/popupEntryPoint.tsx 
b/packages/taler-wallet-webextension/src/popupEntryPoint.tsx
index e37ea9cc..02ab0df2 100644
--- a/packages/taler-wallet-webextension/src/popupEntryPoint.tsx
+++ b/packages/taler-wallet-webextension/src/popupEntryPoint.tsx
@@ -29,6 +29,7 @@ import { useEffect } from "preact/hooks";
 import { PopupBox } from "./components/styled";
 import { DevContextProvider } from "./context/devContext";
 import { IoCProviderForRuntime } from "./context/iocContext";
+import { TranslationProvider } from "./context/translation";
 import { useTalerActionURL } from "./hooks/useTalerActionURL";
 import { strings } from "./i18n/strings";
 import { Pages, PopupNavBar } from "./NavigationBar";
@@ -77,92 +78,94 @@ function CheckTalerActionComponent(): VNode {
 function Application(): VNode {
   const hash_history = createHashHistory();
   return (
-    // <div>
-    <DevContextProvider>
-      {({ devMode }: { devMode: boolean }) => (
-        <IoCProviderForRuntime>
-          <Match>
-            {({ path }: { path: string }) => <PopupNavBar path={path} />}
-          </Match>
-          <CheckTalerActionComponent />
-          <PopupBox devMode={devMode}>
-            <Router history={hash_history}>
-              <Route
-                path={Pages.balance}
-                component={BalancePage}
-                goToWalletManualWithdraw={() =>
-                  route(Pages.balance_manual_withdraw.replace(":currency?", 
""))
-                }
-                goToWalletDeposit={(currency: string) =>
-                  route(Pages.balance_deposit.replace(":currency", currency))
-                }
-                goToWalletHistory={(currency: string) =>
-                  route(Pages.balance_history.replace(":currency", currency))
-                }
-              />
-
-              <Route
-                path={Pages.cta}
-                component={function Action({ action }: { action: string }) {
-                  const [, setDismissed] = useTalerActionURL();
-
-                  return (
-                    <TalerActionFound
-                      url={decodeURIComponent(action)}
-                      onDismiss={() => {
-                        setDismissed(true);
-                        route(Pages.balance);
-                      }}
-                    />
-                  );
-                }}
-              />
-
-              <Route
-                path={Pages.backup}
-                component={BackupPage}
-                onAddProvider={() => {
-                  route(Pages.backup_provider_add);
-                }}
-              />
-              <Route
-                path={Pages.backup_provider_detail}
-                component={ProviderDetailPage}
-                onBack={() => {
-                  route(Pages.backup);
-                }}
-              />
-
-              <Route
-                path={Pages.balance_manual_withdraw}
-                component={RedirectToWalletPage}
-              />
-              <Route
-                path={Pages.balance_deposit}
-                component={RedirectToWalletPage}
-              />
-              <Route
-                path={Pages.balance_history}
-                component={RedirectToWalletPage}
-              />
-              <Route
-                path={Pages.backup_provider_add}
-                component={RedirectToWalletPage}
-              />
-              <Route path={Pages.settings} component={RedirectToWalletPage} />
-              <Route
-                path={Pages.settings_exchange_add}
-                component={RedirectToWalletPage}
-              />
-              <Route path={Pages.dev} component={RedirectToWalletPage} />
-
-              <Route default component={Redirect} to={Pages.balance} />
-            </Router>
-          </PopupBox>
-        </IoCProviderForRuntime>
-      )}
-    </DevContextProvider>
-    // </div>
+    <TranslationProvider>
+      <DevContextProvider>
+        {({ devMode }: { devMode: boolean }) => (
+          <IoCProviderForRuntime>
+            <Match>
+              {({ path }: { path: string }) => <PopupNavBar path={path} />}
+            </Match>
+            <CheckTalerActionComponent />
+            <PopupBox devMode={devMode}>
+              <Router history={hash_history}>
+                <Route
+                  path={Pages.balance}
+                  component={BalancePage}
+                  goToWalletManualWithdraw={() =>
+                    route(
+                      Pages.balance_manual_withdraw.replace(":currency?", ""),
+                    )
+                  }
+                  goToWalletDeposit={(currency: string) =>
+                    route(Pages.balance_deposit.replace(":currency", currency))
+                  }
+                  goToWalletHistory={(currency: string) =>
+                    route(Pages.balance_history.replace(":currency", currency))
+                  }
+                />
+
+                <Route
+                  path={Pages.cta}
+                  component={function Action({ action }: { action: string }) {
+                    const [, setDismissed] = useTalerActionURL();
+
+                    return (
+                      <TalerActionFound
+                        url={decodeURIComponent(action)}
+                        onDismiss={() => {
+                          setDismissed(true);
+                          route(Pages.balance);
+                        }}
+                      />
+                    );
+                  }}
+                />
+
+                <Route
+                  path={Pages.backup}
+                  component={BackupPage}
+                  onAddProvider={() => {
+                    route(Pages.backup_provider_add);
+                  }}
+                />
+                <Route
+                  path={Pages.backup_provider_detail}
+                  component={ProviderDetailPage}
+                  onBack={() => {
+                    route(Pages.backup);
+                  }}
+                />
+
+                <Route
+                  path={Pages.balance_manual_withdraw}
+                  component={RedirectToWalletPage}
+                />
+                <Route
+                  path={Pages.balance_deposit}
+                  component={RedirectToWalletPage}
+                />
+                <Route
+                  path={Pages.balance_history}
+                  component={RedirectToWalletPage}
+                />
+                <Route
+                  path={Pages.backup_provider_add}
+                  component={RedirectToWalletPage}
+                />
+                <Route path={Pages.settings} component={RedirectToWalletPage} 
/>
+                <Route
+                  path={Pages.settings_exchange_add}
+                  component={RedirectToWalletPage}
+                />
+                <Route path={Pages.dev} component={RedirectToWalletPage} />
+
+                <Route default component={Redirect} to={Pages.balance} />
+              </Router>
+            </PopupBox>
+          </IoCProviderForRuntime>
+        )}
+      </DevContextProvider>
+    </TranslationProvider>
   );
 }
 
diff --git a/packages/taler-wallet-webextension/src/wallet/Settings.tsx 
b/packages/taler-wallet-webextension/src/wallet/Settings.tsx
index 3bb3fa86..8456ca55 100644
--- a/packages/taler-wallet-webextension/src/wallet/Settings.tsx
+++ b/packages/taler-wallet-webextension/src/wallet/Settings.tsx
@@ -17,13 +17,16 @@
 import { ExchangeListItem, i18n, Translate } from "@gnu-taler/taler-util";
 import { Fragment, h, VNode } from "preact";
 import { Checkbox } from "../components/Checkbox";
+import { SelectList } from "../components/SelectList";
 import {
   DestructiveText,
+  Input,
   LinkPrimary,
   SuccessText,
   WarningText,
 } from "../components/styled";
 import { useDevContext } from "../context/devContext";
+import { useTranslationContext } from "../context/translation";
 import { useAsyncAsHook } from "../hooks/useAsyncAsHook";
 import { useBackupDeviceName } from "../hooks/useBackupDeviceName";
 import { useExtendedPermissions } from "../hooks/useExtendedPermissions";
@@ -36,13 +39,13 @@ export function SettingsPage(): VNode {
   const [permissionsEnabled, togglePermissions] = useExtendedPermissions();
   const { devMode, toggleDevMode } = useDevContext();
   const { name, update } = useBackupDeviceName();
-  const [lang, changeLang] = useLang();
+  // const [lang, changeLang] = useLang();
   const exchangesHook = useAsyncAsHook(wxApi.listExchanges);
 
   return (
     <SettingsView
-      lang={lang}
-      changeLang={changeLang}
+      // lang={lang}
+      // changeLang={changeLang}
       knownExchanges={
         !exchangesHook || exchangesHook.hasError
           ? []
@@ -59,8 +62,8 @@ export function SettingsPage(): VNode {
 }
 
 export interface ViewProps {
-  lang: string;
-  changeLang: (s: string) => void;
+  // lang: string;
+  // changeLang: (s: string) => void;
   deviceName: string;
   setDeviceName: (s: string) => Promise<void>;
   permissionsEnabled: boolean;
@@ -77,11 +80,26 @@ export function SettingsView({
   developerMode,
   toggleDeveloperMode,
 }: ViewProps): VNode {
+  const { lang, supportedLang, changeLanguage } = useTranslationContext();
+
   return (
     <Fragment>
       <section>
         <h2>
-          <i18n.Translate>Permissions</i18n.Translate>
+          <i18n.Translate>Display</i18n.Translate>
+        </h2>
+        <Input>
+          <SelectList
+            label={<i18n.Translate>Current Language</i18n.Translate>}
+            list={supportedLang}
+            name="lang"
+            value={lang}
+            onChange={(v) => changeLanguage(v)}
+          />
+        </Input>
+
+        <h2>
+          <i18n.Translate>Navigator</i18n.Translate>
         </h2>
         <Checkbox
           label={
@@ -101,7 +119,7 @@ export function SettingsView({
         />
 
         <h2>
-          <i18n.Translate>Known exchanges</i18n.Translate>
+          <i18n.Translate>Trust</i18n.Translate>
         </h2>
         {!knownExchanges || !knownExchanges.length ? (
           <div>
@@ -176,7 +194,7 @@ export function SettingsView({
           </LinkPrimary>
         </div>
 
-        <h2>Config</h2>
+        <h2>Troubleshooting</h2>
         <Checkbox
           label={<i18n.Translate>Developer mode</i18n.Translate>}
           name="devMode"
diff --git a/packages/taler-wallet-webextension/src/walletEntryPoint.tsx 
b/packages/taler-wallet-webextension/src/walletEntryPoint.tsx
index 9d8d9286..f2240cdf 100644
--- a/packages/taler-wallet-webextension/src/walletEntryPoint.tsx
+++ b/packages/taler-wallet-webextension/src/walletEntryPoint.tsx
@@ -35,6 +35,7 @@ import {
 } from "./components/styled";
 import { DevContextProvider } from "./context/devContext";
 import { IoCProviderForRuntime } from "./context/iocContext";
+import { TranslationProvider } from "./context/translation";
 import { PayPage } from "./cta/Pay";
 import { RefundPage } from "./cta/Refund";
 import { TipPage } from "./cta/Tip";
@@ -93,7 +94,7 @@ function Application(): VNode {
     }
   }
   return (
-    <div>
+    <TranslationProvider>
       <DevContextProvider>
         {({ devMode }: { devMode: boolean }) => (
           <IoCProviderForRuntime>
@@ -262,7 +263,7 @@ function Application(): VNode {
           </IoCProviderForRuntime>
         )}
       </DevContextProvider>
-    </div>
+    </TranslationProvider>
   );
 }
 

-- 
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]