From 8c3e57293422d670b93c2f2a19cfc47f3aecc7b1 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Wed, 23 Feb 2022 15:44:14 -0300 Subject: we are force to use i18n.Translate, otherwise pogen won't find the tag --- .../src/NavigationBar.tsx | 12 +-- .../src/components/BankDetailsByPaytoType.tsx | 35 +++++-- .../src/components/DebugCheckbox.tsx | 10 +- .../src/components/Diagnostics.tsx | 20 ++-- .../src/components/EditableText.tsx | 6 +- .../src/components/Loading.tsx | 4 +- .../src/components/SelectList.tsx | 4 +- .../src/components/TransactionItem.tsx | 6 +- .../taler-wallet-webextension/src/cta/Deposit.tsx | 40 ++++---- packages/taler-wallet-webextension/src/cta/Pay.tsx | 70 ++++++------- .../taler-wallet-webextension/src/cta/Refund.tsx | 22 ++-- .../src/cta/TermsOfServiceSection.tsx | 34 +++++-- packages/taler-wallet-webextension/src/cta/Tip.tsx | 18 ++-- .../taler-wallet-webextension/src/cta/Withdraw.tsx | 36 ++++--- .../src/cta/reset-required.tsx | 24 +++-- .../src/cta/return-coins.tsx | 4 +- .../taler-wallet-webextension/src/i18n/strings.ts | 2 + .../src/popup/BalancePage.tsx | 10 +- .../src/popup/DeveloperPage.tsx | 44 ++++---- .../src/popup/NoBalanceHelp.tsx | 10 +- .../src/popup/TalerActionFound.tsx | 36 +++---- .../src/popupEntryPoint.tsx | 6 +- .../src/wallet/AddNewActionView.tsx | 18 ++-- .../src/wallet/BackupPage.tsx | 18 ++-- .../src/wallet/CreateManualWithdraw.tsx | 28 ++--- .../src/wallet/DepositPage.tsx | 26 ++--- .../src/wallet/ExchangeAddConfirm.tsx | 14 +-- .../src/wallet/ExchangeSetUrl.tsx | 32 +++--- .../src/wallet/History.tsx | 14 ++- .../src/wallet/ManualWithdrawPage.tsx | 6 +- .../src/wallet/ProviderAddPage.tsx | 48 +++++---- .../src/wallet/ProviderDetailPage.tsx | 58 ++++++----- .../src/wallet/ReserveCreated.tsx | 27 +++-- .../src/wallet/Settings.tsx | 34 +++---- .../src/wallet/Transaction.tsx | 113 +++++++++++---------- .../src/wallet/Welcome.tsx | 25 +++-- .../src/walletEntryPoint.tsx | 6 +- 37 files changed, 496 insertions(+), 424 deletions(-) diff --git a/packages/taler-wallet-webextension/src/NavigationBar.tsx b/packages/taler-wallet-webextension/src/NavigationBar.tsx index f0fc3da28..f72d54ef1 100644 --- a/packages/taler-wallet-webextension/src/NavigationBar.tsx +++ b/packages/taler-wallet-webextension/src/NavigationBar.tsx @@ -67,10 +67,10 @@ export function PopupNavBar({ path = "" }: { path?: string }): VNode { return ( - Balance + Balance - Backup + Backup @@ -85,15 +85,15 @@ export function WalletNavBar({ path = "" }: { path?: string }): VNode { - Balance + Balance - Backup + Backup - Dev + Dev @@ -102,7 +102,7 @@ export function WalletNavBar({ path = "" }: { path?: string }): VNode { href="/settings" class={path.startsWith("/settings") ? "active" : ""} > - Settings + Settings diff --git a/packages/taler-wallet-webextension/src/components/BankDetailsByPaytoType.tsx b/packages/taler-wallet-webextension/src/components/BankDetailsByPaytoType.tsx index 205413007..e9a32ebf7 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 */ -import { PaytoUri, Translate } 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 ? ( - Account} value={payto.targetPath} /> + Account} + value={payto.targetPath} + /> ) : payto.targetType === "x-taler-bank" ? ( - Bank host} value={payto.host} /> - Bank account} value={payto.account} /> + Bank host} + value={payto.host} + /> + Bank account} + value={payto.account} + /> ) : payto.targetType === "iban" ? ( - IBAN} value={payto.iban} /> + IBAN} value={payto.iban} /> ) : undefined; return (

Bank transfer details

