gnunet-svn
[Top][All Lists]
Advanced

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

[taler-wallet-core] branch master updated (7647d077 -> 191914e6)


From: gnunet
Subject: [taler-wallet-core] branch master updated (7647d077 -> 191914e6)
Date: Thu, 24 Feb 2022 16:51:07 +0100

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

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

    from 7647d077 Translated using Weblate (Turkish)
     new 41850c9f add i18n where was missing
     new 8e01ea54 add pogen as dependency
     new 8c3e5729 we are force to use i18n.Translate, otherwise pogen won't 
find the tag
     new 7774f350 adding self closing jsx element
     new 9261b808 updated strings from code
     new 4b384ac2 added spanish with some examples
     new 6bd6ace5 spanish translation
     new 68b88734 added ja lang and implemented transalation switch
     new 2fe32014 updated tr with the latest strings
     new 191914e6 added tr to supported langs

The 10 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 packages/pogen/src/po2ts.ts                        |    4 +-
 packages/pogen/src/potextract.ts                   |   15 +-
 packages/taler-util/src/i18n.ts                    |    5 +-
 .../.storybook/preview.js                          |    4 +-
 packages/taler-wallet-webextension/package.json    |    4 +-
 .../src/NavigationBar.tsx                          |   49 +-
 .../taler-wallet-webextension/src/background.ts    |    2 +-
 .../src/browserCryptoWorkerFactory.js              |   43 -
 .../src/browserCryptoWorkerFactory.js.map          |    1 -
 .../src/components/BankDetailsByPaytoType.tsx      |   37 +-
 .../src/components/Checkbox.tsx                    |    4 +-
 .../src/components/CheckboxOutlined.tsx            |    2 +-
 .../src/components/DebugCheckbox.tsx               |   13 +-
 .../src/components/Diagnostics.tsx                 |   40 +-
 .../src/components/EditableText.tsx                |    7 +-
 .../src/components/ErrorMessage.tsx                |    5 +-
 .../src/components/ErrorTalerOperation.tsx         |    2 +-
 .../src/components/Loading.tsx                     |    7 +-
 .../src/components/LoadingError.tsx                |    2 +-
 .../src/components/MultiActionButton.tsx           |    2 +-
 .../src/components/Part.tsx                        |    4 +-
 .../src/components/SelectList.tsx                  |    5 +-
 .../src/components/TransactionItem.tsx             |    9 +-
 .../src/context/translation.ts                     |   25 +-
 .../taler-wallet-webextension/src/cta/Deposit.tsx  |   75 +-
 packages/taler-wallet-webextension/src/cta/Pay.tsx |  143 +-
 .../taler-wallet-webextension/src/cta/Refund.tsx   |   46 +-
 .../src/cta/TermsOfServiceSection.tsx              |   40 +-
 packages/taler-wallet-webextension/src/cta/Tip.tsx |   44 +-
 .../taler-wallet-webextension/src/cta/Withdraw.tsx |   52 +-
 .../taler-wallet-webextension/src/cta/payback.tsx  |   31 -
 .../src/cta/reset-required.tsx                     |   35 +-
 .../src/cta/return-coins.tsx                       |    9 +-
 packages/taler-wallet-webextension/src/i18n/de.po  | 1377 +++-
 .../taler-wallet-webextension/src/i18n/en-US.po    | 1291 +++-
 packages/taler-wallet-webextension/src/i18n/es.po  | 1401 ++++
 packages/taler-wallet-webextension/src/i18n/fr.po  | 1285 +++-
 packages/taler-wallet-webextension/src/i18n/it.po  | 1285 +++-
 packages/taler-wallet-webextension/src/i18n/ja.po  | 1368 ++++
 .../taler-wallet-webextension/src/i18n/strings.ts  | 6789 ++++++++++++++++++--
 packages/taler-wallet-webextension/src/i18n/sv.po  | 1421 +++-
 .../src/i18n/taler-wallet-webex.pot                | 1255 +++-
 packages/taler-wallet-webextension/src/i18n/tr.po  | 1350 +++-
 .../src/popup/BalancePage.tsx                      |   19 +-
 .../src/popup/DeveloperPage.tsx                    |  119 +-
 .../src/popup/NoBalanceHelp.tsx                    |    2 +-
 .../src/popup/TalerActionFound.tsx                 |   51 +-
 .../src/popupEntryPoint.tsx                        |  205 +-
 .../src/wallet/AddNewActionView.tsx                |   20 +-
 .../src/wallet/BackupPage.tsx                      |   27 +-
 .../src/wallet/CreateManualWithdraw.tsx            |   52 +-
 .../src/wallet/DepositPage.tsx                     |   43 +-
 .../src/wallet/ExchangeAddConfirm.tsx              |   14 +-
 .../src/wallet/ExchangeSetUrl.tsx                  |   61 +-
 .../src/wallet/History.tsx                         |   15 +-
 .../src/wallet/ManualWithdrawPage.tsx              |    7 +-
 .../src/wallet/ProviderAddPage.tsx                 |   73 +-
 .../src/wallet/ProviderDetailPage.tsx              |  100 +-
 .../src/wallet/ReserveCreated.tsx                  |   36 +-
 .../src/wallet/Settings.tsx                        |   93 +-
 .../src/wallet/Transaction.tsx                     |  184 +-
 .../src/wallet/Welcome.tsx                         |   40 +-
 .../src/walletEntryPoint.tsx                       |   13 +-
 packages/taler-wallet-webextension/src/wxApi.ts    |    6 +
 pnpm-lock.yaml                                     |    2 +
 65 files changed, 18832 insertions(+), 1938 deletions(-)
 delete mode 100644 
packages/taler-wallet-webextension/src/browserCryptoWorkerFactory.js
 delete mode 100644 
packages/taler-wallet-webextension/src/browserCryptoWorkerFactory.js.map
 delete mode 100644 packages/taler-wallet-webextension/src/cta/payback.tsx
 create mode 100644 packages/taler-wallet-webextension/src/i18n/es.po
 create mode 100644 packages/taler-wallet-webextension/src/i18n/ja.po

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/pogen/src/potextract.ts b/packages/pogen/src/potextract.ts
index 5cc085ef..8961c8da 100644
--- a/packages/pogen/src/potextract.ts
+++ b/packages/pogen/src/potextract.ts
@@ -19,8 +19,7 @@
  */
 import * as ts from "typescript";
 import * as fs from "fs";
-import * as os from "os";
-import path = require("path/posix");
+import * as path from "path"
 
 function wordwrap(str: string, width: number = 80): string[] {
   var regex = ".{1," + width + "}(\\s|$)|\\S+(\\s|$)";
@@ -146,7 +145,7 @@ function processFile(
         outChunks.push(`#. ${cl}\n`);
       }
     }
-    const fn = path.relative(process.cwd(), sourceFile.fileName);
+    const fn = path.posix.relative(process.cwd(), sourceFile.fileName);
     outChunks.push(`#: ${fn}:${line + 1}\n`);
     outChunks.push(`#, c-format\n`);
   }
@@ -218,6 +217,7 @@ function processFile(
         }
         case ts.SyntaxKind.JsxOpeningElement:
           break;
+        case ts.SyntaxKind.JsxSelfClosingElement:
         case ts.SyntaxKind.JsxElement:
           fragments.push(`%${holeNum[0]++}$s`);
           break;
@@ -229,16 +229,13 @@ function processFile(
         case ts.SyntaxKind.JsxClosingElement:
           break;
         default:
+          console.log("unhandled node type: ", childNode.kind)
           let lc = ts.getLineAndCharacterOfPosition(
             childNode.getSourceFile(),
             childNode.getStart(),
           );
           console.error(
-            `unrecognized syntax in JSX Element ${
-              ts.SyntaxKind[childNode.kind]
-            } (${childNode.getSourceFile().fileName}:${lc.line + 1}:${
-              lc.character + 1
-            }`,
+            `unrecognized syntax in JSX Element 
${ts.SyntaxKind[childNode.kind]} 
(${childNode.getSourceFile().fileName}:${lc.line + 1}:${lc.character + 1}`,
           );
           break;
       }
@@ -420,7 +417,7 @@ export function potextract() {
       !prog.isSourceFileDefaultLibrary(x),
   );
 
-  //console.log(ownFiles.map((x) => x.fileName));
+  // console.log(ownFiles.map((x) => x.fileName));
 
   const chunks = [];
 
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 4c6f2a56..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:msgmerge": "pogen msgmerge"
+    "i18n:merge": "pogen merge",
+    "i18n:emit": "pogen emit"
   },
   "dependencies": {
     "@gnu-taler/taler-util": "workspace:*",
@@ -30,6 +31,7 @@
     "tslib": "^2.3.1"
   },
   "devDependencies": {
+    "@gnu-taler/pogen": "workspace:*",
     "@babel/core": "7.13.16",
     "@babel/plugin-transform-react-jsx-source": "^7.12.13",
     "@babel/preset-typescript": "^7.13.0",
diff --git a/packages/taler-wallet-webextension/src/NavigationBar.tsx 
b/packages/taler-wallet-webextension/src/NavigationBar.tsx
index 11f684af..f72d54ef 100644
--- a/packages/taler-wallet-webextension/src/NavigationBar.tsx
+++ b/packages/taler-wallet-webextension/src/NavigationBar.tsx
@@ -18,17 +18,23 @@
  * Popup shown to the user when they click
  * the Taler browser action button.
  *
- * @author Florian Dold
+ * @author sebasjm
  */
 
 /**
  * Imports.
  */
-import { i18n } from "@gnu-taler/taler-util";
+import { i18n, Translate } from "@gnu-taler/taler-util";
 import { VNode, h } from "preact";
 import { JustInDevMode } from "./components/JustInDevMode";
 import { NavigationHeader, NavigationHeaderHolder } from "./components/styled";
 
+/**
+ * List of pages used by the wallet
+ *
+ * @author sebasjm
+ */
+
 export enum Pages {
   welcome = "/welcome",
 
@@ -60,17 +66,15 @@ export function PopupNavBar({ path = "" }: { path?: string 
}): VNode {
     : "#";
   return (
     <NavigationHeader>
-      <a
-        href="/balance"
-        class={path.startsWith("/balance") ? "active" : ""}
-      >{i18n.str`Balance`}</a>
-      <a
-        href="/backup"
-        class={path.startsWith("/backup") ? "active" : ""}
-      >{i18n.str`Backup`}</a>
+      <a href="/balance" class={path.startsWith("/balance") ? "active" : ""}>
+        <i18n.Translate>Balance</i18n.Translate>
+      </a>
+      <a href="/backup" class={path.startsWith("/backup") ? "active" : ""}>
+        <i18n.Translate>Backup</i18n.Translate>
+      </a>
       <a />
       <a href={innerUrl} target="_blank" rel="noreferrer">
-        <div class="settings-icon" title="Settings" />
+        <div class="settings-icon" title={i18n.str`Settings`} />
       </a>
     </NavigationHeader>
   );
@@ -80,20 +84,17 @@ export function WalletNavBar({ path = "" }: { path?: string 
}): VNode {
   return (
     <NavigationHeaderHolder>
       <NavigationHeader>
-        <a
-          href="/balance"
-          class={path.startsWith("/balance") ? "active" : ""}
-        >{i18n.str`Balance`}</a>
-        <a
-          href="/backup"
-          class={path.startsWith("/backup") ? "active" : ""}
-        >{i18n.str`Backup`}</a>
+        <a href="/balance" class={path.startsWith("/balance") ? "active" : ""}>
+          <i18n.Translate>Balance</i18n.Translate>
+        </a>
+        <a href="/backup" class={path.startsWith("/backup") ? "active" : ""}>
+          <i18n.Translate>Backup</i18n.Translate>
+        </a>
 
         <JustInDevMode>
-          <a
-            href="/dev"
-            class={path.startsWith("/dev") ? "active" : ""}
-          >{i18n.str`Dev`}</a>
+          <a href="/dev" class={path.startsWith("/dev") ? "active" : ""}>
+            <i18n.Translate>Dev</i18n.Translate>
+          </a>
         </JustInDevMode>
 
         <a />
@@ -101,7 +102,7 @@ export function WalletNavBar({ path = "" }: { path?: string 
}): VNode {
           href="/settings"
           class={path.startsWith("/settings") ? "active" : ""}
         >
-          <div class="settings-icon" title="Settings" />
+          <i18n.Translate>Settings</i18n.Translate>
         </a>
       </NavigationHeader>
     </NavigationHeaderHolder>
diff --git a/packages/taler-wallet-webextension/src/background.ts 
b/packages/taler-wallet-webextension/src/background.ts
index 428cd86f..d6aeddc1 100644
--- a/packages/taler-wallet-webextension/src/background.ts
+++ b/packages/taler-wallet-webextension/src/background.ts
@@ -17,7 +17,7 @@
 /**
  * Entry point for the background page.
  *
- * @author Florian Dold
+ * @author sebasjm
  */
 
 /**
diff --git 
a/packages/taler-wallet-webextension/src/browserCryptoWorkerFactory.js 
b/packages/taler-wallet-webextension/src/browserCryptoWorkerFactory.js
deleted file mode 100644
index 8d958d6b..00000000
--- a/packages/taler-wallet-webextension/src/browserCryptoWorkerFactory.js
+++ /dev/null
@@ -1,43 +0,0 @@
-"use strict";
-/*
- This file is part of TALER
- (C) 2016 GNUnet e.V.
-
- TALER is free software; you can redistribute it and/or modify it under the
- terms of the GNU General Public License as published by the Free Software
- Foundation; either version 3, or (at your option) any later version.
-
- TALER is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
- A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along with
- TALER; see the file COPYING.  If not, see <http://www.gnu.org/licenses/>
- */
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.BrowserCryptoWorkerFactory = void 0;
-/**
- * API to access the Taler crypto worker thread.
- * @author Florian Dold
- */
-class BrowserCryptoWorkerFactory {
-  startWorker() {
-    const workerCtor = Worker;
-    const workerPath = "/browserWorkerEntry.js";
-    return new workerCtor(workerPath);
-  }
-  getConcurrency() {
-    let concurrency = 2;
-    try {
-      // only works in the browser
-      // tslint:disable-next-line:no-string-literal
-      concurrency = navigator["hardwareConcurrency"];
-      concurrency = Math.max(1, Math.ceil(concurrency / 2));
-    } catch (e) {
-      concurrency = 2;
-    }
-    return concurrency;
-  }
-}
-exports.BrowserCryptoWorkerFactory = BrowserCryptoWorkerFactory;
-//# sourceMappingURL=browserCryptoWorkerFactory.js.map
diff --git 
a/packages/taler-wallet-webextension/src/browserCryptoWorkerFactory.js.map 
b/packages/taler-wallet-webextension/src/browserCryptoWorkerFactory.js.map
deleted file mode 100644
index db56d445..00000000
--- a/packages/taler-wallet-webextension/src/browserCryptoWorkerFactory.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"browserCryptoWorkerFactory.js","sourceRoot":"","sources":["browserCryptoWorkerFactory.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH;;;GAGG;AAEH,MAAa,0BAA0B;IACrC,WAAW;QACT,MAAM,UAAU,GAAG,MAAM,CAAC;QAC1B,MAAM,UAAU,GAAG,wBAAwB,CAAC;QAC5C,OAAO,IAAI,UAAU,CAAC,UAAU,CAAiB,CAAC;IACpD,CAAC;IAED,cAAc;QACZ,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI;YACF,4BAA4B;YAC5B,6CAA6C;YAC7C,WAAW,GAAI,SAAiB,CAAC,qBAAqB,CAAC,CAAC;YACxD,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC
 [...]
\ No newline at end of file
diff --git 
a/packages/taler-wallet-webextension/src/components/BankDetailsByPaytoType.tsx 
b/packages/taler-wallet-webextension/src/components/BankDetailsByPaytoType.tsx
index 71365e08..e9a32ebf 100644
--- 
a/packages/taler-wallet-webextension/src/components/BankDetailsByPaytoType.tsx
+++ 
b/packages/taler-wallet-webextension/src/components/BankDetailsByPaytoType.tsx
@@ -14,7 +14,7 @@
  GNU Taler; see the file COPYING.  If not, see <http://www.gnu.org/licenses/>
  */
 
-import { PaytoUri } from "@gnu-taler/taler-util";
+import { PaytoUri, i18n } from "@gnu-taler/taler-util";
 import { Fragment, h, VNode } from "preact";
 import { useEffect, useState } from "preact/hooks";
 import { CopiedIcon, CopyIcon } from "../svg";
@@ -34,23 +34,42 @@ export function BankDetailsByPaytoType({
   amount,
 }: BankDetailsProps): VNode {
   const firstPart = !payto ? undefined : !payto.isKnown ? (
-    <Row name="Account" value={payto.targetPath} />
+    <Row
+      name={<i18n.Translate>Account</i18n.Translate>}
+      value={payto.targetPath}
+    />
   ) : payto.targetType === "x-taler-bank" ? (
     <Fragment>
-      <Row name="Bank host" value={payto.host} />
-      <Row name="Bank account" value={payto.account} />
+      <Row
+        name={<i18n.Translate>Bank host</i18n.Translate>}
+        value={payto.host}
+      />
+      <Row
+        name={<i18n.Translate>Bank account</i18n.Translate>}
+        value={payto.account}
+      />
     </Fragment>
   ) : payto.targetType === "iban" ? (
-    <Row name="IBAN" value={payto.iban} />
+    <Row name={<i18n.Translate>IBAN</i18n.Translate>} value={payto.iban} />
   ) : undefined;
   return (
     <div style={{ textAlign: "left" }}>
       <p>Bank transfer details</p>
       <table>
         {firstPart}
-        <Row name="Exchange" value={exchangeBaseUrl} />
-        <Row name="Chosen amount" value={amount} />
-        <Row name="Subject" value={subject} literal />
+        <Row
+          name={<i18n.Translate>Exchange</i18n.Translate>}
+          value={exchangeBaseUrl}
+        />
+        <Row
+          name={<i18n.Translate>Chosen amount</i18n.Translate>}
+          value={amount}
+        />
+        <Row
+          name={<i18n.Translate>Subject</i18n.Translate>}
+          value={subject}
+          literal
+        />
       </table>
     </div>
   );
@@ -61,7 +80,7 @@ function Row({
   value,
   literal,
 }: {
-  name: string;
+  name: VNode;
   value: string;
   literal?: boolean;
 }): VNode {
diff --git a/packages/taler-wallet-webextension/src/components/Checkbox.tsx 
b/packages/taler-wallet-webextension/src/components/Checkbox.tsx
index 59e84f4b..0eb087b0 100644
--- a/packages/taler-wallet-webextension/src/components/Checkbox.tsx
+++ b/packages/taler-wallet-webextension/src/components/Checkbox.tsx
@@ -19,9 +19,9 @@ import { h, VNode } from "preact";
 interface Props {
   enabled: boolean;
   onToggle: () => void;
-  label: string;
+  label: VNode;
   name: string;
-  description?: string;
+  description?: VNode;
 }
 export function Checkbox({
   name,
diff --git 
a/packages/taler-wallet-webextension/src/components/CheckboxOutlined.tsx 
b/packages/taler-wallet-webextension/src/components/CheckboxOutlined.tsx
index 16909d29..de7fb5e6 100644
--- a/packages/taler-wallet-webextension/src/components/CheckboxOutlined.tsx
+++ b/packages/taler-wallet-webextension/src/components/CheckboxOutlined.tsx
@@ -20,7 +20,7 @@ import { h, VNode } from "preact";
 interface Props {
   enabled: boolean;
   onToggle: () => void;
-  label: string;
+  label: VNode;
   name: string;
 }
 
diff --git 
a/packages/taler-wallet-webextension/src/components/DebugCheckbox.tsx 
b/packages/taler-wallet-webextension/src/components/DebugCheckbox.tsx
index b5707580..b5ad7cda 100644
--- a/packages/taler-wallet-webextension/src/components/DebugCheckbox.tsx
+++ b/packages/taler-wallet-webextension/src/components/DebugCheckbox.tsx
@@ -14,6 +14,7 @@
  TALER; see the file COPYING.  If not, see <http://www.gnu.org/licenses/>
  */
 
+import { i18n } from "@gnu-taler/taler-util";
 import { h, VNode } from "preact";
 
 export function DebugCheckbox({
@@ -36,7 +37,9 @@ export function DebugCheckbox({
         htmlFor="checkbox-perm"
         style={{ marginLeft: "0.5em", fontWeight: "bold" }}
       >
-        Automatically open wallet based on page content
+        <i18n.Translate>
+          Automatically open wallet based on page content
+        </i18n.Translate>
       </label>
       <span
         style={{
@@ -46,8 +49,12 @@ export function DebugCheckbox({
           marginLeft: "2em",
         }}
       >
-        (Enabling this option below will make using the wallet faster, but
-        requires more permissions from your browser.)
+        (
+        <i18n.Translate>
+          Enabling this option below will make using the wallet faster, but
+          requires more permissions from your browser.
+        </i18n.Translate>
+        )
       </span>
     </div>
   );
diff --git a/packages/taler-wallet-webextension/src/components/Diagnostics.tsx 
b/packages/taler-wallet-webextension/src/components/Diagnostics.tsx
index d368a10b..b136ebc2 100644
--- a/packages/taler-wallet-webextension/src/components/Diagnostics.tsx
+++ b/packages/taler-wallet-webextension/src/components/Diagnostics.tsx
@@ -14,7 +14,7 @@
  GNU Taler; see the file COPYING.  If not, see <http://www.gnu.org/licenses/>
  */
 
-import { WalletDiagnostics } from "@gnu-taler/taler-util";
+import { i18n, WalletDiagnostics } from "@gnu-taler/taler-util";
 import { Fragment, h, VNode } from "preact";
 import { PageLink } from "../renderHtml";
 
@@ -25,7 +25,13 @@ interface Props {
 
 export function Diagnostics({ timedOut, diagnostics }: Props): VNode {
   if (timedOut) {
-    return <p>Diagnostics timed out. Could not talk to the wallet backend.</p>;
+    return (
+      <p>
+        <i18n.Translate>
+          Diagnostics timed out. Could not talk to the wallet backend.
+        </i18n.Translate>
+      </p>
+    );
   }
 
   if (diagnostics) {
@@ -41,7 +47,9 @@ export function Diagnostics({ timedOut, diagnostics }: 
Props): VNode {
           paddingBottom: "0.2em",
         }}
       >
-        <p>Problems detected:</p>
+        <p>
+          <i18n.Translate>Problems detected:</i18n.Translate>
+        </p>
         <ol>
           {diagnostics.errors.map((errMsg) => (
             <li key={errMsg}>{errMsg}</li>
@@ -49,22 +57,32 @@ export function Diagnostics({ timedOut, diagnostics }: 
Props): VNode {
         </ol>
         {diagnostics.firefoxIdbProblem ? (
           <p>
-            Please check in your <code>about:config</code> settings that you
-            have IndexedDB enabled (check the preference name{" "}
-            <code>dom.indexedDB.enabled</code>).
+            <i18n.Translate>
+              Please check in your <code>about:config</code> settings that you
+              have IndexedDB enabled (check the preference name{" "}
+              <code>dom.indexedDB.enabled</code>).
+            </i18n.Translate>
           </p>
         ) : null}
         {diagnostics.dbOutdated ? (
           <p>
-            Your wallet database is outdated. Currently automatic migration is
-            not supported. Please go{" "}
-            <PageLink pageName="/reset-required">here</PageLink> to reset the
-            wallet database.
+            <i18n.Translate>
+              Your wallet database is outdated. Currently automatic migration 
is
+              not supported. Please go{" "}
+              <PageLink pageName="/reset-required">
+                <i18n.Translate>here</i18n.Translate>
+              </PageLink>{" "}
+              to reset the wallet database.
+            </i18n.Translate>
           </p>
         ) : null}
       </div>
     );
   }
 
-  return <p>Running diagnostics ...</p>;
+  return (
+    <p>
+      <i18n.Translate>Running diagnostics</i18n.Translate> ...
+    </p>
+  );
 }
diff --git a/packages/taler-wallet-webextension/src/components/EditableText.tsx 
b/packages/taler-wallet-webextension/src/components/EditableText.tsx
index 72bfbe80..8d45cae9 100644
--- a/packages/taler-wallet-webextension/src/components/EditableText.tsx
+++ b/packages/taler-wallet-webextension/src/components/EditableText.tsx
@@ -14,6 +14,7 @@
  GNU Taler; see the file COPYING.  If not, see <http://www.gnu.org/licenses/>
  */
 
+import { i18n } from "@gnu-taler/taler-util";
 import { h, VNode } from "preact";
 import { useRef, useState } from "preact/hooks";
 
@@ -39,7 +40,9 @@ export function EditableText({
       return (
         <div style={{ display: "flex", justifyContent: "space-between" }}>
           <p>{value}</p>
-          <button onClick={() => setEditing(true)}>edit</button>
+          <button onClick={() => setEditing(true)}>
+            <i18n.Translate>Edit</i18n.Translate>
+          </button>
         </div>
       );
     };
@@ -54,7 +57,7 @@ export function EditableText({
                 onChange(ref.current.value).then(() => setEditing(false));
             }}
           >
-            confirm
+            <i18n.Translate>Confirm</i18n.Translate>
           </button>
         </div>
       );
diff --git a/packages/taler-wallet-webextension/src/components/ErrorMessage.tsx 
b/packages/taler-wallet-webextension/src/components/ErrorMessage.tsx
index 21f10eee..085bf0b8 100644
--- a/packages/taler-wallet-webextension/src/components/ErrorMessage.tsx
+++ b/packages/taler-wallet-webextension/src/components/ErrorMessage.tsx
@@ -13,7 +13,7 @@
  You should have received a copy of the GNU General Public License along with
  GNU Taler; see the file COPYING.  If not, see <http://www.gnu.org/licenses/>
  */
-import { VNode, h } from "preact";
+import { VNode, h, ComponentChildren } from "preact";
 import { useState } from "preact/hooks";
 import arrowDown from "../../static/img/chevron-down.svg";
 import { ErrorBox } from "./styled";
@@ -22,11 +22,10 @@ export function ErrorMessage({
   title,
   description,
 }: {
-  title?: string | VNode;
+  title: VNode;
   description?: string;
 }): VNode | null {
   const [showErrorDetail, setShowErrorDetail] = useState(false);
-  if (!title) return null;
   return (
     <ErrorBox style={{ paddingTop: 0, paddingBottom: 0 }}>
       <div>
diff --git 
a/packages/taler-wallet-webextension/src/components/ErrorTalerOperation.tsx 
b/packages/taler-wallet-webextension/src/components/ErrorTalerOperation.tsx
index a7b66ea3..4852a71b 100644
--- a/packages/taler-wallet-webextension/src/components/ErrorTalerOperation.tsx
+++ b/packages/taler-wallet-webextension/src/components/ErrorTalerOperation.tsx
@@ -24,7 +24,7 @@ export function ErrorTalerOperation({
   title,
   error,
 }: {
-  title?: string;
+  title?: VNode;
   error?: TalerErrorDetails;
 }): VNode | null {
   const { devMode } = useDevContext();
diff --git a/packages/taler-wallet-webextension/src/components/Loading.tsx 
b/packages/taler-wallet-webextension/src/components/Loading.tsx
index 34edac55..7504034a 100644
--- a/packages/taler-wallet-webextension/src/components/Loading.tsx
+++ b/packages/taler-wallet-webextension/src/components/Loading.tsx
@@ -13,8 +13,13 @@
  You should have received a copy of the GNU General Public License along with
  TALER; see the file COPYING.  If not, see <http://www.gnu.org/licenses/>
  */
+import { i18n } from "@gnu-taler/taler-util";
 import { h, VNode } from "preact";
 
 export function Loading(): VNode {
-  return <div>Loading...</div>;
+  return (
+    <div>
+      <i18n.Translate>Loading</i18n.Translate>...
+    </div>
+  );
 }
diff --git a/packages/taler-wallet-webextension/src/components/LoadingError.tsx 
b/packages/taler-wallet-webextension/src/components/LoadingError.tsx
index 6f572b88..ea0ff40d 100644
--- a/packages/taler-wallet-webextension/src/components/LoadingError.tsx
+++ b/packages/taler-wallet-webextension/src/components/LoadingError.tsx
@@ -19,7 +19,7 @@ import { ErrorMessage } from "./ErrorMessage";
 import { ErrorTalerOperation } from "./ErrorTalerOperation";
 
 export interface Props {
-  title: string;
+  title: VNode;
   error: HookError;
 }
 export function LoadingError({ title, error }: Props): VNode {
diff --git 
a/packages/taler-wallet-webextension/src/components/MultiActionButton.tsx 
b/packages/taler-wallet-webextension/src/components/MultiActionButton.tsx
index 977ac557..1f46cf82 100644
--- a/packages/taler-wallet-webextension/src/components/MultiActionButton.tsx
+++ b/packages/taler-wallet-webextension/src/components/MultiActionButton.tsx
@@ -4,7 +4,7 @@ import { ButtonBoxPrimary, ButtonPrimary, ParagraphClickable } 
from "./styled";
 import { useState } from "preact/hooks";
 
 export interface Props {
-  label: (s: string) => string;
+  label: (s: string) => VNode;
   actions: string[];
   onClick: (s: string) => void;
 }
diff --git a/packages/taler-wallet-webextension/src/components/Part.tsx 
b/packages/taler-wallet-webextension/src/components/Part.tsx
index c8ecb46d..05da90b2 100644
--- a/packages/taler-wallet-webextension/src/components/Part.tsx
+++ b/packages/taler-wallet-webextension/src/components/Part.tsx
@@ -15,11 +15,11 @@
  */
 import { AmountLike } from "@gnu-taler/taler-util";
 import { ExtraLargeText, LargeText, SmallLightText } from "./styled";
-import { h } from "preact";
+import { h, VNode } from "preact";
 
 export type Kind = "positive" | "negative" | "neutral";
 interface Props {
-  title: string;
+  title: VNode;
   text: AmountLike;
   kind: Kind;
   big?: boolean;
diff --git a/packages/taler-wallet-webextension/src/components/SelectList.tsx 
b/packages/taler-wallet-webextension/src/components/SelectList.tsx
index c17b8733..676fd672 100644
--- a/packages/taler-wallet-webextension/src/components/SelectList.tsx
+++ b/packages/taler-wallet-webextension/src/components/SelectList.tsx
@@ -14,13 +14,14 @@
  GNU Taler; see the file COPYING.  If not, see <http://www.gnu.org/licenses/>
  */
 
+import { i18n } from "@gnu-taler/taler-util";
 import { Fragment, h, VNode } from "preact";
 import { NiceSelect } from "./styled";
 
 interface Props {
   value?: string;
   onChange: (s: string) => void;
-  label: string;
+  label: VNode;
   list: {
     [label: string]: string;
   };
@@ -58,7 +59,7 @@ export function SelectList({
           {value === undefined ||
             (canBeNull && (
               <option selected disabled>
-                Select one option
+                <i18n.Translate>Select one option</i18n.Translate>
               </option>
               // ) : (
               //   <option selected>{list[value]}</option>
diff --git 
a/packages/taler-wallet-webextension/src/components/TransactionItem.tsx 
b/packages/taler-wallet-webextension/src/components/TransactionItem.tsx
index 89d6235a..abcca9c2 100644
--- a/packages/taler-wallet-webextension/src/components/TransactionItem.tsx
+++ b/packages/taler-wallet-webextension/src/components/TransactionItem.tsx
@@ -21,6 +21,7 @@ import {
   Timestamp,
   Transaction,
   TransactionType,
+  i18n,
 } from "@gnu-taler/taler-util";
 import { h, VNode } from "preact";
 import imageBank from "../../static/img/ri-bank-line.svg";
@@ -133,7 +134,7 @@ function TransactionLayout(props: TransactionLayoutProps): 
VNode {
         </LargeText>
         {props.pending && (
           <LightText style={{ marginTop: 5, marginBottom: 5 }}>
-            Waiting for confirmation
+            <i18n.Translate>Waiting for confirmation</i18n.Translate>
           </LightText>
         )}
         <SmallLightText style={{ marginTop: 5 }}>
@@ -195,7 +196,11 @@ function TransactionAmount(props: TransactionAmountProps): 
VNode {
         {sign}
         {Amounts.stringifyValue(props.amount)}
       </ExtraLargeText>
-      {props.pending && <div>PENDING</div>}
+      {props.pending && (
+        <div>
+          <i18n.Translate>PENDING</i18n.Translate>
+        </div>
+      )}
     </Column>
   );
 }
diff --git a/packages/taler-wallet-webextension/src/context/translation.ts 
b/packages/taler-wallet-webextension/src/context/translation.ts
index 105da9dc..abbda548 100644
--- a/packages/taler-wallet-webextension/src/context/translation.ts
+++ b/packages/taler-wallet-webextension/src/context/translation.ts
@@ -29,10 +29,27 @@ 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]",
+  // ko: "한국어 [ko]",
+  // ru: "Ру́сский язы́к [ru]",
+  tr: "Türk [tr]"
+};
+
+
 const initial = {
   lang: "en",
+  supportedLang,
   changeLanguage: () => {
     // do not change anything
   },
@@ -52,7 +69,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 +87,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/cta/Deposit.tsx 
b/packages/taler-wallet-webextension/src/cta/Deposit.tsx
index 39ccdbac..82d898d7 100644
--- a/packages/taler-wallet-webextension/src/cta/Deposit.tsx
+++ b/packages/taler-wallet-webextension/src/cta/Deposit.tsx
@@ -35,6 +35,7 @@ import {
   NotificationType,
   PreparePayResult,
   PreparePayResultType,
+  Translate,
 } from "@gnu-taler/taler-util";
 import { OperationFailedError } from "@gnu-taler/taler-wallet-core";
 import { Fragment, h, VNode } from "preact";
@@ -108,7 +109,11 @@ export function DepositPage({ talerPayUri, goBack }: 
Props): VNode {
   }, [talerPayUri, foundAmountStr]);
 
   if (!talerPayUri) {
-    return <span>missing pay uri</span>;
+    return (
+      <span>
+        <i18n.Translate>missing pay uri</i18n.Translate>
+      </span>
+    );
   }
 
   if (!payStatus) {
@@ -116,10 +121,16 @@ export function DepositPage({ talerPayUri, goBack }: 
Props): VNode {
       return (
         <WalletAction>
           <LogoHeader />
-          <h2>{i18n.str`Digital cash payment`}</h2>
+          <h2>
+            <i18n.Translate>Digital cash payment</i18n.Translate>
+          </h2>
           <section>
             <ErrorTalerOperation
-              title="Could not get the payment information for this order"
+              title={
+                <i18n.Translate>
+                  Could not get the payment information for this order
+                </i18n.Translate>
+              }
               error={payErrMsg?.operationError}
             />
           </section>
@@ -130,15 +141,25 @@ export function DepositPage({ talerPayUri, goBack }: 
Props): VNode {
       return (
         <WalletAction>
           <LogoHeader />
-          <h2>{i18n.str`Digital cash payment`}</h2>
+          <h2>
+            <i18n.Translate>Digital cash payment</i18n.Translate>
+          </h2>
           <section>
-            <p>Could not get the payment information for this order</p>
+            <p>
+              <i18n.Translate>
+                Could not get the payment information for this order
+              </i18n.Translate>
+            </p>
             <ErrorBox>{payErrMsg}</ErrorBox>
           </section>
         </WalletAction>
       );
     }
-    return <span>Loading payment information ...</span>;
+    return (
+      <span>
+        <i18n.Translate>Loading payment information</i18n.Translate> ...
+      </span>
+    );
   }
 
   const onClick = async (): Promise<void> => {
@@ -183,20 +204,32 @@ export function PaymentRequestView({
     <WalletAction>
       <LogoHeader />
 
-      <h2>{i18n.str`Digital cash deposit`}</h2>
+      <h2>
+        <i18n.Translate>Digital cash deposit</i18n.Translate>
+      </h2>
       {payStatus.status === PreparePayResultType.AlreadyConfirmed &&
         (payStatus.paid ? (
-          <SuccessBox> Already paid </SuccessBox>
+          <SuccessBox>
+            <i18n.Translate>Already paid</i18n.Translate>
+          </SuccessBox>
         ) : (
-          <WarningBox> Already claimed </WarningBox>
+          <WarningBox>
+            <i18n.Translate>Already claimed</i18n.Translate>
+          </WarningBox>
         ))}
       {payResult && payResult.type === ConfirmPayResultType.Done && (
         <SuccessBox>
-          <h3>Payment complete</h3>
+          <h3>
+            <i18n.Translate>Payment complete</i18n.Translate>
+          </h3>
           <p>
-            {!payResult.contractTerms.fulfillment_message
-              ? "You will now be sent back to the merchant you came from."
-              : payResult.contractTerms.fulfillment_message}
+            {!payResult.contractTerms.fulfillment_message ? (
+              <i18n.Translate>
+                You will now be sent back to the merchant you came from.
+              </i18n.Translate>
+            ) : (
+              payResult.contractTerms.fulfillment_message
+            )}
           </p>
         </SuccessBox>
       )}
@@ -205,7 +238,7 @@ export function PaymentRequestView({
           Amounts.isNonZero(totalFees) && (
             <Part
               big
-              title="Total to pay"
+              title={<i18n.Translate>Total to pay</i18n.Translate>}
               text={amountToPretty(
                 Amounts.parseOrThrow(payStatus.amountEffective),
               )}
@@ -214,7 +247,7 @@ export function PaymentRequestView({
           )}
         <Part
           big
-          title="Purchase amount"
+          title={<i18n.Translate>Purchase amount</i18n.Translate>}
           text={amountToPretty(Amounts.parseOrThrow(payStatus.amountRaw))}
           kind="neutral"
         />
@@ -222,21 +255,25 @@ export function PaymentRequestView({
           <Fragment>
             <Part
               big
-              title="Fee"
+              title={<i18n.Translate>Fee</i18n.Translate>}
               text={amountToPretty(totalFees)}
               kind="negative"
             />
           </Fragment>
         )}
         <Part
-          title="Merchant"
+          title={<i18n.Translate>Merchant</i18n.Translate>}
           text={contractTerms.merchant.name}
           kind="neutral"
         />
-        <Part title="Purchase" text={contractTerms.summary} kind="neutral" />
+        <Part
+          title={<i18n.Translate>Purchase</i18n.Translate>}
+          text={contractTerms.summary}
+          kind="neutral"
+        />
         {contractTerms.order_id && (
           <Part
-            title="Receipt"
+            title={<i18n.Translate>Receipt</i18n.Translate>}
             text={`#${contractTerms.order_id}`}
             kind="neutral"
           />
diff --git a/packages/taler-wallet-webextension/src/cta/Pay.tsx 
b/packages/taler-wallet-webextension/src/cta/Pay.tsx
index 7f5f42e8..4fe44dcf 100644
--- a/packages/taler-wallet-webextension/src/cta/Pay.tsx
+++ b/packages/taler-wallet-webextension/src/cta/Pay.tsx
@@ -37,10 +37,12 @@ import {
   PreparePayResult,
   PreparePayResultType,
   Product,
+  Translate,
 } from "@gnu-taler/taler-util";
 import { OperationFailedError } from "@gnu-taler/taler-wallet-core";
 import { Fragment, h, VNode } from "preact";
 import { useEffect, useState } from "preact/hooks";
+import { ErrorMessage } from "../components/ErrorMessage";
 import { Loading } from "../components/Loading";
 import { LoadingError } from "../components/LoadingError";
 import { LogoHeader } from "../components/LogoHeader";
@@ -106,7 +108,12 @@ export function PayPage({
   }
 
   if (hook.hasError) {
-    return <LoadingError title="Could not load pay status" error={hook} />;
+    return (
+      <LoadingError
+        title={<i18n.Translate>Could not load pay status</i18n.Translate>}
+        error={hook}
+      />
+    );
   }
 
   const foundBalance = hook.response.balance.balances.find(
@@ -178,9 +185,13 @@ export function PaymentRequestView({
 
   if (!contractTerms) {
     return (
-      <span>
-        Error: did not get contract terms from merchant or wallet backend.
-      </span>
+      <ErrorMessage
+        title={
+          <i18n.Translate>
+            Could not load contract terms from merchant or wallet backend.
+          </i18n.Translate>
+        }
+      />
     );
   }
 
@@ -192,13 +203,6 @@ export function PaymentRequestView({
     totalFees = Amounts.sub(amountEffective, amountRaw).amount;
   }
 
-  // let merchantName: VNode;
-  // if (contractTerms.merchant && contractTerms.merchant.name) {
-  //   merchantName = <strong>{contractTerms.merchant.name}</strong>;
-  // } else {
-  // merchantName = <strong>(pub: {contractTerms.merchant_pub})</strong>;
-  // }
-
   function Alternative(): VNode {
     const [showQR, setShowQR] = useState<boolean>(false);
     const privateUri =
@@ -209,12 +213,21 @@ export function PaymentRequestView({
     return (
       <section>
         <LinkSuccess upperCased onClick={() => setShowQR((qr) => !qr)}>
-          {!showQR ? i18n.str`Pay with a mobile phone` : i18n.str`Hide QR`}
+          {!showQR ? (
+            <i18n.Translate>Pay with a mobile phone</i18n.Translate>
+          ) : (
+            <i18n.Translate>Hide QR</i18n.Translate>
+          )}
         </LinkSuccess>
         {showQR && (
           <div>
             <QR text={privateUri} />
-            Scan the QR code or <a href={privateUri}>click here</a>
+            <i18n.Translate>
+              Scan the QR code or
+              <a href={privateUri}>
+                <i18n.Translate>click here</i18n.Translate>
+              </a>
+            </i18n.Translate>
           </div>
         )}
       </section>
@@ -227,7 +240,9 @@ export function PaymentRequestView({
         return (
           <section>
             <div>
-              <p>Processing...</p>
+              <p>
+                <i18n.Translate>Processing</i18n.Translate>...
+              </p>
             </div>
           </section>
         );
@@ -239,7 +254,9 @@ export function PaymentRequestView({
         <Fragment>
           <section>
             <ButtonSuccess upperCased onClick={onClick}>
-              {i18n.str`Pay`} {amountToString(payStatus.amountEffective)}
+              <i18n.Translate>
+                Pay {amountToString(payStatus.amountEffective)}
+              </i18n.Translate>
             </ButtonSuccess>
           </section>
           <Alternative />
@@ -252,18 +269,22 @@ export function PaymentRequestView({
           <section>
             {balance ? (
               <WarningBox>
-                Your balance of {amountToString(balance)} is not enough to pay
-                for this purchase
+                <i18n.Translate>
+                  Your balance of {amountToString(balance)} is not enough to 
pay
+                  for this purchase
+                </i18n.Translate>
               </WarningBox>
             ) : (
               <WarningBox>
-                Your balance is not enough to pay for this purchase.
+                <i18n.Translate>
+                  Your balance is not enough to pay for this purchase.
+                </i18n.Translate>
               </WarningBox>
             )}
           </section>
           <section>
             <ButtonSuccess upperCased onClick={goToWalletManualWithdraw}>
-              {i18n.str`Withdraw digital cash`}
+              <i18n.Translate>Withdraw digital cash</i18n.Translate>
             </ButtonSuccess>
           </section>
           <Alternative />
@@ -276,7 +297,7 @@ export function PaymentRequestView({
           <section>
             {payStatus.paid && contractTerms.fulfillment_message && (
               <Part
-                title="Merchant message"
+                title={<i18n.Translate>Merchant message</i18n.Translate>}
                 text={contractTerms.fulfillment_message}
                 kind="neutral"
               />
@@ -293,31 +314,48 @@ export function PaymentRequestView({
     <WalletAction>
       <LogoHeader />
 
-      <h2>{i18n.str`Digital cash payment`}</h2>
+      <h2>
+        <i18n.Translate>Digital cash payment</i18n.Translate>
+      </h2>
       {payStatus.status === PreparePayResultType.AlreadyConfirmed &&
         (payStatus.paid ? (
           payStatus.contractTerms.fulfillment_url ? (
             <SuccessBox>
-              Already paid, you are going to be redirected to{" "}
-              <a href={payStatus.contractTerms.fulfillment_url}>
-                {payStatus.contractTerms.fulfillment_url}
-              </a>
+              <i18n.Translate>
+                Already paid, you are going to be redirected to{" "}
+                <a href={payStatus.contractTerms.fulfillment_url}>
+                  {payStatus.contractTerms.fulfillment_url}
+                </a>
+              </i18n.Translate>
             </SuccessBox>
           ) : (
-            <SuccessBox> Already paid </SuccessBox>
+            <SuccessBox>
+              <i18n.Translate>Already paid</i18n.Translate>
+            </SuccessBox>
           )
         ) : (
-          <WarningBox> Already claimed </WarningBox>
+          <WarningBox>
+            <i18n.Translate>Already claimed</i18n.Translate>
+          </WarningBox>
         ))}
       {payResult && payResult.type === ConfirmPayResultType.Done && (
         <SuccessBox>
-          <h3>Payment complete</h3>
+          <h3>
+            <i18n.Translate>Payment complete</i18n.Translate>
+          </h3>
           <p>
-            {!payResult.contractTerms.fulfillment_message
-              ? payResult.contractTerms.fulfillment_url
-                ? `You are going to be redirected to 
${payResult.contractTerms.fulfillment_url}`
-                : "You can close this page."
-              : payResult.contractTerms.fulfillment_message}
+            {!payResult.contractTerms.fulfillment_message ? (
+              payResult.contractTerms.fulfillment_url ? (
+                <i18n.Translate>
+                  You are going to be redirected to $
+                  {payResult.contractTerms.fulfillment_url}
+                </i18n.Translate>
+              ) : (
+                <i18n.Translate>You can close this page.</i18n.Translate>
+              )
+            ) : (
+              payResult.contractTerms.fulfillment_message
+            )}
           </p>
         </SuccessBox>
       )}
@@ -326,14 +364,14 @@ export function PaymentRequestView({
           Amounts.isNonZero(totalFees) && (
             <Part
               big
-              title="Total to pay"
+              title={<i18n.Translate>Total to pay</i18n.Translate>}
               text={amountToString(payStatus.amountEffective)}
               kind="negative"
             />
           )}
         <Part
           big
-          title="Purchase amount"
+          title={<i18n.Translate>Purchase amount</i18n.Translate>}
           text={amountToString(payStatus.amountRaw)}
           kind="neutral"
         />
@@ -341,21 +379,25 @@ export function PaymentRequestView({
           <Fragment>
             <Part
               big
-              title="Fee"
+              title={<i18n.Translate>Fee</i18n.Translate>}
               text={amountToString(totalFees)}
               kind="negative"
             />
           </Fragment>
         )}
         <Part
-          title="Merchant"
+          title={<i18n.Translate>Merchant</i18n.Translate>}
           text={contractTerms.merchant.name}
           kind="neutral"
         />
-        <Part title="Purchase" text={contractTerms.summary} kind="neutral" />
+        <Part
+          title={<i18n.Translate>Purchase</i18n.Translate>}
+          text={contractTerms.summary}
+          kind="neutral"
+        />
         {contractTerms.order_id && (
           <Part
-            title="Receipt"
+            title={<i18n.Translate>Receipt</i18n.Translate>}
             text={`#${contractTerms.order_id}`}
             kind="neutral"
           />
@@ -373,7 +415,7 @@ function ProductList({ products }: { products: Product[] 
}): VNode {
   return (
     <Fragment>
       <SmallLightText style={{ margin: ".5em" }}>
-        List of products
+        <i18n.Translate>List of products</i18n.Translate>
       </SmallLightText>
       <dl>
         {products.map((p, i) => {
@@ -415,15 +457,18 @@ function ProductList({ products }: { products: Product[] 
}): VNode {
                   {p.quantity ?? 1} x {p.description}
                 </dt>
                 <dd>
-                  Total{` `}
-                  {p.price
-                    ? `${Amounts.stringifyValue(
-                        Amounts.mult(
-                          Amounts.parseOrThrow(p.price),
-                          p.quantity ?? 1,
-                        ).amount,
-                      )} ${p}`
-                    : "free"}
+                  <i18n.Translate>Total</i18n.Translate>
+                  {` `}
+                  {p.price ? (
+                    `${Amounts.stringifyValue(
+                      Amounts.mult(
+                        Amounts.parseOrThrow(p.price),
+                        p.quantity ?? 1,
+                      ).amount,
+                    )} ${p}`
+                  ) : (
+                    <i18n.Translate>free</i18n.Translate>
+                  )}
                 </dd>
               </div>
             </div>
diff --git a/packages/taler-wallet-webextension/src/cta/Refund.tsx 
b/packages/taler-wallet-webextension/src/cta/Refund.tsx
index cecd1ac0..8ce008bc 100644
--- a/packages/taler-wallet-webextension/src/cta/Refund.tsx
+++ b/packages/taler-wallet-webextension/src/cta/Refund.tsx
@@ -17,10 +17,10 @@
 /**
  * Page that shows refund status for purchases.
  *
- * @author Florian Dold
+ * @author sebasjm
  */
 
-import { Amounts, ApplyRefundResponse } from "@gnu-taler/taler-util";
+import { Amounts, ApplyRefundResponse, i18n } from "@gnu-taler/taler-util";
 import { h, VNode } from "preact";
 import { useEffect, useState } from "preact/hooks";
 import { AmountView } from "../renderHtml";
@@ -37,20 +37,30 @@ export function View({ applyResult }: ViewProps): VNode {
     <section class="main">
       <h1>GNU Taler Wallet</h1>
       <article class="fade">
-        <h2>Refund Status</h2>
+        <h2>
+          <i18n.Translate>Refund Status</i18n.Translate>
+        </h2>
         <p>
-          The product <em>{applyResult.info.summary}</em> has received a total
-          effective refund of{" "}
+          <i18n.Translate>
+            The product <em>{applyResult.info.summary}</em> has received a 
total
+            effective refund of{" "}
+          </i18n.Translate>
           <AmountView amount={applyResult.amountRefundGranted} />.
         </p>
         {applyResult.pendingAtExchange ? (
-          <p>Refund processing is still in progress.</p>
+          <p>
+            <i18n.Translate>
+              Refund processing is still in progress.
+            </i18n.Translate>
+          </p>
         ) : null}
         {!Amounts.isZero(applyResult.amountRefundGone) ? (
           <p>
-            The refund amount of{" "}
-            <AmountView amount={applyResult.amountRefundGone} /> could not be
-            applied.
+            <i18n.Translate>
+              The refund amount of{" "}
+              <AmountView amount={applyResult.amountRefundGone} /> could not be
+              applied.
+            </i18n.Translate>
           </p>
         ) : null}
       </article>
@@ -82,15 +92,27 @@ export function RefundPage({ talerRefundUri }: Props): 
VNode {
   console.log("rendering");
 
   if (!talerRefundUri) {
-    return <span>missing taler refund uri</span>;
+    return (
+      <span>
+        <i18n.Translate>missing taler refund uri</i18n.Translate>
+      </span>
+    );
   }
 
   if (errMsg) {
-    return <span>Error: {errMsg}</span>;
+    return (
+      <span>
+        <i18n.Translate>Error: {errMsg}</i18n.Translate>
+      </span>
+    );
   }
 
   if (!applyResult) {
-    return <span>Updating refund status</span>;
+    return (
+      <span>
+        <i18n.Translate>Updating refund status</i18n.Translate>
+      </span>
+    );
   }
 
   return <View applyResult={applyResult} />;
diff --git 
a/packages/taler-wallet-webextension/src/cta/TermsOfServiceSection.tsx 
b/packages/taler-wallet-webextension/src/cta/TermsOfServiceSection.tsx
index 584da6d2..1244b791 100644
--- a/packages/taler-wallet-webextension/src/cta/TermsOfServiceSection.tsx
+++ b/packages/taler-wallet-webextension/src/cta/TermsOfServiceSection.tsx
@@ -1,4 +1,4 @@
-import { i18n } from "@gnu-taler/taler-util";
+import { i18n, Translate } from "@gnu-taler/taler-util";
 import { Fragment, h, VNode } from "preact";
 import { CheckboxOutlined } from "../components/CheckboxOutlined";
 import { ExchangeXmlTos } from "../components/ExchangeToS";
@@ -34,7 +34,9 @@ export function TermsOfServiceSection({
             {terms.status === "notfound" && (
               <section>
                 <WarningText>
-                  {i18n.str`Exchange doesn't have terms of service`}
+                  <i18n.Translate>
+                    Exchange doesn't have terms of service
+                  </i18n.Translate>
                 </WarningText>
               </section>
             )}
@@ -46,21 +48,27 @@ export function TermsOfServiceSection({
           {terms.status === "notfound" && (
             <section>
               <WarningText>
-                {i18n.str`Exchange doesn't have terms of service`}
+                <i18n.Translate>
+                  Exchange doesn't have terms of service
+                </i18n.Translate>
               </WarningText>
             </section>
           )}
           {terms.status === "new" && (
             <section>
               <ButtonSuccess upperCased onClick={() => onReview(true)}>
-                {i18n.str`Review exchange terms of service`}
+                <i18n.Translate>
+                  Review exchange terms of service
+                </i18n.Translate>
               </ButtonSuccess>
             </section>
           )}
           {terms.status === "changed" && (
             <section>
               <ButtonWarning upperCased onClick={() => onReview(true)}>
-                {i18n.str`Review new version of terms of service`}
+                <i18n.Translate>
+                  Review new version of terms of service
+                </i18n.Translate>
               </ButtonWarning>
             </section>
           )}
@@ -72,7 +80,7 @@ export function TermsOfServiceSection({
         {onReview && (
           <section>
             <LinkSuccess upperCased onClick={() => onReview(true)}>
-              {i18n.str`Show terms of service`}
+              <i18n.Translate>Show terms of service</i18n.Translate>
             </LinkSuccess>
           </section>
         )}
@@ -80,7 +88,11 @@ export function TermsOfServiceSection({
           <CheckboxOutlined
             name="terms"
             enabled={reviewed}
-            label={i18n.str`I accept the exchange terms of service`}
+            label={
+              <i18n.Translate>
+                I accept the exchange terms of service
+              </i18n.Translate>
+            }
             onToggle={() => {
               onAccept(!reviewed);
               if (onReview) onReview(false);
@@ -95,7 +107,9 @@ export function TermsOfServiceSection({
       {terms.status !== "notfound" && !terms.content && (
         <section>
           <WarningBox>
-            The exchange reply with a empty terms of service
+            <i18n.Translate>
+              The exchange reply with a empty terms of service
+            </i18n.Translate>
           </WarningBox>
         </section>
       )}
@@ -116,7 +130,7 @@ export function TermsOfServiceSection({
           )}
           {terms.content.type === "pdf" && (
             <a href={terms.content.location.toString()} download="tos.pdf">
-              Download Terms of Service
+              <i18n.Translate>Download Terms of Service</i18n.Translate>
             </a>
           )}
         </section>
@@ -124,7 +138,7 @@ export function TermsOfServiceSection({
       {reviewed && onReview && (
         <section>
           <LinkSuccess upperCased onClick={() => onReview(false)}>
-            {i18n.str`Hide terms of service`}
+            <i18n.Translate>Hide terms of service</i18n.Translate>
           </LinkSuccess>
         </section>
       )}
@@ -133,7 +147,11 @@ export function TermsOfServiceSection({
           <CheckboxOutlined
             name="terms"
             enabled={reviewed}
-            label={i18n.str`I accept the exchange terms of service`}
+            label={
+              <i18n.Translate>
+                I accept the exchange terms of service
+              </i18n.Translate>
+            }
             onToggle={() => {
               onAccept(!reviewed);
               if (onReview) onReview(false);
diff --git a/packages/taler-wallet-webextension/src/cta/Tip.tsx 
b/packages/taler-wallet-webextension/src/cta/Tip.tsx
index 3f8b09bd..ff86ce8c 100644
--- a/packages/taler-wallet-webextension/src/cta/Tip.tsx
+++ b/packages/taler-wallet-webextension/src/cta/Tip.tsx
@@ -17,10 +17,10 @@
 /**
  * Page shown to the user to accept or ignore a tip from a merchant.
  *
- * @author Florian Dold <dold@taler.net>
+ * @author sebasjm <dold@taler.net>
  */
 
-import { PrepareTipResult } from "@gnu-taler/taler-util";
+import { PrepareTipResult, i18n } from "@gnu-taler/taler-util";
 import { h, VNode } from "preact";
 import { useEffect, useState } from "preact/hooks";
 import { Loading } from "../components/Loading";
@@ -46,21 +46,29 @@ export function View({
       <article class="fade">
         {prepareTipResult.accepted ? (
           <span>
-            Tip from <code>{prepareTipResult.merchantBaseUrl}</code> accepted.
-            Check your transactions list for more details.
+            <i18n.Translate>
+              Tip from <code>{prepareTipResult.merchantBaseUrl}</code> 
accepted.
+              Check your transactions list for more details.
+            </i18n.Translate>
           </span>
         ) : (
           <div>
             <p>
-              The merchant <code>{prepareTipResult.merchantBaseUrl}</code> is
-              offering you a tip of{" "}
-              <strong>
-                <AmountView amount={prepareTipResult.tipAmountEffective} />
-              </strong>{" "}
-              via the exchange <code>{prepareTipResult.exchangeBaseUrl}</code>
+              <i18n.Translate>
+                The merchant <code>{prepareTipResult.merchantBaseUrl}</code> is
+                offering you a tip of{" "}
+                <strong>
+                  <AmountView amount={prepareTipResult.tipAmountEffective} />
+                </strong>{" "}
+                via the exchange 
<code>{prepareTipResult.exchangeBaseUrl}</code>
+              </i18n.Translate>
             </p>
-            <button onClick={onAccept}>Accept tip</button>
-            <button onClick={onIgnore}>Ignore</button>
+            <button onClick={onAccept}>
+              <i18n.Translate>Accept tip</i18n.Translate>
+            </button>
+            <button onClick={onIgnore}>
+              <i18n.Translate>Ignore</i18n.Translate>
+            </button>
           </div>
         )}
       </article>
@@ -98,11 +106,19 @@ export function TipPage({ talerTipUri }: Props): VNode {
   };
 
   if (!talerTipUri) {
-    return <span>missing tip uri</span>;
+    return (
+      <span>
+        <i18n.Translate>missing tip uri</i18n.Translate>
+      </span>
+    );
   }
 
   if (tipIgnored) {
-    return <span>You've ignored the tip.</span>;
+    return (
+      <span>
+        <i18n.Translate>You've ignored the tip.</i18n.Translate>
+      </span>
+    );
   }
 
   if (!prepareTipResult) {
diff --git a/packages/taler-wallet-webextension/src/cta/Withdraw.tsx 
b/packages/taler-wallet-webextension/src/cta/Withdraw.tsx
index 8f45a047..7c9745dd 100644
--- a/packages/taler-wallet-webextension/src/cta/Withdraw.tsx
+++ b/packages/taler-wallet-webextension/src/cta/Withdraw.tsx
@@ -18,7 +18,7 @@
  * Page shown to the user to confirm creation
  * of a reserve, usually requested by the bank.
  *
- * @author Florian Dold
+ * @author sebasjm
  */
 
 import {
@@ -26,6 +26,7 @@ import {
   Amounts,
   ExchangeListItem,
   i18n,
+  Translate,
   WithdrawUriInfoResponse,
 } from "@gnu-taler/taler-util";
 import { OperationFailedError } from "@gnu-taler/taler-wallet-core";
@@ -117,37 +118,48 @@ export function View({
   return (
     <WalletAction>
       <LogoHeader />
-      <h2>{i18n.str`Digital cash withdrawal`}</h2>
+      <h2>
+        <i18n.Translate>Digital cash withdrawal</i18n.Translate>
+      </h2>
 
       {withdrawError && (
         <ErrorTalerOperation
-          title="Could not finish the withdrawal operation"
+          title={
+            <i18n.Translate>
+              Could not finish the withdrawal operation
+            </i18n.Translate>
+          }
           error={withdrawError.operationError}
         />
       )}
 
       <section>
         <Part
-          title="Total to withdraw"
+          title={<i18n.Translate>Total to withdraw</i18n.Translate>}
           text={amountToString(Amounts.sub(amount, withdrawalFee).amount)}
           kind="positive"
         />
         {Amounts.isNonZero(withdrawalFee) && (
           <Fragment>
             <Part
-              title="Chosen amount"
+              title={<i18n.Translate>Chosen amount</i18n.Translate>}
               text={amountToString(amount)}
               kind="neutral"
             />
             <Part
-              title="Exchange fee"
+              title={<i18n.Translate>Exchange fee</i18n.Translate>}
               text={amountToString(withdrawalFee)}
               kind="negative"
             />
           </Fragment>
         )}
         {exchangeBaseUrl && (
-          <Part title="Exchange" text={exchangeBaseUrl} kind="neutral" big />
+          <Part
+            title={<i18n.Translate>Exchange</i18n.Translate>}
+            text={exchangeBaseUrl}
+            kind="neutral"
+            big
+          />
         )}
       </section>
       {!reviewing && (
@@ -156,7 +168,7 @@ export function View({
             <Fragment>
               <div>
                 <SelectList
-                  label="Known exchanges"
+                  label={<i18n.Translate>Known exchanges</i18n.Translate>}
                   list={exchanges}
                   value={nextExchange}
                   name="switchingExchange"
@@ -172,14 +184,16 @@ export function View({
                   setSwitchingExchange(false);
                 }}
               >
-                {nextExchange === undefined
-                  ? i18n.str`Cancel exchange selection`
-                  : i18n.str`Confirm exchange selection`}
+                {nextExchange === undefined ? (
+                  <i18n.Translate>Cancel exchange selection</i18n.Translate>
+                ) : (
+                  <i18n.Translate>Confirm exchange selection</i18n.Translate>
+                )}
               </LinkSuccess>
             </Fragment>
           ) : (
             <LinkSuccess upperCased onClick={() => setSwitchingExchange(true)}>
-              {i18n.str`Switch exchange`}
+              <i18n.Translate>Switch exchange</i18n.Translate>
             </LinkSuccess>
           )}
         </section>
@@ -198,7 +212,7 @@ export function View({
             disabled={!exchangeBaseUrl || confirmDisabled}
             onClick={doWithdrawAndCheckError}
           >
-            {i18n.str`Confirm withdrawal`}
+            <i18n.Translate>Confirm withdrawal</i18n.Translate>
           </ButtonSuccess>
         )}
         {terms.status === "notfound" && (
@@ -207,7 +221,7 @@ export function View({
             disabled={!exchangeBaseUrl}
             onClick={doWithdrawAndCheckError}
           >
-            {i18n.str`Withdraw anyway`}
+            <i18n.Translate>Withdraw anyway</i18n.Translate>
           </ButtonWarning>
         )}
       </section>
@@ -270,7 +284,9 @@ export function WithdrawPageWithParsedURI({
   if (detailsHook.hasError) {
     return (
       <LoadingError
-        title="Could not load the withdrawal details"
+        title={
+          <i18n.Translate>Could not load the withdrawal 
details</i18n.Translate>
+        }
         error={detailsHook}
       />
     );
@@ -293,9 +309,7 @@ export function WithdrawPageWithParsedURI({
 
   const onWithdraw = async (): Promise<void> => {
     if (!exchange) return;
-    console.log("accepting exchange", exchange);
     const res = await wxApi.acceptWithdrawal(uri, exchange);
-    console.log("accept withdrawal response", res);
     if (res.confirmTransferUrl) {
       document.location.href = res.confirmTransferUrl;
     }
@@ -337,7 +351,9 @@ export function WithdrawPage({ talerWithdrawUri }: Props): 
VNode {
   if (uriInfoHook.hasError) {
     return (
       <LoadingError
-        title="Could not get the info from the URI"
+        title={
+          <i18n.Translate>Could not get the info from the URI</i18n.Translate>
+        }
         error={uriInfoHook}
       />
     );
diff --git a/packages/taler-wallet-webextension/src/cta/payback.tsx 
b/packages/taler-wallet-webextension/src/cta/payback.tsx
deleted file mode 100644
index 1c81b48a..00000000
--- a/packages/taler-wallet-webextension/src/cta/payback.tsx
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- This file is part of TALER
- (C) 2017 Inria
-
- TALER is free software; you can redistribute it and/or modify it under the
- terms of the GNU General Public License as published by the Free Software
- Foundation; either version 3, or (at your option) any later version.
-
- TALER is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
- A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along with
- TALER; see the file COPYING.  If not, see <http://www.gnu.org/licenses/>
- */
-
-import { h, VNode } from "preact";
-
-/**
- * View and edit auditors.
- *
- * @author Florian Dold
- */
-
-/**
- * Imports.
- */
-
-export function makePaybackPage(): VNode {
-  return <div>not implemented</div>;
-}
diff --git a/packages/taler-wallet-webextension/src/cta/reset-required.tsx 
b/packages/taler-wallet-webextension/src/cta/reset-required.tsx
index 75c4c196..350c32d7 100644
--- a/packages/taler-wallet-webextension/src/cta/reset-required.tsx
+++ b/packages/taler-wallet-webextension/src/cta/reset-required.tsx
@@ -17,9 +17,10 @@
 /**
  * Page to inform the user when a database reset is required.
  *
- * @author Florian Dold
+ * @author sebasjm
  */
 
+import { i18n } from "@gnu-taler/taler-util";
 import { Component, h, VNode } from "preact";
 import * as wxApi from "../wxApi";
 
@@ -49,14 +50,20 @@ class ResetNotification extends Component<any, State> {
     if (this.state.resetRequired) {
       return (
         <div>
-          <h1>Manual Reset Required</h1>
+          <h1>
+            <i18n.Translate>Manual Reset Required</i18n.Translate>
+          </h1>
           <p>
-            The wallet&apos;s database in your browser is incompatible with 
the{" "}
-            currently installed wallet. Please reset manually.
+            <i18n.Translate>
+              The wallet&apos;s database in your browser is incompatible with
+              the currently installed wallet. Please reset manually.
+            </i18n.Translate>
           </p>
           <p>
-            Once the database format has stabilized, we will provide automatic
-            upgrades.
+            <i18n.Translate>
+              Once the database format has stabilized, we will provide 
automatic
+              upgrades.
+            </i18n.Translate>
           </p>
           <input
             id="check"
@@ -67,7 +74,9 @@ class ResetNotification extends Component<any, State> {
             }}
           />{" "}
           <label htmlFor="check">
-            I understand that I will lose all my data
+            <i18n.Translate>
+              I understand that I will lose all my data
+            </i18n.Translate>
           </label>
           <br />
           <button
@@ -75,15 +84,21 @@ class ResetNotification extends Component<any, State> {
             disabled={!this.state.checked}
             onClick={() => wxApi.resetDb()}
           >
-            Reset
+            <i18n.Translate>Reset</i18n.Translate>
           </button>
         </div>
       );
     }
     return (
       <div>
-        <h1>Everything is fine!</h1>A reset is not required anymore, you can
-        close this page.
+        <h1>
+          <i18n.Translate>Everything is fine!</i18n.Translate>
+        </h1>
+        <p>
+          <i18n.Translate>
+            A reset is not required anymore, you can close this page.
+          </i18n.Translate>
+        </p>
       </div>
     );
   }
diff --git a/packages/taler-wallet-webextension/src/cta/return-coins.tsx 
b/packages/taler-wallet-webextension/src/cta/return-coins.tsx
index 55f0297d..1d688fa0 100644
--- a/packages/taler-wallet-webextension/src/cta/return-coins.tsx
+++ b/packages/taler-wallet-webextension/src/cta/return-coins.tsx
@@ -14,16 +14,21 @@
  TALER; see the file COPYING.  If not, see <http://www.gnu.org/licenses/>
  */
 
+import { i18n } from "@gnu-taler/taler-util";
 import { h, VNode } from "preact";
 /**
  * Return coins to own bank account.
  *
- * @author Florian Dold
+ * @author sebasjm
  */
 
 /**
  * Imports.
  */
 export function createReturnCoinsPage(): VNode {
-  return <span>Not implemented yet.</span>;
+  return (
+    <span>
+      <i18n.Translate>Not implemented yet.</i18n.Translate>
+    </span>
+  );
 }
diff --git a/packages/taler-wallet-webextension/src/i18n/de.po 
b/packages/taler-wallet-webextension/src/i18n/de.po
index e499ba5e..46d8d056 100644
--- a/packages/taler-wallet-webextension/src/i18n/de.po
+++ b/packages/taler-wallet-webextension/src/i18n/de.po
@@ -15,7 +15,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: Taler Wallet\n"
-"Report-Msgid-Bugs-To: languages@taler.net\n"
+"Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2016-11-23 00:00+0100\n"
 "PO-Revision-Date: 2022-02-18 17:20+0000\n"
 "Last-Translator: Stefan <eintritt@hotmail.com>\n"
@@ -28,318 +28,1419 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
 "X-Generator: Weblate 4.4.2\n"
 
-#: src/util/wire.ts:37
+#: src/NavigationBar.tsx:70
 #, c-format
-msgid "Invalid Wire"
-msgstr "Ungültige Überweisung"
+msgid "Balance"
+msgstr "Guthaben"
+
+#: src/NavigationBar.tsx:73
+#, c-format
+msgid "Backup"
+msgstr ""
+
+#: src/NavigationBar.tsx:77
+#, c-format
+msgid "Settings"
+msgstr ""
+
+#: src/NavigationBar.tsx:96
+#, c-format
+msgid "Dev"
+msgstr ""
+
+#: src/components/Loading.tsx:22
+#, c-format
+msgid "Loading"
+msgstr ""
+
+#: src/wallet/AddNewActionView.tsx:14
+#, c-format
+msgid "Open reserve page"
+msgstr ""
+
+#: src/wallet/AddNewActionView.tsx:16
+#, c-format
+msgid "Open pay page"
+msgstr ""
+
+#: src/wallet/AddNewActionView.tsx:18
+#, c-format
+msgid "Open refund page"
+msgstr ""
+
+#: src/wallet/AddNewActionView.tsx:20
+#, c-format
+msgid "Open tip page"
+msgstr ""
+
+#: src/wallet/AddNewActionView.tsx:22
+#, fuzzy, c-format
+msgid "Open withdraw page"
+msgstr "Abhebegebühr"
+
+#: src/wallet/AddNewActionView.tsx:51
+#, c-format
+msgid "Back"
+msgstr ""
+
+#: src/popup/NoBalanceHelp.tsx:14
+#, fuzzy, c-format
+msgid "You have no balance to show."
+msgstr "Sie haben kein Guthaben. Wollen Sie %1$s abheben?"
+
+#: 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 ""
+
+#: src/popup/NoBalanceHelp.tsx:23
+#, fuzzy, c-format
+msgid "Withdraw"
+msgstr "Abgehoben"
+
+#: src/popup/BalancePage.tsx:52
+#, c-format
+msgid "Could not load balance page"
+msgstr ""
+
+#: src/popup/BalancePage.tsx:111
+#, c-format
+msgid "Deposit %1$s"
+msgstr ""
+
+#: src/popup/BalancePage.tsx:120
+#, c-format
+msgid "Enter URI"
+msgstr ""
+
+#: src/components/Diagnostics.tsx:30
+#, c-format
+msgid "Diagnostics timed out. Could not talk to the wallet backend."
+msgstr ""
+
+#: src/components/Diagnostics.tsx:51
+#, c-format
+msgid "Problems detected:"
+msgstr ""
+
+#: src/components/Diagnostics.tsx:60
+#, c-format
+msgid ""
+"Please check in your %1$s settings that you have IndexedDB enabled (check "
+"the preference name %2$s)."
+msgstr ""
+
+#: 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 ""
+
+#: src/components/Diagnostics.tsx:85
+#, c-format
+msgid "Running diagnostics"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:154
+#, fuzzy, c-format
+msgid "Debug tools"
+msgstr "Debug"
+
+#: src/popup/DeveloperPage.tsx:157
+#, c-format
+msgid "reset"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:161
+#, c-format
+msgid "import database"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:182
+#, c-format
+msgid "export database"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:186
+#, c-format
+msgid "Database exported at %1$s %2$s to download"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:209
+#, c-format
+msgid "Coins"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:236
+#, c-format
+msgid "Pending operations"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:275
+#, c-format
+msgid "usable coins"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:284
+#, c-format
+msgid "id"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:287
+#, c-format
+msgid "denom"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:290
+#, c-format
+msgid "value"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:293
+#, c-format
+msgid "status"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:296
+#, c-format
+msgid "from refresh?"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:313
+#, c-format
+msgid "spent coins"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:317
+#, c-format
+msgid "click to show"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:377
+#, c-format
+msgid ""
+"Do you want to IRREVOCABLY DESTROY everything inside your wallet and LOSE "
+"ALL YOUR COINS?"
+msgstr ""
+
+#: src/popup/TalerActionFound.tsx:56
+#, c-format
+msgid "Taler Action"
+msgstr ""
+
+#: src/popup/TalerActionFound.tsx:61
+#, c-format
+msgid "This page has pay action."
+msgstr ""
+
+#: src/popup/TalerActionFound.tsx:75
+#, c-format
+msgid "This page has a withdrawal action."
+msgstr ""
+
+#: src/popup/TalerActionFound.tsx:91
+#, c-format
+msgid "This page has a tip action."
+msgstr ""
+
+#: src/popup/TalerActionFound.tsx:105
+#, c-format
+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."
+msgstr ""
+
+#: src/popup/TalerActionFound.tsx:135
+#, c-format
+msgid "This page has a malformed taler uri."
+msgstr ""
+
+#: src/popup/TalerActionFound.tsx:147
+#, c-format
+msgid "Dismiss"
+msgstr ""
+
+#: src/wallet/BackupPage.tsx:75
+#, c-format
+msgid "Could not load backup providers"
+msgstr ""
+
+#: src/wallet/BackupPage.tsx:129
+#, c-format
+msgid "No backup providers configured"
+msgstr ""
+
+#: src/wallet/BackupPage.tsx:132
+#, c-format
+msgid "Add provider"
+msgstr ""
+
+#: src/wallet/BackupPage.tsx:142
+#, c-format
+msgid "Sync all backups"
+msgstr ""
+
+#: src/wallet/BackupPage.tsx:144
+#, c-format
+msgid "Sync now"
+msgstr ""
+
+#: src/wallet/BackupPage.tsx:187
+#, c-format
+msgid "Last synced"
+msgstr ""
+
+#: src/wallet/BackupPage.tsx:192
+#, c-format
+msgid "Not synced"
+msgstr ""
+
+#: src/wallet/BackupPage.tsx:211
+#, c-format
+msgid "Expires in"
+msgstr ""
+
+#: src/cta/TermsOfServiceSection.tsx:37
+#, c-format
+msgid "Exchange doesn't have terms of service"
+msgstr ""
+
+#: src/cta/TermsOfServiceSection.tsx:60
+#, c-format
+msgid "Review exchange terms of service"
+msgstr ""
+
+#: src/cta/TermsOfServiceSection.tsx:69
+#, c-format
+msgid "Review new version of terms of service"
+msgstr ""
+
+#: src/cta/TermsOfServiceSection.tsx:83
+#, c-format
+msgid "Show terms of service"
+msgstr ""
+
+#: src/cta/TermsOfServiceSection.tsx:91
+#, c-format
+msgid "I accept the exchange terms of service"
+msgstr ""
+
+#: src/cta/TermsOfServiceSection.tsx:110
+#, c-format
+msgid "The exchange reply with a empty terms of service"
+msgstr ""
+
+#: src/cta/TermsOfServiceSection.tsx:133
+#, c-format
+msgid "Download Terms of Service"
+msgstr ""
+
+#: src/cta/TermsOfServiceSection.tsx:141
+#, c-format
+msgid "Hide terms of service"
+msgstr ""
+
+#: src/wallet/ExchangeAddConfirm.tsx:88
+#, c-format
+msgid "Review terms of service"
+msgstr ""
+
+#: src/wallet/ExchangeAddConfirm.tsx:91
+#, c-format
+msgid "Exchange URL"
+msgstr ""
+
+#: src/wallet/ExchangeAddConfirm.tsx:112
+#, c-format
+msgid "Cancel"
+msgstr "Abbrechen"
+
+#: src/wallet/ExchangeAddConfirm.tsx:116
+#, c-format
+msgid "Loading terms.."
+msgstr ""
+
+#: src/wallet/ExchangeAddConfirm.tsx:123
+#, c-format
+msgid "Add exchange"
+msgstr ""
+
+#: src/wallet/ExchangeAddConfirm.tsx:133
+#, c-format
+msgid "Add exchange anyway"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:96
+#, c-format
+msgid "Add new exchange"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:100
+#, c-format
+msgid "Add exchange for %1$s"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:105
+#, c-format
+msgid "Enter the URL of an exchange you trust."
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:112
+#, c-format
+msgid "An exchange has been found! Review the information and click next"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:119
+#, c-format
+msgid "This exchange doesn't match the expected currency %1$s"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:127
+#, c-format
+msgid "Unable to verify this exchange"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:135
+#, c-format
+msgid "Unable to add this exchange"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:151
+#, c-format
+msgid "loading"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:158
+#, c-format
+msgid "Version"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:164
+#, c-format
+msgid "Currency"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:190
+#, c-format
+msgid "Next"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:118
+#, c-format
+msgid "Add backup provider"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:122
+#, c-format
+msgid "Could not get provider information"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:131
+#, c-format
+msgid "Backup providers may charge for their service"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:138
+#, c-format
+msgid "URL"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:149
+#, c-format
+msgid "Name"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:201
+#, c-format
+msgid "Provider URL"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:207
+#, c-format
+msgid "Please review and accept this provider's terms of service"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:212
+#, c-format
+msgid "Pricing"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:215
+#, c-format
+msgid "free of charge"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:217
+#, c-format
+msgid "%1$s per year of service"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:224
+#, c-format
+msgid "Storage"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:227
+#, c-format
+msgid "%1$s megabytes of storage per year of service"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:233
+#, c-format
+msgid "Accept terms of service"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:62
+#, c-format
+msgid "There was an error loading the provider detail for \"%1$s\""
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:108
+#, c-format
+msgid "There is not known provider with url \"%1$s\"."
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:141
+#, c-format
+msgid "Last backup"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:146
+#, c-format
+msgid "Back up"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:152
+#, c-format
+msgid "Provider fee"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:155
+#, c-format
+msgid "per year"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:161
+#, c-format
+msgid "Extend"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:167
+#, c-format
+msgid ""
+"terms has changed, extending the service will imply accepting the new terms "
+"of service"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:177
+#, c-format
+msgid "old"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:181
+#, c-format
+msgid "new"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:188
+#, c-format
+msgid "fee"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:196
+#, c-format
+msgid "storage"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:209
+#, c-format
+msgid "back"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:213
+#, c-format
+msgid "Remove provider"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:225
+#, c-format
+msgid "This provider has reported an error"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:239
+#, c-format
+msgid "There is conflict with another backup from %1$s"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:250
+#, c-format
+msgid "Backup is not readable"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:258
+#, c-format
+msgid "Unknown backup problem: %1$s"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:277
+#, c-format
+msgid "service paid"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:284
+#, c-format
+msgid "Backup valid until"
+msgstr ""
+
+#: src/popupEntryPoint.tsx:187
+#, c-format
+msgid "this popup is being closed and you are being redirected to %1$s"
+msgstr ""
+
+#: src/components/SelectList.tsx:62
+#, c-format
+msgid "Select one option"
+msgstr ""
+
+#: src/wallet/CreateManualWithdraw.tsx:103
+#, fuzzy, c-format
+msgid "Manual Withdrawal"
+msgstr "Abgehoben"
+
+#: src/wallet/CreateManualWithdraw.tsx:106
+#, c-format
+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 ""
+
+#: src/wallet/CreateManualWithdraw.tsx:114
+#, c-format
+msgid "No exchange configured"
+msgstr ""
+
+#: src/wallet/CreateManualWithdraw.tsx:129
+#, c-format
+msgid "Can't create the reserve"
+msgstr ""
+
+#: src/wallet/CreateManualWithdraw.tsx:155
+#, c-format
+msgid "Exchange"
+msgstr ""
+
+#: src/wallet/CreateManualWithdraw.tsx:164
+#, c-format
+msgid "Add Exchange"
+msgstr ""
+
+#: src/wallet/CreateManualWithdraw.tsx:170
+#, c-format
+msgid "Amount"
+msgstr ""
+
+#: src/wallet/CreateManualWithdraw.tsx:190
+#, c-format
+msgid "Start withdrawal"
+msgstr ""
+
+#: src/wallet/DepositPage.tsx:138
+#, fuzzy, c-format
+msgid "no balance"
+msgstr "Guthaben"
+
+#: src/wallet/DepositPage.tsx:146
+#, c-format
+msgid "There is no known bank account to send money to"
+msgstr ""
+
+#: src/wallet/DepositPage.tsx:177
+#, c-format
+msgid "Send %1$s to your account"
+msgstr ""
+
+#: src/wallet/DepositPage.tsx:182
+#, c-format
+msgid "Bank account IBAN number"
+msgstr ""
+
+#: src/wallet/DepositPage.tsx:215
+#, c-format
+msgid "Deposit fee"
+msgstr ""
+
+#: src/wallet/DepositPage.tsx:229
+#, c-format
+msgid "Total deposit"
+msgstr ""
+
+#: src/wallet/DepositPage.tsx:247
+#, c-format
+msgid "Deposit"
+msgstr ""
+
+#: src/wallet/DepositPage.tsx:251
+#, fuzzy, c-format
+msgid "Deposit %1$s %2$s"
+msgstr "Testkonto #%1$s auf %2$s"
+
+#: src/components/TransactionItem.tsx:137
+#, c-format
+msgid "Waiting for confirmation"
+msgstr ""
+
+#: src/components/TransactionItem.tsx:201
+#, c-format
+msgid "PENDING"
+msgstr ""
+
+#: src/wallet/History.tsx:70
+#, c-format
+msgid "Could not load the list of transactions"
+msgstr ""
+
+#: src/wallet/History.tsx:216
+#, c-format
+msgid "There is no history for this currency"
+msgstr ""
+
+#: src/components/BankDetailsByPaytoType.tsx:38
+#, c-format
+msgid "Account"
+msgstr ""
+
+#: src/components/BankDetailsByPaytoType.tsx:44
+#, c-format
+msgid "Bank host"
+msgstr ""
+
+#: src/components/BankDetailsByPaytoType.tsx:48
+#, c-format
+msgid "Bank account"
+msgstr ""
+
+#: src/components/BankDetailsByPaytoType.tsx:53
+#, c-format
+msgid "IBAN"
+msgstr ""
+
+#: src/components/BankDetailsByPaytoType.tsx:65
+#, c-format
+msgid "Chosen amount"
+msgstr ""
+
+#: src/components/BankDetailsByPaytoType.tsx:69
+#, c-format
+msgid "Subject"
+msgstr ""
+
+#: src/wallet/ReserveCreated.tsx:27
+#, c-format
+msgid "could not parse payto uri from exchange %1$s"
+msgstr ""
+
+#: src/wallet/ReserveCreated.tsx:37
+#, c-format
+msgid "Exchange is ready for withdrawal"
+msgstr ""
+
+#: src/wallet/ReserveCreated.tsx:40
+#, c-format
+msgid ""
+"To complete the process you need to wire %1$s to the exchange bank account"
+msgstr ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: src/wallet/ReserveCreated.tsx:73
+#, c-format
+msgid "Cancel withdrawal"
+msgstr ""
+
+#: src/wallet/Settings.tsx:89
+#, c-format
+msgid "Display"
+msgstr ""
 
-#: src/util/wire.ts:42 src/util/wire.ts:45
+#: src/wallet/Settings.tsx:93
 #, c-format
-msgid "Invalid Test Wire Detail"
-msgstr "Ungültige Überweisungsdaten"
+msgid "Current Language"
+msgstr ""
 
-#: src/util/wire.ts:47
+#: src/wallet/Settings.tsx:102
 #, c-format
-msgid "Test Wire Acct #%1$s on %2$s"
-msgstr "Testkonto #%1$s auf %2$s"
+msgid "Navigator"
+msgstr ""
 
-#: src/util/wire.ts:49
+#: src/wallet/Settings.tsx:105
 #, c-format
-msgid "Unknown Wire Detail"
-msgstr "Unbekannte Überweisungsdaten"
+msgid "Automatically open wallet based on page content"
+msgstr ""
 
-#: src/webex/pages/benchmark.tsx:52
+#: src/wallet/Settings.tsx:111
 #, c-format
-msgid "Operation"
+msgid ""
+"Enabling this option below will make using the wallet faster, but requires "
+"more permissions from your browser."
 msgstr ""
 
-#: src/webex/pages/benchmark.tsx:53
+#: src/wallet/Settings.tsx:122
 #, c-format
-msgid "time (ms/op)"
+msgid "Trust"
 msgstr ""
 
-#: src/webex/pages/pay.tsx:130
+#: src/wallet/Settings.tsx:126
 #, c-format
-msgid "The merchant %1$s offers you to purchase:"
-msgstr "Der Händler %1$s bietet Ihnen zum Kauf an:"
+msgid "No exchange yet"
+msgstr ""
+
+#: src/wallet/Settings.tsx:140
+#, c-format
+msgid "Term of Service"
+msgstr ""
+
+#: src/wallet/Settings.tsx:156
+#, c-format
+msgid "ok"
+msgstr ""
+
+#: src/wallet/Settings.tsx:162
+#, c-format
+msgid "changed"
+msgstr ""
 
-#: src/webex/pages/pay.tsx:136
+#: src/wallet/Settings.tsx:169
 #, c-format
-msgid "The total price is %1$s (plus %2$s fees)."
-msgstr "Gesamtbetrag %1$s (zuzüglich %2$s Gebühren)."
+msgid "not accepted"
+msgstr ""
+
+#: src/wallet/Settings.tsx:193
+#, c-format
+msgid "Add an exchange"
+msgstr ""
+
+#: src/wallet/Settings.tsx:199
+#, c-format
+msgid "Developer mode"
+msgstr ""
+
+#: src/wallet/Settings.tsx:201
+#, c-format
+msgid "(More options and information useful for debugging)"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:78
+#, c-format
+msgid "Could not load the transaction information"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:145
+#, c-format
+msgid "There was an error trying to complete the transaction"
+msgstr ""
 
-#: src/webex/pages/pay.tsx:141
+#: src/wallet/Transaction.tsx:154
 #, c-format
-msgid "The total price is %1$s."
-msgstr "Gesamter Zahlbetrag: %1$s."
+msgid "This transaction is not completed"
+msgstr ""
 
-#: src/webex/pages/pay.tsx:163
+#: src/wallet/Transaction.tsx:168
 #, c-format
 msgid "Retry"
 msgstr "Erneut versuchen"
 
-#: src/webex/pages/pay.tsx:173
+#: src/wallet/Transaction.tsx:172
 #, c-format
-msgid "Confirm payment"
-msgstr "Zahlung bestätigen"
+msgid "Forget"
+msgstr ""
 
-#: src/webex/pages/popup.tsx:153
+#: src/wallet/Transaction.tsx:197
 #, c-format
-msgid "Balance"
-msgstr "Guthaben"
+msgid "Caution!"
+msgstr ""
 
-#: src/webex/pages/popup.tsx:154
+#: src/wallet/Transaction.tsx:200
 #, c-format
-msgid "History"
-msgstr "Verlauf"
+msgid ""
+"If you have already wired money to the exchange you will loose the chance to "
+"get the coins form it."
+msgstr ""
 
-#: src/webex/pages/popup.tsx:155
+#: src/wallet/Transaction.tsx:211
 #, c-format
-msgid "Debug"
-msgstr "Debug"
+msgid "Confirm"
+msgstr "Bestätigen"
 
-#: src/webex/pages/popup.tsx:175
-#, c-format
-msgid "You have no balance to show. Need some %1$s getting started?"
-msgstr "Sie haben kein Guthaben. Wollen Sie %1$s abheben?"
+#: src/wallet/Transaction.tsx:218
+#, fuzzy, c-format
+msgid "Withdrawal"
+msgstr "Abgehoben"
+
+#: src/wallet/Transaction.tsx:243
+#, fuzzy, c-format
+msgid "Total withdrawn"
+msgstr "Abgehoben"
 
-#: src/webex/pages/popup.tsx:238
+#: src/wallet/Transaction.tsx:249
 #, c-format
-msgid "%1$s incoming"
-msgstr "%1$s empfangen"
+msgid "Exchange fee"
+msgstr ""
 
-#: src/webex/pages/popup.tsx:250
+#: src/wallet/Transaction.tsx:259
 #, c-format
-msgid "%1$s being spent"
-msgstr "%1$s ausgezahlt"
+msgid "The bank is waiting for confirmation. Go to the %1$s"
+msgstr ""
 
-#: src/webex/pages/popup.tsx:281
+#: src/wallet/Transaction.tsx:273
 #, c-format
-msgid "Error: could not retrieve balance information."
+msgid "Waiting for the coins to arrive"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:390
+#: src/wallet/Transaction.tsx:342
+#, fuzzy, c-format
+msgid "Payment"
+msgstr "Bezahlung bestätigen"
+
+#: src/wallet/Transaction.tsx:348
 #, c-format
-msgid "Invalid "
+msgid "Total paid"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:396
+#: src/wallet/Transaction.tsx:354
 #, c-format
-msgid "Fees "
+msgid "Purchase amount"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:434
+#: src/wallet/Transaction.tsx:360
 #, c-format
-msgid "Refresh sessions has completed"
+msgid "Fee"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:451
+#: src/wallet/Transaction.tsx:365
 #, c-format
-msgid "Order Refused"
+msgid "Merchant"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:465
+#: src/wallet/Transaction.tsx:370
 #, c-format
-msgid "Order redirected"
+msgid "Purchase"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:482
+#: src/wallet/Transaction.tsx:375
 #, c-format
-msgid "Payment aborted"
+msgid "Receipt"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:512
+#: src/wallet/Transaction.tsx:419
 #, c-format
-msgid "Payment Sent"
+msgid "Total send"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:536
+#: src/wallet/Transaction.tsx:425
 #, c-format
-msgid "Order accepted"
+msgid "Deposit amount"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:547
+#: src/wallet/Transaction.tsx:447
 #, c-format
-msgid "Reserve balance updated"
+msgid "Refresh"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:559
+#: src/wallet/Transaction.tsx:453
 #, c-format
-msgid "Payment refund"
+msgid "Total refresh"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:584
+#: src/wallet/Transaction.tsx:459
 #, c-format
-msgid "Withdrawn"
-msgstr "Abgehoben"
+msgid "Refresh amount"
+msgstr ""
 
-#: src/webex/pages/popup.tsx:596
+#: src/wallet/Transaction.tsx:481
 #, c-format
-msgid "Tip Accepted"
+msgid "Tip"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:606
+#: src/wallet/Transaction.tsx:487
 #, c-format
-msgid "Tip Declined"
+msgid "Total tip"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:615
+#: src/wallet/Transaction.tsx:493
 #, c-format
-msgid "%1$s"
+msgid "Received amount"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:707
+#: src/wallet/Transaction.tsx:515
 #, c-format
-msgid "Your wallet has no events recorded."
-msgstr "Ihre Geldbörse verzeichnet keine Vorkommnisse."
+msgid "Refund"
+msgstr ""
 
-#: src/webex/pages/return-coins.tsx:124
+#: src/wallet/Transaction.tsx:521
 #, c-format
-msgid "Wire to bank account"
+msgid "Total refund"
 msgstr ""
 
-#: src/webex/pages/return-coins.tsx:206
+#: src/wallet/Transaction.tsx:527
 #, c-format
-msgid "Confirm"
-msgstr "Bestätigen"
+msgid "Refund amount"
+msgstr ""
 
-#: src/webex/pages/return-coins.tsx:209
+#: src/wallet/Welcome.tsx:58
 #, c-format
-msgid "Cancel"
-msgstr "Abbrechen"
+msgid "Browser Extension Installed!"
+msgstr ""
 
-#: src/webex/pages/withdraw.tsx:73
+#: src/wallet/Welcome.tsx:62
 #, c-format
-msgid "Could not get details for withdraw operation:"
+msgid "Thank you for installing the wallet."
 msgstr ""
 
-#: src/webex/pages/withdraw.tsx:89 src/webex/pages/withdraw.tsx:183
+#: src/wallet/Welcome.tsx:66
 #, c-format
-msgid "Chose different exchange provider"
+msgid "Permissions"
 msgstr ""
 
-#: src/webex/pages/withdraw.tsx:109
+#: src/wallet/Welcome.tsx:75
 #, c-format
 msgid ""
-"Please select an exchange.  You can review the details before after your "
-"selection."
+"(Enabling this option below will make using the wallet faster, but requires "
+"more permissions from your browser.)"
+msgstr ""
+
+#: src/wallet/Welcome.tsx:85
+#, c-format
+msgid "Next Steps"
+msgstr ""
+
+#: src/wallet/Welcome.tsx:88
+#, c-format
+msgid "Try the demo"
+msgstr ""
+
+#: src/wallet/Welcome.tsx:91
+#, c-format
+msgid "Learn how to top up your wallet balance"
+msgstr ""
+
+#: src/cta/Pay.tsx:113
+#, c-format
+msgid "Could not load pay status"
+msgstr ""
+
+#: src/cta/Pay.tsx:189
+#, c-format
+msgid "Could not load contract terms from merchant or wallet backend."
+msgstr ""
+
+#: src/cta/Pay.tsx:216
+#, c-format
+msgid "Pay with a mobile phone"
 msgstr ""
 
-#: src/webex/pages/withdraw.tsx:121
+#: src/cta/Pay.tsx:218
 #, c-format
-msgid "Select %1$s"
+msgid "Hide QR"
 msgstr ""
 
-#: src/webex/pages/withdraw.tsx:143
+#: src/cta/Pay.tsx:225
 #, c-format
-msgid "Select custom exchange"
+msgid "Scan the QR code or %1$s"
 msgstr ""
 
-#: src/webex/pages/withdraw.tsx:163
+#: src/cta/Pay.tsx:244
 #, c-format
-msgid "You are about to withdraw %1$s from your bank account into your wallet."
+msgid "Processing"
 msgstr ""
 
-#: src/webex/pages/withdraw.tsx:174
+#: src/cta/Pay.tsx:257
 #, c-format
-msgid "Accept fees and withdraw"
+msgid "Pay %1$s"
 msgstr ""
 
-#: src/webex/pages/withdraw.tsx:192
+#: src/cta/Pay.tsx:272
 #, c-format
-msgid "Cancel withdraw operation"
+msgid "Your balance of %1$s is not enough to pay for this purchase"
 msgstr ""
 
-#: src/webex/renderHtml.tsx:249
+#: src/cta/Pay.tsx:279
 #, c-format
-msgid "Withdrawal fees:"
+msgid "Your balance is not enough to pay for this purchase."
+msgstr ""
+
+#: src/cta/Pay.tsx:287
+#, fuzzy, c-format
+msgid "Withdraw digital cash"
 msgstr "Abhebegebühren:"
 
-#: src/webex/renderHtml.tsx:252
+#: src/cta/Pay.tsx:300
 #, c-format
-msgid "Rounding loss:"
+msgid "Merchant message"
 msgstr ""
 
-#: src/webex/renderHtml.tsx:254
+#: src/cta/Pay.tsx:318
 #, c-format
-msgid "Earliest expiration (for deposit): %1$s"
+msgid "Digital cash payment"
 msgstr ""
 
-#: src/webex/renderHtml.tsx:262
+#: src/cta/Pay.tsx:324
 #, c-format
-msgid "# Coins"
+msgid "Already paid, you are going to be redirected to %1$s"
 msgstr ""
 
-#: src/webex/renderHtml.tsx:263
+#: src/cta/Pay.tsx:333
 #, c-format
-msgid "Value"
+msgid "Already paid"
 msgstr ""
 
-#: src/webex/renderHtml.tsx:264
+#: src/cta/Pay.tsx:338
 #, c-format
-msgid "Withdraw Fee"
-msgstr "Abhebegebühr"
+msgid "Already claimed"
+msgstr ""
+
+#: src/cta/Pay.tsx:344
+#, c-format
+msgid "Payment complete"
+msgstr ""
+
+#: src/cta/Pay.tsx:348
+#, c-format
+msgid "You are going to be redirected to $ %1$s"
+msgstr ""
+
+#: src/cta/Pay.tsx:353
+#, c-format
+msgid "You can close this page."
+msgstr ""
+
+#: src/cta/Pay.tsx:367
+#, c-format
+msgid "Total to pay"
+msgstr ""
+
+#: src/cta/Pay.tsx:418
+#, c-format
+msgid "List of products"
+msgstr ""
+
+#: src/cta/Pay.tsx:460
+#, c-format
+msgid "Total"
+msgstr ""
+
+#: src/cta/Pay.tsx:469
+#, c-format
+msgid "free"
+msgstr ""
+
+#: src/cta/Refund.tsx:41
+#, c-format
+msgid "Refund Status"
+msgstr ""
+
+#: src/cta/Refund.tsx:44
+#, c-format
+msgid "The product %1$s has received a total effective refund of"
+msgstr ""
+
+#: src/cta/Refund.tsx:52
+#, c-format
+msgid "Refund processing is still in progress."
+msgstr ""
+
+#: src/cta/Refund.tsx:59
+#, c-format
+msgid "The refund amount of %1$s could not be applied."
+msgstr ""
+
+#: src/cta/Refund.tsx:97
+#, c-format
+msgid "missing taler refund uri"
+msgstr ""
+
+#: src/cta/Refund.tsx:105
+#, c-format
+msgid "Error: %1$s"
+msgstr ""
+
+#: src/cta/Refund.tsx:113
+#, c-format
+msgid "Updating refund status"
+msgstr ""
+
+#: src/cta/Tip.tsx:49
+#, c-format
+msgid "Tip from %1$s accepted. Check your transactions list for more details."
+msgstr ""
+
+#: src/cta/Tip.tsx:57
+#, fuzzy, c-format
+msgid "The merchant %1$s is offering you a tip of %2$s via the exchange %3$s"
+msgstr "Der Händler %1$s bietet Ihnen zum Kauf an:"
+
+#: src/cta/Tip.tsx:67
+#, c-format
+msgid "Accept tip"
+msgstr ""
+
+#: src/cta/Tip.tsx:70
+#, c-format
+msgid "Ignore"
+msgstr ""
+
+#: src/cta/Tip.tsx:111
+#, c-format
+msgid "missing tip uri"
+msgstr ""
+
+#: src/cta/Tip.tsx:119
+#, c-format
+msgid "You've ignored the tip."
+msgstr ""
+
+#: src/cta/Withdraw.tsx:122
+#, c-format
+msgid "Digital cash withdrawal"
+msgstr ""
+
+#: src/cta/Withdraw.tsx:127
+#, c-format
+msgid "Could not finish the withdrawal operation"
+msgstr ""
+
+#: src/cta/Withdraw.tsx:138
+#, c-format
+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"
+msgstr ""
 
-#: src/webex/renderHtml.tsx:265
+#: src/cta/Withdraw.tsx:189
 #, c-format
-msgid "Refresh Fee"
+msgid "Confirm exchange selection"
 msgstr ""
 
-#: src/webex/renderHtml.tsx:266
+#: src/cta/Withdraw.tsx:196
 #, c-format
-msgid "Deposit Fee"
+msgid "Switch exchange"
 msgstr ""
 
+#: src/cta/Withdraw.tsx:215
+#, c-format
+msgid "Confirm withdrawal"
+msgstr ""
+
+#: src/cta/Withdraw.tsx:224
 #, fuzzy, c-format
+msgid "Withdraw anyway"
+msgstr "Abgehoben"
+
+#: src/cta/Withdraw.tsx:287
+#, c-format
+msgid "Could not load the withdrawal details"
+msgstr ""
+
+#: src/cta/Withdraw.tsx:344
+#, c-format
+msgid "missing withdraw uri"
+msgstr ""
+
+#: src/cta/Withdraw.tsx:354
+#, c-format
+msgid "Could not get the info from the URI"
+msgstr ""
+
+#: src/wallet/ManualWithdrawPage.tsx:99
+#, c-format
+msgid "Could not load the list of known exchanges"
+msgstr ""
+
+#: src/walletEntryPoint.tsx:172
+#, c-format
+msgid "All done, your transaction is in progress"
+msgstr ""
+
+#: src/components/EditableText.tsx:44
+#, c-format
+msgid "Edit"
+msgstr ""
+
+#: src/cta/Deposit.tsx:114
+#, c-format
+msgid "missing pay uri"
+msgstr ""
+
+#: src/cta/Deposit.tsx:129
+#, c-format
+msgid "Could not get the payment information for this order"
+msgstr ""
+
+#: src/cta/Deposit.tsx:160
+#, c-format
+msgid "Loading payment information"
+msgstr ""
+
+#: src/cta/Deposit.tsx:208
+#, c-format
+msgid "Digital cash deposit"
+msgstr ""
+
+#: src/cta/Deposit.tsx:226
+#, c-format
+msgid "You will now be sent back to the merchant you came from."
+msgstr ""
+
+#: src/cta/reset-required.tsx:54
+#, c-format
+msgid "Manual Reset Required"
+msgstr ""
+
+#: src/cta/reset-required.tsx:57
+#, c-format
+msgid ""
+"The wallet&apos;s database in your browser is incompatible with the "
+"currently installed wallet. Please reset manually."
+msgstr ""
+
+#: src/cta/reset-required.tsx:63
+#, c-format
+msgid ""
+"Once the database format has stabilized, we will provide automatic upgrades."
+msgstr ""
+
+#: src/cta/reset-required.tsx:77
+#, c-format
+msgid "I understand that I will lose all my data"
+msgstr ""
+
+#: src/cta/reset-required.tsx:87
+#, c-format
+msgid "Reset"
+msgstr ""
+
+#: src/cta/reset-required.tsx:95
+#, c-format
+msgid "Everything is fine!"
+msgstr ""
+
+#: src/cta/reset-required.tsx:98
+#, c-format
+msgid "A reset is not required anymore, you can close this page."
+msgstr ""
+
+#: src/cta/return-coins.tsx:31
+#, c-format
+msgid "Not implemented yet."
+msgstr ""
+
+#~ msgid "Invalid Wire"
+#~ msgstr "Ungültige Überweisung"
+
+#~ msgid "Invalid Test Wire Detail"
+#~ msgstr "Ungültige Überweisungsdaten"
+
+#~ msgid "Unknown Wire Detail"
+#~ msgstr "Unbekannte Überweisungsdaten"
+
+#~ msgid "The total price is %1$s (plus %2$s fees)."
+#~ msgstr "Gesamtbetrag %1$s (zuzüglich %2$s Gebühren)."
+
+#~ msgid "The total price is %1$s."
+#~ msgstr "Gesamter Zahlbetrag: %1$s."
+
+#~ msgid "Confirm payment"
+#~ msgstr "Zahlung bestätigen"
+
+#~ msgid "History"
+#~ msgstr "Verlauf"
+
+#~ msgid "%1$s incoming"
+#~ msgstr "%1$s empfangen"
+
+#~ msgid "%1$s being spent"
+#~ msgstr "%1$s ausgezahlt"
+
+#~ msgid "Your wallet has no events recorded."
+#~ msgstr "Ihre Geldbörse verzeichnet keine Vorkommnisse."
+
+#, fuzzy
 #~ msgid "Bank requested reserve (%1$s) for %2$s."
 #~ msgstr "Bank bestätig anlegen der Reserve (%1$s) bei %2$s"
 
-#, fuzzy, c-format
+#, fuzzy
 #~ msgid "Started to withdraw %1$s from %2$s (%3$s)."
 #~ msgstr "Reserve (%1$s) mit %2$s bei %3$s erzeugt"
 
-#, fuzzy, c-format
+#, fuzzy
 #~ msgid "Merchant %1$s offered contract %2$s."
 #~ msgstr ""
 #~ "%1$s\n"
 #~ "               möchte einen Vertrag über %2$s\n"
 #~ "               mit Ihnen abschließen."
 
-#, fuzzy, c-format
+#, fuzzy
 #~ msgid "Withdrew %1$s from %2$s ( %3$s)."
 #~ msgstr "Reserve (%1$s) mit %2$s bei %3$s erzeugt"
 
-#, fuzzy, c-format
+#, fuzzy
 #~ msgid "Paid %1$s to merchant %2$s.%3$s( %4$s)"
 #~ msgstr "Reserve (%1$s) mit %2$s bei %3$s erzeugt"
 
-#, fuzzy, c-format
+#, fuzzy
 #~ msgid "Merchant %1$s gave a refund over %2$s."
 #~ msgstr ""
 #~ "%1$s\n"
 #~ "               möchte einen Vertrag über %2$s\n"
 #~ "               mit Ihnen abschließen."
 
-#, fuzzy, c-format
+#, fuzzy
 #~ msgid "Merchant %1$s gave a %2$s of %3$s."
 #~ msgstr ""
 #~ "%1$s\n"
 #~ "               möchte einen Vertrag über %2$s\n"
 #~ "               mit Ihnen abschließen."
 
-#, fuzzy, c-format
+#, fuzzy
 #~ msgid "Submitting payment"
 #~ msgstr "Bezahlung bestätigen"
 
-#, fuzzy, c-format
+#, fuzzy
 #~ msgid "Aborting payment ..."
 #~ msgstr "Bezahlung bestätigen"
 
-#, fuzzy, c-format
-#~ msgid "Retry Payment"
-#~ msgstr "Bezahlung bestätigen"
-
-#, fuzzy, c-format
+#, fuzzy
 #~ msgid "Abort Payment"
 #~ msgstr "Bezahlung bestätigen"
 
diff --git a/packages/taler-wallet-webextension/src/i18n/en-US.po 
b/packages/taler-wallet-webextension/src/i18n/en-US.po
index 3f91126e..23140abb 100644
--- a/packages/taler-wallet-webextension/src/i18n/en-US.po
+++ b/packages/taler-wallet-webextension/src/i18n/en-US.po
@@ -15,7 +15,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: Taler Wallet\n"
-"Report-Msgid-Bugs-To: languages@taler.net\n"
+"Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2016-11-23 00:00+0100\n"
 "PO-Revision-Date: 2022-02-15 20:41+0000\n"
 "Last-Translator: Stefan <eintritt@hotmail.com>\n"
@@ -28,266 +28,1341 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
 "X-Generator: Weblate 4.4.2\n"
 
-#: src/util/wire.ts:37
+#: src/NavigationBar.tsx:70
 #, c-format
-msgid "Invalid Wire"
+msgid "Balance"
+msgstr "Balance"
+
+#: src/NavigationBar.tsx:73
+#, c-format
+msgid "Backup"
+msgstr ""
+
+#: src/NavigationBar.tsx:77
+#, c-format
+msgid "Settings"
+msgstr ""
+
+#: src/NavigationBar.tsx:96
+#, c-format
+msgid "Dev"
+msgstr ""
+
+#: src/components/Loading.tsx:22
+#, c-format
+msgid "Loading"
+msgstr ""
+
+#: src/wallet/AddNewActionView.tsx:14
+#, c-format
+msgid "Open reserve page"
+msgstr ""
+
+#: src/wallet/AddNewActionView.tsx:16
+#, c-format
+msgid "Open pay page"
+msgstr ""
+
+#: src/wallet/AddNewActionView.tsx:18
+#, c-format
+msgid "Open refund page"
+msgstr ""
+
+#: src/wallet/AddNewActionView.tsx:20
+#, c-format
+msgid "Open tip page"
+msgstr ""
+
+#: src/wallet/AddNewActionView.tsx:22
+#, c-format
+msgid "Open withdraw page"
+msgstr ""
+
+#: src/wallet/AddNewActionView.tsx:51
+#, c-format
+msgid "Back"
+msgstr ""
+
+#: src/popup/NoBalanceHelp.tsx:14
+#, fuzzy, c-format
+msgid "You have no balance to show."
+msgstr "You have no deposit to show. Need some %1$s getting started?"
+
+#: 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 ""
+
+#: src/popup/NoBalanceHelp.tsx:23
+#, c-format
+msgid "Withdraw"
+msgstr ""
+
+#: src/popup/BalancePage.tsx:52
+#, c-format
+msgid "Could not load balance page"
+msgstr ""
+
+#: src/popup/BalancePage.tsx:111
+#, c-format
+msgid "Deposit %1$s"
+msgstr ""
+
+#: src/popup/BalancePage.tsx:120
+#, c-format
+msgid "Enter URI"
+msgstr ""
+
+#: src/components/Diagnostics.tsx:30
+#, c-format
+msgid "Diagnostics timed out. Could not talk to the wallet backend."
+msgstr ""
+
+#: src/components/Diagnostics.tsx:51
+#, c-format
+msgid "Problems detected:"
+msgstr ""
+
+#: src/components/Diagnostics.tsx:60
+#, c-format
+msgid ""
+"Please check in your %1$s settings that you have IndexedDB enabled (check "
+"the preference name %2$s)."
+msgstr ""
+
+#: 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 ""
+
+#: src/components/Diagnostics.tsx:85
+#, c-format
+msgid "Running diagnostics"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:154
+#, c-format
+msgid "Debug tools"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:157
+#, c-format
+msgid "reset"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:161
+#, c-format
+msgid "import database"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:182
+#, c-format
+msgid "export database"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:186
+#, c-format
+msgid "Database exported at %1$s %2$s to download"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:209
+#, c-format
+msgid "Coins"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:236
+#, c-format
+msgid "Pending operations"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:275
+#, c-format
+msgid "usable coins"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:284
+#, c-format
+msgid "id"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:287
+#, c-format
+msgid "denom"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:290
+#, c-format
+msgid "value"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:293
+#, c-format
+msgid "status"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:296
+#, c-format
+msgid "from refresh?"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:313
+#, c-format
+msgid "spent coins"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:317
+#, c-format
+msgid "click to show"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:377
+#, c-format
+msgid ""
+"Do you want to IRREVOCABLY DESTROY everything inside your wallet and LOSE "
+"ALL YOUR COINS?"
+msgstr ""
+
+#: src/popup/TalerActionFound.tsx:56
+#, c-format
+msgid "Taler Action"
+msgstr ""
+
+#: src/popup/TalerActionFound.tsx:61
+#, c-format
+msgid "This page has pay action."
+msgstr ""
+
+#: src/popup/TalerActionFound.tsx:75
+#, c-format
+msgid "This page has a withdrawal action."
+msgstr ""
+
+#: src/popup/TalerActionFound.tsx:91
+#, c-format
+msgid "This page has a tip action."
+msgstr ""
+
+#: src/popup/TalerActionFound.tsx:105
+#, c-format
+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."
+msgstr ""
+
+#: src/popup/TalerActionFound.tsx:135
+#, c-format
+msgid "This page has a malformed taler uri."
+msgstr ""
+
+#: src/popup/TalerActionFound.tsx:147
+#, c-format
+msgid "Dismiss"
+msgstr ""
+
+#: src/wallet/BackupPage.tsx:75
+#, c-format
+msgid "Could not load backup providers"
+msgstr ""
+
+#: src/wallet/BackupPage.tsx:129
+#, c-format
+msgid "No backup providers configured"
+msgstr ""
+
+#: src/wallet/BackupPage.tsx:132
+#, c-format
+msgid "Add provider"
+msgstr ""
+
+#: src/wallet/BackupPage.tsx:142
+#, c-format
+msgid "Sync all backups"
+msgstr ""
+
+#: src/wallet/BackupPage.tsx:144
+#, c-format
+msgid "Sync now"
+msgstr ""
+
+#: src/wallet/BackupPage.tsx:187
+#, c-format
+msgid "Last synced"
+msgstr ""
+
+#: src/wallet/BackupPage.tsx:192
+#, c-format
+msgid "Not synced"
+msgstr ""
+
+#: src/wallet/BackupPage.tsx:211
+#, c-format
+msgid "Expires in"
+msgstr ""
+
+#: src/cta/TermsOfServiceSection.tsx:37
+#, c-format
+msgid "Exchange doesn't have terms of service"
+msgstr ""
+
+#: src/cta/TermsOfServiceSection.tsx:60
+#, c-format
+msgid "Review exchange terms of service"
+msgstr ""
+
+#: src/cta/TermsOfServiceSection.tsx:69
+#, c-format
+msgid "Review new version of terms of service"
+msgstr ""
+
+#: src/cta/TermsOfServiceSection.tsx:83
+#, c-format
+msgid "Show terms of service"
+msgstr ""
+
+#: src/cta/TermsOfServiceSection.tsx:91
+#, c-format
+msgid "I accept the exchange terms of service"
+msgstr ""
+
+#: src/cta/TermsOfServiceSection.tsx:110
+#, c-format
+msgid "The exchange reply with a empty terms of service"
+msgstr ""
+
+#: src/cta/TermsOfServiceSection.tsx:133
+#, c-format
+msgid "Download Terms of Service"
+msgstr ""
+
+#: src/cta/TermsOfServiceSection.tsx:141
+#, c-format
+msgid "Hide terms of service"
+msgstr ""
+
+#: src/wallet/ExchangeAddConfirm.tsx:88
+#, c-format
+msgid "Review terms of service"
+msgstr ""
+
+#: src/wallet/ExchangeAddConfirm.tsx:91
+#, c-format
+msgid "Exchange URL"
+msgstr ""
+
+#: src/wallet/ExchangeAddConfirm.tsx:112
+#, c-format
+msgid "Cancel"
+msgstr "Abort"
+
+#: src/wallet/ExchangeAddConfirm.tsx:116
+#, c-format
+msgid "Loading terms.."
+msgstr ""
+
+#: src/wallet/ExchangeAddConfirm.tsx:123
+#, c-format
+msgid "Add exchange"
+msgstr ""
+
+#: src/wallet/ExchangeAddConfirm.tsx:133
+#, c-format
+msgid "Add exchange anyway"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:96
+#, c-format
+msgid "Add new exchange"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:100
+#, c-format
+msgid "Add exchange for %1$s"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:105
+#, c-format
+msgid "Enter the URL of an exchange you trust."
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:112
+#, c-format
+msgid "An exchange has been found! Review the information and click next"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:119
+#, c-format
+msgid "This exchange doesn't match the expected currency %1$s"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:127
+#, c-format
+msgid "Unable to verify this exchange"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:135
+#, c-format
+msgid "Unable to add this exchange"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:151
+#, c-format
+msgid "loading"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:158
+#, c-format
+msgid "Version"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:164
+#, c-format
+msgid "Currency"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:190
+#, c-format
+msgid "Next"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:118
+#, c-format
+msgid "Add backup provider"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:122
+#, c-format
+msgid "Could not get provider information"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:131
+#, c-format
+msgid "Backup providers may charge for their service"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:138
+#, c-format
+msgid "URL"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:149
+#, c-format
+msgid "Name"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:201
+#, c-format
+msgid "Provider URL"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:207
+#, c-format
+msgid "Please review and accept this provider's terms of service"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:212
+#, c-format
+msgid "Pricing"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:215
+#, c-format
+msgid "free of charge"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:217
+#, c-format
+msgid "%1$s per year of service"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:224
+#, c-format
+msgid "Storage"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:227
+#, c-format
+msgid "%1$s megabytes of storage per year of service"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:233
+#, c-format
+msgid "Accept terms of service"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:62
+#, c-format
+msgid "There was an error loading the provider detail for \"%1$s\""
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:108
+#, c-format
+msgid "There is not known provider with url \"%1$s\"."
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:141
+#, c-format
+msgid "Last backup"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:146
+#, c-format
+msgid "Back up"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:152
+#, c-format
+msgid "Provider fee"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:155
+#, c-format
+msgid "per year"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:161
+#, c-format
+msgid "Extend"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:167
+#, c-format
+msgid ""
+"terms has changed, extending the service will imply accepting the new terms "
+"of service"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:177
+#, c-format
+msgid "old"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:181
+#, c-format
+msgid "new"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:188
+#, c-format
+msgid "fee"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:196
+#, c-format
+msgid "storage"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:209
+#, c-format
+msgid "back"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:213
+#, c-format
+msgid "Remove provider"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:225
+#, c-format
+msgid "This provider has reported an error"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:239
+#, c-format
+msgid "There is conflict with another backup from %1$s"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:250
+#, c-format
+msgid "Backup is not readable"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:258
+#, c-format
+msgid "Unknown backup problem: %1$s"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:277
+#, c-format
+msgid "service paid"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:284
+#, c-format
+msgid "Backup valid until"
+msgstr ""
+
+#: src/popupEntryPoint.tsx:187
+#, c-format
+msgid "this popup is being closed and you are being redirected to %1$s"
+msgstr ""
+
+#: src/components/SelectList.tsx:62
+#, c-format
+msgid "Select one option"
+msgstr ""
+
+#: src/wallet/CreateManualWithdraw.tsx:103
+#, c-format
+msgid "Manual Withdrawal"
+msgstr ""
+
+#: src/wallet/CreateManualWithdraw.tsx:106
+#, c-format
+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 ""
+
+#: src/wallet/CreateManualWithdraw.tsx:114
+#, c-format
+msgid "No exchange configured"
+msgstr ""
+
+#: src/wallet/CreateManualWithdraw.tsx:129
+#, c-format
+msgid "Can't create the reserve"
+msgstr ""
+
+#: src/wallet/CreateManualWithdraw.tsx:155
+#, c-format
+msgid "Exchange"
+msgstr ""
+
+#: src/wallet/CreateManualWithdraw.tsx:164
+#, c-format
+msgid "Add Exchange"
+msgstr ""
+
+#: src/wallet/CreateManualWithdraw.tsx:170
+#, c-format
+msgid "Amount"
+msgstr ""
+
+#: src/wallet/CreateManualWithdraw.tsx:190
+#, c-format
+msgid "Start withdrawal"
+msgstr ""
+
+#: src/wallet/DepositPage.tsx:138
+#, fuzzy, c-format
+msgid "no balance"
+msgstr "no balance"
+
+#: src/wallet/DepositPage.tsx:146
+#, c-format
+msgid "There is no known bank account to send money to"
+msgstr ""
+
+#: src/wallet/DepositPage.tsx:177
+#, c-format
+msgid "Send %1$s to your account"
+msgstr ""
+
+#: src/wallet/DepositPage.tsx:182
+#, c-format
+msgid "Bank account IBAN number"
+msgstr ""
+
+#: src/wallet/DepositPage.tsx:215
+#, c-format
+msgid "Deposit fee"
+msgstr ""
+
+#: src/wallet/DepositPage.tsx:229
+#, c-format
+msgid "Total deposit"
+msgstr ""
+
+#: src/wallet/DepositPage.tsx:247
+#, c-format
+msgid "Deposit"
+msgstr ""
+
+#: src/wallet/DepositPage.tsx:251
+#, c-format
+msgid "Deposit %1$s %2$s"
 msgstr ""
 
-#: src/util/wire.ts:42 src/util/wire.ts:45
+#: src/components/TransactionItem.tsx:137
 #, c-format
-msgid "Invalid Test Wire Detail"
+msgid "Waiting for confirmation"
 msgstr ""
 
-#: src/util/wire.ts:47
+#: src/components/TransactionItem.tsx:201
 #, c-format
-msgid "Test Wire Acct #%1$s on %2$s"
+msgid "PENDING"
 msgstr ""
 
-#: src/util/wire.ts:49
+#: src/wallet/History.tsx:70
 #, c-format
-msgid "Unknown Wire Detail"
+msgid "Could not load the list of transactions"
 msgstr ""
 
-#: src/webex/pages/benchmark.tsx:52
+#: src/wallet/History.tsx:216
 #, c-format
-msgid "Operation"
+msgid "There is no history for this currency"
 msgstr ""
 
-#: src/webex/pages/benchmark.tsx:53
+#: src/components/BankDetailsByPaytoType.tsx:38
 #, c-format
-msgid "time (ms/op)"
+msgid "Account"
 msgstr ""
 
-#: src/webex/pages/pay.tsx:130
+#: src/components/BankDetailsByPaytoType.tsx:44
 #, c-format
-msgid "The merchant %1$s offers you to purchase:"
+msgid "Bank host"
 msgstr ""
 
-#: src/webex/pages/pay.tsx:136
+#: src/components/BankDetailsByPaytoType.tsx:48
 #, c-format
-msgid "The total price is %1$s (plus %2$s fees)."
+msgid "Bank account"
 msgstr ""
 
-#: src/webex/pages/pay.tsx:141
+#: src/components/BankDetailsByPaytoType.tsx:53
 #, c-format
-msgid "The total price is %1$s."
+msgid "IBAN"
 msgstr ""
 
-#: src/webex/pages/pay.tsx:163
+#: src/components/BankDetailsByPaytoType.tsx:65
 #, c-format
-msgid "Retry"
+msgid "Chosen amount"
 msgstr ""
 
-#: src/webex/pages/pay.tsx:173
+#: src/components/BankDetailsByPaytoType.tsx:69
 #, c-format
-msgid "Confirm payment"
+msgid "Subject"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:153
+#: src/wallet/ReserveCreated.tsx:27
 #, c-format
-msgid "Balance"
-msgstr "Credit"
+msgid "could not parse payto uri from exchange %1$s"
+msgstr ""
 
-#: src/webex/pages/popup.tsx:154
+#: src/wallet/ReserveCreated.tsx:37
 #, c-format
-msgid "History"
+msgid "Exchange is ready for withdrawal"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:155
+#: src/wallet/ReserveCreated.tsx:40
 #, c-format
-msgid "Debug"
+msgid ""
+"To complete the process you need to wire %1$s to the exchange bank account"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:175
+#: src/wallet/ReserveCreated.tsx:53
 #, c-format
-msgid "You have no balance to show. Need some %1$s getting started?"
-msgstr "You have no deposit to show. Need some %1$s getting started?"
+msgid ""
+"Make sure to use the correct subject, otherwise the money will not arrive in "
+"this wallet."
+msgstr ""
+
+#: 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 ""
+
+#: src/wallet/ReserveCreated.tsx:73
+#, c-format
+msgid "Cancel withdrawal"
+msgstr ""
+
+#: src/wallet/Settings.tsx:89
+#, c-format
+msgid "Display"
+msgstr ""
+
+#: src/wallet/Settings.tsx:93
+#, c-format
+msgid "Current Language"
+msgstr ""
 
-#: src/webex/pages/popup.tsx:238
+#: src/wallet/Settings.tsx:102
 #, c-format
-msgid "%1$s incoming"
+msgid "Navigator"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:250
+#: src/wallet/Settings.tsx:105
 #, c-format
-msgid "%1$s being spent"
+msgid "Automatically open wallet based on page content"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:281
+#: src/wallet/Settings.tsx:111
 #, c-format
-msgid "Error: could not retrieve balance information."
+msgid ""
+"Enabling this option below will make using the wallet faster, but requires "
+"more permissions from your browser."
 msgstr ""
 
-#: src/webex/pages/popup.tsx:390
+#: src/wallet/Settings.tsx:122
 #, c-format
-msgid "Invalid "
+msgid "Trust"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:396
+#: src/wallet/Settings.tsx:126
 #, c-format
-msgid "Fees "
+msgid "No exchange yet"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:434
+#: src/wallet/Settings.tsx:140
 #, c-format
-msgid "Refresh sessions has completed"
+msgid "Term of Service"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:451
+#: src/wallet/Settings.tsx:156
 #, c-format
-msgid "Order Refused"
+msgid "ok"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:465
+#: src/wallet/Settings.tsx:162
 #, c-format
-msgid "Order redirected"
+msgid "changed"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:482
+#: src/wallet/Settings.tsx:169
 #, c-format
-msgid "Payment aborted"
+msgid "not accepted"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:512
+#: src/wallet/Settings.tsx:193
 #, c-format
-msgid "Payment Sent"
+msgid "Add an exchange"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:536
+#: src/wallet/Settings.tsx:199
 #, c-format
-msgid "Order accepted"
+msgid "Developer mode"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:547
+#: src/wallet/Settings.tsx:201
 #, c-format
-msgid "Reserve balance updated"
+msgid "(More options and information useful for debugging)"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:559
+#: src/wallet/Transaction.tsx:78
 #, c-format
-msgid "Payment refund"
+msgid "Could not load the transaction information"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:584
+#: src/wallet/Transaction.tsx:145
 #, c-format
-msgid "Withdrawn"
+msgid "There was an error trying to complete the transaction"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:596
+#: src/wallet/Transaction.tsx:154
 #, c-format
-msgid "Tip Accepted"
+msgid "This transaction is not completed"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:606
+#: src/wallet/Transaction.tsx:168
 #, c-format
-msgid "Tip Declined"
+msgid "Retry"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:615
+#: src/wallet/Transaction.tsx:172
 #, c-format
-msgid "%1$s"
+msgid "Forget"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:707
+#: src/wallet/Transaction.tsx:197
 #, c-format
-msgid "Your wallet has no events recorded."
+msgid "Caution!"
 msgstr ""
 
-#: src/webex/pages/return-coins.tsx:124
+#: src/wallet/Transaction.tsx:200
 #, c-format
-msgid "Wire to bank account"
+msgid ""
+"If you have already wired money to the exchange you will loose the chance to "
+"get the coins form it."
 msgstr ""
 
-#: src/webex/pages/return-coins.tsx:206
+#: src/wallet/Transaction.tsx:211
 #, c-format
 msgid "Confirm"
 msgstr "Accept"
 
-#: src/webex/pages/return-coins.tsx:209
+#: src/wallet/Transaction.tsx:218
 #, c-format
-msgid "Cancel"
-msgstr "Abort"
+msgid "Withdrawal"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:243
+#, c-format
+msgid "Total withdrawn"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:249
+#, c-format
+msgid "Exchange fee"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:259
+#, c-format
+msgid "The bank is waiting for confirmation. Go to the %1$s"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:273
+#, c-format
+msgid "Waiting for the coins to arrive"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:342
+#, c-format
+msgid "Payment"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:348
+#, c-format
+msgid "Total paid"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:354
+#, c-format
+msgid "Purchase amount"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:360
+#, c-format
+msgid "Fee"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:365
+#, c-format
+msgid "Merchant"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:370
+#, c-format
+msgid "Purchase"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:375
+#, c-format
+msgid "Receipt"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:419
+#, c-format
+msgid "Total send"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:425
+#, c-format
+msgid "Deposit amount"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:447
+#, c-format
+msgid "Refresh"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:453
+#, c-format
+msgid "Total refresh"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:459
+#, c-format
+msgid "Refresh amount"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:481
+#, c-format
+msgid "Tip"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:487
+#, c-format
+msgid "Total tip"
+msgstr ""
 
-#: src/webex/pages/withdraw.tsx:73
+#: src/wallet/Transaction.tsx:493
 #, c-format
-msgid "Could not get details for withdraw operation:"
+msgid "Received amount"
 msgstr ""
 
-#: src/webex/pages/withdraw.tsx:89 src/webex/pages/withdraw.tsx:183
+#: src/wallet/Transaction.tsx:515
 #, c-format
-msgid "Chose different exchange provider"
+msgid "Refund"
 msgstr ""
 
-#: src/webex/pages/withdraw.tsx:109
+#: src/wallet/Transaction.tsx:521
+#, c-format
+msgid "Total refund"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:527
+#, c-format
+msgid "Refund amount"
+msgstr ""
+
+#: src/wallet/Welcome.tsx:58
+#, c-format
+msgid "Browser Extension Installed!"
+msgstr ""
+
+#: src/wallet/Welcome.tsx:62
+#, c-format
+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 ""
-"Please select an exchange.  You can review the details before after your "
-"selection."
+"(Enabling this option below will make using the wallet faster, but requires "
+"more permissions from your browser.)"
+msgstr ""
+
+#: src/wallet/Welcome.tsx:85
+#, c-format
+msgid "Next Steps"
+msgstr ""
+
+#: src/wallet/Welcome.tsx:88
+#, c-format
+msgid "Try the demo"
+msgstr ""
+
+#: src/wallet/Welcome.tsx:91
+#, c-format
+msgid "Learn how to top up your wallet balance"
+msgstr ""
+
+#: src/cta/Pay.tsx:113
+#, c-format
+msgid "Could not load pay status"
+msgstr ""
+
+#: src/cta/Pay.tsx:189
+#, c-format
+msgid "Could not load contract terms from merchant or wallet backend."
+msgstr ""
+
+#: src/cta/Pay.tsx:216
+#, c-format
+msgid "Pay with a mobile phone"
+msgstr ""
+
+#: src/cta/Pay.tsx:218
+#, c-format
+msgid "Hide QR"
+msgstr ""
+
+#: src/cta/Pay.tsx:225
+#, c-format
+msgid "Scan the QR code or %1$s"
+msgstr ""
+
+#: src/cta/Pay.tsx:244
+#, c-format
+msgid "Processing"
+msgstr ""
+
+#: src/cta/Pay.tsx:257
+#, c-format
+msgid "Pay %1$s"
+msgstr ""
+
+#: src/cta/Pay.tsx:272
+#, c-format
+msgid "Your balance of %1$s is not enough to pay for this purchase"
 msgstr ""
 
-#: src/webex/pages/withdraw.tsx:121
+#: src/cta/Pay.tsx:279
 #, c-format
-msgid "Select %1$s"
+msgid "Your balance is not enough to pay for this purchase."
 msgstr ""
 
-#: src/webex/pages/withdraw.tsx:143
+#: src/cta/Pay.tsx:287
 #, c-format
-msgid "Select custom exchange"
+msgid "Withdraw digital cash"
 msgstr ""
 
-#: src/webex/pages/withdraw.tsx:163
+#: src/cta/Pay.tsx:300
 #, c-format
-msgid "You are about to withdraw %1$s from your bank account into your wallet."
+msgid "Merchant message"
 msgstr ""
 
-#: src/webex/pages/withdraw.tsx:174
+#: src/cta/Pay.tsx:318
 #, c-format
-msgid "Accept fees and withdraw"
+msgid "Digital cash payment"
 msgstr ""
 
-#: src/webex/pages/withdraw.tsx:192
+#: src/cta/Pay.tsx:324
 #, c-format
-msgid "Cancel withdraw operation"
+msgid "Already paid, you are going to be redirected to %1$s"
 msgstr ""
 
-#: src/webex/renderHtml.tsx:249
+#: src/cta/Pay.tsx:333
 #, c-format
-msgid "Withdrawal fees:"
+msgid "Already paid"
 msgstr ""
 
-#: src/webex/renderHtml.tsx:252
+#: src/cta/Pay.tsx:338
 #, c-format
-msgid "Rounding loss:"
+msgid "Already claimed"
 msgstr ""
 
-#: src/webex/renderHtml.tsx:254
+#: src/cta/Pay.tsx:344
 #, c-format
-msgid "Earliest expiration (for deposit): %1$s"
+msgid "Payment complete"
+msgstr ""
+
+#: src/cta/Pay.tsx:348
+#, c-format
+msgid "You are going to be redirected to $ %1$s"
+msgstr ""
+
+#: src/cta/Pay.tsx:353
+#, c-format
+msgid "You can close this page."
+msgstr ""
+
+#: src/cta/Pay.tsx:367
+#, c-format
+msgid "Total to pay"
+msgstr ""
+
+#: src/cta/Pay.tsx:418
+#, c-format
+msgid "List of products"
+msgstr ""
+
+#: src/cta/Pay.tsx:460
+#, c-format
+msgid "Total"
+msgstr ""
+
+#: src/cta/Pay.tsx:469
+#, c-format
+msgid "free"
+msgstr ""
+
+#: src/cta/Refund.tsx:41
+#, c-format
+msgid "Refund Status"
+msgstr ""
+
+#: src/cta/Refund.tsx:44
+#, c-format
+msgid "The product %1$s has received a total effective refund of"
+msgstr ""
+
+#: src/cta/Refund.tsx:52
+#, c-format
+msgid "Refund processing is still in progress."
+msgstr ""
+
+#: src/cta/Refund.tsx:59
+#, c-format
+msgid "The refund amount of %1$s could not be applied."
+msgstr ""
+
+#: src/cta/Refund.tsx:97
+#, c-format
+msgid "missing taler refund uri"
+msgstr ""
+
+#: src/cta/Refund.tsx:105
+#, c-format
+msgid "Error: %1$s"
+msgstr ""
+
+#: src/cta/Refund.tsx:113
+#, c-format
+msgid "Updating refund status"
+msgstr ""
+
+#: src/cta/Tip.tsx:49
+#, c-format
+msgid "Tip from %1$s accepted. Check your transactions list for more details."
+msgstr ""
+
+#: 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 ""
+
+#: src/cta/Tip.tsx:67
+#, c-format
+msgid "Accept tip"
+msgstr ""
+
+#: src/cta/Tip.tsx:70
+#, c-format
+msgid "Ignore"
+msgstr ""
+
+#: src/cta/Tip.tsx:111
+#, c-format
+msgid "missing tip uri"
+msgstr ""
+
+#: src/cta/Tip.tsx:119
+#, c-format
+msgid "You've ignored the tip."
+msgstr ""
+
+#: src/cta/Withdraw.tsx:122
+#, c-format
+msgid "Digital cash withdrawal"
+msgstr ""
+
+#: src/cta/Withdraw.tsx:127
+#, c-format
+msgid "Could not finish the withdrawal operation"
+msgstr ""
+
+#: src/cta/Withdraw.tsx:138
+#, c-format
+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"
+msgstr ""
+
+#: src/cta/Withdraw.tsx:189
+#, c-format
+msgid "Confirm exchange selection"
+msgstr ""
+
+#: src/cta/Withdraw.tsx:196
+#, c-format
+msgid "Switch exchange"
+msgstr ""
+
+#: src/cta/Withdraw.tsx:215
+#, c-format
+msgid "Confirm withdrawal"
+msgstr ""
+
+#: src/cta/Withdraw.tsx:224
+#, c-format
+msgid "Withdraw anyway"
+msgstr ""
+
+#: src/cta/Withdraw.tsx:287
+#, c-format
+msgid "Could not load the withdrawal details"
+msgstr ""
+
+#: src/cta/Withdraw.tsx:344
+#, c-format
+msgid "missing withdraw uri"
+msgstr ""
+
+#: src/cta/Withdraw.tsx:354
+#, c-format
+msgid "Could not get the info from the URI"
+msgstr ""
+
+#: src/wallet/ManualWithdrawPage.tsx:99
+#, c-format
+msgid "Could not load the list of known exchanges"
+msgstr ""
+
+#: src/walletEntryPoint.tsx:172
+#, c-format
+msgid "All done, your transaction is in progress"
+msgstr ""
+
+#: src/components/EditableText.tsx:44
+#, c-format
+msgid "Edit"
+msgstr ""
+
+#: src/cta/Deposit.tsx:114
+#, c-format
+msgid "missing pay uri"
+msgstr ""
+
+#: src/cta/Deposit.tsx:129
+#, c-format
+msgid "Could not get the payment information for this order"
+msgstr ""
+
+#: src/cta/Deposit.tsx:160
+#, c-format
+msgid "Loading payment information"
+msgstr ""
+
+#: src/cta/Deposit.tsx:208
+#, c-format
+msgid "Digital cash deposit"
+msgstr ""
+
+#: src/cta/Deposit.tsx:226
+#, c-format
+msgid "You will now be sent back to the merchant you came from."
+msgstr ""
+
+#: src/cta/reset-required.tsx:54
+#, c-format
+msgid "Manual Reset Required"
+msgstr ""
+
+#: src/cta/reset-required.tsx:57
+#, c-format
+msgid ""
+"The wallet&apos;s database in your browser is incompatible with the "
+"currently installed wallet. Please reset manually."
+msgstr ""
+
+#: src/cta/reset-required.tsx:63
+#, c-format
+msgid ""
+"Once the database format has stabilized, we will provide automatic upgrades."
 msgstr ""
 
-#: src/webex/renderHtml.tsx:262
+#: src/cta/reset-required.tsx:77
 #, c-format
-msgid "# Coins"
+msgid "I understand that I will lose all my data"
 msgstr ""
 
-#: src/webex/renderHtml.tsx:263
+#: src/cta/reset-required.tsx:87
 #, c-format
-msgid "Value"
+msgid "Reset"
 msgstr ""
 
-#: src/webex/renderHtml.tsx:264
+#: src/cta/reset-required.tsx:95
 #, c-format
-msgid "Withdraw Fee"
+msgid "Everything is fine!"
 msgstr ""
 
-#: src/webex/renderHtml.tsx:265
+#: src/cta/reset-required.tsx:98
 #, c-format
-msgid "Refresh Fee"
+msgid "A reset is not required anymore, you can close this page."
 msgstr ""
 
-#: src/webex/renderHtml.tsx:266
+#: src/cta/return-coins.tsx:31
 #, c-format
-msgid "Deposit Fee"
+msgid "Not implemented yet."
 msgstr ""
 
 #, fuzzy
diff --git a/packages/taler-wallet-webextension/src/i18n/es.po 
b/packages/taler-wallet-webextension/src/i18n/es.po
new file mode 100644
index 00000000..1d374913
--- /dev/null
+++ b/packages/taler-wallet-webextension/src/i18n/es.po
@@ -0,0 +1,1401 @@
+# This file is part of TALER
+# (C) 2016 GNUnet e.V.
+#
+# TALER is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 3, or (at your option) any later version.
+#
+# TALER is distributed in the hope that it will be useful, but WITHOUT ANY
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along with
+# TALER; see the file COPYING.  If not, see <http://www.gnu.org/licenses/>
+#
+msgid ""
+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"
+"Last-Translator: Stefan <eintritt@hotmail.com>\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"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 4.4.2\n"
+
+#: src/NavigationBar.tsx:70
+#, c-format
+msgid "Balance"
+msgstr "Balance"
+
+#: src/NavigationBar.tsx:73
+#, c-format
+msgid "Backup"
+msgstr ""
+
+#: src/NavigationBar.tsx:77
+#, c-format
+msgid "Settings"
+msgstr "Configuración"
+
+#: src/NavigationBar.tsx:96
+#, c-format
+msgid "Dev"
+msgstr "Dev"
+
+#: src/components/Loading.tsx:22
+#, c-format
+msgid "Loading"
+msgstr "Cargando"
+
+#: src/wallet/AddNewActionView.tsx:14
+#, c-format
+msgid "Open reserve page"
+msgstr "Abrir página de reserva"
+
+#: src/wallet/AddNewActionView.tsx:16
+#, c-format
+msgid "Open pay page"
+msgstr "Abrir página de pago"
+
+#: src/wallet/AddNewActionView.tsx:18
+#, c-format
+msgid "Open refund page"
+msgstr "Abrir página de devolución"
+
+#: src/wallet/AddNewActionView.tsx:20
+#, c-format
+msgid "Open tip page"
+msgstr "Abrir página de propina"
+
+#: src/wallet/AddNewActionView.tsx:22
+#, c-format
+msgid "Open withdraw page"
+msgstr "Abrir página de extracción"
+
+#: src/wallet/AddNewActionView.tsx:51
+#, c-format
+msgid "Back"
+msgstr "Volver"
+
+#: src/popup/NoBalanceHelp.tsx:14
+#, c-format
+msgid "You have no balance to show."
+msgstr "No tienes balance para mostrar."
+
+#: 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 ""
+"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
+msgid "Withdraw"
+msgstr "Extraer"
+
+#: src/popup/BalancePage.tsx:52
+#, c-format
+msgid "Could not load balance page"
+msgstr "No se pudo cargar la página"
+
+#: src/popup/BalancePage.tsx:111
+#, c-format
+msgid "Deposit %1$s"
+msgstr "Depositar %1$s"
+
+#: src/popup/BalancePage.tsx:120
+#, c-format
+msgid "Enter URI"
+msgstr "Ingresar URI"
+
+#: src/components/Diagnostics.tsx:30
+#, c-format
+msgid "Diagnostics timed out. Could not talk to the wallet backend."
+msgstr "El diagnóstico caducó. No nos pudimos comunicar con la billetera."
+
+#: src/components/Diagnostics.tsx:51
+#, c-format
+msgid "Problems detected:"
+msgstr "Problemas detectados:"
+
+#: src/components/Diagnostics.tsx:60
+#, c-format
+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)."
+
+#: 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"
+
+#: src/components/Diagnostics.tsx:85
+#, c-format
+msgid "Running diagnostics"
+msgstr "Ejecutando diagnósticos"
+
+#: src/popup/DeveloperPage.tsx:154
+#, c-format
+msgid "Debug tools"
+msgstr "Herramientas de desarrollo"
+
+#: src/popup/DeveloperPage.tsx:157
+#, c-format
+msgid "reset"
+msgstr "Reiniciar"
+
+#: src/popup/DeveloperPage.tsx:161
+#, c-format
+msgid "import database"
+msgstr "Importar base de datos"
+
+#: src/popup/DeveloperPage.tsx:182
+#, c-format
+msgid "export database"
+msgstr "Exportar base de datos"
+
+#: src/popup/DeveloperPage.tsx:186
+#, c-format
+msgid "Database exported at %1$s %2$s to download"
+msgstr "Base de datos exportada a %1$s %2$s para descargar"
+
+#: src/popup/DeveloperPage.tsx:209
+#, c-format
+msgid "Coins"
+msgstr "Monedas"
+
+#: src/popup/DeveloperPage.tsx:236
+#, c-format
+msgid "Pending operations"
+msgstr "Operaciones pendientes"
+
+#: src/popup/DeveloperPage.tsx:275
+#, c-format
+msgid "usable coins"
+msgstr "monedas usables"
+
+#: src/popup/DeveloperPage.tsx:284
+#, c-format
+msgid "id"
+msgstr "id"
+
+#: src/popup/DeveloperPage.tsx:287
+#, c-format
+msgid "denom"
+msgstr "denominación"
+
+#: src/popup/DeveloperPage.tsx:290
+#, c-format
+msgid "value"
+msgstr "valor"
+
+#: src/popup/DeveloperPage.tsx:293
+#, c-format
+msgid "status"
+msgstr "estado"
+
+#: src/popup/DeveloperPage.tsx:296
+#, c-format
+msgid "from refresh?"
+msgstr "desde refresco?"
+
+#: src/popup/DeveloperPage.tsx:313
+#, c-format
+msgid "spent coins"
+msgstr "monedas gastadas"
+
+#: src/popup/DeveloperPage.tsx:317
+#, c-format
+msgid "click to show"
+msgstr "cliquear para mostrar"
+
+#: src/popup/DeveloperPage.tsx:377
+#, c-format
+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?"
+
+#: src/popup/TalerActionFound.tsx:56
+#, c-format
+msgid "Taler Action"
+msgstr "Acción Taler"
+
+#: src/popup/TalerActionFound.tsx:61
+#, c-format
+msgid "This page has pay action."
+msgstr "Esta página tiene una acción."
+
+#: src/popup/TalerActionFound.tsx:75
+#, c-format
+msgid "This page has a withdrawal action."
+msgstr "Esta página tiene una acción de extracción."
+
+#: src/popup/TalerActionFound.tsx:91
+#, c-format
+msgid "This page has a tip action."
+msgstr "Esta página tiene una acción de propina."
+
+#: src/popup/TalerActionFound.tsx:105
+#, c-format
+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."
+msgstr "Esta página tiene una acción de devolución"
+
+#: src/popup/TalerActionFound.tsx:135
+#, c-format
+msgid "This page has a malformed taler uri."
+msgstr "Esta página tiene una URI de Taler malformada"
+
+#: src/popup/TalerActionFound.tsx:147
+#, c-format
+msgid "Dismiss"
+msgstr "Desechar"
+
+#: src/wallet/BackupPage.tsx:75
+#, c-format
+msgid "Could not load backup providers"
+msgstr "No se pudo cargar los proveedores de backup"
+
+#: src/wallet/BackupPage.tsx:129
+#, c-format
+msgid "No backup providers configured"
+msgstr "No hay proveedores de backup configurados"
+
+#: src/wallet/BackupPage.tsx:132
+#, c-format
+msgid "Add provider"
+msgstr "Agregar proveedor"
+
+#: src/wallet/BackupPage.tsx:142
+#, c-format
+msgid "Sync all backups"
+msgstr "Sincronizar todos los backups"
+
+#: src/wallet/BackupPage.tsx:144
+#, c-format
+msgid "Sync now"
+msgstr "Syncronizar ahora"
+
+#: src/wallet/BackupPage.tsx:187
+#, c-format
+msgid "Last synced"
+msgstr "Ultima vez sincronizado"
+
+#: src/wallet/BackupPage.tsx:192
+#, c-format
+msgid "Not synced"
+msgstr "No sincronizado"
+
+#: src/wallet/BackupPage.tsx:211
+#, c-format
+msgid "Expires in"
+msgstr "Expira en"
+
+#: src/cta/TermsOfServiceSection.tsx:37
+#, c-format
+msgid "Exchange doesn't have terms of service"
+msgstr "Exchange no tiene terminos de service"
+
+#: src/cta/TermsOfServiceSection.tsx:60
+#, c-format
+msgid "Review exchange terms of service"
+msgstr "Revizar terminos de servicio"
+
+#: src/cta/TermsOfServiceSection.tsx:69
+#, c-format
+msgid "Review new version of terms of service"
+msgstr "Revisar los nuevos terminos de servicio"
+
+#: src/cta/TermsOfServiceSection.tsx:83
+#, c-format
+msgid "Show terms of service"
+msgstr "Mostrar terminos de servicio"
+
+#: src/cta/TermsOfServiceSection.tsx:91
+#, c-format
+msgid "I accept the exchange terms of service"
+msgstr "Acepto los terminos de servicio del exchange"
+
+#: src/cta/TermsOfServiceSection.tsx:110
+#, c-format
+msgid "The exchange reply with a empty terms of service"
+msgstr "El exchange respondió con unos terminos de servicio vacíos"
+
+#: src/cta/TermsOfServiceSection.tsx:133
+#, c-format
+msgid "Download Terms of Service"
+msgstr "Descargar los terminos de servicio"
+
+#: src/cta/TermsOfServiceSection.tsx:141
+#, c-format
+msgid "Hide terms of service"
+msgstr "Escoder los terminos de servicio"
+
+#: src/wallet/ExchangeAddConfirm.tsx:88
+#, c-format
+msgid "Review terms of service"
+msgstr "Revizar los terminos de servicio"
+
+#: src/wallet/ExchangeAddConfirm.tsx:91
+#, c-format
+msgid "Exchange URL"
+msgstr "Exchange URL"
+
+#: src/wallet/ExchangeAddConfirm.tsx:112
+#, c-format
+msgid "Cancel"
+msgstr "Cancelar"
+
+#: src/wallet/ExchangeAddConfirm.tsx:116
+#, c-format
+msgid "Loading terms.."
+msgstr "Cargando terminos..."
+
+#: src/wallet/ExchangeAddConfirm.tsx:123
+#, c-format
+msgid "Add exchange"
+msgstr "Agregar exchange"
+
+#: src/wallet/ExchangeAddConfirm.tsx:133
+#, c-format
+msgid "Add exchange anyway"
+msgstr "Agregar exchange de todas maneras"
+
+#: src/wallet/ExchangeSetUrl.tsx:96
+#, c-format
+msgid "Add new exchange"
+msgstr "Agregar nuevo exchange"
+
+#: src/wallet/ExchangeSetUrl.tsx:100
+#, c-format
+msgid "Add exchange for %1$s"
+msgstr "Agregar exchange para %1$s"
+
+#: src/wallet/ExchangeSetUrl.tsx:105
+#, c-format
+msgid "Enter the URL of an exchange you trust."
+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"
+
+#: src/wallet/ExchangeSetUrl.tsx:119
+#, c-format
+msgid "This exchange doesn't match the expected currency %1$s"
+msgstr "Este exchange no es para la divisa %1$s"
+
+#: src/wallet/ExchangeSetUrl.tsx:127
+#, c-format
+msgid "Unable to verify this exchange"
+msgstr "No fue posible verificar este exchange"
+
+#: src/wallet/ExchangeSetUrl.tsx:135
+#, c-format
+msgid "Unable to add this exchange"
+msgstr "No fue posible agregar este exchange"
+
+#: src/wallet/ExchangeSetUrl.tsx:151
+#, c-format
+msgid "loading"
+msgstr "cargando"
+
+#: src/wallet/ExchangeSetUrl.tsx:158
+#, c-format
+msgid "Version"
+msgstr "Versión"
+
+#: src/wallet/ExchangeSetUrl.tsx:164
+#, c-format
+msgid "Currency"
+msgstr "Divisa"
+
+#: src/wallet/ExchangeSetUrl.tsx:190
+#, c-format
+msgid "Next"
+msgstr "Siguiente"
+
+#: src/wallet/ProviderAddPage.tsx:118
+#, c-format
+msgid "Add backup provider"
+msgstr "Agregar proveedor de backup"
+
+#: src/wallet/ProviderAddPage.tsx:122
+#, c-format
+msgid "Could not get provider information"
+msgstr "No se puedo conseguir la información del proveedor"
+
+#: src/wallet/ProviderAddPage.tsx:131
+#, c-format
+msgid "Backup providers may charge for their service"
+msgstr "Provedores de backup pueden pueden cobrarte por su servicio"
+
+#: src/wallet/ProviderAddPage.tsx:138
+#, c-format
+msgid "URL"
+msgstr "URL"
+
+#: src/wallet/ProviderAddPage.tsx:149
+#, c-format
+msgid "Name"
+msgstr "Nombre"
+
+#: src/wallet/ProviderAddPage.tsx:201
+#, c-format
+msgid "Provider URL"
+msgstr "URL del proveedor"
+
+#: src/wallet/ProviderAddPage.tsx:207
+#, c-format
+msgid "Please review and accept this provider's terms of service"
+msgstr "Por favor revisa y acepta los terminos de servicio del proveedor"
+
+#: src/wallet/ProviderAddPage.tsx:212
+#, c-format
+msgid "Pricing"
+msgstr "Precios"
+
+#: src/wallet/ProviderAddPage.tsx:215
+#, c-format
+msgid "free of charge"
+msgstr "Gratis"
+
+#: src/wallet/ProviderAddPage.tsx:217
+#, c-format
+msgid "%1$s per year of service"
+msgstr "%1$s por año de servicio"
+
+#: src/wallet/ProviderAddPage.tsx:224
+#, c-format
+msgid "Storage"
+msgstr "Alamcenamiento"
+
+#: src/wallet/ProviderAddPage.tsx:227
+#, c-format
+msgid "%1$s megabytes of storage per year of service"
+msgstr "%1$s megabytes de almacenamiento por año de servicio"
+
+#: src/wallet/ProviderAddPage.tsx:233
+#, c-format
+msgid "Accept terms of service"
+msgstr "Aceptar terminos de servicio"
+
+#: src/wallet/ProviderDetailPage.tsx:62
+#, c-format
+msgid "There was an error loading the provider detail for \"%1$s\""
+msgstr "Hubo un error cargando los detalles del proveedor para \"%1$s\""
+
+#: src/wallet/ProviderDetailPage.tsx:108
+#, c-format
+msgid "There is not known provider with url \"%1$s\"."
+msgstr "No hay proveedor conocido con url \"%1$s\"."
+
+#: src/wallet/ProviderDetailPage.tsx:141
+#, c-format
+msgid "Last backup"
+msgstr "Último backup"
+
+#: src/wallet/ProviderDetailPage.tsx:146
+#, c-format
+msgid "Back up"
+msgstr "Backup"
+
+#: src/wallet/ProviderDetailPage.tsx:152
+#, c-format
+msgid "Provider fee"
+msgstr "Tarifa del proveedor"
+
+#: src/wallet/ProviderDetailPage.tsx:155
+#, c-format
+msgid "per year"
+msgstr "por año"
+
+#: src/wallet/ProviderDetailPage.tsx:161
+#, c-format
+msgid "Extend"
+msgstr "Extender"
+
+#: src/wallet/ProviderDetailPage.tsx:167
+#, c-format
+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"
+
+#: src/wallet/ProviderDetailPage.tsx:177
+#, c-format
+msgid "old"
+msgstr "viejo"
+
+#: src/wallet/ProviderDetailPage.tsx:181
+#, c-format
+msgid "new"
+msgstr "nuevo"
+
+#: src/wallet/ProviderDetailPage.tsx:188
+#, c-format
+msgid "fee"
+msgstr "tarifa"
+
+#: src/wallet/ProviderDetailPage.tsx:196
+#, c-format
+msgid "storage"
+msgstr "almacenamiento"
+
+#: src/wallet/ProviderDetailPage.tsx:209
+#, c-format
+msgid "back"
+msgstr "volver"
+
+#: src/wallet/ProviderDetailPage.tsx:213
+#, c-format
+msgid "Remove provider"
+msgstr "Eliminar proveedor"
+
+#: src/wallet/ProviderDetailPage.tsx:225
+#, c-format
+msgid "This provider has reported an error"
+msgstr "Este proveedor ha reportado un error"
+
+#: src/wallet/ProviderDetailPage.tsx:239
+#, c-format
+msgid "There is conflict with another backup from %1$s"
+msgstr "Hubo un conflicto con otro backup de %1$s"
+
+#: src/wallet/ProviderDetailPage.tsx:250
+#, c-format
+msgid "Backup is not readable"
+msgstr "El backup no se puede leer"
+
+#: src/wallet/ProviderDetailPage.tsx:258
+#, c-format
+msgid "Unknown backup problem: %1$s"
+msgstr "Problema de backup desconocido: %1$s"
+
+#: src/wallet/ProviderDetailPage.tsx:277
+#, c-format
+msgid "service paid"
+msgstr "servicio pagado"
+
+#: src/wallet/ProviderDetailPage.tsx:284
+#, c-format
+msgid "Backup valid until"
+msgstr "Backup valido hasta"
+
+#: 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"
+
+#: src/components/SelectList.tsx:62
+#, c-format
+msgid "Select one option"
+msgstr "Seleccione una opción"
+
+#: src/wallet/CreateManualWithdraw.tsx:103
+#, c-format
+msgid "Manual Withdrawal"
+msgstr "Extracción Manual"
+
+#: src/wallet/CreateManualWithdraw.tsx:106
+#, c-format
+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."
+
+#: src/wallet/CreateManualWithdraw.tsx:114
+#, c-format
+msgid "No exchange configured"
+msgstr "Sin exchange configurado"
+
+#: src/wallet/CreateManualWithdraw.tsx:129
+#, c-format
+msgid "Can't create the reserve"
+msgstr "No se pudo create una reserva"
+
+#: src/wallet/CreateManualWithdraw.tsx:155
+#, c-format
+msgid "Exchange"
+msgstr "Exchange"
+
+#: src/wallet/CreateManualWithdraw.tsx:164
+#, c-format
+msgid "Add Exchange"
+msgstr "Agregar Exchange"
+
+#: src/wallet/CreateManualWithdraw.tsx:170
+#, c-format
+msgid "Amount"
+msgstr "Monto"
+
+#: src/wallet/CreateManualWithdraw.tsx:190
+#, c-format
+msgid "Start withdrawal"
+msgstr "Comenzar extracción"
+
+#: src/wallet/DepositPage.tsx:138
+#, c-format
+msgid "no balance"
+msgstr "sin balance"
+
+#: src/wallet/DepositPage.tsx:146
+#, c-format
+msgid "There is no known bank account to send money to"
+msgstr "No hay cuenta bancaria conocida donde enviar el dinero"
+
+#: src/wallet/DepositPage.tsx:177
+#, c-format
+msgid "Send %1$s to your account"
+msgstr "Enviar %1$s a tu cuenta"
+
+#: src/wallet/DepositPage.tsx:182
+#, c-format
+msgid "Bank account IBAN number"
+msgstr "Número IBAN de cuenta bancaria"
+
+#: src/wallet/DepositPage.tsx:215
+#, c-format
+msgid "Deposit fee"
+msgstr "Taria de depósito"
+
+#: src/wallet/DepositPage.tsx:229
+#, c-format
+msgid "Total deposit"
+msgstr "Deposito total"
+
+#: src/wallet/DepositPage.tsx:247
+#, c-format
+msgid "Deposit"
+msgstr "Depósito"
+
+#: src/wallet/DepositPage.tsx:251
+#, c-format
+msgid "Deposit %1$s %2$s"
+msgstr "Depositar %1$s %2$s"
+
+#: src/components/TransactionItem.tsx:137
+#, c-format
+msgid "Waiting for confirmation"
+msgstr "Esperando confirmación"
+
+#: src/components/TransactionItem.tsx:201
+#, c-format
+msgid "PENDING"
+msgstr "PENDIENTE"
+
+#: src/wallet/History.tsx:70
+#, c-format
+msgid "Could not load the list of transactions"
+msgstr "No se pudo cargar la lista de transacciones"
+
+#: src/wallet/History.tsx:216
+#, c-format
+msgid "There is no history for this currency"
+msgstr "No hay historial para esta divisa"
+
+#: src/components/BankDetailsByPaytoType.tsx:38
+#, c-format
+msgid "Account"
+msgstr "Cuenta"
+
+#: src/components/BankDetailsByPaytoType.tsx:44
+#, c-format
+msgid "Bank host"
+msgstr "Host del banco"
+
+#: src/components/BankDetailsByPaytoType.tsx:48
+#, c-format
+msgid "Bank account"
+msgstr "Cuenta del banco"
+
+#: src/components/BankDetailsByPaytoType.tsx:53
+#, c-format
+msgid "IBAN"
+msgstr "IBAN"
+
+#: src/components/BankDetailsByPaytoType.tsx:65
+#, c-format
+msgid "Chosen amount"
+msgstr "Elegir monto"
+
+#: src/components/BankDetailsByPaytoType.tsx:69
+#, c-format
+msgid "Subject"
+msgstr "Asunto"
+
+#: src/wallet/ReserveCreated.tsx:27
+#, c-format
+msgid "could not parse payto uri from exchange %1$s"
+msgstr "No se pudo analizar la URI payto del exchange %1$s"
+
+#: src/wallet/ReserveCreated.tsx:37
+#, c-format
+msgid "Exchange is ready for withdrawal"
+msgstr "El exchange está listo para la extracción"
+
+#: src/wallet/ReserveCreated.tsx:40
+#, 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"
+
+#: 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"
+
+#: 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"
+
+#: src/wallet/ReserveCreated.tsx:73
+#, c-format
+msgid "Cancel withdrawal"
+msgstr "Cancelar extracción"
+
+#: src/wallet/Settings.tsx:89
+#, c-format
+msgid "Display"
+msgstr "Pantalla"
+
+#: src/wallet/Settings.tsx:93
+#, c-format
+msgid "Current Language"
+msgstr "Lenguage actual"
+
+#: 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: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 "
+"requiere mas permisos de tu navegador"
+
+#: src/wallet/Settings.tsx:122
+#, c-format
+msgid "Trust"
+msgstr "Confianza"
+
+#: src/wallet/Settings.tsx:126
+#, c-format
+msgid "No exchange yet"
+msgstr "No hay exchanges todavía"
+
+#: src/wallet/Settings.tsx:140
+#, c-format
+msgid "Term of Service"
+msgstr "Terminos de servicio"
+
+#: src/wallet/Settings.tsx:156
+#, c-format
+msgid "ok"
+msgstr "ok"
+
+#: src/wallet/Settings.tsx:162
+#, c-format
+msgid "changed"
+msgstr "modificado"
+
+#: src/wallet/Settings.tsx:169
+#, c-format
+msgid "not accepted"
+msgstr "no aceptado"
+
+#: src/wallet/Settings.tsx:193
+#, c-format
+msgid "Add an exchange"
+msgstr "Agregar un exchange"
+
+#: src/wallet/Settings.tsx:199
+#, c-format
+msgid "Developer mode"
+msgstr "Modo desarrollador"
+
+#: 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)"
+
+#: src/wallet/Transaction.tsx:78
+#, c-format
+msgid "Could not load the transaction information"
+msgstr "No se pudo cargar información de la transacción"
+
+#: src/wallet/Transaction.tsx:145
+#, c-format
+msgid "There was an error trying to complete the transaction"
+msgstr "Hubo un error intentando completar la transacción"
+
+#: src/wallet/Transaction.tsx:154
+#, c-format
+msgid "This transaction is not completed"
+msgstr "Esta tansacción no está completa"
+
+#: src/wallet/Transaction.tsx:168
+#, c-format
+msgid "Retry"
+msgstr "Reintentar"
+
+#: src/wallet/Transaction.tsx:172
+#, c-format
+msgid "Forget"
+msgstr "Olvidar"
+
+#: src/wallet/Transaction.tsx:197
+#, c-format
+msgid "Caution!"
+msgstr "Cuidado!"
+
+#: src/wallet/Transaction.tsx:200
+#, c-format
+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"
+
+#: src/wallet/Transaction.tsx:211
+#, c-format
+msgid "Confirm"
+msgstr "Confirmar"
+
+#: src/wallet/Transaction.tsx:218
+#, c-format
+msgid "Withdrawal"
+msgstr "Extracción"
+
+#: src/wallet/Transaction.tsx:243
+#, c-format
+msgid "Total withdrawn"
+msgstr "Total extraido"
+
+#: src/wallet/Transaction.tsx:249
+#, c-format
+msgid "Exchange fee"
+msgstr "Tarifa del exchange"
+
+#: src/wallet/Transaction.tsx:259
+#, c-format
+msgid "The bank is waiting for confirmation. Go to the %1$s"
+msgstr "El banco espera la confirmación. Dirigete a %1$s"
+
+#: src/wallet/Transaction.tsx:273
+#, c-format
+msgid "Waiting for the coins to arrive"
+msgstr "Esperando a que las monedas lleguen"
+
+#: src/wallet/Transaction.tsx:342
+#, c-format
+msgid "Payment"
+msgstr "Pago"
+
+#: src/wallet/Transaction.tsx:348
+#, c-format
+msgid "Total paid"
+msgstr "Total pagado"
+
+#: src/wallet/Transaction.tsx:354
+#, c-format
+msgid "Purchase amount"
+msgstr "Monto de compra"
+
+#: src/wallet/Transaction.tsx:360
+#, c-format
+msgid "Fee"
+msgstr "Tarifa"
+
+#: src/wallet/Transaction.tsx:365
+#, c-format
+msgid "Merchant"
+msgstr "Comerciante"
+
+#: src/wallet/Transaction.tsx:370
+#, c-format
+msgid "Purchase"
+msgstr "Compra"
+
+#: src/wallet/Transaction.tsx:375
+#, c-format
+msgid "Receipt"
+msgstr "Recibo"
+
+#: src/wallet/Transaction.tsx:419
+#, c-format
+msgid "Total send"
+msgstr "Total enviado"
+
+#: src/wallet/Transaction.tsx:425
+#, c-format
+msgid "Deposit amount"
+msgstr "Monto a depositar"
+
+#: src/wallet/Transaction.tsx:447
+#, c-format
+msgid "Refresh"
+msgstr "Actualizar"
+
+#: src/wallet/Transaction.tsx:453
+#, c-format
+msgid "Total refresh"
+msgstr "Actualización total"
+
+#: src/wallet/Transaction.tsx:459
+#, c-format
+msgid "Refresh amount"
+msgstr "Monto de actualización"
+
+#: src/wallet/Transaction.tsx:481
+#, c-format
+msgid "Tip"
+msgstr "Propina"
+
+#: src/wallet/Transaction.tsx:487
+#, c-format
+msgid "Total tip"
+msgstr "Total de propina"
+
+#: src/wallet/Transaction.tsx:493
+#, c-format
+msgid "Received amount"
+msgstr "Monto recibido"
+
+#: src/wallet/Transaction.tsx:515
+#, c-format
+msgid "Refund"
+msgstr "Devolución"
+
+#: src/wallet/Transaction.tsx:521
+#, c-format
+msgid "Total refund"
+msgstr "Devolución total"
+
+#: src/wallet/Transaction.tsx:527
+#, c-format
+msgid "Refund amount"
+msgstr "Monto de devolución"
+
+#: src/wallet/Welcome.tsx:58
+#, c-format
+msgid "Browser Extension Installed!"
+msgstr "Extensión del navegador instalada!"
+
+#: src/wallet/Welcome.tsx:62
+#, c-format
+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 "
+"requiere mas permisos de tu navegador)"
+
+#: src/wallet/Welcome.tsx:85
+#, c-format
+msgid "Next Steps"
+msgstr "Próximos pasos"
+
+#: src/wallet/Welcome.tsx:88
+#, c-format
+msgid "Try the demo"
+msgstr "Probar la demostración"
+
+#: src/wallet/Welcome.tsx:91
+#, c-format
+msgid "Learn how to top up your wallet balance"
+msgstr "Aprender como llenar tu billetera"
+
+#: src/cta/Pay.tsx:113
+#, c-format
+msgid "Could not load pay status"
+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."
+
+#: src/cta/Pay.tsx:216
+#, c-format
+msgid "Pay with a mobile phone"
+msgstr "Pagar con un teléfono móbil"
+
+#: src/cta/Pay.tsx:218
+#, c-format
+msgid "Hide QR"
+msgstr "Esconder QR"
+
+#: src/cta/Pay.tsx:225
+#, c-format
+msgid "Scan the QR code or %1$s"
+msgstr "Escanear el código QR o %1$s"
+
+#: src/cta/Pay.tsx:244
+#, c-format
+msgid "Processing"
+msgstr "Procesando"
+
+#: src/cta/Pay.tsx:257
+#, c-format
+msgid "Pay %1$s"
+msgstr "Pagar %1$s"
+
+#: src/cta/Pay.tsx:272
+#, c-format
+msgid "Your balance of %1$s is not enough to pay for this purchase"
+msgstr "Tu balance de %1$s no es suficiente para pagar por esta compra"
+
+#: src/cta/Pay.tsx:279
+#, c-format
+msgid "Your balance is not enough to pay for this purchase."
+msgstr "Tu balance no es suficiente para pagar esta compra."
+
+#: src/cta/Pay.tsx:287
+#, c-format
+msgid "Withdraw digital cash"
+msgstr "Extraer dinero digital"
+
+#: src/cta/Pay.tsx:300
+#, c-format
+msgid "Merchant message"
+msgstr "Mensaje del comerciante"
+
+#: src/cta/Pay.tsx:318
+#, c-format
+msgid "Digital cash payment"
+msgstr "Pago con dinero digital"
+
+#: src/cta/Pay.tsx:324
+#, c-format
+msgid "Already paid, you are going to be redirected to %1$s"
+msgstr "Ya pagado, estás siendo dirigido a %1$s"
+
+#: src/cta/Pay.tsx:333
+#, c-format
+msgid "Already paid"
+msgstr "Ya pagado"
+
+#: src/cta/Pay.tsx:338
+#, c-format
+msgid "Already claimed"
+msgstr "Ya reclamado"
+
+#: src/cta/Pay.tsx:344
+#, c-format
+msgid "Payment complete"
+msgstr "Pago completo"
+
+#: src/cta/Pay.tsx:348
+#, c-format
+msgid "You are going to be redirected to $ %1$s"
+msgstr "Estas siendo redirigido a %1$s"
+
+#: src/cta/Pay.tsx:353
+#, c-format
+msgid "You can close this page."
+msgstr "Puedes cerrar esta página."
+
+#: src/cta/Pay.tsx:367
+#, c-format
+msgid "Total to pay"
+msgstr "Total a pagar"
+
+#: src/cta/Pay.tsx:418
+#, c-format
+msgid "List of products"
+msgstr "Lista de productos"
+
+#: src/cta/Pay.tsx:460
+#, c-format
+msgid "Total"
+msgstr "Total"
+
+#: src/cta/Pay.tsx:469
+#, c-format
+msgid "free"
+msgstr "Gratis"
+
+#: src/cta/Refund.tsx:41
+#, c-format
+msgid "Refund Status"
+msgstr "Estado del reembolso"
+
+#: src/cta/Refund.tsx:44
+#, c-format
+msgid "The product %1$s has received a total effective refund of"
+msgstr "El producto %1$s ha recibido un total efectivo de"
+
+#: src/cta/Refund.tsx:52
+#, c-format
+msgid "Refund processing is still in progress."
+msgstr "El proceso de reembolso está todavía en progreso"
+
+#: src/cta/Refund.tsx:59
+#, c-format
+msgid "The refund amount of %1$s could not be applied."
+msgstr "El monto del reembolso de %1$s no pudo ser aplicado."
+
+#: src/cta/Refund.tsx:97
+#, c-format
+msgid "missing taler refund uri"
+msgstr "falta la URI Taler de reembolso"
+
+#: src/cta/Refund.tsx:105
+#, c-format
+msgid "Error: %1$s"
+msgstr "Error: %1$s"
+
+#: src/cta/Refund.tsx:113
+#, c-format
+msgid "Updating refund status"
+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."
+
+#: 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"
+
+#: src/cta/Tip.tsx:67
+#, c-format
+msgid "Accept tip"
+msgstr "Aceptar propina"
+
+#: src/cta/Tip.tsx:70
+#, c-format
+msgid "Ignore"
+msgstr "Ignorar"
+
+#: src/cta/Tip.tsx:111
+#, c-format
+msgid "missing tip uri"
+msgstr "URI de propina faltante"
+
+#: src/cta/Tip.tsx:119
+#, c-format
+msgid "You've ignored the tip."
+msgstr "Has ignorado la propina"
+
+#: src/cta/Withdraw.tsx:122
+#, c-format
+msgid "Digital cash withdrawal"
+msgstr "Extracción de dinero digital"
+
+#: src/cta/Withdraw.tsx:127
+#, c-format
+msgid "Could not finish the withdrawal operation"
+msgstr "No se pudo completar la operación de extracción"
+
+#: src/cta/Withdraw.tsx:138
+#, c-format
+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"
+msgstr "Cancelar selección de exchange"
+
+#: src/cta/Withdraw.tsx:189
+#, c-format
+msgid "Confirm exchange selection"
+msgstr "Confirmar selección de exchange"
+
+#: src/cta/Withdraw.tsx:196
+#, c-format
+msgid "Switch exchange"
+msgstr "Cambiar exchange"
+
+#: src/cta/Withdraw.tsx:215
+#, c-format
+msgid "Confirm withdrawal"
+msgstr "Confirmar extracción"
+
+#: src/cta/Withdraw.tsx:224
+#, c-format
+msgid "Withdraw anyway"
+msgstr "Extraer de todas maneras"
+
+#: src/cta/Withdraw.tsx:287
+#, c-format
+msgid "Could not load the withdrawal details"
+msgstr "No se pudo cargar los detalles de extracción"
+
+#: src/cta/Withdraw.tsx:344
+#, c-format
+msgid "missing withdraw uri"
+msgstr "URI de extracción faltante"
+
+#: src/cta/Withdraw.tsx:354
+#, c-format
+msgid "Could not get the info from the URI"
+msgstr "No se pudo obtener la información desde la URI"
+
+#: src/wallet/ManualWithdrawPage.tsx:99
+#, c-format
+msgid "Could not load the list of known exchanges"
+msgstr "No se pudo cargar la lista de exchange conocidos"
+
+#: src/walletEntryPoint.tsx:172
+#, c-format
+msgid "All done, your transaction is in progress"
+msgstr "Todo completo, su transacción está en progreso"
+
+#: src/components/EditableText.tsx:44
+#, c-format
+msgid "Edit"
+msgstr "Editar"
+
+#: src/cta/Deposit.tsx:114
+#, c-format
+msgid "missing pay uri"
+msgstr "URI de pago faltante"
+
+#: src/cta/Deposit.tsx:129
+#, c-format
+msgid "Could not get the payment information for this order"
+msgstr "No se pudo obtener la información de pago para esta orden"
+
+#: src/cta/Deposit.tsx:160
+#, c-format
+msgid "Loading payment information"
+msgstr "Cargado la información de pago"
+
+#: src/cta/Deposit.tsx:208
+#, c-format
+msgid "Digital cash deposit"
+msgstr "Deposito de dinero digital"
+
+#: src/cta/Deposit.tsx:226
+#, c-format
+msgid "You will now be sent back to the merchant you came from."
+msgstr "Ahora serás enviado otra vez al sitio del comerciante"
+
+#: src/cta/reset-required.tsx:54
+#, c-format
+msgid "Manual Reset Required"
+msgstr "Reinicio Manual Necesario"
+
+#: src/cta/reset-required.tsx:57
+#, c-format
+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 "
+"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 "
+"de actualizaciones automáticas"
+
+#: src/cta/reset-required.tsx:77
+#, c-format
+msgid "I understand that I will lose all my data"
+msgstr "Entiendo que perderé toda mi información"
+
+#: src/cta/reset-required.tsx:87
+#, c-format
+msgid "Reset"
+msgstr "Reiniciar"
+
+#: src/cta/reset-required.tsx:95
+#, c-format
+msgid "Everything is fine!"
+msgstr "Todo está bien!"
+
+#: src/cta/reset-required.tsx:98
+#, c-format
+msgid "A reset is not required anymore, you can close this page."
+msgstr "Un reinicio ya no es necesario, puede cerrar esta página."
+
+#: src/cta/return-coins.tsx:31
+#, c-format
+msgid "Not implemented yet."
+msgstr "Todavía no implementado"
diff --git a/packages/taler-wallet-webextension/src/i18n/fr.po 
b/packages/taler-wallet-webextension/src/i18n/fr.po
index c96b1f27..ef439e4d 100644
--- a/packages/taler-wallet-webextension/src/i18n/fr.po
+++ b/packages/taler-wallet-webextension/src/i18n/fr.po
@@ -15,7 +15,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: Taler Wallet\n"
-"Report-Msgid-Bugs-To: languages@taler.net\n"
+"Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2016-11-23 00:00+0100\n"
 "PO-Revision-Date: 2022-02-18 19:31+0000\n"
 "Last-Translator: Stefan <eintritt@hotmail.com>\n"
@@ -28,264 +28,1339 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n!=1);\n"
 "X-Generator: Weblate 4.4.2\n"
 
-#: src/util/wire.ts:37
+#: src/NavigationBar.tsx:70
 #, c-format
-msgid "Invalid Wire"
+msgid "Balance"
+msgstr ""
+
+#: src/NavigationBar.tsx:73
+#, c-format
+msgid "Backup"
+msgstr ""
+
+#: src/NavigationBar.tsx:77
+#, c-format
+msgid "Settings"
+msgstr ""
+
+#: src/NavigationBar.tsx:96
+#, c-format
+msgid "Dev"
+msgstr ""
+
+#: src/components/Loading.tsx:22
+#, c-format
+msgid "Loading"
+msgstr ""
+
+#: src/wallet/AddNewActionView.tsx:14
+#, c-format
+msgid "Open reserve page"
+msgstr ""
+
+#: src/wallet/AddNewActionView.tsx:16
+#, c-format
+msgid "Open pay page"
+msgstr ""
+
+#: src/wallet/AddNewActionView.tsx:18
+#, c-format
+msgid "Open refund page"
+msgstr ""
+
+#: src/wallet/AddNewActionView.tsx:20
+#, c-format
+msgid "Open tip page"
+msgstr ""
+
+#: src/wallet/AddNewActionView.tsx:22
+#, c-format
+msgid "Open withdraw page"
+msgstr ""
+
+#: src/wallet/AddNewActionView.tsx:51
+#, c-format
+msgid "Back"
+msgstr ""
+
+#: src/popup/NoBalanceHelp.tsx:14
+#, c-format
+msgid "You have no balance to show."
+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 ""
+
+#: src/popup/NoBalanceHelp.tsx:23
+#, c-format
+msgid "Withdraw"
+msgstr ""
+
+#: src/popup/BalancePage.tsx:52
+#, c-format
+msgid "Could not load balance page"
+msgstr ""
+
+#: src/popup/BalancePage.tsx:111
+#, c-format
+msgid "Deposit %1$s"
+msgstr ""
+
+#: src/popup/BalancePage.tsx:120
+#, c-format
+msgid "Enter URI"
+msgstr ""
+
+#: src/components/Diagnostics.tsx:30
+#, c-format
+msgid "Diagnostics timed out. Could not talk to the wallet backend."
+msgstr ""
+
+#: src/components/Diagnostics.tsx:51
+#, c-format
+msgid "Problems detected:"
+msgstr ""
+
+#: src/components/Diagnostics.tsx:60
+#, c-format
+msgid ""
+"Please check in your %1$s settings that you have IndexedDB enabled (check "
+"the preference name %2$s)."
+msgstr ""
+
+#: 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 ""
+
+#: src/components/Diagnostics.tsx:85
+#, c-format
+msgid "Running diagnostics"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:154
+#, c-format
+msgid "Debug tools"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:157
+#, c-format
+msgid "reset"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:161
+#, c-format
+msgid "import database"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:182
+#, c-format
+msgid "export database"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:186
+#, c-format
+msgid "Database exported at %1$s %2$s to download"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:209
+#, c-format
+msgid "Coins"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:236
+#, c-format
+msgid "Pending operations"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:275
+#, c-format
+msgid "usable coins"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:284
+#, c-format
+msgid "id"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:287
+#, c-format
+msgid "denom"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:290
+#, c-format
+msgid "value"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:293
+#, c-format
+msgid "status"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:296
+#, c-format
+msgid "from refresh?"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:313
+#, c-format
+msgid "spent coins"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:317
+#, c-format
+msgid "click to show"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:377
+#, c-format
+msgid ""
+"Do you want to IRREVOCABLY DESTROY everything inside your wallet and LOSE "
+"ALL YOUR COINS?"
+msgstr ""
+
+#: src/popup/TalerActionFound.tsx:56
+#, c-format
+msgid "Taler Action"
+msgstr ""
+
+#: src/popup/TalerActionFound.tsx:61
+#, c-format
+msgid "This page has pay action."
+msgstr ""
+
+#: src/popup/TalerActionFound.tsx:75
+#, c-format
+msgid "This page has a withdrawal action."
+msgstr ""
+
+#: src/popup/TalerActionFound.tsx:91
+#, c-format
+msgid "This page has a tip action."
+msgstr ""
+
+#: src/popup/TalerActionFound.tsx:105
+#, c-format
+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."
+msgstr ""
+
+#: src/popup/TalerActionFound.tsx:135
+#, c-format
+msgid "This page has a malformed taler uri."
+msgstr ""
+
+#: src/popup/TalerActionFound.tsx:147
+#, c-format
+msgid "Dismiss"
+msgstr ""
+
+#: src/wallet/BackupPage.tsx:75
+#, c-format
+msgid "Could not load backup providers"
+msgstr ""
+
+#: src/wallet/BackupPage.tsx:129
+#, c-format
+msgid "No backup providers configured"
+msgstr ""
+
+#: src/wallet/BackupPage.tsx:132
+#, c-format
+msgid "Add provider"
+msgstr ""
+
+#: src/wallet/BackupPage.tsx:142
+#, c-format
+msgid "Sync all backups"
+msgstr ""
+
+#: src/wallet/BackupPage.tsx:144
+#, c-format
+msgid "Sync now"
+msgstr ""
+
+#: src/wallet/BackupPage.tsx:187
+#, c-format
+msgid "Last synced"
+msgstr ""
+
+#: src/wallet/BackupPage.tsx:192
+#, c-format
+msgid "Not synced"
+msgstr ""
+
+#: src/wallet/BackupPage.tsx:211
+#, c-format
+msgid "Expires in"
+msgstr ""
+
+#: src/cta/TermsOfServiceSection.tsx:37
+#, c-format
+msgid "Exchange doesn't have terms of service"
+msgstr ""
+
+#: src/cta/TermsOfServiceSection.tsx:60
+#, c-format
+msgid "Review exchange terms of service"
+msgstr ""
+
+#: src/cta/TermsOfServiceSection.tsx:69
+#, c-format
+msgid "Review new version of terms of service"
+msgstr ""
+
+#: src/cta/TermsOfServiceSection.tsx:83
+#, c-format
+msgid "Show terms of service"
+msgstr ""
+
+#: src/cta/TermsOfServiceSection.tsx:91
+#, c-format
+msgid "I accept the exchange terms of service"
+msgstr ""
+
+#: src/cta/TermsOfServiceSection.tsx:110
+#, c-format
+msgid "The exchange reply with a empty terms of service"
+msgstr ""
+
+#: src/cta/TermsOfServiceSection.tsx:133
+#, c-format
+msgid "Download Terms of Service"
+msgstr ""
+
+#: src/cta/TermsOfServiceSection.tsx:141
+#, c-format
+msgid "Hide terms of service"
+msgstr ""
+
+#: src/wallet/ExchangeAddConfirm.tsx:88
+#, c-format
+msgid "Review terms of service"
+msgstr ""
+
+#: src/wallet/ExchangeAddConfirm.tsx:91
+#, c-format
+msgid "Exchange URL"
+msgstr ""
+
+#: src/wallet/ExchangeAddConfirm.tsx:112
+#, c-format
+msgid "Cancel"
+msgstr ""
+
+#: src/wallet/ExchangeAddConfirm.tsx:116
+#, c-format
+msgid "Loading terms.."
+msgstr ""
+
+#: src/wallet/ExchangeAddConfirm.tsx:123
+#, c-format
+msgid "Add exchange"
+msgstr ""
+
+#: src/wallet/ExchangeAddConfirm.tsx:133
+#, c-format
+msgid "Add exchange anyway"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:96
+#, c-format
+msgid "Add new exchange"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:100
+#, c-format
+msgid "Add exchange for %1$s"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:105
+#, c-format
+msgid "Enter the URL of an exchange you trust."
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:112
+#, c-format
+msgid "An exchange has been found! Review the information and click next"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:119
+#, c-format
+msgid "This exchange doesn't match the expected currency %1$s"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:127
+#, c-format
+msgid "Unable to verify this exchange"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:135
+#, c-format
+msgid "Unable to add this exchange"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:151
+#, c-format
+msgid "loading"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:158
+#, c-format
+msgid "Version"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:164
+#, c-format
+msgid "Currency"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:190
+#, c-format
+msgid "Next"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:118
+#, c-format
+msgid "Add backup provider"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:122
+#, c-format
+msgid "Could not get provider information"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:131
+#, c-format
+msgid "Backup providers may charge for their service"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:138
+#, c-format
+msgid "URL"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:149
+#, c-format
+msgid "Name"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:201
+#, c-format
+msgid "Provider URL"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:207
+#, c-format
+msgid "Please review and accept this provider's terms of service"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:212
+#, c-format
+msgid "Pricing"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:215
+#, c-format
+msgid "free of charge"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:217
+#, c-format
+msgid "%1$s per year of service"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:224
+#, c-format
+msgid "Storage"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:227
+#, c-format
+msgid "%1$s megabytes of storage per year of service"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:233
+#, c-format
+msgid "Accept terms of service"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:62
+#, c-format
+msgid "There was an error loading the provider detail for \"%1$s\""
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:108
+#, c-format
+msgid "There is not known provider with url \"%1$s\"."
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:141
+#, c-format
+msgid "Last backup"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:146
+#, c-format
+msgid "Back up"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:152
+#, c-format
+msgid "Provider fee"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:155
+#, c-format
+msgid "per year"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:161
+#, c-format
+msgid "Extend"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:167
+#, c-format
+msgid ""
+"terms has changed, extending the service will imply accepting the new terms "
+"of service"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:177
+#, c-format
+msgid "old"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:181
+#, c-format
+msgid "new"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:188
+#, c-format
+msgid "fee"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:196
+#, c-format
+msgid "storage"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:209
+#, c-format
+msgid "back"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:213
+#, c-format
+msgid "Remove provider"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:225
+#, c-format
+msgid "This provider has reported an error"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:239
+#, c-format
+msgid "There is conflict with another backup from %1$s"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:250
+#, c-format
+msgid "Backup is not readable"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:258
+#, c-format
+msgid "Unknown backup problem: %1$s"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:277
+#, c-format
+msgid "service paid"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:284
+#, c-format
+msgid "Backup valid until"
+msgstr ""
+
+#: src/popupEntryPoint.tsx:187
+#, c-format
+msgid "this popup is being closed and you are being redirected to %1$s"
+msgstr ""
+
+#: src/components/SelectList.tsx:62
+#, c-format
+msgid "Select one option"
+msgstr ""
+
+#: src/wallet/CreateManualWithdraw.tsx:103
+#, c-format
+msgid "Manual Withdrawal"
+msgstr ""
+
+#: src/wallet/CreateManualWithdraw.tsx:106
+#, c-format
+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 ""
+
+#: src/wallet/CreateManualWithdraw.tsx:114
+#, c-format
+msgid "No exchange configured"
+msgstr ""
+
+#: src/wallet/CreateManualWithdraw.tsx:129
+#, c-format
+msgid "Can't create the reserve"
+msgstr ""
+
+#: src/wallet/CreateManualWithdraw.tsx:155
+#, c-format
+msgid "Exchange"
+msgstr ""
+
+#: src/wallet/CreateManualWithdraw.tsx:164
+#, c-format
+msgid "Add Exchange"
+msgstr ""
+
+#: src/wallet/CreateManualWithdraw.tsx:170
+#, c-format
+msgid "Amount"
+msgstr ""
+
+#: src/wallet/CreateManualWithdraw.tsx:190
+#, c-format
+msgid "Start withdrawal"
+msgstr ""
+
+#: src/wallet/DepositPage.tsx:138
+#, c-format
+msgid "no balance"
+msgstr ""
+
+#: src/wallet/DepositPage.tsx:146
+#, c-format
+msgid "There is no known bank account to send money to"
+msgstr ""
+
+#: src/wallet/DepositPage.tsx:177
+#, c-format
+msgid "Send %1$s to your account"
+msgstr ""
+
+#: src/wallet/DepositPage.tsx:182
+#, c-format
+msgid "Bank account IBAN number"
+msgstr ""
+
+#: src/wallet/DepositPage.tsx:215
+#, c-format
+msgid "Deposit fee"
+msgstr ""
+
+#: src/wallet/DepositPage.tsx:229
+#, c-format
+msgid "Total deposit"
+msgstr ""
+
+#: src/wallet/DepositPage.tsx:247
+#, c-format
+msgid "Deposit"
 msgstr ""
 
-#: src/util/wire.ts:42 src/util/wire.ts:45
+#: src/wallet/DepositPage.tsx:251
 #, c-format
-msgid "Invalid Test Wire Detail"
+msgid "Deposit %1$s %2$s"
 msgstr ""
 
-#: src/util/wire.ts:47
+#: src/components/TransactionItem.tsx:137
 #, c-format
-msgid "Test Wire Acct #%1$s on %2$s"
+msgid "Waiting for confirmation"
 msgstr ""
 
-#: src/util/wire.ts:49
+#: src/components/TransactionItem.tsx:201
 #, c-format
-msgid "Unknown Wire Detail"
+msgid "PENDING"
 msgstr ""
 
-#: src/webex/pages/benchmark.tsx:52
+#: src/wallet/History.tsx:70
 #, c-format
-msgid "Operation"
+msgid "Could not load the list of transactions"
 msgstr ""
 
-#: src/webex/pages/benchmark.tsx:53
+#: src/wallet/History.tsx:216
 #, c-format
-msgid "time (ms/op)"
+msgid "There is no history for this currency"
 msgstr ""
 
-#: src/webex/pages/pay.tsx:130
+#: src/components/BankDetailsByPaytoType.tsx:38
 #, c-format
-msgid "The merchant %1$s offers you to purchase:"
+msgid "Account"
 msgstr ""
 
-#: src/webex/pages/pay.tsx:136
+#: src/components/BankDetailsByPaytoType.tsx:44
 #, c-format
-msgid "The total price is %1$s (plus %2$s fees)."
+msgid "Bank host"
 msgstr ""
 
-#: src/webex/pages/pay.tsx:141
+#: src/components/BankDetailsByPaytoType.tsx:48
 #, c-format
-msgid "The total price is %1$s."
+msgid "Bank account"
 msgstr ""
 
-#: src/webex/pages/pay.tsx:163
+#: src/components/BankDetailsByPaytoType.tsx:53
 #, c-format
-msgid "Retry"
+msgid "IBAN"
 msgstr ""
 
-#: src/webex/pages/pay.tsx:173
+#: src/components/BankDetailsByPaytoType.tsx:65
 #, c-format
-msgid "Confirm payment"
+msgid "Chosen amount"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:153
+#: src/components/BankDetailsByPaytoType.tsx:69
 #, c-format
-msgid "Balance"
+msgid "Subject"
+msgstr ""
+
+#: src/wallet/ReserveCreated.tsx:27
+#, c-format
+msgid "could not parse payto uri from exchange %1$s"
+msgstr ""
+
+#: src/wallet/ReserveCreated.tsx:37
+#, c-format
+msgid "Exchange is ready for withdrawal"
+msgstr ""
+
+#: src/wallet/ReserveCreated.tsx:40
+#, c-format
+msgid ""
+"To complete the process you need to wire %1$s to the exchange bank account"
+msgstr ""
+
+#: 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 ""
+
+#: 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 ""
 
-#: src/webex/pages/popup.tsx:154
+#: src/wallet/ReserveCreated.tsx:73
 #, c-format
-msgid "History"
+msgid "Cancel withdrawal"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:155
+#: src/wallet/Settings.tsx:89
 #, c-format
-msgid "Debug"
+msgid "Display"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:175
+#: src/wallet/Settings.tsx:93
 #, c-format
-msgid "You have no balance to show. Need some %1$s getting started?"
+msgid "Current Language"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:238
+#: src/wallet/Settings.tsx:102
 #, c-format
-msgid "%1$s incoming"
+msgid "Navigator"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:250
+#: src/wallet/Settings.tsx:105
 #, c-format
-msgid "%1$s being spent"
+msgid "Automatically open wallet based on page content"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:281
+#: src/wallet/Settings.tsx:111
 #, c-format
-msgid "Error: could not retrieve balance information."
+msgid ""
+"Enabling this option below will make using the wallet faster, but requires "
+"more permissions from your browser."
 msgstr ""
 
-#: src/webex/pages/popup.tsx:390
+#: src/wallet/Settings.tsx:122
 #, c-format
-msgid "Invalid "
+msgid "Trust"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:396
+#: src/wallet/Settings.tsx:126
 #, c-format
-msgid "Fees "
+msgid "No exchange yet"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:434
+#: src/wallet/Settings.tsx:140
 #, c-format
-msgid "Refresh sessions has completed"
+msgid "Term of Service"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:451
+#: src/wallet/Settings.tsx:156
 #, c-format
-msgid "Order Refused"
+msgid "ok"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:465
+#: src/wallet/Settings.tsx:162
 #, c-format
-msgid "Order redirected"
+msgid "changed"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:482
+#: src/wallet/Settings.tsx:169
 #, c-format
-msgid "Payment aborted"
+msgid "not accepted"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:512
+#: src/wallet/Settings.tsx:193
 #, c-format
-msgid "Payment Sent"
+msgid "Add an exchange"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:536
+#: src/wallet/Settings.tsx:199
 #, c-format
-msgid "Order accepted"
+msgid "Developer mode"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:547
+#: src/wallet/Settings.tsx:201
 #, c-format
-msgid "Reserve balance updated"
+msgid "(More options and information useful for debugging)"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:559
+#: src/wallet/Transaction.tsx:78
 #, c-format
-msgid "Payment refund"
+msgid "Could not load the transaction information"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:584
+#: src/wallet/Transaction.tsx:145
 #, c-format
-msgid "Withdrawn"
+msgid "There was an error trying to complete the transaction"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:596
+#: src/wallet/Transaction.tsx:154
 #, c-format
-msgid "Tip Accepted"
+msgid "This transaction is not completed"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:606
+#: src/wallet/Transaction.tsx:168
 #, c-format
-msgid "Tip Declined"
+msgid "Retry"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:615
+#: src/wallet/Transaction.tsx:172
 #, c-format
-msgid "%1$s"
+msgid "Forget"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:707
+#: src/wallet/Transaction.tsx:197
 #, c-format
-msgid "Your wallet has no events recorded."
+msgid "Caution!"
 msgstr ""
 
-#: src/webex/pages/return-coins.tsx:124
+#: src/wallet/Transaction.tsx:200
 #, c-format
-msgid "Wire to bank account"
+msgid ""
+"If you have already wired money to the exchange you will loose the chance to "
+"get the coins form it."
 msgstr ""
 
-#: src/webex/pages/return-coins.tsx:206
+#: src/wallet/Transaction.tsx:211
 #, c-format
 msgid "Confirm"
 msgstr "Confirmer"
 
-#: src/webex/pages/return-coins.tsx:209
+#: src/wallet/Transaction.tsx:218
 #, c-format
-msgid "Cancel"
+msgid "Withdrawal"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:243
+#, c-format
+msgid "Total withdrawn"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:249
+#, c-format
+msgid "Exchange fee"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:259
+#, c-format
+msgid "The bank is waiting for confirmation. Go to the %1$s"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:273
+#, c-format
+msgid "Waiting for the coins to arrive"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:342
+#, c-format
+msgid "Payment"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:348
+#, c-format
+msgid "Total paid"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:354
+#, c-format
+msgid "Purchase amount"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:360
+#, c-format
+msgid "Fee"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:365
+#, c-format
+msgid "Merchant"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:370
+#, c-format
+msgid "Purchase"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:375
+#, c-format
+msgid "Receipt"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:419
+#, c-format
+msgid "Total send"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:425
+#, c-format
+msgid "Deposit amount"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:447
+#, c-format
+msgid "Refresh"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:453
+#, c-format
+msgid "Total refresh"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:459
+#, c-format
+msgid "Refresh amount"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:481
+#, c-format
+msgid "Tip"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:487
+#, c-format
+msgid "Total tip"
 msgstr ""
 
-#: src/webex/pages/withdraw.tsx:73
+#: src/wallet/Transaction.tsx:493
 #, c-format
-msgid "Could not get details for withdraw operation:"
+msgid "Received amount"
 msgstr ""
 
-#: src/webex/pages/withdraw.tsx:89 src/webex/pages/withdraw.tsx:183
+#: src/wallet/Transaction.tsx:515
 #, c-format
-msgid "Chose different exchange provider"
+msgid "Refund"
 msgstr ""
 
-#: src/webex/pages/withdraw.tsx:109
+#: src/wallet/Transaction.tsx:521
+#, c-format
+msgid "Total refund"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:527
+#, c-format
+msgid "Refund amount"
+msgstr ""
+
+#: src/wallet/Welcome.tsx:58
+#, c-format
+msgid "Browser Extension Installed!"
+msgstr ""
+
+#: src/wallet/Welcome.tsx:62
+#, c-format
+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 ""
-"Please select an exchange.  You can review the details before after your "
-"selection."
+"(Enabling this option below will make using the wallet faster, but requires "
+"more permissions from your browser.)"
+msgstr ""
+
+#: src/wallet/Welcome.tsx:85
+#, c-format
+msgid "Next Steps"
+msgstr ""
+
+#: src/wallet/Welcome.tsx:88
+#, c-format
+msgid "Try the demo"
+msgstr ""
+
+#: src/wallet/Welcome.tsx:91
+#, c-format
+msgid "Learn how to top up your wallet balance"
+msgstr ""
+
+#: src/cta/Pay.tsx:113
+#, c-format
+msgid "Could not load pay status"
+msgstr ""
+
+#: src/cta/Pay.tsx:189
+#, c-format
+msgid "Could not load contract terms from merchant or wallet backend."
+msgstr ""
+
+#: src/cta/Pay.tsx:216
+#, c-format
+msgid "Pay with a mobile phone"
+msgstr ""
+
+#: src/cta/Pay.tsx:218
+#, c-format
+msgid "Hide QR"
+msgstr ""
+
+#: src/cta/Pay.tsx:225
+#, c-format
+msgid "Scan the QR code or %1$s"
+msgstr ""
+
+#: src/cta/Pay.tsx:244
+#, c-format
+msgid "Processing"
+msgstr ""
+
+#: src/cta/Pay.tsx:257
+#, c-format
+msgid "Pay %1$s"
+msgstr ""
+
+#: src/cta/Pay.tsx:272
+#, c-format
+msgid "Your balance of %1$s is not enough to pay for this purchase"
 msgstr ""
 
-#: src/webex/pages/withdraw.tsx:121
+#: src/cta/Pay.tsx:279
 #, c-format
-msgid "Select %1$s"
+msgid "Your balance is not enough to pay for this purchase."
 msgstr ""
 
-#: src/webex/pages/withdraw.tsx:143
+#: src/cta/Pay.tsx:287
 #, c-format
-msgid "Select custom exchange"
+msgid "Withdraw digital cash"
 msgstr ""
 
-#: src/webex/pages/withdraw.tsx:163
+#: src/cta/Pay.tsx:300
 #, c-format
-msgid "You are about to withdraw %1$s from your bank account into your wallet."
+msgid "Merchant message"
 msgstr ""
 
-#: src/webex/pages/withdraw.tsx:174
+#: src/cta/Pay.tsx:318
 #, c-format
-msgid "Accept fees and withdraw"
+msgid "Digital cash payment"
 msgstr ""
 
-#: src/webex/pages/withdraw.tsx:192
+#: src/cta/Pay.tsx:324
 #, c-format
-msgid "Cancel withdraw operation"
+msgid "Already paid, you are going to be redirected to %1$s"
 msgstr ""
 
-#: src/webex/renderHtml.tsx:249
+#: src/cta/Pay.tsx:333
 #, c-format
-msgid "Withdrawal fees:"
+msgid "Already paid"
 msgstr ""
 
-#: src/webex/renderHtml.tsx:252
+#: src/cta/Pay.tsx:338
 #, c-format
-msgid "Rounding loss:"
+msgid "Already claimed"
 msgstr ""
 
-#: src/webex/renderHtml.tsx:254
+#: src/cta/Pay.tsx:344
 #, c-format
-msgid "Earliest expiration (for deposit): %1$s"
+msgid "Payment complete"
+msgstr ""
+
+#: src/cta/Pay.tsx:348
+#, c-format
+msgid "You are going to be redirected to $ %1$s"
+msgstr ""
+
+#: src/cta/Pay.tsx:353
+#, c-format
+msgid "You can close this page."
+msgstr ""
+
+#: src/cta/Pay.tsx:367
+#, c-format
+msgid "Total to pay"
+msgstr ""
+
+#: src/cta/Pay.tsx:418
+#, c-format
+msgid "List of products"
+msgstr ""
+
+#: src/cta/Pay.tsx:460
+#, c-format
+msgid "Total"
+msgstr ""
+
+#: src/cta/Pay.tsx:469
+#, c-format
+msgid "free"
+msgstr ""
+
+#: src/cta/Refund.tsx:41
+#, c-format
+msgid "Refund Status"
+msgstr ""
+
+#: src/cta/Refund.tsx:44
+#, c-format
+msgid "The product %1$s has received a total effective refund of"
+msgstr ""
+
+#: src/cta/Refund.tsx:52
+#, c-format
+msgid "Refund processing is still in progress."
+msgstr ""
+
+#: src/cta/Refund.tsx:59
+#, c-format
+msgid "The refund amount of %1$s could not be applied."
+msgstr ""
+
+#: src/cta/Refund.tsx:97
+#, c-format
+msgid "missing taler refund uri"
+msgstr ""
+
+#: src/cta/Refund.tsx:105
+#, c-format
+msgid "Error: %1$s"
+msgstr ""
+
+#: src/cta/Refund.tsx:113
+#, c-format
+msgid "Updating refund status"
+msgstr ""
+
+#: src/cta/Tip.tsx:49
+#, c-format
+msgid "Tip from %1$s accepted. Check your transactions list for more details."
+msgstr ""
+
+#: 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 ""
+
+#: src/cta/Tip.tsx:67
+#, c-format
+msgid "Accept tip"
+msgstr ""
+
+#: src/cta/Tip.tsx:70
+#, c-format
+msgid "Ignore"
+msgstr ""
+
+#: src/cta/Tip.tsx:111
+#, c-format
+msgid "missing tip uri"
+msgstr ""
+
+#: src/cta/Tip.tsx:119
+#, c-format
+msgid "You've ignored the tip."
+msgstr ""
+
+#: src/cta/Withdraw.tsx:122
+#, c-format
+msgid "Digital cash withdrawal"
+msgstr ""
+
+#: src/cta/Withdraw.tsx:127
+#, c-format
+msgid "Could not finish the withdrawal operation"
+msgstr ""
+
+#: src/cta/Withdraw.tsx:138
+#, c-format
+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"
+msgstr ""
+
+#: src/cta/Withdraw.tsx:189
+#, c-format
+msgid "Confirm exchange selection"
+msgstr ""
+
+#: src/cta/Withdraw.tsx:196
+#, c-format
+msgid "Switch exchange"
+msgstr ""
+
+#: src/cta/Withdraw.tsx:215
+#, c-format
+msgid "Confirm withdrawal"
+msgstr ""
+
+#: src/cta/Withdraw.tsx:224
+#, c-format
+msgid "Withdraw anyway"
+msgstr ""
+
+#: src/cta/Withdraw.tsx:287
+#, c-format
+msgid "Could not load the withdrawal details"
+msgstr ""
+
+#: src/cta/Withdraw.tsx:344
+#, c-format
+msgid "missing withdraw uri"
+msgstr ""
+
+#: src/cta/Withdraw.tsx:354
+#, c-format
+msgid "Could not get the info from the URI"
+msgstr ""
+
+#: src/wallet/ManualWithdrawPage.tsx:99
+#, c-format
+msgid "Could not load the list of known exchanges"
+msgstr ""
+
+#: src/walletEntryPoint.tsx:172
+#, c-format
+msgid "All done, your transaction is in progress"
+msgstr ""
+
+#: src/components/EditableText.tsx:44
+#, c-format
+msgid "Edit"
+msgstr ""
+
+#: src/cta/Deposit.tsx:114
+#, c-format
+msgid "missing pay uri"
+msgstr ""
+
+#: src/cta/Deposit.tsx:129
+#, c-format
+msgid "Could not get the payment information for this order"
+msgstr ""
+
+#: src/cta/Deposit.tsx:160
+#, c-format
+msgid "Loading payment information"
+msgstr ""
+
+#: src/cta/Deposit.tsx:208
+#, c-format
+msgid "Digital cash deposit"
+msgstr ""
+
+#: src/cta/Deposit.tsx:226
+#, c-format
+msgid "You will now be sent back to the merchant you came from."
+msgstr ""
+
+#: src/cta/reset-required.tsx:54
+#, c-format
+msgid "Manual Reset Required"
+msgstr ""
+
+#: src/cta/reset-required.tsx:57
+#, c-format
+msgid ""
+"The wallet&apos;s database in your browser is incompatible with the "
+"currently installed wallet. Please reset manually."
+msgstr ""
+
+#: src/cta/reset-required.tsx:63
+#, c-format
+msgid ""
+"Once the database format has stabilized, we will provide automatic upgrades."
 msgstr ""
 
-#: src/webex/renderHtml.tsx:262
+#: src/cta/reset-required.tsx:77
 #, c-format
-msgid "# Coins"
+msgid "I understand that I will lose all my data"
 msgstr ""
 
-#: src/webex/renderHtml.tsx:263
+#: src/cta/reset-required.tsx:87
 #, c-format
-msgid "Value"
+msgid "Reset"
 msgstr ""
 
-#: src/webex/renderHtml.tsx:264
+#: src/cta/reset-required.tsx:95
 #, c-format
-msgid "Withdraw Fee"
+msgid "Everything is fine!"
 msgstr ""
 
-#: src/webex/renderHtml.tsx:265
+#: src/cta/reset-required.tsx:98
 #, c-format
-msgid "Refresh Fee"
+msgid "A reset is not required anymore, you can close this page."
 msgstr ""
 
-#: src/webex/renderHtml.tsx:266
+#: src/cta/return-coins.tsx:31
 #, c-format
-msgid "Deposit Fee"
+msgid "Not implemented yet."
 msgstr ""
diff --git a/packages/taler-wallet-webextension/src/i18n/it.po 
b/packages/taler-wallet-webextension/src/i18n/it.po
index 9b23d595..9e51b7fe 100644
--- a/packages/taler-wallet-webextension/src/i18n/it.po
+++ b/packages/taler-wallet-webextension/src/i18n/it.po
@@ -15,7 +15,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: Taler Wallet\n"
-"Report-Msgid-Bugs-To: languages@taler.net\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"
 "Last-Translator: Stefan <eintritt@hotmail.com>\n"
@@ -28,264 +28,1339 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
 "X-Generator: Weblate 4.4.2\n"
 
-#: src/util/wire.ts:37
+#: src/NavigationBar.tsx:70
 #, c-format
-msgid "Invalid Wire"
+msgid "Balance"
+msgstr ""
+
+#: src/NavigationBar.tsx:73
+#, c-format
+msgid "Backup"
+msgstr ""
+
+#: src/NavigationBar.tsx:77
+#, c-format
+msgid "Settings"
+msgstr ""
+
+#: src/NavigationBar.tsx:96
+#, c-format
+msgid "Dev"
+msgstr ""
+
+#: src/components/Loading.tsx:22
+#, c-format
+msgid "Loading"
+msgstr ""
+
+#: src/wallet/AddNewActionView.tsx:14
+#, c-format
+msgid "Open reserve page"
+msgstr ""
+
+#: src/wallet/AddNewActionView.tsx:16
+#, c-format
+msgid "Open pay page"
+msgstr ""
+
+#: src/wallet/AddNewActionView.tsx:18
+#, c-format
+msgid "Open refund page"
+msgstr ""
+
+#: src/wallet/AddNewActionView.tsx:20
+#, c-format
+msgid "Open tip page"
+msgstr ""
+
+#: src/wallet/AddNewActionView.tsx:22
+#, c-format
+msgid "Open withdraw page"
+msgstr ""
+
+#: src/wallet/AddNewActionView.tsx:51
+#, c-format
+msgid "Back"
+msgstr ""
+
+#: src/popup/NoBalanceHelp.tsx:14
+#, c-format
+msgid "You have no balance to show."
+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 ""
+
+#: src/popup/NoBalanceHelp.tsx:23
+#, c-format
+msgid "Withdraw"
+msgstr ""
+
+#: src/popup/BalancePage.tsx:52
+#, c-format
+msgid "Could not load balance page"
+msgstr ""
+
+#: src/popup/BalancePage.tsx:111
+#, c-format
+msgid "Deposit %1$s"
+msgstr ""
+
+#: src/popup/BalancePage.tsx:120
+#, c-format
+msgid "Enter URI"
+msgstr ""
+
+#: src/components/Diagnostics.tsx:30
+#, c-format
+msgid "Diagnostics timed out. Could not talk to the wallet backend."
+msgstr ""
+
+#: src/components/Diagnostics.tsx:51
+#, c-format
+msgid "Problems detected:"
+msgstr ""
+
+#: src/components/Diagnostics.tsx:60
+#, c-format
+msgid ""
+"Please check in your %1$s settings that you have IndexedDB enabled (check "
+"the preference name %2$s)."
+msgstr ""
+
+#: 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 ""
+
+#: src/components/Diagnostics.tsx:85
+#, c-format
+msgid "Running diagnostics"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:154
+#, c-format
+msgid "Debug tools"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:157
+#, c-format
+msgid "reset"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:161
+#, c-format
+msgid "import database"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:182
+#, c-format
+msgid "export database"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:186
+#, c-format
+msgid "Database exported at %1$s %2$s to download"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:209
+#, c-format
+msgid "Coins"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:236
+#, c-format
+msgid "Pending operations"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:275
+#, c-format
+msgid "usable coins"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:284
+#, c-format
+msgid "id"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:287
+#, c-format
+msgid "denom"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:290
+#, c-format
+msgid "value"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:293
+#, c-format
+msgid "status"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:296
+#, c-format
+msgid "from refresh?"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:313
+#, c-format
+msgid "spent coins"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:317
+#, c-format
+msgid "click to show"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:377
+#, c-format
+msgid ""
+"Do you want to IRREVOCABLY DESTROY everything inside your wallet and LOSE "
+"ALL YOUR COINS?"
+msgstr ""
+
+#: src/popup/TalerActionFound.tsx:56
+#, c-format
+msgid "Taler Action"
+msgstr ""
+
+#: src/popup/TalerActionFound.tsx:61
+#, c-format
+msgid "This page has pay action."
+msgstr ""
+
+#: src/popup/TalerActionFound.tsx:75
+#, c-format
+msgid "This page has a withdrawal action."
+msgstr ""
+
+#: src/popup/TalerActionFound.tsx:91
+#, c-format
+msgid "This page has a tip action."
+msgstr ""
+
+#: src/popup/TalerActionFound.tsx:105
+#, c-format
+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."
+msgstr ""
+
+#: src/popup/TalerActionFound.tsx:135
+#, c-format
+msgid "This page has a malformed taler uri."
+msgstr ""
+
+#: src/popup/TalerActionFound.tsx:147
+#, c-format
+msgid "Dismiss"
+msgstr ""
+
+#: src/wallet/BackupPage.tsx:75
+#, c-format
+msgid "Could not load backup providers"
+msgstr ""
+
+#: src/wallet/BackupPage.tsx:129
+#, c-format
+msgid "No backup providers configured"
+msgstr ""
+
+#: src/wallet/BackupPage.tsx:132
+#, c-format
+msgid "Add provider"
+msgstr ""
+
+#: src/wallet/BackupPage.tsx:142
+#, c-format
+msgid "Sync all backups"
+msgstr ""
+
+#: src/wallet/BackupPage.tsx:144
+#, c-format
+msgid "Sync now"
+msgstr ""
+
+#: src/wallet/BackupPage.tsx:187
+#, c-format
+msgid "Last synced"
+msgstr ""
+
+#: src/wallet/BackupPage.tsx:192
+#, c-format
+msgid "Not synced"
+msgstr ""
+
+#: src/wallet/BackupPage.tsx:211
+#, c-format
+msgid "Expires in"
+msgstr ""
+
+#: src/cta/TermsOfServiceSection.tsx:37
+#, c-format
+msgid "Exchange doesn't have terms of service"
+msgstr ""
+
+#: src/cta/TermsOfServiceSection.tsx:60
+#, c-format
+msgid "Review exchange terms of service"
+msgstr ""
+
+#: src/cta/TermsOfServiceSection.tsx:69
+#, c-format
+msgid "Review new version of terms of service"
+msgstr ""
+
+#: src/cta/TermsOfServiceSection.tsx:83
+#, c-format
+msgid "Show terms of service"
+msgstr ""
+
+#: src/cta/TermsOfServiceSection.tsx:91
+#, c-format
+msgid "I accept the exchange terms of service"
+msgstr ""
+
+#: src/cta/TermsOfServiceSection.tsx:110
+#, c-format
+msgid "The exchange reply with a empty terms of service"
+msgstr ""
+
+#: src/cta/TermsOfServiceSection.tsx:133
+#, c-format
+msgid "Download Terms of Service"
+msgstr ""
+
+#: src/cta/TermsOfServiceSection.tsx:141
+#, c-format
+msgid "Hide terms of service"
+msgstr ""
+
+#: src/wallet/ExchangeAddConfirm.tsx:88
+#, c-format
+msgid "Review terms of service"
+msgstr ""
+
+#: src/wallet/ExchangeAddConfirm.tsx:91
+#, c-format
+msgid "Exchange URL"
+msgstr ""
+
+#: src/wallet/ExchangeAddConfirm.tsx:112
+#, c-format
+msgid "Cancel"
+msgstr ""
+
+#: src/wallet/ExchangeAddConfirm.tsx:116
+#, c-format
+msgid "Loading terms.."
+msgstr ""
+
+#: src/wallet/ExchangeAddConfirm.tsx:123
+#, c-format
+msgid "Add exchange"
+msgstr ""
+
+#: src/wallet/ExchangeAddConfirm.tsx:133
+#, c-format
+msgid "Add exchange anyway"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:96
+#, c-format
+msgid "Add new exchange"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:100
+#, c-format
+msgid "Add exchange for %1$s"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:105
+#, c-format
+msgid "Enter the URL of an exchange you trust."
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:112
+#, c-format
+msgid "An exchange has been found! Review the information and click next"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:119
+#, c-format
+msgid "This exchange doesn't match the expected currency %1$s"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:127
+#, c-format
+msgid "Unable to verify this exchange"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:135
+#, c-format
+msgid "Unable to add this exchange"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:151
+#, c-format
+msgid "loading"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:158
+#, c-format
+msgid "Version"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:164
+#, c-format
+msgid "Currency"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:190
+#, c-format
+msgid "Next"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:118
+#, c-format
+msgid "Add backup provider"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:122
+#, c-format
+msgid "Could not get provider information"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:131
+#, c-format
+msgid "Backup providers may charge for their service"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:138
+#, c-format
+msgid "URL"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:149
+#, c-format
+msgid "Name"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:201
+#, c-format
+msgid "Provider URL"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:207
+#, c-format
+msgid "Please review and accept this provider's terms of service"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:212
+#, c-format
+msgid "Pricing"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:215
+#, c-format
+msgid "free of charge"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:217
+#, c-format
+msgid "%1$s per year of service"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:224
+#, c-format
+msgid "Storage"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:227
+#, c-format
+msgid "%1$s megabytes of storage per year of service"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:233
+#, c-format
+msgid "Accept terms of service"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:62
+#, c-format
+msgid "There was an error loading the provider detail for \"%1$s\""
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:108
+#, c-format
+msgid "There is not known provider with url \"%1$s\"."
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:141
+#, c-format
+msgid "Last backup"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:146
+#, c-format
+msgid "Back up"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:152
+#, c-format
+msgid "Provider fee"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:155
+#, c-format
+msgid "per year"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:161
+#, c-format
+msgid "Extend"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:167
+#, c-format
+msgid ""
+"terms has changed, extending the service will imply accepting the new terms "
+"of service"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:177
+#, c-format
+msgid "old"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:181
+#, c-format
+msgid "new"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:188
+#, c-format
+msgid "fee"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:196
+#, c-format
+msgid "storage"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:209
+#, c-format
+msgid "back"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:213
+#, c-format
+msgid "Remove provider"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:225
+#, c-format
+msgid "This provider has reported an error"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:239
+#, c-format
+msgid "There is conflict with another backup from %1$s"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:250
+#, c-format
+msgid "Backup is not readable"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:258
+#, c-format
+msgid "Unknown backup problem: %1$s"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:277
+#, c-format
+msgid "service paid"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:284
+#, c-format
+msgid "Backup valid until"
+msgstr ""
+
+#: src/popupEntryPoint.tsx:187
+#, c-format
+msgid "this popup is being closed and you are being redirected to %1$s"
+msgstr ""
+
+#: src/components/SelectList.tsx:62
+#, c-format
+msgid "Select one option"
+msgstr ""
+
+#: src/wallet/CreateManualWithdraw.tsx:103
+#, c-format
+msgid "Manual Withdrawal"
+msgstr ""
+
+#: src/wallet/CreateManualWithdraw.tsx:106
+#, c-format
+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 ""
+
+#: src/wallet/CreateManualWithdraw.tsx:114
+#, c-format
+msgid "No exchange configured"
+msgstr ""
+
+#: src/wallet/CreateManualWithdraw.tsx:129
+#, c-format
+msgid "Can't create the reserve"
+msgstr ""
+
+#: src/wallet/CreateManualWithdraw.tsx:155
+#, c-format
+msgid "Exchange"
+msgstr ""
+
+#: src/wallet/CreateManualWithdraw.tsx:164
+#, c-format
+msgid "Add Exchange"
+msgstr ""
+
+#: src/wallet/CreateManualWithdraw.tsx:170
+#, c-format
+msgid "Amount"
+msgstr ""
+
+#: src/wallet/CreateManualWithdraw.tsx:190
+#, c-format
+msgid "Start withdrawal"
+msgstr ""
+
+#: src/wallet/DepositPage.tsx:138
+#, c-format
+msgid "no balance"
+msgstr ""
+
+#: src/wallet/DepositPage.tsx:146
+#, c-format
+msgid "There is no known bank account to send money to"
+msgstr ""
+
+#: src/wallet/DepositPage.tsx:177
+#, c-format
+msgid "Send %1$s to your account"
+msgstr ""
+
+#: src/wallet/DepositPage.tsx:182
+#, c-format
+msgid "Bank account IBAN number"
+msgstr ""
+
+#: src/wallet/DepositPage.tsx:215
+#, c-format
+msgid "Deposit fee"
+msgstr ""
+
+#: src/wallet/DepositPage.tsx:229
+#, c-format
+msgid "Total deposit"
+msgstr ""
+
+#: src/wallet/DepositPage.tsx:247
+#, c-format
+msgid "Deposit"
 msgstr ""
 
-#: src/util/wire.ts:42 src/util/wire.ts:45
+#: src/wallet/DepositPage.tsx:251
 #, c-format
-msgid "Invalid Test Wire Detail"
+msgid "Deposit %1$s %2$s"
 msgstr ""
 
-#: src/util/wire.ts:47
+#: src/components/TransactionItem.tsx:137
 #, c-format
-msgid "Test Wire Acct #%1$s on %2$s"
+msgid "Waiting for confirmation"
 msgstr ""
 
-#: src/util/wire.ts:49
+#: src/components/TransactionItem.tsx:201
 #, c-format
-msgid "Unknown Wire Detail"
+msgid "PENDING"
 msgstr ""
 
-#: src/webex/pages/benchmark.tsx:52
+#: src/wallet/History.tsx:70
 #, c-format
-msgid "Operation"
+msgid "Could not load the list of transactions"
 msgstr ""
 
-#: src/webex/pages/benchmark.tsx:53
+#: src/wallet/History.tsx:216
 #, c-format
-msgid "time (ms/op)"
+msgid "There is no history for this currency"
 msgstr ""
 
-#: src/webex/pages/pay.tsx:130
+#: src/components/BankDetailsByPaytoType.tsx:38
 #, c-format
-msgid "The merchant %1$s offers you to purchase:"
+msgid "Account"
 msgstr ""
 
-#: src/webex/pages/pay.tsx:136
+#: src/components/BankDetailsByPaytoType.tsx:44
 #, c-format
-msgid "The total price is %1$s (plus %2$s fees)."
+msgid "Bank host"
 msgstr ""
 
-#: src/webex/pages/pay.tsx:141
+#: src/components/BankDetailsByPaytoType.tsx:48
 #, c-format
-msgid "The total price is %1$s."
+msgid "Bank account"
 msgstr ""
 
-#: src/webex/pages/pay.tsx:163
+#: src/components/BankDetailsByPaytoType.tsx:53
 #, c-format
-msgid "Retry"
+msgid "IBAN"
 msgstr ""
 
-#: src/webex/pages/pay.tsx:173
+#: src/components/BankDetailsByPaytoType.tsx:65
 #, c-format
-msgid "Confirm payment"
+msgid "Chosen amount"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:153
+#: src/components/BankDetailsByPaytoType.tsx:69
 #, c-format
-msgid "Balance"
+msgid "Subject"
+msgstr ""
+
+#: src/wallet/ReserveCreated.tsx:27
+#, c-format
+msgid "could not parse payto uri from exchange %1$s"
+msgstr ""
+
+#: src/wallet/ReserveCreated.tsx:37
+#, c-format
+msgid "Exchange is ready for withdrawal"
+msgstr ""
+
+#: src/wallet/ReserveCreated.tsx:40
+#, c-format
+msgid ""
+"To complete the process you need to wire %1$s to the exchange bank account"
+msgstr ""
+
+#: 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 ""
+
+#: 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 ""
 
-#: src/webex/pages/popup.tsx:154
+#: src/wallet/ReserveCreated.tsx:73
 #, c-format
-msgid "History"
+msgid "Cancel withdrawal"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:155
+#: src/wallet/Settings.tsx:89
 #, c-format
-msgid "Debug"
+msgid "Display"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:175
+#: src/wallet/Settings.tsx:93
 #, c-format
-msgid "You have no balance to show. Need some %1$s getting started?"
+msgid "Current Language"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:238
+#: src/wallet/Settings.tsx:102
 #, c-format
-msgid "%1$s incoming"
+msgid "Navigator"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:250
+#: src/wallet/Settings.tsx:105
 #, c-format
-msgid "%1$s being spent"
+msgid "Automatically open wallet based on page content"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:281
+#: src/wallet/Settings.tsx:111
 #, c-format
-msgid "Error: could not retrieve balance information."
+msgid ""
+"Enabling this option below will make using the wallet faster, but requires "
+"more permissions from your browser."
 msgstr ""
 
-#: src/webex/pages/popup.tsx:390
+#: src/wallet/Settings.tsx:122
 #, c-format
-msgid "Invalid "
+msgid "Trust"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:396
+#: src/wallet/Settings.tsx:126
 #, c-format
-msgid "Fees "
+msgid "No exchange yet"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:434
+#: src/wallet/Settings.tsx:140
 #, c-format
-msgid "Refresh sessions has completed"
+msgid "Term of Service"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:451
+#: src/wallet/Settings.tsx:156
 #, c-format
-msgid "Order Refused"
+msgid "ok"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:465
+#: src/wallet/Settings.tsx:162
 #, c-format
-msgid "Order redirected"
+msgid "changed"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:482
+#: src/wallet/Settings.tsx:169
 #, c-format
-msgid "Payment aborted"
+msgid "not accepted"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:512
+#: src/wallet/Settings.tsx:193
 #, c-format
-msgid "Payment Sent"
+msgid "Add an exchange"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:536
+#: src/wallet/Settings.tsx:199
 #, c-format
-msgid "Order accepted"
+msgid "Developer mode"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:547
+#: src/wallet/Settings.tsx:201
 #, c-format
-msgid "Reserve balance updated"
+msgid "(More options and information useful for debugging)"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:559
+#: src/wallet/Transaction.tsx:78
 #, c-format
-msgid "Payment refund"
+msgid "Could not load the transaction information"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:584
+#: src/wallet/Transaction.tsx:145
 #, c-format
-msgid "Withdrawn"
+msgid "There was an error trying to complete the transaction"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:596
+#: src/wallet/Transaction.tsx:154
 #, c-format
-msgid "Tip Accepted"
+msgid "This transaction is not completed"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:606
+#: src/wallet/Transaction.tsx:168
 #, c-format
-msgid "Tip Declined"
+msgid "Retry"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:615
+#: src/wallet/Transaction.tsx:172
 #, c-format
-msgid "%1$s"
+msgid "Forget"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:707
+#: src/wallet/Transaction.tsx:197
 #, c-format
-msgid "Your wallet has no events recorded."
+msgid "Caution!"
 msgstr ""
 
-#: src/webex/pages/return-coins.tsx:124
+#: src/wallet/Transaction.tsx:200
 #, c-format
-msgid "Wire to bank account"
+msgid ""
+"If you have already wired money to the exchange you will loose the chance to "
+"get the coins form it."
 msgstr ""
 
-#: src/webex/pages/return-coins.tsx:206
+#: src/wallet/Transaction.tsx:211
 #, c-format
 msgid "Confirm"
 msgstr "Confermare"
 
-#: src/webex/pages/return-coins.tsx:209
+#: src/wallet/Transaction.tsx:218
 #, c-format
-msgid "Cancel"
+msgid "Withdrawal"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:243
+#, c-format
+msgid "Total withdrawn"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:249
+#, c-format
+msgid "Exchange fee"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:259
+#, c-format
+msgid "The bank is waiting for confirmation. Go to the %1$s"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:273
+#, c-format
+msgid "Waiting for the coins to arrive"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:342
+#, c-format
+msgid "Payment"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:348
+#, c-format
+msgid "Total paid"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:354
+#, c-format
+msgid "Purchase amount"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:360
+#, c-format
+msgid "Fee"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:365
+#, c-format
+msgid "Merchant"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:370
+#, c-format
+msgid "Purchase"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:375
+#, c-format
+msgid "Receipt"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:419
+#, c-format
+msgid "Total send"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:425
+#, c-format
+msgid "Deposit amount"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:447
+#, c-format
+msgid "Refresh"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:453
+#, c-format
+msgid "Total refresh"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:459
+#, c-format
+msgid "Refresh amount"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:481
+#, c-format
+msgid "Tip"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:487
+#, c-format
+msgid "Total tip"
 msgstr ""
 
-#: src/webex/pages/withdraw.tsx:73
+#: src/wallet/Transaction.tsx:493
 #, c-format
-msgid "Could not get details for withdraw operation:"
+msgid "Received amount"
 msgstr ""
 
-#: src/webex/pages/withdraw.tsx:89 src/webex/pages/withdraw.tsx:183
+#: src/wallet/Transaction.tsx:515
 #, c-format
-msgid "Chose different exchange provider"
+msgid "Refund"
 msgstr ""
 
-#: src/webex/pages/withdraw.tsx:109
+#: src/wallet/Transaction.tsx:521
+#, c-format
+msgid "Total refund"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:527
+#, c-format
+msgid "Refund amount"
+msgstr ""
+
+#: src/wallet/Welcome.tsx:58
+#, c-format
+msgid "Browser Extension Installed!"
+msgstr ""
+
+#: src/wallet/Welcome.tsx:62
+#, c-format
+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 ""
-"Please select an exchange.  You can review the details before after your "
-"selection."
+"(Enabling this option below will make using the wallet faster, but requires "
+"more permissions from your browser.)"
+msgstr ""
+
+#: src/wallet/Welcome.tsx:85
+#, c-format
+msgid "Next Steps"
+msgstr ""
+
+#: src/wallet/Welcome.tsx:88
+#, c-format
+msgid "Try the demo"
+msgstr ""
+
+#: src/wallet/Welcome.tsx:91
+#, c-format
+msgid "Learn how to top up your wallet balance"
+msgstr ""
+
+#: src/cta/Pay.tsx:113
+#, c-format
+msgid "Could not load pay status"
+msgstr ""
+
+#: src/cta/Pay.tsx:189
+#, c-format
+msgid "Could not load contract terms from merchant or wallet backend."
+msgstr ""
+
+#: src/cta/Pay.tsx:216
+#, c-format
+msgid "Pay with a mobile phone"
+msgstr ""
+
+#: src/cta/Pay.tsx:218
+#, c-format
+msgid "Hide QR"
+msgstr ""
+
+#: src/cta/Pay.tsx:225
+#, c-format
+msgid "Scan the QR code or %1$s"
+msgstr ""
+
+#: src/cta/Pay.tsx:244
+#, c-format
+msgid "Processing"
+msgstr ""
+
+#: src/cta/Pay.tsx:257
+#, c-format
+msgid "Pay %1$s"
+msgstr ""
+
+#: src/cta/Pay.tsx:272
+#, c-format
+msgid "Your balance of %1$s is not enough to pay for this purchase"
 msgstr ""
 
-#: src/webex/pages/withdraw.tsx:121
+#: src/cta/Pay.tsx:279
 #, c-format
-msgid "Select %1$s"
+msgid "Your balance is not enough to pay for this purchase."
 msgstr ""
 
-#: src/webex/pages/withdraw.tsx:143
+#: src/cta/Pay.tsx:287
 #, c-format
-msgid "Select custom exchange"
+msgid "Withdraw digital cash"
 msgstr ""
 
-#: src/webex/pages/withdraw.tsx:163
+#: src/cta/Pay.tsx:300
 #, c-format
-msgid "You are about to withdraw %1$s from your bank account into your wallet."
+msgid "Merchant message"
 msgstr ""
 
-#: src/webex/pages/withdraw.tsx:174
+#: src/cta/Pay.tsx:318
 #, c-format
-msgid "Accept fees and withdraw"
+msgid "Digital cash payment"
 msgstr ""
 
-#: src/webex/pages/withdraw.tsx:192
+#: src/cta/Pay.tsx:324
 #, c-format
-msgid "Cancel withdraw operation"
+msgid "Already paid, you are going to be redirected to %1$s"
 msgstr ""
 
-#: src/webex/renderHtml.tsx:249
+#: src/cta/Pay.tsx:333
 #, c-format
-msgid "Withdrawal fees:"
+msgid "Already paid"
 msgstr ""
 
-#: src/webex/renderHtml.tsx:252
+#: src/cta/Pay.tsx:338
 #, c-format
-msgid "Rounding loss:"
+msgid "Already claimed"
 msgstr ""
 
-#: src/webex/renderHtml.tsx:254
+#: src/cta/Pay.tsx:344
 #, c-format
-msgid "Earliest expiration (for deposit): %1$s"
+msgid "Payment complete"
+msgstr ""
+
+#: src/cta/Pay.tsx:348
+#, c-format
+msgid "You are going to be redirected to $ %1$s"
+msgstr ""
+
+#: src/cta/Pay.tsx:353
+#, c-format
+msgid "You can close this page."
+msgstr ""
+
+#: src/cta/Pay.tsx:367
+#, c-format
+msgid "Total to pay"
+msgstr ""
+
+#: src/cta/Pay.tsx:418
+#, c-format
+msgid "List of products"
+msgstr ""
+
+#: src/cta/Pay.tsx:460
+#, c-format
+msgid "Total"
+msgstr ""
+
+#: src/cta/Pay.tsx:469
+#, c-format
+msgid "free"
+msgstr ""
+
+#: src/cta/Refund.tsx:41
+#, c-format
+msgid "Refund Status"
+msgstr ""
+
+#: src/cta/Refund.tsx:44
+#, c-format
+msgid "The product %1$s has received a total effective refund of"
+msgstr ""
+
+#: src/cta/Refund.tsx:52
+#, c-format
+msgid "Refund processing is still in progress."
+msgstr ""
+
+#: src/cta/Refund.tsx:59
+#, c-format
+msgid "The refund amount of %1$s could not be applied."
+msgstr ""
+
+#: src/cta/Refund.tsx:97
+#, c-format
+msgid "missing taler refund uri"
+msgstr ""
+
+#: src/cta/Refund.tsx:105
+#, c-format
+msgid "Error: %1$s"
+msgstr ""
+
+#: src/cta/Refund.tsx:113
+#, c-format
+msgid "Updating refund status"
+msgstr ""
+
+#: src/cta/Tip.tsx:49
+#, c-format
+msgid "Tip from %1$s accepted. Check your transactions list for more details."
+msgstr ""
+
+#: 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 ""
+
+#: src/cta/Tip.tsx:67
+#, c-format
+msgid "Accept tip"
+msgstr ""
+
+#: src/cta/Tip.tsx:70
+#, c-format
+msgid "Ignore"
+msgstr ""
+
+#: src/cta/Tip.tsx:111
+#, c-format
+msgid "missing tip uri"
+msgstr ""
+
+#: src/cta/Tip.tsx:119
+#, c-format
+msgid "You've ignored the tip."
+msgstr ""
+
+#: src/cta/Withdraw.tsx:122
+#, c-format
+msgid "Digital cash withdrawal"
+msgstr ""
+
+#: src/cta/Withdraw.tsx:127
+#, c-format
+msgid "Could not finish the withdrawal operation"
+msgstr ""
+
+#: src/cta/Withdraw.tsx:138
+#, c-format
+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"
+msgstr ""
+
+#: src/cta/Withdraw.tsx:189
+#, c-format
+msgid "Confirm exchange selection"
+msgstr ""
+
+#: src/cta/Withdraw.tsx:196
+#, c-format
+msgid "Switch exchange"
+msgstr ""
+
+#: src/cta/Withdraw.tsx:215
+#, c-format
+msgid "Confirm withdrawal"
+msgstr ""
+
+#: src/cta/Withdraw.tsx:224
+#, c-format
+msgid "Withdraw anyway"
+msgstr ""
+
+#: src/cta/Withdraw.tsx:287
+#, c-format
+msgid "Could not load the withdrawal details"
+msgstr ""
+
+#: src/cta/Withdraw.tsx:344
+#, c-format
+msgid "missing withdraw uri"
+msgstr ""
+
+#: src/cta/Withdraw.tsx:354
+#, c-format
+msgid "Could not get the info from the URI"
+msgstr ""
+
+#: src/wallet/ManualWithdrawPage.tsx:99
+#, c-format
+msgid "Could not load the list of known exchanges"
+msgstr ""
+
+#: src/walletEntryPoint.tsx:172
+#, c-format
+msgid "All done, your transaction is in progress"
+msgstr ""
+
+#: src/components/EditableText.tsx:44
+#, c-format
+msgid "Edit"
+msgstr ""
+
+#: src/cta/Deposit.tsx:114
+#, c-format
+msgid "missing pay uri"
+msgstr ""
+
+#: src/cta/Deposit.tsx:129
+#, c-format
+msgid "Could not get the payment information for this order"
+msgstr ""
+
+#: src/cta/Deposit.tsx:160
+#, c-format
+msgid "Loading payment information"
+msgstr ""
+
+#: src/cta/Deposit.tsx:208
+#, c-format
+msgid "Digital cash deposit"
+msgstr ""
+
+#: src/cta/Deposit.tsx:226
+#, c-format
+msgid "You will now be sent back to the merchant you came from."
+msgstr ""
+
+#: src/cta/reset-required.tsx:54
+#, c-format
+msgid "Manual Reset Required"
+msgstr ""
+
+#: src/cta/reset-required.tsx:57
+#, c-format
+msgid ""
+"The wallet&apos;s database in your browser is incompatible with the "
+"currently installed wallet. Please reset manually."
+msgstr ""
+
+#: src/cta/reset-required.tsx:63
+#, c-format
+msgid ""
+"Once the database format has stabilized, we will provide automatic upgrades."
 msgstr ""
 
-#: src/webex/renderHtml.tsx:262
+#: src/cta/reset-required.tsx:77
 #, c-format
-msgid "# Coins"
+msgid "I understand that I will lose all my data"
 msgstr ""
 
-#: src/webex/renderHtml.tsx:263
+#: src/cta/reset-required.tsx:87
 #, c-format
-msgid "Value"
+msgid "Reset"
 msgstr ""
 
-#: src/webex/renderHtml.tsx:264
+#: src/cta/reset-required.tsx:95
 #, c-format
-msgid "Withdraw Fee"
+msgid "Everything is fine!"
 msgstr ""
 
-#: src/webex/renderHtml.tsx:265
+#: src/cta/reset-required.tsx:98
 #, c-format
-msgid "Refresh Fee"
+msgid "A reset is not required anymore, you can close this page."
 msgstr ""
 
-#: src/webex/renderHtml.tsx:266
+#: src/cta/return-coins.tsx:31
 #, c-format
-msgid "Deposit Fee"
+msgid "Not implemented yet."
 msgstr ""
diff --git a/packages/taler-wallet-webextension/src/i18n/ja.po 
b/packages/taler-wallet-webextension/src/i18n/ja.po
new file mode 100644
index 00000000..9750342f
--- /dev/null
+++ b/packages/taler-wallet-webextension/src/i18n/ja.po
@@ -0,0 +1,1368 @@
+# This file is part of TALER
+# (C) 2016 GNUnet e.V.
+#
+# TALER is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 3, or (at your option) any later version.
+#
+# TALER is distributed in the hope that it will be useful, but WITHOUT ANY
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along with
+# TALER; see the file COPYING.  If not, see <http://www.gnu.org/licenses/>
+#
+msgid ""
+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 17:20+0000\n"
+"Last-Translator: Stefan <eintritt@hotmail.com>\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"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 4.4.2\n"
+
+#: src/NavigationBar.tsx:70
+#, c-format
+msgid "Balance"
+msgstr "残高"
+
+#: src/NavigationBar.tsx:73
+#, c-format
+msgid "Backup"
+msgstr "バックアップ"
+
+#: src/NavigationBar.tsx:77
+#, c-format
+msgid "Settings"
+msgstr "設定"
+
+#: src/NavigationBar.tsx:96
+#, c-format
+msgid "Dev"
+msgstr ""
+
+#: src/components/Loading.tsx:22
+#, c-format
+msgid "Loading"
+msgstr ""
+
+#: src/wallet/AddNewActionView.tsx:14
+#, c-format
+msgid "Open reserve page"
+msgstr ""
+
+#: src/wallet/AddNewActionView.tsx:16
+#, c-format
+msgid "Open pay page"
+msgstr ""
+
+#: src/wallet/AddNewActionView.tsx:18
+#, c-format
+msgid "Open refund page"
+msgstr ""
+
+#: src/wallet/AddNewActionView.tsx:20
+#, c-format
+msgid "Open tip page"
+msgstr ""
+
+#: src/wallet/AddNewActionView.tsx:22
+#, c-format
+msgid "Open withdraw page"
+msgstr ""
+
+#: src/wallet/AddNewActionView.tsx:51
+#, c-format
+msgid "Back"
+msgstr ""
+
+#: src/popup/NoBalanceHelp.tsx:14
+#, fuzzy, c-format
+msgid "You have no balance to show."
+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 ""
+"お金を引き出すには、銀行のサイトから開始するか、[引き出し]ボタンをクリックし"
+"て既知の取引所を使用します。"
+
+#: src/popup/NoBalanceHelp.tsx:23
+#, fuzzy, c-format
+msgid "Withdraw"
+msgstr "撤退"
+
+#: src/popup/BalancePage.tsx:52
+#, c-format
+msgid "Could not load balance page"
+msgstr ""
+
+#: src/popup/BalancePage.tsx:111
+#, c-format
+msgid "Deposit %1$s"
+msgstr ""
+
+#: src/popup/BalancePage.tsx:120
+#, c-format
+msgid "Enter URI"
+msgstr ""
+
+#: src/components/Diagnostics.tsx:30
+#, c-format
+msgid "Diagnostics timed out. Could not talk to the wallet backend."
+msgstr ""
+
+#: src/components/Diagnostics.tsx:51
+#, c-format
+msgid "Problems detected:"
+msgstr ""
+
+#: src/components/Diagnostics.tsx:60
+#, c-format
+msgid ""
+"Please check in your %1$s settings that you have IndexedDB enabled (check "
+"the preference name %2$s)."
+msgstr ""
+
+#: 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 ""
+
+#: src/components/Diagnostics.tsx:85
+#, c-format
+msgid "Running diagnostics"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:154
+#, c-format
+msgid "Debug tools"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:157
+#, c-format
+msgid "reset"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:161
+#, c-format
+msgid "import database"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:182
+#, c-format
+msgid "export database"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:186
+#, c-format
+msgid "Database exported at %1$s %2$s to download"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:209
+#, c-format
+msgid "Coins"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:236
+#, c-format
+msgid "Pending operations"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:275
+#, c-format
+msgid "usable coins"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:284
+#, c-format
+msgid "id"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:287
+#, c-format
+msgid "denom"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:290
+#, c-format
+msgid "value"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:293
+#, c-format
+msgid "status"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:296
+#, c-format
+msgid "from refresh?"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:313
+#, c-format
+msgid "spent coins"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:317
+#, c-format
+msgid "click to show"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:377
+#, c-format
+msgid ""
+"Do you want to IRREVOCABLY DESTROY everything inside your wallet and LOSE "
+"ALL YOUR COINS?"
+msgstr ""
+
+#: src/popup/TalerActionFound.tsx:56
+#, c-format
+msgid "Taler Action"
+msgstr ""
+
+#: src/popup/TalerActionFound.tsx:61
+#, c-format
+msgid "This page has pay action."
+msgstr ""
+
+#: src/popup/TalerActionFound.tsx:75
+#, c-format
+msgid "This page has a withdrawal action."
+msgstr ""
+
+#: src/popup/TalerActionFound.tsx:91
+#, c-format
+msgid "This page has a tip action."
+msgstr ""
+
+#: src/popup/TalerActionFound.tsx:105
+#, c-format
+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."
+msgstr ""
+
+#: src/popup/TalerActionFound.tsx:135
+#, c-format
+msgid "This page has a malformed taler uri."
+msgstr ""
+
+#: src/popup/TalerActionFound.tsx:147
+#, c-format
+msgid "Dismiss"
+msgstr ""
+
+#: src/wallet/BackupPage.tsx:75
+#, c-format
+msgid "Could not load backup providers"
+msgstr ""
+
+#: src/wallet/BackupPage.tsx:129
+#, c-format
+msgid "No backup providers configured"
+msgstr ""
+
+#: src/wallet/BackupPage.tsx:132
+#, c-format
+msgid "Add provider"
+msgstr ""
+
+#: src/wallet/BackupPage.tsx:142
+#, c-format
+msgid "Sync all backups"
+msgstr ""
+
+#: src/wallet/BackupPage.tsx:144
+#, c-format
+msgid "Sync now"
+msgstr ""
+
+#: src/wallet/BackupPage.tsx:187
+#, c-format
+msgid "Last synced"
+msgstr ""
+
+#: src/wallet/BackupPage.tsx:192
+#, c-format
+msgid "Not synced"
+msgstr ""
+
+#: src/wallet/BackupPage.tsx:211
+#, c-format
+msgid "Expires in"
+msgstr ""
+
+#: src/cta/TermsOfServiceSection.tsx:37
+#, c-format
+msgid "Exchange doesn't have terms of service"
+msgstr ""
+
+#: src/cta/TermsOfServiceSection.tsx:60
+#, c-format
+msgid "Review exchange terms of service"
+msgstr ""
+
+#: src/cta/TermsOfServiceSection.tsx:69
+#, c-format
+msgid "Review new version of terms of service"
+msgstr ""
+
+#: src/cta/TermsOfServiceSection.tsx:83
+#, c-format
+msgid "Show terms of service"
+msgstr ""
+
+#: src/cta/TermsOfServiceSection.tsx:91
+#, c-format
+msgid "I accept the exchange terms of service"
+msgstr ""
+
+#: src/cta/TermsOfServiceSection.tsx:110
+#, c-format
+msgid "The exchange reply with a empty terms of service"
+msgstr ""
+
+#: src/cta/TermsOfServiceSection.tsx:133
+#, c-format
+msgid "Download Terms of Service"
+msgstr ""
+
+#: src/cta/TermsOfServiceSection.tsx:141
+#, c-format
+msgid "Hide terms of service"
+msgstr ""
+
+#: src/wallet/ExchangeAddConfirm.tsx:88
+#, c-format
+msgid "Review terms of service"
+msgstr ""
+
+#: src/wallet/ExchangeAddConfirm.tsx:91
+#, c-format
+msgid "Exchange URL"
+msgstr ""
+
+#: src/wallet/ExchangeAddConfirm.tsx:112
+#, c-format
+msgid "Cancel"
+msgstr ""
+
+#: src/wallet/ExchangeAddConfirm.tsx:116
+#, c-format
+msgid "Loading terms.."
+msgstr ""
+
+#: src/wallet/ExchangeAddConfirm.tsx:123
+#, c-format
+msgid "Add exchange"
+msgstr ""
+
+#: src/wallet/ExchangeAddConfirm.tsx:133
+#, c-format
+msgid "Add exchange anyway"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:96
+#, c-format
+msgid "Add new exchange"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:100
+#, c-format
+msgid "Add exchange for %1$s"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:105
+#, c-format
+msgid "Enter the URL of an exchange you trust."
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:112
+#, c-format
+msgid "An exchange has been found! Review the information and click next"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:119
+#, c-format
+msgid "This exchange doesn't match the expected currency %1$s"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:127
+#, c-format
+msgid "Unable to verify this exchange"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:135
+#, c-format
+msgid "Unable to add this exchange"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:151
+#, c-format
+msgid "loading"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:158
+#, c-format
+msgid "Version"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:164
+#, c-format
+msgid "Currency"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:190
+#, c-format
+msgid "Next"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:118
+#, c-format
+msgid "Add backup provider"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:122
+#, c-format
+msgid "Could not get provider information"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:131
+#, c-format
+msgid "Backup providers may charge for their service"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:138
+#, c-format
+msgid "URL"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:149
+#, c-format
+msgid "Name"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:201
+#, c-format
+msgid "Provider URL"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:207
+#, c-format
+msgid "Please review and accept this provider's terms of service"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:212
+#, c-format
+msgid "Pricing"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:215
+#, c-format
+msgid "free of charge"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:217
+#, c-format
+msgid "%1$s per year of service"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:224
+#, c-format
+msgid "Storage"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:227
+#, c-format
+msgid "%1$s megabytes of storage per year of service"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:233
+#, c-format
+msgid "Accept terms of service"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:62
+#, c-format
+msgid "There was an error loading the provider detail for \"%1$s\""
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:108
+#, c-format
+msgid "There is not known provider with url \"%1$s\"."
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:141
+#, c-format
+msgid "Last backup"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:146
+#, c-format
+msgid "Back up"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:152
+#, c-format
+msgid "Provider fee"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:155
+#, c-format
+msgid "per year"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:161
+#, c-format
+msgid "Extend"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:167
+#, c-format
+msgid ""
+"terms has changed, extending the service will imply accepting the new terms "
+"of service"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:177
+#, c-format
+msgid "old"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:181
+#, c-format
+msgid "new"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:188
+#, c-format
+msgid "fee"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:196
+#, c-format
+msgid "storage"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:209
+#, c-format
+msgid "back"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:213
+#, c-format
+msgid "Remove provider"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:225
+#, c-format
+msgid "This provider has reported an error"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:239
+#, c-format
+msgid "There is conflict with another backup from %1$s"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:250
+#, c-format
+msgid "Backup is not readable"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:258
+#, c-format
+msgid "Unknown backup problem: %1$s"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:277
+#, c-format
+msgid "service paid"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:284
+#, c-format
+msgid "Backup valid until"
+msgstr ""
+
+#: src/popupEntryPoint.tsx:187
+#, c-format
+msgid "this popup is being closed and you are being redirected to %1$s"
+msgstr ""
+
+#: src/components/SelectList.tsx:62
+#, c-format
+msgid "Select one option"
+msgstr ""
+
+#: src/wallet/CreateManualWithdraw.tsx:103
+#, c-format
+msgid "Manual Withdrawal"
+msgstr ""
+
+#: src/wallet/CreateManualWithdraw.tsx:106
+#, c-format
+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 ""
+
+#: src/wallet/CreateManualWithdraw.tsx:114
+#, c-format
+msgid "No exchange configured"
+msgstr ""
+
+#: src/wallet/CreateManualWithdraw.tsx:129
+#, c-format
+msgid "Can't create the reserve"
+msgstr ""
+
+#: src/wallet/CreateManualWithdraw.tsx:155
+#, c-format
+msgid "Exchange"
+msgstr ""
+
+#: src/wallet/CreateManualWithdraw.tsx:164
+#, c-format
+msgid "Add Exchange"
+msgstr ""
+
+#: src/wallet/CreateManualWithdraw.tsx:170
+#, c-format
+msgid "Amount"
+msgstr ""
+
+#: src/wallet/CreateManualWithdraw.tsx:190
+#, c-format
+msgid "Start withdrawal"
+msgstr ""
+
+#: src/wallet/DepositPage.tsx:138
+#, c-format
+msgid "no balance"
+msgstr ""
+
+#: src/wallet/DepositPage.tsx:146
+#, c-format
+msgid "There is no known bank account to send money to"
+msgstr ""
+
+#: src/wallet/DepositPage.tsx:177
+#, c-format
+msgid "Send %1$s to your account"
+msgstr ""
+
+#: src/wallet/DepositPage.tsx:182
+#, c-format
+msgid "Bank account IBAN number"
+msgstr ""
+
+#: src/wallet/DepositPage.tsx:215
+#, c-format
+msgid "Deposit fee"
+msgstr ""
+
+#: src/wallet/DepositPage.tsx:229
+#, c-format
+msgid "Total deposit"
+msgstr ""
+
+#: src/wallet/DepositPage.tsx:247
+#, c-format
+msgid "Deposit"
+msgstr ""
+
+#: src/wallet/DepositPage.tsx:251
+#, c-format
+msgid "Deposit %1$s %2$s"
+msgstr ""
+
+#: src/components/TransactionItem.tsx:137
+#, c-format
+msgid "Waiting for confirmation"
+msgstr ""
+
+#: src/components/TransactionItem.tsx:201
+#, c-format
+msgid "PENDING"
+msgstr ""
+
+#: src/wallet/History.tsx:70
+#, c-format
+msgid "Could not load the list of transactions"
+msgstr ""
+
+#: src/wallet/History.tsx:216
+#, c-format
+msgid "There is no history for this currency"
+msgstr ""
+
+#: src/components/BankDetailsByPaytoType.tsx:38
+#, c-format
+msgid "Account"
+msgstr ""
+
+#: src/components/BankDetailsByPaytoType.tsx:44
+#, c-format
+msgid "Bank host"
+msgstr ""
+
+#: src/components/BankDetailsByPaytoType.tsx:48
+#, c-format
+msgid "Bank account"
+msgstr ""
+
+#: src/components/BankDetailsByPaytoType.tsx:53
+#, c-format
+msgid "IBAN"
+msgstr ""
+
+#: src/components/BankDetailsByPaytoType.tsx:65
+#, c-format
+msgid "Chosen amount"
+msgstr ""
+
+#: src/components/BankDetailsByPaytoType.tsx:69
+#, c-format
+msgid "Subject"
+msgstr ""
+
+#: src/wallet/ReserveCreated.tsx:27
+#, c-format
+msgid "could not parse payto uri from exchange %1$s"
+msgstr ""
+
+#: src/wallet/ReserveCreated.tsx:37
+#, c-format
+msgid "Exchange is ready for withdrawal"
+msgstr ""
+
+#: src/wallet/ReserveCreated.tsx:40
+#, c-format
+msgid ""
+"To complete the process you need to wire %1$s to the exchange bank account"
+msgstr ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: src/wallet/ReserveCreated.tsx:73
+#, c-format
+msgid "Cancel withdrawal"
+msgstr ""
+
+#: src/wallet/Settings.tsx:89
+#, c-format
+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:105
+#, c-format
+msgid "Automatically open wallet based on page content"
+msgstr ""
+
+#: 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:122
+#, c-format
+msgid "Trust"
+msgstr ""
+
+#: src/wallet/Settings.tsx:126
+#, c-format
+msgid "No exchange yet"
+msgstr ""
+
+#: src/wallet/Settings.tsx:140
+#, c-format
+msgid "Term of Service"
+msgstr ""
+
+#: src/wallet/Settings.tsx:156
+#, c-format
+msgid "ok"
+msgstr ""
+
+#: src/wallet/Settings.tsx:162
+#, c-format
+msgid "changed"
+msgstr ""
+
+#: src/wallet/Settings.tsx:169
+#, c-format
+msgid "not accepted"
+msgstr ""
+
+#: src/wallet/Settings.tsx:193
+#, c-format
+msgid "Add an exchange"
+msgstr ""
+
+#: src/wallet/Settings.tsx:199
+#, c-format
+msgid "Developer mode"
+msgstr ""
+
+#: src/wallet/Settings.tsx:201
+#, c-format
+msgid "(More options and information useful for debugging)"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:78
+#, c-format
+msgid "Could not load the transaction information"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:145
+#, c-format
+msgid "There was an error trying to complete the transaction"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:154
+#, c-format
+msgid "This transaction is not completed"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:168
+#, c-format
+msgid "Retry"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:172
+#, c-format
+msgid "Forget"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:197
+#, c-format
+msgid "Caution!"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:200
+#, c-format
+msgid ""
+"If you have already wired money to the exchange you will loose the chance to "
+"get the coins form it."
+msgstr ""
+
+#: src/wallet/Transaction.tsx:211
+#, c-format
+msgid "Confirm"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:218
+#, c-format
+msgid "Withdrawal"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:243
+#, c-format
+msgid "Total withdrawn"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:249
+#, c-format
+msgid "Exchange fee"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:259
+#, c-format
+msgid "The bank is waiting for confirmation. Go to the %1$s"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:273
+#, c-format
+msgid "Waiting for the coins to arrive"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:342
+#, c-format
+msgid "Payment"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:348
+#, c-format
+msgid "Total paid"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:354
+#, c-format
+msgid "Purchase amount"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:360
+#, c-format
+msgid "Fee"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:365
+#, c-format
+msgid "Merchant"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:370
+#, c-format
+msgid "Purchase"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:375
+#, c-format
+msgid "Receipt"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:419
+#, c-format
+msgid "Total send"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:425
+#, c-format
+msgid "Deposit amount"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:447
+#, c-format
+msgid "Refresh"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:453
+#, c-format
+msgid "Total refresh"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:459
+#, c-format
+msgid "Refresh amount"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:481
+#, c-format
+msgid "Tip"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:487
+#, c-format
+msgid "Total tip"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:493
+#, c-format
+msgid "Received amount"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:515
+#, c-format
+msgid "Refund"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:521
+#, c-format
+msgid "Total refund"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:527
+#, c-format
+msgid "Refund amount"
+msgstr ""
+
+#: src/wallet/Welcome.tsx:58
+#, c-format
+msgid "Browser Extension Installed!"
+msgstr ""
+
+#: src/wallet/Welcome.tsx:62
+#, c-format
+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 ""
+"(Enabling this option below will make using the wallet faster, but requires "
+"more permissions from your browser.)"
+msgstr ""
+
+#: src/wallet/Welcome.tsx:85
+#, c-format
+msgid "Next Steps"
+msgstr ""
+
+#: src/wallet/Welcome.tsx:88
+#, c-format
+msgid "Try the demo"
+msgstr ""
+
+#: src/wallet/Welcome.tsx:91
+#, c-format
+msgid "Learn how to top up your wallet balance"
+msgstr ""
+
+#: src/cta/Pay.tsx:113
+#, c-format
+msgid "Could not load pay status"
+msgstr ""
+
+#: src/cta/Pay.tsx:189
+#, c-format
+msgid "Could not load contract terms from merchant or wallet backend."
+msgstr ""
+
+#: src/cta/Pay.tsx:216
+#, c-format
+msgid "Pay with a mobile phone"
+msgstr ""
+
+#: src/cta/Pay.tsx:218
+#, c-format
+msgid "Hide QR"
+msgstr ""
+
+#: src/cta/Pay.tsx:225
+#, c-format
+msgid "Scan the QR code or %1$s"
+msgstr ""
+
+#: src/cta/Pay.tsx:244
+#, c-format
+msgid "Processing"
+msgstr ""
+
+#: src/cta/Pay.tsx:257
+#, c-format
+msgid "Pay %1$s"
+msgstr ""
+
+#: src/cta/Pay.tsx:272
+#, c-format
+msgid "Your balance of %1$s is not enough to pay for this purchase"
+msgstr ""
+
+#: src/cta/Pay.tsx:279
+#, c-format
+msgid "Your balance is not enough to pay for this purchase."
+msgstr ""
+
+#: src/cta/Pay.tsx:287
+#, c-format
+msgid "Withdraw digital cash"
+msgstr ""
+
+#: src/cta/Pay.tsx:300
+#, c-format
+msgid "Merchant message"
+msgstr ""
+
+#: src/cta/Pay.tsx:318
+#, c-format
+msgid "Digital cash payment"
+msgstr ""
+
+#: src/cta/Pay.tsx:324
+#, c-format
+msgid "Already paid, you are going to be redirected to %1$s"
+msgstr ""
+
+#: src/cta/Pay.tsx:333
+#, c-format
+msgid "Already paid"
+msgstr ""
+
+#: src/cta/Pay.tsx:338
+#, c-format
+msgid "Already claimed"
+msgstr ""
+
+#: src/cta/Pay.tsx:344
+#, c-format
+msgid "Payment complete"
+msgstr ""
+
+#: src/cta/Pay.tsx:348
+#, c-format
+msgid "You are going to be redirected to $ %1$s"
+msgstr ""
+
+#: src/cta/Pay.tsx:353
+#, c-format
+msgid "You can close this page."
+msgstr ""
+
+#: src/cta/Pay.tsx:367
+#, c-format
+msgid "Total to pay"
+msgstr ""
+
+#: src/cta/Pay.tsx:418
+#, c-format
+msgid "List of products"
+msgstr ""
+
+#: src/cta/Pay.tsx:460
+#, c-format
+msgid "Total"
+msgstr ""
+
+#: src/cta/Pay.tsx:469
+#, c-format
+msgid "free"
+msgstr ""
+
+#: src/cta/Refund.tsx:41
+#, c-format
+msgid "Refund Status"
+msgstr ""
+
+#: src/cta/Refund.tsx:44
+#, c-format
+msgid "The product %1$s has received a total effective refund of"
+msgstr ""
+
+#: src/cta/Refund.tsx:52
+#, c-format
+msgid "Refund processing is still in progress."
+msgstr ""
+
+#: src/cta/Refund.tsx:59
+#, c-format
+msgid "The refund amount of %1$s could not be applied."
+msgstr ""
+
+#: src/cta/Refund.tsx:97
+#, c-format
+msgid "missing taler refund uri"
+msgstr ""
+
+#: src/cta/Refund.tsx:105
+#, c-format
+msgid "Error: %1$s"
+msgstr ""
+
+#: src/cta/Refund.tsx:113
+#, c-format
+msgid "Updating refund status"
+msgstr ""
+
+#: src/cta/Tip.tsx:49
+#, c-format
+msgid "Tip from %1$s accepted. Check your transactions list for more details."
+msgstr ""
+
+#: 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 ""
+
+#: src/cta/Tip.tsx:67
+#, c-format
+msgid "Accept tip"
+msgstr ""
+
+#: src/cta/Tip.tsx:70
+#, c-format
+msgid "Ignore"
+msgstr ""
+
+#: src/cta/Tip.tsx:111
+#, c-format
+msgid "missing tip uri"
+msgstr ""
+
+#: src/cta/Tip.tsx:119
+#, c-format
+msgid "You've ignored the tip."
+msgstr ""
+
+#: src/cta/Withdraw.tsx:122
+#, c-format
+msgid "Digital cash withdrawal"
+msgstr ""
+
+#: src/cta/Withdraw.tsx:127
+#, c-format
+msgid "Could not finish the withdrawal operation"
+msgstr ""
+
+#: src/cta/Withdraw.tsx:138
+#, c-format
+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"
+msgstr ""
+
+#: src/cta/Withdraw.tsx:189
+#, c-format
+msgid "Confirm exchange selection"
+msgstr ""
+
+#: src/cta/Withdraw.tsx:196
+#, c-format
+msgid "Switch exchange"
+msgstr ""
+
+#: src/cta/Withdraw.tsx:215
+#, c-format
+msgid "Confirm withdrawal"
+msgstr ""
+
+#: src/cta/Withdraw.tsx:224
+#, c-format
+msgid "Withdraw anyway"
+msgstr ""
+
+#: src/cta/Withdraw.tsx:287
+#, c-format
+msgid "Could not load the withdrawal details"
+msgstr ""
+
+#: src/cta/Withdraw.tsx:344
+#, c-format
+msgid "missing withdraw uri"
+msgstr ""
+
+#: src/cta/Withdraw.tsx:354
+#, c-format
+msgid "Could not get the info from the URI"
+msgstr ""
+
+#: src/wallet/ManualWithdrawPage.tsx:99
+#, c-format
+msgid "Could not load the list of known exchanges"
+msgstr ""
+
+#: src/walletEntryPoint.tsx:172
+#, c-format
+msgid "All done, your transaction is in progress"
+msgstr ""
+
+#: src/components/EditableText.tsx:44
+#, c-format
+msgid "Edit"
+msgstr ""
+
+#: src/cta/Deposit.tsx:114
+#, c-format
+msgid "missing pay uri"
+msgstr ""
+
+#: src/cta/Deposit.tsx:129
+#, c-format
+msgid "Could not get the payment information for this order"
+msgstr ""
+
+#: src/cta/Deposit.tsx:160
+#, c-format
+msgid "Loading payment information"
+msgstr ""
+
+#: src/cta/Deposit.tsx:208
+#, c-format
+msgid "Digital cash deposit"
+msgstr ""
+
+#: src/cta/Deposit.tsx:226
+#, c-format
+msgid "You will now be sent back to the merchant you came from."
+msgstr ""
+
+#: src/cta/reset-required.tsx:54
+#, c-format
+msgid "Manual Reset Required"
+msgstr ""
+
+#: src/cta/reset-required.tsx:57
+#, c-format
+msgid ""
+"The wallet&apos;s database in your browser is incompatible with the "
+"currently installed wallet. Please reset manually."
+msgstr ""
+
+#: src/cta/reset-required.tsx:63
+#, c-format
+msgid ""
+"Once the database format has stabilized, we will provide automatic upgrades."
+msgstr ""
+
+#: src/cta/reset-required.tsx:77
+#, c-format
+msgid "I understand that I will lose all my data"
+msgstr ""
+
+#: src/cta/reset-required.tsx:87
+#, c-format
+msgid "Reset"
+msgstr ""
+
+#: src/cta/reset-required.tsx:95
+#, c-format
+msgid "Everything is fine!"
+msgstr ""
+
+#: src/cta/reset-required.tsx:98
+#, c-format
+msgid "A reset is not required anymore, you can close this page."
+msgstr ""
+
+#: src/cta/return-coins.tsx:31
+#, 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 b73d44ca..73cca092 100644
--- a/packages/taler-wallet-webextension/src/i18n/strings.ts
+++ b/packages/taler-wallet-webextension/src/i18n/strings.ts
@@ -1,443 +1,6394 @@
-/*
- This file is part of TALER
- (C) 2016 Inria
+export const strings: any = {};
 
- TALER is free software; you can redistribute it and/or modify it under the
- terms of the GNU General Public License as published by the Free Software
- Foundation; either version 3, or (at your option) any later version.
+strings['de'] = {
+  "domain": "messages",
+  "locale_data": {
+    "messages": {
+      "": {
+        "domain": "messages",
+        "plural_forms": "nplurals=2; plural=n != 1;",
+        "lang": "de"
+      },
+      "Balance": [
+        "Guthaben"
+      ],
+      "Backup": [
+        ""
+      ],
+      "Settings": [
+        ""
+      ],
+      "Dev": [
+        ""
+      ],
+      "Loading": [
+        ""
+      ],
+      "Open reserve page": [
+        ""
+      ],
+      "Open pay page": [
+        ""
+      ],
+      "Open refund page": [
+        ""
+      ],
+      "Open tip page": [
+        ""
+      ],
+      "Open withdraw page": [
+        "Abhebegebühr"
+      ],
+      "Back": [
+        ""
+      ],
+      "You have no balance to show.": [
+        "Sie haben kein Guthaben. Wollen Sie %1$s abheben?"
+      ],
+      "To withdraw money you can start from your bank site or click the 
\"withdraw\" button to use a known exchange.": [
+        ""
+      ],
+      "Withdraw": [
+        "Abgehoben"
+      ],
+      "Could not load balance page": [
+        ""
+      ],
+      "Deposit %1$s": [
+        ""
+      ],
+      "Enter URI": [
+        ""
+      ],
+      "Diagnostics timed out. Could not talk to the wallet backend.": [
+        ""
+      ],
+      "Problems detected:": [
+        ""
+      ],
+      "Please check in your %1$s settings that you have IndexedDB enabled 
(check the preference name %2$s).": [
+        ""
+      ],
+      "Your wallet database is outdated. Currently automatic migration is not 
supported. Please go %1$s to reset the wallet database.": [
+        ""
+      ],
+      "Running diagnostics": [
+        ""
+      ],
+      "Debug tools": [
+        "Debug"
+      ],
+      "reset": [
+        ""
+      ],
+      "import database": [
+        ""
+      ],
+      "export database": [
+        ""
+      ],
+      "Database exported at %1$s %2$s to download": [
+        ""
+      ],
+      "Coins": [
+        ""
+      ],
+      "Pending operations": [
+        ""
+      ],
+      "usable coins": [
+        ""
+      ],
+      "id": [
+        ""
+      ],
+      "denom": [
+        ""
+      ],
+      "value": [
+        ""
+      ],
+      "status": [
+        ""
+      ],
+      "from refresh?": [
+        ""
+      ],
+      "spent coins": [
+        ""
+      ],
+      "click to show": [
+        ""
+      ],
+      "Do you want to IRREVOCABLY DESTROY everything inside your wallet and 
LOSE ALL YOUR COINS?": [
+        ""
+      ],
+      "Taler Action": [
+        ""
+      ],
+      "This page has pay action.": [
+        ""
+      ],
+      "This page has a withdrawal action.": [
+        ""
+      ],
+      "This page has a tip action.": [
+        ""
+      ],
+      "This page has a notify reserve action.": [
+        ""
+      ],
+      "Notify": [
+        ""
+      ],
+      "This page has a refund action.": [
+        ""
+      ],
+      "This page has a malformed taler uri.": [
+        ""
+      ],
+      "Dismiss": [
+        ""
+      ],
+      "Could not load backup providers": [
+        ""
+      ],
+      "No backup providers configured": [
+        ""
+      ],
+      "Add provider": [
+        ""
+      ],
+      "Sync all backups": [
+        ""
+      ],
+      "Sync now": [
+        ""
+      ],
+      "Last synced": [
+        ""
+      ],
+      "Not synced": [
+        ""
+      ],
+      "Expires in": [
+        ""
+      ],
+      "Exchange doesn't have terms of service": [
+        ""
+      ],
+      "Review exchange terms of service": [
+        ""
+      ],
+      "Review new version of terms of service": [
+        ""
+      ],
+      "Show terms of service": [
+        ""
+      ],
+      "I accept the exchange terms of service": [
+        ""
+      ],
+      "The exchange reply with a empty terms of service": [
+        ""
+      ],
+      "Download Terms of Service": [
+        ""
+      ],
+      "Hide terms of service": [
+        ""
+      ],
+      "Review terms of service": [
+        ""
+      ],
+      "Exchange URL": [
+        ""
+      ],
+      "Cancel": [
+        "Abbrechen"
+      ],
+      "Loading terms..": [
+        ""
+      ],
+      "Add exchange": [
+        ""
+      ],
+      "Add exchange anyway": [
+        ""
+      ],
+      "Add new exchange": [
+        ""
+      ],
+      "Add exchange for %1$s": [
+        ""
+      ],
+      "Enter the URL of an exchange you trust.": [
+        ""
+      ],
+      "An exchange has been found! Review the information and click next": [
+        ""
+      ],
+      "This exchange doesn't match the expected currency %1$s": [
+        ""
+      ],
+      "Unable to verify this exchange": [
+        ""
+      ],
+      "Unable to add this exchange": [
+        ""
+      ],
+      "loading": [
+        ""
+      ],
+      "Version": [
+        ""
+      ],
+      "Currency": [
+        ""
+      ],
+      "Next": [
+        ""
+      ],
+      "Add backup provider": [
+        ""
+      ],
+      "Could not get provider information": [
+        ""
+      ],
+      "Backup providers may charge for their service": [
+        ""
+      ],
+      "URL": [
+        ""
+      ],
+      "Name": [
+        ""
+      ],
+      "Provider URL": [
+        ""
+      ],
+      "Please review and accept this provider's terms of service": [
+        ""
+      ],
+      "Pricing": [
+        ""
+      ],
+      "free of charge": [
+        ""
+      ],
+      "%1$s per year of service": [
+        ""
+      ],
+      "Storage": [
+        ""
+      ],
+      "%1$s megabytes of storage per year of service": [
+        ""
+      ],
+      "Accept terms of service": [
+        ""
+      ],
+      "There was an error loading the provider detail for \"%1$s\"": [
+        ""
+      ],
+      "There is not known provider with url \"%1$s\".": [
+        ""
+      ],
+      "Last backup": [
+        ""
+      ],
+      "Back up": [
+        ""
+      ],
+      "Provider fee": [
+        ""
+      ],
+      "per year": [
+        ""
+      ],
+      "Extend": [
+        ""
+      ],
+      "terms has changed, extending the service will imply accepting the new 
terms of service": [
+        ""
+      ],
+      "old": [
+        ""
+      ],
+      "new": [
+        ""
+      ],
+      "fee": [
+        ""
+      ],
+      "storage": [
+        ""
+      ],
+      "back": [
+        ""
+      ],
+      "Remove provider": [
+        ""
+      ],
+      "This provider has reported an error": [
+        ""
+      ],
+      "There is conflict with another backup from %1$s": [
+        ""
+      ],
+      "Backup is not readable": [
+        ""
+      ],
+      "Unknown backup problem: %1$s": [
+        ""
+      ],
+      "service paid": [
+        ""
+      ],
+      "Backup valid until": [
+        ""
+      ],
+      "this popup is being closed and you are being redirected to %1$s": [
+        ""
+      ],
+      "Select one option": [
+        ""
+      ],
+      "Manual Withdrawal": [
+        "Abgehoben"
+      ],
+      "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.": [
+        ""
+      ],
+      "No exchange configured": [
+        ""
+      ],
+      "Can't create the reserve": [
+        ""
+      ],
+      "Exchange": [
+        ""
+      ],
+      "Add Exchange": [
+        ""
+      ],
+      "Amount": [
+        ""
+      ],
+      "Start withdrawal": [
+        ""
+      ],
+      "no balance": [
+        "Guthaben"
+      ],
+      "There is no known bank account to send money to": [
+        ""
+      ],
+      "Send %1$s to your account": [
+        ""
+      ],
+      "Bank account IBAN number": [
+        ""
+      ],
+      "Deposit fee": [
+        ""
+      ],
+      "Total deposit": [
+        ""
+      ],
+      "Deposit": [
+        ""
+      ],
+      "Deposit %1$s %2$s": [
+        "Testkonto #%1$s auf %2$s"
+      ],
+      "Waiting for confirmation": [
+        ""
+      ],
+      "PENDING": [
+        ""
+      ],
+      "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": [
+        "Erneut versuchen"
+      ],
+      "Forget": [
+        ""
+      ],
+      "Caution!": [
+        ""
+      ],
+      "If you have already wired money to the exchange you will loose the 
chance to get the coins form it.": [
+        ""
+      ],
+      "Confirm": [
+        "Bestätigen"
+      ],
+      "Withdrawal": [
+        "Abgehoben"
+      ],
+      "Total withdrawn": [
+        "Abgehoben"
+      ],
+      "Exchange fee": [
+        ""
+      ],
+      "The bank is waiting for confirmation. Go to the %1$s": [
+        ""
+      ],
+      "Waiting for the coins to arrive": [
+        ""
+      ],
+      "Payment": [
+        "Bezahlung bestätigen"
+      ],
+      "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": [
+        "Abhebegebühren:"
+      ],
+      "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": 
[
+        "Der Händler %1$s bietet Ihnen zum Kauf an:"
+      ],
+      "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": [
+        "Abgehoben"
+      ],
+      "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.": [
+        ""
+      ]
+    }
+  }
+};
 
- TALER is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
- A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+strings['en-US'] = {
+  "domain": "messages",
+  "locale_data": {
+    "messages": {
+      "": {
+        "domain": "messages",
+        "plural_forms": "nplurals=2; plural=n != 1;",
+        "lang": "en-US"
+      },
+      "Balance": [
+        "Balance"
+      ],
+      "Backup": [
+        ""
+      ],
+      "Settings": [
+        ""
+      ],
+      "Dev": [
+        ""
+      ],
+      "Loading": [
+        ""
+      ],
+      "Open reserve page": [
+        ""
+      ],
+      "Open pay page": [
+        ""
+      ],
+      "Open refund page": [
+        ""
+      ],
+      "Open tip page": [
+        ""
+      ],
+      "Open withdraw page": [
+        ""
+      ],
+      "Back": [
+        ""
+      ],
+      "You have no balance to show.": [
+        "You have no deposit to show. Need some %1$s getting started?"
+      ],
+      "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": [
+        ""
+      ],
+      "Deposit %1$s": [
+        ""
+      ],
+      "Enter URI": [
+        ""
+      ],
+      "Diagnostics timed out. Could not talk to the wallet backend.": [
+        ""
+      ],
+      "Problems detected:": [
+        ""
+      ],
+      "Please check in your %1$s settings that you have IndexedDB enabled 
(check the preference name %2$s).": [
+        ""
+      ],
+      "Your wallet database is outdated. Currently automatic migration is not 
supported. Please go %1$s to reset the wallet database.": [
+        ""
+      ],
+      "Running diagnostics": [
+        ""
+      ],
+      "Debug tools": [
+        ""
+      ],
+      "reset": [
+        ""
+      ],
+      "import database": [
+        ""
+      ],
+      "export database": [
+        ""
+      ],
+      "Database exported at %1$s %2$s to download": [
+        ""
+      ],
+      "Coins": [
+        ""
+      ],
+      "Pending operations": [
+        ""
+      ],
+      "usable coins": [
+        ""
+      ],
+      "id": [
+        ""
+      ],
+      "denom": [
+        ""
+      ],
+      "value": [
+        ""
+      ],
+      "status": [
+        ""
+      ],
+      "from refresh?": [
+        ""
+      ],
+      "spent coins": [
+        ""
+      ],
+      "click to show": [
+        ""
+      ],
+      "Do you want to IRREVOCABLY DESTROY everything inside your wallet and 
LOSE ALL YOUR COINS?": [
+        ""
+      ],
+      "Taler Action": [
+        ""
+      ],
+      "This page has pay action.": [
+        ""
+      ],
+      "This page has a withdrawal action.": [
+        ""
+      ],
+      "This page has a tip action.": [
+        ""
+      ],
+      "This page has a notify reserve action.": [
+        ""
+      ],
+      "Notify": [
+        ""
+      ],
+      "This page has a refund action.": [
+        ""
+      ],
+      "This page has a malformed taler uri.": [
+        ""
+      ],
+      "Dismiss": [
+        ""
+      ],
+      "Could not load backup providers": [
+        ""
+      ],
+      "No backup providers configured": [
+        ""
+      ],
+      "Add provider": [
+        ""
+      ],
+      "Sync all backups": [
+        ""
+      ],
+      "Sync now": [
+        ""
+      ],
+      "Last synced": [
+        ""
+      ],
+      "Not synced": [
+        ""
+      ],
+      "Expires in": [
+        ""
+      ],
+      "Exchange doesn't have terms of service": [
+        ""
+      ],
+      "Review exchange terms of service": [
+        ""
+      ],
+      "Review new version of terms of service": [
+        ""
+      ],
+      "Show terms of service": [
+        ""
+      ],
+      "I accept the exchange terms of service": [
+        ""
+      ],
+      "The exchange reply with a empty terms of service": [
+        ""
+      ],
+      "Download Terms of Service": [
+        ""
+      ],
+      "Hide terms of service": [
+        ""
+      ],
+      "Review terms of service": [
+        ""
+      ],
+      "Exchange URL": [
+        ""
+      ],
+      "Cancel": [
+        "Abort"
+      ],
+      "Loading terms..": [
+        ""
+      ],
+      "Add exchange": [
+        ""
+      ],
+      "Add exchange anyway": [
+        ""
+      ],
+      "Add new exchange": [
+        ""
+      ],
+      "Add exchange for %1$s": [
+        ""
+      ],
+      "Enter the URL of an exchange you trust.": [
+        ""
+      ],
+      "An exchange has been found! Review the information and click next": [
+        ""
+      ],
+      "This exchange doesn't match the expected currency %1$s": [
+        ""
+      ],
+      "Unable to verify this exchange": [
+        ""
+      ],
+      "Unable to add this exchange": [
+        ""
+      ],
+      "loading": [
+        ""
+      ],
+      "Version": [
+        ""
+      ],
+      "Currency": [
+        ""
+      ],
+      "Next": [
+        ""
+      ],
+      "Add backup provider": [
+        ""
+      ],
+      "Could not get provider information": [
+        ""
+      ],
+      "Backup providers may charge for their service": [
+        ""
+      ],
+      "URL": [
+        ""
+      ],
+      "Name": [
+        ""
+      ],
+      "Provider URL": [
+        ""
+      ],
+      "Please review and accept this provider's terms of service": [
+        ""
+      ],
+      "Pricing": [
+        ""
+      ],
+      "free of charge": [
+        ""
+      ],
+      "%1$s per year of service": [
+        ""
+      ],
+      "Storage": [
+        ""
+      ],
+      "%1$s megabytes of storage per year of service": [
+        ""
+      ],
+      "Accept terms of service": [
+        ""
+      ],
+      "There was an error loading the provider detail for \"%1$s\"": [
+        ""
+      ],
+      "There is not known provider with url \"%1$s\".": [
+        ""
+      ],
+      "Last backup": [
+        ""
+      ],
+      "Back up": [
+        ""
+      ],
+      "Provider fee": [
+        ""
+      ],
+      "per year": [
+        ""
+      ],
+      "Extend": [
+        ""
+      ],
+      "terms has changed, extending the service will imply accepting the new 
terms of service": [
+        ""
+      ],
+      "old": [
+        ""
+      ],
+      "new": [
+        ""
+      ],
+      "fee": [
+        ""
+      ],
+      "storage": [
+        ""
+      ],
+      "back": [
+        ""
+      ],
+      "Remove provider": [
+        ""
+      ],
+      "This provider has reported an error": [
+        ""
+      ],
+      "There is conflict with another backup from %1$s": [
+        ""
+      ],
+      "Backup is not readable": [
+        ""
+      ],
+      "Unknown backup problem: %1$s": [
+        ""
+      ],
+      "service paid": [
+        ""
+      ],
+      "Backup valid until": [
+        ""
+      ],
+      "this popup is being closed and you are being redirected to %1$s": [
+        ""
+      ],
+      "Select one option": [
+        ""
+      ],
+      "Manual Withdrawal": [
+        ""
+      ],
+      "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.": [
+        ""
+      ],
+      "No exchange configured": [
+        ""
+      ],
+      "Can't create the reserve": [
+        ""
+      ],
+      "Exchange": [
+        ""
+      ],
+      "Add Exchange": [
+        ""
+      ],
+      "Amount": [
+        ""
+      ],
+      "Start withdrawal": [
+        ""
+      ],
+      "no balance": [
+        "no balance"
+      ],
+      "There is no known bank account to send money to": [
+        ""
+      ],
+      "Send %1$s to your account": [
+        ""
+      ],
+      "Bank account IBAN number": [
+        ""
+      ],
+      "Deposit fee": [
+        ""
+      ],
+      "Total deposit": [
+        ""
+      ],
+      "Deposit": [
+        ""
+      ],
+      "Deposit %1$s %2$s": [
+        ""
+      ],
+      "Waiting for confirmation": [
+        ""
+      ],
+      "PENDING": [
+        ""
+      ],
+      "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.": [
+        ""
+      ]
+    }
+  }
+};
 
- You should have received a copy of the GNU General Public License along with
- TALER; see the file COPYING.  If not, see <http://www.gnu.org/licenses/>
- */
+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": [
+        ""
+      ],
+      "Current Language": [
+        ""
+      ],
+      "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"
+      ],
+      "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": [
+        "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": [
+        ""
+      ],
+      "Total refresh": [
+        ""
+      ],
+      "Refresh amount": [
+        ""
+      ],
+      "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"
+      ]
+    }
+  }
+};
 
-export const strings: { [s: string]: any } = {};
-strings["de"] = {
-  domain: "messages",
-  locale_data: {
-    messages: {
+strings['fr'] = {
+  "domain": "messages",
+  "locale_data": {
+    "messages": {
       "": {
-        domain: "messages",
-        plural_forms: "nplurals=2; plural=(n != 1);",
-        lang: "",
+        "domain": "messages",
+        "plural_forms": "nplurals=2; plural=(n!=1);",
+        "lang": "fr"
       },
-      "Invalid Wire": [""],
-      "Invalid Test Wire Detail": [""],
-      "Test Wire Acct #%1$s on %2$s": [""],
-      "Unknown Wire Detail": [""],
-      Operation: [""],
-      "time (ms/op)": [""],
-      "The merchant %1$s offers you to purchase:": [
-        "Der Händler %1$s möchte einen Vertrag über %2$s mit Ihnen 
abschließen.",
-      ],
-      "The total price is %1$s (plus %2$s fees).": [""],
-      "The total price is %1$s.": [""],
-      Retry: [""],
-      "Confirm payment": ["Bezahlung bestätigen"],
-      Balance: ["Guthaben"],
-      History: ["Verlauf"],
-      Debug: ["Debug"],
-      "You have no balance to show. Need some %1$s getting started?": [
-        "Sie haben kein Guthaben. Wollen Sie %1$s abheben?",
-      ],
-      "%1$s incoming": [""],
-      "%1$s being spent": [""],
-      "Error: could not retrieve balance information.": [""],
-      "Invalid ": [""],
-      "Fees ": [""],
-      "Refresh sessions has completed": [""],
-      "Order Refused": [""],
-      "Order redirected": [""],
-      "Payment aborted": [""],
-      "Payment Sent": [""],
-      "Order accepted": [""],
-      "Reserve balance updated": [""],
-      "Payment refund": [""],
-      Withdrawn: ["Abheben bei %1$s"],
-      "Tip Accepted": [""],
-      "Tip Declined": [""],
-      "%1$s": [""],
-      "Your wallet has no events recorded.": [
-        "Ihre Geldbörse verzeichnet keine Vorkommnisse.",
-      ],
-      "Wire to bank account": [""],
-      Confirm: ["Bezahlung bestätigen"],
-      Cancel: ["Saldo"],
-      "Could not get details for withdraw operation:": [""],
-      "Chose different exchange provider": [""],
-      "Please select an exchange.  You can review the details before after 
your selection.": [
-        "",
-      ],
-      "Select %1$s": [""],
-      "Select custom exchange": [""],
-      "You are about to withdraw %1$s from your bank account into your 
wallet.": [
-        "",
-      ],
-      "Accept fees and withdraw": [""],
-      "Cancel withdraw operation": [""],
-      "Withdrawal fees:": ["Abheben bei"],
-      "Rounding loss:": [""],
-      "Earliest expiration (for deposit): %1$s": [""],
-      "# Coins": [""],
-      Value: [""],
-      "Withdraw Fee": ["Abheben bei %1$s"],
-      "Refresh Fee": [""],
-      "Deposit Fee": [""],
-    },
-  },
+      "Balance": [
+        ""
+      ],
+      "Backup": [
+        ""
+      ],
+      "Settings": [
+        ""
+      ],
+      "Dev": [
+        ""
+      ],
+      "Loading": [
+        ""
+      ],
+      "Open reserve page": [
+        ""
+      ],
+      "Open pay page": [
+        ""
+      ],
+      "Open refund page": [
+        ""
+      ],
+      "Open tip page": [
+        ""
+      ],
+      "Open withdraw page": [
+        ""
+      ],
+      "Back": [
+        ""
+      ],
+      "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": [
+        ""
+      ],
+      "Deposit %1$s": [
+        ""
+      ],
+      "Enter URI": [
+        ""
+      ],
+      "Diagnostics timed out. Could not talk to the wallet backend.": [
+        ""
+      ],
+      "Problems detected:": [
+        ""
+      ],
+      "Please check in your %1$s settings that you have IndexedDB enabled 
(check the preference name %2$s).": [
+        ""
+      ],
+      "Your wallet database is outdated. Currently automatic migration is not 
supported. Please go %1$s to reset the wallet database.": [
+        ""
+      ],
+      "Running diagnostics": [
+        ""
+      ],
+      "Debug tools": [
+        ""
+      ],
+      "reset": [
+        ""
+      ],
+      "import database": [
+        ""
+      ],
+      "export database": [
+        ""
+      ],
+      "Database exported at %1$s %2$s to download": [
+        ""
+      ],
+      "Coins": [
+        ""
+      ],
+      "Pending operations": [
+        ""
+      ],
+      "usable coins": [
+        ""
+      ],
+      "id": [
+        ""
+      ],
+      "denom": [
+        ""
+      ],
+      "value": [
+        ""
+      ],
+      "status": [
+        ""
+      ],
+      "from refresh?": [
+        ""
+      ],
+      "spent coins": [
+        ""
+      ],
+      "click to show": [
+        ""
+      ],
+      "Do you want to IRREVOCABLY DESTROY everything inside your wallet and 
LOSE ALL YOUR COINS?": [
+        ""
+      ],
+      "Taler Action": [
+        ""
+      ],
+      "This page has pay action.": [
+        ""
+      ],
+      "This page has a withdrawal action.": [
+        ""
+      ],
+      "This page has a tip action.": [
+        ""
+      ],
+      "This page has a notify reserve action.": [
+        ""
+      ],
+      "Notify": [
+        ""
+      ],
+      "This page has a refund action.": [
+        ""
+      ],
+      "This page has a malformed taler uri.": [
+        ""
+      ],
+      "Dismiss": [
+        ""
+      ],
+      "Could not load backup providers": [
+        ""
+      ],
+      "No backup providers configured": [
+        ""
+      ],
+      "Add provider": [
+        ""
+      ],
+      "Sync all backups": [
+        ""
+      ],
+      "Sync now": [
+        ""
+      ],
+      "Last synced": [
+        ""
+      ],
+      "Not synced": [
+        ""
+      ],
+      "Expires in": [
+        ""
+      ],
+      "Exchange doesn't have terms of service": [
+        ""
+      ],
+      "Review exchange terms of service": [
+        ""
+      ],
+      "Review new version of terms of service": [
+        ""
+      ],
+      "Show terms of service": [
+        ""
+      ],
+      "I accept the exchange terms of service": [
+        ""
+      ],
+      "The exchange reply with a empty terms of service": [
+        ""
+      ],
+      "Download Terms of Service": [
+        ""
+      ],
+      "Hide terms of service": [
+        ""
+      ],
+      "Review terms of service": [
+        ""
+      ],
+      "Exchange URL": [
+        ""
+      ],
+      "Cancel": [
+        ""
+      ],
+      "Loading terms..": [
+        ""
+      ],
+      "Add exchange": [
+        ""
+      ],
+      "Add exchange anyway": [
+        ""
+      ],
+      "Add new exchange": [
+        ""
+      ],
+      "Add exchange for %1$s": [
+        ""
+      ],
+      "Enter the URL of an exchange you trust.": [
+        ""
+      ],
+      "An exchange has been found! Review the information and click next": [
+        ""
+      ],
+      "This exchange doesn't match the expected currency %1$s": [
+        ""
+      ],
+      "Unable to verify this exchange": [
+        ""
+      ],
+      "Unable to add this exchange": [
+        ""
+      ],
+      "loading": [
+        ""
+      ],
+      "Version": [
+        ""
+      ],
+      "Currency": [
+        ""
+      ],
+      "Next": [
+        ""
+      ],
+      "Add backup provider": [
+        ""
+      ],
+      "Could not get provider information": [
+        ""
+      ],
+      "Backup providers may charge for their service": [
+        ""
+      ],
+      "URL": [
+        ""
+      ],
+      "Name": [
+        ""
+      ],
+      "Provider URL": [
+        ""
+      ],
+      "Please review and accept this provider's terms of service": [
+        ""
+      ],
+      "Pricing": [
+        ""
+      ],
+      "free of charge": [
+        ""
+      ],
+      "%1$s per year of service": [
+        ""
+      ],
+      "Storage": [
+        ""
+      ],
+      "%1$s megabytes of storage per year of service": [
+        ""
+      ],
+      "Accept terms of service": [
+        ""
+      ],
+      "There was an error loading the provider detail for \"%1$s\"": [
+        ""
+      ],
+      "There is not known provider with url \"%1$s\".": [
+        ""
+      ],
+      "Last backup": [
+        ""
+      ],
+      "Back up": [
+        ""
+      ],
+      "Provider fee": [
+        ""
+      ],
+      "per year": [
+        ""
+      ],
+      "Extend": [
+        ""
+      ],
+      "terms has changed, extending the service will imply accepting the new 
terms of service": [
+        ""
+      ],
+      "old": [
+        ""
+      ],
+      "new": [
+        ""
+      ],
+      "fee": [
+        ""
+      ],
+      "storage": [
+        ""
+      ],
+      "back": [
+        ""
+      ],
+      "Remove provider": [
+        ""
+      ],
+      "This provider has reported an error": [
+        ""
+      ],
+      "There is conflict with another backup from %1$s": [
+        ""
+      ],
+      "Backup is not readable": [
+        ""
+      ],
+      "Unknown backup problem: %1$s": [
+        ""
+      ],
+      "service paid": [
+        ""
+      ],
+      "Backup valid until": [
+        ""
+      ],
+      "this popup is being closed and you are being redirected to %1$s": [
+        ""
+      ],
+      "Select one option": [
+        ""
+      ],
+      "Manual Withdrawal": [
+        ""
+      ],
+      "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.": [
+        ""
+      ],
+      "No exchange configured": [
+        ""
+      ],
+      "Can't create the reserve": [
+        ""
+      ],
+      "Exchange": [
+        ""
+      ],
+      "Add Exchange": [
+        ""
+      ],
+      "Amount": [
+        ""
+      ],
+      "Start withdrawal": [
+        ""
+      ],
+      "no balance": [
+        ""
+      ],
+      "There is no known bank account to send money to": [
+        ""
+      ],
+      "Send %1$s to your account": [
+        ""
+      ],
+      "Bank account IBAN number": [
+        ""
+      ],
+      "Deposit fee": [
+        ""
+      ],
+      "Total deposit": [
+        ""
+      ],
+      "Deposit": [
+        ""
+      ],
+      "Deposit %1$s %2$s": [
+        ""
+      ],
+      "Waiting for confirmation": [
+        ""
+      ],
+      "PENDING": [
+        ""
+      ],
+      "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": [
+        "Confirmer"
+      ],
+      "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["en-US"] = {
-  domain: "messages",
-  locale_data: {
-    messages: {
+strings['it'] = {
+  "domain": "messages",
+  "locale_data": {
+    "messages": {
       "": {
-        domain: "messages",
-        plural_forms: "nplurals=2; plural=(n != 1);",
-        lang: "",
+        "domain": "messages",
+        "plural_forms": "nplurals=2; plural=n != 1;",
+        "lang": "it"
       },
-      "Invalid Wire": [""],
-      "Invalid Test Wire Detail": [""],
-      "Test Wire Acct #%1$s on %2$s": [""],
-      "Unknown Wire Detail": [""],
-      Operation: [""],
-      "time (ms/op)": [""],
-      "The merchant %1$s offers you to purchase:": [""],
-      "The total price is %1$s (plus %2$s fees).": [""],
-      "The total price is %1$s.": [""],
-      Retry: [""],
-      "Confirm payment": [""],
-      Balance: [""],
-      History: [""],
-      Debug: [""],
-      "You have no balance to show. Need some %1$s getting started?": [""],
-      "%1$s incoming": [""],
-      "%1$s being spent": [""],
-      "Error: could not retrieve balance information.": [""],
-      "Invalid ": [""],
-      "Fees ": [""],
-      "Refresh sessions has completed": [""],
-      "Order Refused": [""],
-      "Order redirected": [""],
-      "Payment aborted": [""],
-      "Payment Sent": [""],
-      "Order accepted": [""],
-      "Reserve balance updated": [""],
-      "Payment refund": [""],
-      Withdrawn: [""],
-      "Tip Accepted": [""],
-      "Tip Declined": [""],
-      "%1$s": [""],
-      "Your wallet has no events recorded.": [""],
-      "Wire to bank account": [""],
-      Confirm: [""],
-      Cancel: [""],
-      "Could not get details for withdraw operation:": [""],
-      "Chose different exchange provider": [""],
-      "Please select an exchange.  You can review the details before after 
your selection.": [
-        "",
-      ],
-      "Select %1$s": [""],
-      "Select custom exchange": [""],
-      "You are about to withdraw %1$s from your bank account into your 
wallet.": [
-        "",
-      ],
-      "Accept fees and withdraw": [""],
-      "Cancel withdraw operation": [""],
-      "Withdrawal fees:": [""],
-      "Rounding loss:": [""],
-      "Earliest expiration (for deposit): %1$s": [""],
-      "# Coins": [""],
-      Value: [""],
-      "Withdraw Fee": [""],
-      "Refresh Fee": [""],
-      "Deposit Fee": [""],
-    },
-  },
+      "Balance": [
+        ""
+      ],
+      "Backup": [
+        ""
+      ],
+      "Settings": [
+        ""
+      ],
+      "Dev": [
+        ""
+      ],
+      "Loading": [
+        ""
+      ],
+      "Open reserve page": [
+        ""
+      ],
+      "Open pay page": [
+        ""
+      ],
+      "Open refund page": [
+        ""
+      ],
+      "Open tip page": [
+        ""
+      ],
+      "Open withdraw page": [
+        ""
+      ],
+      "Back": [
+        ""
+      ],
+      "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": [
+        ""
+      ],
+      "Deposit %1$s": [
+        ""
+      ],
+      "Enter URI": [
+        ""
+      ],
+      "Diagnostics timed out. Could not talk to the wallet backend.": [
+        ""
+      ],
+      "Problems detected:": [
+        ""
+      ],
+      "Please check in your %1$s settings that you have IndexedDB enabled 
(check the preference name %2$s).": [
+        ""
+      ],
+      "Your wallet database is outdated. Currently automatic migration is not 
supported. Please go %1$s to reset the wallet database.": [
+        ""
+      ],
+      "Running diagnostics": [
+        ""
+      ],
+      "Debug tools": [
+        ""
+      ],
+      "reset": [
+        ""
+      ],
+      "import database": [
+        ""
+      ],
+      "export database": [
+        ""
+      ],
+      "Database exported at %1$s %2$s to download": [
+        ""
+      ],
+      "Coins": [
+        ""
+      ],
+      "Pending operations": [
+        ""
+      ],
+      "usable coins": [
+        ""
+      ],
+      "id": [
+        ""
+      ],
+      "denom": [
+        ""
+      ],
+      "value": [
+        ""
+      ],
+      "status": [
+        ""
+      ],
+      "from refresh?": [
+        ""
+      ],
+      "spent coins": [
+        ""
+      ],
+      "click to show": [
+        ""
+      ],
+      "Do you want to IRREVOCABLY DESTROY everything inside your wallet and 
LOSE ALL YOUR COINS?": [
+        ""
+      ],
+      "Taler Action": [
+        ""
+      ],
+      "This page has pay action.": [
+        ""
+      ],
+      "This page has a withdrawal action.": [
+        ""
+      ],
+      "This page has a tip action.": [
+        ""
+      ],
+      "This page has a notify reserve action.": [
+        ""
+      ],
+      "Notify": [
+        ""
+      ],
+      "This page has a refund action.": [
+        ""
+      ],
+      "This page has a malformed taler uri.": [
+        ""
+      ],
+      "Dismiss": [
+        ""
+      ],
+      "Could not load backup providers": [
+        ""
+      ],
+      "No backup providers configured": [
+        ""
+      ],
+      "Add provider": [
+        ""
+      ],
+      "Sync all backups": [
+        ""
+      ],
+      "Sync now": [
+        ""
+      ],
+      "Last synced": [
+        ""
+      ],
+      "Not synced": [
+        ""
+      ],
+      "Expires in": [
+        ""
+      ],
+      "Exchange doesn't have terms of service": [
+        ""
+      ],
+      "Review exchange terms of service": [
+        ""
+      ],
+      "Review new version of terms of service": [
+        ""
+      ],
+      "Show terms of service": [
+        ""
+      ],
+      "I accept the exchange terms of service": [
+        ""
+      ],
+      "The exchange reply with a empty terms of service": [
+        ""
+      ],
+      "Download Terms of Service": [
+        ""
+      ],
+      "Hide terms of service": [
+        ""
+      ],
+      "Review terms of service": [
+        ""
+      ],
+      "Exchange URL": [
+        ""
+      ],
+      "Cancel": [
+        ""
+      ],
+      "Loading terms..": [
+        ""
+      ],
+      "Add exchange": [
+        ""
+      ],
+      "Add exchange anyway": [
+        ""
+      ],
+      "Add new exchange": [
+        ""
+      ],
+      "Add exchange for %1$s": [
+        ""
+      ],
+      "Enter the URL of an exchange you trust.": [
+        ""
+      ],
+      "An exchange has been found! Review the information and click next": [
+        ""
+      ],
+      "This exchange doesn't match the expected currency %1$s": [
+        ""
+      ],
+      "Unable to verify this exchange": [
+        ""
+      ],
+      "Unable to add this exchange": [
+        ""
+      ],
+      "loading": [
+        ""
+      ],
+      "Version": [
+        ""
+      ],
+      "Currency": [
+        ""
+      ],
+      "Next": [
+        ""
+      ],
+      "Add backup provider": [
+        ""
+      ],
+      "Could not get provider information": [
+        ""
+      ],
+      "Backup providers may charge for their service": [
+        ""
+      ],
+      "URL": [
+        ""
+      ],
+      "Name": [
+        ""
+      ],
+      "Provider URL": [
+        ""
+      ],
+      "Please review and accept this provider's terms of service": [
+        ""
+      ],
+      "Pricing": [
+        ""
+      ],
+      "free of charge": [
+        ""
+      ],
+      "%1$s per year of service": [
+        ""
+      ],
+      "Storage": [
+        ""
+      ],
+      "%1$s megabytes of storage per year of service": [
+        ""
+      ],
+      "Accept terms of service": [
+        ""
+      ],
+      "There was an error loading the provider detail for \"%1$s\"": [
+        ""
+      ],
+      "There is not known provider with url \"%1$s\".": [
+        ""
+      ],
+      "Last backup": [
+        ""
+      ],
+      "Back up": [
+        ""
+      ],
+      "Provider fee": [
+        ""
+      ],
+      "per year": [
+        ""
+      ],
+      "Extend": [
+        ""
+      ],
+      "terms has changed, extending the service will imply accepting the new 
terms of service": [
+        ""
+      ],
+      "old": [
+        ""
+      ],
+      "new": [
+        ""
+      ],
+      "fee": [
+        ""
+      ],
+      "storage": [
+        ""
+      ],
+      "back": [
+        ""
+      ],
+      "Remove provider": [
+        ""
+      ],
+      "This provider has reported an error": [
+        ""
+      ],
+      "There is conflict with another backup from %1$s": [
+        ""
+      ],
+      "Backup is not readable": [
+        ""
+      ],
+      "Unknown backup problem: %1$s": [
+        ""
+      ],
+      "service paid": [
+        ""
+      ],
+      "Backup valid until": [
+        ""
+      ],
+      "this popup is being closed and you are being redirected to %1$s": [
+        ""
+      ],
+      "Select one option": [
+        ""
+      ],
+      "Manual Withdrawal": [
+        ""
+      ],
+      "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.": [
+        ""
+      ],
+      "No exchange configured": [
+        ""
+      ],
+      "Can't create the reserve": [
+        ""
+      ],
+      "Exchange": [
+        ""
+      ],
+      "Add Exchange": [
+        ""
+      ],
+      "Amount": [
+        ""
+      ],
+      "Start withdrawal": [
+        ""
+      ],
+      "no balance": [
+        ""
+      ],
+      "There is no known bank account to send money to": [
+        ""
+      ],
+      "Send %1$s to your account": [
+        ""
+      ],
+      "Bank account IBAN number": [
+        ""
+      ],
+      "Deposit fee": [
+        ""
+      ],
+      "Total deposit": [
+        ""
+      ],
+      "Deposit": [
+        ""
+      ],
+      "Deposit %1$s %2$s": [
+        ""
+      ],
+      "Waiting for confirmation": [
+        ""
+      ],
+      "PENDING": [
+        ""
+      ],
+      "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": [
+        "Confermare"
+      ],
+      "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: {
+strings['ja'] = {
+  "domain": "messages",
+  "locale_data": {
+    "messages": {
       "": {
-        domain: "messages",
-        plural_forms: "nplurals=2; plural=(n != 1);",
-        lang: "",
+        "domain": "messages",
+        "plural_forms": "nplurals=2; plural=n != 1;",
+        "lang": "ja"
       },
-      "Invalid Wire": [""],
-      "Invalid Test Wire Detail": [""],
-      "Test Wire Acct #%1$s on %2$s": [""],
-      "Unknown Wire Detail": [""],
-      Operation: [""],
-      "time (ms/op)": [""],
-      "The merchant %1$s offers you to purchase:": [""],
-      "The total price is %1$s (plus %2$s fees).": [""],
-      "The total price is %1$s.": [""],
-      Retry: [""],
-      "Confirm payment": [""],
-      Balance: [""],
-      History: ["Historial"],
-      Debug: [""],
-      "You have no balance to show. Need some %1$s getting started?": [""],
-      "%1$s incoming": [""],
-      "%1$s being spent": [""],
-      "Error: could not retrieve balance information.": [""],
-      "Invalid ": [""],
-      "Fees ": [""],
-      "Refresh sessions has completed": [""],
-      "Order Refused": [""],
-      "Order redirected": [""],
-      "Payment aborted": [""],
-      "Payment Sent": [""],
-      Backup: ["Resguardo"],
-      "Order accepted": [""],
-      "Reserve balance updated": [""],
-      "Payment refund": [""],
-      Withdrawn: [""],
-      "Tip Accepted": [""],
-      "Tip Declined": [""],
-      "%1$s": [""],
-      "Your wallet has no events recorded.": [""],
-      "Wire to bank account": [""],
-      Confirm: ["Confirmar"],
-      Cancel: ["Cancelar"],
-      "Could not get details for withdraw operation:": [""],
-      "Chose different exchange provider": [""],
-      "Please select an exchange.  You can review the details before after 
your selection.": [
-        "",
-      ],
-      "Select %1$s": [""],
-      "Select custom exchange": [""],
-      "You are about to withdraw %1$s from your bank account into your 
wallet.": [
-        "",
-      ],
-      "Accept fees and withdraw": [""],
-      "Cancel withdraw operation": [""],
-      "Withdrawal fees:": [""],
-      "Rounding loss:": [""],
-      "Earliest expiration (for deposit): %1$s": [""],
-      "# Coins": [""],
-      Value: [""],
-      "Withdraw Fee": [""],
-      "Refresh Fee": [""],
-      "Deposit Fee": [""],
-    },
-  },
+      "Balance": [
+        "残高"
+      ],
+      "Backup": [
+        "バックアップ"
+      ],
+      "Settings": [
+        "設定"
+      ],
+      "Dev": [
+        ""
+      ],
+      "Loading": [
+        ""
+      ],
+      "Open reserve page": [
+        ""
+      ],
+      "Open pay page": [
+        ""
+      ],
+      "Open refund page": [
+        ""
+      ],
+      "Open tip page": [
+        ""
+      ],
+      "Open withdraw page": [
+        ""
+      ],
+      "Back": [
+        ""
+      ],
+      "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": [
+        ""
+      ],
+      "Deposit %1$s": [
+        ""
+      ],
+      "Enter URI": [
+        ""
+      ],
+      "Diagnostics timed out. Could not talk to the wallet backend.": [
+        ""
+      ],
+      "Problems detected:": [
+        ""
+      ],
+      "Please check in your %1$s settings that you have IndexedDB enabled 
(check the preference name %2$s).": [
+        ""
+      ],
+      "Your wallet database is outdated. Currently automatic migration is not 
supported. Please go %1$s to reset the wallet database.": [
+        ""
+      ],
+      "Running diagnostics": [
+        ""
+      ],
+      "Debug tools": [
+        ""
+      ],
+      "reset": [
+        ""
+      ],
+      "import database": [
+        ""
+      ],
+      "export database": [
+        ""
+      ],
+      "Database exported at %1$s %2$s to download": [
+        ""
+      ],
+      "Coins": [
+        ""
+      ],
+      "Pending operations": [
+        ""
+      ],
+      "usable coins": [
+        ""
+      ],
+      "id": [
+        ""
+      ],
+      "denom": [
+        ""
+      ],
+      "value": [
+        ""
+      ],
+      "status": [
+        ""
+      ],
+      "from refresh?": [
+        ""
+      ],
+      "spent coins": [
+        ""
+      ],
+      "click to show": [
+        ""
+      ],
+      "Do you want to IRREVOCABLY DESTROY everything inside your wallet and 
LOSE ALL YOUR COINS?": [
+        ""
+      ],
+      "Taler Action": [
+        ""
+      ],
+      "This page has pay action.": [
+        ""
+      ],
+      "This page has a withdrawal action.": [
+        ""
+      ],
+      "This page has a tip action.": [
+        ""
+      ],
+      "This page has a notify reserve action.": [
+        ""
+      ],
+      "Notify": [
+        ""
+      ],
+      "This page has a refund action.": [
+        ""
+      ],
+      "This page has a malformed taler uri.": [
+        ""
+      ],
+      "Dismiss": [
+        ""
+      ],
+      "Could not load backup providers": [
+        ""
+      ],
+      "No backup providers configured": [
+        ""
+      ],
+      "Add provider": [
+        ""
+      ],
+      "Sync all backups": [
+        ""
+      ],
+      "Sync now": [
+        ""
+      ],
+      "Last synced": [
+        ""
+      ],
+      "Not synced": [
+        ""
+      ],
+      "Expires in": [
+        ""
+      ],
+      "Exchange doesn't have terms of service": [
+        ""
+      ],
+      "Review exchange terms of service": [
+        ""
+      ],
+      "Review new version of terms of service": [
+        ""
+      ],
+      "Show terms of service": [
+        ""
+      ],
+      "I accept the exchange terms of service": [
+        ""
+      ],
+      "The exchange reply with a empty terms of service": [
+        ""
+      ],
+      "Download Terms of Service": [
+        ""
+      ],
+      "Hide terms of service": [
+        ""
+      ],
+      "Review terms of service": [
+        ""
+      ],
+      "Exchange URL": [
+        ""
+      ],
+      "Cancel": [
+        ""
+      ],
+      "Loading terms..": [
+        ""
+      ],
+      "Add exchange": [
+        ""
+      ],
+      "Add exchange anyway": [
+        ""
+      ],
+      "Add new exchange": [
+        ""
+      ],
+      "Add exchange for %1$s": [
+        ""
+      ],
+      "Enter the URL of an exchange you trust.": [
+        ""
+      ],
+      "An exchange has been found! Review the information and click next": [
+        ""
+      ],
+      "This exchange doesn't match the expected currency %1$s": [
+        ""
+      ],
+      "Unable to verify this exchange": [
+        ""
+      ],
+      "Unable to add this exchange": [
+        ""
+      ],
+      "loading": [
+        ""
+      ],
+      "Version": [
+        ""
+      ],
+      "Currency": [
+        ""
+      ],
+      "Next": [
+        ""
+      ],
+      "Add backup provider": [
+        ""
+      ],
+      "Could not get provider information": [
+        ""
+      ],
+      "Backup providers may charge for their service": [
+        ""
+      ],
+      "URL": [
+        ""
+      ],
+      "Name": [
+        ""
+      ],
+      "Provider URL": [
+        ""
+      ],
+      "Please review and accept this provider's terms of service": [
+        ""
+      ],
+      "Pricing": [
+        ""
+      ],
+      "free of charge": [
+        ""
+      ],
+      "%1$s per year of service": [
+        ""
+      ],
+      "Storage": [
+        ""
+      ],
+      "%1$s megabytes of storage per year of service": [
+        ""
+      ],
+      "Accept terms of service": [
+        ""
+      ],
+      "There was an error loading the provider detail for \"%1$s\"": [
+        ""
+      ],
+      "There is not known provider with url \"%1$s\".": [
+        ""
+      ],
+      "Last backup": [
+        ""
+      ],
+      "Back up": [
+        ""
+      ],
+      "Provider fee": [
+        ""
+      ],
+      "per year": [
+        ""
+      ],
+      "Extend": [
+        ""
+      ],
+      "terms has changed, extending the service will imply accepting the new 
terms of service": [
+        ""
+      ],
+      "old": [
+        ""
+      ],
+      "new": [
+        ""
+      ],
+      "fee": [
+        ""
+      ],
+      "storage": [
+        ""
+      ],
+      "back": [
+        ""
+      ],
+      "Remove provider": [
+        ""
+      ],
+      "This provider has reported an error": [
+        ""
+      ],
+      "There is conflict with another backup from %1$s": [
+        ""
+      ],
+      "Backup is not readable": [
+        ""
+      ],
+      "Unknown backup problem: %1$s": [
+        ""
+      ],
+      "service paid": [
+        ""
+      ],
+      "Backup valid until": [
+        ""
+      ],
+      "this popup is being closed and you are being redirected to %1$s": [
+        ""
+      ],
+      "Select one option": [
+        ""
+      ],
+      "Manual Withdrawal": [
+        ""
+      ],
+      "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.": [
+        ""
+      ],
+      "No exchange configured": [
+        ""
+      ],
+      "Can't create the reserve": [
+        ""
+      ],
+      "Exchange": [
+        ""
+      ],
+      "Add Exchange": [
+        ""
+      ],
+      "Amount": [
+        ""
+      ],
+      "Start withdrawal": [
+        ""
+      ],
+      "no balance": [
+        ""
+      ],
+      "There is no known bank account to send money to": [
+        ""
+      ],
+      "Send %1$s to your account": [
+        ""
+      ],
+      "Bank account IBAN number": [
+        ""
+      ],
+      "Deposit fee": [
+        ""
+      ],
+      "Total deposit": [
+        ""
+      ],
+      "Deposit": [
+        ""
+      ],
+      "Deposit %1$s %2$s": [
+        ""
+      ],
+      "Waiting for confirmation": [
+        ""
+      ],
+      "PENDING": [
+        ""
+      ],
+      "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": [
+        ""
+      ],
+      "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["fr"] = {
-  domain: "messages",
-  locale_data: {
-    messages: {
+strings['sv'] = {
+  "domain": "messages",
+  "locale_data": {
+    "messages": {
       "": {
-        domain: "messages",
-        plural_forms: "nplurals=2; plural=(n != 1);",
-        lang: "",
+        "domain": "messages",
+        "plural_forms": "nplurals=2; plural=n != 1;",
+        "lang": "sv"
       },
-      "Invalid Wire": [""],
-      "Invalid Test Wire Detail": [""],
-      "Test Wire Acct #%1$s on %2$s": [""],
-      "Unknown Wire Detail": [""],
-      Operation: [""],
-      "time (ms/op)": [""],
-      "The merchant %1$s offers you to purchase:": [""],
-      "The total price is %1$s (plus %2$s fees).": [""],
-      "The total price is %1$s.": [""],
-      Retry: [""],
-      "Confirm payment": [""],
-      Balance: [""],
-      History: [""],
-      Debug: [""],
-      "You have no balance to show. Need some %1$s getting started?": [""],
-      "%1$s incoming": [""],
-      "%1$s being spent": [""],
-      "Error: could not retrieve balance information.": [""],
-      "Invalid ": [""],
-      "Fees ": [""],
-      "Refresh sessions has completed": [""],
-      "Order Refused": [""],
-      "Order redirected": [""],
-      "Payment aborted": [""],
-      "Payment Sent": [""],
-      "Order accepted": [""],
-      "Reserve balance updated": [""],
-      "Payment refund": [""],
-      Withdrawn: [""],
-      "Tip Accepted": [""],
-      "Tip Declined": [""],
-      "%1$s": [""],
-      "Your wallet has no events recorded.": [""],
-      "Wire to bank account": [""],
-      Confirm: [""],
-      Cancel: [""],
-      "Could not get details for withdraw operation:": [""],
-      "Chose different exchange provider": [""],
-      "Please select an exchange.  You can review the details before after 
your selection.": [
-        "",
-      ],
-      "Select %1$s": [""],
-      "Select custom exchange": [""],
-      "You are about to withdraw %1$s from your bank account into your 
wallet.": [
-        "",
-      ],
-      "Accept fees and withdraw": [""],
-      "Cancel withdraw operation": [""],
-      "Withdrawal fees:": [""],
-      "Rounding loss:": [""],
-      "Earliest expiration (for deposit): %1$s": [""],
-      "# Coins": [""],
-      Value: [""],
-      "Withdraw Fee": [""],
-      "Refresh Fee": [""],
-      "Deposit Fee": [""],
-    },
-  },
+      "Balance": [
+        "Balans"
+      ],
+      "Backup": [
+        ""
+      ],
+      "Settings": [
+        ""
+      ],
+      "Dev": [
+        ""
+      ],
+      "Loading": [
+        ""
+      ],
+      "Open reserve page": [
+        ""
+      ],
+      "Open pay page": [
+        ""
+      ],
+      "Open refund page": [
+        ""
+      ],
+      "Open tip page": [
+        ""
+      ],
+      "Open withdraw page": [
+        "Utbetalnings avgift"
+      ],
+      "Back": [
+        ""
+      ],
+      "You have no balance to show.": [
+        "Du har ingen balans att visa. Behöver du\n %1$s att börja?\n"
+      ],
+      "To withdraw money you can start from your bank site or click the 
\"withdraw\" button to use a known exchange.": [
+        ""
+      ],
+      "Withdraw": [
+        "Utbetalnings avgift"
+      ],
+      "Could not load balance page": [
+        ""
+      ],
+      "Deposit %1$s": [
+        "Depostitions avgift"
+      ],
+      "Enter URI": [
+        ""
+      ],
+      "Diagnostics timed out. Could not talk to the wallet backend.": [
+        ""
+      ],
+      "Problems detected:": [
+        ""
+      ],
+      "Please check in your %1$s settings that you have IndexedDB enabled 
(check the preference name %2$s).": [
+        ""
+      ],
+      "Your wallet database is outdated. Currently automatic migration is not 
supported. Please go %1$s to reset the wallet database.": [
+        ""
+      ],
+      "Running diagnostics": [
+        ""
+      ],
+      "Debug tools": [
+        ""
+      ],
+      "reset": [
+        ""
+      ],
+      "import database": [
+        ""
+      ],
+      "export database": [
+        ""
+      ],
+      "Database exported at %1$s %2$s to download": [
+        ""
+      ],
+      "Coins": [
+        "# Mynt"
+      ],
+      "Pending operations": [
+        ""
+      ],
+      "usable coins": [
+        ""
+      ],
+      "id": [
+        ""
+      ],
+      "denom": [
+        ""
+      ],
+      "value": [
+        "Värde"
+      ],
+      "status": [
+        ""
+      ],
+      "from refresh?": [
+        ""
+      ],
+      "spent coins": [
+        ""
+      ],
+      "click to show": [
+        ""
+      ],
+      "Do you want to IRREVOCABLY DESTROY everything inside your wallet and 
LOSE ALL YOUR COINS?": [
+        ""
+      ],
+      "Taler Action": [
+        ""
+      ],
+      "This page has pay action.": [
+        ""
+      ],
+      "This page has a withdrawal action.": [
+        ""
+      ],
+      "This page has a tip action.": [
+        ""
+      ],
+      "This page has a notify reserve action.": [
+        ""
+      ],
+      "Notify": [
+        ""
+      ],
+      "This page has a refund action.": [
+        ""
+      ],
+      "This page has a malformed taler uri.": [
+        ""
+      ],
+      "Dismiss": [
+        ""
+      ],
+      "Could not load backup providers": [
+        ""
+      ],
+      "No backup providers configured": [
+        ""
+      ],
+      "Add provider": [
+        ""
+      ],
+      "Sync all backups": [
+        ""
+      ],
+      "Sync now": [
+        ""
+      ],
+      "Last synced": [
+        ""
+      ],
+      "Not synced": [
+        ""
+      ],
+      "Expires in": [
+        ""
+      ],
+      "Exchange doesn't have terms of service": [
+        ""
+      ],
+      "Review exchange terms of service": [
+        ""
+      ],
+      "Review new version of terms of service": [
+        ""
+      ],
+      "Show terms of service": [
+        ""
+      ],
+      "I accept the exchange terms of service": [
+        ""
+      ],
+      "The exchange reply with a empty terms of service": [
+        ""
+      ],
+      "Download Terms of Service": [
+        ""
+      ],
+      "Hide terms of service": [
+        ""
+      ],
+      "Review terms of service": [
+        ""
+      ],
+      "Exchange URL": [
+        ""
+      ],
+      "Cancel": [
+        "Avbryt"
+      ],
+      "Loading terms..": [
+        ""
+      ],
+      "Add exchange": [
+        "Accepterade tjänsteleverantörer:"
+      ],
+      "Add exchange anyway": [
+        ""
+      ],
+      "Add new exchange": [
+        "Accepterade tjänsteleverantörer:"
+      ],
+      "Add exchange for %1$s": [
+        "Accepterade tjänsteleverantörer:"
+      ],
+      "Enter the URL of an exchange you trust.": [
+        ""
+      ],
+      "An exchange has been found! Review the information and click next": [
+        ""
+      ],
+      "This exchange doesn't match the expected currency %1$s": [
+        ""
+      ],
+      "Unable to verify this exchange": [
+        ""
+      ],
+      "Unable to add this exchange": [
+        ""
+      ],
+      "loading": [
+        ""
+      ],
+      "Version": [
+        ""
+      ],
+      "Currency": [
+        ""
+      ],
+      "Next": [
+        ""
+      ],
+      "Add backup provider": [
+        ""
+      ],
+      "Could not get provider information": [
+        ""
+      ],
+      "Backup providers may charge for their service": [
+        ""
+      ],
+      "URL": [
+        ""
+      ],
+      "Name": [
+        ""
+      ],
+      "Provider URL": [
+        ""
+      ],
+      "Please review and accept this provider's terms of service": [
+        ""
+      ],
+      "Pricing": [
+        ""
+      ],
+      "free of charge": [
+        ""
+      ],
+      "%1$s per year of service": [
+        ""
+      ],
+      "Storage": [
+        ""
+      ],
+      "%1$s megabytes of storage per year of service": [
+        ""
+      ],
+      "Accept terms of service": [
+        ""
+      ],
+      "There was an error loading the provider detail for \"%1$s\"": [
+        ""
+      ],
+      "There is not known provider with url \"%1$s\".": [
+        ""
+      ],
+      "Last backup": [
+        ""
+      ],
+      "Back up": [
+        ""
+      ],
+      "Provider fee": [
+        ""
+      ],
+      "per year": [
+        ""
+      ],
+      "Extend": [
+        ""
+      ],
+      "terms has changed, extending the service will imply accepting the new 
terms of service": [
+        ""
+      ],
+      "old": [
+        ""
+      ],
+      "new": [
+        ""
+      ],
+      "fee": [
+        ""
+      ],
+      "storage": [
+        ""
+      ],
+      "back": [
+        "Återbetalning"
+      ],
+      "Remove provider": [
+        ""
+      ],
+      "This provider has reported an error": [
+        ""
+      ],
+      "There is conflict with another backup from %1$s": [
+        ""
+      ],
+      "Backup is not readable": [
+        ""
+      ],
+      "Unknown backup problem: %1$s": [
+        ""
+      ],
+      "service paid": [
+        ""
+      ],
+      "Backup valid until": [
+        ""
+      ],
+      "this popup is being closed and you are being redirected to %1$s": [
+        ""
+      ],
+      "Select one option": [
+        ""
+      ],
+      "Manual Withdrawal": [
+        "Utbetalnings avgift"
+      ],
+      "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.": [
+        ""
+      ],
+      "No exchange configured": [
+        ""
+      ],
+      "Can't create the reserve": [
+        ""
+      ],
+      "Exchange": [
+        ""
+      ],
+      "Add Exchange": [
+        "Accepterade tjänsteleverantörer:"
+      ],
+      "Amount": [
+        ""
+      ],
+      "Start withdrawal": [
+        ""
+      ],
+      "no balance": [
+        "Balans"
+      ],
+      "There is no known bank account to send money to": [
+        ""
+      ],
+      "Send %1$s to your account": [
+        ""
+      ],
+      "Bank account IBAN number": [
+        ""
+      ],
+      "Deposit fee": [
+        "Depostitions avgift"
+      ],
+      "Total deposit": [
+        ""
+      ],
+      "Deposit": [
+        "Depostitions avgift"
+      ],
+      "Deposit %1$s %2$s": [
+        ""
+      ],
+      "Waiting for confirmation": [
+        ""
+      ],
+      "PENDING": [
+        ""
+      ],
+      "Could not load the list of transactions": [
+        ""
+      ],
+      "There is no history for this currency": [
+        ""
+      ],
+      "Account": [
+        ""
+      ],
+      "Bank host": [
+        ""
+      ],
+      "Bank account": [
+        "Övervisa till bank konto"
+      ],
+      "IBAN": [
+        ""
+      ],
+      "Chosen amount": [
+        ""
+      ],
+      "Subject": [
+        ""
+      ],
+      "could not parse payto uri from exchange %1$s": [
+        ""
+      ],
+      "Exchange is ready for withdrawal": [
+        "Tjänsteleverantörer i plånboken:"
+      ],
+      "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": [
+        "Accepterade tjänsteleverantörer:"
+      ],
+      "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": [
+        "Bekräfta"
+      ],
+      "Withdrawal": [
+        "Utbetalnings avgift"
+      ],
+      "Total withdrawn": [
+        "Utbetalnings avgift"
+      ],
+      "Exchange fee": [
+        "Tjänsteleverantörer i plånboken:"
+      ],
+      "The bank is waiting for confirmation. Go to the %1$s": [
+        ""
+      ],
+      "Waiting for the coins to arrive": [
+        ""
+      ],
+      "Payment": [
+        "Godkän betalning"
+      ],
+      "Total paid": [
+        ""
+      ],
+      "Purchase amount": [
+        ""
+      ],
+      "Fee": [
+        ""
+      ],
+      "Merchant": [
+        ""
+      ],
+      "Purchase": [
+        ""
+      ],
+      "Receipt": [
+        ""
+      ],
+      "Total send": [
+        ""
+      ],
+      "Deposit amount": [
+        "Depostitions avgift"
+      ],
+      "Refresh": [
+        "Återhämtnings avgift"
+      ],
+      "Total refresh": [
+        ""
+      ],
+      "Refresh amount": [
+        "Återhämtnings avgift"
+      ],
+      "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": [
+        "Utbetalnings avgifter:"
+      ],
+      "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": 
[
+        "Säljaren %1$s erbjuder följande:"
+      ],
+      "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": [
+        "Utbetalnings avgift"
+      ],
+      "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["it"] = {
-  domain: "messages",
-  locale_data: {
-    messages: {
+strings['tr'] = {
+  "domain": "messages",
+  "locale_data": {
+    "messages": {
       "": {
-        domain: "messages",
-        plural_forms: "nplurals=2; plural=(n != 1);",
-        lang: "",
+        "domain": "messages",
+        "plural_forms": "nplurals=2; plural=n != 1;",
+        "lang": "tr"
       },
-      "Invalid Wire": [""],
-      "Invalid Test Wire Detail": [""],
-      "Test Wire Acct #%1$s on %2$s": [""],
-      "Unknown Wire Detail": [""],
-      Operation: [""],
-      "time (ms/op)": [""],
-      "The merchant %1$s offers you to purchase:": [""],
-      "The total price is %1$s (plus %2$s fees).": [""],
-      "The total price is %1$s.": [""],
-      Retry: [""],
-      "Confirm payment": [""],
-      Balance: [""],
-      History: [""],
-      Debug: [""],
-      "You have no balance to show. Need some %1$s getting started?": [""],
-      "%1$s incoming": [""],
-      "%1$s being spent": [""],
-      "Error: could not retrieve balance information.": [""],
-      "Invalid ": [""],
-      "Fees ": [""],
-      "Refresh sessions has completed": [""],
-      "Order Refused": [""],
-      "Order redirected": [""],
-      "Payment aborted": [""],
-      "Payment Sent": [""],
-      "Order accepted": [""],
-      "Reserve balance updated": [""],
-      "Payment refund": [""],
-      Withdrawn: [""],
-      "Tip Accepted": [""],
-      "Tip Declined": [""],
-      "%1$s": [""],
-      "Your wallet has no events recorded.": [""],
-      "Wire to bank account": [""],
-      Confirm: [""],
-      Cancel: [""],
-      "Could not get details for withdraw operation:": [""],
-      "Chose different exchange provider": [""],
-      "Please select an exchange.  You can review the details before after 
your selection.": [
-        "",
-      ],
-      "Select %1$s": [""],
-      "Select custom exchange": [""],
-      "You are about to withdraw %1$s from your bank account into your 
wallet.": [
-        "",
-      ],
-      "Accept fees and withdraw": [""],
-      "Cancel withdraw operation": [""],
-      "Withdrawal fees:": [""],
-      "Rounding loss:": [""],
-      "Earliest expiration (for deposit): %1$s": [""],
-      "# Coins": [""],
-      Value: [""],
-      "Withdraw Fee": [""],
-      "Refresh Fee": [""],
-      "Deposit Fee": [""],
-    },
-  },
+      "Balance": [
+        ""
+      ],
+      "Backup": [
+        ""
+      ],
+      "Settings": [
+        ""
+      ],
+      "Dev": [
+        ""
+      ],
+      "Loading": [
+        ""
+      ],
+      "Open reserve page": [
+        ""
+      ],
+      "Open pay page": [
+        ""
+      ],
+      "Open refund page": [
+        ""
+      ],
+      "Open tip page": [
+        ""
+      ],
+      "Open withdraw page": [
+        ""
+      ],
+      "Back": [
+        ""
+      ],
+      "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": [
+        ""
+      ],
+      "Deposit %1$s": [
+        ""
+      ],
+      "Enter URI": [
+        ""
+      ],
+      "Diagnostics timed out. Could not talk to the wallet backend.": [
+        ""
+      ],
+      "Problems detected:": [
+        ""
+      ],
+      "Please check in your %1$s settings that you have IndexedDB enabled 
(check the preference name %2$s).": [
+        ""
+      ],
+      "Your wallet database is outdated. Currently automatic migration is not 
supported. Please go %1$s to reset the wallet database.": [
+        ""
+      ],
+      "Running diagnostics": [
+        ""
+      ],
+      "Debug tools": [
+        ""
+      ],
+      "reset": [
+        ""
+      ],
+      "import database": [
+        ""
+      ],
+      "export database": [
+        ""
+      ],
+      "Database exported at %1$s %2$s to download": [
+        ""
+      ],
+      "Coins": [
+        ""
+      ],
+      "Pending operations": [
+        ""
+      ],
+      "usable coins": [
+        ""
+      ],
+      "id": [
+        ""
+      ],
+      "denom": [
+        ""
+      ],
+      "value": [
+        ""
+      ],
+      "status": [
+        ""
+      ],
+      "from refresh?": [
+        ""
+      ],
+      "spent coins": [
+        ""
+      ],
+      "click to show": [
+        ""
+      ],
+      "Do you want to IRREVOCABLY DESTROY everything inside your wallet and 
LOSE ALL YOUR COINS?": [
+        ""
+      ],
+      "Taler Action": [
+        ""
+      ],
+      "This page has pay action.": [
+        ""
+      ],
+      "This page has a withdrawal action.": [
+        ""
+      ],
+      "This page has a tip action.": [
+        ""
+      ],
+      "This page has a notify reserve action.": [
+        ""
+      ],
+      "Notify": [
+        ""
+      ],
+      "This page has a refund action.": [
+        ""
+      ],
+      "This page has a malformed taler uri.": [
+        ""
+      ],
+      "Dismiss": [
+        ""
+      ],
+      "Could not load backup providers": [
+        ""
+      ],
+      "No backup providers configured": [
+        ""
+      ],
+      "Add provider": [
+        ""
+      ],
+      "Sync all backups": [
+        ""
+      ],
+      "Sync now": [
+        ""
+      ],
+      "Last synced": [
+        ""
+      ],
+      "Not synced": [
+        ""
+      ],
+      "Expires in": [
+        ""
+      ],
+      "Exchange doesn't have terms of service": [
+        ""
+      ],
+      "Review exchange terms of service": [
+        ""
+      ],
+      "Review new version of terms of service": [
+        ""
+      ],
+      "Show terms of service": [
+        ""
+      ],
+      "I accept the exchange terms of service": [
+        ""
+      ],
+      "The exchange reply with a empty terms of service": [
+        ""
+      ],
+      "Download Terms of Service": [
+        ""
+      ],
+      "Hide terms of service": [
+        ""
+      ],
+      "Review terms of service": [
+        ""
+      ],
+      "Exchange URL": [
+        ""
+      ],
+      "Cancel": [
+        ""
+      ],
+      "Loading terms..": [
+        ""
+      ],
+      "Add exchange": [
+        ""
+      ],
+      "Add exchange anyway": [
+        ""
+      ],
+      "Add new exchange": [
+        ""
+      ],
+      "Add exchange for %1$s": [
+        ""
+      ],
+      "Enter the URL of an exchange you trust.": [
+        ""
+      ],
+      "An exchange has been found! Review the information and click next": [
+        ""
+      ],
+      "This exchange doesn't match the expected currency %1$s": [
+        ""
+      ],
+      "Unable to verify this exchange": [
+        ""
+      ],
+      "Unable to add this exchange": [
+        ""
+      ],
+      "loading": [
+        ""
+      ],
+      "Version": [
+        ""
+      ],
+      "Currency": [
+        ""
+      ],
+      "Next": [
+        ""
+      ],
+      "Add backup provider": [
+        ""
+      ],
+      "Could not get provider information": [
+        ""
+      ],
+      "Backup providers may charge for their service": [
+        ""
+      ],
+      "URL": [
+        ""
+      ],
+      "Name": [
+        ""
+      ],
+      "Provider URL": [
+        ""
+      ],
+      "Please review and accept this provider's terms of service": [
+        ""
+      ],
+      "Pricing": [
+        ""
+      ],
+      "free of charge": [
+        ""
+      ],
+      "%1$s per year of service": [
+        ""
+      ],
+      "Storage": [
+        ""
+      ],
+      "%1$s megabytes of storage per year of service": [
+        ""
+      ],
+      "Accept terms of service": [
+        ""
+      ],
+      "There was an error loading the provider detail for \"%1$s\"": [
+        ""
+      ],
+      "There is not known provider with url \"%1$s\".": [
+        ""
+      ],
+      "Last backup": [
+        ""
+      ],
+      "Back up": [
+        ""
+      ],
+      "Provider fee": [
+        ""
+      ],
+      "per year": [
+        ""
+      ],
+      "Extend": [
+        ""
+      ],
+      "terms has changed, extending the service will imply accepting the new 
terms of service": [
+        ""
+      ],
+      "old": [
+        ""
+      ],
+      "new": [
+        ""
+      ],
+      "fee": [
+        ""
+      ],
+      "storage": [
+        ""
+      ],
+      "back": [
+        ""
+      ],
+      "Remove provider": [
+        ""
+      ],
+      "This provider has reported an error": [
+        ""
+      ],
+      "There is conflict with another backup from %1$s": [
+        ""
+      ],
+      "Backup is not readable": [
+        ""
+      ],
+      "Unknown backup problem: %1$s": [
+        ""
+      ],
+      "service paid": [
+        ""
+      ],
+      "Backup valid until": [
+        ""
+      ],
+      "this popup is being closed and you are being redirected to %1$s": [
+        ""
+      ],
+      "Select one option": [
+        ""
+      ],
+      "Manual Withdrawal": [
+        ""
+      ],
+      "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.": [
+        ""
+      ],
+      "No exchange configured": [
+        ""
+      ],
+      "Can't create the reserve": [
+        ""
+      ],
+      "Exchange": [
+        ""
+      ],
+      "Add Exchange": [
+        ""
+      ],
+      "Amount": [
+        ""
+      ],
+      "Start withdrawal": [
+        ""
+      ],
+      "no balance": [
+        ""
+      ],
+      "There is no known bank account to send money to": [
+        ""
+      ],
+      "Send %1$s to your account": [
+        ""
+      ],
+      "Bank account IBAN number": [
+        ""
+      ],
+      "Deposit fee": [
+        ""
+      ],
+      "Total deposit": [
+        ""
+      ],
+      "Deposit": [
+        ""
+      ],
+      "Deposit %1$s %2$s": [
+        ""
+      ],
+      "Waiting for confirmation": [
+        ""
+      ],
+      "PENDING": [
+        ""
+      ],
+      "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": [
+        "Onaylamak"
+      ],
+      "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["sv"] = {
-  domain: "messages",
-  locale_data: {
-    messages: {
-      "": {
-        domain: "messages",
-        plural_forms: "nplurals=2; plural=(n != 1);",
-        lang: "",
-      },
-      "Invalid Wire": [""],
-      "Invalid Test Wire Detail": [""],
-      "Test Wire Acct #%1$s on %2$s": [""],
-      "Unknown Wire Detail": ["visa mer"],
-      Operation: [""],
-      "time (ms/op)": [""],
-      "The merchant %1$s offers you to purchase:": [
-        "Säljaren %1$s erbjuder följande:",
-      ],
-      "The total price is %1$s (plus %2$s fees).": [
-        "Det totala priset är %1$s (plus %2$s avgifter).\n",
-      ],
-      "The total price is %1$s.": ["Det totala priset är %1$s."],
-      Retry: [""],
-      "Confirm payment": ["Godkän betalning"],
-      Balance: ["Balans"],
-      History: ["Historia"],
-      Debug: [""],
-      "You have no balance to show. Need some %1$s getting started?": [
-        "Du har ingen balans att visa. Behöver du\n %1$s att börja?\n",
-      ],
-      "%1$s incoming": ["%1$s inkommande"],
-      "%1$s being spent": [""],
-      "Error: could not retrieve balance information.": [""],
-      "Invalid ": [""],
-      "Fees ": [""],
-      "Refresh sessions has completed": [""],
-      "Order Refused": [""],
-      "Order redirected": [""],
-      "Payment aborted": [""],
-      "Payment Sent": [""],
-      "Order accepted": [""],
-      "Reserve balance updated": [""],
-      "Payment refund": [""],
-      Withdrawn: ["Utbetalnings avgift"],
-      "Tip Accepted": [""],
-      "Tip Declined": [""],
-      "%1$s": [""],
-      "Your wallet has no events recorded.": ["plånboken"],
-      "Wire to bank account": ["Övervisa till bank konto"],
-      Confirm: ["Bekräfta"],
-      Cancel: ["Avbryt"],
-      "Could not get details for withdraw operation:": [""],
-      "Chose different exchange provider": ["Ändra tjänsteleverantörer"],
-      "Please select an exchange.  You can review the details before after 
your selection.": [
-        "",
-      ],
-      "Select %1$s": ["Välj %1$s"],
-      "Select custom exchange": [""],
-      "You are about to withdraw %1$s from your bank account into your 
wallet.": [
-        "Du är på väg att ta ut\n %1$s från ditt bankkonto till din 
plånbok.\n",
-      ],
-      "Accept fees and withdraw": ["Acceptera avgifter och utbetala"],
-      "Cancel withdraw operation": [""],
-      "Withdrawal fees:": ["Utbetalnings avgifter:"],
-      "Rounding loss:": [""],
-      "Earliest expiration (for deposit): %1$s": [""],
-      "# Coins": ["# Mynt"],
-      Value: ["Värde"],
-      "Withdraw Fee": ["Utbetalnings avgift"],
-      "Refresh Fee": ["Återhämtnings avgift"],
-      "Deposit Fee": ["Depostitions avgift"],
-    },
-  },
-};
diff --git a/packages/taler-wallet-webextension/src/i18n/sv.po 
b/packages/taler-wallet-webextension/src/i18n/sv.po
index e2cf1f64..32427d2e 100644
--- a/packages/taler-wallet-webextension/src/i18n/sv.po
+++ b/packages/taler-wallet-webextension/src/i18n/sv.po
@@ -15,7 +15,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: Taler Wallet\n"
-"Report-Msgid-Bugs-To: languages@taler.net\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"
 "Last-Translator: Stefan <eintritt@hotmail.com>\n"
@@ -28,323 +28,1419 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
 "X-Generator: Weblate 4.4.2\n"
 
-#: src/util/wire.ts:37
+#: src/NavigationBar.tsx:70
 #, c-format
-msgid "Invalid Wire"
+msgid "Balance"
+msgstr "Balans"
+
+#: src/NavigationBar.tsx:73
+#, c-format
+msgid "Backup"
+msgstr ""
+
+#: src/NavigationBar.tsx:77
+#, c-format
+msgid "Settings"
+msgstr ""
+
+#: src/NavigationBar.tsx:96
+#, c-format
+msgid "Dev"
+msgstr ""
+
+#: src/components/Loading.tsx:22
+#, c-format
+msgid "Loading"
+msgstr ""
+
+#: src/wallet/AddNewActionView.tsx:14
+#, c-format
+msgid "Open reserve page"
+msgstr ""
+
+#: src/wallet/AddNewActionView.tsx:16
+#, c-format
+msgid "Open pay page"
+msgstr ""
+
+#: src/wallet/AddNewActionView.tsx:18
+#, c-format
+msgid "Open refund page"
+msgstr ""
+
+#: src/wallet/AddNewActionView.tsx:20
+#, c-format
+msgid "Open tip page"
+msgstr ""
+
+#: src/wallet/AddNewActionView.tsx:22
+#, fuzzy, c-format
+msgid "Open withdraw page"
+msgstr "Utbetalnings avgift"
+
+#: src/wallet/AddNewActionView.tsx:51
+#, c-format
+msgid "Back"
+msgstr ""
+
+#: src/popup/NoBalanceHelp.tsx:14
+#, fuzzy, c-format
+msgid "You have no balance to show."
+msgstr ""
+"Du har ingen balans att visa. Behöver du\n"
+" %1$s att börja?\n"
+
+#: 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 ""
+
+#: src/popup/NoBalanceHelp.tsx:23
+#, fuzzy, c-format
+msgid "Withdraw"
+msgstr "Utbetalnings avgift"
+
+#: src/popup/BalancePage.tsx:52
+#, c-format
+msgid "Could not load balance page"
+msgstr ""
+
+#: src/popup/BalancePage.tsx:111
+#, fuzzy, c-format
+msgid "Deposit %1$s"
+msgstr "Depostitions avgift"
+
+#: src/popup/BalancePage.tsx:120
+#, c-format
+msgid "Enter URI"
+msgstr ""
+
+#: src/components/Diagnostics.tsx:30
+#, c-format
+msgid "Diagnostics timed out. Could not talk to the wallet backend."
+msgstr ""
+
+#: src/components/Diagnostics.tsx:51
+#, c-format
+msgid "Problems detected:"
+msgstr ""
+
+#: src/components/Diagnostics.tsx:60
+#, c-format
+msgid ""
+"Please check in your %1$s settings that you have IndexedDB enabled (check "
+"the preference name %2$s)."
+msgstr ""
+
+#: 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 ""
+
+#: src/components/Diagnostics.tsx:85
+#, c-format
+msgid "Running diagnostics"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:154
+#, c-format
+msgid "Debug tools"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:157
+#, c-format
+msgid "reset"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:161
+#, c-format
+msgid "import database"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:182
+#, c-format
+msgid "export database"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:186
+#, c-format
+msgid "Database exported at %1$s %2$s to download"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:209
+#, fuzzy, c-format
+msgid "Coins"
+msgstr "# Mynt"
+
+#: src/popup/DeveloperPage.tsx:236
+#, c-format
+msgid "Pending operations"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:275
+#, c-format
+msgid "usable coins"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:284
+#, c-format
+msgid "id"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:287
+#, c-format
+msgid "denom"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:290
+#, fuzzy, c-format
+msgid "value"
+msgstr "Värde"
+
+#: src/popup/DeveloperPage.tsx:293
+#, c-format
+msgid "status"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:296
+#, c-format
+msgid "from refresh?"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:313
+#, c-format
+msgid "spent coins"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:317
+#, c-format
+msgid "click to show"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:377
+#, c-format
+msgid ""
+"Do you want to IRREVOCABLY DESTROY everything inside your wallet and LOSE "
+"ALL YOUR COINS?"
+msgstr ""
+
+#: src/popup/TalerActionFound.tsx:56
+#, c-format
+msgid "Taler Action"
+msgstr ""
+
+#: src/popup/TalerActionFound.tsx:61
+#, c-format
+msgid "This page has pay action."
+msgstr ""
+
+#: src/popup/TalerActionFound.tsx:75
+#, c-format
+msgid "This page has a withdrawal action."
+msgstr ""
+
+#: src/popup/TalerActionFound.tsx:91
+#, c-format
+msgid "This page has a tip action."
+msgstr ""
+
+#: src/popup/TalerActionFound.tsx:105
+#, c-format
+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."
+msgstr ""
+
+#: src/popup/TalerActionFound.tsx:135
+#, c-format
+msgid "This page has a malformed taler uri."
+msgstr ""
+
+#: src/popup/TalerActionFound.tsx:147
+#, c-format
+msgid "Dismiss"
+msgstr ""
+
+#: src/wallet/BackupPage.tsx:75
+#, c-format
+msgid "Could not load backup providers"
+msgstr ""
+
+#: src/wallet/BackupPage.tsx:129
+#, c-format
+msgid "No backup providers configured"
+msgstr ""
+
+#: src/wallet/BackupPage.tsx:132
+#, c-format
+msgid "Add provider"
+msgstr ""
+
+#: src/wallet/BackupPage.tsx:142
+#, c-format
+msgid "Sync all backups"
+msgstr ""
+
+#: src/wallet/BackupPage.tsx:144
+#, c-format
+msgid "Sync now"
+msgstr ""
+
+#: src/wallet/BackupPage.tsx:187
+#, c-format
+msgid "Last synced"
+msgstr ""
+
+#: src/wallet/BackupPage.tsx:192
+#, c-format
+msgid "Not synced"
+msgstr ""
+
+#: src/wallet/BackupPage.tsx:211
+#, c-format
+msgid "Expires in"
+msgstr ""
+
+#: src/cta/TermsOfServiceSection.tsx:37
+#, c-format
+msgid "Exchange doesn't have terms of service"
+msgstr ""
+
+#: src/cta/TermsOfServiceSection.tsx:60
+#, c-format
+msgid "Review exchange terms of service"
+msgstr ""
+
+#: src/cta/TermsOfServiceSection.tsx:69
+#, c-format
+msgid "Review new version of terms of service"
+msgstr ""
+
+#: src/cta/TermsOfServiceSection.tsx:83
+#, c-format
+msgid "Show terms of service"
+msgstr ""
+
+#: src/cta/TermsOfServiceSection.tsx:91
+#, c-format
+msgid "I accept the exchange terms of service"
+msgstr ""
+
+#: src/cta/TermsOfServiceSection.tsx:110
+#, c-format
+msgid "The exchange reply with a empty terms of service"
+msgstr ""
+
+#: src/cta/TermsOfServiceSection.tsx:133
+#, c-format
+msgid "Download Terms of Service"
+msgstr ""
+
+#: src/cta/TermsOfServiceSection.tsx:141
+#, c-format
+msgid "Hide terms of service"
+msgstr ""
+
+#: src/wallet/ExchangeAddConfirm.tsx:88
+#, c-format
+msgid "Review terms of service"
+msgstr ""
+
+#: src/wallet/ExchangeAddConfirm.tsx:91
+#, c-format
+msgid "Exchange URL"
+msgstr ""
+
+#: src/wallet/ExchangeAddConfirm.tsx:112
+#, c-format
+msgid "Cancel"
+msgstr "Avbryt"
+
+#: src/wallet/ExchangeAddConfirm.tsx:116
+#, c-format
+msgid "Loading terms.."
+msgstr ""
+
+#: src/wallet/ExchangeAddConfirm.tsx:123
+#, fuzzy, c-format
+msgid "Add exchange"
+msgstr "Accepterade tjänsteleverantörer:"
+
+#: src/wallet/ExchangeAddConfirm.tsx:133
+#, c-format
+msgid "Add exchange anyway"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:96
+#, fuzzy, c-format
+msgid "Add new exchange"
+msgstr "Accepterade tjänsteleverantörer:"
+
+#: src/wallet/ExchangeSetUrl.tsx:100
+#, fuzzy, c-format
+msgid "Add exchange for %1$s"
+msgstr "Accepterade tjänsteleverantörer:"
+
+#: src/wallet/ExchangeSetUrl.tsx:105
+#, c-format
+msgid "Enter the URL of an exchange you trust."
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:112
+#, c-format
+msgid "An exchange has been found! Review the information and click next"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:119
+#, c-format
+msgid "This exchange doesn't match the expected currency %1$s"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:127
+#, c-format
+msgid "Unable to verify this exchange"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:135
+#, c-format
+msgid "Unable to add this exchange"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:151
+#, c-format
+msgid "loading"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:158
+#, c-format
+msgid "Version"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:164
+#, c-format
+msgid "Currency"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:190
+#, c-format
+msgid "Next"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:118
+#, c-format
+msgid "Add backup provider"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:122
+#, c-format
+msgid "Could not get provider information"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:131
+#, c-format
+msgid "Backup providers may charge for their service"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:138
+#, c-format
+msgid "URL"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:149
+#, c-format
+msgid "Name"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:201
+#, c-format
+msgid "Provider URL"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:207
+#, c-format
+msgid "Please review and accept this provider's terms of service"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:212
+#, c-format
+msgid "Pricing"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:215
+#, c-format
+msgid "free of charge"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:217
+#, c-format
+msgid "%1$s per year of service"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:224
+#, c-format
+msgid "Storage"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:227
+#, c-format
+msgid "%1$s megabytes of storage per year of service"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:233
+#, c-format
+msgid "Accept terms of service"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:62
+#, c-format
+msgid "There was an error loading the provider detail for \"%1$s\""
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:108
+#, c-format
+msgid "There is not known provider with url \"%1$s\"."
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:141
+#, c-format
+msgid "Last backup"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:146
+#, c-format
+msgid "Back up"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:152
+#, c-format
+msgid "Provider fee"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:155
+#, c-format
+msgid "per year"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:161
+#, c-format
+msgid "Extend"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:167
+#, c-format
+msgid ""
+"terms has changed, extending the service will imply accepting the new terms "
+"of service"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:177
+#, c-format
+msgid "old"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:181
+#, c-format
+msgid "new"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:188
+#, c-format
+msgid "fee"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:196
+#, c-format
+msgid "storage"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:209
+#, fuzzy, c-format
+msgid "back"
+msgstr "Återbetalning"
+
+#: src/wallet/ProviderDetailPage.tsx:213
+#, c-format
+msgid "Remove provider"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:225
+#, c-format
+msgid "This provider has reported an error"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:239
+#, c-format
+msgid "There is conflict with another backup from %1$s"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:250
+#, c-format
+msgid "Backup is not readable"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:258
+#, c-format
+msgid "Unknown backup problem: %1$s"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:277
+#, c-format
+msgid "service paid"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:284
+#, c-format
+msgid "Backup valid until"
+msgstr ""
+
+#: src/popupEntryPoint.tsx:187
+#, c-format
+msgid "this popup is being closed and you are being redirected to %1$s"
+msgstr ""
+
+#: src/components/SelectList.tsx:62
+#, c-format
+msgid "Select one option"
+msgstr ""
+
+#: src/wallet/CreateManualWithdraw.tsx:103
+#, fuzzy, c-format
+msgid "Manual Withdrawal"
+msgstr "Utbetalnings avgift"
+
+#: src/wallet/CreateManualWithdraw.tsx:106
+#, c-format
+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 ""
+
+#: src/wallet/CreateManualWithdraw.tsx:114
+#, c-format
+msgid "No exchange configured"
+msgstr ""
+
+#: src/wallet/CreateManualWithdraw.tsx:129
+#, c-format
+msgid "Can't create the reserve"
+msgstr ""
+
+#: src/wallet/CreateManualWithdraw.tsx:155
+#, c-format
+msgid "Exchange"
+msgstr ""
+
+#: src/wallet/CreateManualWithdraw.tsx:164
+#, fuzzy, c-format
+msgid "Add Exchange"
+msgstr "Accepterade tjänsteleverantörer:"
+
+#: src/wallet/CreateManualWithdraw.tsx:170
+#, c-format
+msgid "Amount"
+msgstr ""
+
+#: src/wallet/CreateManualWithdraw.tsx:190
+#, c-format
+msgid "Start withdrawal"
+msgstr ""
+
+#: src/wallet/DepositPage.tsx:138
+#, fuzzy, c-format
+msgid "no balance"
+msgstr "Balans"
+
+#: src/wallet/DepositPage.tsx:146
+#, c-format
+msgid "There is no known bank account to send money to"
+msgstr ""
+
+#: src/wallet/DepositPage.tsx:177
+#, c-format
+msgid "Send %1$s to your account"
+msgstr ""
+
+#: src/wallet/DepositPage.tsx:182
+#, c-format
+msgid "Bank account IBAN number"
+msgstr ""
+
+#: src/wallet/DepositPage.tsx:215
+#, fuzzy, c-format
+msgid "Deposit fee"
+msgstr "Depostitions avgift"
+
+#: src/wallet/DepositPage.tsx:229
+#, c-format
+msgid "Total deposit"
+msgstr ""
+
+#: src/wallet/DepositPage.tsx:247
+#, fuzzy, c-format
+msgid "Deposit"
+msgstr "Depostitions avgift"
+
+#: src/wallet/DepositPage.tsx:251
+#, c-format
+msgid "Deposit %1$s %2$s"
+msgstr ""
+
+#: src/components/TransactionItem.tsx:137
+#, c-format
+msgid "Waiting for confirmation"
+msgstr ""
+
+#: src/components/TransactionItem.tsx:201
+#, c-format
+msgid "PENDING"
+msgstr ""
+
+#: src/wallet/History.tsx:70
+#, c-format
+msgid "Could not load the list of transactions"
+msgstr ""
+
+#: src/wallet/History.tsx:216
+#, c-format
+msgid "There is no history for this currency"
+msgstr ""
+
+#: src/components/BankDetailsByPaytoType.tsx:38
+#, c-format
+msgid "Account"
+msgstr ""
+
+#: src/components/BankDetailsByPaytoType.tsx:44
+#, c-format
+msgid "Bank host"
+msgstr ""
+
+#: src/components/BankDetailsByPaytoType.tsx:48
+#, fuzzy, c-format
+msgid "Bank account"
+msgstr "Övervisa till bank konto"
+
+#: src/components/BankDetailsByPaytoType.tsx:53
+#, c-format
+msgid "IBAN"
+msgstr ""
+
+#: src/components/BankDetailsByPaytoType.tsx:65
+#, c-format
+msgid "Chosen amount"
+msgstr ""
+
+#: src/components/BankDetailsByPaytoType.tsx:69
+#, c-format
+msgid "Subject"
+msgstr ""
+
+#: src/wallet/ReserveCreated.tsx:27
+#, c-format
+msgid "could not parse payto uri from exchange %1$s"
+msgstr ""
+
+#: src/wallet/ReserveCreated.tsx:37
+#, fuzzy, c-format
+msgid "Exchange is ready for withdrawal"
+msgstr "Tjänsteleverantörer i plånboken:"
+
+#: src/wallet/ReserveCreated.tsx:40
+#, c-format
+msgid ""
+"To complete the process you need to wire %1$s to the exchange bank account"
+msgstr ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: src/wallet/ReserveCreated.tsx:73
+#, c-format
+msgid "Cancel withdrawal"
+msgstr ""
+
+#: src/wallet/Settings.tsx:89
+#, c-format
+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:105
+#, c-format
+msgid "Automatically open wallet based on page content"
+msgstr ""
+
+#: 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:122
+#, c-format
+msgid "Trust"
+msgstr ""
+
+#: src/wallet/Settings.tsx:126
+#, c-format
+msgid "No exchange yet"
+msgstr ""
+
+#: src/wallet/Settings.tsx:140
+#, c-format
+msgid "Term of Service"
 msgstr ""
 
-#: src/util/wire.ts:42 src/util/wire.ts:45
+#: src/wallet/Settings.tsx:156
 #, c-format
-msgid "Invalid Test Wire Detail"
+msgid "ok"
 msgstr ""
 
-#: src/util/wire.ts:47
+#: src/wallet/Settings.tsx:162
 #, c-format
-msgid "Test Wire Acct #%1$s on %2$s"
+msgid "changed"
 msgstr ""
 
-#: src/util/wire.ts:49
+#: src/wallet/Settings.tsx:169
+#, c-format
+msgid "not accepted"
+msgstr ""
+
+#: src/wallet/Settings.tsx:193
 #, fuzzy, c-format
-msgid "Unknown Wire Detail"
-msgstr "visa mer"
+msgid "Add an exchange"
+msgstr "Accepterade tjänsteleverantörer:"
 
-#: src/webex/pages/benchmark.tsx:52
+#: src/wallet/Settings.tsx:199
 #, c-format
-msgid "Operation"
+msgid "Developer mode"
 msgstr ""
 
-#: src/webex/pages/benchmark.tsx:53
+#: src/wallet/Settings.tsx:201
 #, c-format
-msgid "time (ms/op)"
+msgid "(More options and information useful for debugging)"
 msgstr ""
 
-#: src/webex/pages/pay.tsx:130
-#, fuzzy, c-format
-msgid "The merchant %1$s offers you to purchase:"
-msgstr "Säljaren %1$s erbjuder följande:"
+#: src/wallet/Transaction.tsx:78
+#, c-format
+msgid "Could not load the transaction information"
+msgstr ""
 
-#: src/webex/pages/pay.tsx:136
+#: src/wallet/Transaction.tsx:145
 #, c-format
-msgid "The total price is %1$s (plus %2$s fees)."
-msgstr "Det totala priset är %1$s (plus %2$s avgifter)."
+msgid "There was an error trying to complete the transaction"
+msgstr ""
 
-#: src/webex/pages/pay.tsx:141
-#, fuzzy, c-format
-msgid "The total price is %1$s."
-msgstr "Det totala priset är %1$s."
+#: src/wallet/Transaction.tsx:154
+#, c-format
+msgid "This transaction is not completed"
+msgstr ""
 
-#: src/webex/pages/pay.tsx:163
+#: src/wallet/Transaction.tsx:168
 #, c-format
 msgid "Retry"
 msgstr ""
 
-#: src/webex/pages/pay.tsx:173
+#: src/wallet/Transaction.tsx:172
+#, c-format
+msgid "Forget"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:197
+#, c-format
+msgid "Caution!"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:200
+#, c-format
+msgid ""
+"If you have already wired money to the exchange you will loose the chance to "
+"get the coins form it."
+msgstr ""
+
+#: src/wallet/Transaction.tsx:211
+#, c-format
+msgid "Confirm"
+msgstr "Bekräfta"
+
+#: src/wallet/Transaction.tsx:218
+#, fuzzy, c-format
+msgid "Withdrawal"
+msgstr "Utbetalnings avgift"
+
+#: src/wallet/Transaction.tsx:243
+#, fuzzy, c-format
+msgid "Total withdrawn"
+msgstr "Utbetalnings avgift"
+
+#: src/wallet/Transaction.tsx:249
+#, fuzzy, c-format
+msgid "Exchange fee"
+msgstr "Tjänsteleverantörer i plånboken:"
+
+#: src/wallet/Transaction.tsx:259
+#, c-format
+msgid "The bank is waiting for confirmation. Go to the %1$s"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:273
 #, c-format
-msgid "Confirm payment"
+msgid "Waiting for the coins to arrive"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:342
+#, fuzzy, c-format
+msgid "Payment"
 msgstr "Godkän betalning"
 
-#: src/webex/pages/popup.tsx:153
+#: src/wallet/Transaction.tsx:348
 #, c-format
-msgid "Balance"
-msgstr "Balans"
+msgid "Total paid"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:354
+#, c-format
+msgid "Purchase amount"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:360
+#, c-format
+msgid "Fee"
+msgstr ""
 
-#: src/webex/pages/popup.tsx:154
+#: src/wallet/Transaction.tsx:365
 #, c-format
-msgid "History"
-msgstr "Historia"
+msgid "Merchant"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:370
+#, c-format
+msgid "Purchase"
+msgstr ""
 
-#: src/webex/pages/popup.tsx:155
+#: src/wallet/Transaction.tsx:375
 #, c-format
-msgid "Debug"
+msgid "Receipt"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:175
+#: src/wallet/Transaction.tsx:419
+#, c-format
+msgid "Total send"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:425
+#, fuzzy, c-format
+msgid "Deposit amount"
+msgstr "Depostitions avgift"
+
+#: src/wallet/Transaction.tsx:447
 #, fuzzy, c-format
-msgid "You have no balance to show. Need some %1$s getting started?"
+msgid "Refresh"
+msgstr "Återhämtnings avgift"
+
+#: src/wallet/Transaction.tsx:453
+#, c-format
+msgid "Total refresh"
 msgstr ""
-"Du har ingen balans att visa. Behöver du\n"
-" %1$s att börja?\n"
 
-#: src/webex/pages/popup.tsx:238
+#: src/wallet/Transaction.tsx:459
 #, fuzzy, c-format
-msgid "%1$s incoming"
-msgstr "%1$s inkommande"
+msgid "Refresh amount"
+msgstr "Återhämtnings avgift"
 
-#: src/webex/pages/popup.tsx:250
+#: src/wallet/Transaction.tsx:481
 #, c-format
-msgid "%1$s being spent"
+msgid "Tip"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:281
+#: src/wallet/Transaction.tsx:487
 #, c-format
-msgid "Error: could not retrieve balance information."
+msgid "Total tip"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:390
+#: src/wallet/Transaction.tsx:493
 #, c-format
-msgid "Invalid "
+msgid "Received amount"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:396
+#: src/wallet/Transaction.tsx:515
 #, c-format
-msgid "Fees "
+msgid "Refund"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:434
+#: src/wallet/Transaction.tsx:521
 #, c-format
-msgid "Refresh sessions has completed"
+msgid "Total refund"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:451
+#: src/wallet/Transaction.tsx:527
 #, c-format
-msgid "Order Refused"
+msgid "Refund amount"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:465
+#: src/wallet/Welcome.tsx:58
 #, c-format
-msgid "Order redirected"
+msgid "Browser Extension Installed!"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:482
+#: src/wallet/Welcome.tsx:62
 #, c-format
-msgid "Payment aborted"
+msgid "Thank you for installing the wallet."
 msgstr ""
 
-#: src/webex/pages/popup.tsx:512
+#: src/wallet/Welcome.tsx:66
 #, c-format
-msgid "Payment Sent"
+msgid "Permissions"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:536
+#: src/wallet/Welcome.tsx:75
 #, c-format
-msgid "Order accepted"
+msgid ""
+"(Enabling this option below will make using the wallet faster, but requires "
+"more permissions from your browser.)"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:547
+#: src/wallet/Welcome.tsx:85
 #, c-format
-msgid "Reserve balance updated"
+msgid "Next Steps"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:559
+#: src/wallet/Welcome.tsx:88
 #, c-format
-msgid "Payment refund"
+msgid "Try the demo"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:584
-#, fuzzy, c-format
-msgid "Withdrawn"
-msgstr "Utbetalnings avgift"
+#: src/wallet/Welcome.tsx:91
+#, c-format
+msgid "Learn how to top up your wallet balance"
+msgstr ""
 
-#: src/webex/pages/popup.tsx:596
+#: src/cta/Pay.tsx:113
 #, c-format
-msgid "Tip Accepted"
+msgid "Could not load pay status"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:606
+#: src/cta/Pay.tsx:189
 #, c-format
-msgid "Tip Declined"
+msgid "Could not load contract terms from merchant or wallet backend."
 msgstr ""
 
-#: src/webex/pages/popup.tsx:615
+#: src/cta/Pay.tsx:216
 #, c-format
-msgid "%1$s"
+msgid "Pay with a mobile phone"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:707
+#: src/cta/Pay.tsx:218
 #, c-format
-msgid "Your wallet has no events recorded."
-msgstr "plånboken"
+msgid "Hide QR"
+msgstr ""
 
-#: src/webex/pages/return-coins.tsx:124
+#: src/cta/Pay.tsx:225
 #, c-format
-msgid "Wire to bank account"
-msgstr "Övervisa till bank konto"
+msgid "Scan the QR code or %1$s"
+msgstr ""
 
-#: src/webex/pages/return-coins.tsx:206
+#: src/cta/Pay.tsx:244
 #, c-format
-msgid "Confirm"
-msgstr "Bekräfta"
+msgid "Processing"
+msgstr ""
 
-#: src/webex/pages/return-coins.tsx:209
+#: src/cta/Pay.tsx:257
 #, c-format
-msgid "Cancel"
-msgstr "Avbryt"
+msgid "Pay %1$s"
+msgstr ""
+
+#: src/cta/Pay.tsx:272
+#, c-format
+msgid "Your balance of %1$s is not enough to pay for this purchase"
+msgstr ""
 
-#: src/webex/pages/withdraw.tsx:73
+#: src/cta/Pay.tsx:279
 #, c-format
-msgid "Could not get details for withdraw operation:"
+msgid "Your balance is not enough to pay for this purchase."
 msgstr ""
 
-#: src/webex/pages/withdraw.tsx:89 src/webex/pages/withdraw.tsx:183
+#: src/cta/Pay.tsx:287
 #, fuzzy, c-format
-msgid "Chose different exchange provider"
-msgstr "Ändra tjänsteleverantörer"
+msgid "Withdraw digital cash"
+msgstr "Utbetalnings avgifter:"
 
-#: src/webex/pages/withdraw.tsx:109
+#: src/cta/Pay.tsx:300
 #, c-format
-msgid ""
-"Please select an exchange.  You can review the details before after your "
-"selection."
+msgid "Merchant message"
+msgstr ""
+
+#: src/cta/Pay.tsx:318
+#, c-format
+msgid "Digital cash payment"
+msgstr ""
+
+#: src/cta/Pay.tsx:324
+#, c-format
+msgid "Already paid, you are going to be redirected to %1$s"
+msgstr ""
+
+#: src/cta/Pay.tsx:333
+#, c-format
+msgid "Already paid"
+msgstr ""
+
+#: src/cta/Pay.tsx:338
+#, c-format
+msgid "Already claimed"
+msgstr ""
+
+#: src/cta/Pay.tsx:344
+#, c-format
+msgid "Payment complete"
+msgstr ""
+
+#: src/cta/Pay.tsx:348
+#, c-format
+msgid "You are going to be redirected to $ %1$s"
+msgstr ""
+
+#: src/cta/Pay.tsx:353
+#, c-format
+msgid "You can close this page."
+msgstr ""
+
+#: src/cta/Pay.tsx:367
+#, c-format
+msgid "Total to pay"
+msgstr ""
+
+#: src/cta/Pay.tsx:418
+#, c-format
+msgid "List of products"
+msgstr ""
+
+#: src/cta/Pay.tsx:460
+#, c-format
+msgid "Total"
+msgstr ""
+
+#: src/cta/Pay.tsx:469
+#, c-format
+msgid "free"
+msgstr ""
+
+#: src/cta/Refund.tsx:41
+#, c-format
+msgid "Refund Status"
+msgstr ""
+
+#: src/cta/Refund.tsx:44
+#, c-format
+msgid "The product %1$s has received a total effective refund of"
+msgstr ""
+
+#: src/cta/Refund.tsx:52
+#, c-format
+msgid "Refund processing is still in progress."
+msgstr ""
+
+#: src/cta/Refund.tsx:59
+#, c-format
+msgid "The refund amount of %1$s could not be applied."
 msgstr ""
 
-#: src/webex/pages/withdraw.tsx:121
+#: src/cta/Refund.tsx:97
+#, c-format
+msgid "missing taler refund uri"
+msgstr ""
+
+#: src/cta/Refund.tsx:105
+#, c-format
+msgid "Error: %1$s"
+msgstr ""
+
+#: src/cta/Refund.tsx:113
+#, c-format
+msgid "Updating refund status"
+msgstr ""
+
+#: src/cta/Tip.tsx:49
+#, c-format
+msgid "Tip from %1$s accepted. Check your transactions list for more details."
+msgstr ""
+
+#: src/cta/Tip.tsx:57
 #, fuzzy, c-format
-msgid "Select %1$s"
-msgstr "Välj %1$s"
+msgid "The merchant %1$s is offering you a tip of %2$s via the exchange %3$s"
+msgstr "Säljaren %1$s erbjuder följande:"
 
-#: src/webex/pages/withdraw.tsx:143
+#: src/cta/Tip.tsx:67
 #, c-format
-msgid "Select custom exchange"
+msgid "Accept tip"
 msgstr ""
 
-#: src/webex/pages/withdraw.tsx:163
+#: src/cta/Tip.tsx:70
 #, c-format
-msgid "You are about to withdraw %1$s from your bank account into your wallet."
-msgstr "Du är på väg att ta ut %1$s från ditt bankkonto till din plånbok."
+msgid "Ignore"
+msgstr ""
 
-#: src/webex/pages/withdraw.tsx:174
+#: src/cta/Tip.tsx:111
 #, c-format
-msgid "Accept fees and withdraw"
-msgstr "Acceptera avgifter och utbetala"
+msgid "missing tip uri"
+msgstr ""
 
-#: src/webex/pages/withdraw.tsx:192
+#: src/cta/Tip.tsx:119
 #, c-format
-msgid "Cancel withdraw operation"
+msgid "You've ignored the tip."
 msgstr ""
 
-#: src/webex/renderHtml.tsx:249
+#: src/cta/Withdraw.tsx:122
 #, c-format
-msgid "Withdrawal fees:"
-msgstr "Utbetalnings avgifter:"
+msgid "Digital cash withdrawal"
+msgstr ""
 
-#: src/webex/renderHtml.tsx:252
+#: src/cta/Withdraw.tsx:127
 #, c-format
-msgid "Rounding loss:"
+msgid "Could not finish the withdrawal operation"
 msgstr ""
 
-#: src/webex/renderHtml.tsx:254
+#: src/cta/Withdraw.tsx:138
 #, c-format
-msgid "Earliest expiration (for deposit): %1$s"
+msgid "Total to withdraw"
 msgstr ""
 
-#: src/webex/renderHtml.tsx:262
+#: src/cta/Withdraw.tsx:171
 #, c-format
-msgid "# Coins"
-msgstr "# Mynt"
+msgid "Known exchanges"
+msgstr ""
 
-#: src/webex/renderHtml.tsx:263
+#: src/cta/Withdraw.tsx:187
 #, c-format
-msgid "Value"
-msgstr "Värde"
+msgid "Cancel exchange selection"
+msgstr ""
 
-#: src/webex/renderHtml.tsx:264
+#: src/cta/Withdraw.tsx:189
 #, c-format
-msgid "Withdraw Fee"
-msgstr "Utbetalnings avgift"
+msgid "Confirm exchange selection"
+msgstr ""
 
-#: src/webex/renderHtml.tsx:265
+#: src/cta/Withdraw.tsx:196
 #, c-format
-msgid "Refresh Fee"
-msgstr "Återhämtnings avgift"
+msgid "Switch exchange"
+msgstr ""
 
-#: src/webex/renderHtml.tsx:266
+#: src/cta/Withdraw.tsx:215
 #, c-format
-msgid "Deposit Fee"
-msgstr "Depostitions avgift"
+msgid "Confirm withdrawal"
+msgstr ""
 
+#: src/cta/Withdraw.tsx:224
 #, fuzzy, c-format
+msgid "Withdraw anyway"
+msgstr "Utbetalnings avgift"
+
+#: src/cta/Withdraw.tsx:287
+#, c-format
+msgid "Could not load the withdrawal details"
+msgstr ""
+
+#: src/cta/Withdraw.tsx:344
+#, c-format
+msgid "missing withdraw uri"
+msgstr ""
+
+#: src/cta/Withdraw.tsx:354
+#, c-format
+msgid "Could not get the info from the URI"
+msgstr ""
+
+#: src/wallet/ManualWithdrawPage.tsx:99
+#, c-format
+msgid "Could not load the list of known exchanges"
+msgstr ""
+
+#: src/walletEntryPoint.tsx:172
+#, c-format
+msgid "All done, your transaction is in progress"
+msgstr ""
+
+#: src/components/EditableText.tsx:44
+#, c-format
+msgid "Edit"
+msgstr ""
+
+#: src/cta/Deposit.tsx:114
+#, c-format
+msgid "missing pay uri"
+msgstr ""
+
+#: src/cta/Deposit.tsx:129
+#, c-format
+msgid "Could not get the payment information for this order"
+msgstr ""
+
+#: src/cta/Deposit.tsx:160
+#, c-format
+msgid "Loading payment information"
+msgstr ""
+
+#: src/cta/Deposit.tsx:208
+#, c-format
+msgid "Digital cash deposit"
+msgstr ""
+
+#: src/cta/Deposit.tsx:226
+#, c-format
+msgid "You will now be sent back to the merchant you came from."
+msgstr ""
+
+#: src/cta/reset-required.tsx:54
+#, c-format
+msgid "Manual Reset Required"
+msgstr ""
+
+#: src/cta/reset-required.tsx:57
+#, c-format
+msgid ""
+"The wallet&apos;s database in your browser is incompatible with the "
+"currently installed wallet. Please reset manually."
+msgstr ""
+
+#: src/cta/reset-required.tsx:63
+#, c-format
+msgid ""
+"Once the database format has stabilized, we will provide automatic upgrades."
+msgstr ""
+
+#: src/cta/reset-required.tsx:77
+#, c-format
+msgid "I understand that I will lose all my data"
+msgstr ""
+
+#: src/cta/reset-required.tsx:87
+#, c-format
+msgid "Reset"
+msgstr ""
+
+#: src/cta/reset-required.tsx:95
+#, c-format
+msgid "Everything is fine!"
+msgstr ""
+
+#: src/cta/reset-required.tsx:98
+#, c-format
+msgid "A reset is not required anymore, you can close this page."
+msgstr ""
+
+#: src/cta/return-coins.tsx:31
+#, c-format
+msgid "Not implemented yet."
+msgstr ""
+
+#, fuzzy
+#~ msgid "Unknown Wire Detail"
+#~ msgstr "visa mer"
+
+#~ msgid "The total price is %1$s (plus %2$s fees)."
+#~ msgstr "Det totala priset är %1$s (plus %2$s avgifter)."
+
+#, fuzzy
+#~ msgid "The total price is %1$s."
+#~ msgstr "Det totala priset är %1$s."
+
+#~ msgid "Confirm payment"
+#~ msgstr "Godkän betalning"
+
+#~ msgid "History"
+#~ msgstr "Historia"
+
+#, fuzzy
+#~ msgid "%1$s incoming"
+#~ msgstr "%1$s inkommande"
+
+#~ msgid "Your wallet has no events recorded."
+#~ msgstr "plånboken"
+
+#, fuzzy
+#~ msgid "Chose different exchange provider"
+#~ msgstr "Ändra tjänsteleverantörer"
+
+#, fuzzy
+#~ msgid "Select %1$s"
+#~ msgstr "Välj %1$s"
+
+#~ msgid ""
+#~ "You are about to withdraw %1$s from your bank account into your wallet."
+#~ msgstr "Du är på väg att ta ut %1$s från ditt bankkonto till din plånbok."
+
+#~ msgid "Accept fees and withdraw"
+#~ msgstr "Acceptera avgifter och utbetala"
+
+#, fuzzy
 #~ msgid "Merchant %1$s offered contract %2$s."
 #~ msgstr "Säljaren %1$s erbjöd kontrakt %2$s.\n"
 
-#, fuzzy, c-format
+#, fuzzy
 #~ msgid "Merchant %1$s gave a refund over %2$s."
 #~ msgstr "Säljaren %1$sgav en återbetalning på %2$s.\n"
 
-#, fuzzy, c-format
+#, fuzzy
 #~ msgid "Merchant %1$s gave a %2$s of %3$s."
 #~ msgstr "Säljaren %1$sgav en återbetalning på %2$s.\n"
 
-#, c-format
 #~ msgid "help"
 #~ msgstr "hjälp"
 
-#, c-format
-#~ msgid "Payback"
-#~ msgstr "Återbetalning"
-
-#, c-format
 #~ msgid "Return Electronic Cash to Bank Account"
 #~ msgstr "Återlämna elektroniska pengar till bank konto"
 
-#, fuzzy, c-format
+#, fuzzy
 #~ msgid "show more details"
 #~ msgstr "visa mer"
 
-#, c-format
-#~ msgid "Accepted exchanges:"
-#~ msgstr "Accepterade tjänsteleverantörer:"
-
-#, c-format
-#~ msgid "Exchanges in the wallet:"
-#~ msgstr "Tjänsteleverantörer i plånboken:"
-
-#, c-format
 #~ msgid ""
 #~ "You have insufficient funds of the requested currency in your wallet."
 #~ msgstr "plånboken"
 
-#, c-format
 #~ msgid ""
 #~ "You do not have any funds from an exchange that is accepted by this "
 #~ "merchant. None of the exchanges accepted by the merchant is known to your "
 #~ "wallet."
 #~ msgstr "plånboken"
 
-#, c-format
 #~ msgid "Submitting payment"
 #~ msgstr "Bekräftar betalning"
 
-#, c-format
 #~ msgid ""
 #~ "You already paid for this, clicking \"Confirm payment\" will not cost "
 #~ "money again."
@@ -352,36 +1448,27 @@ msgstr "Depostitions avgift"
 #~ "Du har redan betalat för det här, om du trycker \"Godkän betalning\" "
 #~ "debiteras du inte igen"
 
-#, fuzzy, c-format
+#, fuzzy
 #~ msgid "Aborting payment ..."
 #~ msgstr "Bekräftar betalning"
 
-#, fuzzy, c-format
-#~ msgid "Abort Payment"
-#~ msgstr "Godkän betalning"
-
-#, c-format
 #~ msgid "Select"
 #~ msgstr "Välj"
 
-#, fuzzy, c-format
-#~ msgid "The exchange is trusted by the wallet."
-#~ msgstr "Tjänsteleverantörer i plånboken:"
-
-#, fuzzy, c-format
+#, fuzzy
 #~ msgid ""
 #~ "Your wallet (protocol version %1$s) might be outdated.%2$s The exchange "
 #~ "has a higher, incompatible protocol version (%3$s)."
 #~ msgstr "tjänsteleverantörer plånboken"
 
-#, fuzzy, c-format
+#, fuzzy
 #~ msgid ""
 #~ "The chosen exchange (protocol version %1$s might be outdated.%2$s The "
 #~ "exchange has a lower, incompatible protocol version than your wallet "
 #~ "(protocol version %3$s)."
 #~ msgstr "tjänsteleverantörer plånboken"
 
-#, fuzzy, c-format
+#, fuzzy
 #~ msgid ""
 #~ "Oops, something went wrong. The wallet responded with error status (%1$s)."
 #~ msgstr "plånboken"
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 70aa9c70..46d6584c 100644
--- a/packages/taler-wallet-webextension/src/i18n/taler-wallet-webex.pot
+++ b/packages/taler-wallet-webextension/src/i18n/taler-wallet-webex.pot
@@ -17,275 +17,1338 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: src/NavigationBar.tsx:86
+#: src/NavigationBar.tsx:70
 #, c-format
 msgid "Balance"
 msgstr ""
 
-#: src/NavigationBar.tsx:87
+#: src/NavigationBar.tsx:73
 #, c-format
-msgid "Pending"
+msgid "Backup"
+msgstr ""
+
+#: src/NavigationBar.tsx:77
+#, c-format
+msgid "Settings"
+msgstr ""
+
+#: src/NavigationBar.tsx:96
+#, c-format
+msgid "Dev"
+msgstr ""
+
+#: src/components/Loading.tsx:22
+#, c-format
+msgid "Loading"
+msgstr ""
+
+#: src/wallet/AddNewActionView.tsx:14
+#, c-format
+msgid "Open reserve page"
+msgstr ""
+
+#: src/wallet/AddNewActionView.tsx:16
+#, c-format
+msgid "Open pay page"
+msgstr ""
+
+#: src/wallet/AddNewActionView.tsx:18
+#, c-format
+msgid "Open refund page"
+msgstr ""
+
+#: src/wallet/AddNewActionView.tsx:20
+#, c-format
+msgid "Open tip page"
+msgstr ""
+
+#: src/wallet/AddNewActionView.tsx:22
+#, c-format
+msgid "Open withdraw page"
+msgstr ""
+
+#: src/wallet/AddNewActionView.tsx:51
+#, c-format
+msgid "Back"
+msgstr ""
+
+#: src/popup/NoBalanceHelp.tsx:14
+#, c-format
+msgid "You have no balance to show."
+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 ""
+
+#: src/popup/NoBalanceHelp.tsx:23
+#, c-format
+msgid "Withdraw"
+msgstr ""
+
+#: src/popup/BalancePage.tsx:52
+#, c-format
+msgid "Could not load balance page"
+msgstr ""
+
+#: src/popup/BalancePage.tsx:111
+#, c-format
+msgid "Deposit %1$s"
+msgstr ""
+
+#: src/popup/BalancePage.tsx:120
+#, c-format
+msgid "Enter URI"
+msgstr ""
+
+#: src/components/Diagnostics.tsx:30
+#, c-format
+msgid "Diagnostics timed out. Could not talk to the wallet backend."
+msgstr ""
+
+#: src/components/Diagnostics.tsx:51
+#, c-format
+msgid "Problems detected:"
+msgstr ""
+
+#: src/components/Diagnostics.tsx:60
+#, c-format
+msgid ""
+"Please check in your %1$s settings that you have IndexedDB enabled (check the 
"
+"preference name %2$s)."
+msgstr ""
+
+#: 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 ""
+
+#: src/components/Diagnostics.tsx:85
+#, c-format
+msgid "Running diagnostics"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:154
+#, c-format
+msgid "Debug tools"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:157
+#, c-format
+msgid "reset"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:161
+#, c-format
+msgid "import database"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:182
+#, c-format
+msgid "export database"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:186
+#, c-format
+msgid "Database exported at %1$s %2$s to download"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:209
+#, c-format
+msgid "Coins"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:236
+#, c-format
+msgid "Pending operations"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:275
+#, c-format
+msgid "usable coins"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:284
+#, c-format
+msgid "id"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:287
+#, c-format
+msgid "denom"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:290
+#, c-format
+msgid "value"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:293
+#, c-format
+msgid "status"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:296
+#, c-format
+msgid "from refresh?"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:313
+#, c-format
+msgid "spent coins"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:317
+#, c-format
+msgid "click to show"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:377
+#, c-format
+msgid ""
+"Do you want to IRREVOCABLY DESTROY everything inside your wallet and LOSE ALL 
"
+"YOUR COINS?"
+msgstr ""
+
+#: src/popup/TalerActionFound.tsx:56
+#, c-format
+msgid "Taler Action"
+msgstr ""
+
+#: src/popup/TalerActionFound.tsx:61
+#, c-format
+msgid "This page has pay action."
+msgstr ""
+
+#: src/popup/TalerActionFound.tsx:75
+#, c-format
+msgid "This page has a withdrawal action."
+msgstr ""
+
+#: src/popup/TalerActionFound.tsx:91
+#, c-format
+msgid "This page has a tip action."
+msgstr ""
+
+#: src/popup/TalerActionFound.tsx:105
+#, c-format
+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."
+msgstr ""
+
+#: src/popup/TalerActionFound.tsx:135
+#, c-format
+msgid "This page has a malformed taler uri."
+msgstr ""
+
+#: src/popup/TalerActionFound.tsx:147
+#, c-format
+msgid "Dismiss"
+msgstr ""
+
+#: src/wallet/BackupPage.tsx:75
+#, c-format
+msgid "Could not load backup providers"
+msgstr ""
+
+#: src/wallet/BackupPage.tsx:129
+#, c-format
+msgid "No backup providers configured"
+msgstr ""
+
+#: src/wallet/BackupPage.tsx:132
+#, c-format
+msgid "Add provider"
+msgstr ""
+
+#: src/wallet/BackupPage.tsx:142
+#, c-format
+msgid "Sync all backups"
+msgstr ""
+
+#: src/wallet/BackupPage.tsx:144
+#, c-format
+msgid "Sync now"
+msgstr ""
+
+#: src/wallet/BackupPage.tsx:187
+#, c-format
+msgid "Last synced"
+msgstr ""
+
+#: src/wallet/BackupPage.tsx:192
+#, c-format
+msgid "Not synced"
+msgstr ""
+
+#: src/wallet/BackupPage.tsx:211
+#, c-format
+msgid "Expires in"
+msgstr ""
+
+#: src/cta/TermsOfServiceSection.tsx:37
+#, c-format
+msgid "Exchange doesn't have terms of service"
+msgstr ""
+
+#: src/cta/TermsOfServiceSection.tsx:60
+#, c-format
+msgid "Review exchange terms of service"
+msgstr ""
+
+#: src/cta/TermsOfServiceSection.tsx:69
+#, c-format
+msgid "Review new version of terms of service"
+msgstr ""
+
+#: src/cta/TermsOfServiceSection.tsx:83
+#, c-format
+msgid "Show terms of service"
+msgstr ""
+
+#: src/cta/TermsOfServiceSection.tsx:91
+#, c-format
+msgid "I accept the exchange terms of service"
+msgstr ""
+
+#: src/cta/TermsOfServiceSection.tsx:110
+#, c-format
+msgid "The exchange reply with a empty terms of service"
+msgstr ""
+
+#: src/cta/TermsOfServiceSection.tsx:133
+#, c-format
+msgid "Download Terms of Service"
+msgstr ""
+
+#: src/cta/TermsOfServiceSection.tsx:141
+#, c-format
+msgid "Hide terms of service"
+msgstr ""
+
+#: src/wallet/ExchangeAddConfirm.tsx:88
+#, c-format
+msgid "Review terms of service"
+msgstr ""
+
+#: src/wallet/ExchangeAddConfirm.tsx:91
+#, c-format
+msgid "Exchange URL"
+msgstr ""
+
+#: src/wallet/ExchangeAddConfirm.tsx:112
+#, c-format
+msgid "Cancel"
+msgstr ""
+
+#: src/wallet/ExchangeAddConfirm.tsx:116
+#, c-format
+msgid "Loading terms.."
+msgstr ""
+
+#: src/wallet/ExchangeAddConfirm.tsx:123
+#, c-format
+msgid "Add exchange"
+msgstr ""
+
+#: src/wallet/ExchangeAddConfirm.tsx:133
+#, c-format
+msgid "Add exchange anyway"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:96
+#, c-format
+msgid "Add new exchange"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:100
+#, c-format
+msgid "Add exchange for %1$s"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:105
+#, c-format
+msgid "Enter the URL of an exchange you trust."
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:112
+#, c-format
+msgid "An exchange has been found! Review the information and click next"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:119
+#, c-format
+msgid "This exchange doesn't match the expected currency %1$s"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:127
+#, c-format
+msgid "Unable to verify this exchange"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:135
+#, c-format
+msgid "Unable to add this exchange"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:151
+#, c-format
+msgid "loading"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:158
+#, c-format
+msgid "Version"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:164
+#, c-format
+msgid "Currency"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:190
+#, c-format
+msgid "Next"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:118
+#, c-format
+msgid "Add backup provider"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:122
+#, c-format
+msgid "Could not get provider information"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:131
+#, c-format
+msgid "Backup providers may charge for their service"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:138
+#, c-format
+msgid "URL"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:149
+#, c-format
+msgid "Name"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:201
+#, c-format
+msgid "Provider URL"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:207
+#, c-format
+msgid "Please review and accept this provider's terms of service"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:212
+#, c-format
+msgid "Pricing"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:215
+#, c-format
+msgid "free of charge"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:217
+#, c-format
+msgid "%1$s per year of service"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:224
+#, c-format
+msgid "Storage"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:227
+#, c-format
+msgid "%1$s megabytes of storage per year of service"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:233
+#, c-format
+msgid "Accept terms of service"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:62
+#, c-format
+msgid "There was an error loading the provider detail for \"%1$s\""
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:108
+#, c-format
+msgid "There is not known provider with url \"%1$s\"."
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:141
+#, c-format
+msgid "Last backup"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:146
+#, c-format
+msgid "Back up"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:152
+#, c-format
+msgid "Provider fee"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:155
+#, c-format
+msgid "per year"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:161
+#, c-format
+msgid "Extend"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:167
+#, c-format
+msgid ""
+"terms has changed, extending the service will imply accepting the new terms 
of "
+"service"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:177
+#, c-format
+msgid "old"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:181
+#, c-format
+msgid "new"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:188
+#, c-format
+msgid "fee"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:196
+#, c-format
+msgid "storage"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:209
+#, c-format
+msgid "back"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:213
+#, c-format
+msgid "Remove provider"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:225
+#, c-format
+msgid "This provider has reported an error"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:239
+#, c-format
+msgid "There is conflict with another backup from %1$s"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:250
+#, c-format
+msgid "Backup is not readable"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:258
+#, c-format
+msgid "Unknown backup problem: %1$s"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:277
+#, c-format
+msgid "service paid"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:284
+#, c-format
+msgid "Backup valid until"
+msgstr ""
+
+#: src/popupEntryPoint.tsx:187
+#, c-format
+msgid "this popup is being closed and you are being redirected to %1$s"
+msgstr ""
+
+#: src/components/SelectList.tsx:62
+#, c-format
+msgid "Select one option"
+msgstr ""
+
+#: src/wallet/CreateManualWithdraw.tsx:103
+#, c-format
+msgid "Manual Withdrawal"
+msgstr ""
+
+#: src/wallet/CreateManualWithdraw.tsx:106
+#, c-format
+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 ""
+
+#: src/wallet/CreateManualWithdraw.tsx:114
+#, c-format
+msgid "No exchange configured"
+msgstr ""
+
+#: src/wallet/CreateManualWithdraw.tsx:129
+#, c-format
+msgid "Can't create the reserve"
+msgstr ""
+
+#: src/wallet/CreateManualWithdraw.tsx:155
+#, c-format
+msgid "Exchange"
+msgstr ""
+
+#: src/wallet/CreateManualWithdraw.tsx:164
+#, c-format
+msgid "Add Exchange"
+msgstr ""
+
+#: src/wallet/CreateManualWithdraw.tsx:170
+#, c-format
+msgid "Amount"
+msgstr ""
+
+#: src/wallet/CreateManualWithdraw.tsx:190
+#, c-format
+msgid "Start withdrawal"
+msgstr ""
+
+#: src/wallet/DepositPage.tsx:138
+#, c-format
+msgid "no balance"
+msgstr ""
+
+#: src/wallet/DepositPage.tsx:146
+#, c-format
+msgid "There is no known bank account to send money to"
+msgstr ""
+
+#: src/wallet/DepositPage.tsx:177
+#, c-format
+msgid "Send %1$s to your account"
+msgstr ""
+
+#: src/wallet/DepositPage.tsx:182
+#, c-format
+msgid "Bank account IBAN number"
+msgstr ""
+
+#: src/wallet/DepositPage.tsx:215
+#, c-format
+msgid "Deposit fee"
+msgstr ""
+
+#: src/wallet/DepositPage.tsx:229
+#, c-format
+msgid "Total deposit"
+msgstr ""
+
+#: src/wallet/DepositPage.tsx:247
+#, c-format
+msgid "Deposit"
+msgstr ""
+
+#: src/wallet/DepositPage.tsx:251
+#, c-format
+msgid "Deposit %1$s %2$s"
+msgstr ""
+
+#: src/components/TransactionItem.tsx:137
+#, c-format
+msgid "Waiting for confirmation"
+msgstr ""
+
+#: src/components/TransactionItem.tsx:201
+#, c-format
+msgid "PENDING"
+msgstr ""
+
+#: src/wallet/History.tsx:70
+#, c-format
+msgid "Could not load the list of transactions"
+msgstr ""
+
+#: src/wallet/History.tsx:216
+#, c-format
+msgid "There is no history for this currency"
+msgstr ""
+
+#: src/components/BankDetailsByPaytoType.tsx:38
+#, c-format
+msgid "Account"
+msgstr ""
+
+#: src/components/BankDetailsByPaytoType.tsx:44
+#, c-format
+msgid "Bank host"
+msgstr ""
+
+#: src/components/BankDetailsByPaytoType.tsx:48
+#, c-format
+msgid "Bank account"
+msgstr ""
+
+#: src/components/BankDetailsByPaytoType.tsx:53
+#, c-format
+msgid "IBAN"
+msgstr ""
+
+#: src/components/BankDetailsByPaytoType.tsx:65
+#, c-format
+msgid "Chosen amount"
 msgstr ""
 
-#: src/NavigationBar.tsx:88
+#: src/components/BankDetailsByPaytoType.tsx:69
 #, c-format
-msgid "Backup"
+msgid "Subject"
 msgstr ""
 
-#: src/NavigationBar.tsx:89
+#: src/wallet/ReserveCreated.tsx:27
 #, c-format
-msgid "Settings"
+msgid "could not parse payto uri from exchange %1$s"
 msgstr ""
 
-#: src/NavigationBar.tsx:90
+#: src/wallet/ReserveCreated.tsx:37
 #, c-format
-msgid "Dev"
+msgid "Exchange is ready for withdrawal"
 msgstr ""
 
-#: src/wallet/BackupPage.tsx:127
+#: src/wallet/ReserveCreated.tsx:40
 #, c-format
-msgid "Add provider"
+msgid "To complete the process you need to wire %1$s to the exchange bank 
account"
 msgstr ""
 
-#: src/wallet/BackupPage.tsx:137
+#: src/wallet/ReserveCreated.tsx:53
 #, c-format
-msgid "Sync all backups"
+msgid ""
+"Make sure to use the correct subject, otherwise the money will not arrive in "
+"this wallet."
 msgstr ""
 
-#: src/wallet/BackupPage.tsx:139
+#: src/wallet/ReserveCreated.tsx:62
 #, c-format
-msgid "Sync now"
+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 ""
 
-#: src/popup/BalancePage.tsx:79
+#: src/wallet/ReserveCreated.tsx:73
 #, c-format
-msgid "You have no balance to show. Need some %1$s getting started?"
+msgid "Cancel withdrawal"
 msgstr ""
 
-#: src/wallet/ProviderAddPage.tsx:145
+#: src/wallet/Settings.tsx:89
 #, c-format
-msgid "&lt; Back"
+msgid "Display"
 msgstr ""
 
-#: src/wallet/ProviderAddPage.tsx:156
+#: src/wallet/Settings.tsx:93
 #, c-format
-msgid "Next"
+msgid "Current Language"
 msgstr ""
 
-#: src/wallet/ProviderDetailPage.tsx:57
+#: src/wallet/Settings.tsx:102
 #, c-format
-msgid "Loading..."
+msgid "Navigator"
 msgstr ""
 
-#: src/wallet/ProviderDetailPage.tsx:64
+#: src/wallet/Settings.tsx:105
 #, c-format
-msgid "There was an error loading the provider detail for \"%1$s\""
+msgid "Automatically open wallet based on page content"
 msgstr ""
 
-#: src/wallet/ProviderDetailPage.tsx:75
+#: src/wallet/Settings.tsx:111
 #, c-format
-msgid "There is not known provider with url \"%1$s\". Redirecting back..."
+msgid ""
+"Enabling this option below will make using the wallet faster, but requires 
more "
+"permissions from your browser."
 msgstr ""
 
-#: src/wallet/ProviderDetailPage.tsx:131
+#: src/wallet/Settings.tsx:122
 #, c-format
-msgid "Back up"
+msgid "Trust"
 msgstr ""
 
-#: src/wallet/ProviderDetailPage.tsx:142
+#: src/wallet/Settings.tsx:126
 #, c-format
-msgid "Extend"
+msgid "No exchange yet"
+msgstr ""
+
+#: src/wallet/Settings.tsx:140
+#, c-format
+msgid "Term of Service"
+msgstr ""
+
+#: src/wallet/Settings.tsx:156
+#, c-format
+msgid "ok"
+msgstr ""
+
+#: src/wallet/Settings.tsx:162
+#, c-format
+msgid "changed"
+msgstr ""
+
+#: src/wallet/Settings.tsx:169
+#, c-format
+msgid "not accepted"
+msgstr ""
+
+#: src/wallet/Settings.tsx:193
+#, c-format
+msgid "Add an exchange"
+msgstr ""
+
+#: src/wallet/Settings.tsx:199
+#, c-format
+msgid "Developer mode"
+msgstr ""
+
+#: src/wallet/Settings.tsx:201
+#, c-format
+msgid "(More options and information useful for debugging)"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:78
+#, c-format
+msgid "Could not load the transaction information"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:145
+#, c-format
+msgid "There was an error trying to complete the transaction"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:154
+#, c-format
+msgid "This transaction is not completed"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:168
+#, c-format
+msgid "Retry"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:172
+#, c-format
+msgid "Forget"
+msgstr ""
+
+#: src/wallet/Transaction.tsx:197
+#, c-format
+msgid "Caution!"
 msgstr ""
 
-#: src/wallet/ProviderDetailPage.tsx:148
+#: src/wallet/Transaction.tsx:200
 #, c-format
 msgid ""
-"terms has changed, extending the service will imply accepting the new terms 
of "
-"service"
+"If you have already wired money to the exchange you will loose the chance to 
get "
+"the coins form it."
 msgstr ""
 
-#: src/wallet/ProviderDetailPage.tsx:158
+#: src/wallet/Transaction.tsx:211
 #, c-format
-msgid "old"
+msgid "Confirm"
 msgstr ""
 
-#: src/wallet/ProviderDetailPage.tsx:162
+#: src/wallet/Transaction.tsx:218
 #, c-format
-msgid "new"
+msgid "Withdrawal"
 msgstr ""
 
-#: src/wallet/ProviderDetailPage.tsx:169
+#: src/wallet/Transaction.tsx:243
 #, c-format
-msgid "fee"
+msgid "Total withdrawn"
 msgstr ""
 
-#: src/wallet/ProviderDetailPage.tsx:177
+#: src/wallet/Transaction.tsx:249
 #, c-format
-msgid "storage"
+msgid "Exchange fee"
 msgstr ""
 
-#: src/wallet/ProviderDetailPage.tsx:190
+#: src/wallet/Transaction.tsx:259
 #, c-format
-msgid "&lt; back"
+msgid "The bank is waiting for confirmation. Go to the %1$s"
 msgstr ""
 
-#: src/wallet/ProviderDetailPage.tsx:194
+#: src/wallet/Transaction.tsx:273
 #, c-format
-msgid "remove provider"
+msgid "Waiting for the coins to arrive"
 msgstr ""
 
-#: src/wallet/ProviderDetailPage.tsx:213
+#: src/wallet/Transaction.tsx:342
 #, c-format
-msgid "There is conflict with another backup from %1$s"
+msgid "Payment"
 msgstr ""
 
-#: src/wallet/ProviderDetailPage.tsx:228
+#: src/wallet/Transaction.tsx:348
 #, c-format
-msgid "Unknown backup problem: %1$s"
+msgid "Total paid"
 msgstr ""
 
-#: src/wallet/ProviderDetailPage.tsx:247
+#: src/wallet/Transaction.tsx:354
 #, c-format
-msgid "service paid"
+msgid "Purchase amount"
 msgstr ""
 
-#: src/popup/Settings.tsx:46
+#: src/wallet/Transaction.tsx:360
 #, c-format
-msgid "Permissions"
+msgid "Fee"
 msgstr ""
 
-#: src/cta/TermsOfServiceSection.tsx:37
+#: src/wallet/Transaction.tsx:365
 #, c-format
-msgid "Exchange doesn't have terms of service"
+msgid "Merchant"
 msgstr ""
 
-#: src/cta/TermsOfServiceSection.tsx:56
+#: src/wallet/Transaction.tsx:370
 #, c-format
-msgid "Review exchange terms of service"
+msgid "Purchase"
 msgstr ""
 
-#: src/cta/TermsOfServiceSection.tsx:63
+#: src/wallet/Transaction.tsx:375
 #, c-format
-msgid "Review new version of terms of service"
+msgid "Receipt"
 msgstr ""
 
-#: src/cta/TermsOfServiceSection.tsx:75
+#: src/wallet/Transaction.tsx:419
 #, c-format
-msgid "Show terms of service"
+msgid "Total send"
 msgstr ""
 
-#: src/cta/TermsOfServiceSection.tsx:83
+#: src/wallet/Transaction.tsx:425
 #, c-format
-msgid "I accept the exchange terms of service"
+msgid "Deposit amount"
 msgstr ""
 
-#: src/cta/TermsOfServiceSection.tsx:127
+#: src/wallet/Transaction.tsx:447
 #, c-format
-msgid "Hide terms of service"
+msgid "Refresh"
 msgstr ""
 
-#: src/wallet/ExchangeAddConfirm.tsx:110
+#: src/wallet/Transaction.tsx:453
 #, c-format
-msgid "Cancel"
+msgid "Total refresh"
 msgstr ""
 
-#: src/wallet/ExchangeAddConfirm.tsx:114
+#: src/wallet/Transaction.tsx:459
 #, c-format
-msgid "Loading terms.."
+msgid "Refresh amount"
 msgstr ""
 
-#: src/wallet/ExchangeAddConfirm.tsx:121
+#: src/wallet/Transaction.tsx:481
 #, c-format
-msgid "Add exchange"
+msgid "Tip"
 msgstr ""
 
-#: src/wallet/ExchangeAddConfirm.tsx:131
+#: src/wallet/Transaction.tsx:487
 #, c-format
-msgid "Add exchange anyway"
+msgid "Total tip"
 msgstr ""
 
-#: src/wallet/Settings.tsx:95
+#: src/wallet/Transaction.tsx:493
 #, c-format
-msgid "Known exchanges"
+msgid "Received amount"
 msgstr ""
 
-#: src/wallet/Transaction.tsx:159
+#: src/wallet/Transaction.tsx:515
 #, c-format
-msgid "retry"
+msgid "Refund"
 msgstr ""
 
-#: src/wallet/Transaction.tsx:163
+#: src/wallet/Transaction.tsx:521
 #, c-format
-msgid "Forget"
+msgid "Total refund"
 msgstr ""
 
-#: src/wallet/Transaction.tsx:198
+#: src/wallet/Transaction.tsx:527
 #, c-format
-msgid "Confirm"
+msgid "Refund amount"
+msgstr ""
+
+#: src/wallet/Welcome.tsx:58
+#, c-format
+msgid "Browser Extension Installed!"
+msgstr ""
+
+#: src/wallet/Welcome.tsx:62
+#, c-format
+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 ""
+"(Enabling this option below will make using the wallet faster, but requires 
more "
+"permissions from your browser.)"
+msgstr ""
+
+#: src/wallet/Welcome.tsx:85
+#, c-format
+msgid "Next Steps"
+msgstr ""
+
+#: src/wallet/Welcome.tsx:88
+#, c-format
+msgid "Try the demo"
+msgstr ""
+
+#: src/wallet/Welcome.tsx:91
+#, c-format
+msgid "Learn how to top up your wallet balance"
 msgstr ""
 
-#: src/cta/Pay.tsx:211
+#: src/cta/Pay.tsx:113
+#, c-format
+msgid "Could not load pay status"
+msgstr ""
+
+#: src/cta/Pay.tsx:189
+#, c-format
+msgid "Could not load contract terms from merchant or wallet backend."
+msgstr ""
+
+#: src/cta/Pay.tsx:216
 #, c-format
 msgid "Pay with a mobile phone"
 msgstr ""
 
-#: src/cta/Pay.tsx:211
+#: src/cta/Pay.tsx:218
 #, c-format
 msgid "Hide QR"
 msgstr ""
 
-#: src/cta/Pay.tsx:241
+#: src/cta/Pay.tsx:225
+#, c-format
+msgid "Scan the QR code or %1$s"
+msgstr ""
+
+#: src/cta/Pay.tsx:244
+#, c-format
+msgid "Processing"
+msgstr ""
+
+#: src/cta/Pay.tsx:257
+#, c-format
+msgid "Pay %1$s"
+msgstr ""
+
+#: src/cta/Pay.tsx:272
+#, c-format
+msgid "Your balance of %1$s is not enough to pay for this purchase"
+msgstr ""
+
+#: src/cta/Pay.tsx:279
 #, c-format
-msgid "Pay"
+msgid "Your balance is not enough to pay for this purchase."
 msgstr ""
 
-#: src/cta/Pay.tsx:265
+#: src/cta/Pay.tsx:287
 #, c-format
 msgid "Withdraw digital cash"
 msgstr ""
 
-#: src/cta/Pay.tsx:295
+#: src/cta/Pay.tsx:300
+#, c-format
+msgid "Merchant message"
+msgstr ""
+
+#: src/cta/Pay.tsx:318
 #, c-format
 msgid "Digital cash payment"
 msgstr ""
 
-#: src/cta/Withdraw.tsx:101
+#: src/cta/Pay.tsx:324
+#, c-format
+msgid "Already paid, you are going to be redirected to %1$s"
+msgstr ""
+
+#: src/cta/Pay.tsx:333
+#, c-format
+msgid "Already paid"
+msgstr ""
+
+#: src/cta/Pay.tsx:338
+#, c-format
+msgid "Already claimed"
+msgstr ""
+
+#: src/cta/Pay.tsx:344
+#, c-format
+msgid "Payment complete"
+msgstr ""
+
+#: src/cta/Pay.tsx:348
+#, c-format
+msgid "You are going to be redirected to $ %1$s"
+msgstr ""
+
+#: src/cta/Pay.tsx:353
+#, c-format
+msgid "You can close this page."
+msgstr ""
+
+#: src/cta/Pay.tsx:367
+#, c-format
+msgid "Total to pay"
+msgstr ""
+
+#: src/cta/Pay.tsx:418
+#, c-format
+msgid "List of products"
+msgstr ""
+
+#: src/cta/Pay.tsx:460
+#, c-format
+msgid "Total"
+msgstr ""
+
+#: src/cta/Pay.tsx:469
+#, c-format
+msgid "free"
+msgstr ""
+
+#: src/cta/Refund.tsx:41
+#, c-format
+msgid "Refund Status"
+msgstr ""
+
+#: src/cta/Refund.tsx:44
+#, c-format
+msgid "The product %1$s has received a total effective refund of"
+msgstr ""
+
+#: src/cta/Refund.tsx:52
+#, c-format
+msgid "Refund processing is still in progress."
+msgstr ""
+
+#: src/cta/Refund.tsx:59
+#, c-format
+msgid "The refund amount of %1$s could not be applied."
+msgstr ""
+
+#: src/cta/Refund.tsx:97
+#, c-format
+msgid "missing taler refund uri"
+msgstr ""
+
+#: src/cta/Refund.tsx:105
+#, c-format
+msgid "Error: %1$s"
+msgstr ""
+
+#: src/cta/Refund.tsx:113
+#, c-format
+msgid "Updating refund status"
+msgstr ""
+
+#: src/cta/Tip.tsx:49
+#, c-format
+msgid "Tip from %1$s accepted. Check your transactions list for more details."
+msgstr ""
+
+#: 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 ""
+
+#: src/cta/Tip.tsx:67
+#, c-format
+msgid "Accept tip"
+msgstr ""
+
+#: src/cta/Tip.tsx:70
+#, c-format
+msgid "Ignore"
+msgstr ""
+
+#: src/cta/Tip.tsx:111
+#, c-format
+msgid "missing tip uri"
+msgstr ""
+
+#: src/cta/Tip.tsx:119
+#, c-format
+msgid "You've ignored the tip."
+msgstr ""
+
+#: src/cta/Withdraw.tsx:122
 #, c-format
 msgid "Digital cash withdrawal"
 msgstr ""
 
-#: src/cta/Withdraw.tsx:149
+#: src/cta/Withdraw.tsx:127
+#, c-format
+msgid "Could not finish the withdrawal operation"
+msgstr ""
+
+#: src/cta/Withdraw.tsx:138
+#, c-format
+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"
 msgstr ""
 
-#: src/cta/Withdraw.tsx:150
+#: src/cta/Withdraw.tsx:189
 #, c-format
 msgid "Confirm exchange selection"
 msgstr ""
 
-#: src/cta/Withdraw.tsx:155
+#: src/cta/Withdraw.tsx:196
 #, c-format
 msgid "Switch exchange"
 msgstr ""
 
-#: src/cta/Withdraw.tsx:174
+#: src/cta/Withdraw.tsx:215
 #, c-format
 msgid "Confirm withdrawal"
 msgstr ""
 
-#: src/cta/Withdraw.tsx:183
+#: src/cta/Withdraw.tsx:224
 #, c-format
 msgid "Withdraw anyway"
 msgstr ""
 
-#: src/cta/Withdraw.tsx:310
+#: src/cta/Withdraw.tsx:287
+#, c-format
+msgid "Could not load the withdrawal details"
+msgstr ""
+
+#: src/cta/Withdraw.tsx:344
 #, c-format
 msgid "missing withdraw uri"
 msgstr ""
 
-#: src/cta/Deposit.tsx:186
+#: src/cta/Withdraw.tsx:354
+#, c-format
+msgid "Could not get the info from the URI"
+msgstr ""
+
+#: src/wallet/ManualWithdrawPage.tsx:99
+#, c-format
+msgid "Could not load the list of known exchanges"
+msgstr ""
+
+#: src/walletEntryPoint.tsx:172
+#, c-format
+msgid "All done, your transaction is in progress"
+msgstr ""
+
+#: src/components/EditableText.tsx:44
+#, c-format
+msgid "Edit"
+msgstr ""
+
+#: src/cta/Deposit.tsx:114
+#, c-format
+msgid "missing pay uri"
+msgstr ""
+
+#: src/cta/Deposit.tsx:129
+#, c-format
+msgid "Could not get the payment information for this order"
+msgstr ""
+
+#: src/cta/Deposit.tsx:160
+#, c-format
+msgid "Loading payment information"
+msgstr ""
+
+#: src/cta/Deposit.tsx:208
 #, c-format
 msgid "Digital cash deposit"
 msgstr ""
 
+#: src/cta/Deposit.tsx:226
+#, c-format
+msgid "You will now be sent back to the merchant you came from."
+msgstr ""
+
+#: src/cta/reset-required.tsx:54
+#, c-format
+msgid "Manual Reset Required"
+msgstr ""
+
+#: src/cta/reset-required.tsx:57
+#, c-format
+msgid ""
+"The wallet&apos;s database in your browser is incompatible with the currently 
"
+"installed wallet. Please reset manually."
+msgstr ""
+
+#: src/cta/reset-required.tsx:63
+#, c-format
+msgid "Once the database format has stabilized, we will provide automatic 
upgrades."
+msgstr ""
+
+#: src/cta/reset-required.tsx:77
+#, c-format
+msgid "I understand that I will lose all my data"
+msgstr ""
+
+#: src/cta/reset-required.tsx:87
+#, c-format
+msgid "Reset"
+msgstr ""
+
+#: src/cta/reset-required.tsx:95
+#, c-format
+msgid "Everything is fine!"
+msgstr ""
+
+#: src/cta/reset-required.tsx:98
+#, c-format
+msgid "A reset is not required anymore, you can close this page."
+msgstr ""
+
+#: src/cta/return-coins.tsx:31
+#, c-format
+msgid "Not implemented yet."
+msgstr ""
+
diff --git a/packages/taler-wallet-webextension/src/i18n/tr.po 
b/packages/taler-wallet-webextension/src/i18n/tr.po
index dd53dba4..d624d849 100644
--- a/packages/taler-wallet-webextension/src/i18n/tr.po
+++ b/packages/taler-wallet-webextension/src/i18n/tr.po
@@ -15,7 +15,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: Taler Wallet\n"
-"Report-Msgid-Bugs-To: languages@taler.net\n"
+"Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2016-11-23 00:00+0100\n"
 "PO-Revision-Date: 2022-02-22 21:41+0000\n"
 "Last-Translator: Alp <berna.alp@digitalekho.com>\n"
@@ -28,264 +28,1372 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
 "X-Generator: Weblate 4.4.2\n"
 
-#: src/util/wire.ts:37
+#: src/NavigationBar.tsx:70
 #, c-format
-msgid "Invalid Wire"
-msgstr "Geçersiz Havale"
+msgid "Balance"
+msgstr "Bakiye"
+
+#: src/NavigationBar.tsx:73
+#, c-format
+msgid "Backup"
+msgstr ""
+
+#: src/NavigationBar.tsx:77
+#, c-format
+msgid "Settings"
+msgstr ""
+
+#: src/NavigationBar.tsx:96
+#, c-format
+msgid "Dev"
+msgstr ""
+
+#: src/components/Loading.tsx:22
+#, c-format
+msgid "Loading"
+msgstr ""
+
+#: src/wallet/AddNewActionView.tsx:14
+#, c-format
+msgid "Open reserve page"
+msgstr ""
+
+#: src/wallet/AddNewActionView.tsx:16
+#, c-format
+msgid "Open pay page"
+msgstr ""
+
+#: src/wallet/AddNewActionView.tsx:18
+#, c-format
+msgid "Open refund page"
+msgstr ""
+
+#: src/wallet/AddNewActionView.tsx:20
+#, c-format
+msgid "Open tip page"
+msgstr ""
+
+#: src/wallet/AddNewActionView.tsx:22
+#, c-format
+msgid "Open withdraw page"
+msgstr ""
+
+#: src/wallet/AddNewActionView.tsx:51
+#, c-format
+msgid "Back"
+msgstr ""
+
+#: src/popup/NoBalanceHelp.tsx:14
+#, c-format
+msgid "You have no balance to show."
+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 ""
+
+#: src/popup/NoBalanceHelp.tsx:23
+#, c-format
+msgid "Withdraw"
+msgstr ""
+
+#: src/popup/BalancePage.tsx:52
+#, c-format
+msgid "Could not load balance page"
+msgstr ""
+
+#: src/popup/BalancePage.tsx:111
+#, c-format
+msgid "Deposit %1$s"
+msgstr ""
+
+#: src/popup/BalancePage.tsx:120
+#, c-format
+msgid "Enter URI"
+msgstr ""
+
+#: src/components/Diagnostics.tsx:30
+#, c-format
+msgid "Diagnostics timed out. Could not talk to the wallet backend."
+msgstr ""
+
+#: src/components/Diagnostics.tsx:51
+#, c-format
+msgid "Problems detected:"
+msgstr ""
+
+#: src/components/Diagnostics.tsx:60
+#, c-format
+msgid ""
+"Please check in your %1$s settings that you have IndexedDB enabled (check "
+"the preference name %2$s)."
+msgstr ""
+
+#: 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 ""
+
+#: src/components/Diagnostics.tsx:85
+#, c-format
+msgid "Running diagnostics"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:154
+#, c-format
+msgid "Debug tools"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:157
+#, c-format
+msgid "reset"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:161
+#, c-format
+msgid "import database"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:182
+#, c-format
+msgid "export database"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:186
+#, c-format
+msgid "Database exported at %1$s %2$s to download"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:209
+#, c-format
+msgid "Coins"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:236
+#, c-format
+msgid "Pending operations"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:275
+#, c-format
+msgid "usable coins"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:284
+#, c-format
+msgid "id"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:287
+#, c-format
+msgid "denom"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:290
+#, c-format
+msgid "value"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:293
+#, c-format
+msgid "status"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:296
+#, c-format
+msgid "from refresh?"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:313
+#, c-format
+msgid "spent coins"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:317
+#, c-format
+msgid "click to show"
+msgstr ""
+
+#: src/popup/DeveloperPage.tsx:377
+#, c-format
+msgid ""
+"Do you want to IRREVOCABLY DESTROY everything inside your wallet and LOSE "
+"ALL YOUR COINS?"
+msgstr ""
+
+#: src/popup/TalerActionFound.tsx:56
+#, c-format
+msgid "Taler Action"
+msgstr ""
+
+#: src/popup/TalerActionFound.tsx:61
+#, c-format
+msgid "This page has pay action."
+msgstr ""
+
+#: src/popup/TalerActionFound.tsx:75
+#, c-format
+msgid "This page has a withdrawal action."
+msgstr ""
+
+#: src/popup/TalerActionFound.tsx:91
+#, c-format
+msgid "This page has a tip action."
+msgstr ""
+
+#: src/popup/TalerActionFound.tsx:105
+#, c-format
+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."
+msgstr ""
+
+#: src/popup/TalerActionFound.tsx:135
+#, c-format
+msgid "This page has a malformed taler uri."
+msgstr ""
+
+#: src/popup/TalerActionFound.tsx:147
+#, c-format
+msgid "Dismiss"
+msgstr ""
+
+#: src/wallet/BackupPage.tsx:75
+#, c-format
+msgid "Could not load backup providers"
+msgstr ""
+
+#: src/wallet/BackupPage.tsx:129
+#, c-format
+msgid "No backup providers configured"
+msgstr ""
+
+#: src/wallet/BackupPage.tsx:132
+#, c-format
+msgid "Add provider"
+msgstr ""
+
+#: src/wallet/BackupPage.tsx:142
+#, c-format
+msgid "Sync all backups"
+msgstr ""
+
+#: src/wallet/BackupPage.tsx:144
+#, c-format
+msgid "Sync now"
+msgstr ""
+
+#: src/wallet/BackupPage.tsx:187
+#, c-format
+msgid "Last synced"
+msgstr ""
+
+#: src/wallet/BackupPage.tsx:192
+#, c-format
+msgid "Not synced"
+msgstr ""
+
+#: src/wallet/BackupPage.tsx:211
+#, c-format
+msgid "Expires in"
+msgstr ""
+
+#: src/cta/TermsOfServiceSection.tsx:37
+#, c-format
+msgid "Exchange doesn't have terms of service"
+msgstr ""
+
+#: src/cta/TermsOfServiceSection.tsx:60
+#, c-format
+msgid "Review exchange terms of service"
+msgstr ""
+
+#: src/cta/TermsOfServiceSection.tsx:69
+#, c-format
+msgid "Review new version of terms of service"
+msgstr ""
+
+#: src/cta/TermsOfServiceSection.tsx:83
+#, c-format
+msgid "Show terms of service"
+msgstr ""
+
+#: src/cta/TermsOfServiceSection.tsx:91
+#, c-format
+msgid "I accept the exchange terms of service"
+msgstr ""
+
+#: src/cta/TermsOfServiceSection.tsx:110
+#, c-format
+msgid "The exchange reply with a empty terms of service"
+msgstr ""
+
+#: src/cta/TermsOfServiceSection.tsx:133
+#, c-format
+msgid "Download Terms of Service"
+msgstr ""
+
+#: src/cta/TermsOfServiceSection.tsx:141
+#, c-format
+msgid "Hide terms of service"
+msgstr ""
+
+#: src/wallet/ExchangeAddConfirm.tsx:88
+#, c-format
+msgid "Review terms of service"
+msgstr ""
+
+#: src/wallet/ExchangeAddConfirm.tsx:91
+#, c-format
+msgid "Exchange URL"
+msgstr ""
+
+#: src/wallet/ExchangeAddConfirm.tsx:112
+#, fuzzy, c-format
+msgid "Cancel"
+msgstr "Bakiye"
+
+#: src/wallet/ExchangeAddConfirm.tsx:116
+#, c-format
+msgid "Loading terms.."
+msgstr ""
+
+#: src/wallet/ExchangeAddConfirm.tsx:123
+#, c-format
+msgid "Add exchange"
+msgstr ""
+
+#: src/wallet/ExchangeAddConfirm.tsx:133
+#, c-format
+msgid "Add exchange anyway"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:96
+#, c-format
+msgid "Add new exchange"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:100
+#, c-format
+msgid "Add exchange for %1$s"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:105
+#, c-format
+msgid "Enter the URL of an exchange you trust."
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:112
+#, c-format
+msgid "An exchange has been found! Review the information and click next"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:119
+#, c-format
+msgid "This exchange doesn't match the expected currency %1$s"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:127
+#, c-format
+msgid "Unable to verify this exchange"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:135
+#, c-format
+msgid "Unable to add this exchange"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:151
+#, c-format
+msgid "loading"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:158
+#, c-format
+msgid "Version"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:164
+#, c-format
+msgid "Currency"
+msgstr ""
+
+#: src/wallet/ExchangeSetUrl.tsx:190
+#, c-format
+msgid "Next"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:118
+#, c-format
+msgid "Add backup provider"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:122
+#, c-format
+msgid "Could not get provider information"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:131
+#, c-format
+msgid "Backup providers may charge for their service"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:138
+#, c-format
+msgid "URL"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:149
+#, c-format
+msgid "Name"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:201
+#, c-format
+msgid "Provider URL"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:207
+#, c-format
+msgid "Please review and accept this provider's terms of service"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:212
+#, c-format
+msgid "Pricing"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:215
+#, c-format
+msgid "free of charge"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:217
+#, c-format
+msgid "%1$s per year of service"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:224
+#, c-format
+msgid "Storage"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:227
+#, c-format
+msgid "%1$s megabytes of storage per year of service"
+msgstr ""
+
+#: src/wallet/ProviderAddPage.tsx:233
+#, c-format
+msgid "Accept terms of service"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:62
+#, c-format
+msgid "There was an error loading the provider detail for \"%1$s\""
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:108
+#, c-format
+msgid "There is not known provider with url \"%1$s\"."
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:141
+#, c-format
+msgid "Last backup"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:146
+#, c-format
+msgid "Back up"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:152
+#, c-format
+msgid "Provider fee"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:155
+#, c-format
+msgid "per year"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:161
+#, c-format
+msgid "Extend"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:167
+#, c-format
+msgid ""
+"terms has changed, extending the service will imply accepting the new terms "
+"of service"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:177
+#, c-format
+msgid "old"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:181
+#, c-format
+msgid "new"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:188
+#, c-format
+msgid "fee"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:196
+#, c-format
+msgid "storage"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:209
+#, c-format
+msgid "back"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:213
+#, c-format
+msgid "Remove provider"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:225
+#, c-format
+msgid "This provider has reported an error"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:239
+#, c-format
+msgid "There is conflict with another backup from %1$s"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:250
+#, c-format
+msgid "Backup is not readable"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:258
+#, c-format
+msgid "Unknown backup problem: %1$s"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:277
+#, c-format
+msgid "service paid"
+msgstr ""
+
+#: src/wallet/ProviderDetailPage.tsx:284
+#, c-format
+msgid "Backup valid until"
+msgstr ""
+
+#: src/popupEntryPoint.tsx:187
+#, c-format
+msgid "this popup is being closed and you are being redirected to %1$s"
+msgstr ""
+
+#: src/components/SelectList.tsx:62
+#, c-format
+msgid "Select one option"
+msgstr ""
+
+#: src/wallet/CreateManualWithdraw.tsx:103
+#, c-format
+msgid "Manual Withdrawal"
+msgstr ""
+
+#: src/wallet/CreateManualWithdraw.tsx:106
+#, c-format
+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 ""
+
+#: src/wallet/CreateManualWithdraw.tsx:114
+#, c-format
+msgid "No exchange configured"
+msgstr ""
+
+#: src/wallet/CreateManualWithdraw.tsx:129
+#, c-format
+msgid "Can't create the reserve"
+msgstr ""
+
+#: src/wallet/CreateManualWithdraw.tsx:155
+#, c-format
+msgid "Exchange"
+msgstr ""
+
+#: src/wallet/CreateManualWithdraw.tsx:164
+#, c-format
+msgid "Add Exchange"
+msgstr ""
+
+#: src/wallet/CreateManualWithdraw.tsx:170
+#, c-format
+msgid "Amount"
+msgstr ""
+
+#: src/wallet/CreateManualWithdraw.tsx:190
+#, c-format
+msgid "Start withdrawal"
+msgstr ""
+
+#: src/wallet/DepositPage.tsx:138
+#, fuzzy, c-format
+msgid "no balance"
+msgstr "Bakiye"
+
+#: src/wallet/DepositPage.tsx:146
+#, c-format
+msgid "There is no known bank account to send money to"
+msgstr ""
+
+#: src/wallet/DepositPage.tsx:177
+#, c-format
+msgid "Send %1$s to your account"
+msgstr ""
+
+#: src/wallet/DepositPage.tsx:182
+#, c-format
+msgid "Bank account IBAN number"
+msgstr ""
+
+#: src/wallet/DepositPage.tsx:215
+#, c-format
+msgid "Deposit fee"
+msgstr ""
+
+#: src/wallet/DepositPage.tsx:229
+#, c-format
+msgid "Total deposit"
+msgstr ""
+
+#: src/wallet/DepositPage.tsx:247
+#, c-format
+msgid "Deposit"
+msgstr ""
+
+#: src/wallet/DepositPage.tsx:251
+#, fuzzy, c-format
+msgid "Deposit %1$s %2$s"
+msgstr "Test Havale Hesap #%1$s üzerinde %2$s"
+
+#: src/components/TransactionItem.tsx:137
+#, c-format
+msgid "Waiting for confirmation"
+msgstr ""
+
+#: src/components/TransactionItem.tsx:201
+#, c-format
+msgid "PENDING"
+msgstr ""
+
+#: src/wallet/History.tsx:70
+#, c-format
+msgid "Could not load the list of transactions"
+msgstr ""
+
+#: src/wallet/History.tsx:216
+#, c-format
+msgid "There is no history for this currency"
+msgstr ""
+
+#: src/components/BankDetailsByPaytoType.tsx:38
+#, c-format
+msgid "Account"
+msgstr ""
+
+#: src/components/BankDetailsByPaytoType.tsx:44
+#, c-format
+msgid "Bank host"
+msgstr ""
+
+#: src/components/BankDetailsByPaytoType.tsx:48
+#, c-format
+msgid "Bank account"
+msgstr ""
+
+#: src/components/BankDetailsByPaytoType.tsx:53
+#, c-format
+msgid "IBAN"
+msgstr ""
 
-#: src/util/wire.ts:42 src/util/wire.ts:45
+#: src/components/BankDetailsByPaytoType.tsx:65
 #, c-format
-msgid "Invalid Test Wire Detail"
-msgstr "Geçersiz Test Havale Detayı"
+msgid "Chosen amount"
+msgstr ""
 
-#: src/util/wire.ts:47
+#: src/components/BankDetailsByPaytoType.tsx:69
 #, c-format
-msgid "Test Wire Acct #%1$s on %2$s"
-msgstr "Test Havale Hesap #%1$s üzerinde %2$s"
+msgid "Subject"
+msgstr ""
+
+#: src/wallet/ReserveCreated.tsx:27
+#, c-format
+msgid "could not parse payto uri from exchange %1$s"
+msgstr ""
+
+#: src/wallet/ReserveCreated.tsx:37
+#, c-format
+msgid "Exchange is ready for withdrawal"
+msgstr ""
+
+#: src/wallet/ReserveCreated.tsx:40
+#, c-format
+msgid ""
+"To complete the process you need to wire %1$s to the exchange bank account"
+msgstr ""
+
+#: 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 ""
+
+#: 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 ""
+
+#: src/wallet/ReserveCreated.tsx:73
+#, c-format
+msgid "Cancel withdrawal"
+msgstr ""
+
+#: src/wallet/Settings.tsx:89
+#, c-format
+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:105
+#, c-format
+msgid "Automatically open wallet based on page content"
+msgstr ""
+
+#: 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:122
+#, c-format
+msgid "Trust"
+msgstr ""
+
+#: src/wallet/Settings.tsx:126
+#, c-format
+msgid "No exchange yet"
+msgstr ""
+
+#: src/wallet/Settings.tsx:140
+#, c-format
+msgid "Term of Service"
+msgstr ""
+
+#: src/wallet/Settings.tsx:156
+#, c-format
+msgid "ok"
+msgstr ""
+
+#: src/wallet/Settings.tsx:162
+#, c-format
+msgid "changed"
+msgstr ""
 
-#: src/util/wire.ts:49
+#: src/wallet/Settings.tsx:169
 #, c-format
-msgid "Unknown Wire Detail"
-msgstr "Bilinmeyen Havale Detayı"
+msgid "not accepted"
+msgstr ""
+
+#: src/wallet/Settings.tsx:193
+#, c-format
+msgid "Add an exchange"
+msgstr ""
 
-#: src/webex/pages/benchmark.tsx:52
+#: src/wallet/Settings.tsx:199
 #, c-format
-msgid "Operation"
-msgstr "İşlem"
+msgid "Developer mode"
+msgstr ""
 
-#: src/webex/pages/benchmark.tsx:53
+#: src/wallet/Settings.tsx:201
 #, c-format
-msgid "time (ms/op)"
-msgstr "zaman (ms/op)"
+msgid "(More options and information useful for debugging)"
+msgstr ""
 
-#: src/webex/pages/pay.tsx:130
-#, c-format, fuzzy
-msgid "The merchant %1$s offers you to purchase:"
-msgstr "%1$s satıcısı size şunları satın almayı teklif ediyor:"
+#: src/wallet/Transaction.tsx:78
+#, c-format
+msgid "Could not load the transaction information"
+msgstr ""
 
-#: src/webex/pages/pay.tsx:136
-#, c-format, fuzzy
-msgid "The total price is %1$s (plus %2$s fees)."
-msgstr "Toplam fiyat %1$s (artı %2$s ücret)."
+#: src/wallet/Transaction.tsx:145
+#, c-format
+msgid "There was an error trying to complete the transaction"
+msgstr ""
 
-#: src/webex/pages/pay.tsx:141
-#, c-format, fuzzy
-msgid "The total price is %1$s."
-msgstr "Toplam fiyat %1$s."
+#: src/wallet/Transaction.tsx:154
+#, c-format
+msgid "This transaction is not completed"
+msgstr ""
 
-#: src/webex/pages/pay.tsx:163
+#: src/wallet/Transaction.tsx:168
 #, c-format
 msgid "Retry"
 msgstr "Yeniden deneyin"
 
-#: src/webex/pages/pay.tsx:173
+#: src/wallet/Transaction.tsx:172
 #, c-format
-msgid "Confirm payment"
-msgstr "Ödemeyi Onayla"
+msgid "Forget"
+msgstr ""
 
-#: src/webex/pages/popup.tsx:153
+#: src/wallet/Transaction.tsx:197
 #, c-format
-msgid "Balance"
-msgstr "Bakiye"
+msgid "Caution!"
+msgstr ""
 
-#: src/webex/pages/popup.tsx:154
+#: src/wallet/Transaction.tsx:200
 #, c-format
-msgid "History"
-msgstr "Geçmiş"
+msgid ""
+"If you have already wired money to the exchange you will loose the chance to "
+"get the coins form it."
+msgstr ""
+
+#: src/wallet/Transaction.tsx:211
+#, c-format
+msgid "Confirm"
+msgstr "Onaylamak"
 
-#: src/webex/pages/popup.tsx:155
+#: src/wallet/Transaction.tsx:218
 #, c-format
-msgid "Debug"
+msgid "Withdrawal"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:175
+#: src/wallet/Transaction.tsx:243
 #, c-format
-msgid "You have no balance to show. Need some %1$s getting started?"
+msgid "Total withdrawn"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:238
+#: src/wallet/Transaction.tsx:249
 #, c-format
-msgid "%1$s incoming"
+msgid "Exchange fee"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:250
+#: src/wallet/Transaction.tsx:259
 #, c-format
-msgid "%1$s being spent"
+msgid "The bank is waiting for confirmation. Go to the %1$s"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:281
+#: src/wallet/Transaction.tsx:273
 #, c-format
-msgid "Error: could not retrieve balance information."
+msgid "Waiting for the coins to arrive"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:390
+#: src/wallet/Transaction.tsx:342
 #, c-format
-msgid "Invalid "
+msgid "Payment"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:396
+#: src/wallet/Transaction.tsx:348
 #, c-format
-msgid "Fees "
+msgid "Total paid"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:434
+#: src/wallet/Transaction.tsx:354
 #, c-format
-msgid "Refresh sessions has completed"
+msgid "Purchase amount"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:451
+#: src/wallet/Transaction.tsx:360
 #, c-format
-msgid "Order Refused"
+msgid "Fee"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:465
+#: src/wallet/Transaction.tsx:365
 #, c-format
-msgid "Order redirected"
+msgid "Merchant"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:482
+#: src/wallet/Transaction.tsx:370
 #, c-format
-msgid "Payment aborted"
+msgid "Purchase"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:512
+#: src/wallet/Transaction.tsx:375
 #, c-format
-msgid "Payment Sent"
+msgid "Receipt"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:536
+#: src/wallet/Transaction.tsx:419
 #, c-format
-msgid "Order accepted"
+msgid "Total send"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:547
+#: src/wallet/Transaction.tsx:425
 #, c-format
-msgid "Reserve balance updated"
+msgid "Deposit amount"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:559
+#: src/wallet/Transaction.tsx:447
 #, c-format
-msgid "Payment refund"
+msgid "Refresh"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:584
+#: src/wallet/Transaction.tsx:453
 #, c-format
-msgid "Withdrawn"
+msgid "Total refresh"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:596
+#: src/wallet/Transaction.tsx:459
 #, c-format
-msgid "Tip Accepted"
+msgid "Refresh amount"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:606
+#: src/wallet/Transaction.tsx:481
 #, c-format
-msgid "Tip Declined"
+msgid "Tip"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:615
+#: src/wallet/Transaction.tsx:487
 #, c-format
-msgid "%1$s"
+msgid "Total tip"
 msgstr ""
 
-#: src/webex/pages/popup.tsx:707
+#: src/wallet/Transaction.tsx:493
 #, c-format
-msgid "Your wallet has no events recorded."
+msgid "Received amount"
 msgstr ""
 
-#: src/webex/pages/return-coins.tsx:124
+#: src/wallet/Transaction.tsx:515
 #, c-format
-msgid "Wire to bank account"
+msgid "Refund"
 msgstr ""
 
-#: src/webex/pages/return-coins.tsx:206
+#: src/wallet/Transaction.tsx:521
 #, c-format
-msgid "Confirm"
-msgstr "Onaylamak"
+msgid "Total refund"
+msgstr ""
 
-#: src/webex/pages/return-coins.tsx:209
+#: src/wallet/Transaction.tsx:527
 #, c-format
-msgid "Cancel"
+msgid "Refund amount"
+msgstr ""
+
+#: src/wallet/Welcome.tsx:58
+#, c-format
+msgid "Browser Extension Installed!"
 msgstr ""
 
-#: src/webex/pages/withdraw.tsx:73
+#: src/wallet/Welcome.tsx:62
 #, c-format
-msgid "Could not get details for withdraw operation:"
+msgid "Thank you for installing the wallet."
 msgstr ""
 
-#: src/webex/pages/withdraw.tsx:89 src/webex/pages/withdraw.tsx:183
+#: src/wallet/Welcome.tsx:66
 #, c-format
-msgid "Chose different exchange provider"
+msgid "Permissions"
 msgstr ""
 
-#: src/webex/pages/withdraw.tsx:109
+#: src/wallet/Welcome.tsx:75
 #, c-format
 msgid ""
-"Please select an exchange.  You can review the details before after your "
-"selection."
+"(Enabling this option below will make using the wallet faster, but requires "
+"more permissions from your browser.)"
+msgstr ""
+
+#: src/wallet/Welcome.tsx:85
+#, c-format
+msgid "Next Steps"
+msgstr ""
+
+#: src/wallet/Welcome.tsx:88
+#, c-format
+msgid "Try the demo"
+msgstr ""
+
+#: src/wallet/Welcome.tsx:91
+#, c-format
+msgid "Learn how to top up your wallet balance"
+msgstr ""
+
+#: src/cta/Pay.tsx:113
+#, c-format
+msgid "Could not load pay status"
+msgstr ""
+
+#: src/cta/Pay.tsx:189
+#, c-format
+msgid "Could not load contract terms from merchant or wallet backend."
+msgstr ""
+
+#: src/cta/Pay.tsx:216
+#, c-format
+msgid "Pay with a mobile phone"
+msgstr ""
+
+#: src/cta/Pay.tsx:218
+#, c-format
+msgid "Hide QR"
+msgstr ""
+
+#: src/cta/Pay.tsx:225
+#, c-format
+msgid "Scan the QR code or %1$s"
+msgstr ""
+
+#: src/cta/Pay.tsx:244
+#, c-format
+msgid "Processing"
+msgstr ""
+
+#: src/cta/Pay.tsx:257
+#, c-format
+msgid "Pay %1$s"
+msgstr ""
+
+#: src/cta/Pay.tsx:272
+#, c-format
+msgid "Your balance of %1$s is not enough to pay for this purchase"
+msgstr ""
+
+#: src/cta/Pay.tsx:279
+#, c-format
+msgid "Your balance is not enough to pay for this purchase."
+msgstr ""
+
+#: src/cta/Pay.tsx:287
+#, c-format
+msgid "Withdraw digital cash"
+msgstr ""
+
+#: src/cta/Pay.tsx:300
+#, c-format
+msgid "Merchant message"
+msgstr ""
+
+#: src/cta/Pay.tsx:318
+#, c-format
+msgid "Digital cash payment"
+msgstr ""
+
+#: src/cta/Pay.tsx:324
+#, c-format
+msgid "Already paid, you are going to be redirected to %1$s"
+msgstr ""
+
+#: src/cta/Pay.tsx:333
+#, c-format
+msgid "Already paid"
+msgstr ""
+
+#: src/cta/Pay.tsx:338
+#, c-format
+msgid "Already claimed"
+msgstr ""
+
+#: src/cta/Pay.tsx:344
+#, c-format
+msgid "Payment complete"
+msgstr ""
+
+#: src/cta/Pay.tsx:348
+#, c-format
+msgid "You are going to be redirected to $ %1$s"
+msgstr ""
+
+#: src/cta/Pay.tsx:353
+#, c-format
+msgid "You can close this page."
+msgstr ""
+
+#: src/cta/Pay.tsx:367
+#, c-format
+msgid "Total to pay"
+msgstr ""
+
+#: src/cta/Pay.tsx:418
+#, c-format
+msgid "List of products"
+msgstr ""
+
+#: src/cta/Pay.tsx:460
+#, c-format
+msgid "Total"
+msgstr ""
+
+#: src/cta/Pay.tsx:469
+#, c-format
+msgid "free"
+msgstr ""
+
+#: src/cta/Refund.tsx:41
+#, c-format
+msgid "Refund Status"
+msgstr ""
+
+#: src/cta/Refund.tsx:44
+#, c-format
+msgid "The product %1$s has received a total effective refund of"
+msgstr ""
+
+#: src/cta/Refund.tsx:52
+#, c-format
+msgid "Refund processing is still in progress."
+msgstr ""
+
+#: src/cta/Refund.tsx:59
+#, c-format
+msgid "The refund amount of %1$s could not be applied."
+msgstr ""
+
+#: src/cta/Refund.tsx:97
+#, c-format
+msgid "missing taler refund uri"
+msgstr ""
+
+#: src/cta/Refund.tsx:105
+#, c-format
+msgid "Error: %1$s"
+msgstr ""
+
+#: src/cta/Refund.tsx:113
+#, c-format
+msgid "Updating refund status"
+msgstr ""
+
+#: src/cta/Tip.tsx:49
+#, c-format
+msgid "Tip from %1$s accepted. Check your transactions list for more details."
+msgstr ""
+
+#: 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 ""
+
+#: src/cta/Tip.tsx:67
+#, c-format
+msgid "Accept tip"
+msgstr ""
+
+#: src/cta/Tip.tsx:70
+#, c-format
+msgid "Ignore"
+msgstr ""
+
+#: src/cta/Tip.tsx:111
+#, c-format
+msgid "missing tip uri"
+msgstr ""
+
+#: src/cta/Tip.tsx:119
+#, c-format
+msgid "You've ignored the tip."
+msgstr ""
+
+#: src/cta/Withdraw.tsx:122
+#, c-format
+msgid "Digital cash withdrawal"
+msgstr ""
+
+#: src/cta/Withdraw.tsx:127
+#, c-format
+msgid "Could not finish the withdrawal operation"
+msgstr ""
+
+#: src/cta/Withdraw.tsx:138
+#, c-format
+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"
+msgstr ""
+
+#: src/cta/Withdraw.tsx:189
+#, c-format
+msgid "Confirm exchange selection"
+msgstr ""
+
+#: src/cta/Withdraw.tsx:196
+#, c-format
+msgid "Switch exchange"
+msgstr ""
+
+#: src/cta/Withdraw.tsx:215
+#, c-format
+msgid "Confirm withdrawal"
+msgstr ""
+
+#: src/cta/Withdraw.tsx:224
+#, c-format
+msgid "Withdraw anyway"
+msgstr ""
+
+#: src/cta/Withdraw.tsx:287
+#, c-format
+msgid "Could not load the withdrawal details"
+msgstr ""
+
+#: src/cta/Withdraw.tsx:344
+#, c-format
+msgid "missing withdraw uri"
+msgstr ""
+
+#: src/cta/Withdraw.tsx:354
+#, c-format
+msgid "Could not get the info from the URI"
+msgstr ""
+
+#: src/wallet/ManualWithdrawPage.tsx:99
+#, c-format
+msgid "Could not load the list of known exchanges"
+msgstr ""
+
+#: src/walletEntryPoint.tsx:172
+#, c-format
+msgid "All done, your transaction is in progress"
+msgstr ""
+
+#: src/components/EditableText.tsx:44
+#, c-format
+msgid "Edit"
 msgstr ""
 
-#: src/webex/pages/withdraw.tsx:121
+#: src/cta/Deposit.tsx:114
 #, c-format
-msgid "Select %1$s"
+msgid "missing pay uri"
 msgstr ""
 
-#: src/webex/pages/withdraw.tsx:143
+#: src/cta/Deposit.tsx:129
 #, c-format
-msgid "Select custom exchange"
+msgid "Could not get the payment information for this order"
 msgstr ""
 
-#: src/webex/pages/withdraw.tsx:163
+#: src/cta/Deposit.tsx:160
 #, c-format
-msgid "You are about to withdraw %1$s from your bank account into your wallet."
+msgid "Loading payment information"
 msgstr ""
 
-#: src/webex/pages/withdraw.tsx:174
+#: src/cta/Deposit.tsx:208
 #, c-format
-msgid "Accept fees and withdraw"
+msgid "Digital cash deposit"
 msgstr ""
 
-#: src/webex/pages/withdraw.tsx:192
+#: src/cta/Deposit.tsx:226
 #, c-format
-msgid "Cancel withdraw operation"
+msgid "You will now be sent back to the merchant you came from."
 msgstr ""
 
-#: src/webex/renderHtml.tsx:249
+#: src/cta/reset-required.tsx:54
 #, c-format
-msgid "Withdrawal fees:"
+msgid "Manual Reset Required"
 msgstr ""
 
-#: src/webex/renderHtml.tsx:252
+#: src/cta/reset-required.tsx:57
 #, c-format
-msgid "Rounding loss:"
+msgid ""
+"The wallet&apos;s database in your browser is incompatible with the "
+"currently installed wallet. Please reset manually."
 msgstr ""
 
-#: src/webex/renderHtml.tsx:254
+#: src/cta/reset-required.tsx:63
 #, c-format
-msgid "Earliest expiration (for deposit): %1$s"
+msgid ""
+"Once the database format has stabilized, we will provide automatic upgrades."
 msgstr ""
 
-#: src/webex/renderHtml.tsx:262
+#: src/cta/reset-required.tsx:77
 #, c-format
-msgid "# Coins"
+msgid "I understand that I will lose all my data"
 msgstr ""
 
-#: src/webex/renderHtml.tsx:263
+#: src/cta/reset-required.tsx:87
 #, c-format
-msgid "Value"
+msgid "Reset"
 msgstr ""
 
-#: src/webex/renderHtml.tsx:264
+#: src/cta/reset-required.tsx:95
 #, c-format
-msgid "Withdraw Fee"
+msgid "Everything is fine!"
 msgstr ""
 
-#: src/webex/renderHtml.tsx:265
+#: src/cta/reset-required.tsx:98
 #, c-format
-msgid "Refresh Fee"
+msgid "A reset is not required anymore, you can close this page."
 msgstr ""
 
-#: src/webex/renderHtml.tsx:266
+#: src/cta/return-coins.tsx:31
 #, c-format
-msgid "Deposit Fee"
+msgid "Not implemented yet."
 msgstr ""
+
+#~ msgid "Invalid Wire"
+#~ msgstr "Geçersiz Havale"
+
+#~ msgid "Invalid Test Wire Detail"
+#~ msgstr "Geçersiz Test Havale Detayı"
+
+#~ msgid "Unknown Wire Detail"
+#~ msgstr "Bilinmeyen Havale Detayı"
+
+#~ msgid "Operation"
+#~ msgstr "İşlem"
+
+#~ msgid "time (ms/op)"
+#~ msgstr "zaman (ms/op)"
+
+#, fuzzy
+#~ msgid "The merchant %1$s offers you to purchase:"
+#~ msgstr "%1$s satıcısı size şunları satın almayı teklif ediyor:"
+
+#, fuzzy
+#~ msgid "The total price is %1$s (plus %2$s fees)."
+#~ msgstr "Toplam fiyat %1$s (artı %2$s ücret)."
+
+#, fuzzy
+#~ msgid "The total price is %1$s."
+#~ msgstr "Toplam fiyat %1$s."
+
+#~ msgid "Confirm payment"
+#~ msgstr "Ödemeyi Onayla"
+
+#~ msgid "History"
+#~ msgstr "Geçmiş"
diff --git a/packages/taler-wallet-webextension/src/popup/BalancePage.tsx 
b/packages/taler-wallet-webextension/src/popup/BalancePage.tsx
index 3ca5b3a0..d7bfdf54 100644
--- a/packages/taler-wallet-webextension/src/popup/BalancePage.tsx
+++ b/packages/taler-wallet-webextension/src/popup/BalancePage.tsx
@@ -14,7 +14,7 @@
  TALER; see the file COPYING.  If not, see <http://www.gnu.org/licenses/>
  */
 
-import { Amounts, Balance } from "@gnu-taler/taler-util";
+import { Amounts, Balance, i18n } from "@gnu-taler/taler-util";
 import { Fragment, h, VNode } from "preact";
 import { useState } from "preact/hooks";
 import { BalanceTable } from "../components/BalanceTable";
@@ -47,7 +47,12 @@ export function BalancePage({
   }
 
   if (state.hasError) {
-    return <LoadingError title="Could not load balance page" error={state} />;
+    return (
+      <LoadingError
+        title={<i18n.Translate>Could not load balance page</i18n.Translate>}
+        error={state}
+      />
+    );
   }
 
   if (addingAction) {
@@ -99,17 +104,21 @@ export function BalanceView({
       </section>
       <footer style={{ justifyContent: "space-between" }}>
         <ButtonPrimary onClick={goToWalletManualWithdraw}>
-          Withdraw
+          <i18n.Translate>Withdraw</i18n.Translate>
         </ButtonPrimary>
         {currencyWithNonZeroAmount.length > 0 && (
           <MultiActionButton
-            label={(s) => `Deposit ${s}`}
+            label={(s) => (
+              <i18n.Translate debug>Deposit {<span>{s}</span>}</i18n.Translate>
+            )}
             actions={currencyWithNonZeroAmount}
             onClick={(c) => goToWalletDeposit(c)}
           />
         )}
         <JustInDevMode>
-          <ButtonBoxPrimary onClick={goToAddAction}>enter 
uri</ButtonBoxPrimary>
+          <ButtonBoxPrimary onClick={goToAddAction}>
+            <i18n.Translate>Enter URI</i18n.Translate>
+          </ButtonBoxPrimary>
         </JustInDevMode>
       </footer>
     </Fragment>
diff --git a/packages/taler-wallet-webextension/src/popup/DeveloperPage.tsx 
b/packages/taler-wallet-webextension/src/popup/DeveloperPage.tsx
index 3326be8d..228c3cdf 100644
--- a/packages/taler-wallet-webextension/src/popup/DeveloperPage.tsx
+++ b/packages/taler-wallet-webextension/src/popup/DeveloperPage.tsx
@@ -20,6 +20,8 @@ import {
   CoinDumpJson,
   ExchangeListItem,
   NotificationType,
+  Translate,
+  i18n,
 } from "@gnu-taler/taler-util";
 import { PendingTaskInfo } from "@gnu-taler/taler-wallet-core";
 import { format } from "date-fns";
@@ -31,7 +33,6 @@ import { Time } from "../components/Time";
 import { useAsyncAsHook } from "../hooks/useAsyncAsHook";
 import { useDiagnostics } from "../hooks/useDiagnostics";
 import * as wxApi from "../wxApi";
-import BalanceStories from "./Balance.stories";
 
 export function DeveloperPage(): VNode {
   const [status, timedOut] = useDiagnostics();
@@ -149,10 +150,16 @@ export function View({
 
   return (
     <div>
-      <p>Debug tools:</p>
-      <button onClick={confirmReset}>reset</button>
+      <p>
+        <i18n.Translate>Debug tools</i18n.Translate>:
+      </p>
+      <button onClick={confirmReset}>
+        <i18n.Translate>reset</i18n.Translate>
+      </button>
       <br />
-      <button onClick={() => fileRef?.current?.click()}>import 
database</button>
+      <button onClick={() => fileRef?.current?.click()}>
+        <i18n.Translate>import database</i18n.Translate>
+      </button>
       <input
         ref={fileRef}
         style={{ display: "none" }}
@@ -171,31 +178,36 @@ export function View({
         }}
       />
       <br />
-      <button onClick={onExportDatabase}>export database</button>
+      <button onClick={onExportDatabase}>
+        <i18n.Translate>export database</i18n.Translate>
+      </button>
       {downloadedDatabase && (
         <div>
-          Database exported at
-          <Time
-            timestamp={{ t_ms: downloadedDatabase.time.getTime() }}
-            format="yyyy/MM/dd HH:mm:ss"
-          />
-          <a
-            href={`data:text/plain;charset=utf-8;base64,${toBase64(
-              downloadedDatabase.content,
-            )}`}
-            download={`taler-wallet-database-${format(
-              downloadedDatabase.time,
-              "yyyy/MM/dd_HH:mm",
-            )}.json`}
-          >
-            {" "}
-            click here{" "}
-          </a>
-          to download
+          <i18n.Translate>
+            Database exported at
+            <Time
+              timestamp={{ t_ms: downloadedDatabase.time.getTime() }}
+              format="yyyy/MM/dd HH:mm:ss"
+            />
+            <a
+              href={`data:text/plain;charset=utf-8;base64,${toBase64(
+                downloadedDatabase.content,
+              )}`}
+              download={`taler-wallet-database-${format(
+                downloadedDatabase.time,
+                "yyyy/MM/dd_HH:mm",
+              )}.json`}
+            >
+              <i18n.Translate>click here</i18n.Translate>
+            </a>
+            to download
+          </i18n.Translate>
         </div>
       )}
       <br />
-      <p>Coins:</p>
+      <p>
+        <i18n.Translate>Coins</i18n.Translate>:
+      </p>
       {Object.keys(money_by_exchange).map((ex) => {
         const allcoins = money_by_exchange[ex];
         allcoins.sort((a, b) => {
@@ -220,7 +232,9 @@ export function View({
       <Diagnostics diagnostics={status} timedOut={timedOut} />
       {operations && operations.length > 0 && (
         <Fragment>
-          <p>Pending operations</p>
+          <p>
+            <i18n.Translate>Pending operations</i18n.Translate>
+          </p>
           <dl>
             {operations.reverse().map((o) => {
               return (
@@ -257,18 +271,30 @@ function ShowAllCoins({
         <b>{ex}</b>: {total} {currencies[ex]}
       </p>
       <p>
-        <b>usable coins</b>
+        <b>
+          <i18n.Translate>usable coins</i18n.Translate>
+        </b>
       </p>
       {collapsedUnspent ? (
         <div onClick={() => setCollapsedUnspent(false)}>click to show</div>
       ) : (
         <table onClick={() => setCollapsedUnspent(true)}>
           <tr>
-            <td>id</td>
-            <td>denom</td>
-            <td>value</td>
-            <td>status</td>
-            <td>from refresh?</td>
+            <td>
+              <i18n.Translate>id</i18n.Translate>
+            </td>
+            <td>
+              <i18n.Translate>denom</i18n.Translate>
+            </td>
+            <td>
+              <i18n.Translate>value</i18n.Translate>
+            </td>
+            <td>
+              <i18n.Translate>status</i18n.Translate>
+            </td>
+            <td>
+              <i18n.Translate>from refresh?</i18n.Translate>
+            </td>
           </tr>
           {coins.usable.map((c) => {
             return (
@@ -283,17 +309,31 @@ function ShowAllCoins({
           })}
         </table>
       )}
-      <p>spent coins</p>
+      <p>
+        <i18n.Translate>spent coins</i18n.Translate>
+      </p>
       {collapsedSpent ? (
-        <div onClick={() => setCollapsedSpent(false)}>click to show</div>
+        <div onClick={() => setCollapsedSpent(false)}>
+          <i18n.Translate>click to show</i18n.Translate>
+        </div>
       ) : (
         <table onClick={() => setCollapsedSpent(true)}>
           <tr>
-            <td>id</td>
-            <td>denom</td>
-            <td>value</td>
-            <td>status</td>
-            <td>refresh?</td>
+            <td>
+              <i18n.Translate>id</i18n.Translate>
+            </td>
+            <td>
+              <i18n.Translate>denom</i18n.Translate>
+            </td>
+            <td>
+              <i18n.Translate>value</i18n.Translate>
+            </td>
+            <td>
+              <i18n.Translate>status</i18n.Translate>
+            </td>
+            <td>
+              <i18n.Translate>from refresh?</i18n.Translate>
+            </td>
           </tr>
           {coins.spent.map((c) => {
             return (
@@ -335,8 +375,7 @@ function runIntegrationTest() {}
 export async function confirmReset(): Promise<void> {
   if (
     confirm(
-      "Do you want to IRREVOCABLY DESTROY everything inside your" +
-        " wallet and LOSE ALL YOUR COINS?",
+      i18n.str`Do you want to IRREVOCABLY DESTROY everything inside your 
wallet and LOSE ALL YOUR COINS?`,
     )
   ) {
     await wxApi.resetDb();
diff --git a/packages/taler-wallet-webextension/src/popup/NoBalanceHelp.tsx 
b/packages/taler-wallet-webextension/src/popup/NoBalanceHelp.tsx
index baff0aad..b8b21b24 100644
--- a/packages/taler-wallet-webextension/src/popup/NoBalanceHelp.tsx
+++ b/packages/taler-wallet-webextension/src/popup/NoBalanceHelp.tsx
@@ -20,7 +20,7 @@ export function NoBalanceHelp({
         </i18n.Translate>
       </p>
       <ButtonBoxWarning onClick={() => goToWalletManualWithdraw()}>
-        Withdraw
+        <i18n.Translate>Withdraw</i18n.Translate>
       </ButtonBoxWarning>
     </WarningBox>
   );
diff --git a/packages/taler-wallet-webextension/src/popup/TalerActionFound.tsx 
b/packages/taler-wallet-webextension/src/popup/TalerActionFound.tsx
index 5de45761..40b76a28 100644
--- a/packages/taler-wallet-webextension/src/popup/TalerActionFound.tsx
+++ b/packages/taler-wallet-webextension/src/popup/TalerActionFound.tsx
@@ -19,7 +19,7 @@
  * @author Sebastian Javier Marchano (sebasjm)
  */
 
-import { classifyTalerUri, TalerUriType } from "@gnu-taler/taler-util";
+import { classifyTalerUri, TalerUriType, i18n } from "@gnu-taler/taler-util";
 import { Fragment, h } from "preact";
 import { ButtonPrimary, ButtonSuccess } from "../components/styled";
 import { actionForTalerUri } from "../utils/index";
@@ -52,77 +52,100 @@ export function TalerActionFound({ url, onDismiss }: 
Props) {
   return (
     <Fragment>
       <section>
-        <h1>Taler Action </h1>
+        <h1>
+          <i18n.Translate>Taler Action</i18n.Translate>
+        </h1>
         {uriType === TalerUriType.TalerPay && (
           <div>
-            <p>This page has pay action.</p>
+            <p>
+              <i18n.Translate>This page has pay action.</i18n.Translate>
+            </p>
             <ButtonSuccess
               onClick={() => {
                 navigateTo(actionForTalerUri(uriType, url));
               }}
             >
-              Open pay page
+              <i18n.Translate>Open pay page</i18n.Translate>
             </ButtonSuccess>
           </div>
         )}
         {uriType === TalerUriType.TalerWithdraw && (
           <div>
-            <p>This page has a withdrawal action.</p>
+            <p>
+              <i18n.Translate>
+                This page has a withdrawal action.
+              </i18n.Translate>
+            </p>
             <ButtonSuccess
               onClick={() => {
                 navigateTo(actionForTalerUri(uriType, url));
               }}
             >
-              Open withdraw page
+              <i18n.Translate>Open withdraw page</i18n.Translate>
             </ButtonSuccess>
           </div>
         )}
         {uriType === TalerUriType.TalerTip && (
           <div>
-            <p>This page has a tip action.</p>
+            <p>
+              <i18n.Translate>This page has a tip action.</i18n.Translate>
+            </p>
             <ButtonSuccess
               onClick={() => {
                 navigateTo(actionForTalerUri(uriType, url));
               }}
             >
-              Open tip page
+              <i18n.Translate>Open tip page</i18n.Translate>
             </ButtonSuccess>
           </div>
         )}
         {uriType === TalerUriType.TalerNotifyReserve && (
           <div>
-            <p>This page has a notify reserve action.</p>
+            <p>
+              <i18n.Translate>
+                This page has a notify reserve action.
+              </i18n.Translate>
+            </p>
             <ButtonSuccess
               onClick={() => {
                 navigateTo(actionForTalerUri(uriType, url));
               }}
             >
-              Notify
+              <i18n.Translate>Notify</i18n.Translate>
             </ButtonSuccess>
           </div>
         )}
         {uriType === TalerUriType.TalerRefund && (
           <div>
-            <p>This page has a refund action.</p>
+            <p>
+              <i18n.Translate>This page has a refund action.</i18n.Translate>
+            </p>
             <ButtonSuccess
               onClick={() => {
                 navigateTo(actionForTalerUri(uriType, url));
               }}
             >
-              Open refund page
+              <i18n.Translate>Open refund page</i18n.Translate>
             </ButtonSuccess>
           </div>
         )}
         {uriType === TalerUriType.Unknown && (
           <div>
-            <p>This page has a malformed taler uri.</p>
+            <p>
+              <i18n.Translate>
+                This page has a malformed taler uri.
+              </i18n.Translate>
+            </p>
             <p>{url}</p>
           </div>
         )}
       </section>
       <footer>
         <div />
-        <ButtonPrimary onClick={() => onDismiss()}> Dismiss </ButtonPrimary>
+        <ButtonPrimary onClick={() => onDismiss()}>
+          {" "}
+          <i18n.Translate>Dismiss</i18n.Translate>{" "}
+        </ButtonPrimary>
       </footer>
     </Fragment>
   );
diff --git a/packages/taler-wallet-webextension/src/popupEntryPoint.tsx 
b/packages/taler-wallet-webextension/src/popupEntryPoint.tsx
index fa0e6e3d..02ab0df2 100644
--- a/packages/taler-wallet-webextension/src/popupEntryPoint.tsx
+++ b/packages/taler-wallet-webextension/src/popupEntryPoint.tsx
@@ -17,10 +17,10 @@
 /**
  * Main entry point for extension pages.
  *
- * @author Florian Dold <dold@taler.net>
+ * @author sebasjm <dold@taler.net>
  */
 
-import { setupI18n } from "@gnu-taler/taler-util";
+import { setupI18n, i18n } from "@gnu-taler/taler-util";
 import { createHashHistory } from "history";
 import { Fragment, h, render, VNode } from "preact";
 import Router, { route, Route } from "preact-router";
@@ -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,103 +78,117 @@ 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.dev} component={DeveloperPage} />
-
-              <Route
-                path={Pages.balance}
-                component={BalancePage}
-                goToWalletManualWithdraw={() =>
-                  goToWalletPage(
-                    Pages.balance_manual_withdraw.replace(":currency?", ""),
-                  )
-                }
-                goToWalletDeposit={(currency: string) =>
-                  goToWalletPage(
-                    Pages.balance_deposit.replace(":currency", currency),
-                  )
-                }
-                goToWalletHistory={(currency: string) =>
-                  goToWalletPage(
-                    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.backup_provider_add}
-                component={ProviderAddPage}
-                onBack={() => {
-                  route(Pages.backup);
-                }}
-              />
-
-              <Route
-                path={Pages.settings_exchange_add}
-                component={ExchangeAddPage}
-                onBack={() => {
-                  route(Pages.balance);
-                }}
-              />
-
-              <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>
   );
 }
 
-async function goToWalletPage(page: Pages | string): Promise<void> {
-  // eslint-disable-next-line no-undef
-  await chrome.tabs.create({
-    active: true,
-    // eslint-disable-next-line no-undef
-    url: chrome.runtime.getURL(`/static/wallet.html#${page}`),
+function RedirectToWalletPage(): VNode {
+  const page = document.location.hash || "#/";
+  useEffect(() => {
+    chrome.tabs
+      .create({
+        active: true,
+        // eslint-disable-next-line no-undef
+        url: chrome.runtime.getURL(`/static/wallet.html${page}`),
+      })
+      .then(() => {
+        window.close();
+      });
   });
-  window.close();
-  // return null;
+  return (
+    <span>
+      <i18n.Translate>
+        this popup is being closed and you are being redirected to {page}
+      </i18n.Translate>
+    </span>
+  );
 }
 
 function Redirect({ to }: { to: string }): null {
diff --git a/packages/taler-wallet-webextension/src/wallet/AddNewActionView.tsx 
b/packages/taler-wallet-webextension/src/wallet/AddNewActionView.tsx
index d4158973..229fab7b 100644
--- a/packages/taler-wallet-webextension/src/wallet/AddNewActionView.tsx
+++ b/packages/taler-wallet-webextension/src/wallet/AddNewActionView.tsx
@@ -1,4 +1,4 @@
-import { classifyTalerUri, TalerUriType } from "@gnu-taler/taler-util";
+import { classifyTalerUri, TalerUriType, i18n } from "@gnu-taler/taler-util";
 import { Fragment, h, VNode } from "preact";
 import { useState } from "preact/hooks";
 import { Button, ButtonSuccess, InputWithLabel } from "../components/styled";
@@ -8,20 +8,20 @@ export interface Props {
   onCancel: () => void;
 }
 
-function buttonLabelByTalerType(type: TalerUriType): string {
+function buttonLabelByTalerType(type: TalerUriType): VNode {
   switch (type) {
     case TalerUriType.TalerNotifyReserve:
-      return "Open reserve page";
+      return <i18n.Translate>Open reserve page</i18n.Translate>;
     case TalerUriType.TalerPay:
-      return "Open pay page";
+      return <i18n.Translate>Open pay page</i18n.Translate>;
     case TalerUriType.TalerRefund:
-      return "Open refund page";
+      return <i18n.Translate>Open refund page</i18n.Translate>;
     case TalerUriType.TalerTip:
-      return "Open tip page";
+      return <i18n.Translate>Open tip page</i18n.Translate>;
     case TalerUriType.TalerWithdraw:
-      return "Open withdraw page";
+      return <i18n.Translate>Open withdraw page</i18n.Translate>;
   }
-  return "";
+  return <Fragment />;
 }
 
 export function AddNewActionView({ onCancel }: Props): VNode {
@@ -47,7 +47,9 @@ export function AddNewActionView({ onCancel }: Props): VNode {
         </InputWithLabel>
       </section>
       <footer>
-        <Button onClick={onCancel}>Back</Button>
+        <Button onClick={onCancel}>
+          <i18n.Translate>Back</i18n.Translate>
+        </Button>
         {uriType !== TalerUriType.Unknown && (
           <ButtonSuccess
             onClick={() => {
diff --git a/packages/taler-wallet-webextension/src/wallet/BackupPage.tsx 
b/packages/taler-wallet-webextension/src/wallet/BackupPage.tsx
index daea9e3b..a5821d48 100644
--- a/packages/taler-wallet-webextension/src/wallet/BackupPage.tsx
+++ b/packages/taler-wallet-webextension/src/wallet/BackupPage.tsx
@@ -14,7 +14,7 @@
  TALER; see the file COPYING.  If not, see <http://www.gnu.org/licenses/>
 */
 
-import { i18n, Timestamp } from "@gnu-taler/taler-util";
+import { i18n, Timestamp, Translate } from "@gnu-taler/taler-util";
 import {
   ProviderInfo,
   ProviderPaymentPaid,
@@ -71,7 +71,10 @@ export function BackupPage({ onAddProvider }: Props): VNode {
   }
   if (status.hasError) {
     return (
-      <LoadingError title="Could not load backup providers" error={status} />
+      <LoadingError
+        title={<i18n.Translate>Could not load backup 
providers</i18n.Translate>}
+        error={status}
+      />
     );
   }
 
@@ -122,7 +125,9 @@ export function BackupView({
         ))}
         {!providers.length && (
           <Centered style={{ marginTop: 100 }}>
-            <BoldLight>No backup providers configured</BoldLight>
+            <BoldLight>
+              <i18n.Translate>No backup providers configured</i18n.Translate>
+            </BoldLight>
             <ButtonSuccess onClick={onAddProvider}>
               <i18n.Translate>Add provider</i18n.Translate>
             </ButtonSuccess>
@@ -140,7 +145,9 @@ export function BackupView({
                 <i18n.Translate>Sync now</i18n.Translate>
               )}
             </ButtonPrimary>
-            <ButtonSuccess onClick={onAddProvider}>Add provider</ButtonSuccess>
+            <ButtonSuccess onClick={onAddProvider}>
+              <i18n.Translate>Add provider</i18n.Translate>
+            </ButtonSuccess>
           </div>
         </footer>
       )}
@@ -176,10 +183,14 @@ function BackupLayout(props: TransactionLayoutProps): 
VNode {
         </a>
 
         {dateStr && (
-          <SmallText style={{ marginTop: 5 }}>Last synced: 
{dateStr}</SmallText>
+          <SmallText style={{ marginTop: 5 }}>
+            <i18n.Translate>Last synced</i18n.Translate>: {dateStr}
+          </SmallText>
         )}
         {!dateStr && (
-          <SmallLightText style={{ marginTop: 5 }}>Not synced</SmallLightText>
+          <SmallLightText style={{ marginTop: 5 }}>
+            <i18n.Translate>Not synced</i18n.Translate>
+          </SmallLightText>
         )}
       </div>
       <div>
@@ -196,7 +207,9 @@ function BackupLayout(props: TransactionLayoutProps): VNode 
{
 function ExpirationText({ until }: { until: Timestamp }): VNode {
   return (
     <Fragment>
-      <CenteredText> Expires in </CenteredText>
+      <CenteredText>
+        <i18n.Translate>Expires in</i18n.Translate>
+      </CenteredText>
       <CenteredBoldText {...{ color: colorByTimeToExpire(until) }}>
         {" "}
         {daysUntil(until)}{" "}
diff --git 
a/packages/taler-wallet-webextension/src/wallet/CreateManualWithdraw.tsx 
b/packages/taler-wallet-webextension/src/wallet/CreateManualWithdraw.tsx
index 0ca07816..96644be2 100644
--- a/packages/taler-wallet-webextension/src/wallet/CreateManualWithdraw.tsx
+++ b/packages/taler-wallet-webextension/src/wallet/CreateManualWithdraw.tsx
@@ -19,7 +19,7 @@
  * @author Sebastian Javier Marchano (sebasjm)
  */
 
-import { AmountJson, Amounts, i18n } from "@gnu-taler/taler-util";
+import { AmountJson, Amounts, i18n, Translate } from "@gnu-taler/taler-util";
 import { Fragment, h, VNode } from "preact";
 import { useState } from "preact/hooks";
 import { ErrorMessage } from "../components/ErrorMessage";
@@ -99,14 +99,20 @@ export function CreateManualWithdraw({
   if (!initialExchange) {
     return (
       <section>
-        <h2>Manual Withdrawal</h2>
+        <h2>
+          <i18n.Translate>Manual Withdrawal</i18n.Translate>
+        </h2>
         <LightText>
-          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.
+          <i18n.Translate>
+            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.
+          </i18n.Translate>
         </LightText>
         <Centered style={{ marginTop: 100 }}>
-          <BoldLight>No exchange configured</BoldLight>
+          <BoldLight>
+            <i18n.Translate>No exchange configured</i18n.Translate>
+          </BoldLight>
           <ButtonSuccess onClick={onAddExchange}>
             <i18n.Translate>Add exchange</i18n.Translate>
           </ButtonSuccess>
@@ -118,20 +124,26 @@ export function CreateManualWithdraw({
   return (
     <Fragment>
       <section>
-        <ErrorMessage
-          title={error && "Can't create the reserve"}
-          description={error}
-        />
-        <h2>Manual Withdrawal</h2>
+        {error && (
+          <ErrorMessage
+            title={<i18n.Translate>Can't create the reserve</i18n.Translate>}
+            description={error}
+          />
+        )}
+        <h2>
+          <i18n.Translate>Manual Withdrawal</i18n.Translate>
+        </h2>
         <LightText>
-          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.
+          <i18n.Translate>
+            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.
+          </i18n.Translate>
         </LightText>
         <p>
           <Input>
             <SelectList
-              label="Currency"
+              label={<i18n.Translate>Currency</i18n.Translate>}
               list={currencyMap}
               name="currency"
               value={currency}
@@ -140,7 +152,7 @@ export function CreateManualWithdraw({
           </Input>
           <Input>
             <SelectList
-              label="Exchange"
+              label={<i18n.Translate>Exchange</i18n.Translate>}
               list={exchangeMap}
               name="currency"
               value={exchange}
@@ -149,12 +161,14 @@ export function CreateManualWithdraw({
           </Input>
           <div style={{ display: "flex", justifyContent: "space-between" }}>
             <LinkPrimary onClick={onAddExchange} style={{ marginLeft: "auto" 
}}>
-              <i18n.Translate>Add exchange</i18n.Translate>
+              <i18n.Translate>Add Exchange</i18n.Translate>
             </LinkPrimary>
           </div>
           {currency && (
             <InputWithLabel invalid={!!amount && !parsedAmount}>
-              <label>Amount</label>
+              <label>
+                <i18n.Translate>Amount</i18n.Translate>
+              </label>
               <div>
                 <span>{currency}</span>
                 <input
@@ -173,7 +187,7 @@ export function CreateManualWithdraw({
           disabled={!parsedAmount || !exchange}
           onClick={() => onCreate(exchange, parsedAmount!)}
         >
-          Start withdrawal
+          <i18n.Translate>Start withdrawal</i18n.Translate>
         </ButtonPrimary>
       </footer>
     </Fragment>
diff --git a/packages/taler-wallet-webextension/src/wallet/DepositPage.tsx 
b/packages/taler-wallet-webextension/src/wallet/DepositPage.tsx
index abe830e8..d1d618e9 100644
--- a/packages/taler-wallet-webextension/src/wallet/DepositPage.tsx
+++ b/packages/taler-wallet-webextension/src/wallet/DepositPage.tsx
@@ -19,6 +19,7 @@ import {
   Amounts,
   AmountString,
   PaytoUri,
+  i18n,
 } from "@gnu-taler/taler-util";
 import { DepositFee } from 
"@gnu-taler/taler-wallet-core/src/operations/deposits";
 import { Fragment, h, VNode } from "preact";
@@ -132,13 +133,23 @@ export function View({
   }, [amount]);
 
   if (!balance) {
-    return <div>no balance</div>;
+    return (
+      <div>
+        <i18n.Translate>no balance</i18n.Translate>
+      </div>
+    );
   }
   if (!knownBankAccounts || !knownBankAccounts.length) {
     return (
       <WarningBox>
-        <p>There is no known bank account to send money to</p>
-        <ButtonBoxWarning>Withdraw</ButtonBoxWarning>
+        <p>
+          <i18n.Translate>
+            There is no known bank account to send money to
+          </i18n.Translate>
+        </p>
+        <ButtonBoxWarning>
+          <i18n.Translate>Withdraw</i18n.Translate>
+        </ButtonBoxWarning>
       </WarningBox>
     );
   }
@@ -162,11 +173,13 @@ export function View({
 
   return (
     <Fragment>
-      <h2>Send {currency} to your account</h2>
+      <h2>
+        <i18n.Translate>Send {currency} to your account</i18n.Translate>
+      </h2>
       <section>
         <Input>
           <SelectList
-            label="Bank account IBAN number"
+            label={<i18n.Translate>Bank account IBAN number</i18n.Translate>}
             list={accountMap}
             name="account"
             value={String(accountIdx)}
@@ -174,7 +187,9 @@ export function View({
           />
         </Input>
         <InputWithLabel invalid={!!error}>
-          <label>Amount</label>
+          <label>
+            <i18n.Translate>Amount</i18n.Translate>
+          </label>
           <div>
             <span>{currency}</span>
             <input
@@ -196,7 +211,9 @@ export function View({
         {
           <Fragment>
             <InputWithLabel>
-              <label>Deposit fee</label>
+              <label>
+                <i18n.Translate>Deposit fee</i18n.Translate>
+              </label>
               <div>
                 <span>{currency}</span>
                 <input
@@ -208,7 +225,9 @@ export function View({
             </InputWithLabel>
 
             <InputWithLabel>
-              <label>Total deposit</label>
+              <label>
+                <i18n.Translate>Total deposit</i18n.Translate>
+              </label>
               <div>
                 <span>{currency}</span>
                 <input
@@ -224,10 +243,14 @@ export function View({
       <footer>
         <div />
         {unableToDeposit ? (
-          <ButtonPrimary disabled>Deposit</ButtonPrimary>
+          <ButtonPrimary disabled>
+            <i18n.Translate>Deposit</i18n.Translate>
+          </ButtonPrimary>
         ) : (
           <ButtonPrimary onClick={() => onSend(accountURI, amountStr)}>
-            Deposit {Amounts.stringifyValue(totalToDeposit)} {currency}
+            <i18n.Translate>
+              Deposit {Amounts.stringifyValue(totalToDeposit)} {currency}
+            </i18n.Translate>
           </ButtonPrimary>
         )}
       </footer>
diff --git 
a/packages/taler-wallet-webextension/src/wallet/ExchangeAddConfirm.tsx 
b/packages/taler-wallet-webextension/src/wallet/ExchangeAddConfirm.tsx
index 562a2c95..1ffca827 100644
--- a/packages/taler-wallet-webextension/src/wallet/ExchangeAddConfirm.tsx
+++ b/packages/taler-wallet-webextension/src/wallet/ExchangeAddConfirm.tsx
@@ -1,4 +1,4 @@
-import { i18n } from "@gnu-taler/taler-util";
+import { i18n, Translate } from "@gnu-taler/taler-util";
 import { Fragment, h, VNode } from "preact";
 import { useState } from "preact/hooks";
 import { Button, ButtonSuccess, ButtonWarning } from "../components/styled";
@@ -84,9 +84,11 @@ export function View({
   return (
     <Fragment>
       <section>
-        <h1>Review terms of service</h1>
+        <h1>
+          <i18n.Translate>Review terms of service</i18n.Translate>
+        </h1>
         <div>
-          Exchange URL:
+          <i18n.Translate>Exchange URL</i18n.Translate>:
           <a href={url} target="_blank" rel="noreferrer">
             {url}
           </a>
@@ -118,17 +120,17 @@ export function View({
           <Fragment>
             {needsReview && !reviewed && (
               <ButtonSuccess disabled upperCased onClick={onConfirm}>
-                {i18n.str`Add exchange`}
+                <i18n.Translate>Add exchange</i18n.Translate>
               </ButtonSuccess>
             )}
             {(terms.status === "accepted" || (needsReview && reviewed)) && (
               <ButtonSuccess upperCased onClick={onConfirm}>
-                {i18n.str`Add exchange`}
+                <i18n.Translate>Add exchange</i18n.Translate>
               </ButtonSuccess>
             )}
             {terms.status === "notfound" && (
               <ButtonWarning upperCased onClick={onConfirm}>
-                {i18n.str`Add exchange anyway`}
+                <i18n.Translate>Add exchange anyway</i18n.Translate>
               </ButtonWarning>
             )}
           </Fragment>
diff --git a/packages/taler-wallet-webextension/src/wallet/ExchangeSetUrl.tsx 
b/packages/taler-wallet-webextension/src/wallet/ExchangeSetUrl.tsx
index c4ba4f2a..7199ce90 100644
--- a/packages/taler-wallet-webextension/src/wallet/ExchangeSetUrl.tsx
+++ b/packages/taler-wallet-webextension/src/wallet/ExchangeSetUrl.tsx
@@ -2,6 +2,7 @@ import {
   canonicalizeBaseUrl,
   i18n,
   TalerConfigResponse,
+  Translate,
 } from "@gnu-taler/taler-util";
 import { Fragment, h } from "preact";
 import { useEffect, useState } from "preact/hooks";
@@ -91,32 +92,50 @@ export function ExchangeSetUrlPage({
     <Fragment>
       <section>
         {!expectedCurrency ? (
-          <h1>Add new exchange</h1>
+          <h1>
+            <i18n.Translate>Add new exchange</i18n.Translate>
+          </h1>
         ) : (
-          <h2>Add exchange for {expectedCurrency}</h2>
+          <h2>
+            <i18n.Translate>Add exchange for 
{expectedCurrency}</i18n.Translate>
+          </h2>
         )}
         {!result && (
-          <LightText>Enter the URL of an exchange you trust.</LightText>
+          <LightText>
+            <i18n.Translate>
+              Enter the URL of an exchange you trust.
+            </i18n.Translate>
+          </LightText>
         )}
         {result && (
           <LightText>
-            An exchange has been found! Review the information and click next
+            <i18n.Translate>
+              An exchange has been found! Review the information and click next
+            </i18n.Translate>
           </LightText>
         )}
         {result && expectedCurrency && expectedCurrency !== result.currency && 
(
           <WarningBox>
-            This exchange doesn't match the expected currency{" "}
-            <b>{expectedCurrency}</b>
+            <i18n.Translate>
+              This exchange doesn't match the expected currency
+              <b>{expectedCurrency}</b>
+            </i18n.Translate>
           </WarningBox>
         )}
-        <ErrorMessage
-          title={error && "Unable to add this exchange"}
-          description={error}
-        />
-        <ErrorMessage
-          title={confirmationError && "Unable to add this exchange"}
-          description={confirmationError}
-        />
+        {error && (
+          <ErrorMessage
+            title={
+              <i18n.Translate>Unable to verify this exchange</i18n.Translate>
+            }
+            description={error}
+          />
+        )}
+        {confirmationError && (
+          <ErrorMessage
+            title={<i18n.Translate>Unable to add this 
exchange</i18n.Translate>}
+            description={confirmationError}
+          />
+        )}
         <p>
           <Input invalid={!!error}>
             <label>URL</label>
@@ -127,15 +146,23 @@ export function ExchangeSetUrlPage({
               onInput={(e) => updateEndpoint(e.currentTarget.value)}
             />
           </Input>
-          {loading && <div>loading... </div>}
+          {loading && (
+            <div>
+              <i18n.Translate>loading</i18n.Translate>...
+            </div>
+          )}
           {result && !loading && (
             <Fragment>
               <Input>
-                <label>Version</label>
+                <label>
+                  <i18n.Translate>Version</i18n.Translate>
+                </label>
                 <input type="text" disabled value={result.version} />
               </Input>
               <Input>
-                <label>Currency</label>
+                <label>
+                  <i18n.Translate>Currency</i18n.Translate>
+                </label>
                 <input type="text" disabled value={result.currency} />
               </Input>
             </Fragment>
diff --git a/packages/taler-wallet-webextension/src/wallet/History.tsx 
b/packages/taler-wallet-webextension/src/wallet/History.tsx
index 2fae0752..e0a1c588 100644
--- a/packages/taler-wallet-webextension/src/wallet/History.tsx
+++ b/packages/taler-wallet-webextension/src/wallet/History.tsx
@@ -19,6 +19,7 @@ import {
   Balance,
   NotificationType,
   Transaction,
+  i18n,
 } from "@gnu-taler/taler-util";
 import { Fragment, h, VNode } from "preact";
 import { useState } from "preact/hooks";
@@ -66,7 +67,11 @@ export function HistoryPage({
   if (transactionQuery.hasError) {
     return (
       <LoadingError
-        title="Could not load the list of transactions"
+        title={
+          <i18n.Translate>
+            Could not load the list of transactions
+          </i18n.Translate>
+        }
         error={transactionQuery}
       />
     );
@@ -193,21 +198,23 @@ export function HistoryView({
               style={{ marginLeft: 0, marginTop: 8 }}
               onClick={() => goToWalletManualWithdraw(selectedCurrency)}
             >
-              Withdraw
+              <i18n.Translate>Withdraw</i18n.Translate>
             </ButtonPrimary>
             {currencyAmount && Amounts.isNonZero(currencyAmount) && (
               <ButtonBoxPrimary
                 style={{ marginLeft: 0, marginTop: 8 }}
                 onClick={() => goToWalletDeposit(selectedCurrency)}
               >
-                Deposit
+                <i18n.Translate>Deposit</i18n.Translate>
               </ButtonBoxPrimary>
             )}
           </div>
         </div>
       </section>
       {datesWithTransaction.length === 0 ? (
-        <section>There is no history for this currency</section>
+        <section>
+          <i18n.Translate>There is no history for this 
currency</i18n.Translate>
+        </section>
       ) : (
         <section>
           {datesWithTransaction.map((d, i) => {
diff --git 
a/packages/taler-wallet-webextension/src/wallet/ManualWithdrawPage.tsx 
b/packages/taler-wallet-webextension/src/wallet/ManualWithdrawPage.tsx
index 1f860379..d9a1544a 100644
--- a/packages/taler-wallet-webextension/src/wallet/ManualWithdrawPage.tsx
+++ b/packages/taler-wallet-webextension/src/wallet/ManualWithdrawPage.tsx
@@ -19,6 +19,7 @@ import {
   AmountJson,
   Amounts,
   NotificationType,
+  i18n,
 } from "@gnu-taler/taler-util";
 import { h, VNode } from "preact";
 import { useState } from "preact/hooks";
@@ -95,7 +96,11 @@ export function ManualWithdrawPage({ currency, onCancel }: 
Props): VNode {
   if (state.hasError) {
     return (
       <LoadingError
-        title="Could not load the list of known exchanges"
+        title={
+          <i18n.Translate>
+            Could not load the list of known exchanges
+          </i18n.Translate>
+        }
         error={state}
       />
     );
diff --git a/packages/taler-wallet-webextension/src/wallet/ProviderAddPage.tsx 
b/packages/taler-wallet-webextension/src/wallet/ProviderAddPage.tsx
index 44d1049b..6bb5b683 100644
--- a/packages/taler-wallet-webextension/src/wallet/ProviderAddPage.tsx
+++ b/packages/taler-wallet-webextension/src/wallet/ProviderAddPage.tsx
@@ -19,6 +19,7 @@ import {
   BackupBackupProviderTerms,
   canonicalizeBaseUrl,
   i18n,
+  Translate,
 } from "@gnu-taler/taler-util";
 import { Fragment, h, VNode } from "preact";
 import { useEffect, useState } from "preact/hooks";
@@ -113,15 +114,29 @@ export function SetUrlView({
   return (
     <Fragment>
       <section>
-        <h1> Add backup provider</h1>
-        <ErrorMessage
-          title={error && "Could not get provider information"}
-          description={error}
-        />
-        <LightText> Backup providers may charge for their service</LightText>
+        <h1>
+          <i18n.Translate>Add backup provider</i18n.Translate>
+        </h1>
+        {error && (
+          <ErrorMessage
+            title={
+              <i18n.Translate>
+                Could not get provider information
+              </i18n.Translate>
+            }
+            description={error}
+          />
+        )}
+        <LightText>
+          <i18n.Translate>
+            Backup providers may charge for their service
+          </i18n.Translate>
+        </LightText>
         <p>
           <Input invalid={urlError}>
-            <label>URL</label>
+            <label>
+              <i18n.Translate>URL</i18n.Translate>
+            </label>
             <input
               type="text"
               placeholder="https://";
@@ -130,7 +145,9 @@ export function SetUrlView({
             />
           </Input>
           <Input>
-            <label>Name</label>
+            <label>
+              <i18n.Translate>Name</i18n.Translate>
+            </label>
             <input
               type="text"
               disabled={name === undefined}
@@ -142,7 +159,7 @@ export function SetUrlView({
       </section>
       <footer>
         <Button onClick={onCancel}>
-          <i18n.Translate> &lt; Back</i18n.Translate>
+          &lt; <i18n.Translate>Back</i18n.Translate>
         </Button>
         <ButtonPrimary
           disabled={!value && !urlError}
@@ -177,29 +194,43 @@ export function ConfirmProviderView({
   return (
     <Fragment>
       <section>
-        <h1>Review terms of service</h1>
+        <h1>
+          <i18n.Translate>Review terms of service</i18n.Translate>
+        </h1>
         <div>
-          Provider URL:{" "}
+          <i18n.Translate>Provider URL</i18n.Translate>:{" "}
           <a href={url} target="_blank">
             {url}
           </a>
         </div>
         <SmallLightText>
-          Please review and accept this provider's terms of service
+          <i18n.Translate>
+            Please review and accept this provider's terms of service
+          </i18n.Translate>
         </SmallLightText>
-        <h2>1. Pricing</h2>
+        <h2>
+          1. <i18n.Translate>Pricing</i18n.Translate>
+        </h2>
         <p>
-          {Amounts.isZero(provider.annual_fee)
-            ? "free of charge"
-            : `${provider.annual_fee} per year of service`}
+          {Amounts.isZero(provider.annual_fee) ? (
+            <i18n.Translate>free of charge</i18n.Translate>
+          ) : (
+            <i18n.Translate>
+              {provider.annual_fee} per year of service
+            </i18n.Translate>
+          )}
         </p>
-        <h2>2. Storage</h2>
+        <h2>
+          2. <i18n.Translate>Storage</i18n.Translate>
+        </h2>
         <p>
-          {provider.storage_limit_in_megabytes} megabytes of storage per year 
of
-          service
+          <i18n.Translate>
+            {provider.storage_limit_in_megabytes} megabytes of storage per year
+            of service
+          </i18n.Translate>
         </p>
         <Checkbox
-          label="Accept terms of service"
+          label={<i18n.Translate>Accept terms of service</i18n.Translate>}
           name="terms"
           onToggle={() => setAccepted((old) => !old)}
           enabled={accepted}
@@ -207,7 +238,7 @@ export function ConfirmProviderView({
       </section>
       <footer>
         <Button onClick={onCancel}>
-          <i18n.Translate> &lt; Back</i18n.Translate>
+          &lt; <i18n.Translate>Back</i18n.Translate>
         </Button>
         <ButtonPrimary disabled={!accepted} onClick={onConfirm}>
           <i18n.Translate>Add provider</i18n.Translate>
diff --git 
a/packages/taler-wallet-webextension/src/wallet/ProviderDetailPage.tsx 
b/packages/taler-wallet-webextension/src/wallet/ProviderDetailPage.tsx
index 239a7b31..65049d6b 100644
--- a/packages/taler-wallet-webextension/src/wallet/ProviderDetailPage.tsx
+++ b/packages/taler-wallet-webextension/src/wallet/ProviderDetailPage.tsx
@@ -22,6 +22,8 @@ import {
 } from "@gnu-taler/taler-wallet-core";
 import { Fragment, h, VNode } from "preact";
 import { ErrorMessage } from "../components/ErrorMessage";
+import { Loading } from "../components/Loading";
+import { LoadingError } from "../components/LoadingError";
 import {
   Button,
   ButtonDestructive,
@@ -52,35 +54,24 @@ export function ProviderDetailPage({ pid: providerURL, 
onBack }: Props): VNode {
   const state = useAsyncAsHook(getProviderInfo);
 
   if (!state) {
-    return (
-      <div>
-        <i18n.Translate>Loading...</i18n.Translate>
-      </div>
-    );
+    return <Loading />;
   }
   if (state.hasError) {
     return (
-      <div>
-        <i18n.Translate>
-          There was an error loading the provider detail for "{providerURL}"
-        </i18n.Translate>
-      </div>
+      <LoadingError
+        title={
+          <i18n.Translate>
+            There was an error loading the provider detail for "{providerURL}"
+          </i18n.Translate>
+        }
+        error={state}
+      />
     );
   }
 
-  if (state.response === null) {
-    onBack();
-    return (
-      <div>
-        <i18n.Translate>
-          There is not known provider with url "{providerURL}". Redirecting
-          back...
-        </i18n.Translate>
-      </div>
-    );
-  }
   return (
     <ProviderView
+      url={providerURL}
       info={state.response}
       onSync={async () => wxApi.syncOneProvider(providerURL)}
       onDelete={async () => wxApi.removeProvider(providerURL).then(onBack)}
@@ -93,7 +84,8 @@ export function ProviderDetailPage({ pid: providerURL, onBack 
}: Props): VNode {
 }
 
 export interface ViewProps {
-  info: ProviderInfo;
+  url: string;
+  info: ProviderInfo | null;
   onDelete: () => void;
   onSync: () => void;
   onBack: () => void;
@@ -102,12 +94,32 @@ export interface ViewProps {
 
 export function ProviderView({
   info,
+  url,
   onDelete,
   onSync,
   onBack,
   onExtend,
 }: ViewProps): VNode {
-  const lb = info?.lastSuccessfulBackupTimestamp;
+  if (info === null) {
+    return (
+      <Fragment>
+        <section>
+          <p>
+            <i18n.Translate>
+              There is not known provider with url "{url}".
+            </i18n.Translate>
+          </p>
+        </section>
+        <footer>
+          <Button onClick={onBack}>
+            &lt; <i18n.Translate>Back</i18n.Translate>
+          </Button>
+          <div />
+        </footer>
+      </Fragment>
+    );
+  }
+  const lb = info.lastSuccessfulBackupTimestamp;
   const isPaid =
     info.paymentStatus.type === ProviderPaymentType.Paid ||
     info.paymentStatus.type === ProviderPaymentType.TermsChanged;
@@ -125,7 +137,10 @@ export function ProviderView({
       </header>
       <section>
         <p>
-          <b>Last backup:</b> <Time timestamp={lb} format="dd MMMM yyyy" />
+          <b>
+            <i18n.Translate>Last backup</i18n.Translate>:
+          </b>{" "}
+          <Time timestamp={lb} format="dd MMMM yyyy" />
         </p>
         <ButtonPrimary onClick={onSync}>
           <i18n.Translate>Back up</i18n.Translate>
@@ -133,7 +148,11 @@ export function ProviderView({
         {info.terms && (
           <Fragment>
             <p>
-              <b>Provider fee:</b> {info.terms && info.terms.annualFee} per 
year
+              <b>
+                <i18n.Translate>Provider fee</i18n.Translate>:
+              </b>{" "}
+              {info.terms && info.terms.annualFee}{" "}
+              <i18n.Translate>per year</i18n.Translate>
             </p>
           </Fragment>
         )}
@@ -187,11 +206,11 @@ export function ProviderView({
       </section>
       <footer>
         <Button onClick={onBack}>
-          <i18n.Translate> &lt; back</i18n.Translate>
+          &lt; <i18n.Translate>back</i18n.Translate>
         </Button>
         <div>
           <ButtonDestructive onClick={onDelete}>
-            <i18n.Translate>remove provider</i18n.Translate>
+            <i18n.Translate>Remove provider</i18n.Translate>
           </ButtonDestructive>
         </div>
       </footer>
@@ -201,7 +220,14 @@ export function ProviderView({
 
 function Error({ info }: { info: ProviderInfo }): VNode {
   if (info.lastError) {
-    return <ErrorMessage title={info.lastError.hint} />;
+    return (
+      <ErrorMessage
+        title={
+          <i18n.Translate>This provider has reported an error</i18n.Translate>
+        }
+        description={info.lastError.hint}
+      />
+    );
   }
   if (info.backupProblem) {
     switch (info.backupProblem.type) {
@@ -219,7 +245,11 @@ function Error({ info }: { info: ProviderInfo }): VNode {
           />
         );
       case "backup-unreadable":
-        return <ErrorMessage title="Backup is not readable" />;
+        return (
+          <ErrorMessage
+            title={<i18n.Translate>Backup is not readable</i18n.Translate>}
+          />
+        );
       default:
         return (
           <ErrorMessage
@@ -239,16 +269,20 @@ function Error({ info }: { info: ProviderInfo }): VNode {
 
 function descriptionByStatus(status: ProviderPaymentStatus): VNode {
   switch (status.type) {
-    // return i18n.str`no enough balance to make the payment`
-    // return i18n.str`not paid yet`
     case ProviderPaymentType.Paid:
     case ProviderPaymentType.TermsChanged:
       if (status.paidUntil.t_ms === "never") {
-        return <span>{i18n.str`service paid`}</span>;
+        return (
+          <span>
+            <i18n.Translate>service paid</i18n.Translate>
+          </span>
+        );
       }
       return (
         <Fragment>
-          <b>Backup valid until:</b>{" "}
+          <b>
+            <i18n.Translate>Backup valid until</i18n.Translate>:
+          </b>{" "}
           <Time timestamp={status.paidUntil} format="dd MMM yyyy" />
         </Fragment>
       );
diff --git a/packages/taler-wallet-webextension/src/wallet/ReserveCreated.tsx 
b/packages/taler-wallet-webextension/src/wallet/ReserveCreated.tsx
index 7ccef2da..2c0e2fd3 100644
--- a/packages/taler-wallet-webextension/src/wallet/ReserveCreated.tsx
+++ b/packages/taler-wallet-webextension/src/wallet/ReserveCreated.tsx
@@ -1,4 +1,4 @@
-import { AmountJson, Amounts, parsePaytoUri } from "@gnu-taler/taler-util";
+import { AmountJson, parsePaytoUri, i18n } from "@gnu-taler/taler-util";
 import { Fragment, h, VNode } from "preact";
 import { BankDetailsByPaytoType } from "../components/BankDetailsByPaytoType";
 import { QR } from "../components/QR";
@@ -22,15 +22,25 @@ export function ReserveCreated({
   const paytoURI = parsePaytoUri(payto);
   // const url = new URL(paytoURI?.targetPath);
   if (!paytoURI) {
-    return <div>could not parse payto uri from exchange {payto}</div>;
+    return (
+      <div>
+        <i18n.Translate>
+          could not parse payto uri from exchange {payto}
+        </i18n.Translate>
+      </div>
+    );
   }
   return (
     <Fragment>
       <section>
-        <h1>Exchange is ready for withdrawal!</h1>
+        <h1>
+          <i18n.Translate>Exchange is ready for withdrawal</i18n.Translate>
+        </h1>
         <p>
-          To complete the process you need to wire{" "}
-          <b>{amountToString(amount)}</b> to the exchange bank account
+          <i18n.Translate>
+            To complete the process you need to wire
+            <b>{amountToString(amount)}</b> to the exchange bank account
+          </i18n.Translate>
         </p>
         <BankDetailsByPaytoType
           amount={amountToString(amount)}
@@ -40,23 +50,27 @@ export function ReserveCreated({
         />
         <p>
           <WarningBox>
-            Make sure to use the correct subject, otherwise the money will not
-            arrive in this wallet.
+            <i18n.Translate>
+              Make sure to use the correct subject, otherwise the money will 
not
+              arrive in this wallet.
+            </i18n.Translate>
           </WarningBox>
         </p>
       </section>
       <section>
         <p>
-          Alternative, you can also scan this QR code or open{" "}
-          <a href={payto}>this link</a> if you have a banking app installed 
that
-          supports RFC 8905
+          <i18n.Translate>
+            Alternative, you can also scan this QR code or open
+            <a href={payto}>this link</a> if you have a banking app installed
+            that supports RFC 8905
+          </i18n.Translate>
         </p>
         <QR text={payto} />
       </section>
       <footer>
         <div />
         <ButtonDestructive onClick={onCancel}>
-          Cancel withdrawal
+          <i18n.Translate>Cancel withdrawal</i18n.Translate>
         </ButtonDestructive>
       </footer>
     </Fragment>
diff --git a/packages/taler-wallet-webextension/src/wallet/Settings.tsx 
b/packages/taler-wallet-webextension/src/wallet/Settings.tsx
index ff47620e..8456ca55 100644
--- a/packages/taler-wallet-webextension/src/wallet/Settings.tsx
+++ b/packages/taler-wallet-webextension/src/wallet/Settings.tsx
@@ -14,16 +14,19 @@
  TALER; see the file COPYING.  If not, see <http://www.gnu.org/licenses/>
 */
 
-import { ExchangeListItem, i18n } from "@gnu-taler/taler-util";
+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,33 +80,65 @@ 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="Automatically open wallet based on page content"
+          label={
+            <i18n.Translate>
+              Automatically open wallet based on page content
+            </i18n.Translate>
+          }
           name="perm"
-          description="(Enabling this option below will make using the wallet 
faster, but requires more permissions from your browser.)"
+          description={
+            <i18n.Translate>
+              Enabling this option below will make using the wallet faster, but
+              requires more permissions from your browser.
+            </i18n.Translate>
+          }
           enabled={permissionsEnabled}
           onToggle={togglePermissions}
         />
 
         <h2>
-          <i18n.Translate>Known exchanges</i18n.Translate>
+          <i18n.Translate>Trust</i18n.Translate>
         </h2>
         {!knownExchanges || !knownExchanges.length ? (
-          <div>No exchange yet!</div>
+          <div>
+            <i18n.Translate>No exchange yet</i18n.Translate>
+          </div>
         ) : (
           <Fragment>
             <table>
               <thead>
                 <tr>
-                  <th>currency</th>
-                  <th>url</th>
-                  <th>term of service</th>
+                  <th>
+                    <i18n.Translate>Currency</i18n.Translate>
+                  </th>
+                  <th>
+                    <i18n.Translate>URL</i18n.Translate>
+                  </th>
+                  <th>
+                    <i18n.Translate>Term of Service</i18n.Translate>
+                  </th>
                 </tr>
               </thead>
               <tbody>
@@ -116,12 +151,24 @@ export function SettingsView({
                     );
                     switch (status) {
                       case "accepted":
-                        return <SuccessText>ok</SuccessText>;
+                        return (
+                          <SuccessText>
+                            <i18n.Translate>ok</i18n.Translate>
+                          </SuccessText>
+                        );
                       case "changed":
-                        return <WarningText>changed!</WarningText>;
+                        return (
+                          <WarningText>
+                            <i18n.Translate>changed</i18n.Translate>
+                          </WarningText>
+                        );
                       case "new":
                       case "notfound":
-                        return <DestructiveText>not accepted</DestructiveText>;
+                        return (
+                          <DestructiveText>
+                            <i18n.Translate>not accepted</i18n.Translate>
+                          </DestructiveText>
+                        );
                     }
                   }
                   return (
@@ -143,15 +190,19 @@ export function SettingsView({
         <div style={{ display: "flex", justifyContent: "space-between" }}>
           <div />
           <LinkPrimary href={Pages.settings_exchange_add}>
-            Add an exchange
+            <i18n.Translate>Add an exchange</i18n.Translate>
           </LinkPrimary>
         </div>
 
-        <h2>Config</h2>
+        <h2>Troubleshooting</h2>
         <Checkbox
-          label="Developer mode"
+          label={<i18n.Translate>Developer mode</i18n.Translate>}
           name="devMode"
-          description="(More options and information useful for debugging)"
+          description={
+            <i18n.Translate>
+              (More options and information useful for debugging)
+            </i18n.Translate>
+          }
           enabled={developerMode}
           onToggle={toggleDeveloperMode}
         />
diff --git a/packages/taler-wallet-webextension/src/wallet/Transaction.tsx 
b/packages/taler-wallet-webextension/src/wallet/Transaction.tsx
index 423a641a..cae70d60 100644
--- a/packages/taler-wallet-webextension/src/wallet/Transaction.tsx
+++ b/packages/taler-wallet-webextension/src/wallet/Transaction.tsx
@@ -47,7 +47,6 @@ import {
 } from "../components/styled";
 import { Time } from "../components/Time";
 import { useAsyncAsHook } from "../hooks/useAsyncAsHook";
-import { Pages } from "../NavigationBar";
 import * as wxApi from "../wxApi";
 
 interface Props {
@@ -76,7 +75,11 @@ export function TransactionPage({ tid, goToWalletHistory }: 
Props): VNode {
   if (state.hasError) {
     return (
       <LoadingError
-        title="Could not load the transaction information"
+        title={
+          <i18n.Translate>
+            Could not load the transaction information
+          </i18n.Translate>
+        }
         error={state}
       />
     );
@@ -139,11 +142,17 @@ export function TransactionView({
       <Fragment>
         <section style={{ padding: 8, textAlign: "center" }}>
           <ErrorTalerOperation
-            title="There was an error trying to complete the transaction"
+            title={
+              <i18n.Translate>
+                There was an error trying to complete the transaction
+              </i18n.Translate>
+            }
             error={transaction?.error}
           />
           {transaction.pending && (
-            <WarningBox>This transaction is not completed</WarningBox>
+            <WarningBox>
+              <i18n.Translate>This transaction is not 
completed</i18n.Translate>
+            </WarningBox>
           )}
         </section>
         <section>
@@ -151,16 +160,16 @@ export function TransactionView({
         </section>
         <footer>
           <Button onClick={onBack}>
-            <i18n.Translate> &lt; Back </i18n.Translate>
+            &lt; <i18n.Translate> Back </i18n.Translate>
           </Button>
           <div>
             {showRetry ? (
               <ButtonPrimary onClick={onRetry}>
-                <i18n.Translate>retry</i18n.Translate>
+                <i18n.Translate>Retry</i18n.Translate>
               </ButtonPrimary>
             ) : null}
             <ButtonDestructive onClick={doCheckBeforeForget}>
-              <i18n.Translate> Forget </i18n.Translate>
+              <i18n.Translate>Forget</i18n.Translate>
             </ButtonDestructive>
           </div>
         </footer>
@@ -184,24 +193,30 @@ export function TransactionView({
         {confirmBeforeForget ? (
           <Overlay>
             <CenteredDialog>
-              <header>Caution!</header>
+              <header>
+                <i18n.Translate>Caution!</i18n.Translate>
+              </header>
               <section>
-                If you have already wired money to the exchange you will loose
-                the chance to get the coins form it.
+                <i18n.Translate>
+                  If you have already wired money to the exchange you will 
loose
+                  the chance to get the coins form it.
+                </i18n.Translate>
               </section>
               <footer>
                 <Button onClick={() => setConfirmBeforeForget(false)}>
-                  <i18n.Translate> Cancel </i18n.Translate>
+                  <i18n.Translate>Cancel</i18n.Translate>
                 </Button>
 
                 <ButtonDestructive onClick={onDelete}>
-                  <i18n.Translate> Confirm </i18n.Translate>
+                  <i18n.Translate>Confirm</i18n.Translate>
                 </ButtonDestructive>
               </footer>
             </CenteredDialog>
           </Overlay>
         ) : undefined}
-        <h2>Withdrawal</h2>
+        <h2>
+          <i18n.Translate>Withdrawal</i18n.Translate>
+        </h2>
         <Time timestamp={transaction.timestamp} format="dd MMMM yyyy, HH:mm" />
         {transaction.pending ? (
           transaction.withdrawalDetails.type ===
@@ -217,19 +232,21 @@ export function TransactionView({
               />
               <p>
                 <WarningBox>
-                  Make sure to use the correct subject, otherwise the money 
will
-                  not arrive in this wallet.
+                  <i18n.Translate>
+                    Make sure to use the correct subject, otherwise the money
+                    will not arrive in this wallet.
+                  </i18n.Translate>
                 </WarningBox>
               </p>
               <Part
                 big
-                title="Total withdrawn"
+                title={<i18n.Translate>Total withdrawn</i18n.Translate>}
                 text={amountToString(transaction.amountEffective)}
                 kind="positive"
               />
               <Part
                 big
-                title="Exchange fee"
+                title={<i18n.Translate>Exchange fee</i18n.Translate>}
                 text={amountToString(fee)}
                 kind="negative"
               />
@@ -239,34 +256,40 @@ export function TransactionView({
               {!transaction.withdrawalDetails.confirmed &&
               transaction.withdrawalDetails.bankConfirmationUrl ? (
                 <InfoBox>
-                  The bank is waiting for confirmation. Go to the
-                  <a
-                    href={transaction.withdrawalDetails.bankConfirmationUrl}
-                    target="_blank"
-                    rel="noreferrer"
-                  >
-                    bank site
-                  </a>
+                  <i18n.Translate>
+                    The bank is waiting for confirmation. Go to the
+                    <a
+                      href={transaction.withdrawalDetails.bankConfirmationUrl}
+                      target="_blank"
+                      rel="noreferrer"
+                    >
+                      <i18n.Translate>bank site</i18n.Translate>
+                    </a>
+                  </i18n.Translate>
                 </InfoBox>
               ) : undefined}
               {transaction.withdrawalDetails.confirmed && (
-                <InfoBox>Waiting for the coins to arrive</InfoBox>
+                <InfoBox>
+                  <i18n.Translate>
+                    Waiting for the coins to arrive
+                  </i18n.Translate>
+                </InfoBox>
               )}
               <Part
                 big
-                title="Total withdrawn"
+                title={<i18n.Translate>Total withdrawn</i18n.Translate>}
                 text={amountToString(transaction.amountEffective)}
                 kind="positive"
               />
               <Part
                 big
-                title="Chosen amount"
+                title={<i18n.Translate>Chosen amount</i18n.Translate>}
                 text={amountToString(transaction.amountRaw)}
                 kind="neutral"
               />
               <Part
                 big
-                title="Exchange fee"
+                title={<i18n.Translate>Exchange fee</i18n.Translate>}
                 text={amountToString(fee)}
                 kind="negative"
               />
@@ -276,26 +299,26 @@ export function TransactionView({
           <Fragment>
             <Part
               big
-              title="Total withdrawn"
+              title={<i18n.Translate>Total withdrawn</i18n.Translate>}
               text={amountToString(transaction.amountEffective)}
               kind="positive"
             />
             <Part
               big
-              title="Chosen amount"
+              title={<i18n.Translate>Chosen amount</i18n.Translate>}
               text={amountToString(transaction.amountRaw)}
               kind="neutral"
             />
             <Part
               big
-              title="Exchange fee"
+              title={<i18n.Translate>Exchange fee</i18n.Translate>}
               text={amountToString(fee)}
               kind="negative"
             />
           </Fragment>
         )}
         <Part
-          title="Exchange"
+          title={<i18n.Translate>Exchange</i18n.Translate>}
           text={new URL(transaction.exchangeBaseUrl).hostname}
           kind="neutral"
         />
@@ -315,30 +338,41 @@ export function TransactionView({
 
     return (
       <TransactionTemplate>
-        <h2>Payment </h2>
+        <h2>
+          <i18n.Translate>Payment</i18n.Translate>
+        </h2>
         <Time timestamp={transaction.timestamp} format="dd MMMM yyyy, HH:mm" />
         <br />
         <Part
           big
-          title="Total paid"
+          title={<i18n.Translate>Total paid</i18n.Translate>}
           text={amountToString(transaction.amountEffective)}
           kind="negative"
         />
         <Part
           big
-          title="Purchase amount"
+          title={<i18n.Translate>Purchase amount</i18n.Translate>}
           text={amountToString(transaction.amountRaw)}
           kind="neutral"
         />
-        <Part big title="Fee" text={amountToString(fee)} kind="negative" />
         <Part
-          title="Merchant"
+          big
+          title={<i18n.Translate>Fee</i18n.Translate>}
+          text={amountToString(fee)}
+          kind="negative"
+        />
+        <Part
+          title={<i18n.Translate>Merchant</i18n.Translate>}
           text={transaction.info.merchant.name}
           kind="neutral"
         />
-        <Part title="Purchase" text={transaction.info.summary} kind="neutral" 
/>
         <Part
-          title="Receipt"
+          title={<i18n.Translate>Purchase</i18n.Translate>}
+          text={transaction.info.summary}
+          kind="neutral"
+        />
+        <Part
+          title={<i18n.Translate>Receipt</i18n.Translate>}
           text={`#${transaction.info.orderId}`}
           kind="neutral"
         />
@@ -375,22 +409,29 @@ export function TransactionView({
     ).amount;
     return (
       <TransactionTemplate>
-        <h2>Deposit </h2>
+        <h2>
+          <i18n.Translate>Deposit</i18n.Translate>
+        </h2>
         <Time timestamp={transaction.timestamp} format="dd MMMM yyyy, HH:mm" />
         <br />
         <Part
           big
-          title="Total send"
+          title={<i18n.Translate>Total send</i18n.Translate>}
           text={amountToString(transaction.amountEffective)}
           kind="neutral"
         />
         <Part
           big
-          title="Deposit amount"
+          title={<i18n.Translate>Deposit amount</i18n.Translate>}
           text={amountToString(transaction.amountRaw)}
           kind="positive"
         />
-        <Part big title="Fee" text={amountToString(fee)} kind="negative" />
+        <Part
+          big
+          title={<i18n.Translate>Fee</i18n.Translate>}
+          text={amountToString(fee)}
+          kind="negative"
+        />
       </TransactionTemplate>
     );
   }
@@ -402,22 +443,29 @@ export function TransactionView({
     ).amount;
     return (
       <TransactionTemplate>
-        <h2>Refresh</h2>
+        <h2>
+          <i18n.Translate>Refresh</i18n.Translate>
+        </h2>
         <Time timestamp={transaction.timestamp} format="dd MMMM yyyy, HH:mm" />
         <br />
         <Part
           big
-          title="Total refresh"
+          title={<i18n.Translate>Total refresh</i18n.Translate>}
           text={amountToString(transaction.amountEffective)}
           kind="negative"
         />
         <Part
           big
-          title="Refresh amount"
+          title={<i18n.Translate>Refresh amount</i18n.Translate>}
           text={amountToString(transaction.amountRaw)}
           kind="neutral"
         />
-        <Part big title="Fee" text={amountToString(fee)} kind="negative" />
+        <Part
+          big
+          title={<i18n.Translate>Fee</i18n.Translate>}
+          text={amountToString(fee)}
+          kind="negative"
+        />
       </TransactionTemplate>
     );
   }
@@ -429,22 +477,29 @@ export function TransactionView({
     ).amount;
     return (
       <TransactionTemplate>
-        <h2>Tip</h2>
+        <h2>
+          <i18n.Translate>Tip</i18n.Translate>
+        </h2>
         <Time timestamp={transaction.timestamp} format="dd MMMM yyyy, HH:mm" />
         <br />
         <Part
           big
-          title="Total tip"
+          title={<i18n.Translate>Total tip</i18n.Translate>}
           text={amountToString(transaction.amountEffective)}
           kind="positive"
         />
         <Part
           big
-          title="Received amount"
+          title={<i18n.Translate>Received amount</i18n.Translate>}
           text={amountToString(transaction.amountRaw)}
           kind="neutral"
         />
-        <Part big title="Fee" text={amountToString(fee)} kind="negative" />
+        <Part
+          big
+          title={<i18n.Translate>Fee</i18n.Translate>}
+          text={amountToString(fee)}
+          kind="negative"
+        />
       </TransactionTemplate>
     );
   }
@@ -456,30 +511,41 @@ export function TransactionView({
     ).amount;
     return (
       <TransactionTemplate>
-        <h2>Refund</h2>
+        <h2>
+          <i18n.Translate>Refund</i18n.Translate>
+        </h2>
         <Time timestamp={transaction.timestamp} format="dd MMMM yyyy, HH:mm" />
         <br />
         <Part
           big
-          title="Total refund"
+          title={<i18n.Translate>Total refund</i18n.Translate>}
           text={amountToString(transaction.amountEffective)}
           kind="positive"
         />
         <Part
           big
-          title="Refund amount"
+          title={<i18n.Translate>Refund amount</i18n.Translate>}
           text={amountToString(transaction.amountRaw)}
           kind="neutral"
         />
-        <Part big title="Fee" text={amountToString(fee)} kind="negative" />
         <Part
-          title="Merchant"
+          big
+          title={<i18n.Translate>Fee</i18n.Translate>}
+          text={amountToString(fee)}
+          kind="negative"
+        />
+        <Part
+          title={<i18n.Translate>Merchant</i18n.Translate>}
           text={transaction.info.merchant.name}
           kind="neutral"
         />
-        <Part title="Purchase" text={transaction.info.summary} kind="neutral" 
/>
         <Part
-          title="Receipt"
+          title={<i18n.Translate>Purchase</i18n.Translate>}
+          text={transaction.info.summary}
+          kind="neutral"
+        />
+        <Part
+          title={<i18n.Translate>Receipt</i18n.Translate>}
           text={`#${transaction.info.orderId}`}
           kind="neutral"
         />
diff --git a/packages/taler-wallet-webextension/src/wallet/Welcome.tsx 
b/packages/taler-wallet-webextension/src/wallet/Welcome.tsx
index b180fdd0..37ad97af 100644
--- a/packages/taler-wallet-webextension/src/wallet/Welcome.tsx
+++ b/packages/taler-wallet-webextension/src/wallet/Welcome.tsx
@@ -17,10 +17,10 @@
 /**
  * Welcome page, shown on first installs.
  *
- * @author Florian Dold
+ * @author sebasjm
  */
 
-import { WalletDiagnostics } from "@gnu-taler/taler-util";
+import { i18n, WalletDiagnostics } from "@gnu-taler/taler-util";
 import { Fragment, h, VNode } from "preact";
 import { Checkbox } from "../components/Checkbox";
 import { Diagnostics } from "../components/Diagnostics";
@@ -54,24 +54,44 @@ export function View({
 }: ViewProps): VNode {
   return (
     <Fragment>
-      <h1>Browser Extension Installed!</h1>
+      <h1>
+        <i18n.Translate>Browser Extension Installed!</i18n.Translate>
+      </h1>
       <div>
-        <p>Thank you for installing the wallet.</p>
+        <p>
+          <i18n.Translate>Thank you for installing the wallet.</i18n.Translate>
+        </p>
         <Diagnostics diagnostics={diagnostics} timedOut={timedOut} />
-        <h2>Permissions</h2>
+        <h2>
+          <i18n.Translate>Permissions</i18n.Translate>
+        </h2>
         <Checkbox
-          label="Automatically open wallet based on page content"
+          label={
+            <i18n.Translate>
+              Automatically open wallet based on page content
+            </i18n.Translate>
+          }
           name="perm"
-          description="(Enabling this option below will make using the wallet 
faster, but requires more permissions from your browser.)"
+          description={
+            <i18n.Translate>
+              (Enabling this option below will make using the wallet faster, 
but
+              requires more permissions from your browser.)
+            </i18n.Translate>
+          }
           enabled={permissionsEnabled}
           onToggle={togglePermissions}
         />
-        <h2>Next Steps</h2>
+        <h2>
+          <i18n.Translate>Next Steps</i18n.Translate>
+        </h2>
         <a href="https://demo.taler.net/"; style={{ display: "block" }}>
-          Try the demo »
+          <i18n.Translate>Try the demo</i18n.Translate> »
         </a>
         <a href="https://demo.taler.net/"; style={{ display: "block" }}>
-          Learn how to top up your wallet balance »
+          <i18n.Translate>
+            Learn how to top up your wallet balance
+          </i18n.Translate>{" "}
+          »
         </a>
       </div>
     </Fragment>
diff --git a/packages/taler-wallet-webextension/src/walletEntryPoint.tsx 
b/packages/taler-wallet-webextension/src/walletEntryPoint.tsx
index 16912b2a..f2240cdf 100644
--- a/packages/taler-wallet-webextension/src/walletEntryPoint.tsx
+++ b/packages/taler-wallet-webextension/src/walletEntryPoint.tsx
@@ -17,7 +17,7 @@
 /**
  * Main entry point for extension pages.
  *
- * @author Florian Dold <dold@taler.net>
+ * @author sebasjm <dold@taler.net>
  */
 
 import { i18n, setupI18n } from "@gnu-taler/taler-util";
@@ -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";
@@ -78,7 +79,7 @@ if (document.readyState === "loading") {
 
 function Application(): VNode {
   const [globalNotification, setGlobalNotification] = useState<
-    string | undefined
+    VNode | undefined
   >(undefined);
   const hash_history = createHashHistory();
   function clearNotification(): void {
@@ -93,7 +94,7 @@ function Application(): VNode {
     }
   }
   return (
-    <div>
+    <TranslationProvider>
       <DevContextProvider>
         {({ devMode }: { devMode: boolean }) => (
           <IoCProviderForRuntime>
@@ -169,7 +170,9 @@ function Application(): VNode {
                   onSuccess={(currency: string) => {
                     route(Pages.balance_history.replace(":currency", 
currency));
                     setGlobalNotification(
-                      "All done, your transaction is in progress",
+                      <i18n.Translate>
+                        All done, your transaction is in progress
+                      </i18n.Translate>,
                     );
                   }}
                 />
@@ -260,7 +263,7 @@ function Application(): VNode {
           </IoCProviderForRuntime>
         )}
       </DevContextProvider>
-    </div>
+    </TranslationProvider>
   );
 }
 
diff --git a/packages/taler-wallet-webextension/src/wxApi.ts 
b/packages/taler-wallet-webextension/src/wxApi.ts
index 309a2bc9..868bd825 100644
--- a/packages/taler-wallet-webextension/src/wxApi.ts
+++ b/packages/taler-wallet-webextension/src/wxApi.ts
@@ -41,6 +41,12 @@ import { DepositFee } from 
"@gnu-taler/taler-wallet-core/src/operations/deposits
 import { ExchangeWithdrawDetails } from 
"@gnu-taler/taler-wallet-core/src/operations/withdraw";
 import { MessageFromBackend } from "./wxBackend";
 
+/**
+ * 
+ * @autor Florian Dold
+ * @autor sebasjm
+ */
+
 export interface ExtendedPermissionsResponse {
   newValue: boolean;
 }
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 83228dbc..9fd68c66 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -325,6 +325,7 @@ importers:
       '@babel/core': 7.13.16
       '@babel/plugin-transform-react-jsx-source': ^7.12.13
       '@babel/preset-typescript': ^7.13.0
+      '@gnu-taler/pogen': workspace:*
       '@gnu-taler/taler-util': workspace:*
       '@gnu-taler/taler-wallet-core': workspace:*
       '@linaria/babel-preset': 3.0.0-beta.4
@@ -380,6 +381,7 @@ importers:
       '@babel/core': 7.13.16
       '@babel/plugin-transform-react-jsx-source': 7.14.5_@babel+core@7.13.16
       '@babel/preset-typescript': 7.15.0_@babel+core@7.13.16
+      '@gnu-taler/pogen': link:../pogen
       '@linaria/babel-preset': 3.0.0-beta.4_@babel+core@7.13.16
       '@linaria/core': 3.0.0-beta.4
       '@linaria/react': 3.0.0-beta.4

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