taler-typescript-core

Wallet core logic and WebUIs for various components
Log | Files | Refs | Submodules | README | LICENSE

commit 5d969971bb22ec1c72e3f9fc442f654753dc2007
parent 1ae203ea5bdb95c1d2acd07812627d60a0c560c2
Author: Sebastian <sebasjm@taler-systems.com>
Date:   Fri, 19 Dec 2025 15:19:25 -0300

fix #10790

Diffstat:
Mpackages/merchant-backend-ui/src/i18n/de.po | 245+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mpackages/merchant-backend-ui/src/i18n/en.po | 245+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mpackages/merchant-backend-ui/src/i18n/es.po | 245+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mpackages/merchant-backend-ui/src/i18n/taler-merchant-backend-ui.pot | 245+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mpackages/merchant-backend-ui/src/pages/OfferRefund.tsx | 13++++++++-----
Mpackages/merchant-backend-ui/src/pages/RequestPayment.tsx | 13++++++++-----
Mpackages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx | 93+++++++++++++++++++++++++++++++++++++++++--------------------------------------
7 files changed, 1044 insertions(+), 55 deletions(-)

diff --git a/packages/merchant-backend-ui/src/i18n/de.po b/packages/merchant-backend-ui/src/i18n/de.po @@ -37,3 +37,248 @@ msgstr "" #, c-format msgid "Details of order" msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:174 +#, c-format +msgid "Refunded:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:176 +#, c-format +msgid "The merchant refunded you" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:199 +#, c-format +msgid "Order summary:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:216 +#, c-format +msgid "Amount paid:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:218 +#, c-format +msgid "Order date:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:229 +#, c-format +msgid "Merchant name:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:240 +#, c-format +msgid "Products purchased" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:252 +#, c-format +msgid "Quantity:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:255 +#, c-format +msgid "Price:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:278 +#, c-format +msgid "Delivered on:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:293 +#, c-format +msgid "Product unit:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:302 +#, c-format +msgid "Product ID:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:320 +#, c-format +msgid "Delivery information" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:325 +#, c-format +msgid "Delivery date:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:333 +#, c-format +msgid "never" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:343 +#, c-format +msgid "Delivery address:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:358 +#, c-format +msgid "Full payment information" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:360 +#, c-format +msgid "Exchange transfer deadline:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:375 +#, c-format +msgid "Wire transfer settled." +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:379 +#, c-format +msgid "Maximum deposit fee:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:384 +#, c-format +msgid "Maximum wire fee:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:392 +#, c-format +msgid "Wire fee amortization:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:402 +#, c-format +msgid "Refund information" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:404 +#, c-format +msgid "Refund deadline:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:419 +#, c-format +msgid "Attempt autorefund for:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:429 +#, c-format +msgid "forever" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:439 +#, c-format +msgid "Additional order details" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:441 +#, c-format +msgid "Public reorder URL:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:442 +#, c-format +msgid "Not defined." +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:446 +#, c-format +msgid "Fulfillment URL:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:460 +#, c-format +msgid "Full merchant information" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:467 +#, c-format +msgid "Merchant address:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:473 +#, c-format +msgid "Merchant's jurisdiction:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:479 +#, c-format +msgid "Merchant URI:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:484 +#, c-format +msgid "Merchant's public key:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:497 +#, c-format +msgid "Auditors accepted by the merchant" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:504 +#, c-format +msgid "Auditor's public key:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:506 +#, c-format +msgid "Auditor's URL:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:520 +#, c-format +msgid "Exchanges accepted by the merchant" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:526 +#, c-format +msgid "Exchange's URL:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:528 +#, c-format +msgid "Public key:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/OfferRefund.tsx:65 +#, c-format +msgid "Refund available for" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/OfferRefund.tsx:127 +#, c-format +msgid "Collect Taler refund" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/OfferRefund.tsx:128 +#, c-format +msgid "Scan this QR code with your Taler mobile wallet:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/OfferRefund.tsx:136 +#, c-format +msgid "Or open your Taler wallet" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/OfferRefund.tsx:141 +#, c-format +msgid "Don't have a Taler wallet yet? Install it!" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/RequestPayment.tsx:67 +#, c-format +msgid "Payment requested for" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/RequestPayment.tsx:155 +#, c-format +msgid "Pay with Taler" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/RequestPayment.tsx:156 +#, c-format +msgid "Scan this QR code with your mobile wallet:" +msgstr "" diff --git a/packages/merchant-backend-ui/src/i18n/en.po b/packages/merchant-backend-ui/src/i18n/en.po @@ -36,3 +36,248 @@ msgstr "" #, c-format msgid "Details of order" msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:174 +#, c-format +msgid "Refunded:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:176 +#, c-format +msgid "The merchant refunded you" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:199 +#, c-format +msgid "Order summary:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:216 +#, c-format +msgid "Amount paid:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:218 +#, c-format +msgid "Order date:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:229 +#, c-format +msgid "Merchant name:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:240 +#, c-format +msgid "Products purchased" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:252 +#, c-format +msgid "Quantity:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:255 +#, c-format +msgid "Price:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:278 +#, c-format +msgid "Delivered on:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:293 +#, c-format +msgid "Product unit:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:302 +#, c-format +msgid "Product ID:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:320 +#, c-format +msgid "Delivery information" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:325 +#, c-format +msgid "Delivery date:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:333 +#, c-format +msgid "never" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:343 +#, c-format +msgid "Delivery address:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:358 +#, c-format +msgid "Full payment information" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:360 +#, c-format +msgid "Exchange transfer deadline:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:375 +#, c-format +msgid "Wire transfer settled." +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:379 +#, c-format +msgid "Maximum deposit fee:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:384 +#, c-format +msgid "Maximum wire fee:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:392 +#, c-format +msgid "Wire fee amortization:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:402 +#, c-format +msgid "Refund information" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:404 +#, c-format +msgid "Refund deadline:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:419 +#, c-format +msgid "Attempt autorefund for:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:429 +#, c-format +msgid "forever" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:439 +#, c-format +msgid "Additional order details" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:441 +#, c-format +msgid "Public reorder URL:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:442 +#, c-format +msgid "Not defined." +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:446 +#, c-format +msgid "Fulfillment URL:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:460 +#, c-format +msgid "Full merchant information" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:467 +#, c-format +msgid "Merchant address:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:473 +#, c-format +msgid "Merchant's jurisdiction:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:479 +#, c-format +msgid "Merchant URI:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:484 +#, c-format +msgid "Merchant's public key:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:497 +#, c-format +msgid "Auditors accepted by the merchant" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:504 +#, c-format +msgid "Auditor's public key:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:506 +#, c-format +msgid "Auditor's URL:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:520 +#, c-format +msgid "Exchanges accepted by the merchant" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:526 +#, c-format +msgid "Exchange's URL:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:528 +#, c-format +msgid "Public key:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/OfferRefund.tsx:65 +#, c-format +msgid "Refund available for" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/OfferRefund.tsx:127 +#, c-format +msgid "Collect Taler refund" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/OfferRefund.tsx:128 +#, c-format +msgid "Scan this QR code with your Taler mobile wallet:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/OfferRefund.tsx:136 +#, c-format +msgid "Or open your Taler wallet" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/OfferRefund.tsx:141 +#, c-format +msgid "Don't have a Taler wallet yet? Install it!" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/RequestPayment.tsx:67 +#, c-format +msgid "Payment requested for" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/RequestPayment.tsx:155 +#, c-format +msgid "Pay with Taler" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/RequestPayment.tsx:156 +#, c-format +msgid "Scan this QR code with your mobile wallet:" +msgstr "" diff --git a/packages/merchant-backend-ui/src/i18n/es.po b/packages/merchant-backend-ui/src/i18n/es.po @@ -37,3 +37,248 @@ msgstr "Estado de la orden para" #, c-format msgid "Details of order" msgstr "Detalles de la orden" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:174 +#, c-format +msgid "Refunded:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:176 +#, c-format +msgid "The merchant refunded you" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:199 +#, c-format +msgid "Order summary:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:216 +#, c-format +msgid "Amount paid:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:218 +#, c-format +msgid "Order date:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:229 +#, c-format +msgid "Merchant name:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:240 +#, c-format +msgid "Products purchased" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:252 +#, c-format +msgid "Quantity:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:255 +#, c-format +msgid "Price:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:278 +#, c-format +msgid "Delivered on:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:293 +#, c-format +msgid "Product unit:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:302 +#, c-format +msgid "Product ID:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:320 +#, c-format +msgid "Delivery information" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:325 +#, c-format +msgid "Delivery date:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:333 +#, c-format +msgid "never" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:343 +#, c-format +msgid "Delivery address:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:358 +#, c-format +msgid "Full payment information" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:360 +#, c-format +msgid "Exchange transfer deadline:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:375 +#, c-format +msgid "Wire transfer settled." +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:379 +#, c-format +msgid "Maximum deposit fee:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:384 +#, c-format +msgid "Maximum wire fee:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:392 +#, c-format +msgid "Wire fee amortization:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:402 +#, c-format +msgid "Refund information" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:404 +#, c-format +msgid "Refund deadline:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:419 +#, c-format +msgid "Attempt autorefund for:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:429 +#, c-format +msgid "forever" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:439 +#, c-format +msgid "Additional order details" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:441 +#, c-format +msgid "Public reorder URL:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:442 +#, c-format +msgid "Not defined." +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:446 +#, c-format +msgid "Fulfillment URL:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:460 +#, c-format +msgid "Full merchant information" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:467 +#, c-format +msgid "Merchant address:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:473 +#, c-format +msgid "Merchant's jurisdiction:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:479 +#, c-format +msgid "Merchant URI:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:484 +#, c-format +msgid "Merchant's public key:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:497 +#, c-format +msgid "Auditors accepted by the merchant" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:504 +#, c-format +msgid "Auditor's public key:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:506 +#, c-format +msgid "Auditor's URL:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:520 +#, c-format +msgid "Exchanges accepted by the merchant" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:526 +#, c-format +msgid "Exchange's URL:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:528 +#, c-format +msgid "Public key:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/OfferRefund.tsx:65 +#, c-format +msgid "Refund available for" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/OfferRefund.tsx:127 +#, c-format +msgid "Collect Taler refund" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/OfferRefund.tsx:128 +#, c-format +msgid "Scan this QR code with your Taler mobile wallet:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/OfferRefund.tsx:136 +#, c-format +msgid "Or open your Taler wallet" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/OfferRefund.tsx:141 +#, c-format +msgid "Don't have a Taler wallet yet? Install it!" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/RequestPayment.tsx:67 +#, c-format +msgid "Payment requested for" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/RequestPayment.tsx:155 +#, c-format +msgid "Pay with Taler" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/RequestPayment.tsx:156 +#, c-format +msgid "Scan this QR code with your mobile wallet:" +msgstr "" diff --git a/packages/merchant-backend-ui/src/i18n/taler-merchant-backend-ui.pot b/packages/merchant-backend-ui/src/i18n/taler-merchant-backend-ui.pot @@ -35,3 +35,248 @@ msgstr "" msgid "Details of order" msgstr "" +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:174 +#, c-format +msgid "Refunded:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:176 +#, c-format +msgid "The merchant refunded you" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:199 +#, c-format +msgid "Order summary:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:216 +#, c-format +msgid "Amount paid:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:218 +#, c-format +msgid "Order date:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:229 +#, c-format +msgid "Merchant name:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:240 +#, c-format +msgid "Products purchased" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:252 +#, c-format +msgid "Quantity:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:255 +#, c-format +msgid "Price:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:278 +#, c-format +msgid "Delivered on:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:293 +#, c-format +msgid "Product unit:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:302 +#, c-format +msgid "Product ID:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:320 +#, c-format +msgid "Delivery information" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:325 +#, c-format +msgid "Delivery date:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:333 +#, c-format +msgid "never" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:343 +#, c-format +msgid "Delivery address:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:358 +#, c-format +msgid "Full payment information" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:360 +#, c-format +msgid "Exchange transfer deadline:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:375 +#, c-format +msgid "Wire transfer settled." +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:379 +#, c-format +msgid "Maximum deposit fee:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:384 +#, c-format +msgid "Maximum wire fee:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:392 +#, c-format +msgid "Wire fee amortization:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:402 +#, c-format +msgid "Refund information" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:404 +#, c-format +msgid "Refund deadline:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:419 +#, c-format +msgid "Attempt autorefund for:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:429 +#, c-format +msgid "forever" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:439 +#, c-format +msgid "Additional order details" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:441 +#, c-format +msgid "Public reorder URL:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:442 +#, c-format +msgid "Not defined." +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:446 +#, c-format +msgid "Fulfillment URL:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:460 +#, c-format +msgid "Full merchant information" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:467 +#, c-format +msgid "Merchant address:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:473 +#, c-format +msgid "Merchant's jurisdiction:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:479 +#, c-format +msgid "Merchant URI:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:484 +#, c-format +msgid "Merchant's public key:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:497 +#, c-format +msgid "Auditors accepted by the merchant" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:504 +#, c-format +msgid "Auditor's public key:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:506 +#, c-format +msgid "Auditor's URL:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:520 +#, c-format +msgid "Exchanges accepted by the merchant" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:526 +#, c-format +msgid "Exchange's URL:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx:528 +#, c-format +msgid "Public key:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/OfferRefund.tsx:65 +#, c-format +msgid "Refund available for" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/OfferRefund.tsx:127 +#, c-format +msgid "Collect Taler refund" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/OfferRefund.tsx:128 +#, c-format +msgid "Scan this QR code with your Taler mobile wallet:" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/OfferRefund.tsx:136 +#, c-format +msgid "Or open your Taler wallet" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/OfferRefund.tsx:141 +#, c-format +msgid "Don't have a Taler wallet yet? Install it!" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/RequestPayment.tsx:67 +#, c-format +msgid "Payment requested for" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/RequestPayment.tsx:155 +#, c-format +msgid "Pay with Taler" +msgstr "" + +#: packages/merchant-backend-ui/src/pages/RequestPayment.tsx:156 +#, c-format +msgid "Scan this QR code with your mobile wallet:" +msgstr "" + diff --git a/packages/merchant-backend-ui/src/pages/OfferRefund.tsx b/packages/merchant-backend-ui/src/pages/OfferRefund.tsx @@ -27,6 +27,7 @@ import "../css/pure-min.css"; import "../css/style.css"; import { Page, QRPlaceholder, WalletLink } from "../styled"; import { Application } from "../components/Application"; +import { useTranslationContext } from "../context/translations"; /** * This page creates a refund offer QR code @@ -50,6 +51,7 @@ export interface Props { } function Head({ order_summary }: { order_summary?: string }): VNode { + const { i18n } = useTranslationContext(); return ( <Fragment> <meta charSet="UTF-8" /> @@ -60,7 +62,7 @@ function Head({ order_summary }: { order_summary?: string }): VNode { <meta http-equiv="refresh" content="1" /> </noscript> <title> - Refund available for{" "} + <i18n.Translate>Refund available for</i18n.Translate>{" "} {order_summary ? order_summary : `{{ order_summary }}`} </title> </Fragment> @@ -72,6 +74,7 @@ export function OfferRefund({ qr_code, order_status_url, }: Props): VNode { + const { i18n } = useTranslationContext(); useEffect(() => { const longpollDelayMs = 60 * 1000; const delayMs = 500; @@ -121,8 +124,8 @@ export function OfferRefund({ return ( <Page> <section> - <h1>Collect Taler refund</h1> - <p>Scan this QR code with your Taler mobile wallet:</p> + <h1><i18n.Translate>Collect Taler refund</i18n.Translate></h1> + <p><i18n.Translate>Scan this QR code with your Taler mobile wallet:</i18n.Translate></p> <QRPlaceholder dangerouslySetInnerHTML={{ __html: qr_code ? qr_code : `{{{ taler_refund_qrcode_svg }}}`, @@ -130,12 +133,12 @@ export function OfferRefund({ /> <p> <WalletLink href={refundURI ? refundURI : `{{ taler_refund_uri }}`}> - Or open your Taler wallet + <i18n.Translate>Or open your Taler wallet</i18n.Translate> </WalletLink> </p> <p> <a href="https://wallet.taler.net/"> - Don't have a Taler wallet yet? Install it! + <i18n.Translate>Don't have a Taler wallet yet? Install it!</i18n.Translate> </a> </p> </section> diff --git a/packages/merchant-backend-ui/src/pages/RequestPayment.tsx b/packages/merchant-backend-ui/src/pages/RequestPayment.tsx @@ -27,6 +27,7 @@ import "../css/pure-min.css"; import "../css/style.css"; import { Page, QRPlaceholder, WalletLink } from "../styled"; import { Application } from "../components/Application"; +import { useTranslationContext } from "../context/translations"; /** * This page creates a payment request QR code @@ -52,6 +53,7 @@ export interface Props { } function Head({ order_summary }: { order_summary?: string }): VNode { + const { i18n } = useTranslationContext(); return ( <Fragment> <meta charSet="UTF-8" /> @@ -62,7 +64,7 @@ function Head({ order_summary }: { order_summary?: string }): VNode { <meta http-equiv="refresh" content="1" /> </noscript> <title> - Payment requested for{" "} + <i18n.Translate>Payment requested for</i18n.Translate>{" "} {order_summary ? order_summary : `{{ order_summary }}`} </title> </Fragment> @@ -74,6 +76,7 @@ export function RequestPayment({ qr_code, order_status_url, }: Props): VNode { + const { i18n } = useTranslationContext(); useEffect(() => { const longpollDelayMs = 60 * 1000; let checkUrl: URL; @@ -149,8 +152,8 @@ export function RequestPayment({ return ( <Page> <section> - <h1>Pay with Taler</h1> - <p>Scan this QR code with your mobile wallet:</p> + <h1><i18n.Translate>Pay with Taler</i18n.Translate></h1> + <p><i18n.Translate>Scan this QR code with your mobile wallet:</i18n.Translate></p> <QRPlaceholder dangerouslySetInnerHTML={{ __html: qr_code ? qr_code : `{{{ taler_pay_qrcode_svg }}}`, @@ -158,12 +161,12 @@ export function RequestPayment({ /> <p> <WalletLink href={payURI ? payURI : `{{ taler_pay_uri }}`}> - Or open your Taler wallet + <i18n.Translate>Or open your Taler wallet</i18n.Translate> </WalletLink> </p> <p> <a href="https://wallet.taler.net/"> - Don't have a Taler wallet yet? Install it! + <i18n.Translate>Don't have a Taler wallet yet? Install it!</i18n.Translate> </a> </p> </section> diff --git a/packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx b/packages/merchant-backend-ui/src/pages/ShowOrderDetails.tsx @@ -160,7 +160,7 @@ export function ShowOrderDetails({ <Page> <header> <h1> - <i18n.Translate>Details of order </i18n.Translate> + <i18n.Translate>Details of order</i18n.Translate>{" "} {contract_terms?.order_id || `{{ contract_terms.order_id }}`} </h1> </header> @@ -170,7 +170,10 @@ export function ShowOrderDetails({ {(btr || refund_amount) && ( <section> <InfoBox> - <b>Refunded:</b> The merchant refunded you{" "} + <b> + <i18n.Translate>Refunded:</i18n.Translate> + </b>{" "} + <i18n.Translate>The merchant refunded you</i18n.Translate>{" "} <b>{refund_amount || `{{ refund_amount }}`}</b>. </InfoBox> </section> @@ -185,7 +188,6 @@ export function ShowOrderDetails({ {contract_terms?.fulfillment_message || `{{ contract_terms.fulfillment_message }}`} </b> - . </InfoBox> </section> )} @@ -193,7 +195,9 @@ export function ShowOrderDetails({ <section> <TableExpanded> - <dt>Order summary:</dt> + <dt> + <i18n.Translate>Order summary:</i18n.Translate> + </dt> <dd>{contract_terms?.summary || `{{ contract_terms.summary }}`}</dd> {btr && `{{#contract_terms.fulfillment_url}}`} <dt>Fulfillment URL:</dt> @@ -209,9 +213,9 @@ export function ShowOrderDetails({ </a> </dd> {btr && `{{/contract_terms.fulfillment_url}}`} - <dt>Amount paid:</dt> + <dt><i18n.Translate>Amount paid:</i18n.Translate></dt> <dd>{contract_terms?.amount || `{{ contract_terms.amount }}`}</dd> - <dt>Order date:</dt> + <dt><i18n.Translate>Order date:</i18n.Translate></dt> <dd> {contract_terms?.timestamp ? contract_terms?.timestamp.t_s != "never" @@ -222,7 +226,7 @@ export function ShowOrderDetails({ : "never" : `{{ contract_terms.timestamp_str }}`}{" "} </dd> - <dt>Merchant name:</dt> + <dt><i18n.Translate>Merchant name:</i18n.Translate></dt> <dd> {contract_terms?.merchant.name || `{{ contract_terms.merchant.name }}`} @@ -233,7 +237,7 @@ export function ShowOrderDetails({ {btr && `{{#contract_terms.hasProducts}}`} {!productList.length ? null : ( <section> - <h2>Products purchased</h2> + <h2><i18n.Translate>Products purchased</i18n.Translate></h2> <TableSimple> {btr && "{{" + "#contract_terms.products" + "}}"} {productList.map((p, i) => { @@ -245,10 +249,10 @@ export function ShowOrderDetails({ <Fragment key={i}> <p>{p.description || `{{description}}`}</p> <dl> - <dt>Quantity:</dt> + <dt><i18n.Translate>Quantity:</i18n.Translate></dt> <dd>{p.quantity || `{{quantity}}`}</dd> - <dt>Price:</dt> + <dt><i18n.Translate>Price:</i18n.Translate></dt> <dd>{p.price || `{{price}}`}</dd> {btr && `{{#hasTaxes}}`} @@ -271,7 +275,7 @@ export function ShowOrderDetails({ {btr && `{{#delivery_date}}`} {(btr || p.delivery_date) && ( <Fragment> - <dt>Delivered on:</dt> + <dt><i18n.Translate>Delivered on:</i18n.Translate></dt> <dd> {p.delivery_date ? p.delivery_date.t_s != "never" @@ -286,7 +290,7 @@ export function ShowOrderDetails({ {btr && `{{#unit}}`} {(btr || p.unit) && ( <Fragment> - <dt>Product unit:</dt> + <dt><i18n.Translate>Product unit:</i18n.Translate></dt> <dd>{p.unit || `{{.}}`}</dd> </Fragment> )} @@ -295,7 +299,7 @@ export function ShowOrderDetails({ {btr && `{{#product_id}}`} {(btr || p.product_id) && ( <Fragment> - <dt>Product ID:</dt> + <dt><i18n.Translate>Product ID:</i18n.Translate></dt> <dd>{p.product_id || `{{.}}`}</dd> </Fragment> )} @@ -313,12 +317,12 @@ export function ShowOrderDetails({ {btr && `{{#contract_terms.has_delivery_info}}`} {!hasDeliveryInfo ? null : ( <section> - <h2>Delivery information</h2> + <h2><i18n.Translate>Delivery information</i18n.Translate></h2> <TableExpanded> {btr && `{{#contract_terms.delivery_date}}`} {(btr || contract_terms?.delivery_date) && ( <Fragment> - <dt>Delivery date:</dt> + <dt><i18n.Translate>Delivery date:</i18n.Translate></dt> <dd> {contract_terms?.delivery_date ? contract_terms?.delivery_date.t_s != "never" @@ -326,7 +330,7 @@ export function ShowOrderDetails({ contract_terms?.delivery_date.t_s, TIME_DATE_FORMAT, ) - : "never" + : i18n.str`never` : `{{ contract_terms.delivery_date_str }}`}{" "} </dd> </Fragment> @@ -336,7 +340,7 @@ export function ShowOrderDetails({ {btr && `{{#contract_terms.delivery_location}}`} {(btr || contract_terms?.delivery_location) && ( <Fragment> - <dt>Delivery address:</dt> + <dt><i18n.Translate>Delivery address:</i18n.Translate></dt> <Location btr={btr} location={contract_terms?.delivery_location} @@ -351,9 +355,9 @@ export function ShowOrderDetails({ {btr && `{{/contract_terms.has_delivery_info}}`} <section> - <h2>Full payment information</h2> + <h2><i18n.Translate>Full payment information</i18n.Translate></h2> <TableExpanded> - <dt>Exchange transfer deadline:</dt> + <dt><i18n.Translate>Exchange transfer deadline:</i18n.Translate></dt> {btr && `{{` + `#contract_terms.wire_transfer_deadline_str}}`} <dd> {contract_terms?.wire_transfer_deadline @@ -368,16 +372,16 @@ export function ShowOrderDetails({ {btr && `{{` + `/contract_terms.wire_transfer_deadline_str}}`} {btr && `{{` + `^contract_terms.wire_transfer_deadline_str}}`} - <dd>Wire transfer settled.</dd> + <dd><i18n.Translate>Wire transfer settled.</i18n.Translate></dd> {btr && `{{` + `/contract_terms.wire_transfer_deadline_str}}`} {btr && `{{` + `#contract_terms.max_fee}}`} - <dt>Maximum deposit fee:</dt> + <dt><i18n.Translate>Maximum deposit fee:</i18n.Translate></dt> <dd>{contract_terms?.max_fee || `{{ contract_terms.max_fee }}`}</dd> {btr && `{{` + `/contract_terms.max_fee}}`} {btr && `{{` + `#contract_terms.max_wire_fee}}`} - <dt>Maximum wire fee:</dt> + <dt><i18n.Translate>Maximum wire fee:</i18n.Translate></dt> <dd> {contract_terms?.max_wire_fee || `{{ contract_terms.max_wire_fee }}`} @@ -385,20 +389,19 @@ export function ShowOrderDetails({ {btr && `{{` + `/contract_terms.max_wire_fee}}`} {btr && `{{` + `#contract_terms.wire_fee_amortization}}`} - <dt>Wire fee amortization:</dt> + <dt><i18n.Translate>Wire fee amortization:</i18n.Translate></dt> <dd> {contract_terms?.wire_fee_amortization || `{{ contract_terms.wire_fee_amortization }}`}{" "} - transactions </dd> {btr && `{{` + `/contract_terms.wire_fee_amortization}}`} </TableExpanded> </section> <section> - <h2>Refund information</h2> + <h2><i18n.Translate>Refund information</i18n.Translate></h2> <TableExpanded> - <dt>Refund deadline:</dt> + <dt><i18n.Translate>Refund deadline:</i18n.Translate></dt> <dd> {contract_terms?.refund_deadline ? contract_terms?.refund_deadline.t_s != "never" @@ -406,14 +409,14 @@ export function ShowOrderDetails({ contract_terms?.refund_deadline.t_s * 1000, TIME_DATE_FORMAT, ) - : "never" + : i18n.str`never` : `{{ contract_terms.refund_deadline_str }}`}{" "} </dd> {btr && `{{#contract_terms.auto_refund}}`} {(btr || contract_terms?.auto_refund) && ( <Fragment> - <dt>Attempt autorefund for:</dt> + <dt><i18n.Translate>Attempt autorefund for:</i18n.Translate></dt> <dd> {contract_terms?.auto_refund ? contract_terms?.auto_refund.d_us != "forever" @@ -423,7 +426,7 @@ export function ShowOrderDetails({ end: contract_terms?.auto_refund.d_us, }), ) - : "forever" + : i18n.str`forever` : `{{ contract_terms.auto_refund_str }}`}{" "} </dd> </Fragment> @@ -433,14 +436,14 @@ export function ShowOrderDetails({ </section> <section> - <h2>Additional order details</h2> + <h2><i18n.Translate>Additional order details</i18n.Translate></h2> <TableExpanded> - <dt>Public reorder URL:</dt> - <dd> -- not defined yet -- </dd> + <dt><i18n.Translate>Public reorder URL:</i18n.Translate></dt> + <dd> -- <i18n.Translate>Not defined.</i18n.Translate> -- </dd> {btr && `{{#contract_terms.fulfillment_url}}`} {(btr || contract_terms?.fulfillment_url) && ( <Fragment> - <dt>Fulfillment URL:</dt> + <dt><i18n.Translate>Fulfillment URL:</i18n.Translate></dt> <dd> {contract_terms?.fulfillment_url || (btr && `{{ contract_terms.fulfillment_url }}`)} @@ -454,31 +457,31 @@ export function ShowOrderDetails({ </section> <section> - <h2>Full merchant information</h2> + <h2><i18n.Translate>Full merchant information</i18n.Translate></h2> <TableExpanded> - <dt>Merchant name:</dt> + <dt><i18n.Translate>Merchant name:</i18n.Translate></dt> <dd> {contract_terms?.merchant.name || `{{ contract_terms.merchant.name }}`} </dd> - <dt>Merchant address:</dt> + <dt><i18n.Translate>Merchant address:</i18n.Translate></dt> <Location btr={btr} location={contract_terms?.merchant.address} templateName="contract_terms.merchant.address" /> - <dt>Merchant's jurisdiction:</dt> + <dt><i18n.Translate>Merchant's jurisdiction:</i18n.Translate></dt> <Location btr={btr} location={contract_terms?.merchant.jurisdiction} templateName="contract_terms.merchant.jurisdiction" /> - <dt>Merchant URI:</dt> + <dt><i18n.Translate>Merchant URI:</i18n.Translate></dt> <dd> {contract_terms?.merchant_base_url || `{{ contract_terms.merchant_base_url }}`} </dd> - <dt>Merchant's public key:</dt> + <dt><i18n.Translate>Merchant's public key:</i18n.Translate></dt> <dd> {contract_terms?.merchant_pub || `{{ contract_terms.merchant_pub }}`} @@ -491,16 +494,16 @@ export function ShowOrderDetails({ {btr && `{{#contract_terms.hasAuditors}}`} {!auditorsList.length ? null : ( <section> - <h2>Auditors accepted by the merchant</h2> + <h2><i18n.Translate>Auditors accepted by the merchant</i18n.Translate></h2> <TableExpanded> {btr && "{{" + "#contract_terms.auditors" + "}}"} {auditorsList.map((p, i) => { return ( <Fragment key={i}> <p>{p.name || `{{name}}`}</p> - <dt>Auditor's public key:</dt> + <dt><i18n.Translate>Auditor's public key:</i18n.Translate></dt> <dd>{p.auditor_pub || `{{auditor_pub}}`}</dd> - <dt>Auditor's URL:</dt> + <dt><i18n.Translate>Auditor's URL:</i18n.Translate></dt> <dd>{p.url || `{{url}}`}</dd> </Fragment> ); @@ -514,15 +517,15 @@ export function ShowOrderDetails({ {btr && `{{#contract_terms.hasExchanges}}`} {!exchangesList.length ? null : ( <section> - <h2>Exchanges accepted by the merchant</h2> + <h2><i18n.Translate>Exchanges accepted by the merchant</i18n.Translate></h2> <TableExpanded> {btr && "{{" + "#contract_terms.exchanges" + "}}"} {exchangesList.map((p, i) => { return ( <Fragment key={i}> - <dt>Exchange's URL:</dt> + <dt><i18n.Translate>Exchange's URL:</i18n.Translate></dt> <dd>{p.url || `{{url}}`}</dd> - <dt>Public key:</dt> + <dt><i18n.Translate>Public key:</i18n.Translate></dt> <dd>{p.master_pub || `{{master_pub}}`}</dd> </Fragment> );