{firstPart} - Exchange} value={exchangeBaseUrl} /> - Chosen amount} value={amount} /> - Subject} value={subject} literal /> + Exchange} + value={exchangeBaseUrl} + /> + Chosen amount} + value={amount} + /> + Subject} + value={subject} + literal + />
); diff --git a/packages/taler-wallet-webextension/src/components/DebugCheckbox.tsx b/packages/taler-wallet-webextension/src/components/DebugCheckbox.tsx index 522fbce98..b5ad7cda7 100644 --- a/packages/taler-wallet-webextension/src/components/DebugCheckbox.tsx +++ b/packages/taler-wallet-webextension/src/components/DebugCheckbox.tsx @@ -14,7 +14,7 @@ TALER; see the file COPYING. If not, see */ -import { Translate } from "@gnu-taler/taler-util"; +import { i18n } from "@gnu-taler/taler-util"; import { h, VNode } from "preact"; export function DebugCheckbox({ @@ -37,7 +37,9 @@ export function DebugCheckbox({ htmlFor="checkbox-perm" style={{ marginLeft: "0.5em", fontWeight: "bold" }} > - Automatically open wallet based on page content + + Automatically open wallet based on page content + ( - + Enabling this option below will make using the wallet faster, but requires more permissions from your browser. - + ) diff --git a/packages/taler-wallet-webextension/src/components/Diagnostics.tsx b/packages/taler-wallet-webextension/src/components/Diagnostics.tsx index 04b6abb55..b136ebc24 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 */ -import { Translate, WalletDiagnostics } from "@gnu-taler/taler-util"; +import { i18n, WalletDiagnostics } from "@gnu-taler/taler-util"; import { Fragment, h, VNode } from "preact"; import { PageLink } from "../renderHtml"; @@ -27,9 +27,9 @@ export function Diagnostics({ timedOut, diagnostics }: Props): VNode { if (timedOut) { return (

- + Diagnostics timed out. Could not talk to the wallet backend. - +

); } @@ -48,7 +48,7 @@ export function Diagnostics({ timedOut, diagnostics }: Props): VNode { }} >

- Problems detected: + Problems detected:

    {diagnostics.errors.map((errMsg) => ( @@ -57,23 +57,23 @@ export function Diagnostics({ timedOut, diagnostics }: Props): VNode {
{diagnostics.firefoxIdbProblem ? (

- + Please check in your about:config settings that you have IndexedDB enabled (check the preference name{" "} dom.indexedDB.enabled). - +

) : null} {diagnostics.dbOutdated ? (

- + Your wallet database is outdated. Currently automatic migration is not supported. Please go{" "} - here + here {" "} to reset the wallet database. - +

) : null} @@ -82,7 +82,7 @@ export function Diagnostics({ timedOut, diagnostics }: Props): VNode { return (

- Running diagnostics ... + Running diagnostics ...

); } diff --git a/packages/taler-wallet-webextension/src/components/EditableText.tsx b/packages/taler-wallet-webextension/src/components/EditableText.tsx index c5d6e397e..8d45cae90 100644 --- a/packages/taler-wallet-webextension/src/components/EditableText.tsx +++ b/packages/taler-wallet-webextension/src/components/EditableText.tsx @@ -14,7 +14,7 @@ GNU Taler; see the file COPYING. If not, see */ -import { Translate } from "@gnu-taler/taler-util"; +import { i18n } from "@gnu-taler/taler-util"; import { h, VNode } from "preact"; import { useRef, useState } from "preact/hooks"; @@ -41,7 +41,7 @@ export function EditableText({

{value}

); @@ -57,7 +57,7 @@ export function EditableText({ onChange(ref.current.value).then(() => setEditing(false)); }} > - Confirm + Confirm ); diff --git a/packages/taler-wallet-webextension/src/components/Loading.tsx b/packages/taler-wallet-webextension/src/components/Loading.tsx index ff6d21376..7504034a0 100644 --- a/packages/taler-wallet-webextension/src/components/Loading.tsx +++ b/packages/taler-wallet-webextension/src/components/Loading.tsx @@ -13,13 +13,13 @@ You should have received a copy of the GNU General Public License along with TALER; see the file COPYING. If not, see */ -import { Translate } from "@gnu-taler/taler-util"; +import { i18n } from "@gnu-taler/taler-util"; import { h, VNode } from "preact"; export function Loading(): VNode { return (
- Loading... + Loading...
); } diff --git a/packages/taler-wallet-webextension/src/components/SelectList.tsx b/packages/taler-wallet-webextension/src/components/SelectList.tsx index a5f182d77..676fd672f 100644 --- a/packages/taler-wallet-webextension/src/components/SelectList.tsx +++ b/packages/taler-wallet-webextension/src/components/SelectList.tsx @@ -14,7 +14,7 @@ GNU Taler; see the file COPYING. If not, see */ -import { Translate } from "@gnu-taler/taler-util"; +import { i18n } from "@gnu-taler/taler-util"; import { Fragment, h, VNode } from "preact"; import { NiceSelect } from "./styled"; @@ -59,7 +59,7 @@ export function SelectList({ {value === undefined || (canBeNull && ( // ) : ( // diff --git a/packages/taler-wallet-webextension/src/components/TransactionItem.tsx b/packages/taler-wallet-webextension/src/components/TransactionItem.tsx index 5c8897006..abcca9c26 100644 --- a/packages/taler-wallet-webextension/src/components/TransactionItem.tsx +++ b/packages/taler-wallet-webextension/src/components/TransactionItem.tsx @@ -21,7 +21,7 @@ import { Timestamp, Transaction, TransactionType, - Translate, + i18n, } from "@gnu-taler/taler-util"; import { h, VNode } from "preact"; import imageBank from "../../static/img/ri-bank-line.svg"; @@ -134,7 +134,7 @@ function TransactionLayout(props: TransactionLayoutProps): VNode { {props.pending && ( - Waiting for confirmation + Waiting for confirmation )} @@ -198,7 +198,7 @@ function TransactionAmount(props: TransactionAmountProps): VNode { {props.pending && (
- PENDING + PENDING
)} diff --git a/packages/taler-wallet-webextension/src/cta/Deposit.tsx b/packages/taler-wallet-webextension/src/cta/Deposit.tsx index 5adc641f4..82d898d77 100644 --- a/packages/taler-wallet-webextension/src/cta/Deposit.tsx +++ b/packages/taler-wallet-webextension/src/cta/Deposit.tsx @@ -111,7 +111,7 @@ export function DepositPage({ talerPayUri, goBack }: Props): VNode { if (!talerPayUri) { return ( - missing pay uri + missing pay uri ); } @@ -122,14 +122,14 @@ export function DepositPage({ talerPayUri, goBack }: Props): VNode {

- Digital cash payment + Digital cash payment

+ Could not get the payment information for this order - + } error={payErrMsg?.operationError} /> @@ -142,13 +142,13 @@ export function DepositPage({ talerPayUri, goBack }: Props): VNode {

- Digital cash payment + Digital cash payment

- + Could not get the payment information for this order - +

{payErrMsg}
@@ -157,7 +157,7 @@ export function DepositPage({ talerPayUri, goBack }: Props): VNode { } return ( - Loading payment information ... + Loading payment information ... ); } @@ -205,28 +205,28 @@ export function PaymentRequestView({

- Digital cash deposit + Digital cash deposit

{payStatus.status === PreparePayResultType.AlreadyConfirmed && (payStatus.paid ? ( - Already paid + Already paid ) : ( - Already claimed + Already claimed ))} {payResult && payResult.type === ConfirmPayResultType.Done && (

- Payment complete + Payment complete

{!payResult.contractTerms.fulfillment_message ? ( - + You will now be sent back to the merchant you came from. - + ) : ( payResult.contractTerms.fulfillment_message )} @@ -238,7 +238,7 @@ export function PaymentRequestView({ Amounts.isNonZero(totalFees) && ( Total to pay} + title={Total to pay} text={amountToPretty( Amounts.parseOrThrow(payStatus.amountEffective), )} @@ -247,7 +247,7 @@ export function PaymentRequestView({ )} Purchase amount} + title={Purchase amount} text={amountToPretty(Amounts.parseOrThrow(payStatus.amountRaw))} kind="neutral" /> @@ -255,25 +255,25 @@ export function PaymentRequestView({ Fee} + title={Fee} text={amountToPretty(totalFees)} kind="negative" /> )} Merchant} + title={Merchant} text={contractTerms.merchant.name} kind="neutral" /> Purchase} + title={Purchase} text={contractTerms.summary} kind="neutral" /> {contractTerms.order_id && ( Receipt} + title={Receipt} 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 7ed0d072f..4fe44dcff 100644 --- a/packages/taler-wallet-webextension/src/cta/Pay.tsx +++ b/packages/taler-wallet-webextension/src/cta/Pay.tsx @@ -110,7 +110,7 @@ export function PayPage({ if (hook.hasError) { return ( Could not load pay status} + title={Could not load pay status} error={hook} /> ); @@ -187,9 +187,9 @@ export function PaymentRequestView({ return ( + Could not load contract terms from merchant or wallet backend. - + } /> ); @@ -214,20 +214,20 @@ export function PaymentRequestView({

setShowQR((qr) => !qr)}> {!showQR ? ( - Pay with a mobile phone + Pay with a mobile phone ) : ( - Hide QR + Hide QR )} {showQR && (
- + Scan the QR code or - click here + click here - +
)}
@@ -241,7 +241,7 @@ export function PaymentRequestView({

- Processing... + Processing...

@@ -254,9 +254,9 @@ export function PaymentRequestView({
- + Pay {amountToString(payStatus.amountEffective)} - +
@@ -269,22 +269,22 @@ export function PaymentRequestView({
{balance ? ( - + Your balance of {amountToString(balance)} is not enough to pay for this purchase - + ) : ( - + Your balance is not enough to pay for this purchase. - + )}
- Withdraw digital cash + Withdraw digital cash
@@ -297,7 +297,7 @@ export function PaymentRequestView({
{payStatus.paid && contractTerms.fulfillment_message && ( Merchant message} + title={Merchant message} text={contractTerms.fulfillment_message} kind="neutral" /> @@ -315,43 +315,43 @@ export function PaymentRequestView({

- Digital cash payment + Digital cash payment

{payStatus.status === PreparePayResultType.AlreadyConfirmed && (payStatus.paid ? ( payStatus.contractTerms.fulfillment_url ? ( - + Already paid, you are going to be redirected to{" "} {payStatus.contractTerms.fulfillment_url} - + ) : ( - Already paid + Already paid ) ) : ( - Already claimed + Already claimed ))} {payResult && payResult.type === ConfirmPayResultType.Done && (

- Payment complete + Payment complete

{!payResult.contractTerms.fulfillment_message ? ( payResult.contractTerms.fulfillment_url ? ( - + You are going to be redirected to $ {payResult.contractTerms.fulfillment_url} - + ) : ( - You can close this page. + You can close this page. ) ) : ( payResult.contractTerms.fulfillment_message @@ -364,14 +364,14 @@ export function PaymentRequestView({ Amounts.isNonZero(totalFees) && ( Total to pay} + title={Total to pay} text={amountToString(payStatus.amountEffective)} kind="negative" /> )} Purchase amount} + title={Purchase amount} text={amountToString(payStatus.amountRaw)} kind="neutral" /> @@ -379,25 +379,25 @@ export function PaymentRequestView({ Fee} + title={Fee} text={amountToString(totalFees)} kind="negative" /> )} Merchant} + title={Merchant} text={contractTerms.merchant.name} kind="neutral" /> Purchase} + title={Purchase} text={contractTerms.summary} kind="neutral" /> {contractTerms.order_id && ( Receipt} + title={Receipt} text={`#${contractTerms.order_id}`} kind="neutral" /> @@ -415,7 +415,7 @@ function ProductList({ products }: { products: Product[] }): VNode { return ( - List of products + List of products

{products.map((p, i) => { @@ -457,7 +457,7 @@ function ProductList({ products }: { products: Product[] }): VNode { {p.quantity ?? 1} x {p.description}
- Total + Total {` `} {p.price ? ( `${Amounts.stringifyValue( @@ -467,7 +467,7 @@ function ProductList({ products }: { products: Product[] }): VNode { ).amount, )} ${p}` ) : ( - free + free )}
diff --git a/packages/taler-wallet-webextension/src/cta/Refund.tsx b/packages/taler-wallet-webextension/src/cta/Refund.tsx index ec32cc37a..8ce008bcd 100644 --- a/packages/taler-wallet-webextension/src/cta/Refund.tsx +++ b/packages/taler-wallet-webextension/src/cta/Refund.tsx @@ -20,7 +20,7 @@ * @author sebasjm */ -import { Amounts, ApplyRefundResponse, Translate } 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"; @@ -38,27 +38,29 @@ export function View({ applyResult }: ViewProps): VNode {

GNU Taler Wallet

- Refund Status + Refund Status

- + The product {applyResult.info.summary} has received a total effective refund of{" "} - + .

{applyResult.pendingAtExchange ? (

- Refund processing is still in progress. + + Refund processing is still in progress. +

) : null} {!Amounts.isZero(applyResult.amountRefundGone) ? (

- + The refund amount of{" "} could not be applied. - +

) : null}
@@ -92,7 +94,7 @@ export function RefundPage({ talerRefundUri }: Props): VNode { if (!talerRefundUri) { return ( - missing taler refund uri + missing taler refund uri ); } @@ -100,7 +102,7 @@ export function RefundPage({ talerRefundUri }: Props): VNode { if (errMsg) { return ( - Error: {errMsg} + Error: {errMsg} ); } @@ -108,7 +110,7 @@ export function RefundPage({ talerRefundUri }: Props): VNode { if (!applyResult) { return ( - Updating refund status + Updating refund status ); } diff --git a/packages/taler-wallet-webextension/src/cta/TermsOfServiceSection.tsx b/packages/taler-wallet-webextension/src/cta/TermsOfServiceSection.tsx index 00f7bd211..1244b7915 100644 --- a/packages/taler-wallet-webextension/src/cta/TermsOfServiceSection.tsx +++ b/packages/taler-wallet-webextension/src/cta/TermsOfServiceSection.tsx @@ -34,7 +34,9 @@ export function TermsOfServiceSection({ {terms.status === "notfound" && (
- Exchange doesn't have terms of service + + Exchange doesn't have terms of service +
)} @@ -46,21 +48,27 @@ export function TermsOfServiceSection({ {terms.status === "notfound" && (
- Exchange doesn't have terms of service + + Exchange doesn't have terms of service +
)} {terms.status === "new" && (
onReview(true)}> - Review exchange terms of service + + Review exchange terms of service +
)} {terms.status === "changed" && (
onReview(true)}> - Review new version of terms of service + + Review new version of terms of service +
)} @@ -72,7 +80,7 @@ export function TermsOfServiceSection({ {onReview && (
onReview(true)}> - Show terms of service + Show terms of service
)} @@ -81,7 +89,9 @@ export function TermsOfServiceSection({ name="terms" enabled={reviewed} label={ - I accept the exchange terms of service + + I accept the exchange terms of service + } onToggle={() => { onAccept(!reviewed); @@ -97,9 +107,9 @@ export function TermsOfServiceSection({ {terms.status !== "notfound" && !terms.content && (
- + The exchange reply with a empty terms of service - +
)} @@ -120,7 +130,7 @@ export function TermsOfServiceSection({ )} {terms.content.type === "pdf" && ( - Download Terms of Service + Download Terms of Service )}
@@ -128,7 +138,7 @@ export function TermsOfServiceSection({ {reviewed && onReview && (
onReview(false)}> - Hide terms of service + Hide terms of service
)} @@ -138,7 +148,9 @@ export function TermsOfServiceSection({ name="terms" enabled={reviewed} label={ - I accept the exchange terms of service + + I accept the exchange terms of service + } onToggle={() => { onAccept(!reviewed); diff --git a/packages/taler-wallet-webextension/src/cta/Tip.tsx b/packages/taler-wallet-webextension/src/cta/Tip.tsx index 9bb03b7ac..ff86ce8c7 100644 --- a/packages/taler-wallet-webextension/src/cta/Tip.tsx +++ b/packages/taler-wallet-webextension/src/cta/Tip.tsx @@ -20,7 +20,7 @@ * @author sebasjm */ -import { PrepareTipResult, Translate } 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,28 +46,28 @@ export function View({
{prepareTipResult.accepted ? ( - + Tip from {prepareTipResult.merchantBaseUrl} accepted. Check your transactions list for more details. - + ) : (

- + The merchant {prepareTipResult.merchantBaseUrl} is offering you a tip of{" "} {" "} via the exchange {prepareTipResult.exchangeBaseUrl} - +

)} @@ -108,7 +108,7 @@ export function TipPage({ talerTipUri }: Props): VNode { if (!talerTipUri) { return ( - missing tip uri + missing tip uri ); } @@ -116,7 +116,7 @@ export function TipPage({ talerTipUri }: Props): VNode { if (tipIgnored) { return ( - You've ignored the tip. + You've ignored the tip. ); } diff --git a/packages/taler-wallet-webextension/src/cta/Withdraw.tsx b/packages/taler-wallet-webextension/src/cta/Withdraw.tsx index 7d36a6084..7c9745ddc 100644 --- a/packages/taler-wallet-webextension/src/cta/Withdraw.tsx +++ b/packages/taler-wallet-webextension/src/cta/Withdraw.tsx @@ -119,13 +119,15 @@ export function View({

- Digital cash withdrawal + Digital cash withdrawal

{withdrawError && ( Could not finish the withdrawal operation + + Could not finish the withdrawal operation + } error={withdrawError.operationError} /> @@ -133,19 +135,19 @@ export function View({
Total to withdraw} + title={Total to withdraw} text={amountToString(Amounts.sub(amount, withdrawalFee).amount)} kind="positive" /> {Amounts.isNonZero(withdrawalFee) && ( Chosen amount} + title={Chosen amount} text={amountToString(amount)} kind="neutral" /> Exchange fee} + title={Exchange fee} text={amountToString(withdrawalFee)} kind="negative" /> @@ -153,7 +155,7 @@ export function View({ )} {exchangeBaseUrl && ( Exchange} + title={Exchange} text={exchangeBaseUrl} kind="neutral" big @@ -166,7 +168,7 @@ export function View({
Known exchanges} + label={Known exchanges} list={exchanges} value={nextExchange} name="switchingExchange" @@ -183,15 +185,15 @@ export function View({ }} > {nextExchange === undefined ? ( - Cancel exchange selection + Cancel exchange selection ) : ( - Confirm exchange selection + Confirm exchange selection )} ) : ( setSwitchingExchange(true)}> - Switch exchange + Switch exchange )}
@@ -210,7 +212,7 @@ export function View({ disabled={!exchangeBaseUrl || confirmDisabled} onClick={doWithdrawAndCheckError} > - Confirm withdrawal + Confirm withdrawal )} {terms.status === "notfound" && ( @@ -219,7 +221,7 @@ export function View({ disabled={!exchangeBaseUrl} onClick={doWithdrawAndCheckError} > - Withdraw anyway + Withdraw anyway )}
@@ -282,7 +284,9 @@ export function WithdrawPageWithParsedURI({ if (detailsHook.hasError) { return ( Could not load the withdrawal details} + title={ + Could not load the withdrawal details + } error={detailsHook} /> ); @@ -337,7 +341,7 @@ export function WithdrawPage({ talerWithdrawUri }: Props): VNode { if (!talerWithdrawUri) { return ( - missing withdraw uri + missing withdraw uri ); } @@ -347,7 +351,9 @@ export function WithdrawPage({ talerWithdrawUri }: Props): VNode { if (uriInfoHook.hasError) { return ( Could not get the info from the URI} + title={ + Could not get the info from the URI + } error={uriInfoHook} /> ); diff --git a/packages/taler-wallet-webextension/src/cta/reset-required.tsx b/packages/taler-wallet-webextension/src/cta/reset-required.tsx index e8c5a0dff..350c32d76 100644 --- a/packages/taler-wallet-webextension/src/cta/reset-required.tsx +++ b/packages/taler-wallet-webextension/src/cta/reset-required.tsx @@ -20,7 +20,7 @@ * @author sebasjm */ -import { Translate } from "@gnu-taler/taler-util"; +import { i18n } from "@gnu-taler/taler-util"; import { Component, h, VNode } from "preact"; import * as wxApi from "../wxApi"; @@ -51,19 +51,19 @@ class ResetNotification extends Component { return (

- Manual Reset Required + Manual Reset Required

- + The wallet'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. - +

{ }} />{" "}
); @@ -90,12 +92,12 @@ class ResetNotification extends Component { return (

- Everything is fine! + Everything is fine!

- + A reset is not required anymore, you can close this page. - +

); diff --git a/packages/taler-wallet-webextension/src/cta/return-coins.tsx b/packages/taler-wallet-webextension/src/cta/return-coins.tsx index 22b373899..1d688fa06 100644 --- a/packages/taler-wallet-webextension/src/cta/return-coins.tsx +++ b/packages/taler-wallet-webextension/src/cta/return-coins.tsx @@ -14,7 +14,7 @@ TALER; see the file COPYING. If not, see */ -import { Translate } from "@gnu-taler/taler-util"; +import { i18n } from "@gnu-taler/taler-util"; import { h, VNode } from "preact"; /** * Return coins to own bank account. @@ -28,7 +28,7 @@ import { h, VNode } from "preact"; export function createReturnCoinsPage(): VNode { return ( - Not implemented yet. + Not implemented yet. ); } diff --git a/packages/taler-wallet-webextension/src/i18n/strings.ts b/packages/taler-wallet-webextension/src/i18n/strings.ts index 1e02a1b9e..5593f529a 100644 --- a/packages/taler-wallet-webextension/src/i18n/strings.ts +++ b/packages/taler-wallet-webextension/src/i18n/strings.ts @@ -1,3 +1,5 @@ +export const strings: any = {} + strings['de'] = { "domain": "messages", "locale_data": { diff --git a/packages/taler-wallet-webextension/src/popup/BalancePage.tsx b/packages/taler-wallet-webextension/src/popup/BalancePage.tsx index f81929b21..46fe027c9 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 */ -import { Amounts, Balance, Translate } 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"; @@ -49,7 +49,7 @@ export function BalancePage({ if (state.hasError) { return ( Could not load balance page} + title={Could not load balance page} error={state} /> ); @@ -104,18 +104,18 @@ export function BalanceView({
- Withdraw + Withdraw {currencyWithNonZeroAmount.length > 0 && ( Deposit {s}} + label={(s) => Deposit {s}} actions={currencyWithNonZeroAmount} onClick={(c) => goToWalletDeposit(c)} /> )} - Enter URI + Enter URI
diff --git a/packages/taler-wallet-webextension/src/popup/DeveloperPage.tsx b/packages/taler-wallet-webextension/src/popup/DeveloperPage.tsx index b3da48a93..228c3cdfd 100644 --- a/packages/taler-wallet-webextension/src/popup/DeveloperPage.tsx +++ b/packages/taler-wallet-webextension/src/popup/DeveloperPage.tsx @@ -151,14 +151,14 @@ export function View({ return (

- Debug tools: + Debug tools:



{downloadedDatabase && (
- + Database exported at +
)}

- Coins: + Coins:

{Object.keys(money_by_exchange).map((ex) => { const allcoins = money_by_exchange[ex]; @@ -233,7 +233,7 @@ export function View({ {operations && operations.length > 0 && (

- Pending operations + Pending operations

{operations.reverse().map((o) => { @@ -272,7 +272,7 @@ function ShowAllCoins({

- usable coins + usable coins

{collapsedUnspent ? ( @@ -281,19 +281,19 @@ function ShowAllCoins({ setCollapsedUnspent(true)}> {coins.usable.map((c) => { @@ -310,29 +310,29 @@ function ShowAllCoins({
- id + id - denom + denom - value + value - status + status - from refresh? + from refresh?
)}

- spent coins + spent coins

{collapsedSpent ? (
setCollapsedSpent(false)}> - click to show + click to show
) : ( setCollapsedSpent(true)}> {coins.spent.map((c) => { diff --git a/packages/taler-wallet-webextension/src/popup/NoBalanceHelp.tsx b/packages/taler-wallet-webextension/src/popup/NoBalanceHelp.tsx index 6e2bf1e63..b8b21b24c 100644 --- a/packages/taler-wallet-webextension/src/popup/NoBalanceHelp.tsx +++ b/packages/taler-wallet-webextension/src/popup/NoBalanceHelp.tsx @@ -1,4 +1,4 @@ -import { Translate } from "@gnu-taler/taler-util"; +import { i18n } from "@gnu-taler/taler-util"; import { h, VNode } from "preact"; import { ButtonBoxWarning, WarningBox } from "../components/styled"; @@ -11,16 +11,16 @@ export function NoBalanceHelp({

- You have no balance to show. + 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. - +

goToWalletManualWithdraw()}> - Withdraw + Withdraw
); diff --git a/packages/taler-wallet-webextension/src/popup/TalerActionFound.tsx b/packages/taler-wallet-webextension/src/popup/TalerActionFound.tsx index a69352c9f..6410ae40e 100644 --- a/packages/taler-wallet-webextension/src/popup/TalerActionFound.tsx +++ b/packages/taler-wallet-webextension/src/popup/TalerActionFound.tsx @@ -19,11 +19,7 @@ * @author Sebastian Javier Marchano (sebasjm) */ -import { - classifyTalerUri, - TalerUriType, - Translate, -} 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"; @@ -57,54 +53,58 @@ export function TalerActionFound({ url, onDismiss }: Props) {

- Taler Action + Taler Action

{uriType === TalerUriType.TalerPay && (

- This page has pay action. + This page has pay action.

{ navigateTo(actionForTalerUri(uriType, url)); }} > - Open pay page + Open pay page
)} {uriType === TalerUriType.TalerWithdraw && (

- This page has a withdrawal action. + + This page has a withdrawal action. +

{ navigateTo(actionForTalerUri(uriType, url)); }} > - Open withdraw page + Open withdraw page
)} {uriType === TalerUriType.TalerTip && (

- This page has a tip action. + This page has a tip action.

{ navigateTo(actionForTalerUri(uriType, url)); }} > - Open tip page + Open tip page
)} {uriType === TalerUriType.TalerNotifyReserve && (

- This page has a notify reserve action. + + This page has a notify reserve action. +

{ @@ -118,21 +118,23 @@ export function TalerActionFound({ url, onDismiss }: Props) { {uriType === TalerUriType.TalerRefund && (

- This page has a refund action. + This page has a refund action.

{ navigateTo(actionForTalerUri(uriType, url)); }} > - Open refund page + Open refund page
)} {uriType === TalerUriType.Unknown && (

- This page has a malformed taler uri. + + This page has a malformed taler uri. +

{url}

@@ -142,7 +144,7 @@ export function TalerActionFound({ url, onDismiss }: Props) {
onDismiss()}> {" "} - Dismiss{" "} + Dismiss{" "} diff --git a/packages/taler-wallet-webextension/src/popupEntryPoint.tsx b/packages/taler-wallet-webextension/src/popupEntryPoint.tsx index 6e270f676..e37ea9ccb 100644 --- a/packages/taler-wallet-webextension/src/popupEntryPoint.tsx +++ b/packages/taler-wallet-webextension/src/popupEntryPoint.tsx @@ -20,7 +20,7 @@ * @author sebasjm */ -import { setupI18n, Translate } 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"; @@ -181,9 +181,9 @@ function RedirectToWalletPage(): VNode { }); return ( - + this popup is being closed and you are being redirected to {page} - + ); } diff --git a/packages/taler-wallet-webextension/src/wallet/AddNewActionView.tsx b/packages/taler-wallet-webextension/src/wallet/AddNewActionView.tsx index d47803212..229fab7be 100644 --- a/packages/taler-wallet-webextension/src/wallet/AddNewActionView.tsx +++ b/packages/taler-wallet-webextension/src/wallet/AddNewActionView.tsx @@ -1,8 +1,4 @@ -import { - classifyTalerUri, - TalerUriType, - Translate, -} 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"; @@ -15,15 +11,15 @@ export interface Props { function buttonLabelByTalerType(type: TalerUriType): VNode { switch (type) { case TalerUriType.TalerNotifyReserve: - return Open reserve page; + return Open reserve page; case TalerUriType.TalerPay: - return Open pay page; + return Open pay page; case TalerUriType.TalerRefund: - return Open refund page; + return Open refund page; case TalerUriType.TalerTip: - return Open tip page; + return Open tip page; case TalerUriType.TalerWithdraw: - return Open withdraw page; + return Open withdraw page; } return ; } @@ -52,7 +48,7 @@ export function AddNewActionView({ onCancel }: Props): VNode {
{uriType !== TalerUriType.Unknown && ( Could not load backup providers} + title={Could not load backup providers} error={status} /> ); @@ -126,10 +126,10 @@ export function BackupView({ {!providers.length && ( - No backup providers configured + No backup providers configured - Add provider + Add provider )} @@ -140,13 +140,13 @@ export function BackupView({
{providers.length > 1 ? ( - Sync all backups + Sync all backups ) : ( - Sync now + Sync now )} - Add provider + Add provider
@@ -184,12 +184,12 @@ function BackupLayout(props: TransactionLayoutProps): VNode { {dateStr && ( - Last synced: {dateStr} + Last synced: {dateStr} )} {!dateStr && ( - Not synced + Not synced )} @@ -208,7 +208,7 @@ function ExpirationText({ until }: { until: Timestamp }): VNode { return ( - Expires in + Expires in {" "} diff --git a/packages/taler-wallet-webextension/src/wallet/CreateManualWithdraw.tsx b/packages/taler-wallet-webextension/src/wallet/CreateManualWithdraw.tsx index b0eddeda5..96644be28 100644 --- a/packages/taler-wallet-webextension/src/wallet/CreateManualWithdraw.tsx +++ b/packages/taler-wallet-webextension/src/wallet/CreateManualWithdraw.tsx @@ -100,21 +100,21 @@ export function CreateManualWithdraw({ return (

- Manual Withdrawal + 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 + No exchange configured - Add exchange + Add exchange
@@ -126,24 +126,24 @@ export function CreateManualWithdraw({
{error && ( Can't create the reserve} + title={Can't create the reserve} description={error} /> )}

- Manual Withdrawal + 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. - +

Currency} + label={Currency} list={currencyMap} name="currency" value={currency} @@ -152,7 +152,7 @@ export function CreateManualWithdraw({ Exchange} + label={Exchange} list={exchangeMap} name="currency" value={exchange} @@ -161,13 +161,13 @@ export function CreateManualWithdraw({

- Add Exchange + Add Exchange
{currency && (
{currency} @@ -187,7 +187,7 @@ export function CreateManualWithdraw({ disabled={!parsedAmount || !exchange} onClick={() => onCreate(exchange, parsedAmount!)} > - Start withdrawal + Start withdrawal diff --git a/packages/taler-wallet-webextension/src/wallet/DepositPage.tsx b/packages/taler-wallet-webextension/src/wallet/DepositPage.tsx index 7a5e02d3b..d1d618e9f 100644 --- a/packages/taler-wallet-webextension/src/wallet/DepositPage.tsx +++ b/packages/taler-wallet-webextension/src/wallet/DepositPage.tsx @@ -19,7 +19,7 @@ import { Amounts, AmountString, PaytoUri, - Translate, + i18n, } from "@gnu-taler/taler-util"; import { DepositFee } from "@gnu-taler/taler-wallet-core/src/operations/deposits"; import { Fragment, h, VNode } from "preact"; @@ -135,7 +135,7 @@ export function View({ if (!balance) { return (
- no balance + no balance
); } @@ -143,10 +143,12 @@ export function View({ return (

- There is no known bank account to send money to + + There is no known bank account to send money to +

- Withdraw + Withdraw
); @@ -172,12 +174,12 @@ export function View({ return (

- Send {currency} to your account + Send {currency} to your account

Bank account IBAN number} + label={Bank account IBAN number} list={accountMap} name="account" value={String(accountIdx)} @@ -186,7 +188,7 @@ export function View({
{currency} @@ -210,7 +212,7 @@ export function View({
{currency} @@ -224,7 +226,7 @@ export function View({
{currency} @@ -242,13 +244,13 @@ export function View({
{unableToDeposit ? ( - Deposit + Deposit ) : ( onSend(accountURI, amountStr)}> - + Deposit {Amounts.stringifyValue(totalToDeposit)} {currency} - + )} diff --git a/packages/taler-wallet-webextension/src/wallet/ExchangeAddConfirm.tsx b/packages/taler-wallet-webextension/src/wallet/ExchangeAddConfirm.tsx index 06d8abd2b..1ffca827b 100644 --- a/packages/taler-wallet-webextension/src/wallet/ExchangeAddConfirm.tsx +++ b/packages/taler-wallet-webextension/src/wallet/ExchangeAddConfirm.tsx @@ -85,10 +85,10 @@ export function View({

- Review terms of service + Review terms of service

- Exchange URL: + Exchange URL: {url} @@ -109,28 +109,28 @@ export function View({
{!terms && ( )} {terms && ( {needsReview && !reviewed && ( - Add exchange + Add exchange )} {(terms.status === "accepted" || (needsReview && reviewed)) && ( - Add exchange + Add exchange )} {terms.status === "notfound" && ( - Add exchange anyway + Add exchange anyway )} diff --git a/packages/taler-wallet-webextension/src/wallet/ExchangeSetUrl.tsx b/packages/taler-wallet-webextension/src/wallet/ExchangeSetUrl.tsx index 909afc4b7..7199ce90c 100644 --- a/packages/taler-wallet-webextension/src/wallet/ExchangeSetUrl.tsx +++ b/packages/taler-wallet-webextension/src/wallet/ExchangeSetUrl.tsx @@ -93,42 +93,46 @@ export function ExchangeSetUrlPage({
{!expectedCurrency ? (

- Add new exchange + Add new exchange

) : (

- Add exchange for {expectedCurrency} + Add exchange for {expectedCurrency}

)} {!result && ( - Enter the URL of an exchange you trust. + + Enter the URL of an exchange you trust. + )} {result && ( - + An exchange has been found! Review the information and click next - + )} {result && expectedCurrency && expectedCurrency !== result.currency && ( - + This exchange doesn't match the expected currency {expectedCurrency} - + )} {error && ( Unable to verify this exchange} + title={ + Unable to verify this exchange + } description={error} /> )} {confirmationError && ( Unable to add this exchange} + title={Unable to add this exchange} description={confirmationError} /> )} @@ -144,20 +148,20 @@ export function ExchangeSetUrlPage({ {loading && (
- loading... + loading...
)} {result && !loading && ( @@ -167,7 +171,7 @@ export function ExchangeSetUrlPage({
- Next + Next
diff --git a/packages/taler-wallet-webextension/src/wallet/History.tsx b/packages/taler-wallet-webextension/src/wallet/History.tsx index a3e8ecc67..e0a1c588e 100644 --- a/packages/taler-wallet-webextension/src/wallet/History.tsx +++ b/packages/taler-wallet-webextension/src/wallet/History.tsx @@ -19,7 +19,7 @@ import { Balance, NotificationType, Transaction, - Translate, + i18n, } from "@gnu-taler/taler-util"; import { Fragment, h, VNode } from "preact"; import { useState } from "preact/hooks"; @@ -67,7 +67,11 @@ export function HistoryPage({ if (transactionQuery.hasError) { return ( Could not load the list of transactions} + title={ + + Could not load the list of transactions + + } error={transactionQuery} /> ); @@ -194,14 +198,14 @@ export function HistoryView({ style={{ marginLeft: 0, marginTop: 8 }} onClick={() => goToWalletManualWithdraw(selectedCurrency)} > - Withdraw + Withdraw {currencyAmount && Amounts.isNonZero(currencyAmount) && ( goToWalletDeposit(selectedCurrency)} > - Deposit + Deposit )}
@@ -209,7 +213,7 @@ export function HistoryView({
{datesWithTransaction.length === 0 ? (
- There is no history for this currency + There is no history for this currency
) : (
diff --git a/packages/taler-wallet-webextension/src/wallet/ManualWithdrawPage.tsx b/packages/taler-wallet-webextension/src/wallet/ManualWithdrawPage.tsx index 8eca733d4..d9a1544a7 100644 --- a/packages/taler-wallet-webextension/src/wallet/ManualWithdrawPage.tsx +++ b/packages/taler-wallet-webextension/src/wallet/ManualWithdrawPage.tsx @@ -19,7 +19,7 @@ import { AmountJson, Amounts, NotificationType, - Translate, + i18n, } from "@gnu-taler/taler-util"; import { h, VNode } from "preact"; import { useState } from "preact/hooks"; @@ -97,7 +97,9 @@ export function ManualWithdrawPage({ currency, onCancel }: Props): VNode { return ( Could not load the list of known exchanges + + Could not load the list of known exchanges + } error={state} /> diff --git a/packages/taler-wallet-webextension/src/wallet/ProviderAddPage.tsx b/packages/taler-wallet-webextension/src/wallet/ProviderAddPage.tsx index 55e2b62fb..6bb5b6836 100644 --- a/packages/taler-wallet-webextension/src/wallet/ProviderAddPage.tsx +++ b/packages/taler-wallet-webextension/src/wallet/ProviderAddPage.tsx @@ -115,21 +115,27 @@ export function SetUrlView({

- Add backup provider + Add backup provider

{error && ( Could not get provider information} + title={ + + Could not get provider information + + } description={error} /> )} - Backup providers may charge for their service + + Backup providers may charge for their service +

- Next + Next
@@ -189,40 +195,42 @@ export function ConfirmProviderView({

- Review terms of service + Review terms of service

- Provider URL:{" "} + Provider URL:{" "} {url}
- + Please review and accept this provider's terms of service - +

- 1. Pricing + 1. Pricing

{Amounts.isZero(provider.annual_fee) ? ( - free of charge + free of charge ) : ( - {provider.annual_fee} per year of service + + {provider.annual_fee} per year of service + )}

- 2. Storage + 2. Storage

- + {provider.storage_limit_in_megabytes} megabytes of storage per year of service - +

Accept terms of service} + label={Accept terms of service} name="terms" onToggle={() => setAccepted((old) => !old)} enabled={accepted} @@ -230,10 +238,10 @@ export function ConfirmProviderView({
- Add provider + Add provider
diff --git a/packages/taler-wallet-webextension/src/wallet/ProviderDetailPage.tsx b/packages/taler-wallet-webextension/src/wallet/ProviderDetailPage.tsx index beeedcda7..65049d6b6 100644 --- a/packages/taler-wallet-webextension/src/wallet/ProviderDetailPage.tsx +++ b/packages/taler-wallet-webextension/src/wallet/ProviderDetailPage.tsx @@ -14,7 +14,7 @@ TALER; see the file COPYING. If not, see */ -import { Translate } from "@gnu-taler/taler-util"; +import { i18n } from "@gnu-taler/taler-util"; import { ProviderInfo, ProviderPaymentStatus, @@ -60,9 +60,9 @@ export function ProviderDetailPage({ pid: providerURL, onBack }: Props): VNode { return ( + There was an error loading the provider detail for "{providerURL}" - + } error={state} /> @@ -105,12 +105,14 @@ export function ProviderView({

- There is not known provider with url "{url}". + + There is not known provider with url "{url}". +

@@ -136,54 +138,54 @@ export function ProviderView({

- Last backup: + Last backup: {" "}

- Back up + Back up {info.terms && (

- Provider fee: + Provider fee: {" "} {info.terms && info.terms.annualFee}{" "} - per year + per year

)}

{descriptionByStatus(info.paymentStatus)}

- Extend + Extend {info.paymentStatus.type === ProviderPaymentType.TermsChanged && (

- + terms has changed, extending the service will imply accepting the new terms of service - +

- id + id - denom + denom - value + value - status + status - from refresh? + from refresh?
@@ -191,7 +193,7 @@ export function ProviderView({ @@ -204,11 +206,11 @@ export function ProviderView({
- Remove provider + Remove provider
@@ -220,7 +222,9 @@ function Error({ info }: { info: ProviderInfo }): VNode { if (info.lastError) { return ( This provider has reported an error} + title={ + This provider has reported an error + } description={info.lastError.hint} /> ); @@ -232,26 +236,28 @@ function Error({ info }: { info: ProviderInfo }): VNode { - + There is conflict with another backup from{" "} {info.backupProblem.otherDeviceId} - + } /> ); case "backup-unreadable": return ( - Backup is not readable} /> + Backup is not readable} + /> ); default: return ( - + Unknown backup problem: {JSON.stringify(info.backupProblem)} - + } /> @@ -268,14 +274,14 @@ function descriptionByStatus(status: ProviderPaymentStatus): VNode { if (status.paidUntil.t_ms === "never") { return ( - service paid + service paid ); } return ( - Backup valid until: + Backup valid until: {" "} diff --git a/packages/taler-wallet-webextension/src/wallet/ReserveCreated.tsx b/packages/taler-wallet-webextension/src/wallet/ReserveCreated.tsx index 7de719fc6..2c0e2fd31 100644 --- a/packages/taler-wallet-webextension/src/wallet/ReserveCreated.tsx +++ b/packages/taler-wallet-webextension/src/wallet/ReserveCreated.tsx @@ -1,9 +1,4 @@ -import { - AmountJson, - Amounts, - parsePaytoUri, - Translate, -} 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"; @@ -29,7 +24,9 @@ export function ReserveCreated({ if (!paytoURI) { return (
- could not parse payto uri from exchange {payto} + + could not parse payto uri from exchange {payto} +
); } @@ -37,13 +34,13 @@ export function ReserveCreated({

- Exchange is ready for withdrawal + Exchange is ready for withdrawal

- + To complete the process you need to wire {amountToString(amount)} 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 this link if you have a banking app installed that supports RFC 8905 - +

- Cancel withdrawal + Cancel withdrawal
diff --git a/packages/taler-wallet-webextension/src/wallet/Settings.tsx b/packages/taler-wallet-webextension/src/wallet/Settings.tsx index bac884247..3bb3fa865 100644 --- a/packages/taler-wallet-webextension/src/wallet/Settings.tsx +++ b/packages/taler-wallet-webextension/src/wallet/Settings.tsx @@ -81,31 +81,31 @@ export function SettingsView({

- Permissions + Permissions

+ Automatically open wallet based on page content - + } name="perm" description={ - + Enabling this option below will make using the wallet faster, but requires more permissions from your browser. - + } enabled={permissionsEnabled} onToggle={togglePermissions} />

- Known exchanges + Known exchanges

{!knownExchanges || !knownExchanges.length ? (
- No exchange yet + No exchange yet
) : ( @@ -113,13 +113,13 @@ export function SettingsView({
@@ -135,20 +135,20 @@ export function SettingsView({ case "accepted": return ( - ok + ok ); case "changed": return ( - changed + changed ); case "new": case "notfound": return ( - not accepted + not accepted ); } @@ -172,18 +172,18 @@ export function SettingsView({
- Add an exchange + Add an exchange

Config

Developer mode} + label={Developer mode} name="devMode" description={ - + (More options and information useful for debugging) - + } 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 a43e9b4a0..cae70d60d 100644 --- a/packages/taler-wallet-webextension/src/wallet/Transaction.tsx +++ b/packages/taler-wallet-webextension/src/wallet/Transaction.tsx @@ -22,7 +22,6 @@ import { parsePaytoUri, Transaction, TransactionType, - Translate, WithdrawalType, } from "@gnu-taler/taler-util"; import { differenceInSeconds } from "date-fns"; @@ -77,7 +76,9 @@ export function TransactionPage({ tid, goToWalletHistory }: Props): VNode { return ( Could not load the transaction information + + Could not load the transaction information + } error={state} /> @@ -142,15 +143,15 @@ export function TransactionView({
+ There was an error trying to complete the transaction - + } error={transaction?.error} /> {transaction.pending && ( - This transaction is not completed + This transaction is not completed )}
@@ -159,16 +160,16 @@ export function TransactionView({
{showRetry ? ( - Retry + Retry ) : null} - Forget + Forget
@@ -193,28 +194,28 @@ export function TransactionView({
- Caution! + Caution!
- + If you have already wired money to the exchange you will loose the chance to get the coins form it. - +
- Confirm + Confirm
) : undefined}

- Withdrawal + Withdrawal

  - old + old -> - new + new
- fee + fee {info.paymentStatus.oldTerms.annualFee} ->
- storage + storage {info.paymentStatus.oldTerms.storageLimitInMegabytes} ->
- Currency + Currency - URL + URL - Term of Service + Term of Service